ПРОЦЕСОРНІ ПРИСТРОЮ ДІЛЕННЯ ДВІЙКОВИХ ЧИСЕЛ

Операційний автомат. Алгоритм і апаратний склад ОА

Вважаємо, що в операції ділення задіяні 8-розрядний ділене і 4-розрядний дільник . На рис. 4.35 проілюстровано алгоритм розподілу двійкового числа А = 0010 00112 на число S = 01112 (35: 7 = 5) з використанням чотирьох регістрів і суматора. Регістри RG i і RG 2 призначені для зберігання і зсуву поточного значення діленого , регістр RG 3 - зберігання додаткового коду -B1 від'ємного значення дільника. Зсувний регістр RG fi служить для накопичення розрядів C j приватного. У початковому стані RG i і RG 2 завантажені діленим A, RG3 - додатковим кодом -B11 = 1001 (-7), a RG fi - нулями (див. Рис. 4.35).

На пана м кроці алгоритму виконується операція додавання

де C4 j - перенесення в четвертий розряд; S 3 , S 2j S i , S 0 f - сума, або Г'-й залишок.

Результат складання C4 у53 S 0. на виході суматора можна контролювати двома способами:

  • • за значенням переносу C4. в четвертий розряд, якщо C4 г = 0, то , в іншому випадку ;
  • • за значенням третього розряду S 3j суми, якщо S 3j = 1, то в іншому випадку

Як умова X1, контролюючого результат складання, приймаємо сигнал C4 перенесення.

Дії на г-му кроці алгоритму операції ділення двійкових чисел визначається значенням X 1 (див. Рис. 4.37).

1. Якщо X1 (. = 0, то значення старших розрядів діленого ', отже, розряд приватного Ci = 0.

Значення C j = X ij = O записується в зсувний (накопичувальний) регістр RG i. Виконується логічний зсув вліво на один розряд (в сторону старших розрядів) вмісту регістрів RG i і RG 2, при цьому

Ілюстрація принципу поділу двійкових чисел з використанням чотирьох регістрів

Мал. 4.35. Ілюстрація принципу поділу двійкових чисел з використанням чотирьох регістрів

молодший розряд в RG 2 заміщається нулем. На наступному (г + 1) -му кроці алгоритму приймається

При X u = 0 сума на виході суматора не використовується. В RG 1 зберігається

2. ЕсліXli = 1, то значення старших розрядів діленого ', отже, розряд приватного C j - 1.

В цьому випадку сума заноситься в RG v значення приватного C j = X lj = 1 записується в RG 2. Потім виконується операція логічного зсуву вліво на один розряд (в сторону старших розрядів) вмісту

RG 1 і RG 2. Таким чином, на наступному (г + 1) -му кроці алгоритму приймається

Як видно з рис. 4.35, для отримання чотирьох значущих розрядів приватного необхідно виконати п'ять кроків, або циклів = 1, ..., 5), тому для автоматичної фіксації завершення операції ділення скористаємося двійковим віднімається лічильником з підключеним до його виходів логічним елементом ЗІЛи-НЕ. Якщо в початковому стані в лічильник записати число п = 510 = Ю12іпо завершенні кожного циклу зменшувати його вміст на одиницю, то після п'яти циклів він виявиться порожнім (0002) і на виході ЗІЛи-НЕ з'явиться одиничний сигнал, який приймемо в якості другої умови Х 2 .

Структура ОА для поділу двійкових чисел зображена на рис. 4.36 Що Їх при ділення микрооперации у- наведені в табл. 4.15.

Таблиця 4.15

призначення

Завантаження регістра RG i старшими розрядами ділене Лс = 0010 (3510)

Завантаження регістра RG 2 молодшими розрядами ділене Лм = 0011 (3510)

Завантаження регістра RG 3 делителем в додатковому коді л = 1001 (-710)

Завантаження регістра RG 4 нулями, або скидання

Завантаження лічильника числом циклів п = 5 (01012)

Завантаження суми S, S 2 S. S " . в регістр RG t (при X,,. = 1) ''

Завантаження перенесення С4 = X ,, в регістр RG 3 (при X, i = 1)

Завантаження перенесення С4 = X, в регістр RG 3 (при X, f = 0)

Зрушення вмісту регістрів RG V RG 2 на один розряд вліво (при X , _ t = 0 і 1)

Зменшення вмісту лічильника СТ на одиницю (прих, л = 0і 1)

Перенесення С4 в четвертий розряд на виході суматора

Контроль вмісту лічильника СТ (Х2 = 1 при СТ = 0)

В результаті об'єднання микроопераций, виконуваних на одному часовому інтервалі, формуємо такі мікрокоманд:

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

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

де F1 - мікрокоманда початкової установки ОА; F2 - мікрокоманда, виконувана за умови X1. = 0; F3 - мікрокоманда, виконувана за умови X1. = 1;

У OA формуються такі ознаки (див. Табл. 4.20):

• X1. - результат порівняння поточного діленого

з дільником В. При формується логічне умова X1. = 0, при -Xli = 1;

• X2. - поточний стан лічильника. При X2 (= 1 лічильник порожній, операція ділення завершена.

Логічна схема OA приведена на рис. 4.37. Розглянемо особливості використовуваних апаратних засобів.

Кожен з наведених на рис. 4.37 регістрів RG v RG 2 і RG i має:

  • • чотири входи для паралельної завантаження даних і чотири виходи ';
  • • вхід D для послідовного запису одного біта даних і зсуву вмісту регістра;
  • • керуючі входи Fh С, причому режиму паралельної завантаження відповідає комбінація F = I1C = O, режиму послідовного запису і зсуву - F = О, C = 1.

Суматор SM виконує функції порівняння значень чотирьох старших розрядів поточного діленого з подільником В на г-му кроці алгоритму і формування умови X1 .. Для фіксації результату порівняння прийнятий сигнал C4 {перенесення в четвертий розряд на його виході. На входи суматора подаються поточне значення діленого . і додатковий код від'ємного значення дільника, а з виходів знімаються сума 53 t S 2 t S Q. і сигнал логічного умови Х г

Двійковий віднімає лічильник СТ з включеним на його виході елементом ЗІЛи-НЕ забезпечує фіксацію закінчення операції ділення в вигляді логічного умови Х 2 = 1. Лічильник має:

  • • входи D 2 , D v D q для паралельної завантаження числа циклів 510 = 1012;
  • • вхід V, який ініціює паралельну завантаження даних при V = 1;
  • • тактовий вхід Т для зменшення вмісту на одиницю по завершенні кожного циклу.

Логічна схема операційного автомата для поділу двійкових чисел

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

Для управління операційним автоматом слід:

  • • вихід Q3 регістра RG 2 підключити до послідовного входу D регістра RG V а вхід D регістра RG 4 - до виходу С4 суматора, що дозволить реалізувати зсувні операції пари RG 2 -RG X в сторону старших розрядів на кожному кроці алгоритму;
  • • використовувати чотири логічних елемента 2І-АБО (див. Рис. 4.37). В цьому випадку при Y x = 1 на входи даних RG X будуть надходити старші розряди А 3 А 2 А Х А 0 ділимо, при С4 = 1 - сигнали S 3 S 2 S { S 0 з виходу суматора.

Керуючі сигнали, необхідні для виконання мікрокоманд, наведені в табл. 4.16. Схема логіки управління ОА, побудована на підставі цієї таблиці з використанням карт Карно (рис. 4.38), зображена на рис. 4.37.

Таблиця 4.16

Мікрокоманд і умова Х х

сигнали управління

RG 1

RG 2

RG 4

CT

V

З

V

C

V

C

V

T

0

0

1

  • 0
  • 1

1

0

1

0

1

0

1

0

0

1

0

  • 0
  • 1
  • 0
  • 1

0

0

0

0

0

0

0

1

0

0

  • 0
  • 1

0

1

0

1

0

1

0

1

Карти Карно для опису логіки управління операційним автоматом

Мал. 4.38. Карти Карно для опису логіки управління операційним автоматом

Операцію поділу можна реалізувати за двома алгоритмами. Розглянемо їх особливості.

Алгоритм 1. Після завантаження регістрів і лічильника (мікрокоманда У,) перевіряється умова X, (значення перенесення З 4 на виході суматора):

  • • якщо X, = 1, то виконується мікрокоманда У3 (RG t завантажується сумою S 3 j52 gS u S 0 ra RG l - перенесенням C 4 = 1), після чого мікрокоманда У2 (послідовна завантаження перенесення С4 = X, в RG 3> зсув вмісту RG., RG 2 і зменшення на одиницю вмісту лічильника). Потім перевіряється умова Х2 (лічильник СТ). При Х2 = 0 починається новий цикл, при Х2 = 1 операція завершується;
  • • якщо X, = 0, то мікрокоманда У3 пропускається.

Алгоритм 2. Після завантаження регістрів і лічильника (мікрокоманда У,) перевіряється логічне умова Х2 (вміст лічильника СТ):

  • • при Х2 = 0 перевіряється ХГ Якщо Х4 = 1, то виконується мікрокоманда У3, після чого мікрокоманда У2 і цикл завершується. Якщо Xj = 0, то мікрокоманда У3 пропускається;
  • • при Х2 = 1 операція завершується.

Наведені на рис. 4.39 граф-схеми обох алгоритмів поділу не відрізняються від аналогічних граф-схем операції множення. Оскільки реалізація керуючих

Граф-схеми алгоритмів операції ділення двійкових чисел

Мал. 4.39. Граф-схеми алгоритмів операції ділення двійкових чисел

автоматів повністю визначається граф-схемою алгоритму (хоча і неоднозначно), всі розглянуті в параграфі 4.4 технічні рішення можуть бути використані для управління розглянутим вище операційним автоматом.

 
< Попер   ЗМІСТ   Наст >