Арифметическо-логическое устройство для обработки десятичных данных
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
.А.Туз 62744, ик. 1969. ский блок ическое оп ание ТРОИСТННЫХ вычисть исе муль- электро ся ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССРПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИИ(56) Патент США У 3кл, 340-172.5, опублАрифметико-логичецессора ЕС 2060 (технМ., 1977, с. 13-15,(54) АРИФМЕТИКО-ЛОГИЧЕСКОЕ УС ВО ДЛЯ ОБРАБОТКИ ДЕСЯТИЧНЫХ ДА (57) Изобретение относится к лительной технике и может бы пользовано для работы в соста типроцессора быстродействующе ронно-вычислительной машины. У во предназначено для выполи арифметических операций над д ными операндами и:логических операциинад полями переменной длины параллельно с другими операциями при мультипроцессорной организации ЭВМ. Цельизобретения - повышение быстродействия, Поставленная цель достигнута спомощью введения в арифметика-логи-ческое устройство, содержащее блокуправления, блок распределения сикхросигналов, четыре селектора, регистрпервого слагаемого, регистр второгослагаемого, блок сумматора, параллельный сумматор, регистр результата,сдвигатель, выходной регистр и ре-.гистр непосредственного операнда блока анализа результата, двух буферныхрегистров, пятого селектора, входного регистра, кольцевого сдвигателяи элемента И, а также оригинальнойорганизацией связей между блокамиустройства, 1 з.п. ф-лы, 8 ил.34.7 Сдвиг = 0 34,7. Сдвиг влево 34,7,3 Сдвиг вправо 34.8. 1 34.82 СБ 12:=РНОП СБ 12:=СО И Я Т 34.8.3 34.8.4 34,8,5 34.8.6 34.4 Управление кольцевым сдвигателем 15 34.5 Управление приемом в сдвигатель 734.6 Управление параллельным сумматором 6, 34.10.2 РВЫХ: =СР 1 РВЫХ:=РС 2 34. 1.1 .34. 11. 2 34.12,1 РНОП:=НОП 34. 12. 2 34.13.1 РНОП:РРБ РВХ:=СЕЛ 5 34,13,2 РР:=СМ 34. 13,3 ЗАПТСМ РРБ:=,СМБ 34. 13. 4 34.13,5 34;13.6 РВЫХ:=,СДВРНОП:=СЕЛ 4 34. 137-34. 13-1434. 13. 15-34. 13. 22 34,9 Управление первымкоммутатором 9 34.10 Управление вторымкоммутатором 10 3411 Управление третьимкоммутатороМ 34.12 Управление четвертым коммутатором 12 34. 13 Управление приемом данных 34. 14 Управление блоком 16 анализа 20Продолжение таблицы РРБ:=СБ 21+СБ 22 РРБ:=СБ 21-СБ 22 РРБ:=СБ 21 ЧСБ 22 РРБ:=СБ 21 АСБ 22 РРБ: =СБ 2 ЮСБ 22 , СМБ(7):=ТПБ М 11(0/7) (М 12(0/7) М 21(07) (М 22(0/7) 34. 14. 1-34. 14. 8 РАН 1(0/7) (РАН 2(0/7) ) 34.14.9 ТСМ 1)2:=0121Формула изобретения 1.Арифметико-логическое устройство для обработки десятичных данных, содержащее пять коммутаторов регистр первого слагаемого, регистр второго слагаемого, регистр результата, выходной регистр непосредственного операнда, параллельный сумматор, блок суммирования, сдвигатель, входной регистр и блок управления, содержащий коммутатор адреса, узел памяти, первый коммутатор, регистр микрокоманд, регистр адреса, счетчик байтов первого операнда, счетчик байтов второго операнда, счетчик длины первого операнда, счетчик длины второго операнда, регистр номера байта результата, элемент И, регистр номера байта второго операнда, а также блок анализа, содержащий первую группу элементов ИЛИ, вторую группу элементов ИЛИ, первый регистр суммы, первый регистр переноса, причем в блоке управления выход регистра адреса соединен адресным входом узла памяти, выход которого соединен с входом регистра микрокоманд, выходы разрядов первого операционного поля которого соединены соответственно со счетными входами счетчика байтов первого операнда, счетчика байтов второго опе-ранда, счетчика длины первого операнда, счетчика длины второго операнда, выходы счетчика байтов первого операнда и счетчика байтов второго операнда соединены соответственно с входами регистра номера байта результата и регистра номера байта второго операнда, выходы поля адреса регистра микрокоманд соединены соответственно с управляющими входамикоммутатора адреса, выходы регистров номера байта результата и номера байта второго операнда, выходы счетчиков длины первого и второго операндов соединены соответственно с информационными входами коммутатора адреса, выход которого соединен с первым входом элемента И, выход поля адреса регистра микрокоманд соединен с первым информационным входом первого коммутатора, причем в устройстве выходы первого и второго коммутаторов соединены соответственно с информационными входами регистров первого и второго слагаемых, выходы которых соединены ,соответственно с первым и вторым информационными входами параллельного сумматора, выход суммы которого.1 ч 660 2соединен с инФормационным входом регистра результата, выходы регистров первого и второго слагаемого соединены соответственно с первым и вторым информационными входами блока суммирования, выход результата которого соединен с первыми информационнымивходами первого и второго коммутаторов, выходы регистров первого и второго слагаемых соединены сооответственно спервым и вторым информационнымивходами третьего коммутатора, выходкоторого соединен с информационнымвходом сдвигателя, выход которого со.единен с информационным входом выходного регистра, выход которого является информациоккым выходом устрой.ства. и соединен с вторым информационным входом первого коммутатора,третий информационный вход которогосоединен с выходом регистра результата, первый и второй информационныевходы устройства соединены соответственно с первыми информационнымивходами четвертого и пятого коммутаторов, Выходы которых соединены соответственно с информациоккыми входами регистра непосредственного операнда и входного регистра, второйинформационный вход четвертого коммутатора соединен с выходом результата блока суммирования, второй итретий информационные входы пятогокоммутатора соединены соответственнос выходом выходного регистра и выхо- дом ре 1 истра результата, выходы раз 1рядов регистра результата соединенысоответственно с входами элементовИЛИ первой группы блока анализа,выход переноса параллельного сумматора соединен с входом первого регистра переноса блока анализа, выходы первого и второго поля константрегистра микрокоманд блока управления соединены соответственно с первым управляющим входом блока суммирования и с входом разрядов, сдвигаемых при правом сдвиге сдвигателя,выходы счетчика байтов первого операнда и счетчика байтов второго операнда блока управления соединены соответственно с вторым и третьим управляющими входами блока суммирования, выходы результата и переносакоторого, выход первого регистра 55 суммы блока анализа соединены соответственно с информационными входамикоммутатора адреса блока управления,выходы операционных полей, кроме23 12 первого, регистра микрокоманд блока управления соединены соответственно с входом приема регистра первого слагаемого, с входом приема регистра второго слагаемого, управляющими входами пятого коммутатора, входом сложения-вычитания параллельного сумматора, входом направления сдвига сдвигателя, четвертым управляющим входом блока суммирования, управляющими входами первого коммутатора, управляющими входами второго коммутатора, управляющими входами третьего коммутатора, управляющими входамичетвертого коммута.тора и входами приема входного регистра, регистра результата, первого реги -стра суммы блока анализа, блока сумми - рования, выходного регистра, регист,ра непосредственного операнда, о тл и ч а ю щ е е с я тем, что, с целью повышения быстродействия, оно содержит два,буферных регистра, блок элементов И, кольцевой сдвигатель, блок управления дополнительно содержит второй коммутатор, регистр зна. ка, регистр адреса возврата, регистр занятости, а также блок анализа донолнительно содержит второй регистр суммы, второй регистр переноса, группу элементов И, две группы элементов запрета, третью группу элементов ИЛИ,причем, в блоке управления выход регистра знака соединен с информационным входом коммутатора адреса, выход первого коммутатора и выход элемента И соединены .с первым информационным входом второго коммутатора, второй информационный вход и выход которого соединены соответственно с выходом регистра адреса возврата и входом регистра адреса, выход поля конца операции регистра микрокоманд соединен с входом регист- Фра занятости, выход которого соединен с управляющим входом первого коммутатора и вторым входом элемента И, выходы первого операционного поля регистра микрокоманд соединены с управляющим входом второго коммутатора, входом приема регистра адреса возврата, входом регистра знака, выход адресного поля регистра микрокоманд соединен с информационным входом регистра адреса возврата, в блоке анализа выходы элемента ИЛИ первой группы соединены с первыми входами соответствующих элементов И группы и с информационными входами соответствующих элементов запрета группы, выходы которых соединены с44660 24 25 ного операнда соединен с информационным входом блока элементов И и стретьим информационным входом блока30 суммирования, выход блока элементов И 50 55 5 10 15 20 35 40 45 соответствующими входами элементовИЛИ второй группы, выходы которыхсоединены с первыми входами соответствующих элементов ИЛИ третьей группы, выходы которых соединены с информационными входами элементовзапрета второй группы, выходы которыхсоединены с информационными входамипервого и второго регистров суммысоответственно, выходы которых соединены с вторыми входами соответствующих элементов ИЛИ третьей группы, вход приема первого регистрасуммы соединен с входом приема второго регистра суммы, выход первого ре -ристра переноса соединен с входомвторого регистра переноса,причем вустройстве выход входного регистрасоединен с информационным входомкольцевого сдвигателя, выход которого соединен с информационными входами первого и второго буферных регистров, выходы которых соединены соответственно с четвертым информационнымвходом первого коммутатора и вторыминформационным входом второго коммутатора, выход, регистра непосредственсоединен с 1 входом разрядов сдвигаемых при сдвиге влево сдвигателя,выход второго регистра переносаблока анализа соединен с входом переноса параллельного сумматора ис информационным входом коммутатораадреса блока управления, выход второгорегистра суммы блока анализа соединен. синформационным входом коммутатора адре.са блока управления, выход регистраномерабайта результата которого соединен с входами разрешения приема байтоврегистров первого и второго операндов,вход кода сдвига кольцевого сдвигателя,управляющий вход блока элементов И, вхо. ди разрешения приема байтов первого и второго буферных регистров, вторые входы элементов И группы, управляющие входы элементов запрета первой и второй групп блока анализа соединены соответственно с выходами опе( рационных полей регистра микрокоманд блока управления, выход регистра занятости и поля запроса регистрамикрокоманд которого являются выходами занятости и запросного словаустройства, вход запросного словакоторого соединен с информационным40 входом коммутатора адреса, вторыминформационным входом первого коммутатора, информационными входамисчетчиков байтов первого операнда,байтов второго операнда, длины первого операнда и длины второго операндаблока управления. 2, Устройство по и. 1, о т л ич а ю щ е е с я тем, что блок суммирования содержит восемь коммутаторов, четыре корректирующих сумматора, два сумматора, регистр результата, регистр переноса, элемент И, причем первый и второй информационные входы блт)ка суммирования соединены соответственно с информационными входами первого и второго коммутаторов, выход первого коммутатора, третий информационный и первый управляющий входы блока суммирования соединены соответственно с первым, вторым и третьим информационными входами третьего коммутатора, второй управляющий вход блока суммирования соединен с управляющим входом первого коммутатора и первым информационным входом четвертого коммутатора, выход второго коммутатора, третий информационный и первый управляющий входы блока суммирования соединены соответственно с вторым, третьим и четвертым информационными входами четвертого коммутатора,. выходы старших и младших разря. дов третьего коммутатора соединены соответственно с первым и вторым информационными входами пятого коммутатора и вторым и первым информационными входами шестого коммутатора выходы которых соединены соответственно с информационными входами перваго и второго корректирующих сумматоров, выходы которых соединены со 5 О 5 20 25 ответственно с первыми информационными входами первого и второго сумматоров, выходы которьг:. соединены соответственно " информационными входами третьего и четвертогс корректирующих сумматоров, выходы которыхсоединены с информационным входомрегистра результата, вьход которогоявляется выходом результата блокасуммирования, вход приема которогосоединен с входами приема регистроврезультата и переноса, выход которого является выходом переноса блокасуммирования и соединен с первым вхо.дом элемента И, выход которого соединен с входом переноса второго сумматора, выход перекоса которого соединен с входами переноса четвертогокорректирующего сумматораи первогосумматора, вь.ход переноса которогосоединен с информационным входом.,регистра переноса и входомпереносатретьего корректирующего сумматора,выходы старших и младших разрядов четвертого коммутатора соединены соответственно с первым и вторым информационными входами седьмого коммутатора и вторыми первым информационными входами восьмого коммутатора, выходы которых соедине. ны соответственно с вторыми информационными входами первого и второгосумматоров, управляющий вход второгокоммутатора соединен с третьим управляющим входом блока суммирования,управляющие входы коммутаторов стретьего по восьмой, входы разрешения корректирующих сумматоров с первого по четвертыйвходы сложениявычитания первого и второго сумматоров, второй вход элемента И соединены соответственно с разрядамичетвертого управляющего входа блокасуммирования1244 ббО Юиа Л Составитель А КлееПовхан Техред М,Ходанич Редакто ректор Г, Решетник 91%52 аж б 7 к Подписн роектная, 4 зводственно-полиграфическое предприятие горо ВНИИПИ Государственного ком по делам изобретений и: от113035, Москва, Ж, Раушская ета СССРытийаб., д, 45Изобретение относится к вычислительной технике и может быть использовано для работы в составе мультипроцессора быстродействующей электронновычислительной машины.Целью изобретения является повышение быстродействия.На фиг. 1 представлена структурная схема арифметико-логического устройства обработки десятичных данных;на фиг. 2 - структурная схема блока анализа; на фиг. 3 - структурная схема блока суммирования; на фиг. 4 -структурная схема блока управления.Арифметико-логическое устройство для обработки десятичных данных ,(фиг. 1) содержит регистр 1 первогослагаемого, регистр 2 второго слагаемого, регистр 3 результата, выходнойрегистр 4, регистр 5 непосредственного операнда, параллельный сумматор6, сдвигатель 7, блок 8 суммирования,первый, второй, третий и четвертый коммутаторы 9-12, блок 13 управления, выход 14 блока 8 суммирования, кольцевой сдвигатель 15, блок 16 анализа,входной регистр 17, первый и второй буферные регистры 18 и 19, пятый коммутатор 20, блок 21 элементов И, информационные входы 22 и 23 устройства, вход 24 запросного слова устройства, выход 25 блока 8 суммирования, информационный выход 26 устройства, выходы 27 и 28 занятости и запросного слова устройства, выходы29 и 30 констант блока 13 управления, выходы 31-33 блока 13 управления соответственно номера байта результата, номера байта первого операнда и номе.ра байта второго операнда, выходы34. 1-34. 14 операционных полей блока13 управления, входы 35-39 условийветвления блока 13 управления, входы40-42 блока 8 суммирования,.Блок 16 анализа (фиг. 2) содержитгруппу элементов ИЛИ 43, группу элементов И 44, группу элементов 45 запрета, группу элементов ИЛИ 46, группу элементов ИЛИ 47, группу элементов 48 запрета, регистры 49 и 50 суммы и регистры 51 и 52 переноса,Блок 8 суммирования (фиг. 3) содержит коммутаторы 53-60, корректирующие сумматоры 61 и 62, сумматоры 63 и 64, корректирующие сумматоры 65и 66, регистр 67 результата, регистр68 переноса, элемент И 69, выходы70, 1, 70.2 коммутатора 55, выходы7 1. 1, 71,2 коммутатора 56, выходы 72, 1, 72,2 соответственно корректирующих сумматоров 65 и 66./Блок 13 управления (фиг. 4) содер-жит.коммутатор 73 адреса, коммутаторы74 и 75, элемент И 76, выход 77 коммутатора 73, регистр 78 адреса, ре-.гистр 79 адреса возврата, регистр 80занятости, узел 81 памяти, регистр82 микрокоманд, регистр 83 знака, 0. счетчик, 84 байтов первого операнда,счетчик 85 байтов второго операнда,счетчик 86 длины первого операнда,счетчик 87 длины второго операнда,регистр 88 номера байта результата,регистр 89 номерабайта второго операнда управляющие выходы 90.1-90.11регистра 82 микрокоманд.В диаграммах алгоритмов выполненияопераций используются следующие сок ращения: АВ - адрес возврата, ГОТЗП -готовность записи; ДСЛ - режим сложения десятичных цифр в блоке 8 сум-,мирования; ЗАПТСМ - размещение записина первый и второй регистры суммы;25 КОМИ 1 - первый входной коммутатор 53блока 8 суммирования; КОММ 2 - второйвходной коммутатор 54 блока 8 суммирования; КСД - кольцевой сдвигатель15; М 11 (О/7) - первая группа сигна- .лов управления первым буферным регистром 18 (восемь бит); М 12 (О/7)вторая группа сигналов управленияпервым буферным регистром 18; М 21(О/7) - первая группа сигналов управ.ления вторым буферным регистром 19; З 5 М 22 (О/7) . - вторая группа сигналовуправ, пения вторым буферным регистром 19; НОП - непосредственный опе"ранд; ОП 1 . первый операнд; ОП 2 -второй операнд; ПЗП - признак записи 40результата .в выходном запросномслове устройства; ПКОН - признак кон.ца операнда.; ПОП 1 - признак первогооперанда; ПОП 2 - признак второго опе.ранда; РАВ - регистр 79 адреса возврата; РАМК - регистр 78 адреса;РАН 1 (О/7) - первая группа сигналовразрешения анализа (восемь бит);РАН 2 (О/7) - вторая группа сигналовразрешения анализа; РВХ - входнойрегистр 17; РВЫХ - выходной регистр4; РБ 1 - первый буферныи регистр 18;РБ 2 - второй буферный регистр 19;РЗН - регистр 83 знака; РНОП - регистр 5 непосредственного операнда;РР - регистр 3 результата; РРБ - регистр 67 результата блока 8 суммирования; РС 1 - регистр 1 первого слагаемого; РС 2 - регистр 2 второго слага(4/7) - коммутатор 60 блока 8 суммирования; СДВ - сдвигатель 7; СЕЛ 1первый коммутатор 9; СЕЛ 2 - второйкоммутатор 10; СЕЛЗ - третий коммутатор 11; СЕЛ 4 - четвертый коммутатор 12; СЕЛ 5 - пятый коммутатор 20;СМ - параллельный сумматор 6; СЧСсчетчик слов; ТСМ 1 - первый регистр49 суммы; ТСМ 2 - второй регистр 50суммы; ТП - регистр переноса; ТПБрегистр 68 переноса блока сумматора. 1 О Функциональное назначение выходов34. 1-34. 14 операционных полей блока13 управления приведено в таблице.Арифметико-логическое устройство для обработки десятичных данных предназначено для выполнения арифметических операций над десятичными операндами и логических операций надполями переменной длины параллельно.с другими операциями при мультипро 25 цессорной организации ЭВМ. Десятичные операндьг - это целые числа, представ 30 ленные в двоично-десятичном коде, ,причем каждая десятичная цифра кодируется группой из четырех двоичных разрядов. Таким образом, каждый байт операнда содержит две десятичных цифры. Код знака операнда располагается 35 в младших четырех разрядах операнда. Количество байт (длина) операнда задается в операции и Может составлять от одного до шестнадцати. Под полями переменной длины понимается символь О ная информация, представленная в дво ичном коде, количество байт (длина) которой задается в операции.Блок 13 управления реализован микропрограммным способом, горизон тальным микропрограммированием, Адрес первой микрокоманды вырабатывается по коду 24.1 операции. При этом, поскольку регистр 60 занятости устройства по длинной операции находится в состоянии ноль, на выходе Ълемента И 76 формируется нулевое .значение младших разрядов адреса, которые совместно с кодом 24.1 операции, прошед" шем через первый коммутатор 74 адреса, формируют на входе второго коммутатора 75 адреса первой микрокоманды операции. Этот адрес записывается 60 4на регистр 78 адреса, что вызывает считывание первой микрокоманпы из узла 81 памяти микрокоманд и записи ее на регистр 82 микрокоманды. Эта микрокоманда устанавливает регистр 80 занятости устройства по длинной операции в состояние единица , что открывает элемент И 76, обеспечивая подключение к второму коммутатору 75 комутатора 73 адреса, а адресацию следующей микрокоманды операции. Младшие разряды адреса определяют выполнение условных переходов в ходе выполнения операции и формируются на . коммутаторе 73 адреса: младшие разряды адреса 90.3 с выхода регистра 82Юмикрокоманд изменяются в соответствии с алгоритмом выполнения операции под воздействием условий ветвления 35-39, поступающий с других блоков устройства, входного запросного слова 24 устройства, и состояния регистров 83, 88 и 89, счетчиков 86 и 87 и кода 90.2 типа ветвления.Такой процесс адресации микрокомандможет быть нарушен микроприказом 90.4 "РАМК:=РАВ", который под - ключает к регистру 78 адреса через коммутатор 5 адреса выход регистра 79 адреса возврата, Это позволяет, записав в одной иэ микрокоманд по микроприкаэу 90.5 "РАВ:=АВ" адрес возврата 906 на регистр 79 адреса возврата, использовать его в следующих микрокомандах, например, для выхода из подпрограмм.Блок 8 суммирования работает следующим образом.Коммутаторы 53 и 54 под управлением соответственно кода 32 номера байта первого операнда и кода 33 номера байта второго операнда выбирают один из возьми байтов соответственно с выхода регистра 1 первого слагаемого и выхода регистра 2 второго слагаемого. Коммутатор 55 под управлением микроприказов 34.8,1 выбирает для дальнейшей обработки либо байт с выхода коммутатора 53, либо байт с выхода регистра 5 непосредственного операнда (вход 42), либо первую константу 29 с выхода блока 13 управления. Аналогично коммутатор 56 под управлением микроприказов 34.8.2 выбирает либо код 32 номера байта первого операнда, либо байт с выхода коммутатора 54, либо байт с выхода регистра 5 непосредственного операнда, либо первую константу 29 с выхо 5 12446 да блока 13 управления. Коммутаторы 57 и 58 под управлением микроприказов 34.8.3 и 34.8.4 соответственно выполняют все возможные пересылки старших четырех разрядов 70.1 и младших четырех разрядов 70,2 байта, сформированного на коммутаторе 55.Аналогично коммутаторы 59 .и 60 под управлением микроприказов 34.8,5 и 34.8.6 соответственно выполняют все .10 возможные пересылки старших четырех разрядов 7 1. 1 и младших четырех разрядов 71,2 байта, сформированного на коммутаторе 56.Корректирующие сумматоры 6 1 и 62 15 при наличии микроприказа 34.8.7 "ДСЛ" выполняют сложение информации с вьмодов соответственно коммутаторов 57 и 58 с кодом "0110, ", а при отсутствии этого микроприказа не изменяют . 20 данную информацию.Сумматоры 63 и 64 производят преобразование соответственно старших четырех разрядов и младших четырех разрядов байтов с выходов корректи рующих сумматоров 61 и 62 (первый операнд) и коммутаторов 59 и 60 (второй операнд) под управлением микроприказов 34.8.8, задающих выполняемую функцию. Перенос с выхода сумма- ЗО тора 64 поступает на соответствующий вход первого сумматора. 63 перенос с выхода которого запоминается на регистре 68 переноса и при наличии, в следующей микрокоманде микроприказа З 34.8.9 "СМБ(7):=ТПБ" через элемент И 69 поступает на соответствующий вход сумматора 64.Корректирующие сумматоры 65 и 66 при наличии микроприказа. 34.8.7 "ДСЛ"о корректируют сумму с выходов сумматоров 63 и 64 в соответствии с переносами на выходе этих сумматоров. Регистр 1 первого слагаемого записывает восемь байтов с выхода ком 45 мутатора 9, причем семь старших байтов записываются на семь регистров старших байтов, а младний (восьмой) байт - на два регистра младших байта таким образом, что старшие четыре разряда этого байта записываются на первый, а младшие четыре раэряда - на второй регистр младшего байта.Семь байтов с выходов регистров старших байтов, а также старшие четыре разряда восьмого подаются на выход регистра 1 первого слагаемого без изменений, Четыре разряда с выхо 60 6да второго регистра младшего байтаблокируется при наличии сигнала навыходе 34.1 блока 13 управления. Регистр 2 второго слагаембго работаетаналогичным образом.Блок 16 анализа работает следующим,образом.Каждый из восьми элементов ИЛИ 43выполняет логическое сложение восьмиразрядов соответствующего байта свыхода регистра 3 результата, Элементы И 44 и запрета 45 выполняют логическое умножение полученных величинна значения микроприказов 34,14 и ихинверсию,Микроприказы 34. 14 формируются вблоке 13 управления в соответствиис кодом 24.4 длины первого операндав виде двух возьмиразрядных группсигналов РАН 1(0/7) и РАН 2(0/7), причем в одном такте формируется толькоодна из этих групп сигналов,Сигналы с выходов первого и второ; го элементов ИЛИ 46 проходят через соответственно первый и второй элементы ИЛИ 47, первый и второй элементы 48 запрета, при отсутствии микроприказов 34, 14.9 "ТСМ 1,21=0", и записываются на соответственно первый регистр 49 суммы и второй регистр 50 суммы, причем, если первый и второй регистры суммы устанавливаются в состояниеединица , то за счет образных связей с выхода первого регистра 49 суммы на вход первого элемента ИЛИ 47 ис выхода второгорегистра 50 суммы на вход второго элемента .ИЛИ 47, это состояние сохраняется до прихода микроприказа 34.14.9 "ТСМ 1,2:=0", который переводит первый и второй регистры суммы в состояние 11 11ноль . Таким образом, первый регистр 49 суммы состоянием "единица" отмечает событие "байты свыхода регистра 3 результата, не принадлежащие полю первого операнда (результата), не равны нулю", а второй регистр 50 суммы - событие "байты с выхода регистра 3 результата, принадлежащие полю первого операнда (результата), не р,авны нулю.Первый регистр 51 переноса фиксирует перенос с выхода переноса параллельного сумматора б, а второй регистр 52 переноса перезапоминает этот перенос для использования в следующем такте,1244660 Сдвигатель 7 выполняет сдвиг инФормации с выхода коммутатора 1 1 на четыре разряда вправо с замещением старших четырех разрядов четырехразрядной константой 30 или сдвиг влево с замещением четырех младших разрядов младшими четырьмя разрядами с выхода регистра 5 непосредственного, операнда, пропущенных через элемент И 21.Кольцевой сдвигатель 15 выполняет циклический сдвиг на любое количество байтов влево за один машинный такт.Арифметико-логическое устройство15 для обработки десятичных данных ра - ботает следующим образом.Любая арифметическая операция над двоично-десятичными данными начинается с процедуры установки операндов к целочисленной границе двойного слова (ПЦГ).Эта процедура начинается сразу после запуска устройства на выполнение операции и приема на входной регистр 17 первого двойного слова второго операнда, содержащего младшие байты этого операнда. Блок 13 управления формирует код 34.4 сдвига, который остается постоянным на время30 установки второго операнда и определяется кодом 24.3 номера младшего байта второго операнда. Первая микро команда установки записывает на второй буферный регистр 19 информацию с выхода. кольцевого сдвигателя 15. Если второй операндрасположен в одном двойном слове,то следующая микрокоманда запи 1 нет установленный второй операнд нарегист 2 второго слагаемого. В противном случае, после приема второго двойного слова второго операнда на входной регистр 17, в старшие байты второго буферного регистра 19 по микроприказам 34. 13 . 15-34. 13 . 22 "М 22 (О/7)" записывается информация с выхода кольцевого сдвигателя 15. Следующая микрокоманда переписывает восемь младших байтов второго операнда на регистр 2 второго слагаемого и по микроприказам 3413.15-34.13.22 "М 21(0/7)" записывает в младшие байты второго буферного регистра 19 информацию с выхода кольцевого сдвигателя 15. После этого, если второй операнд размещен в двух двойных, словах, микропрограмма переходит к установке первого операнда. В противном случае, после приема в устройство третьего 8(последнего) двойного слова второго операнда на входной регистр 17 н старшие байты второго буферного регистра 19 по микроприказам 34,13. 15- -34, 13.22 "М 22(0/7) " записывается информация с выхода кольцевого сдвигателя 15, после чего микропрограмма переходит к установке первого операнда.После приема первого двойного слова первого операнда на входной регистр 17 производится запись по микроприказам 34. 13.7 - 34. 13. 14 "М 11(0/7)" в младшие байты первого буферного регистра 18 информации с выхода кольцевого сдвигателя 15. Ес - ли первый операнд размещен в одном двойном слове, то следующая микро- команда переписывает установленный первый операнд на регистр 1 первого слагаемого, а на регистр 78 адреса записывает. содержимое регистра 79 адреса возврата, содержащего адрес первой микрокоманды, которая выполняется после процедуры установки, т.е. выполняет переход по адресу возврата. Если же первый операнд расположен более, чем в одном двой-. ном слове, то после приема на вход - ной регистр 17 второго двойного слова первого операнда в старшие байты первого буферного регистра по микроприказам 34.13-7-34,13,14 "М 12(0/7)" записывается информация с выхода кольцевого сдвигателя.Следующая микрокомандапереписывает, младшие восемь байтов первого операнда на регистр 1 первого слагаемого и по микроприказам 34. 13.7-34.13.14 "М 11(0/7)" записывает в младшие байты первого буферного регистра 18 инфор-. мацию с выхода кольцевого сдвигателя 15. Если первый операнд размещен в двух двойных словах, то последняя микрокоманда установки выполнит пере. ход по адресу возврата, в противном случае, после приема третьего (последнего) двойного слова первого операнда на входной регистр 17 в старшие байты первого буферного регистра 18 по микроприказам 34.13,7-34.13.14 "М 12(0/7) " записывается информация с выхода кольцевого сдвигателя 15, после чего производится переход по адресу возврата. Таким образом, после процедуры установки операнды размещаются на регистрах устройства следующим образом: младшие восемь байтов9 12 первого операцпа - на регистре 1 первого слагаемого, а младшие восемь байтов второго операнда - на регистре 2 второго слагаемого, причем младшие четыре разряда этих операндов эаписа.ф ны в младших разрядах (б 0/63) этих регистров;старшие восемь байтов пер-. вого операнда - на первом буферном регистре 18, а старшие восемь байтов второго операнда - ца втором буферном регистре 19.Поскольку двойные слова операндов поступают в устройстве от процессора команд через такт, то процедура установки операндов практически совмещена по времени с приемом операндов в устройство.Операция сложения десятичных данных (фиг. 6) начинается в устройстве с установки на регистре 79 адреса возврата адреса "АДР 1" первой после процедуры установки ПЦГ микрокоманды,( послечего выполняется процедура ПЦГ.Первая после установки ПЦГ микро- команда устанавливает счетчик 84 . байтов первого операнда в состояния "111", что вызывает появление на выходе коммутатора 53 блока 8 младше. го байта первого операнда, который содержит в младших четырех разрядах код знака операнда 4. По микроприказам 34.8.1, 34.8.4 и 34.8.8 этот код знака записывается на регистр 67 результата блока 8. Если этот код соот. ветствует знаку "плюс", то следующая микрокоманда по микроприказу 90.7 устанавливает регистр 83 знака в сос. тояние ноль , а если - минус , то этот регистр 83 знака устанавливается в состояние "единица"..В том же такте микроприказами 34,1 и 34.2 обнуляются разряды (60/63) на выходе регистров 1 и 2 первого и второго слагаемых, что исключает коды знаков из последующих действийи по микроприказу 34.6,1 производится сложение младших восьми байтов операндов на рапаллельном сум.- маторе б, при этом по микроприказам34. 14, 1-34. 14.8:"РАН 1(0/7) " устанавливаются первый и второй регистры.49 и 50 суммы, а первый регистр 51 переноса фиксирует возникающий перенос,В следующем такте младшие восемь байтов результата в регистре 3 результата переписьваются по микроприказу34.3.3 на входной регистр 17, старшие восемь байтов первого и второго операндов переписываются соответственно 44660 10с первого буферного регистра 18 нарегистр 1 первого слагаемого и совторого буферного регистра 19 ца регистр 2 второго слагаемого, после.чего производится сложение этих байтов по микроприказу 34.6,2 с учетомпереноса от предыдущего сложения,зафиксированного на втором регистре52 переноса, При этом по микроприка 1 о зам 34. 14. 1-34, 14. 8 "РАН 2(0/7) " уста.навливаются первый и второй регистры49 и 50 суммы.Состояние единица второго регистра 52 переносов или первого регист.15 ра 49 суммы означает переполнение врезультате выполнения сложения, поэтому в этом случае в выходном запросном слове 28 устройства устанавливается код условия, равный трем, приэтом на регистре 67 результата блока8 формируется младший байт результата, старшие четыре разряда котороговыбираются из старших четырех разрядов младшего байта суммы, а млад 25 шие четыре разряда - из кода 29 кон.станты.Таким образом, поскольку код 29константы задает знак результата"плюс", то, если регистр 83 знаканаходится в состоянии ноль то нарегистр 1 первого слагаемого в младший байт записывается байт результата с выхода 33 блока 8, содержимоерегистра 1 первого слагаемого переписывается на выходной регистр 4 иЭ 5выполняется процедура установки результата к реальной границе (установка П 1 Г). Если же регистр 83 зна-,ка находится в состоянии "едини"ца", т.е, результат операции - число4 Оотрицательное, то на регистре 67 результата блока 8 формируется младшийбайт результата со знаком "минус",который в следующем такте записьвается на регистр 1 первого слагаемого,45после чего содержимое этого регистрапереписывается на выходной регистр 4и выполняется процедура установкиПРГ,Если переполнение не зафиксировано, то после формирования на регистре 67 результата блока 8 младшегобайта результата с кодом знака "плюс"проверяется состояние второго регистра 50 суммы. Если он находится всостоянии "ноль", т.е, результатравен нулю, то код условия в выходном запросном слове 28 устанавливается равным нулю, на регистр 1 пер 11 12вого слагаемого записывается младшийбайт результата, и содержимое этогорегистра переписывается на выходнойрегистр 4, после чего выполняетсяпроцедура установки ПРГ,Если результат не равен нулю (второй регистр 50 суммы находится в состоянии единица ) то проверяется состояние регистра 83 знака. Если оннаходится в состоянии ноль, торезультат сложения положительныхчисел больше нуля, код условия в выходном запросном слове 28 устанавливается равным двум, младший байт результата переписывается с выхода 14блока 8 сумматора на регистр 1 первогослагаемогопосле чего содержимое этого регистра переписывается на выходнойрегистр 4 и выполняется процедураустановки ПРГ, Если же регистр 83знака находится в состоянии единица", то результат сложения отрицательных чисел меньше нуля и на регистре 67 результата блока 8 сумматора формируется младший байт резуль.тата с кодом знака минус , которыйв следующем такте записывается нарегистр 1 первого слагаемого, послечего содержимое этого регистра переписывается на выходной регистр 4,код условия в выходном запросномслове 28 устанавливается равным единице и выполняется процедура установки ПРГ, которая завершает операцию.сложения,Операция вычитания десятичныхданных начинается в устройстве сустановки на регистре 79 адреса возврата адреса "АДК 2" первой после процедурыСустановки ЦЦГ микрокоманды. Затемвыполняется процедура установки ПЦГ,после завершениякоторой счетчик 84байтов первого операнда устанавливается микроприказом 90,8 в состояние"111", что позволяет проанализировать код знака первого операнда иустановить регистр 83 знака подобнотому, как это выполняется в операциисложения. После установки регистра83 знака по микроприказам 34. 1 и34.2 обнуляются разряды 60/63 на вьюходе регистров 1 и 2 первого и второго слагаемых, что исключает коды знаков из последующих действий, и помикроприказу 34,6.3 производится вычитание младших восьми байтов второгооперанда из восьми младших байтовпервого операнда на параллельномсумматоре 6, при этом по микроприка. 44660 12зам 34. 14. 1 - 34.14.8 "РАН (О/7)" устанавливаются первый и второй регистры49 и 50 суммы, а первый регистр 51переноса фиксирует возникающий перенос.В .следующем такте восемь младшихбайтов разности с резистра 3 результата записываются на входной регистр17, откуда в конце такта записываютсяна первый и второй буферные регистры18 и 19. В этом же такте старшие восемьбайтов операндов переписываются соответственно с первого буферного регист.ра 18 на регистр 1 первого слагаемого и со второго буферного регистра 19на регистр 2 второго слагаемого, после чего по микроприказу 34.6.4. производится вычитание старших восьмибайтов второго операнда из старшихвосьми байтов первого операнда на параллельном сумматоре 6 с учетом переноса от предыдущего вычитания, зафиксированного на втором регистре 52переноса. При этом по микроприказам34, 14. 1-34. 14.8 "РАН 2(0/7) " устанавливаются первый и второй регистры 49и 50 суммы.Состояние единица второго регистра 52 переноса и состояние "ноль"первого регистра 49 суммы означает,что результат получен в прямом коде (параллельный сумматор 6 выполняет вычитание сложением первого операнда в прямомкоде и второго операнда в дополнительном коде, поэтому при вычитании из большего числа меньшего возникает перенос,а не принадлежащие результату байты обращаются в ноль), т.е. первый операнд по модулю больше второго изнак разности совпадает со знакомпервого операнда. Поэтому на регистстре 67 результата блока 8 формируется младший байт результата с кодом знака "плюс" и проверяется состояние второго регистра 50 суммы.Если оно равно "нулю", то результатоперации равен нулю и следующая микрокоманда записывает младший байтрезультата на регистр 1 первогослагаемого, устанавливает код условия в выходном запросном слове 28равный нулю, переписывает содержимое этого регистра на выходной регистр 4, после чего выполняетсяпроцедура установки ПРГ.Если же второй регистр 52 суммынаходится в состоянии единицато анализируется регистр 83 знака.Если он находится в состоянии "ноль", 13 12то знак ненулевого результата - плюс и последняя микрокоманда записывает на регистр 1 первого слагаемого младший байт результата с регистра 67 результата блока 8, код условия в выходном запросном слове 28 устанавливается равным двум, на выходной регистр 4 записывается содержимое регистрапервого слагаемого, после чего выполняется процедура установки ПРГ. Если регистр 83 знака находится в состоянии единица, то на регистре 67 блока 8 Формируется младший байт результата с кодом знака минус , который в следующем такте переписывается на регистр 1 первоФ го слагаемого, после чего содержимое этого регистра переписывается на выходной регистр 4, код условия в выходном запросном слове 28 устанавливается равным единице и выполняется процедура установки ПРГ.Если после второго такта вычитания второй регистр 52 переноса находится н состоянии "ноль или первый регистр 49 суммы находится н состоянии единица", то это означает что результат вычитания получен в дополнительном двоично-десятичном коде. Этот результат получается в случае, если первый операнд по модулю меньше второго операнда. Тогда для получения истинного результата необходимо вычесть полученный результат иэ нуля, Для этого, сначала производится сброс первого и второго регистров 49 и 50 суммы по микроприказу 34.14.9 "ТСМ 1,2:=О". В следующем такте на параллельном сумматоре 6 по микроприказу 34,6.5 производится вычитание содержимого регистра 2 второго слагаемого (младшие восемь байтов результата в дополнительном коде) с обнуленными разрядами (60/63) из нуля. При этом по микроприказам 34. 14. 1-34, 14,8 "РАН 1(О/7) " производится установка первого и второго регистров 49 и 50 суммы, В следующем такте записанные на регистре 3 результата младшие восемь байтов в прямом коде переписываются на входной регистр .17, откуда - на первый буферный регистр 18, старшие восемь байтов результата в дополнительном коде переписываются на регистр 2 второго слагаемого и по микроприказу 34.6.6 вычитаются на параллельном сумматоре 6 из нуля с учетом переноса от предыдущего вычитания, зафиксированного44660 14 10 15 20 25 30 35 40 45 на втором регистре 52 переноса. При этом по микроприказам 34.14.1-34.14.8 "РАН 2(0/7)" производится установка первого и второго регистров 49 и 50 суммы. Поскольку нулевого результата н дополнительном коде не существует, код условия и знак результата определяются, исходя из знака первого операнда (состояние регистра 83 знака) и наличия переполнения. Если регистр 83 знака находится н состоянии "ноль", то на регистре 67 результата формируются младший байт результата со знаком минус , который н следующем такте записывается на регистр 1 первого слагаемого, после чего содержимое этого регистра переписывается на выходной регистр 4,и проверяется состояние первого регистра 49 суммы. Если он находится в состоянии "единица" (случай переполнения), то код условия устанавливается равным трем. В противном случае код условия устанавливается равным единице. После этого выполняется процедура установки ПРГ.Если регистр 83 знака находится в состоянии "единица", то на регистре 67 результатаформируется младшийбайт результата со знаком плюс ,который в следующем такте записывается на регистр 1 .первого слагаемого, после чего содержимое этого регистра переписывается на выходной регистр 4. При этом,. если перный регистр 49 суммы находится н состоянии единица случай переполнения), то устанавливается код условия, равный трем. В про-, тивном случае, код условия устанавливается рвным двум, после чего выполняется процедура установки ПРГ, завершающая операцию. Процедура уСтановки результата к реальной, границе ,в оперативной памяти (установка ПРГ) завершает арифметические операции над десятичными данными. В первом такте установки ПРГ Формируется первое двойное слово резуль. тата:из восьми младших байтов резуль. тата, записанных на входной регистрЭто выполняется путем записи старших байтов с выхода кольцевого сднигателя 15 по микроприказам 34,13.7-34.13,14 "М 11(0/7)" на первый буферный регистр 18, Код 34.4 сдвига формируется блоком 13 управле. ния. Этот код сдвига сохраняется пос.Группа,Сигнал, У Микроприказы Название груп 2 Управлен 34. 1 е регистромлагаемого С 1(60/63)=0 С 2 (60/63) =0 4. первогоУправленвторогоУправлентором 20 34. е регистром лагаемого,пятым коммут РВХ:=0 34.3 Х:=РВЬ.3.2 4.3.3 15 12446 тоянным до конца процедуры установки ПРГ.В этом же такте восемь младших байтов результата переписываются с первого буферного регистра 18 на регистр 15 первого слагаемого, откуда - на выходной регистр 4.Если результат расположен в одном двойном слове (количество двойных слов результата и первого операнда совпадает, поскольку результат замещает первый операнд), то двойное слово результата переписывается на регистр 1 первого слагаемого, отку. - да - на выходной регистр 4, а на управляющий выход 28 запросного слова устройства по микроприказу "ПЗП:=1" выдается запросное слово на запись двойного слова результата с информационного выхода 26 устройства.Если результат расположен в двух или трех двойных словах, то младшее ,двойное слово результата переписывается на регистр 1 первого слагаемого, и на первый буферный регистр 18 по микроприкаэам 34.13.7-34.13.14 "М 12(0/7)" записываются младшие байты с выхода кольцевого сдвигателя 15. В следующем такте восемь старших байтов результата записываются на входной регистр 17, после чего по микроприказам 34.13.7-34.13.14 "М 11(0/7) " старшие байты с выхода кольцевого сдвигателя 15 записываются на первый буферный регистр 18. В этом же такте первое двойное слово результата записывается на выходной регистр 4 и выдается запрос в процессор команд на запись результата,Если результат расположен в двух двойных словах, то после выдачи первого двойного слова результата вто 60 16рое двоиное слово результата переписывается с первого буферного регистра, 18 через регистр 1 первого слагаемого на выходной регистр 4 и выдается на информационный выход 26 устройства по. запросному слову на управляющем выходе 28 устройства.Если результат расположен в трех двойных словах, то второе двойное .слово результата записывается на регистр 1 первого слагаемого, по микроприказам 34. 13 . 7-34. 13 . 14 "М 12(0/7)" в младшие байты первого буферного регистра 18 записывается информация с выхода кольцевого сдвигателя 15.После того, как первое двойное слово результата выдано второе двой. ное слово результата записывается на входной регистр 4 и выдается на информационный выход 26 устройства по запросному слову на управляющем выходе 28 устройства. После выдачи второго двойного слова результата третье двойное слово результата переписывается с первого буферного регистра 18 через регистр 1 первого слагаемого на выходной регистр 4, откуда выдается на информационный выход 26 устройства по запросному слову на управляющем выходе 28 устройства.После выдачи всех двойных слов результата выполнениеоперации в устройстве прекращается и регистр 80 занятости устройства по длинной операции устанавливается в состояниенольЛогические операции над полями переменной длины выполняются в арифматическо-логическом устройстве с использованием блока 8 по алгоритмам, аналогичным алгоритмам выполнения таких операций в известном устройстве
СмотретьЗаявка
3803686, 19.10.1984
ПРЕДПРИЯТИЕ ПЯ М-5769
КРУЧИНИН СЕРГЕЙ ЗАХАРОВИЧ, ТУЗОВА ГАЛИНА АНИКИЕВНА, МОИСЕЕВ ВЕНИАМИН ГРИГОРЬЕВИЧ
МПК / Метки
МПК: G06F 7/38
Метки: арифметическо-логическое, данных, десятичных
Опубликовано: 15.07.1986
Код ссылки
<a href="https://patents.su/16-1244660-arifmetichesko-logicheskoe-ustrojjstvo-dlya-obrabotki-desyatichnykh-dannykh.html" target="_blank" rel="follow" title="База патентов СССР">Арифметическо-логическое устройство для обработки десятичных данных</a>
Предыдущий патент: Устройство для сравнения чисел
Следующий патент: Двоичный сумматор
Случайный патент: Устройство для приема широкополосных сигналов