§4.3. Алгоритмический этап проектирования
273
четыре регистра: Pi, Р2, РЗ, Р4, и одноразрядный сумматор комбинацион
ного типа, которые связаны между собой соединительными каналами и управ
ляемыми веитилями. Четырехразрядные числа представляются в устройстве в
двоичном коде 8421.
Синтезируем автомат, управляющий вычислением мантиссы частного. До
выполнения операции делимое а находится в регистре Р1, делитель Ъ — в реги
стре Р2, числа а и Ь нормализованы, а частное формируется в регистре РЗ. При
выполнении операции деления вычитание заменяем сложением в дополнитель
ном коде и используем следующий алгоритм.
1. Вычитаем в дополнительном коде содержимое регистра Р2(Ъ) из содер
жимого регистра Р1{а), одновременно переписывая содержимое регистра Pi в
регистр Р4■
2. Если о — Ь > 0, то выполняем п. 3, в противном случае — п. 4.
3. Разность а — b записываем в регистр Р1, регистр PJ устанавливаем в
“нуль”, а в регистр РЗ записываем 1, сдвигаем на один разряд вправо делитель,
регистр результата — влево и переходим к п. 5.
4. Записываем содержимое регистра Р4 в регистр Р1, в регистр РЗ записы
ваем 0, сдвигаем на один разряд делитель вправо, регистр результата — влево и
переходим к п. 5.
5. Если п. 1 был выполнен менее пяти раз, то переходим к п. 1, в противном
случае — к п. 6.
6. Конец (в общем случае здесь осуществляется передача управления в блок
нормализации частного).
Для простоты считаем, что в регистр РЗ предварительно записан код нуля.
Зная операционный автомат и реализуемый алгоритм, соста
вляем временную диаграмму функционирования управляющего
автомата, которая представляет собой алгоритм выполнения дан
ной операции в терминах управляющих точек — микроопераций.
Каждой микрооперации соответствует выходной канал управляю
щего автомата. Отсюда число выходных каналов синтезируемого
автомата равно числу всех микроопераций.
Множество микроопераций рассматриваемого устройства таково: СЭР1 —
сдвиг регистра Р1\ СЭР2 — сдвиг регистра Р2; ПСдПЗ— правый сдвиг реги
стра РЗ; ЛСдРЗ — левый сдвиг регистра Р3\ СЭР4 — сдвиг регистра Р4 (на
личие регистра Р4 позволяет ие производить восстановления остатка); ПК1 —
прямой код содержимого регистра Р1; ПК2 — прямой код содержимого реги
стра Р2\ OKI — обратный код содержимого регистра PI; ОК2 — обратный код
содержимого регистра Р2\ ВхР1 — вход регистра Р1; ВхР2 — вход регистра
Р2\ У"0"Р1 — установка регистра Р1 в “нуль”; ВхЛРЗ — вход регистра РЗ
слева; ВхПРЗ — вход регистра РЗ справа; ЦР1 — цикл регистра Р1; ЦР2 —
цикл регистра Р2; -f 1 ) . — подача единицы в цепь переноса сумматора; Д4 —
работа с векторами длины 4; Д5 — работа с векторами длины 5; Дб — работа
с векторами длины 6; Д7 — работа с векторами длины 7; Р4~*Р1 — передача
содержимого регистра Р4 в регистр Р1.
Строка временной диаграммы взаимно однозначно соответст
вует микрооперации.
Множество микроопераций, выполняемых одновременно, на
зывается микрокомандой, а множество последовательностей ми
крокоманд, соответствующее выполняемой операции — микропро
граммой. Каждая микропрограмма взаимно однозначно соответ
ствует значению входного вектора X. Следовательно, число раз
личных значений входного вектора X равно числу выполняемых