Устройство для умножения чисел
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике и может быть использовано при построении арифметических устройств процессоров . Цель изобретения - расширение функциональных возможностей за счет умножения 2п-разрядных чисел на п-разрядном оборудовании. Новым в устройстве для умножения чисел, содержащем операционный блок, счетчик циклов, регистр микрокоманд , блок синхронизации, триггер знака, триггер выдвигаемых разрядов множителя, триггер значащего бита, первый и второй элементы 2И-ИЛИ,.три элемента И-НЕ, три элемента И, элемент ИЛИ, элемент ИЛИ- НЕ, три элемента НЕ, является введение формирователя адреса, триггера частичных произведений, триггера переноса, третьего элемента 2И-ИЛИ и элемента ИСКЛЮЧАЮЩЕЕ ИЛИ с соответствующими связями. 4 ил.
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (я)л G 06 F 7/52
ГОСУДАРСТВЕННЫЙ КОМИТЕТ
ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ
ПРИ ГКНТ СССР
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (21) 4792593/24 (22) 14.02.90 (46) 15.06.92. Бюл. М 22 (71) Конструкторское бюро электроприборостроения (72) В.П. Шапкин, В.П. Супрун, А.В. Сычев и
Н.Ф. Меховский (53) 681.325(088.8) (56) Авторское свидетельство СССР
N 1290301, кл. G 06 F 7/52, 1985.
Авторское свидетельство СССР
М 1558205, кл. G 06 F 7/52, 1988, (54) УСТРОЙСТВО ДЛЯ УМНОЖЕНИЯ ЧИСЕЛ (57) Изобретение относится к вычислительной технике и может быть использовано при построении арифметических устройств проИзобретение относится к вычислительной технике и предназначено для использования в цифровых вычислительных машинах различного назначения.
Известно устройство для умножения, содержащее счетчик, блок микропрограммного управления, элементы ИЛИ, регистр множителя, регистр результата, сумматор, регистр множимого и соответствующие связи.
Недостатком устройства является отсутствие возможности умножения чисел двойной разрядности (2n) при наличии в устройстве п-разрядного операционного блока, так как отсутствуют для этого аппаратно-микропрограммные средства.
Наиболее близким к предлагаемому является устройство для умножения чисел с фиксированной запятой, содержащее операцион ый блок, регистр адреса, регистр
„„5U„„1741129A1 цессоров. Цель изобретения — расширение функциональных возможностей за счет умножения 2п-разрядных чисел íà и-разрядном оборудовании, Новым в устройстве для умножения чисел, содержащем операционный блок, счетчик циклов, регистр микрокоманд, блок синхронизации, триггер знака, триггер выдвигаемых разрядов множителя, триггер значащего бита, первый и второй элементы 2И-ИЛИ,.три элемента И-НЕ, три элемента И, элемент ИЛИ, элемент ИЛИНЕ, три элемента НЕ, является введение формирователя адреса, триггера частичных произведений, триггера переноса, третьего элемента 2И-ИЛИ и элемента ИСКЛЮЧАЮЩЕЕ ИЛИ с соответствующими связями. 4 ил. микрокоманд, счетчик циклов, блок синхронизации, семь элементов И, четыре элемента НЕ, элемент ИЛИ-НЕ, пять элементов
И-НЕ, два элемента 2И-ИЛИ, триггер коротких тактов, пять элементов ИЛИ, элемент
2И-ИЛИ-НЕ, триггер коррекции результата, триггер округления, триггер выдвигаемых разрядов множителя, триггер анализа значащего бита, триггер знака множимого, триггер блокировки.
Недостатком этого устройства является невозможность умножения чисел двойной разрядности (2п) при и-разрядном операционном блоке.
Цель изобретения — расширение функциональных возможностей за счет умножения 2п-разрядных чисел на..п-.ðàçðÿäíîì оборудовании.
Поставленная цель достигается тем, что в устройство для умножения чисел, содер1741129 жащее счетчик циклов, регистр микрокоманд, элемент ИЛИ, три элемента И-Н Е, три элемента И, три элемента НЕ, элемент ИЛИНЕ, первый и второй элементы 2И-ИЛИ, триггер знака, триггер выдвигаемых разрядов множителя, триггер анализа значащего бита, блок синхронизации и операционный блок, информационные входы и выходы которого соединены соответственно с информационными входами и выходами устройства, входы микрокоманд, пуска и сброса которого соединены соответственно с информационным входом регистра микрокоманд и входами пуска и сброса блока синхронизации, первый выход которого соединен с синхровходом регистра микрокоманд, первый выход которого соединен с первым входом первого элемента И-НЕ, второй вход которого соединен с вторым выходом блока синхронизации, выходы с третьего по пятый которого соединены с соответствующими входами элемента ИЛИ, выход которого соединен с первым входом второго элемента И-НЕ, второй вход которого соединен с вторым выходом регистра микрокоманд, а выход — с входом чтения операционного блока, выход знака которого соединен с информационным входом триггера знака, синхровход которого соединен с выходом третьего элемента И-НЕ, первый вход которого соединен с третьим выходом регистра микрокоманд, а второй вход — с входом первого элемента НЕ и первым входом первого элемента И, второй вход которого соединен с четвертым выходом микрокоманд, а выход — с входом "— 1" счетчика циклов, вход записи которого соединен с выходом первого элемента И-НЕ и входом сброса триггера выдвигаемых разрядов множителя, прямой выход которого соединен с синхровходом триггера анализа значащего бита, информационный вход которого соединен с входом логической единицы устройства, первый выход условия ветвления которого соединен с выходом элемента ИЛИ-НЕ, первый вход которого соединен с выходом переполнения операционного блока, вход синхронизации которого соединен с выходом первого элемента
НЕ, шестой выход блока синхронизации соединен с первым входом второго элемента
И, второй вход которого соединен с пятым выходом регистра микрокоманд, введены формирователь адреса, триггер переноса, триггер частичных произведений, третий элемент 2И-ИЛИ и элемент ИСКЛЮЧАЮЩЕЕ ИЛИ, первый вход которого соединен с выходом триггера частичных произведений, информационный вход которого соединен с выходом младшего разряда
55 информационного выхода операционного. блока, вход переноса которого соединен с выходом первого элемента 2И-ИЛИ, первый вход которого соединен с шестым выходом регистра микрокоманд, седьмой восьмой и девятый выходы которого соединены соответственно с входами "— 1" и "+1", и входом установки нулевого адреса формирователя адреса, вход записи которого соединен с выходом второго элемента И, а информационный вход — с входом адреса устройства, информационный вход которого соединен с информационным входом счетчика циклов, выход которого соединен с вторым входом элемента ИЛИ-НЕ, выход формирователя адреса соединен с адресным входом операционного блока, выход младшего разряда множителя которого соединен с вторым выходом условия ветвления устройства и информационным входом триггера выдвигаемых разрядов множителя, синхровход которого соединен с выходом первого элемента НЕ и синхровходами триггера частичных произведений и триггера переноса, выход которого соединен с третьим входом первого элемента 2И-ИЛИ, второй вход которого соединен с десятым выходом регистра микрокоманд, одиннадцатый выход Ко торого соединен с первым входом второго элемента 2И-ИЛИ и входом второго элемента НЕ, выход которого соединен с четвертым входом второго элемента 2И-ИЛИ, второй и третий входы которого соединены соответственно с выходами триггера знака и триггера анализа значащего бита, вход сброса которого соединен с двенадцатым выходом регистра микрокоманд, тринадцатый выход которого соединен с первым входом третьего элемента И, второй вход и выход которого соединены соответственно с выходом элемента ИЛИ и входом первого элемента НЕ, первый вход сдвига операционного блока соединен с выходом второго элемента 2И-ИЛИ, пятый вход которого соединен с выходом элемента ИСКЛЮЧАЮЩЕЕ ИЛИ, второй вход которого соединен с информационным входом триггера переноса и выходом переноса операционного блока, второй вход сдвига которого соединен с выходом третьего элемента 2И-ИЛИ, первый вход которого соединен с четырнадцатым выходом регистра микрокоманд, пятнадцатый выход которого соединен со вторым входом третьего элемента 2И-ИЛИ и входом третьего элемента НЕ, выход которого соединен с третьим входом первого элемента И.третьего элемента 2И-ИЛИ, четвертый вход которого соединен с инверс.ным выходом триггера выдвигаемых разрядов множителя, шестнадцатый выход
1741129
10
20
55 регистра микрокоманд соединен с входом микроопераций операционного блока, вход частоты блока синхронизации соединен с входом частоты устройства.
На фиг. 1 и 2 представлена функциональная схема устройства; на фиг. 3 — алгоритм работы устройства; на фиг. 4— временная диаграмма циклической части умножения.
Устройство содержит операционный блок (ОБ) 1, формирователь 2 адреса, счетчик 3 циклов, регистр 4 микрокоманд (PMK), блок 5 синхронизации, триггер 6 знака, триггер 7 множителя, триггер 8 значащего бита, триггер 9 частичных произведений, триггер 10 переноса, второй 11, первый 12 и третий 13 элементы 2И-ИЛИ, второй 14, первый 15 и третий 16 элементы И-Н Е, третий 17, второй 18 и первый 19 элементы И, элемент ИЛИ 20, элемент ИЛИ-НЕ 21, первый 22 и второй 23 элементы НЕ, элемент
ИСКЛЮЧАЮЩЕЕ ИЛИ 24 и третий элемент
НЕ 25, информационные выходы 26 устройства, которые являются информационными выходами ОБ 1, вход 27 адреса устройства, который является информационным входом формирователя 2 адреса, входы 28 микрокоманд устройства, которые являются информационными входами регистра 4 микрокоманд, первый выход 29 условия ветвления устройства, который является выходом элемента ИЛИ-HE 21, вход 30 частоты устройства, который является входом частоты блока 5 синхронизации, вход 31 сброса устройства, который является входом сброса блока 5 синхронизации, вход 32 пуска устройства, который является входом пуска блока 5 синхронизации второй выход33 ветвления устройства, который является выходом младшего разряда множителя ОБ 1, информационные входы 34 устройства, которые являются информационными входами ОБ 1 и счетчика 3 цикла. Первый выход блока 5 синхронизации соединен с синхровходом регистра 4 микрокоманд, первый выход которого соединен с первым входом первого элемента И-НЕ 15, второй вход которого соединен с вторым выходом блока 5 синхронизации, выходы с третьего по пятый которого соединены с соответствующими входами элемента ИЛИ 20, выход которого соединен с первым входом второго элемента И-НЕ 14, второй вход которого соединен с вторым выходом регистра 4 микрокоманд, а выход — с входом чтения ОБ 1, выход знака которого соединен с информационным входом триггера 6 знака, синхровход которого соединен с выходом третьего элемента ИНЕ 17, первый вход которого соединен с третьим выходом регистра 4 микрокоманд, а второй вход — с входом первого элемента
НЕ 22 и первым входом первого элемента
И, второй вход которого соединен с четвертым выходом регистра 4 микрокоманд, а выход — с входом "— 1" счетчика 3 циклов, вход записи которого соединен с выходом первого элемента И-НЕ 15 и входом сброса триггера 7 выдвигаемых разрядов множителя, прямой выход которого соединен с синхровходом триггера 8 анализа значащего бита, информационный вход которого соединен с входом логической единицы устройства, первый выход 29 условия ветвления которого соединен с выходом элемента
ИЛ lfl-HE 21, первый вход которого соединен с выходом переполнения ОБ 1, вход синхронизации которого соединен с выходом первого элемента НЕ 22, шестой выход блока 5 синхронизации соединен с первым входом второго элемента И 18, второй вход которого соединен с пятым выходом регистра 4 микрокоманд, первый вход элемента ИСКЛЮЧАЮЩЕЕ ИЛИ 24 соединен с выходом триггера 9 частичных произведений, информационный вход которого соединен с выходом младшего разряда информационного выхода операционного блока 1, вход переноса которого соединен с выходом первого элемента 2И-ИЛИ 12, первый вход которого соединен с шестым выходом регистра 4 микрокоманд, седьмой, восьмой и девятый выходы которого соединены с соответствующими входами "— 1", "+1" и входом установки нулевого адреса формирователя 2 адреса, вход записи которого соединен с выходом второго элемента И 18, а информационный вход — с входом 27 адреса устройства, информационный вход 34 которого соединен с информационным входом счетчика 3 циклов, выход которого соединен с вторым входом элемента ИЛИ-НЕ 21, выход формирователя 2 адреса соединен с адресным входом операционного блока 1, выход младшего разряда множителя которого соединен с вторым выходом 33 условия ветвления устройства и информационным входом триггера 7 выдвигаемых разрядов множителя, синхровход которого соединен с выходом первого элемента НЕ 22 и синхровходами триггера 9 частичных произведений и триггера 10 переноса, выход которого соединен с третьим входом первого элемента 2И-ИЛИ 12, второй вход которого соединен с десятым выходом регистра 4 микрокоманд, одиннадцатый выход которого соединен с первым входом второго элемента 2И-ИЛИ 11 и входом второго элемента НЕ 23, выход которого соединен с четвертым входом второго элемента 2ИИЛИ 11, второй и третий входы .которого
1741129
55 соединены соответственно с выходами триггера 6 знака и триггера 8 анализа значащего бита, вход сброса которого соединен с двенадцатым выходом регистра 4 микрокоманд, тринадцатый выход которого соединен с первым входом третьего элемента И 17, второй вход и выход которого соединены соответственно с выходом элемента
ИЛИ 20 и входом первого элемента НЕ 22, первый вход сдвига ОБ 1 соединен с выходом второго элемента 2И-ИЛИ 11, пятый вход которого соединен с выходом элемента
ИСКЛЮЧАЮЩЕЕ ИЛИ 24, второй вход которого соединен с информационным входом триггера 10 переноса и выходом переноса ОБ 1, второй вход сдвига которого соединен с выходом третьего элемента 2ИИЛИ 13, первый вход которого соединен с четырнадцатым входом регистра 4 микрокоманд, пятнадцатый выход которого соединен с вторым входом третьего элемента
2И-ИЛИ 13 и входом третьего элемента НЕ
25, выход которого соединен с третьим входом третьего элемента 2И-ИЛИ 13, четвертый вход которого соединен с инверсным выходом триггера 7 выдвигаемых разрядов множителя, шестнадцатый выход регистра
4 микрокоманд соединен с входом микроопераций операционного блока 1, вход частоты блока синхронизации соединен с входом 30 частоты устройства, Устройство работает следующим образом.
После подачи сигналов на входы сброса и пуска устройства блок 3 синхронизации формирует на выходах восемь тактов (см. фиг, 3). В каждом цикле выполняется микрокоманда, соответствующая содержимому блоков 1 — 16 (фиг, 2). Перед выполнением умножения двойной разрядности слова в регистры общего назначения (POH) ОБ 1 заносятся: в POH поля Rz — старшая часть множителя, в POH поля Rz+1 — младшая часть множителя; в POH поля R1 — старшая часть множимого; в POH поля R<+1 — младшая часть множимого.
В первом цикле младшая часть множителя переписывается из POH Rz+> в регистр сдвига ОБ 1. На входы управления ОБ 1 поступают соответствующие микрокоманды из РМК 4. На вход синхронизации ОБ 1 поступает сигнал (Т) с выхода первого элемента НЕ 22, во время которого и происходит выполнение микрокоманды.
Во втором цикле в триггер знака записывается знак множимого. В третьем цикле обнуляется регистр младшей части частичных произведений (универсальный регистр
1 (УР1 ОБ 1)).
В четвертом цикле обнуляется регистр старшей части и частичных произведений (YPo ОБ 1) и выполняется первый сдвиг младшей части множителя вправо.
Выдвинутый разряд множителя заносится в триггер множителя.-В счетчик 8 цикла записывается число циклов умножения множимого на младшую часть множителя и сбрасывается триггер 7 множителя, B этом же цикле сбрасывается триггер 8 значащего бита.
В пятом цикле выполняется накопление частичных произведений в регистре младшей части частичных произведений (сложение содержимого УР с содержимым регистра младшей части множимого, если младший разряд множителя равен "1" (триггер 7 множителя взведен), или сложение содержимого УР с нулем, если младший разряд мно>кителя равен "0" (триггер 7 множителя сброшен). В этом же цикле выполняется сдвиг содержимого УР вправо. Причем на вход старшего разряда УР ОБ 1 при сдвиге поступает результат суммы по 2 сигнала на выходе триггера 9 частичных произведений и сигнала на выходе "Перенос" ОБ
B шестом цикле выполняется накопление частичных произведений в регистре старшей части частичных произведений (УРо), сдвиг вправо регистра сдвига ОБ 1.
На вход старшего разряда УРо ОБ 1 при сдвиге поступает сигнал с выхода триггера знака или "0", если первый значащий бит в множителе еще не появился, На вход "Перенос" ОБ 1 при суммировании поступает сигнал с выхода триггера знака или "0", если первый значащий бит в множителе еще не появился. На вход "Перенос" ОБ 1 при суммировании поступает сигнал с выхода триггера 10 переноса. В шестом цикле выполняется вычитание единицы из счетчика 3 цикла и анализ "0" счетчика 3 цикла, После окончания циклической части умножения в седьмом цикле из регистра старшей части множителя ОБ 1 в регистр сдвига ОБ
1 переписывается старшая часть множителя.
В восьмом цикле выполняется сдвиг старшей части множителя вправо с записью младшего разряда в триггер 7 множителя, Содержимое регистра старшей части в дальнейшем не используется. В счетчик 3 циклов заносится число циклов умножения на старшую часть множителя (и/2 — 2), Девятый и десятый циклы аналогичны соответственно пятому и шестому циклам, В одиннадцатом и двенадцатом циклах выполняется умно>кение на последний значащий разряд множителя и анализ знака
1741129 множителя. Если знак равен "0", то умножение заканчивается. В УР1 ОБ 1 находится младшая часть результата умножения. В
УРо ОБ 1 находится старшая часть результата умножения. Если знак множителя равен
"1", то в тринадцатом и четырнадцатом блоках выполняется соответственно вычитание содержимого УР1 и младшей части множимого и содержимого УРо и старшей части множимого, В четырнадцатом цикле анализируется значение сигнала на выходе "Переполнение" ОБ 1. Если переполнение разрядной сетки не было, то умножение заканчивается.
Если возникло переполнение разрядной сетки, то это значит, что множимое и множитель были равны "— 1" (1,000...0), Поэтому в пятнадцатом и шестнадцатом циклах выполняется инверсия младшей и старшей части содержимого регистра множимого с записью результата в УР1 и УРо.
Формула изобретения
Устройство для умножения чисел, содержащее счетчик циклов, регистр микрокоманд, элемент ИЛИ, три элемента И-НЕ, три элемента И, три элемента НЕ, элемент ИЛИН Е, первый и второй элементы 2И-ИЛИ, триггер знака, триггер выдвигаемых разрядов множителя, триггер анализа значащего бита, блок синхронизации и операционный блок, информационные входы и выходы которого соединены соответственно с информационными входами и выходами устройства, входы микрокоманд, пуска и сброса которого соединены соответственно с информационным входом регистра микрокоманд и входами пуска и сброса блока синхронизации, первый выход которого соединен с синхровходом регистра микрокоманд, первый выход которого соединен с первым входом первого элемента И-НЕ, второй вход которого соединен с вторым выходом синхронизации, выходы с третьего по пятый которого соединен ы с соответствующими входами элемента ИЛИ, выход которого соединен с первым входом второго элемента И-НЕ, второй вход которого соединен с вторым выходом регистра микрокоманд, а выход — с входом чтения операционного блока, выход знака которого соединен с информационным входом триггера знака, синхровход которого соединен с выходом третьего элемента И-НЕ, первый вход которого соединен с третьим выходом регистра микрокоманд, а второй вход — c входом первого элемента НЕ и первым входом первого элемента И, второй вход которого соединен с четвертым выходом микрокоманд, а выход — с входом "— 1" счетчика циклов, вход записи которого соединен
10
35 1", "+1", и входом установки нулевого
50 с выходом первого элемента И-НЕ и входом сброса триггера выдвигаемых разрядов множителя, прямой выход которого соединен с синхровходом триггера анализа значащего бита, информационный вход которого соединен с входом логической единицы устройства, первый выход условия ветвления которого соединен с выходом элемента ИЛИ-НЕ, первый вход которого соединен с выходом переполнения операционного блока, вход синхронизации которого соединен с выходом первого элемента
НЕ, шестой выход блока синхронизации соединен с первым входом второго элемента
И, второй вход которого соединен с пятым выходом регистра микрокоманд, о т л и ч аю щ е е с я тем, что, с целью расширения функциональных возможностей за счет умножения 2 и-разрядных чисел на и-разрядном оборудовании, в него введены формирователь адреса, триггер переноса, триггер частичных произведений, третий элемент 2И-ИЛИ и элемент ИСКЛЮЧАЮЩЕЕ ИЛИ, первый вход KQTOpol0 coåäèíåí с выходом триггера частичных произведений, информационный вход которого соединен с выходом младшего разряда информационного выхода операционного блока, вход переноса которого соединен с выходом элемента 2И-ИЛИ, первый вход первого элемента И которого соединен с шестым выходом регистра микрокоманд, седьмой, восьмой и девятый выходы которого соединены соответственно с входами "— адреса формирователя адреса, вход записи которого соединен с выходом второго эле.— мента И, а информационный вход — с входом адреса устройства, информационный вход которого соединен с информационным входом счетчика циклов, выход которого соединен с вторым входом элемента ИЛИ-НЕ, выход формирователя адреса соединен с адресным входом операционного блока, выход младшего разряда множителя которого соединен с вторым выходом условия ветвления устройства и информационным входом триггера выдвигаемых разрядов множителя, синхровход которого соединен с выходом первого элемента НЕ и синхровходами триггера частичных произведений и триггера переноса, выход которого соединен с первым входом второго элемента И первого элемента 2И-ИЛИ, второй вход второго элемента И которого соединен с десятым выходом регистра микрокоманд, одиннадцатый выход которого соединен с первым входом первого элемента И второго элемента 2ИИЛИ и входом второго элемента НЕ, выход которого соединен с первым входом второго
1741129
12 элемента И второго элемента 2И-ИЛИ, второй и третий входы второго элемента И которого соединены соответственно с выходами триггера знака и триггера анализа значащего бита, вход сброса которого 5 соединен с двенадцатым выходом регистра микрокоманд, тринадцатый выход которого соединен с первым входом третьего элемента И, второй вход и выход которого соединены соответственно с выходом эле- 10 мента ИЛИ и входом первого элемента НЕ, первый вход сдвига операционного блока соединен с выходом второго элемента 2ИИЛИ, второй вход первого элемента И которого соединен с выходом элемента 15
ИСКЛЮЧАЮЩЕЕ ИЛИ, второй вход которого соединен с информационным входом триггера переноса и выходом переноса операционного блока, второй вход сдвига которого соединен с выходом третьего элемента 2И-ИЛИ, первый вход первого элемента И которого соединен с четырнадцатым выходом регистра микрокоманд, пятнадцатый выход которого соединен с первым входом второго элемента И третьего элемента 2И-ИЛИ и входом третьего элемента НЕ, выход которого соединен с вторым входом первого элемента И третьего элемента 2И-ИЛИ, второй вход второго элемента И которого соединен с инверсным выходом триггера выдвигаемых разрядов множителя, шестнадцатый выход регистра микрокоманд соединен с входом микроопераций операционного блока, вход частоты блока синхронизации соединен с входом частоты устройства.
1741129
1741129
С !!
11 ГЪ I.
%> !!
fl Ч.
СС)» 1 ф
1741129
Составитель В,Шапкин
Редактор Л.Лчолинская Техред М,Моргентал Корректор В.Гирняк
Заказ 2086 Тираж Подписное
ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР
113035, Москва, Ж-35, Раушская наб., 4/5
Производственно-издательский комбинат "Патент", r, Ужгород, ул.Гагарина, 101