Арифметическое устройство
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике и может быть использовано в цифровых вычислительных машинах и системах управления, в которых применяется поразрядная передача операндов. Цель изобретения - расширение функциональных возможностей за счет выполнения операций умножения и деления. Устройство выполняет операции сложения, вычитания, умножения и деления как с нормализованными , так и с ненормализованными числами в форме с плавающей запятой, мантиссы которых поступают последовательно старшими разрядами вперед на входы устройства , которое совмещает во времени процессы ввода и обработки чисел. Устройство содержит два элемента ИСКЛЮЧАЮЩЕЕ ИЛИ 6, 29, два триггера 7 и 8 операндов, блок 9 обработки порядков два регистра 10 и 11 мантиссы, коммутатор 12 управления, два счетчика 13 и 14 разрядов, элемент НЕ 15, два элемента И 16 и 17, два элемента ИЛИ 18 и 19, счетчик 20 нормализации , схему 21 сравнения с константой, регистр 22 порядка результата, счетчик 23, триггер 24, арифметический блок 25 обработки мантисс, коммутатор 30 мантисс, два дешифратора 26 и 31, два коммутатора 32 и 33, распределитель 34 импульсов и вычитатель 35 нормализации, которые соединены между собой соответствующим образом. 2 ил, И
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (я)л G 06 F 7/49
ГОСУДАРСТВЕННЫЙ КОМИТЕТ
ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ
ПРИ KHT СССР
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (21) 4700959/24 (22) 05.06.89 (46) 15.06.91. Бюл. М 22 (71) Институт полупроводников АН УССР (72) А.И.Селезнев (53) 681.325(088.8) (56) Авторское свидетельство СССР
hh 999045, кл. G 06 F 7/52, 1981.
Авторское свидетельство СССР
М 959070, кл. G 06 F 7/50. 1980. (54) АРИФМЕТИЧЕСКОЕ УСТРОЙСТВО (57) Изобретение относится к вычислительной технике и может быть использовано в цифровых вычислительных машинах и системах управления, в которых применяется поразрядная передача операндов, Цель изобретения — расширение функциональных воэможностей эа счет выполнения операций умножения и деления, Устройство выполняет операции сложения, вычитания, умножения и деления как с нормалиэованИзобретение относится к вычислительной технике и может быть использовано в цифровых вычислительных машинах, работающих в реальном времени, для выполнения операций сложения, вычитания, умножения и деления чисел, представленных в форме с плавающей запятой.
Цель изобретения — расширение функциональных воэможностей эа счет выполнения операций умножения и деления.
На фиг.1 представлена схема арифметического устройства, на фиг.2 — схема блока обработки порядков.
Арифметическое устройство (фиг.1) содержит вход 1 синхронизации устройства, входы 2 и 3 разрядов входа мантиссы пер,, Я./ ÄÄ 1656525 А1 ными, так и с ненормализованными числами в форме с плавающей запятой, мантиссы. которых поступают последовательно старшими разрядами вперед на входы устройства, которое совмещает ео времени процессы ввода и обработки чисел. Устройство содержит два элемента ИСКЛЮЧАЮЩЕЕ ИЛИ 6, 29, два триггера 7 и 8 операндов, блок 9 обработки порядков два регистра 10 и 11 м аeнHт и сcсoы, коммутатор 12 управления, два счетчика 13 и 14 разрядов, элемент НЕ 15, два элемента И 16 и 17, два элемента ИЛИ 18 и 19, счетчик 20 нормализации, схему 21 сравнения с константой, регистр 22 порядка результата, счетчик 23, триггер 24, арифметический блок 25 обработки мантисс, коммутатор 30 мантисс, два дешифратора 26 и 31, два коммутатора 32 и 33, распределитель 34 импульсов и вычитатель 35 нормализации, которые соединены между собой соответствующим образом.
2 ил. вого операнда устройства, входы 4 и 5 разрядов входа мантиссы второго операнда устройства, первый элемент исключающее
ИЛИ 6, триггер 7 первого операнда, триггер
8 второго операнда, блок 9 обработки порядков, первый 10 и второй 11 регистры мантиссы, коммутатор 12 управления, первыи
13 и второй 14 счетчики разрядов, элемент
НЕ 15, первый 16 и второй 17 элементы И, первый 18 и второй 19 элементы ИЛИ, счетчик 20 нормализации, схему 21 сравнения с константой, регистр 22 порядка результата, счетчик 23, триггер 24, арифметический блок 25 обработки мантисс, первый дешифратор 26, выходы 27 и 28 разрядов выхода мантиссы результата устройства, второй
1656525
10
30
50 элемент ИСКЛЮЧАЮЩЕЕ ИЛИ 29, комму-. татор 30 Мантисс,, второй дешифратор 31, первый 32 vr в тTоoр оoй 333 3 кKоoм мMу та тTоoр ы, распределитель 34 импульсов, вычитатель 35 нормализации, входы 361 — 36 разрядов входа порядка первого операнда устройства, входы 371 — 37л разрядов входа порядка второго операнда устройства, выходы 381 — 38, разрядов выхода порядка результата устройства, выход 39 сигнала окончания операции устройства, вход 40 "Вычитание" устройства, вход 41 "Умножение" устройства, вход 42 "Деление" устройства. Блок 9 обработки порядков (фиг.2) содержит схему
43 сравнения порядков, первую группу элементов ИСКЛЮЧАЮЩЕЕ ИЛИ 441 — 44,, первый сумматор 45, элемент НЕ 46, вторую группу элементов ИСКЛЮЧАЮЩЕЕ ИЛИ
47 — 47л-, второй сумматор 48, коммутатор49 порядков, элементы ИЛИ 50 и 51, причем первый информационный вход блока 9 обработки порядков соединен с первым входом схемы 43 сравнения порядков, с входом первого слагаемого сумматора 45 и с первым информационным входом коммутатора
49 порядков, входы разрядов второго информационного входа блока 9 обработки порядков соединены с входами разрядов второго входа схемы 43 сравнения порядков, с входами разрядов второго информационного входа коммутатора 49 порядков и с первыми входами соответствующих элементов ИСКЛЮЧАЮЩЕЕ ИЛИ 44> — 44л группы, вторые входы которых объединены и соединены с входом переноса сумматора
45 и с выходом элемента НЕ 46, вход которого соединен с первым входом элемента
ИЛИ 51 и является первым входом задания режима блока 9 обработки порядков, выходы элементов ИСКЛЮЧАЮЩЕЕ ИЛИ 44144л группы соединены с входами разрядов второго слагаемого сумматора 45, выходы младших и-1 разрядов выхода которого подключены к соответствующим первым входам элементов ИСКЛЮЧАЮЩЕЕ ИЛИ
471-47л-1 группы, а также к входам младших и-1 разрядов третьего информационного входа коммутатора 49 порядков, выход которого является вторым информационным выходом блока 9 обработки порядков. Выход старшего (n-ro) разряда выхода сумматора 45 соединен с вторыми входами элементов ИСКЛЮЧАЮЩЕЕ ИЛИ 47 -47>-> группы, с входом переноса сумматора 48 и входом старшего (n-ro) разряда третьего информационного входа коммутатора 49 порядков, первый управляющий вход которого соединен с первым входом элемента ИЛИ
50 и с выходом схемы 43 сравнения порядков, второй управляющий вход коммутатора
49 порядков соединен с выходом элемента
ИЛИ 51, второй вход которого соединен с вторым входом элемента ИЛИ 50 и является вторым входом задания режима блока 9 обработки порядков, сигнальный выход которого соединен с выходом элемента ИЛИ 50, выходы элементов ИСКЛЮЧАЮЩЕЕ ИЛИ
47 — 47л-1 группы соединены с входами разрядов входа первого слагаемого сумматора
48, вход второго слагаемого которого соединен с входом логического нуля устройства, выход сумматора 48 является первым информационным выходом блока 9 обработки порядков.
Для представления мантисс исходных операндов и результата арифметической операции используется избыточная двоичная система счисления с цифрами "1", "0" и
"-1". В этом случае знак мантиссы определяется знаком первого старшего значащего разряда, поскольку он обладает наибольшим весом по сравнению с другими разрядами мантиссы.
Так, например, цифре "-1" соответствует наличие сигнала логической единицы на входах 2 или 4 на выходе 27. Цифре "1" соответствует наличие сигнала логической единицы на входах 3 или 5 или на выходе 28.
Цифра "0" соответствует либо отсутствию сигнала логической единицы на входах 2 и 3 или 4 и 5, а также на выходах 27 и 28, либо наличию такого сигнала на каждом входе и выходе перечисленных пар, т.е. цифра "0" может быть представлена двоичным кодом
"00" или "11".
Арифметический блок 25 может быть построен, например, с помощью соединенных известным способом сумматора, регистров первого и второго операндов, накапливающего регистра, триггера, дешифратора, двух элементов И и элемента ИЛИ. Такой блок предназначен для выполнения операций сложения, умножения и деления последовательно поступающих, начиная со старших разрядов, мантисс исходных операндов, представленных в избыточной двоичной системе счисления с цифрами "1", "0" и "-1".
Мантисса результата операции формируется блоком также в избыточной двоичной системе счисления и выдается последовательно разряд за разрядом, начиная со старших, т.е. в каждом i-м цикле вычислений(где
1 = 1, 2, 3...) арифметический блок 25 при последовательном поступлении на его входы разрядов мантисс операндов с весом 2 формирует на своих выходах разряды мантиссы результата с весом 2, т.е. разряды мантиссы результата вычисляются с запаздыванием на три цикла. При этом обеспечивается совмещение во времени процессов
1656525
10
35 ра
55 поразрядного ввода мантисс исходных операндов и их обработки. Настройка блока 25 на выполнение одной из трех арифметических операций осуществляется с помощью логических сигналов, подаваемых на его входы задания режима. Так, например, сигналы логических нулей на указанных входах блока 25 настраивают последний на выполнение операции сложения. Сигнал логической единицы на первом и втором входах задания режима обеспечивает реализацию операции сложения. Сигнал логической единицы на первом и втором входах задания режима обеспечивает реализацию операции умножения и деления блоком 25.
Дешифраторы 26 и 31 представляют собой стандартные декодирующие узлы.
Регистры 10 и 11 — стандартные сдвигающие регистры, разрядность которых равна
m + 1 (m — разрядность мантисс).
Коммутаторы 32 и 33 представляют собой стандартную логическую схему коммутации, выполняющую подключение к своему выходу того информационного входа, двоичный код которого присутствует на управляющих входах этих коммутаторов, Число информационных входов каждого коммутатора равно m+ 2.
Распределитель 34 импульсов — стандартный узел, предназначенный для получения трех не перекрывающихся во времени управляющих сигналов, которые следуют друг за другом.
Для представления порядков исходных операндов и результата арифметической операции используется каноническая двоичная система счисления, Значения порядков представляются со знаком с помощью дополнительного кода.
В качестве вычитателя 35 нормализации может быть использован стандартный и-разрядный двоичный сумматора комбинационного типа. Этот сумматор служит для выполнения операции вычитания с учетом знаков слагаемых. Для этого все и входов первой группы входов сумматора являются инвертирующими (они подключены к выходам счетчика 20), а на вход переноса в самый младший разряд этого сумматора подается сигнал логической единицы.
Схема 21 сравнения с константой представляет собой стандартную схему сравнеиия чисел; реализующух сравнение вычисляемого значения порядка результата а величиной минимального порядка, при котором формируемый результат операции можно считать ра вн ым нул ю. Величина такого минимального порядка заранее известна и равна -2" (где и-1 — разрядность порядка без учета знакового разряда).
Счетчики 14 и 23 представляют собой - обычные двоичные суммирующие счетчики, коэффициенты счета которых соответственно равны в+4 и m+ 1.
Счетчик 13 также является обычным двоичным суммирующим счетчиком, коэффициент счета которого равен m+4. Однако исходное содержимое этого счетчика равно
"1", т.е. при установке исходного состояния в самый младший разряд счетчика записывается единица, а остальные разряды обнуля ются, Коммутатор 12 управления — стандартная-логическая схема коммутации, позволяющая подключить к выходу один из информационных входов либо выставлять на выходе сигналы логического нуля в зависимости от логических сигналов на своих управляющих входах.
Счетчик 20 нормализации — стандарт- ный и-разрядный реверсивный двоичный счетчик, обладающий цепями параллельной записи информации (не показаны).
Коммутатор 30 мантисс представляет собой также обычную логическую схему коммутации, обеспечивающую подключение к своим двум информационным вь1ходам своих же двух информационных входов в зависимости от логического сигнала на первом управляющем входе. Кроме того, по сигналу логической единицы на втором управляющем входе коммутатора 30 осуществляется инвертирование сигналов с второго информационного входа этого коммутатоВ качестве сумматоров 45 и 48 могут быть использованы стандартные и-разрядные двоичные сумматоры комбинационного типа.
Схема 43 сравнения порядков представляет собой стандартную схему сравнения чисел, выполняющую сравнение порядков исходных операндов.
Коммутатор 49 порядков — стандартная логическая схема коммутации, реализующая подключение к выходу одного из трех информационных входов в зависимости от логических сигналов на управляющих входах.
Арифметическое устройство (фиг.1) работает следующим образом, Предварительно отметим, что установка очередных i-x (где i = 1, 2, 3, ...) разрядов мантисс исходных операндов на входах 2, 3 и 4, 5 устройства в каждом i-м цикле вычислений происходит под действием синхронизирующих сигналов с входа 1 арифметического устройства, а именно по спадающему фронту этих синхронизирующих сигналов. Кроме того, каждый синхро1656525 низирующий сигнал своим спадающим фронтом выполняет сдвиги информации на один разряд в регистрах 10 и 11, инкрементирует содержимое счетчика 23 (если на входе сброса этого счетчика присутствует сигнал логической единицы) и запускает распределитель 34, Перед началом счета на входы 40, 41 и 42 устройства подают код необходимой арифметической операции и удерживают этот код до получения окончательного результата вычислений..Сигнал логического нуля с входа 42, пройдя элемент
HE 15, устанавливается логической единицей на,втором входе элемента ИЛИ 19 и блокирует прохождение сигналов логических единиц с первого входа элемента ИЛИ
19 через него, удерживая на выходе элемента ИЛИ 19 логическую единицу, которая постоянно будет присутствовать на втором входе элемента И 16 при выполнении устройством операций сложения, вычитания и умножения, Рассмотрим работу арифметического устройства отдельно для каждой арифметической операции. Предлагаемое устройство позволяет выполнять арифметические операции как с нормализованными, так и ненормализованными исходными операндами„ а также может обрабатывать ситуации, когда одна либо обе мантиссы исходных oneрандов равны нулю.
Для реализации операции сложения чисел на входы 40, 41 и 42 устройства подаются сигналы логических нулей. При этом коммутатор 12 по сигналам логических ну5
20
55 лей на своих управляющих входах настраивается для передачи информации с второго информационного входа на свой выход, а блок 9 — для выдачи большего порядка исходных операндов на второй информационный выход. Перед проведением вычислений в нулевое состояние сбрасываются триггеры 7, 8 и 24, регистры 10, 11 и 22 и счетчик
14. Предварительно также в счетчик 20 заносится число "-4" в дополнительном коде, а блок 25 и счетчик 13 приводятся в исходное состояние.
На входы 36i-36> устройства поступает двоичный код порядка первого операнда, а на входы 37>-37л — двоичный код порядка второго операнда. Блок 9 по поступившим кодам порядков вычисляет двоичный код модуля разности порядков, который устанавливается на его первом информационном выходе. Через коммутатор 12 двоичный код модуля разности порядков подается на управляющие входы коммутаторов 32 и 33, задавая им двоичный код номера из информационного входа, подключаемого к их выходам, Кроме того, блок 9 определяет больший порядок из двух поступивших. При этом на сигнальном выходе блока 9 формируется сигнал логического нуля, если порядок второго операнда не превышает порядка первого операнда, В противном же случае на сигнальном выходе блока 9 появляется сигнал логической единицы, На втором информационном выходе блока 9 устанавливается двоичный код большего порядка, а в случае их равенства — двоичный код порядка первого операнда.
Одновременно с поступлением порядков исходных операндов на входы 2, 3 и 4, 5 устройства подаются двоичные коды первых старших (с весом 2 ) разрядов мантисс этих операндов; По сигналу логического нуля на своем первом управляющем входе коммутатор 30 (порядок второго операнда не превышает порядка первого операнда) осуществляет передачу сигналов с входов 4 и 5 устройства на входы последовательного ввода регистров 10 и 11 соответственно и на первые информационные входы коммутаторов 32 и 33 соответственно. Сигналы с входов 2 и 3 устройства при этом передаются коммутатором 30 на второй информационный вход блока 25. Если же с сигйального выхода блока 9 будет выдан сигнал логической единицы (порядок второго операнда при сложении чисел превышает порядок первого операнда) на первый управляющий вход коммутатора 30, то последний будет выполнять передачу сигналов с входов 4 и 5 устройства на второй информационный вход блока 25, а сигналы с входов 2 и 3 устройства при этом будут передаваться коммутатором 30 на входы последовательного ввода регистров 10 и 11 соответственно и на первые информационные входы коммутаторов 32 и 33 соответственно. Сигнал логического нуля с входа 40 устройства присутствует на втором управляющем входе коммутатора 30 и запрещает ему производить передачу сигналов с входов 4 и 5 устройства с инверсией, В арифметическом устройстве при суммировании процесс выравнивания порядков, который необходим для сложения разрядов одного веса, совмещен во времени с процессом поразрядйого ввода мантисс операндов. Это достигается задержкой в поступлении на первый информационный вход блока 25 двоичных кодов разрядов мантиссы, обладающей меньшим порядком, по отношению к гоступлению двоичных кодов разрядов другой мантиссы на второй информационный вход блока 25. Величина задержки равняется модулю разности порядков операндов, двоичный код которого формируется на первом информационном
1656525
10 выходе блока 9 и через коммутатор 12 устанавливается на управляющих входах коммутаторов 32 и 33. Если модуль разности порядков равен нулю (порядки равны), то двоичные коды разрядов мантиссы второго операнда подаются на первый информационный вход блока 25 без задержки с первого выхода коммутатора 30 через коммутаторы
32 и 33, которые при этом передают на выход сигналы с первого своего информационного входа. Если же, например, модуль разности порядков равен единице, то коды разрядов мантиссы, имеющей меньший порядок, возникают на первом информационном входе блока 25 с задержкой на один цикл вычислений по сравнению с разрядами на втором информационном входе блока 25.
В этом случае используется информация с выходов первых разрядов регистров 10 и 11, которая передается через вторые информационные входы коммутаторов 32 и 33. Когда же модуль разности порядков равен m + 1, то задержка составляет m+ 1 цикл вычислений и при этом для подачи на первый информационный вход блока 25 используется информация с выходов (m + 1)-х разрядов регистров 10 и 11, которая передается через (m + 2)-е информационные входы коммутаторов 32 и 33. Для тех случаев, когда значение модуля разности порядков превышает
m+ 1, коммутаторы 32 и ЗЗ на своих выходах устанавливают сигналы логических нулей.
Блок 25 выполняет суммирование поступивших íà его входы разрядов мантисс слагаемых в каждом i-м цикле вычислений под управлением трех сигналов от распределителя 34, Последний под действием каждого i-го синхронизирующего сигнала на своем входе вырабатывает следующие друг за другом и не перекрывающиеся во времени три управляющих сигнала, которые воздействуют на тактирующие входы блока 25.
На выходе этого блока формируются коды разрядов мантиссы суммы с запаздыванием на три цикла вычислений. По каждому i-му синхронизирующему сигналу с входа 1 через выходы 27 и 28 выдаются из арифметического устройства коды разрядов мантиссы результата, которые при этом анализируются дешифратором 26. Причем, если анализируемой цифрой мантиссы результата является "0", то при наличии логической единицы синхронизирующего сигнала на входе разрешения дешифратора 26 последний формирует на своем втором выходе сигнал логической единицы. Этот сигнал поступает на третий вход элемента И 16, на первом и втором входах которого установлены логические единицы. Логическая единица на первом входе элемента И 16
55 присутствует до момента пблучения первого значащего разряда мантиссы результата на выходе блока 25. Сигнал логической единицы с второго выхода дешифратора 26 проходит через элемент И 16 и поступает на суммирующий вход счетчика 20, увеличивая его содержимое на единицу. При помощи вычитателя 35 определяется разность между числом (уменьшаемое) с второго выхода блока 9 и содержимым (вычитаемое) счетчика 20. Таким образом, по каждому разряду вычисляемой блоком 25 мантиссы результата, начиная с первого старшего разряда, равного нулю, осуществляется уменьшение большего порядка на единицу. В случае получения первого значащего разряда мантиссы результата, равного "1" или "-1", дешифратор 26 по синхронизирующему сигналу с входа 1 выдает сигнал логической единицы на своем первом выходе,устанав- ливая триггер 24 в единичное состояние.
После этого на первом входе элемента И 16 появляется сигнал логического нуля с инверсного выхода триггера 24, блокируя выработку выходных сигналов дешифратором
31 и прохождение возможных последующих сигналов логической единицы через,элемент И 16 с второго выхода дешиф ратора 26.
Сигнал логической единицы с единичного выхода триггера 24 снимает запрещение счетного режима для счетчика 23, происходит запись в регистр 22 значения откорректированного на вычитателе 35 порядка результата. Вследствие этого на выходах
38 — 38 устанавливается порядок еще вычисляемой, но уже нормализованной мантиссы результата. Под действием последующих синхронизирующих сигналов счетчика 23 осуществляется отсчет числа выдаваемых разрядов нормализованной мантиссы результата. Вычисления разрядов мантиссы результата устройством прекращаются, когда на выходе переполнения счетчика 23 появляется сигнал логической единицы, который проходит через элемент
ИЛИ 18 и появляется на выходе 39 устройства, что служит признаком окончания операции. При этом через выходы 27 и 28 устройства выдается m+ 1 разряд нормализованной мантиссы результата.
Если же в и роцессе одновременного вычисления мантиссы результата, ее нормализации и соответствующей корректировки порядка результата значение этого порядка на выходах вычитателя 35 становится равным значению минимального допустимого порядка, то схема 21 сравнения определяет это и на ее выходе устанавливается сигнал логической единицы. Этот сигнал попадает на второй вход элемента ИЛИ 18, и пройдя
1656525 через этот элемент, появляется на выходе
39, свидетельствуя о том, что операция закончена.
Для случая, когда обе мантиссы исходных операндов равны нулю, формирование сигнала конца операции на выходе 39 устройства может происходить и по-иному, Поскольку мантиссы операндов равны нулю, триггеры 7 и 8 не будут устанавливаться sединичное состояние,,так как на выходах элементов ИСКЛЮЧАЮЩЕЕ ИЛИ 6 и 29 не будут возникать сигналы логических единиц. В этих условиях осуществляется отсчет числа сигналов логических единиц с второго выхода дешифратора 31 с помощью счетчика 14 до выработки последним на своем выходе переполнения сигнала логической единицы, Выработка выходных сигналов дешифратором 31 производится под действием стробирующих. сигналов на одноименном входе этого дешифратора, куда стробирующие сигналы подаются с входа
1 устройства. С выхода переполнения счетчика 14 сигнал логической единицы приходит на четвертый вход элемента ИЛИ 18 и, пройдя через него, устанавливается на выходе 39.
При выполнении арифметическим устройством операции вычитания чисел на входе 40 устройства необходимо установить сигнал логической единицы. Такой сигнал поступает на второй управляющий вход коммутатора 30, который в этой ситуации будет инвертировать коды цифр разрядов мантиссы второго операнда со своей второй группы входов, что достаточно для реализации операции вычитания чисел, представляемых в избыточной двоичной системе счисления. Предварительная же установка устройства в исходное состояние и выпол, нение вычитания осуществляется в остальном аналогично операции сложения чисел.
Затраты времени, выраженные в циклах вычисления k< на получение суммы (разности) двух операндов с помощью предлагаемого устройства, находятся в диапазоне значений:
m+3 <1сп <2m+3.
Операция умножения чисел арифметическим устройством выполняется, если на входе 41 присутствует сигнал логической единицы, а на входах 40 и 42 — сигналы логических нулей. В этой ситуации коммутатор 12 на всех своих выходах разрядов устанавливает сигналы логических нулей, а блок
9 настраивается таким образом, чтобы на второй выход выдавать сумму порядков исходныхх операндов. Перед выполнением счета в нулевое состояние сбрасываются триггеры 7, 8 и 24, регистры 10, 11 и 22 и
55 счетчик 14. Предварительно также в счетчик
20 заносится число "-4" в дополнительном коде, а блок 25 и счетчик 13 приводятся в исходное состояние.
Процесс вычисления произведения, как и процесс вычисления суммы, начинается с того, что на входы 361 — 36n устройства поступает двоичный код порядка первого операнда. а на входы 37 — 37 — двоичный код порядка второго операнда, Блок 9 формирует на втором выходе сумму поступивших на его входы порядков сомножителей. Эта сумма порядков сомножителей подается на вход уменьшаемого вычитателя 35 для последующих преобразований в соответствии со значениями разрядов мантиссы произведения, которые в каждом цикле вычислений выдаются из блока 25.
Одновременно с установкой порядков сомножителей на входы 2, 3 и 4, 5 устройства подаются двоичные коды первых старших (с весом 2 ) разрядов мантисс исходных операндов. В зависимости от логического значения сигнала на первом управляющем входе коммутатора 30 двоичные коды разрядов мантиссы одного из сомножителей поступают на первый информационный вход блока 25 через коммутаторы 30, 32 и 33, а двоичные коды разрядов мантиссы другого из сомножителей подаются на второй информационный вход блока 25 только через коммутатор 30. У коммутаторов 32 и
33 к выходам подключены их первые информационные входы, поскольку на управляющих входах этих коммутаторов присутствуют сигналы логических нулей с выходов коммутатора 12. В остальном же процесс вычисления произведения аналогичен процессу получения суммы чисел в устройстве. Обработка ситуации, когда оба сомножителя равны нулю, происходит так же, как и при сложении. Однако возможны ситуации, когда мантисса одного из сомножителей равна нулю. Рассмотрим сначала тот случай, когда мантисса первого операнда равна нулю, При этом независимо от состояния триггера 8, а следовательно, независимо от значения логического сигнала на входе второго разряда входа дешифратора 31 и при нулевом логическом сигнале . на входе первого разряда входа этого дешифратора последний по каждому стробирующему сигналу со входа 1 устройства формирует на своем втором выходе счетные сигналы логических единиц для счетчика 14.
Поэтому работа арифметического устройства может быть окончена по сигналу логической единицы на выходе переполнения счетчика 14. Сигнал с выхода переполнения счетчика 14, пройдя через элемент ИЛИ 18.
1656525
5
30
50 появляется на выходе 39 устройства, свидетельствуя о том, что операция закончена. Но поскольку разряды мантиссы произведения равны нулю в данной ситуации, окончание работы арифметического устройства может произойти раньше. чем счетчик 14 выдает сигнал переполнения, если значение порядка на выходе вычитателя 35 станет равным значению минимально допустимого порядка, а это будет определено схемой 21 сравнения. Это возможно ввиду того, что по каждому нулевому разряду мантиссы произведения сигналом логической единицы с второго выхода дешифратора 26, проходящему через элемент И 16, инкрементируется содержимое счетчика 20, чем каждый раз уменьшается значение порядка на выходе вычитателя 35. Если же мантисса второго операнда равна нулю, то счетные сигналы логических единиц для счетчика 13 на своем первом выходе устанавливает дешифратор
31, поскольку теперь на входе первого разряда входа этого дешифратора присутствует сигнал логической единицы с выхода триггера 7, а на входе второго разряда входа дешифратора 31 — сигнал логического нуля.
Установка в единичное состояние триггера
7 осуществляется после прихода на входы 2 и 3 устройства двоичного кода первого эначащего разряда мантиссы первого операнда с помощью сигнала логической единицы с выхода элемента ИСКЛЮЧАЮЩЕЕ ИЛИ
29. Выработка сигнала логической единицы конца операции на выходе 39 устройства при этом может осуществляться по сигналу логической единицы на выходе переполнения счетчика 13. Для нулевых мантисс операндов можно представить диапазон возможных значений затрат времени tyn на вычисление произведения двух операндов с помощью арифметического устройства в следующем виде:
m+4 < уп < 3(m+1).
Для проведения операции деления чисел на входе 42 устройства устанавливается сигнал логической единицы, а на входах 40 и 41 устройства — сигналы логических нулей.
При этом коммутатор 12 к своему выходу подключает первый информационный вход, куда подсоединены выходы разрядов счетчика 13, а блок 9 настраивается таким образом, чтобы на второй выход выдавать разность порядков исходных операндов и сигнал логической единицы на свой сигнальный выход. Перед выполнением деления чисел в нулевое состояние сбрасываются триггеры 7, 8 и 24, регистры
10, 11 и 22 и счетчик 14. Предварительно также в счетчик 20 заносится число "-5" в дополнительном коде, а блок 25 и счетчик 13 приводятся в исходное состояние. Сигнал логической единицы с входа 42, пройдя элемент НЕ 15, устанавливается логическим нулем на втором входе элемента ИЛИ 19, разблокируя его для прохождения логических сигналов с первого входа.
Рассмотрим процесс деления нормализованных и ненулевых исходных операндов.
Порядок делимого устанавливается на входах 361-36> устройства, а порядок делителя — на входах 371 — 37 устройства. блок 9 вычисляет разность поступивших двоичных кодов порядков операндов. Полученная разность выдается на вход уменьшаемого вычитателя 35 для последующих преобразований в соответствии с получаемыми значениями разрядов мантиссы частного, которые в каждом 1-м цикле вычислений формирует на своих выходах блок 25, Этот блок производит вычисления разрядов мантиссы частного в каждом!-м цикле под управлением трех сигналов от распределителя 34.
Одновременно с установкой порядков операндов на входы 2, 3 и 4, 5 устройства подаются двоичные коды первых старших(с весом 2 ) значащих разрядов мантисс делимого и делителя соответственно. При этом элементы ИСКЛЮЧАЮЩЕЕ ИЛИ 6 и 29 вырабатывают на своих выходах сигналы логических единиц, которые устанавливают в единичное состояние триггеры 8 и 7 соответственно. Состояния триггеров 8 и 7 анализирует дешифратор 31 по каждому стробирующему сигналу на его одноименном входе. На первом выходе дешифратора
31 сигнал логической единицы возникает тогда, когда в единичном состоянии находится триггер 7. Появление сигнала логической единицы на втором выходе дешифратора 31 происходит в том случае, когда триггер 7 находится в нулевом состоянии, а состояние триггера 8 при этом может быть произвольным. Если же оба триггера 7 и 8 находятся в единичном состоянии, то формирования сигналов логических единиц на выходах дешифратора 31 не происходит.
Поэтому для случая нормализованных и ненулевых мантисс операндов исходное состояние счетчика 13 (его младший разряд установлен в единичное состояние, а все остальные — в нулевое) остается неизменным после прихода первых старших разрядов мантисс операндов и не меняется в процессе счета, Двоичный код с выходов счетчика 13, пройдя через коммутатор 12, присутствует на управляющих входах коммутаторов 32 и 33; которые по установленному управляющему коду к своим выходам через свои информационные входы подключают выходы первых разрядов регистров 10
1656525
16 и 11 соответственно. С выходов коммутаторов 32 и 33 двоичные коды разрядов мантиссы делимого, задержанные с помощью регистров 10 и 11 на один цикл вычислений по отношению к двоичным кодам разрядов мантиссы делителя, подаются на первый информационный вход блока 25. Задержка разрядов мантиссы делимого необходима для правильного функционирования блока
25, поскольку для него необходимо, чтобы делимое было всегда меньше делителя. Таким образом, по каждому i-му синхронизирующему сигналу двоичный код разрядов мантиссы делимого с входов 2 и 3 устройст5
10 управляющем входе коммутатора 30 присутствует для операции деления сигнал логической единицы), последовательно вводится в регистры 10 и 11 и в следующем цикле вычислений с выходов первых разрядов этих регистров через коммутаторы 32 и
33 появляется на первом, информационном входе блока 25, Двоичные коды мантиссы делителя со входов 4 и 5 устройства попадают через коммутатор ЗО на второй информационный вход блока 25. Последний на
25 основании поступивших разрядов мантисс операндов формирует на своих выходах разряды мантиссы частного с запаздываниЗО
35 ем на три цикла вычислений. По каждому
1-му синхронизирующему сигналу через выходы 27 и 28 выдаются из устройства двоичные коды разрядов мантиссы частного, которые при этом анализируются дешифратором 26. Причем, если анализируемой цифрой мантиссы частного является "О", то по синхронизирующему сигналу с входа 1 устройства дешифратор 26 на своем втором выходе вырабатывает сигнал логической единицы. Этот сигнал поступает на третий вход элемента И 16, на первом и втором
40 входе которого в настоящее время, т.е. до появления первого значащего разряда мантиссы частного на выходах блока 25 (триггер
24 находится в нулевом состоянии) и после прихода первого старшего значащего разряда мантиссы делителя (триггер 7 находится в единичном состоянии), установлены сигналы логических единиц, Поэтому сигнал логической единицы с второго выхода дешифратора 26 через элемент И 16 попадает на суммирующий вход счетчика 20 и увеличивает его содержимое на единицу.
Последующие процессы по вычислению ча55 стного протекают в устройстве по аналогии получения суммы или произведения чисел.
Рассмотрим работу устройства при делении ненулевых и ненормализованных мантисс исходных операндов. Предварительно заметим, что в указанной ситуацию ва, пройдя через коммутатор 30 (на первом 15 при одновременном появлении первых значащих разрядов мантисс делимого и делителя работа устройства аналогична делению нормализованных мантисс, Если же первым значащий разряд в процессе поразрядного ввода возникает на входах 2 и 3 разрядов мантиссы делимого, то зто определяет элемент ИСКЛЮЧАЮЩЕЕ
ИЛИ 29, формируя на своем выходе сигнал логической единицы. Такой сигнал устанавливает триггер 7 в единичное состояние.
После этого и до момента появления на входах 4 и 5 первого значащего разряда мантиссы делителя по каждому синхронизирующему сигналу с входа 1 устройства дешифратором 31 на его первом выходе вырабатывается сигнал логической единицы. Этот сигнал поступает на вычитающий вход счетчика 20, пройдя через элемент И 17, поскольку íà его втором входе присутствует разрешающий сигнал логической единицы с входа 42 устройства. Содержимое счетчика 20 уменьшается на единицу по каждому сигналу логической единицы на его вычитающем входе. Кроме того, сигнал логической единицы с первого выхода дешифратора 31 инкрементирует содержимое счетчика 13. Уменьшение содержимого счетчика 20 приводит к росту значения числа на выходе вычитателя 35, где происходит коррекция порядка вычисляемого частного, Таким образом достигается совмещение во времени процесса поразрядного ввода ненормализованных мантисс операндов и процесса коррекции порядка частного по нулевым разрядам мантиссы делителя до прихода на входы 4 и 5 первого