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

3. Реалізація операції ділення

3.1. Алгоритм ділення цілих чисел

Операція ділення цілих чисел Z=XIY зводиться до послідовності віднімання ді­льника Y спочатку від діленого X, а потім від створюваних в процесі ділення залиш­ків R,.

Залежно від способу віднімання дільника У розрізняють два основні алгоритми ділення: без відновлення залишку R1 та з відновленням залишку. Обидва способи реалізуються приблизно однаковими апаратними затратами, але для ділення без від­новлення залишку потрібно більше мікрооперацій додавання і віднімання. В універ­сальних комп'ютерах зазвичай використовують ділення без відновлення залишку.

У разі ділення цілих чисел часто ділене Х подається в 2n-розрядному форматі, а дільник Y - у n-розрядному.

Алгоритм ділення цілих чисел у прямому коді без відновлення залишку реалізу­ється в такій послідовності.

  1. У регістри А, В і С послідовно записуються із вхідної шини n-розрядний дільник Y та 2n-розрядне ділене X. У лічильник циклів СТ заноситься число циклів n-1.

  2. Ділене X та дільник Y аналізуються на рівність нулю. Якщо ділене X = 0, то частці Z присвоюється нульове значення і ділення закінчується. Якщо дільник Y - 0, то ділення переривається.

  3. Установлюється можливість ділення без переповнення розрядної сітки. Для цього значення діленого подвоюється зсувом вліво на один розряд. Із зсуну­того діленого віднімається дільник. Операція віднімання дільника заміню­ється на його додавання у доповняльному коді і визначається перший за­лишок R0 за формулою:

Якщо R0< 0 , то ділення можливе; якщо RQ0, виникає переповнення роз­рядної сітки і ділення припиняється.

  1. Якщо ділення можливе, виконуються такі основні дії:

  • частковий залишок в регістрі В і зміст регістра С зсуваються вліво на один розряд (тобто подвоюються);

  • із зсунутого залишку віднімається дільник, якщо попередній залишок Ri-1≥0, або додається, якщо Ri-1<0, Дм <0. Це визначається рекурентним спів­відношенням:

де i = 1, 2, ... , n-1.

  • якщо відбувається зсув вліво, в молодший розряд регістра С записується цифра частки rі, згідно із співвідношенням

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

Це означає, що поточна цифра частки є інверсією знака залишку;

  • зміст лічильника циклів СТ зменшується на одиницю;

  • п. 4 повторюється до обнулення лічильника циклів СТ. Значення першого (старшого) розряду частки відводиться для записування зна­ка результату на підставі виразу .

5. Залишок ділення розміщується у регістрі В на місці старших розрядів діленого, а частка — в регістрі С. Дільник, залишок і частка мають формат n-розрядного числа із знаком. Залишок має мати той же знак, що і ділене, нульові залишки і частки завжди додатні. Якщо знак останнього залишку від'ємний, то він коректується додаванням до нього модуля дільника, після цього залишку присвоюється знак діленого,

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

Функціональну схему АЛП для виконання мікропрограми ділення показано на рис. 5.

Рис. 3. Функціональна схема АЛП для операції ділення

Показана схема АЛП містить:

  • регістр RGA для приймання восьмирозрядного дільника У;

  • регістри RGB і RGC дня приймання 16-розрядного діленого X;

  • комбінаційний восьмирозрядний суматор SM;

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

  • мультиплексор MUX; який забезпечує записування інформації RGB із вхідної шини ШІ або з виходів суматора SM;

  • схему BIN для подання прямого або оберненого коду дільника на входи су­матора SM;

  • лічильник кількості циклів СТ;

  • схему вироблення ознак результату ОР;

  • тригери Г1-Г4 для створення другого рівня керування модулем операційно­го блока МОБ5;

  • місцевий керуючий блок МКБ5 на основі автомата Мілі з пам'яттю на JK-тригерах.