Устройство для умножения десятичных чисел
Иллюстрации
Показать всеРеферат
УСТРОЙСТВО ДЛЯ УМНОЖЕНИЯ ДЕСЯТИЧНЫХ ЧИСЕЛ, содержащее регистры , множимого, множителя и результата, множительный блок, блок суммирования , блок преобразования двоичного кода результата в десятичныйи блок приведения десятичных переносов, отличающе.еся тем, что, с .целью повышения быстродействия, в него введены блок формирования переносов, блок записи реэультатов и блок выборки байтов, причем блок выборки байтов содержит счетчики выборки байтов множимого, множителя и частичного произведения, коммутаторы байтов множимого,.множителя и частичных произведений, регистры кодов множимого, множителя и частичных произведений, триггер, три группы элементов rf и регистрк цифр множимого, множителя и частичных произведений множительный блок содержит умножители десятко р и единиц, р1агистры единиц и десятков,регистры, переносов единиц, десятков и сотен и регистры единиц и десятков частич-: ного произведения, блок суммирования содержит трехвходовые сумматоры . единиц и десятков, регистры суммы единиц, десятков и сотен и регис -ры переносов единиц и десятков, блоА формирования переносов содержит двухвходовые сумматоры приведения пере .носов единиц и десятков, узлы формирования переносов соте.,н и десятков, регистры суммы единиц и десятков, ре гистры переносов единиц и десятков, регистры десятичного переноса единиц, десятков и сотен, блок преобразования двоичного кода результата в десятичный содержит преобразователи двоичного кода единиц и десятков в десятичный , формирователи десятичных переносов десятков и сотен, регистры суммы единиц и десятков, регистры десятичного переноса единиц, десятков и со (Л тен, бл.окприведения десятичных переносов содержит сумматоры приведения с десятичных переносов единиц и десятков и регистр результата, а блок записи результата содержит счетчик записи байтов результата и группу элементов И, выходы которых соединены с входом регистра результата, Ob выходы регистров множимого, множиto теля и результата соединены соответел ственно с информационными входами коммутаторов множимого, множителя и частичных произведений блока выборзки байтов, управляющие входы которых соединены соответственно с информационными выходами счетчиков выборки байтов множимого,множителя . и частичных произведений блока выборки байтов,выходы сброса которых, кроме выхода сброса счетчика выборки байтов множимого, соединены соответственно с первыми входами элементов И, первой и второй групп блока выборки байтов, выход сброса счетчика выборки байтов множимого блока выбор
СОЮЗ COBETCHHX
СССР
РЕСПУБЛИН (я.)а G 06 F 7 52
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К АВ 1 ОРСКОМУ СВИДЕТЕЛЬСТВУ
1 ОСУДФРСТВЕННЫЙ НОМИТЕТ СССР
flO 4ЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3730019/24-24 (22) 27.04.84 (46) 30 99.85 Бюл У 36 (72) М.В.Тяпкин, М.А.Головина, В.А. Баканова и И.В.Волкова (53) 681.325(088,8) (56) Электронная вычислительная машина ЕС-1050. - М.: Статистика,1976.
Авторское свидетельство СССР
В 468239, кл. С 06 F 7/52, 1975.
Р (54) (57) УСТРОЙСТВО ДЛЯ УМНОЖЕНИЯ
ДЕСЯТИЧНЫХ ЧИСЕЛ, содержащее регистры.множимого, множителя и результата, множительный блок, блок суммирования, блок преобразования двоичного кода результата в десятичный и блок приведения десятичных переносов, о т л и ч а ю щ е .е с я тем, что, с целью повышения быстродействия, в него введены блок формирования переносов, блок записи результатов и блок выборки байтов, причем блок выборки байтов содержит счетчики выборки байтов множимого, множителя и частичного произведения, коммутаторы байтов множимого,.множителя и частичных произведений, регистры кодов множимого., множителя и частичных произведений, триггер, три группы элементов И и регистры цифр множимого, множителя и частичных произведений, множительный блок со.держит умножители десяткор и единиц, рвгистры единиц и десятков, регистры, переносов единиц, десятков и сотен и регистры единиц и десятков частич ного произведения, блок суммирования содержит трехвходовые сумматоры единиц и десятков, регистры суммы единиц, десятков и сотен и регистры
„„SU„„182514 переносов единиц и десятков, блок формирования переносов содержит двухвходовые сумматоры приведения. переносов единиц и десятков, узлы формирования перЕносов сотен и десятков, регистры суммы единиц и десятков, регистры переносов единиц и десятков, 4 регистры десятичного переноса единиц, десятков и ñотен, блок преобразования двоичного кода результата в десятичный содержит преобразователи двоичного кода единиц и десятков в десятичный, формирователи десятичных переносов десятков и сотен, регистры суммы единиц и десятков, регистры десятичного переноса единиц, десятков и сотен, блок. приведения десятичных переносов содержит сумматоры приведения десятичных переносов единиц и десятков и регистр результата, а блок
E записи результата содержит счетчик записи байтов результата и группу элементов И, выходы которых соединены с входом регистра результата, выходы регистров множимого, множителя и реэультата Lîåäèíåíû соответственно с информационными входами коммутаторов множимого, множителя и частичных г.роизведений блока 1 выборки байтов, управляющие входы которых соединены соответственно с информационными.выходами счетчиков выборки байтов множимого,множителя: и частичных произведений блока выборки байтов, выходы сброса которых, кроме выхода сброса счетчика выборки байтов множимого, соединены соответственно с первыми входами элементов
И, первой и второй групп блока выборки байтов, выход сброса счетчика выборки байтов множимого блока, выбор1182514 кч байтов соединен с входом установки триггера блока выборки байтов, выход которого соединен с первыми входами. злементов И. третьей группы блока выборки байтов, вторые входы элементов И первой, второй и третьей групп блока выборки байтов соединены соответственно с выходами регистров кодов множителя частичных произведе) ний и множимого блока выборки байтов, а выходы — « входами регистров цифр множителя, частичных произведений и множимого блока выборки байтов, выходы старшей и младшей цифр регистра цифр множимого блока. выборки байтов «îåäèíåíû соответственно с первыми входами умножителей единиц и десятков множительного блока, вторые входы которых соединены с, выходом регистра цифр множителя блока выборки байтов, выходы старшей и младшч и цифр регистра цифр частичного произведения которого соединены соответственно с входами регистров десятков и единиц частичного произведения множительного блока, первый выход
1 умножителя десятков. которого соединен с входом регистра переносов сотен множительного блока, выход которого соединен с входом регистра суммы сотен блока суммирования, выход которого соединен с входом регистра переносов единиц множительного блока, второй выход умножителя десятков которого соединен с входом регистра десятков множительного блока, вход регистра переносов десятков котороI го соединен с. первым выходом умножителя единиц множительного блока, второй выход которого соединен с входом регистра единиц множительного блока, выходы регистров единиц, переносов единиц и единиц частичного произведения которого соединены соответственно с входами трехвходового сумматора единиц блока суммирования, входы трехвходового сумматора десятков которого соединены соответственно с выходами регистров десятков; переносов десятков и десятков частичного произведения множительного блока,- выходы суммы трехвходовых сумматоров единиц и десятков блока суммирования соединены соответственно с входами регистров суммы единиц и десятков блока .суммирования, входы регистров переносов единиц и десятков которого соединены соответственно с выходами переноса трехвходовых сумматоров единиц и десятков блока суммирования, выходы регистров «уммы десятков и единиц которого соединены соответственно с-первыми входами узла формирования переносов сотен и двухвходового сумматора приведения переносов десятков и узла формирования переносов десятков и двухвходового сумматора приведения переносов единиц блока формирования переносов, вторые вхоДы которых соединены соответственно « выходами регистров переносов десятков и единиц блока суммирования, выходы узлов формировае ния переносов сотен и десятков блока формирования переносов соединены соответственно с входами регистров десятичного переноса сотен и десятков блока формирования переносов, выход регистра переноса сотен которого соединен с первым входом преоб- разователя двоичного кода десятков в десятичный и входом регистра десятичного переноса сотен блока преобразования двоичного кода результата в десятичный, второй и третий входы преобразователя двоичного кода десятков в десятичный которогб «оединены соответственно с выходами регистров переносов и суммы десятков блока формирования переносов, входы которых соединены .соответственно с выходами переноса и суммы двухвходового сумматора приведения переносов десятков блока формирования переносов выход узла формирования переносов десятков которого соединен с входом регистра десятичного переноса блока формирования переносов, выход коТорого соединен с первыми входами преобразователя двоичного кода единиц в десятичный и формирователя десятичного переноса десятков блока преобразования двоичного кода результата в десятичный, вторые входы которых соединены « выходом регистра суммы единиц блока формирования переносов, вход которого соединен с выходом суммы двухвходового сумматора приведения переносов единиц блока формирования переносов, выход переноса которого соединен с входом регистра переносов единиц блока формирования переносов, выход которого соединен с третьим входом преобразователя двоичного кода единиц в десятичный блока преобразования
1182514
25 двоичного кода результата в десятичный, третий вход формирователя десятичного переноса десятков и вход регистра десятичного переноса единиц которого соединены с выходом регистра десятичного переноса единиц блока формирования переносов, вход которого соединен с. выходом формирователя десятичного переноса сотен блока преобразования двоичного кода результата в десятичный, первый вход которого соединен с выходом регистра десятичного переноса сотен блока преобразования двоичного кода резуль;тата в десятичный, а второй и третий входы — с входами сумматора приведения десятичных переносов десятков блока приведения десятичных переносов и выходами регистров суммы и десятичйого переноса десятков блока преобразования двоичного кода результата в десятичный соответственно,, входы которых соединены соответстенно с выходами преобразователей двоич1
Изобретение относится к вычислительной технике.
Целью изобретения является повышение быстродействия.
На чертеже представлена блок-схема устройства для умножения десятичных чисел.
Устройство содержит регистры множимого 1, множителя 2, результата
3, блок 4 выборки байтов, множительный блок 5, блок 6 суммирования, блок 7 формирования переносов, блок
8 преобразования двоичного кода результата в десятичный, блок 9 приведения десятичных переносов, блок
10 записи результата.
Блок 4 выборки байтов содержит счетчики выборки байтов множимого
11, множителя 12 и частичного йроизведения 13, коммутаторы байтов множимого 14, множителя 15 и частичного произведения 16, регистры кодов множимого 1.7, множителя 18 и частичных произведений 19, триггер 20, трн группы элементов И 21
23, регистры цифр множимого 24, 5
20 ного кода десятков и переносов в десятичный блока преобразования двоичного кода результата в.десятичный,выход преобразователя двоичного кода единиц в десятичный которого соединен с входом регистра суммы единиц блока преобразования двоичного кода результата в десятичный, выходы регистров суммы и десятичного переноса единиц которого соединены
ñ входами сумматора приведения десятичного переноса единиц блока приведения десятичных переносов, выходы сумматоров приведения десятичных переносов единиц и десятков которого соединены соответственно с входами младшей и старшей тетрад регистра результата блока приведения десятичных переносов, выход которого соединен с. первыми входами элементов И группы блока записи результата, вторые входыкоторых соединены с выходом счетчика записи байтов результата блока записи результата.
2 множителя 25 и частичных произведений 26.
Множительный блок 5 содержит умножители десятков 27 и единиц 28, регистры единиц 29 и десятков 30, регистры переносов единиц 31, десятков 32 и сотен 33, регистры единиц
34 и десятков 35 частичного произведения.
Блок 6 суммирования содержит
0 трехвходовые сумматоры единиц 36 и десятков 37, регистры суммы единиц 38, десятков 39 и сотен 40, регистры переносов единиц 41 и десятков 42.
Блок 7 формирования переносов содержит двухвходовые сумматоры приведения переносов единиц 43 и десятков 44, узлы формирования пере-, носов сотен 45 и десятков 46, регистры суммы единиц 47 и десятков 48, регистры переносов единиц 49 и десятков 50, регистры десятичного переноса единиц 51, десятков 52 и сотен
53.
Блок 8 преобразования двоичного кода результата в десятичный содер1182514 жит преобразователи двоичного кода единиц 54 и десятков 55 в десятичный, формирователи десятиЧных переносов десятков 56 и сотен 57, регистры суммы единиц 58 и десятков
59, регистры десятичного переноса единиц 60, десятков 61 и Lîòåí 62.
Блок 9 приведения десятичных переносов содержит сумматоры десятичных переносов единиц о3 и десятков 64, регистр 65 результата.
Блок 10 записи результата содержит счетчик 66 записи ба..тов результата и группу элементов И 67.
Умножение проводится последовательно. Каждый такт на входы умножителей поступает следующий байт множимого, Пропускная способность устройства — байт за такт — достигается благодаря умножителям, дающим сразу на вход блока 6 суммирования произведения двух десятичных цифр множимого на десятичную цифру множителя (две цифры произведения и две цифры переноса в следующий. десятичный разряд), Счетчик 11 выборки байтов множимого — трехразрядный, байты в нем выбираются последовательно, начиная с правого (пятого). Ч начале каждого цикла на счетчик заносится код "5".
|Счетчик работает в режиме счета от
5 до 0 и имеет шесть позиционных выходов, каждый из которых представляет собой триггер,.
Счетчик 12 выборки байтов множителя — четырехразрядный. Три старших разряда управляют выборкой байта множителя аналогично счетчику 11, а младший разряд выбирает цифру в байте
Выборка каждой цифры сопровождается вычитанием 1 иэ кода счетчика 12.
Счетчик 13 выборки байтов часточного произведения имеет конструкцию и работает аналогично счетчику 11, Коммутаторы байтов множимого 14, множителя 15 и частичных произведений 16 состоят каждый иэ шести групп вентилей (по 8 вентилей в каждой группе
Регистры кодов множимого 17, множителя 18, частичных произведений
19 предназначены для хранения кода на этих регистрах до переключения счетчиков выборки байтов.
Группа элементов И 21 предназначена для прямой передачи байта и со сдвигом вправо на одну десятичную цифру множимого.
Триггер 20 служит как признак сдвига, который перебрасывается каждый раэ после обнуления счетчика 11.
Группы элементов И 22 и 23 предназначены для прямой передачи кодов множителя и частичных произведений соответственно, 10 Регистр цифр множимого 24 — восьмиразрядный и предназначен для передачи последовательности из двух деLÿòè÷íûõ цифр со сдвигом на одну цифру.
Регистр цифр множителя 25— четырехразрядный и предназначен для передачи по одной десятичной цифре множителя с, регистра 18.
Регистр частичных произведений
20 26 аналогичен регистру 24.
Умножители 27 и 28 построены на комбинационных схемах,на выходах . которых сразу образуется десятичный код произведения двух цифр мноя5 жимого на одну цифру множителя и которые выполнены по принципу перебора всевозможных сочетаний цифр множимого и множителя.
Регистр переносов единиц .31 предназначен для передачи десятичного переноса из предыдущего байта.
Регистры переносов десятков 32 и сотен 33 предназначены для передачи десятичных переносов с умножи35 телей 28 и 29 соответственно.
Трехвходовые сумматоры единиц
36 и десятков 37 служат для образо- . вания двоичной суммы в двухрядном ( коде, которая помещается на соот40 ветствующие регистры суммы и регистры переносов.
Узлы формирования переносов сотен
45 и десятков 46 представляет собой логические схемы, которые аналиэи45 руют коды на регистрах суммы 38, 39 и переноса 41, 42. Если код,на выходе .регистров ) 10, то возникают признаки переноса на регистрах 52, 53 в следующий десятичный разряд.
На вход 1-ro разряда регистра 52 подключен 12-входовой элемент ИЛИ, объединяющий 12 элементов И, на входы которых подключены выходы ре- . гистров 38 и 41 в соответствии с .табл. 1. Если код на выходе регист55 ров ) 20, то подключения по 2-му разряду регистра 52 происходит в соответствии с табл, 2, 1182514
Та блица 1
Разряды регистра 38 яды регистра 41
Раз
Схемы
4 3 2
Х Х
Х Х Х
1 0 Х
Х Х
1 Х
Х Х Х
Х
Х Х
Х Х . Х
0 1
Х 0
10
0 0
1 1 Х
Таблица 2
Разряды регистра 41 Разряды регистра
Схемы
1 I
Х
Х Х Х! ° Х Х
1 Х
Ф
Х
1 Х
Х Х
1
0 0
1 Х
1 Х
0 0
0 0
0 0
0 0
0 0
1
0 1
0 1
0 0
1 0 0 0 Х
1 Х Х
Х Х Х
Х . 1
Х 0
1 0
Х 0
1 0
Х 1
1 1
1 1
1182514
Таблица 3
Разряды. регистра. 33
Разряды регистра 35
Схемы
5 4 3 2 4 3 2 1
О 0 Х
0 О
1 1 0 Х
0! 0 Х
/ 3
0
О
О
О
О
О
0
10
О
О
О
Знак Х в разрядах регистров 38 и
41 означает, что для данной схемы
И допустим любой код в этих разрядах, т.е, выходы этих разрядов к схеме И не подключаются.
На входы регистра десятичного переноса сотен 53 подключены аналогично табл. 1 и 2 схемы И вЂ” ИЛИ,. объединяющие коды с, регистров 39 и 42.
Регистры 47 и 48 — четырехразрядные, младшие три разряда которых содержат двоичный код, полу ченный в результате приведения
Регистры переноса 51, 52 и 53 и представляют собой двухраэряд. ные регистры . Так как при сложении трех десятичных цифр сумма не может. превышать 27, то перенос в следующий десятичный разряд может быть либо 1, либо 2.
Преобразователь.54 двоичного кода единиц в десятичный представ— ляет собой схему, которая из при° веденного кода двоичной суммы вычипереносов младших трех разрядов регистров 38, 41 и 39, 42 ° Четвертый разряд регистров 47 и 48 получен в результате полного приведения кодов регистров 38, 41 и 39, 42 и содержит "1", если окончательный результат равен 8 или 9 и формируется нестандартной частью сумма10 торов приведения 43 и .44, которая представляет собой 12 входовой элемент ИЛИ, объединяющий 12 элементов И, на входы которых поданы выходы регистров 38, 41 и 39, 42
15 в соответствии с табл, 3.
1 Х
О Х
О Х
1 Х
1 Х
0 Х
1 Х
1 . Х
0 Х тает 10 или 20, если был признак переноса в следующий двоичный разряд,т.е. на регистре 52 бып код 01 или 1Х.
Преобразователь 55 аналогичен преобразователю единиц 54.
На четерыхразрядных регистрах
58 н 59 образуется десятичный код пары цифр.
Формирователь десятичного переноса десятков 56 схема учитывает
1182514 и пришел перенос из предыдущего де. сятичного разряда, и работает в соответствии с табл. 4.
Т а блица 4
Выходы регистра
Разряды регистров
Схемы
47
52
Х 0
1 0
3, 0
Х
2р
Х
Регистр результата 65 предназначен для хранения результата, причемм младшая цифр а р е з ульт ата (еди35 ницы) помещается в правую тетраду регистра 65, старшая цифра (десятки) — в левую тетраду регистра.
Счетчик записи байтов результага 66 аналогичен счетчикам выборки
40 байтов 11, 12.и 13.
Т а б л и ц а 5
Разряды регистра 51
Разряды регистра 56
Вход регистраа
Схемы
1р
Х
2р
Х
Х
0 возможность возникновения десятичного переноса в случае, если на регистре 47 была цифра 8 или 9
Формирователь 57 аналогичен формирователю 56.
Сумматоры 63 и 64 построены на диодных схемах, на выходе которых может быть код от 0 до 9.
Сумматор приведения десятичных переносов единиц 63 представлен в виде табл. 5. Сумматор 64 имеет такую же схему.
1 0
0 0
Х 1
1 . 0
Х 0
0 0
1 0
Х 1
Х 0
1 0
1182514
Продолжение табл.5
P-зряды регистра 56
Разряды регистра 51
Схемы
Вход регистра
О
Зр
Х
Х
Х 1
4р
1 Х
О. 0
К - О
Устройство работает следующим образом.
Начиная с младшего (пятого) байта множимое и множитель с регистров
1 и 2 выбирают на соответствующие регистры 17 и 18 и затем байт множимого помещается на восьмираэрядный регистр 24. Каждый такт выбирается один байт множимого.
Цифра (тетрада) множителя помещается на регистр 17 и хранится там, пока все байты множимого не будут. помножены на эту цифру. Затем выбирается следующая цифра из этого байта 4О и процедура повторяется. После умножения на две цифры множителя счетчик выборки 12 переключается на новый байт.
Старшая цифра (тетрада) множимого 45
24 поступает на вход умножителя десятков 27, а младшая — на вход умножителя единиц 28. Цифра (тетрада) множителя поступает на входы обоих умножителей. Полученное на выходе умножителей 27 и 28 произведение суммируется с помощью трехвходовых сумматоров 36 и 37 с соответствующим десятичным разрядом частичного произведения и с переносом из предыдущего десятичного разряда.
Полусумма и перенос с выхода блока суммирования ноступают на! вход блока формирования десятичных переносов, где с помощью сумматоров
43 и 44 производится частичное приведение двоичных переносов.
Одновременно производится анализ результата на выходе блока суммирования. Если результат больше или равен 10, возникает признак перено- са в следующий десятичный разряд и на регистрах 52 и 53 записывается код 01 (для 10) или 10 (для двадцати)..
Полученный на выходе блока7 результат преобразуется в десятичный код в блоке 8. Если был признак десятичного переноса в десятки, то преобразователь единиц 54 производит вычитание кода 10 или 20 из приведенной суммы единиц, а преобразователь десятков 55 вычитает 10 или
20 иэ суммы десятков, если был признак переноса сотен на регистре 53.
Преобразованная в десятичный код сумма складывается с десятичным переносом из предыдущего разряда в блоке 9.
Сумматор 63 складывает код регистра суммы единиц 58 с десятичным переносом иэ предыдущего байта, находящегося на регистре 60.
Сумматор .64 складывает код регистра суммы десятков 59 с десятичным
1182514
BHHHIIH Заказ 6108/48 Тираж 709 Подписное
Филиал ППП "Патент", .r.ужгород, ул.Преемюмаа, 4 переносом из разряда единиц, находящегося на регистре 61. В регистр
65 помещается частичное произведение двух цифр множимого на одну цифру множителя. Произведение побайтно записывается в регистр результата 3, начиная с. пятого байта. Счетчик. записи 66 указывает номер байта, в который надо поместить очередное произведение.
После умножения на две цифры множителя очередное частичное произведение записывается со сдвигом на один байт. Цля этого счетчик записи
66 устанавливается в новое начальное положение. Окончательный результат получается на регистре 3, когда все цифры множимого будут пом1О ножены íà ВсР. цифры множите— ля.