Проектирование арифметико-логического устройства для выполнения операций сложения и вычитания чисел с плавающей точкой, страница 4

 Смещенные порядки операндов с выходов Q0-Q6 регистров D14 и D17, причем порядок операнда B подается в обратном коде, за счет передачи через инверторы D24. Также на входной перенос сумматора D29 подается «1» и порядок операнда B переводится в дополнительный код.

          Знак результата суммирования подается на коньюнктор D26 и через инвертор D25 на коньюнктор D27. Во время второго такта это позволит переключить счетчик в режим «+1», если результат получился в прямом коде, или в режим «-1» если в дополнительном. Также знак и его инверсия подаются на группу элементов 2И-ИЛИ D39, за счет чего выбирается больший из порядков и он подается на входы D48 и D49, во время шестого такта это значение будет записано в них.

          На элементах D32, D33 и D35 реализована проверка результата суммирования на то больше ли он трех или нет, по принципу описанному в разделе 2.1.

          Если результат больше трех, тоесть нет смысла сдвигать мантиссу меньшего числа и суммировать мантиссы, то на выходе комбинации логических элементов  D28.2, D8.2, D15.5-D15.6, D74.1 будет ноль. Этот сигнал подается через инвертор на входы группы элементов 2И-ИЛИ D52 за счет этого на входы выходных регистров D52, D53 подастся мантисса большего операнда, а на триггер D54 знак мантиссы большего операнда(выбор мантиссы производится элементами D38, D40 в зависимости от знака разности порядков). Также этот сигнал подается на вход дизъюнктора D61 и коньюнктора D59, во втором цикле это позволит записать больший операнд в выходные регистры и установить триггер признака окончания операции в единицу, за счет этого операция завершится во втором такте.

          Если разность порядков меньше или равна трем, то на входы группы элементов 2И-ИЛИ D4 поступит единица, за счет этого на входы выходных регистров D52, D53 подастся сумма мантисс операндов, которая запишется в них в 6 такте.

Второй такт

«1» на выходе 1 дешифратора D19.

В данном такте происходит запись младших 4-х разрядов

разности порядков в счетчик и, если разность больше трех, то

производится запись большего операнда в выходные регистры, выдача его на шину данных и завершение операции.

Младшие 4 разряда разности порядков подаются на входы D1‑D4 счетчика D30. На выходе 1 дешифратора D19 – единица, эта единица подается на вход L счетчика D27, что переводит его в режим параллельной записи со входов D1-D4 и происходит запись разности порядков в счетчик.

Если разность порядков превышает 3, тоесть на выходе комбинации логических схем D32, D33 и D35 ноль, то по приходу синхроимпульса на коньюнктор D65 больший операнд перепишется в выходные регистры и счетчики.

          По сигналу с выхода 1 дешифратора на выходе коньюнктора D62 появится единица, которая подется на вход S триггера признака конца операции D66 и он установится в единицу. На выходе КонОп появится единица и операция завершится. Сигнал с дизъюнктора D62 подается на входы R D6 и D18, что приведет к установке схемы в исходное состояние.

Третий такт

«1» на выходе 2 дешифратора D19.

 В данном такте происходит сдвиг мантиссы меньшего операнда.

 Операция выполняется до тех пор, пока значение счетчика D30 не станет равным «0000», проверку этого условия выполняет элемент ИЛИ D31, в случае, если на всех выходах счетчика будут нули, на его выходе появится ноль.

 Единица с выхода 2 дешифратора поступает на элемент ИЛИ-НЕ D7, на этот же элемент приходит сигнал с D31 и если он будет равен единице (то есть значение счетчика D28 не «0000») то на выходе D7 будет ноль, этот ноль придет на коньюнктор D11 и синхроимпульсы не будут поступать на вход счетчика циклов D18. Таким образом такт не завершится до тех пор, пока не произойдет необходимое число сдвигов мантиссы меньшего числа.

           Единица с выхода 2 дешифратора придет на входы Е входных буферов D1-D4 и они перейдут в Z состояние. Инверсия значения выхода 2 дешифратора подается на входы Е0 вспомогательных регистров D20-D23 и выводит их из Z состояния, в результате на входы регистров D12, D13, D15, D16 поступают данные с выходов вспомогательных регистров.