Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсова ПТЦА (МКІ) 2012.doc
Скачиваний:
20
Добавлен:
27.11.2019
Размер:
4.89 Mб
Скачать

Проектування спеціалізованих арифметико-логічних пристроїв

1. Реалізація операції додавання і віднімання

1.1. Алгоритм додавання і віднімання двійкових чисел

Алгоритм додавання та віднімання двійкових чисел можна виконувати в обернених або доповняльних кодах. У сучасних комп'ютерах часто операнди зберігаються у пам'яті і оброблюються в доповняльних кодах, перевагу яких описано в розді­лі 1.

Алгоритм додавання (код команди К[Ц] або віднімання (код команди К[2] ви­конується у такій послідовності:

  • у регістри RGA 1 RGB із вхідної шини один за одним паралельним кодом за­писуються відповідні їм операнди А і В;

  • під час операції віднімання (код команди К[2] = 1) операнд В безумовно ін­вертується;

  • мікрооперації додавання або віднімання виконуються в доповняльних кодах протягом одного машинного такту;

  • аналізується результат операції. За відсутності переповнення розрядної сіт­ки (знаки операндів А і В та результату збігаються) результат записується у регістр RGD і потім пересилається в оперативну пам'ять, за наявності пере­повнення (знаки операндів А і В та результату на виході суматора не збіга­ються) результат не фіксується і в ЦПК подається сигнал переповнення ІШ.

1.2. Функціональна схема алп для виконання операцій додавання і віднімання

Функціональну схему восьмирозрядного АЛП для виконання мікропрограми до­давання та віднімання подано композицією модуля операційного блока МОБ і моду-щ керуючого блока МКБ (рис. 3).

Схема містить:

  • регістри RGA і RGB для приймання із вхідної шини ІШ операндів А і В та їх зберігання протягом часу виконання мікропрограми;

  • схему інвертування BIN змісту регістра RGB;

  • схему XOR для порозрядного логічного "виключне АБО" кодів операндів А і В;

  • схеми електронних ключів SWI і SW2 для комутації операндів;

  • комбінаційний суматор SM. На вхід перенесення суматора подається лог. 1 при операції віднімання;

  • регістр результату RGD;

  • схему ознаки переповнення ОР;

  • модуль керуючого блока МКБ на основі автомата Mini з пам'яттю на D-тригерах.

Продовження додатку

Рис.1. Функціональна схема АЛП для додавання і віднімання чисел

1.3. Мікропрограма додавання та віднімання двійкових чисел

Суміщена мікропрограма додавання та віднімання двійкових чисел має вигляд:

Початок. Якщо К[1] або К[2], то М1, інакше - чекати

М1 <приймання першого операнда>

<приймання другого операнда>

Якщо К[1], то

, інакше

<пересилання з інвертуванням другого операнда>

Якщо К[1], то

, інакше

Якщо то перейти до М2, інакше

<присвоєння результату>

<пересилання результату в оперативну пам’ять>

Перейти до М3

М2 <фіксація переповнення>

М3 Кінець.

Продовження додатку

2. Реалізація операції множення

2.1. Алгоритм множення двійкових чисел із зсувом суми часткових добутків вправо

Множення двійкових чисел А і В зводиться до обчислення добутку їх модулів та присвоєння йому знака. Добуток двох n-розрядних операндів містить 2n-1 цифрових розрядів і один знаковий. Якщо перемножуються цілі числа, кома розміщується після молодшого розряду, а якщо дроби — перед старшим розрядом.

1. Множене і множник у прямих кодах послідовно записуються відповідно в ре­гістри А і В. Регістри С і D обнуляються, У лічильник СТ записується кіль­кість циклів.

2. Для розрядів множника 1, 2, ..., n - виконуються такі дії:

  • якщо молодша цифра множника В[1]=1, то до суми часткових добутків до­дається модуль множеного, інакше — не додається;

  • далі для обох випадків зміст регістрів С і В зсувається вправо на один роз­ряд, причому молодший розряд регістра С передається в старший розряд регістра В. Після кожного зсуву в молодший розряд регістра В поступає на­ступний розряд множеного, за яким визначається черговий частковий добу­ток (нуль або множене);

  • після n-1 циклів виконується додатковий зсув вправо для передачі в тригер Т знака множника і визначається знак добутку додаванням за модулем два знаків множеного і множника.\

3. Результат подається конкатенацією чисел С і В; при цьому в регістрі С розміщуються старші розряди добутку, а в регістрі В — молодші розряди.