Устройство для умножения десятичных чисел

Иллюстрации

Показать все

Реферат

 

УСТРОЙСТВО ДЛЯ УМНОЖЕНИЯ ДЕСЯТИЧНЫХ ЧИСЕЛ, содержащее регистры , множимого, множителя и результата, множительный блок, блок суммирования , блок преобразования двоичного кода результата в десятичныйи блок приведения десятичных переносов, отличающе.еся тем, что, с .целью повышения быстродействия, в него введены блок формирования переносов, блок записи реэультатов и блок выборки байтов, причем блок выборки байтов содержит счетчики выборки байтов множимого, множителя и частичного произведения, коммутаторы байтов множимого,.множителя и частичных произведений, регистры кодов множимого, множителя и частичных произведений, триггер, три группы элементов 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

Х

Х

Регистр результата 65 предназначен для хранения результата, причемм младшая цифр а р е з ульт ата (еди35 ницы) помещается в правую тетраду регистра 65, старшая цифра (десятки) — в левую тетраду регистра.

Счетчик записи байтов результага 66 аналогичен счетчикам выборки

40 байтов 11, 12.и 13.

Т а б л и ц а 5

Разряды регистра 51

Разряды регистра 56

Вход регистраа

Схемы

Х

Х

Х

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

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О ножены íà ВсР. цифры множите— ля.