Вычислительное устройство

Номер патента: 1545215

Авторы: Асцатуров, Жалковский, Лопато, Шостак, Шпаков

Есть еще 18 страниц.

Смотреть все страницы или скачать ZIP архив

Текст

ОЮЗ СОВЕТСКИХ ЦИАЛИСТИЧЕСКИХ ПУБЛИК 5215(57) Изобретение относи ЙСТВОя к вычисли ГОСУДАРСТВЕННЫЙ КОМИТЕТПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯПРИ ГКНТ СССР 4421485/24-2 я06,05.8823.02.90. Вюл. Н 7Г,П. Лопато, Р.М. АсцатурШостак, Л.Г, Лопато, Л.О.А,А. Жалковский681.325(088.8)Авторское свид7146, кл. С 06оцессор ЕС 236ние Т 02. М., 1 тельнаи технике и может быть применено для выполнения арифметическихопераций над двоичными числами. Особенно эффективно его использованиев средних ЭВМ. Целью изобретения является повышение быстродействия, Устройство содержит регистры 1-6, коммутаторы 7 - 19, узел 20 разрядных произведений, арифметико-логический узел21, сумматор 22, узел 23 коррекции,узел 24 смещенных эквивалентов, узел25 нормализации и сдвига, вычитатель26, узел 27 цифр частного и микропрограммный блок 28 управления. 10 ил., 2 табл.но выполнить, например, на одноразрядных двоичных сумматорах 500 ИИ 180, но при этом необходимо заменить операцию вычитания на операцию сложения5 в дополнительных кодах. В этом случае информация на выходы вычитаемого и заема с выходов 78 и 79 старших и мпадших разрядных произведений узла 20 должна подаваться в дополнительном.коде, т.е, информацию необходимо проинвертировать и прибавить единицу в младшие разряды вычитаемого и заема, Добавление единицы в младшие разряды можно выполнить, например, вве - дением единицы в младший разряд текущего остатка в регистр 3 на коммутаторе 9 и введением единицы через вход переноса арифметико-логического узла 21. При применении одноразрядных 20 двоичных сумматоров для приведения нового текущего остатка к однорядному коду требуется выполнить функцию сложения значений заема и разности на арифметико=.логическом узле 21. 25В узле 27 цифр частного (фиг. 6) осуществляется деление значения определенного числа старших разрядов двухрядного кода текущего остатка, сформированного на выходах 97 и 98 30 старших разрядов регистров 3 и 4 соответственно, на округленное значение определенного числа старших разрядов делителя, поступающих с выходов 96 старших разрядов регистра 2, В Результате этого на выходах 89 узла 27 цифр частного формируется значение 1 очередных бит частного, котороеза исключением случая, когда на выходе 58 переноса в стаРшУю гРУппУ 40 разрядов арифметико-логического узла 21 образован сигнал логической единицы) либо равно истинному значению 1 бит частного, либо меньше его на единицу младшего разряда с весом 45 2 1"1, Узел 27 цифр частного может. быть реализован различными методами и средствамиНа фиг, 6 показан один из наиболее предпочтительных вариантов реализации узла 27, в котором деление усеченных чисел осуществляется умножением значения малоразрядного делимого на значение старших разрядов обратной величины малоразрядного делителя. В этом случае на входы делителя узла 27 подаются 1+3=7 старших разрядов делителя с выходов 96 старших разрядов. регистра 2, а на входы делимого подаются 1+4=8 старших разрядов двухрядного кода текущего остатка с выходов 97 и 98 старших разрядов регистров 3 и 4 соответственно. На сумматоре 125 формируется однорядный код 8-ми старших разрядов текущего остатка, который поступает на первый вход умножителя 128. На сумматоре 126 округления производится округление старшей части делителя путем прибавления единицы к младшему разряду старшей части. Значение старшей части округленного делителя поступает на вход формирователя 127 обратной величины, на выходах которого формируется 1+2=6 старших разрядов обратной величины делителя (один разряд - слева от запятой, остальные - справа), которые поступают на второй вход умножителя 28, На выходах старших разрядов умножителя 128 формируются при этом значения очередных Е=4 двоичных разрядов частного (один разряд - слева от запятой, остальные - справа), которые либо .Равны истинному значению очередных 1=4 двоичных разрядов частного или меньше его на единицу младшего разряда с весом 2 (-11 =2Группа элементов И 129 предназначена для устранения ошибки в определении цифр частного при отбрасывании младших разрядов текущего остатка, Если значения всех старших разрядов равны единицам и значение переноса в группу старших разрядов также равно единице, то истинным значением старших разрядов остатка является нулевая комбинация, однако на выходе сумматора 125 формируется неверный код старших разрядов текущего остатка. В этом случае на выходе элемента 130 И-НЕ формируется сигнал логического нуля, являющийся сигналом блокировки группы элементов И 129, и на выходах 89 узла 27 цифр частного устанавливается нулевая комбинация цифр частного, хотя на выходах умно- жителя 128 формируется ненулевой код.Блок 28 управления координирует работу всех узлов и элементов устройства при выполнении всех операций, Предполагается, что условия, которые вырабатываются в текущей микрокоманде, влияют на выбор следую - щей,время считывания следующей микро- команды не увеличивает время выпол:нения операции в целом. Этим условиямудовлетворяет известный блок управления,Блок 28 управления (фиг. 7) Работает следующим образом, Первый и второй узлы 131 и 132 Формирования адреса формируют адреса для первого ивторого узлов 133 и 134 памяти микрокоманд соответственно, из которыходновременно считываются две микрокоманды и поступают на входы коммута -тора 135. В соответствии с выработанными условиями на выходе 56 признака нуля узла 25 нормализации исдвига и на выходе 57 старшего разряда арифметико-логического узла 21.узел 137 проверки условий вырабатывает управляющий код для узлов 131и 132 формирования адреса и для коммутатора 35, который пропускает навходы регистра 136 микрокоманд следующую микрокоманду,На время выполнения операции вустройстве оказывает влияние времявыполнения каждой микрокоманды, поэтому предполагается, что в блоке28 управления должна быть предусмотрена возможность управления длительностью такта микрокоманд,Опишем теперь работу вычислительного устройства (Фиг. 1). Выполнениелюбой операции в устройстве начинается с подачи двух предварительныхсинхроимпульсов по цепи синхронизациидля выбора первой микрокоманды вблоке 28 управления. По первому синхроимпульсу в первый узел 131 формирования адреса заносится начальныйадрес выполняемой микропрограммы садресного входа 32, Исходное состояние регистра 136 микрокоманд настраивает коммутатор 135 на передачу мик.Рокоманды с выхода первого узла 133памяти микрокоманд и по второму синхроимпульсу в регистр 136 микрокоманд д 5заносится начальная микрокоманда,а в первом и втором узлах 131 и 132формирования аДреса формируются адреса следующих микрокоманд.По окончании микропрогРаммы Регистр 136 микрокоманд переводитсяв исходное состояние,В дальнейшем управляющие коды, формируемые на выходах 35-55 блока 28 управления, будем записывать в ви де ВМ(1), где 11=35-55 и определяет обозначение выхода блока 28 управления, а 1 - собственно управляющий код, выработанный на соответствующем:.выходе 11 (значения управляющих кодови соответствующие им микрооперацииописаны выше).Рассмотрим выполнение операцииумножения, микропрограмма которойприведена на фиг, 8, Умножение выполняется с младших разрядов множителя(одновременно обрабатываются 4 битамножителя) со сдвигом суммы частичныхпроизведений вправо, Мантиссы длинныхоперандов в ЕС ЗВМ имеют 14 тетрад,Предположим, что мантиссы операндовпоступают на вход 29 данных устройства нормализованными и выравненнымипо правой границе.пля получения правильного результата при выполнении операции умножения регистры 5 и 6 должны быть предварительно обнулены. Обнуление этихрегистров можно совместить с выполнением первой микрокоманды каждой микропрограммы выполнения операции умножения, Для этого первая микрокомандадолжна содержать следующие управляющие коды: В 46(0), под воздействиемкоторого формируется нулевая информация на выходах 86 узла 25; В 51 (О)и В 52 (О), под управлением которыхнулевая информация с выходов 86 узла25 поступает на входы первого и второго операндов узла 21 через коммутаторы 12 и 13 соответственно; В 54(1),который поступает в арифметико-логический узел 21 на выполнение функциисложения под управлением кода В 49(9)с распространением переноса, одновременно устанавливая входной переносв младший разряд узла 21 равным нулю;В 53(0), который пропускает на входырегистра 6 с выходов 80 результатаузла 21 нулевую информацию через ком-.мутатор 16; В 47(0) и В 55(0), которыепозволяют сформировать на выходах 83переносов сумматора 22 нулевую информацию независимо от информации, поступающей на входы первого слагаемогосумматора 22 с выходов регистра 6,Выполнение каждой микрокоманды(такта) завершается подачей синхроимпульса по синхронизирующей шине устройства (не показана на фиг. 1, 3, 4и 7),по которому осуществляется запись во все регистры и триггеры устройс тваПри выполнении первой микрокомандыумножения на вход 29 поступает мантисса множимого и под воздействиемуправляющих кодов В 40(0) и В 35(1)записывается в регистр 1.При выполнении второй микрокоман -ды мантисса множимого поступает из5регистра 1 через коммутатор 8 на входузла 25 нормализации и сдвига подвоздействием управляющего кода В 41(0).В узле 25 выполняется выравниваниемантиссы множимого по левой границе(сдвиг мантиссы влево на 8 бит), длячего на входе 30 кода сдвига долженбыть установлен код сдвига "8" и управляющий код В 46(1). Выравненная полевой границе мантисса с выходов 86узла 25 заносится через коммутатор10 в регистр 4 под воздействием управляющих кодов В 43(0) и В 38(1), В этойже микрокоманде на вход 29 данныхпоступает мантисса множителя и подвоздействием управляющих кодов В 40(0)и В 35(1) записывается через коммутатор 7 в регистр 1,В третьей микрокоманде мантиссамножимого с выходов 62 регистра 4 заносится через коммутатор 8 в регистр2 под воздействием управляющих кодовВ 41(1) и В 36(1),Затем выполняется четвертая микрокоманда, в которой выполняются следую щие действия,Текущая цифра множителя с выходов90 младших разрядов регистра подается через коммутатор 14 под управлением кода В 47(1) на вход множителя узла 20 разрядных произведений. Узел20 разрядных произведений, а такжеарифметико-логический узел 21 и сумматор 22 настраиваются управляющимкодом В 48(0) на выполнение операций 40в двоичной системе счисления. Сформированные на входах 78 и 79 узла 20старшие и младшие цифры разрядныхпроизведений записываются через коммутаторы 9 и 10 в регистры 3 и 4 соот ветственно под управлением кодовВ 37(1), В 38.(1),В 42(1) и В 43(1). Управляющий код В 49(9) настраиваетарифметико-логический узел 21 на режим суммирования. 50Старшие цифры разрядных произведений, сформированные в предыдущем такте, с выходов 61 регистра 3 поступаютчерез коммутатор 12 под управлениемкода В 51(2) на входы первого операнда 55узла 21. Младшие цифры разрядных произведений, сформированные в предыдущем такте, с,выходов 99 старших разрядов регистра 4 поступают через коммутатор 13 под управлением кода В 52(2) со сдвигом на 4 бита вправо на входы .второго операнда узла 21 (сдвиг младших цифр разрядных произведений на 4 бита вправо компенсирует сдвиг на 4 бита влево при формировании этих цифр на узле 20 и записи в регистр 4 в предыдущем такте). Переносы, сформированные в предыдущем такте (нулевая информация в четвертой микрокоманде), с выходов 63 регистра 5 поступают через коммутатор 18 под управлением кода В 54(0 ) со сдвигом на 4 бита вправо, соответствующим сдвигу суммы частичных произведений, на входы переносов узла 21. Результат по- тетрадного суммирования и переносы с выходов 80 и 81 результата и переносов соответственно узла 21 поступают через коммутаторы 15 и 19 под управлением кодов В 47(1) и В 55(0) соответственно на входы второго слагаемого и переносов сумматора 22, где и складываются со сдвинутой вправо на 4 бита текущей суммой частичных произведений, поступающей на входы первого слагаемого сумматора 22 через коммутатор 17 под управлением кода В 47(1) с выходов 01 старших разрядов регистра 6, Результат по- тетрадного суммирования с выходов 82 суммы сумматора 22 поступает на входы регистра 6 через коммутатор 16 под управлением кода В 53(1), а с входов 83 переносов - на входы ре.гистра 5 Запись новой суммы частичных произведений осуществляется под воздействием управляющего кода В 39(1), Подготовка следующей цифры множителя осуществляется путем сдвига множителя, хранимого в регистре 1, на 4 бита вправо на коммутаторе 7 под управлением кода В 40.(1), В освобождающиеся старшие разряды регистра 1 заносятся младшие 4 бита текущей суммы частичных произведений с выходов 101 младших разрядов суммы сумматора 22 через коммутатор 11 под управлением кода В 50(0). Запись.сдвинутого множителя в регистр 1 производится под управлением управляющего кода В 35(1). При выполнении этой микрокоманды с выходов 84 узла 23 коррекции подается нулевая комбинация на входы коммутатора 17 и тем самым не оказывает влияние на формирование результата, 25 54525Затем выполняются микрокоманды 5-17, аналогичные четвертой микрокоманде, общее число итераций умножения равно 14 - числу тетрад множителя,После выполнения 17-й микрокоманды в регистрах 3 и 4 находятся последние разрядные произведения,а в регистрах 5 и 6 - сумма частичных произ-О ведений. В восемнадцатой микрокоманде цифра множителя заменяется нулевой комбинацией на коммутаторе 14 (управляющий код В 47(0, остальные дейст- - вия совпадают с микрокомандами 4-17. По окончании выполнения этой микро- команды в регистрах 5 и 6 хранится старшая часть произведения в двухрядном коде, в регистре 1 - младшая часть произведения.и для получения результата требуетсдфбтаршую часть привести к однорядному коду, что осу- ществляется следующим .образом. В девятнадцатой микрокоманде в арифметико-логическом узле 21 производится 25 суммирование (управляющий код В 49(9 нулевой информации, хранящейся в регистрах 3 и 4 и поступающей на входы операндов под управлением кодов В 51(2) и В 52(2) через коммутаторы 12 30 и 13 соответственно с переносами, поступающими с выходов 63 регистра 5 через коммутатор 18 (управляющий код В 54(0, На выходах 80 результата арифметико-логического узла 21 оказы 35 ваются, таким образом, значения переносов из регистра 5, а на выходах 81 переносов узла 21 - нулевая информация. На сумматоре 22 двухрядный код результата выполнения операции умно жения приводится к однорядному, причем на вход первого слагаемого поступает сдвинутая на 4 бита вправо сумма частичных произведений с выходов 101 старших разрядов регистра 6 через 45 коммутатор 17 под управлением кода В 47(0), а через коммутатор 15 под управлением кода В 47(0) на вход второго слагаемого сумматора 22 поступают переносы предыдущего такта с выходов 80 результата арифметико-логического узла 21, Коммутатор 19 под управлением кода В 55(17 настраивает сумматор 22 на выполнение операциисложения с перецачей (распростране нием) переносов между тетрадами. На выходах 82 суммы сумматора 22 форми-руется результат умножения в однорядном коде, который через коммутатор 16 под управлением кода В 53(1) запи-;сывается в регистр 6 под воздействиемуправляющего кода В 39(1).Таким образом, после выполнениядевятнадцати микрокоманд в регистре6 находится старшая часть произведения (15 тетрад), а в регистремладшая часть произведения (13 тетрад).В двадцатой микрокоманде старшаячасть произведения с выходов 64 регистра 6 через коммутатор 8 под управлением кода В 41(2) поступает навхоДы узла 25 нормализации и сдвига,через который передается транзитом(управляющий код В 46(1 ) при нулевойкомбинации на входе 30 кода сдвига)на выход 33 результата,В двадцать первой микрокомандемладшая часть произведения с выходов 59 регистра 1 через коммутатор8 под управлением кода В 41(0 ) поступает на входы узла 25, через который передается транзитом ( управляющий код В 4611)(при нулевой комбинации на входе 30 кода сдвига) на выход ЗЗ результата.Обеспечение высокой скорости выполнения операции умножения достигается тем, что суммирОвание текущейсуммы частичных произведений с текущими разрядными произведениямипроизводится не на всю разрядность,а потетрадно.с запоминанием переносовиз тетрад, благодаря тому, что одно"временно с суммированием текущей суммы частичных произведений с текущимиразрядными произведениями в узле 21и сумматоре 22 в узле 20 разрядныхпроизведений формируются новые разрядные произведения, организуя такимобразом конвейер, причем время на выполнение подготовительной и исполнительной фаз близко друг к другу.Микропрограмма выполнения операции умножения с короткими операндами(мантисса - 6 тетрад) аналогична описанной, причем отличие состоит только в том, что отсутствуют микрокоманды с 1 О-й по 17-ю и 21-я, а во второймикрокоманде на вход 30 кода сдвигаподается код сдвига влево на 40 бит.Результат выполнения операции (2тетрад произведения) формируется врегистре 6,Микропрограмма выполнения операцииумножения в дополнительных кодах (вЕС ЭВМ - фиксированная запятая, 32бита) также аналогична описанной микропрограммеРазличия состоят лишь в том, что в регистр 1 заносятся одновременно множимое и множитель при 1 чем множимое заносится в старшие 32 бита, а множитель - в младшие. В дальшейшем при выполнении умножения в микрокомандах с 4-й по 1-ю под управлением кода В 44( ) в регистр 111 коррекции узла 23 коррекции заносится код коррекции результата, который поступает в следующем такте в соответствующие разряды накапливаемой суммы частичных произведений, тем самым параллельно с выполнением собственно умножения выполняется коррекция результата, Кроме этого, микрокоманды с 12-й по 17-ю отсутствуют. По окончании 19-й микрокоманды в младших разрядах регистра 6 находятся старшие 15 тетрад произведения, а в старших разрядах регистра 1 - младшая 16-я (тетрада произведения,Рассмотрим выполнение операцииумножения в десятичной арифметике.Десятичный множитель в ЕС ЭВМ можетсодержать до 15 десятичных цифр, амножимое - до 31 десятичной цифры,поэтому целесообразно в регистр 2заносить множитель, а умножение выполнять с младших разрядов множимого,обрабатывая по одной десятичной цифре за такт. В остальном же выпол 35нение операции умножения в десятичнойарифметике .аналогично выполнечию операции умножения в описанной двоичнойарифметике. Различие лишь в том, чтоуправляющий код В 48(1 1 настраивает 1 Оузел 20 разрядных произведений, арифметико-логический узел 21 и сумматор22 на выполнение операций с двоичнодесятичными кодами чисел.Операции преобразования в устройстве выполняются по методу суммирования эквивалентов цифр (групп цифр).Так, при преобразовании двоичного кода в двоично-десятичный суммируютсяэквиваленты групп, состоящих из трехбитов, а при преобразовании двоичнодесятичного кода в двоичный суммируются эквиваленты групп, состоящих из4-х битов (эквиваленты одной десятичной цифры),Рассмотрим выполнение операциипреобразования двоичного кода числав двоично-десятичный, Для определенности принимаем положительным преобразуемое число, Микропрограмма дляэтого случая приведена на фиг. 9,При выполнении операции преобразования для получения правильного результата необходимо в первой микрокоманде обнулить содержимое регистров5 и 6 так же, как в операции умножения,При выполнении первой микрокомандына вход 29 данных поступаетпреобразуемое число и через коммутатор 7под управлением кода В 40(0) поступает на входы регистра 1, в младшие32 разряда которого записывается подвоздействием кода В 35(1), И этой жемикрокоманде на адресный вход узла24 смещенных эквивалентов подаетсяуправляющий код В 45(16), по которомусчитывается первый эквивалент, С выходов 85 узла 24 первый эквивалентчерез коммутатор 8 под управлениемкода В 41(3) поступает на входы регистра 2, в который записывается подвоздействием управляющего кодаВ 36(1),Вторая микрокоманда включает следующие действия. Текущие 3 младшихбита преобразуемого числа с выходов90 младших разрядов регистра 1 черезкоммутатор 14 под управлением кодаВ 47(2) поступают на вход множителяузла 20 разрядных произведений, Управляющий код В 48(1) настраивает узел20 разрядных произвецений, арифметико-логический узел 21 и сумматор22 на выполнение операций в десятичной арифметике. На выходах,78 и 79узла 20 формируются разрядные произведения частичного результата преобразования (произведения смещенногоэквивалента на значение текущих младших 3 бит преобразуемого числа), Вслучае преобразования за один тактболее 3 бит двоичного числа (илиболее однои цифры десятичного числав преобразовании двоично-десятичногокода в двоичный) на линии передачипреобразуемой группы разрядов необходимо установить преобразоватеЛидвоичного кода в двоично-десятичфный (или преобразователь двоично-десятичного кода в десятичный), поскольку узел 20 разрядных произведенийнастраивается на работу с операндамив двоично-десятичном (или,в двоичном) кодах, При разрядности групппреобразуемого двоичного числа до3 бит двоичный и двоично-десятичныекоды совпадают как и при разрядности группы преобразуемого двоично-десятичного числа, равной одной десятичной цифреСтаршие цифры разрядных проиэве 5дений частичного результата преобразования с выходов 78 узла 20 черезкоммутатор 9 под управлением кодаВ 42(1) поступают на входы регистра3, в который эаписьваются под воздействием управляющего кода В 37(1),. Младшие цифры разрядных произведенийчастичного результата преобразованияс выходов 79 узла 20 через коммутатор 510 под управлением кода В 43(1) подаются со сдвигом на 4 бита влево навходы регистра 4, в который записываются под воздействием управляющегокода В 38(1),С выходов 92 старших разрядов регистра 1 значение преобразуемогочисла через коммутатор 7 под управлением кода В 40(2) поступает со сдвигом на 3 бита вправо на входы регистра 1, в который записьвается под воздействием управляющего кода В 35(1).Таким образом подготавливаются следующие три младших разряда преобразуемого числа для обработки, На адресный вход узла 24 смещенных эквивалентов подается управляющий кодВ 45(171, по которому считывается второй смещенный двоично-десятичный эк-,вивалент и с выходов 85 узла 24 через коммутатор 8 под управлением ко.да В 41(3) поступает на входы регистра 2, в который записывается подвоздействием управляющего кодаВ 36(1).40Затем выполняется третья микрокоманда, которая включает все действия,входящие во вторую микрокоманду (от-.личается лишь управляющий код В 45(18),по которому считывается третий смещенный эквивалент из узла 24), идополнительно содержит следующие действия, Арифметико-логический узел 21управляющим кодом В 49(9) настраивается на Функцию сложения, Старшие цифры разрядных произведенийвлекущего частичного результата преобразования, сформированные в предыдущем такте, с выходов 61 регистра 3через коммутатор 12 под управлениемкода В 51(2) поступают на входы первого операнда узла 21, Младшие цифрыразрядных произведений текущего частичного результата преобразования,сформированные в предыдущем такте, с выходов 99 старших разрядов регистра 4 через коммутатор 13 под управлением кода В 52(2) поступают со сдвигом на 4 бита вправо на входы второго операнда узла 21 (сдвиг на 4 бита вправо младших цифр разрядных произведений текущего частичного результата преобразования, хранимых в регистре 4, компенсирует сдвиг на 4 бита влево при записи этих же младших цифр . разрядных произведений частичного результата преобразования с выходов 79 .узла 20 в регистр 4 в предыдущем, такте), Управляющий код В 54(0) настраивает узел 21 на потетрадное выполнение операции, подавая переносы с выходов 63 регистра 5 через коммутатор 18 со сдвигом на 4 разряда вправо на входы переносов узла 2 (сдвиг соответствует сдвигу суммы частичньх результатов преобразования), Результат потетрадного суммирования и переносы поступают с выходов 80 и 81 результата и переносов соответственно узла 2 через коммута-. торы 15 и 19 под управлением кодов В 47( 2 ) и В 55(0 ) на входы второго слагаемого ипереносов сумматора 22. Текущая сумма частичных результатов преобразования с выходов 101 старших разрядов регистра 6 через коммутатор 17 под управлением кода В 47(2).: поступает на входы первого слагаемого сумматора 22 со сдвигом на 4 разряда вправо, Результат потетрадного суммирования с выходов 82 сумм сумматора 22 через коммутатор 16 под управлением кода В 53поступает на входы регистра 6, а с выходов 84 переносов сумматора 22 поступает на входы регистра 5, в которые записывается под воздействием управляющего кода В 39 (1) .Затем выполняются микрокоманды с 4-й по 12-ю, которые аналогичны третьей и отличаются лишь управляющим кодом В 45, который задает последовательно соответствующие адресасмещенных эквивалентов (или нулевой комбинации в 12-й микрокоманде), По окончании 12-й микрокоманды полностью обработаны разряды преобравуемого числа (в регистре 1 находится нулевая информация), в регистр 2 записана нулевая информация, в регистрах 4 и 3 находится значение последнего частичного результата преоб 1545215 3240 разования в двухрядном коде, а в регистрах 5 и 6 - значение текущей суммы частичных результатов преобразования.Затем выполняется 13-я микрокоман 5 да, в которой послеДний частичный результат преобразования, сформированный в предыдущем такте, с выходов 61 регистра 3 и выходов 99 старших разрядов регистра 4 поступает через коммутаторы 12 и 13 под управлением кодов В 51(2) и В 52(2) .на входы первого и второго операндов арифметикологического узла 21. С выходов 63 регистра 5 через коммутатор 18 под управлением кода В 54(0) переносы, сформированные в предыдущем такте, поступают на входы переносов узла 21, который настраивается управляющим кодом .В 49(9) на режим суммирования. Узел 20 разрядных произведений, узел 21 и сумматор 22 под воздействием управляющего кода В 48(1) настраИваются на выполнение операций в 25 десятичной арифметике. Результат суммирования с выходов 80 и 81 .результата и переносов соответственно узла 21 поступает через коммутаторы 15 и 19 под управлением кодов В 47(0) и В 55(0) на входы второго слагаемого и переносов сумматора 22. С выходов 101 старших разрядов регистра 6 сумма частичных результатов поступает через коммутатор 17 под управлением кода В 47(0) на входы первого слагаемого сумматора 22 на выходах 82 сумм и 83 переносов которого формируется двухрядный код результата преобразования. С выходов 82 сумм сумматора 22 значение поступает через коммутатор 16 под управлением кода В 53(1 ) на входы регистра 6, а с выходов 83 переносов сумматора 22 значение поступает на входы 45 регистра 5. В регистры 5 и 6 двухрядный код результата преобразования заносится под воздействием управляющего кода В 39(1). Поскольку в регистре 2 записана нулевая информация, то на выходах узла 20 разрядных произведений формируется также нулевая информация, которая через коммутаторы 9 и,О заносится в регистры 3 и 4 под воздействием управляющих кодов В 42(1), 5 В 43 (1), В 37 (1) и В 38 (1) .В четырнадцатой микрокоманде результат преобразования приводится к однорядному коду. Управляющий код В 48( ) настраивает арифметико-логи - ческий узел 21 и сумматор 22 на выполнение операций в десятичной арифметике. На входы первого и второго операндов узла 21 подается нулевая информация с выходов регистров 3 и 4 .через коммутаторы 12 и 13 под управлением кодов В 51(2) и В 52(2) соответственно, а на входы переносов узла 21 подаются переносы с выходов регистра 5 через коммутатор 18 под управлением кода В 54(0). В результате суммирования ( управляющий код В 49(9) настраивает узел 21 на режим суМмирования ) переносы формируются на выходах 80 результата узла 21, а на выходах 81 переносов узла 21 формируется нулевая информация. С выходов 80 результата переносы через коммутатор 15 под управлением кода В 47(0) передаются на входы второго слагаемого сумматора 22. С выходов 101 старших разрядов регистра 6 значения результата преобразования подаются со сдвигом на 4 бита вправо через коммутатор 17 В 47(0) на входы первого слагаемого сумматора 22, коммутатор 19 под управлением кода В 55(1) настраивает сумматор 22 на выполнение суммирования с передачей переносов между тетрадами. На выходе сумматора 22 Формируется однорядный код результата преобразования, который с выходов 82 сумм сумматора 22 через коммутатор 16 под управлением кода В 53 поступает на входы регистра б, в который записывается при воздействии управляющего кода В 39(1).В пятнадцатой микрокоманде результат преобразования (12 старших тетрад) с выходов 64 регистра 6 через коммутатор 8 под управлением кода В 41(2) поступает на входы узла 25 нормализации и сдвига, в котором выполняется сдвиг на 12 битов, вправо (младшие 4 бита результата отводятся под знак) под управлением кода В 46(2) с установкой на входе 30 кода сдвига на 12 битов вправо. С выходов 86 узла 25 результат преобратэования поступает на выход 33 результата,Выполнение операции преобразования двоично-десятичного кода в двоичный аналогично выполнению. описаннойоперации преобразования двоичного кода числа в двоично-десятичный, Отличия заключаются в следующем: узел40 20 разрядных произведений, арифметико-логический узел 21 и сумматор22 управляющим кодом В 4810 ) настраиваются на выполнение операций в двоичной арифметике; в. каждом такте5преобразуется одна тетрада (одна де -сятичная цифра) числа, которая с выходов 90 младших разрядов регистра 1передается через коммутатор 14 подуправлением кода В 47(1) на вход множителя узла 20; преобразуемое число,которое хранится в регистре 1, сдвигается на 4 бита вправо на коммутаторе 8 под управлением кода В 40(1),подготавливая тем самым новую тетраду для преобразования.Рассмотрим выполнение операции деления, В устройстве применен методпредсказания по старшим разрядамделимого (остатка) и делителя 1 с=4цифр частного с Получением очередного остатка в двухрядном коде.Рассмотрим более подробно операциюделения мантисс длинных операндов 25(в ЕС ЭВМ - 14 тетрад), Для определенности предполагаем, что мантиссы поступают нормализованными шестнадцатерично. Микропрограмма для этого случая приведена на фиг. 10, 30В первой микрокоманде нормализованная мантисса делимого, выравненнаяпо левой границе, поступает с входа29 данных через коммутатор 7 под управлением кода В 40(0) на входы регистра 1 и записывается в него подвоздействием управляющего кода В 35(1).Во второй микрокоманде мантиссаделимого с выходов 59 регистра 1 передается через коммутатор 8 под управлением кода В 41(0) на входы узла25 нормализации и сдвига, где сдвигается вправо на 1 бит под управлением кода В 46(2) при установке на входе30 узла 25 кода сдвига на 1 бит вправо. С выходов 86 узла 25 сдвинутаявправо на 1 бит мантисса делимогопоступает через коммутатор 10 под управлением кода В 43( 0 1 на входы регистра 4 и записывается в него под воздействием управляющего кода В 38(1).В этой же микрокоманде нормализованная мантисса делителя, выравненнаяпо левой границе, с входа 29 данныхустройства поступает через коммутатор 557 под управлением кода В 40(0) навходы регистра 1 и записывается внего под воздействием управляющегов ко В 35(1),/ В третьем такте производится дво-. ичная нормализация мантиссы делителя, для чего мантисса делителя с выходов 59 регистра 1 через коммутатор 8 под управлением кода В 41(0) поступает на входы узла 25 нормализации и сдвига, в котором под управлением кода В 46(4) происходит двоичная нормализация мантиссы (на выходе 34 кода нормализации устанавливается код двоичной нормализации мантиссы) ивыходов 86 узла 25 двоично-нормализованная мантисса поступает через коммутатор 7 под управлением кода В 40(3) на входы регистра 1, в который записывается под управлением кода В 35 (1),В четвертой микрокоманде двоичнонормалиэованный делитель с выходов 59 регистра 1 через коммутатор 8 под управлением кода В 41(0) заносится в регистр 2 под воздействием управляющего кода В 36В пятой микрокоманде выполняются следующие действия. Сформированная на выходах 89 узла 27 цифр частного текущая цифра частного на основе старших разрядов двухрядного кода остатка, поступающих с выходов 97 и 98 старших разрядов регистров 3 и 4 соответственно (в первом такте - это старшие разряды делимого), и старших разрядов делителя, поступающих на узел 27 с выходов 96 старших разрядов регистра 2, поступает через коммутатор 14 под управлением кода В 47(3) на вход множителя узла 20 разрядных произведений и через коммутатор 15 под управлением того же кода И 47(3) на входы второго слагаемого сумматора 22, В узле 20 формируются разрядные произведения мантиссы делителя на цифру частного, которые с выходов 78 старших и 79 младших цифр разряд" ных произведений узла 20 поступают на входы вычитаемого и заема вычитателя 26.Двухрядный код текущего остатка с выходов 61 и 62 регистров 3 и 4 соответственно поступает через коммутаторы 12 и 13 под управлением кодов В 51(2) и В 52(2) соответственно на входы первого и второго операндов арифметико-логического узла 21. Управляющий код В 54(2) настраивает ком-. мутатор 18 на передачу переносов между тетрадами узла 21 с установкой в уровень логической единицы входно 1545215 36го переноса в младшую тетраду узла 21, Управляющий код В 49( 9 ) настраивает узел 21 на выполнение функции сложения. Сформированный на выходах 80 узла 21 однорядный код текущего остатка поступает на входы уменьшаемого вычитателя .26, на выходах соответственно 88 и 87 заема разности которого формируется двухрядный код следующего остатка, который через коммутаторы 9 и 1 О под управлением кодов В 42(2) и В 43(2) .поступает на входы регистров 3 и 4 и записывается в них под воздействием управляющих кодов В 37(1) и В 38(1). С выходов 100 младших разрядов регистра текущее частное (или нулевая информация в 5-й микрокоманде, подготовленная заранее как и в операциях умножения) через коммутатор 17 под управлением кода В 47(3) поступает со сдвигом на 3 бита влево на входы первого слагаемого сумматора 22, где складывается с текущей цифрой частного, при этом 25 коммутатор 19 управляющим кодом В 55(1) настраивается на передачу переносов сумматора 22 между тетра- дами, С выходов 82 суммы сумматора 22 следующее частное через коммутатор 30 16 под управлением кода В 53(1) поступает на входы регистра 6, в который записывается под воздействием управляющего кода Б 39(1)Таким образом по окончании микрокоманды в регистре 6 хранится текущее частное, в регистрах 3 и 4 - двухрядный код текущего остатка, а в регистре 2 - двоичнонормалиэованный делитель,Затем выполняются микрокоманды 40 с 6-й по 23-ю, аналогичные описанной пятой микрокоманде. 11 о окончании 23 - й микрокоманды в регистре 6 в младших 58 разрядах находится частное, в регистрах 3 и 4 - двухрядный код последнего остатка.В двадцать четвертой микрокоманде приводится к однорядному коду двухрядный код остатка, который с выхо-. дов 61 и 62 регистров 3 и 4 через коммутаторы 12 и 13 под управлением кодов В 51(2) и В 52(2) соответственно поступает на входы первого и второго операндов арифметико-логического узла 21, который управляющим кодом55 Б 49(9) настраивается на выполнение функции сложения. Коммутатор 18 настраивается кодом В 54(1) на передачу переносов между тетрадами узла 21Сформированный на входах 80 резуль - тата узла 21 однорядный коц остатка через коммутатор 1 О под управлением кода В 43(3) поступает на входы регистра 4, в который записывается под воздействием управляющего кодаВ 38(1).В двадцать пятой микрокоманде выполняется пробное вычитание делителяиз остатка. С выходов 62 регистра 4через коммутатор 12 под управлениемкода 851(1) оцнорядный код остаткапоступает на входы первого операндаарифметико-логического узла 21, Значение делителя с выходов 60 регистра2 через коммутатор 13 под управлениемкода В 52(3) поступает со сдвигом на1 бит вправо на входы второго операндаузла 21 (сдвиг на 1 бит вправо выравнивает весовые значения остатка и делителя);Управляющий код В 49(6 ) настраиваетузел 21 на выполнение функции сложения .с обратным кодом. Коммутатор 18управляющим кодом В 541 2) настраивается на передачу переносов междутетрадами с установкой уровня логической единицы на входе переноса вмладший разряд узла 2. На выходах 80результата узла 21 формируется разность, причем, если остаток был меньше делителя, то разность отрицательна, в противоположном случае - разность положительна и, следовательно,в остатке содержится делитель, чтовызывает необходимость корректировкитекущего частного, которое осуществляется в 26 - й микрокоманде, Если корректировки не требуется, то осуществляется переход к выполнению 27-ймикрокоманды,Переход осуществляется следующим образом. Во время выполнения двадцать пятой микрокоманды иэ узлов 133 и 134 памяти считываются микрокоманды 26-я и 27-я одновременно по адресам, сформированным заранее в узлах 131 и 132 формирования адреса соответственно, Значение, образованное на выходе 57 старшего разряда арифметикологического узла 21, поступает на вход узла 137 проверки условий, который вырабатывает соответствующие управляющие сигналы для коммутатора 135, Так, в случае наличия уровня логической единицы на выходе 57 старшего разряда узла 21 на входы регистра 136 поступает 27-и микрокомап 2 тоа в случае наличия уровня логического нуля - 26-я микрокоманда.В двадцать шестой микрокомандепроизводится коррекция частного, для.этого текущее частное с выходов 64регистра 6 через коммутатор 12 подуправлением кода В 51(3) поступаетна вход первого узла 21, которыйуправляющим кодом В 49(0) настроенна выполнение функции транзита-коррекции. Коррекция вводится через входпереноса в младший разряд арифметикологического узла 21 установкой коммутатора 18 управляющим кодом В 54(2)в режим передачи переносов между тетрадами узла 21 с одновременной установкой в уровень логической единицы входного переноса в младший разрядузла 21. Сформированное на выходах80 узла 21 частное поступает черезкоммутатор 16 под управлением кодаВ 53(0) на входы регистра 6, в которыйзаписывается под воздействием управляющего кода В 39(1). 25В двадцать седьмой микрокомандечастное с выходов .64 регистра 6 поступает через коммутатор 8 под управлением кода В 41(2) на входы узла 25нормализации и сдвига 30Под воздействием управляющего кода В 46(1) в узле 25 производитсякорректирующий сдвиг влево частногопо коду двоичной нормализации делителя (проведенной в третьей микрокоманде), который устанавливается на входе30 кода сдвига,С выходов 86 узла 25 частное поступает на выход 33 результата устройства. 40Выполнение операции деления вцелочисленной арифметике сводитсяк выполнению описанной операции деления с плавающей запятой после перевода делимого и делителя в прямойкод.При сложении (вычитании) с фиксированной запятой операнды поступают на регистры 3 и 4, затем арифметико-логический узел 21 настраивается на выполнение функции сложения(сложения с обратным кодом с дополнением единицы в младший разряд узла 21) с распространением переносов между тетрадами узла 21. Окончательный результат заносится .в регистр 6,При сложении (вычитании) с плавающей запятой в устройстве обрабатываются мантиссы операндов. Сдвиг мантисс операндов производится при передаче их с входа 29 данных в регистры 3 или 4 в узле 25 нормализации и сдвига с установкой соответствующего кода сдвига на входе 30. За-, тем в арифметико-логическом узле 21 производится сложение (вычитание) мантисс и результат записывается в регистр 6. Если результат получа-ется отрицательным, то производится его перевод в прямой код.При операции Сдвиг влево ,и "Сдвиг вправо" операнд, поступающий на входы узла 25 нормализации и сдвига, сдвигается по коду, установленному на входе 30 кода сдвига. Сдвинутый операнд поступает на выход 33 результата устройства.Устройство может выполнять всете логи.еские операции, на которые ориентирована микросхема 500 ИП 181, при рсализации на них узла 21.Формула изобретенияВычислительное устройство, содержащее с первого по шестой регистры, с первого по девятый коммутаторы, узел разрядных произведений, арифметико-логический узел, сумматор, узел нормализации и сдвига и микропрограммный блок управления, причем выходы коммутаторов с первого по четвертый соединены с информационными входами соответствующих регистров, вход данных устройства соединен с первым информационным входом первого коммутатора, второй информационный вход которого соединен с выходом результата устройства, выход второго регистра соединен с входом множимого узла разрядньж произведений.и с первым ин-. формационным входом седьмого коммутатора, выходы шестого и седьмого коммутаторов соединены соответственно с первым и вторым информационными входами арифметика-логического узла; выход признака нуля узла нормализации и сдвига и выход старшего разряда результата арифметико-логического узла соединены соответственно с первым и вторым входами условий микропрограммного блока управления, адресный вход, которого соединен с адресным входом устройства, вход кода сдвига которого соединен с входом задания величиныИзобретение относится к области вычислительной техники, а именно к двоичным и десятичным арифметическим и логическим устройствам для выполне - ния операций с фиксированной и плавающей запятой,Целью изобретения является повышение быстродействия.На фиг. 1 показана структурная схема вычислительного устройсФва; на фиг, 2 - структурная схема узла разрядньгх произведении; на фиг. 3 - организация передачи и сохранения переносов при совместной работе арифметико-логического узла и сумматора;на фиг. 4 - структурная схема узла коррекции; на Фиг. 5 - структурная схема узла нормализации и сдвига;на фиг, 6 - структурная схема узла цифр частного.; на фиг, 7 - структурная схема микропрограммного блока управления; на фиг, 8-10 - микропрограммы выполнения в устройстве операций двоичного умножения, преобразования двоичного кода в двоично-десятичный и двоичного деления соответственно.Вычислительное устройство содержит (фиг. 1) регистры 1-6 с первого по шестой соответственно, коммутаторы 7-19 с первого по тринадцатый соот- ветственно, узел 20 разрядных произВедений, арифметико-логический узел 21 сумматор 22, узел 23 коррекции,Э35 узел 24 смещенных эквивалентов, узел 25 нормализации и сдвига, вычитатель 26, узел 27 цифр частного, микропрограммный блок 28 управления, вход 29 данных устройства, вход 30 кода сдвига устройства, вход 31 знаков множимого и множителя устройства, адресный вход 32 устройства, выход 33 результата устройства, выход 34 нормализации устройства, выходы 35-55 с 45 первого по двадцать первый блока 28 управления соответственно, выход 56 признака нуля узла 25 нормализации и сдвига, выход 57 старшего разряда и выход 58 переноса в старшую группу разрядов арифметико-логического узла 21, выходы 59-64 регистров 1 - 6 соответственно, выходы 65-77 коммутаторов 7-1 соответственно, выходы 78 и 79 старших и младших цифр узла 20 раз 55 рядных произведений, выходы 80 и 81 результата и переносов арифметикологического узла 21, выходы 82 и 83 сумм и переносов сумматора 22, выход 84 узла 23 коррекции, выход 85 узла24 смещенных эквивалентов, информационный выход 86 узла 25 нормализациии сдвига, выходы 87 и 88 разности изаема вычитателя 26, выход 89 узла27 цифр частного, выходы 90 младшихразрядов, выходы 91 младших 1 разрядов старшей части, выходы 92 старших (и) разрядов и выходы 93 старших (и-с ) разрядов регистра 1 гдеи - количество двоичных разрядов опеиранда, 4 М - , 3 с с 1 с)., выходы 94младших к разрядов коммутатора 11,входы 95 младших 1 разрядов входа29 данных, выходы 96 старших (1+3)разрядов регистра 2, выходы 97 и 98старших (Е+4) разрядов регистров 3и 4 соответственно, выходы 99 старших(и) разрядов регистра 4, выходы100 младших (ис+1) разрядов и выходы 101 старших (и) разрядов регистра 6, и выходы 101 младших Е разрядов суммы сумматора 22,Узел 20 разрядных произведенийсодержит (фиг, 2) элементы 102,-102,гп 1умножения (ш=- , где Х- ближайшее целое, большее ларбо равное Х),Арифметико-логический узел 21содержит (фиг. 3) ш арифметико в лгических элементов 103,-103 и ш корректоров 104,-104Сумматор 22 содержит (фиг. 3) шэлементов суммирования 105,-105 иш корректоров 106,-106,.Узел 23 коррекции содержит (фиг.4)сумматоры 107 и 108, триггеры 109 и110, регистр 111 коррекции, вход 112знака множимого и вход 113 знака множителя, выходы 114 и 115 суммы и переноса сумматора 107, выходы 116 и117 суммы и переноса сумматора 108 ивыходы 118 и 119 триггеров 109 и 110соответственно,Узел 25 нормализации и сдвига содержит (фиг, 5) циклический сдвигатель 120, Формирователь 121 кода маски, формирователь 122 результата,нормализатор 123 и коммутатор 24,Узел 27 цифр частного содержитсдвига узла нормализации и сдвига, выход кода нормализации которого является выходом кода нормализации устройства, выход третьего регистра соединен с первым информационным входом шестого коммутатора; первые информа- ционные входы третьего и четвертого коммутаторов объединены с вторым инфор мационным входом первого коммутатора.ли соединенй с информационным выходом узла нормализации и сдвига, выход переносов сумматора соединен с информационным входом пятого регистра, выход шестого регистра соединен с вторым информационным входом шестого коммутатора, выходы с первого по четвертый микропрограммного блока управления соединены с входами разрешения записи регистров с первого по четвертый соответственно, пятый выход микропрограммного блока управления соединен с входами разрешения записи пятого и шестого регистров, шестой, седьмой, восьмой и девятый вы ходы микропрограммного блока управления соединены с управляющими входами коммутаторов с первого по четвертый соответственно, о т л и ч а ю щ е е с я тем, что, с целью повышения быстродействия, оно содержит с десятого по тринадцатый коммутаторы, узел коррекции, узел смещенных эквивалентов, вычитатель и узел цифр частного, причем выход узла смещенных З 5 эквивалентов соединен с первым информационным входом второго коммутатора, Второй информационный вход которого соединен с выходом первого регистра, выходы старших разрядов которого сое- О динены с входами младших разрядов третьего и четвертого информационных входов первого коммутатора, входы старших разрядов третьего и четвертого информационных входов которого 45 соединены с выходом пятого коммутатора, первый информационный вход которого соединен с входами младших 1)азрядов входа данных устройства, выход результата которого соединен с третьим информационным входом шестого коммутатора и с вторым информационным входом седьмого коммутатора, информационный вход узла нормализации и сдвига соединен с выходом второго коммутатора, третий информационный вход которого соединен с выходом шестого регистра, выход чет- " вертого регистра соединен с четвертым информационным входом шестогокоммутатора и с третьим информационным входом седьмого коммутатора, вход множителя узла разрядных произведений соединен с выходом восьмого коммутатора, с первым информационным входом узла коррекции и с первым информационным входом девятого коммутатора, второй информационный вход которого соединен с выходом результата арифметико-логического узла, с первым информационным входом десятого коммутатора, с входом уменьшаемого вычитателя, и с вторым информацибнным входом четвертого коммутато - ра, выход старших цифр узла разрядных произведений соединен с входом вычитаемого вычитателя и с вторым информационным входом третьего коммутатора, выход младших цифр узла разрядных произведений соединен с входом заема вычитателя и с третьим информационным входом четвертого коммутатора, выходы разности и заема вычитателя соединены соответст- . венно с четвертым информационным входом четвертого коммутатора и с третьим информационным входом третьего коммутатора, выходы старших разрядов четвертого регистра соединены с четвертым информационным входом седьмого коммутатора, выход десятого коммутатора соединен с информационным входом шестого регистра, выходы младших и старших разрядов которого соединены соответственно с, первым информационным входом одиннадцатого коммутатора и с входами младших разрядов второго информационного входа одиннадцатого коммутатора, входы старших разрядов второго информационного входа которого соединены с выходом узла коррекции, второй информационный вход которого соединен с выходами младших разрядов старшей части первого регистра, выход переносов арифметико-логического узла соединен с первыми информационными входами двенадцатого и тринадцатого коммутаторов, выход пятого регистра соединен с вторым информационным входом двенадцатого коммутатора, выход переносов сумматора соединен с вторым информационным входом тринадцатого коммутатора, выход .сумм сумматора соединен с вторым, информационным входом десятого коммутатора, выходы младших разрядов суммы сумматора сое 41421 54 521.5динены с вторым информационным входом пятого коммутатора, выход двенадцатого коммутатора соединен с входом переносов арифметико-логического узла, выходы одиннадцатого и девятого ком 5 мутаторов соединены с входами первого и второго слагаемых сумматора соответственно, выход тринадцатого коммутатора соединен с входом переносов сумматора, выход четвертого регистра соединен с четвертым информационным входом второго коммутатора, выходы старших разрядов второго, третьего и четвертого регистров соединены с входами первой, второй и третьей групп узла цифр частного соответственно, выход которого соединен с первым информационным входом восьмого коммутатора, второй информационный вход которого соединен с выходами младших разрядов первого регистра, выход переноса в группу старших разрядов арифметико-логического узла соединен с входом разрешения узла 25 цифр частного, вход знаков множимого и множителя устройства соединен с третьим информационным входом узла коррекции, вход ра 1 решения.которого ;соединен с десятым выходом микропрограммного блока управления, адресный вход узла смещенных эквивалентовсоединен с одиннадцатым выходом микропрограммного блока управления, двенадцатый выход которого соединен свходом задания вида сдвига узла нормализации и сдвига, управляющие входы восьмого, девятого и одиннадцатого коммутаторов объединены и соедине-.ыы с тринадцатым выходом микропрогг,.раммного блока управления, четырнадцатый выход которого соединен с входами задания режима узла разрядныхпроизведений, сумматора и арифметико-логического узла, вход заданиявида операции которого соединен спятнадцатым выходом микропрограммно-го блока управления, управляющие входы пятого, шестого, седьмого, десятого, двенадцатого и тринадцатого коммутаторов соединены с выходами сшестнадцатого по двадцать первыймикропрограммного блока управлениясоответственно.154 5215 Составитель А, Клюетилло Техред М.Ходанич Редакто 1(орректор Н. Ревска ФЗаказ 491 Тираж 5 б 3 Подпис ноеВНИИПИ Государственного комитета по изобретениям и открьггиям113035, Москва, Ж, Раушская наб., д, 4/5 ИТ ССС 1 роцзводственно-издательский комбинат "Патент", г, Ужгород, ул, Гагарина, 1 О15 5 15452второи узлы 131 и 132 формированияадреса, первый и второй узлы 133 и134 памяти микрокоманд, коммутатор135, регистр 136 микрокоманд, узел137 проверки условий.Рассмотрим функциональное назначение и реализацию основных блокови узлов устройства, Для определенности при дальнейшем рассмотренииустройства примем следующие положения; формат н форма представлениячисел как в ЕС ЭВМ; разрядность основных регистров и трактов передачип=64; количество одновременно обрабатываемых разрядов двоичного множителя, а также количество одновременно формируемых двоичных разрядовчастного 1=4; количество одновременно анализируемых двоичных разрядов 20числа, преобразуемого в двоично-десятичный код, Е =3; при выполненииопераций над десятичными числами вкаждом такте обрабатывается одна десятичная цифра множителя или одна 25десятичная цифра преобразуемого вдвоичный код числа,Регистр 1 предназначен для приема и хранения операндов при выполнении в устройстве арифметических операций. Регистр 1 может быть построен, например, на основе триггеров,запись в которые осуществляется посинхроимпульсу при наличии на ихвходах разрешающего потенциала, ко 35торый поступает с выхода 35 блока28 управления, Все регистры имеютобщую цепь синхронизации, т.е. записьинформации в них происходит по одному и тому же синхроимпульсу при на 40личии соответствующих управляющихпотенциалов на их разрешающих входах,Регистр 2 предназначен для хранения значения множимого при выполнении в устройстве операции умножения,значения делителя при выполненииоперации деления или смещенного эквивалента веса преобразуемой группыразрядов при выполнении команд преобразования. Регистр 2 может бытьпостроен, например, на триггерах,запись информации в них производится по тому же синхроимпульсу, что идля описанного регистра 1 при наличии рарешающго потенциала с выхода36 блока 28 управления.Регистры 3 и 4 предназначены длявременного хранения значений частичных произведений при, выполнении опе 15 6раций умножения или значений промежуточных результатов преобразования при выполнении операций преобразования, сформированных в двухрядном коде на выходах 78 старших цифр и выходах 79 младших цифр разрядных произведений узла 20 соответственно, а также для временного хранения значений промежуточного остатка при выполнении операций деления, сформиро-, ванных в двухрядном коде на выходах 88 и 87 заема и разности соответственно вычитателя 26.Также регистры 3 и 4 используются для хранения исходных операндов при выполнении операций сложения и вычитанияРегистры 3 и 4 могут быть построены, например, на триггерах, запись информации в них производится пц тому же синхроимпульсу, что и для описанных регистров 1 и 2 при наличии потенциалов на их разрешающих входах с выходов 37 и 38 блока 28 управления соответственно. Разрядность регистров 2 и 3 может быть минимизирована исходя из выполняемых операций, для операции умножения достаточно разрядности регистров 2 и 3, равной 60 битам.Регистр 5 предназначен для хранения переносов, сформированных на выходахпереносов элементов 05 суммирования при выполнении всех операций в устройстве, и может быть построен на триггерах, на вход разрешения которых подается управляющий сигнал с выхода 39 блока 28 управления.Регистр 6 предназначен для временного хранения результатов, формируемых на выходах 80 сумм арифметикологического узла 21 или на выходах 82 сумм сумматора 22, и может быть построен на триггерах, на вход разрешения которых подан управляющий сигнал с выхода 39 блока 28 управле" ния. Коммутаторы 7-10 и 16 предназначены для передачи информации на входы регистров 1 - 4 и 6 соответственно. Коммутатор 8 передает информацию также на входы узла 25 нормализации и сдвига, Коммутаторы 7-10 и 16 могут быть выполнены на мультиплексорах 500 КП 174, на адресные входы которых подаются управляющие коды с выходов 40-43 и 53 блока 28 управления соответственно,1545215 25 яекьЕе микрооперации Выг ля- код В 4 3 В 4 42 1 2 К 10 43 Коммутатор 11 предназначен для передачи в старшие освобождающиеся раз -ряды при выполнении операции сдвигана 4 бита или на 3 бита вправо информации с выхода регистра 1. Коммутатор511 может быть выполнен на элементахИ-ИЛИ или мультиплексорах (2- 1) наадресный вход которых подается управляющий код с выхода 50 блока 28управления,Коммутаторы 12 и 13 предназначеныдля передачи информации на входы первого и второго операндов арифметико -логического узла 21 соответственнои могут быть выполнены на мультиплексорах 500 КП 14, на адресные входыкоторых подаются управляющие кодыс выходов 51 и 52 блока 28 управления соответственно,20Коммутатор 14 предназначен дляподачи информации на вход множителяузла 20 разрядных произведений и может. быть выполнен на элементах И-ИЛИ или, например, на мультиплексорах 500 КП 174, на адресные входы которых подается управляющий код с выхода 47 блока 28 управления.Коммутаторы 17 и 15 предназначены для передачи информации на входы 30 первого и второго слагаемых сумматора 22 соответственно и могут быть выполнены на элементах И-ИЛИ или, например, на двухвходовых регистрах 500 ТМ 173, на синхровходы которых подается уровень логической единицы,а на адресные входы - управляющийкод с выхода 47 блока 28 управления,что и на коммутатор 14.Коммутаторы 18 и 19 предназначеныдля управления передачей переносовв арифметико в логическ узле 21 исумматоре 22 соответственно, а такжедля организации совместной работы,причем они могут быть выполнены наэлементах И в И или, например, на двухвходовых регистрах 500 ТМ 173 аналогично описанным коммутаторая 17 и 15 с подачей на адресные входы управляющих кодов с выходов 54 и 55 . блока 28 управления,Функционирование коммутаторов 7- 19 приведено в табл1, Причем здесь и в дальнейшем при записи микроопераций применяются следующие сокращения;регистры 1-6 обозначаются Р 1-Рб соответственно; коммутаторы 7-19 К 7-К 19, узлы 20 и 21, сумматор 22, узлы 23-25, вычитатель 26, узел 27 и блок 28 - У 20-У 28 соответственно; входы 29-32 - Вх 29-Вх 32 и выходы 33-101 - ВЗЗ-В 101, а запись вида У 20/В 8(0-63)- К 9 (0-63) означает, что на выход коммутатора 9 - разряды с 0-го по 63-й - передается информация с выходов 78 узла 20 разрядных произведений с 0-го по 63-й разряды.Таблица Вх 29(0-63)- К 7(0-63)К 11(0-3) К(0-3)9Р 1(0,59)- К 7(4-63)К 11(0-2) К 7(0-2),РЕ(0-60) - К 7(3-63)У 25(0-63) -ф К 7(0-63)Р 1(О) - К 8(0-63)Р 4(0-63) - К 8(0-63)Рб(0-63) -К 8(0-63)У 24 (0-63) - К 8 (0-63)У 25(0-63) -К 9(0-63)У 20 В 78(0-63) -фК 9(0-63)У 26 В 88 (1-60) К 9 (0-59) юК 19 В 55 0 Каждый из элементов 102,-102 умножения узла 20 разрядных произведений осуществляет умножение соответ ствующей тетрады множимого поступающей с выходов 60 регистра 2, на тетраду множителя, поступающую с выходов 72 коммутатора 14, В зависимости от управляющего потенциала, поступающего с выхода 48 блока 28 управления на вход режима узла 20, на выходах 78 старших цифр и выходах 79 младших цифр разрядных произведений появляется результат умножения либо в двоичном, либо в двоично-десятичном коде.55 Предполагается, что потенциал логической единицы на выходе 48 блока 28 управления обеспечивает работу устУ 21(0-63) - К 0(0-63)У 22(ЬО) - К 11(0 - 3)Вх 29(60-63) К 11(0-3)У 25(0-63)- К 12(0-63)Р 4(0-63) - К 12(0-63)РЗ(0-63) - К 12(0-63)Р 6(0-63) К 12(0-63)У 25(6-63)- К 13(0-63)Р 4(0-63) - К 13 (0-63)Р 4 (0-59) К 13 (4-63),"0"- К 19(15) ройства в десятичной системе счисления, а потенциал логического нуля его работу в двоичной системе ,счисления. Элементы 102-102 умножения целесообразно реализовать в виде ППЗУ. В этом случае младшие или старшие цифры разрядных произведений на выходах элементов 102,-102, умножения могут формироваться уже скорректированными на "+6" без каких-либо дополнительных аппаратурных затрат.Такая коррекция двоично-десятичного кода произведения необходима для формирования в дальнейшем в арифметико-логическом узле 21 и сумматоре 22 десятичного результата, В дальнейшем для определенности принято30 то, что корректирующая поправка +6"вводится в старшие цифры разрядныхпроизвецений, Поскольку в рассматриваемом варианте приняты разрядностьоперандов и формат данных такими же,5как в ЕС ЗВМ, то узел 20 разрядныхпроизведений может содержать только5 элементов 102,-102 умножения,и тогда в младшие цифры разрядныХпроизведений должна вводиться млад -шая нулевая тетрада, а в старшие цифры разрядных произведений - младшаялибо нулевая тетрада при выполненииопераций в двоичной арифметике 1,науправляющем выходе 48 блока 28 управления установлен уровень логического нуля), либо код "б" при выполнении операций в десятичной арифметике (на управляющем выходе 48 блока28 управления установлен уровень ло,гической единицы).Арифметико-логический узел 21предназначен для выполнения арифметических и логических операций над 25операндами, поступающими на его входы первого и второго операндов с выходов 70 и 71 коммутаторов 12 и 13соответственно.Операции над многоразрядными(64-битными) операндами осуществляются потетрадно на арифметико-логических элементах 103 в 1 , причеминформация на входы г.реносов элементов 103-103 поступает с, выходов3576 коммутатора 18, Арифметика-логические элементы03 - 103, могут1быть выполнены, например, на микросхемах 500 ИП 181, на управляющие входыкоторых поступает управляющий код с 40выхода 49 блока 28 управления. В дальнейшем будем считать, что код "9соответствует формированию результата на выходах узла 21, равного сумме двух операндов, а код 6 - формированию разности двух операндовпри наличии входного переноса в младший разряд, код 0 формирует результат, равный операнду, поступающемуиа входы первого операнда, код "С"формирует результат в виде истинногонуля при наличии входного переносав младший разряд, Кроме этих кодовдопускается применение любого другогофкода в соответствии с работой микросхемы 500 КЛ 181,55При выполнении в устройстве двоичных операций корректоры 104,-104,арифметико-лдгического узла 21 настраиваются управляющим потенциалом"0" с выхода 48 блока 28 управленияна передачу информации на выходы 80результата транзитом,При выполнении десятичных операций управляющим потенциалом "1" навыходе 48 блока 28 управления корректоры 104 в 1 настраиваются на режим коррекции, при этом при наличиина соответствующих выходах 81 переносов арифметико-логических элементов 103, в 103 уровня логическойединицы осущес.вляется коррекция результата на "+6", в противном случаепередача информации через корректоры104,-104, осуществляется транзитом.Корректоры 104,-04, могут быть выполнены на элементах И, ИЛИ или, например, на одноразрядных двоичныхсумматорах 500 ИМ 180, на первые входыкоторых поступает информация с выходов арифметико-логических элементов 103, -103 1, а на вторых входахформируется код коррекции "6" в случае одновременного поступления уровней логической единицы с выхода 48блока 28 управления и с выхода переноса соответственно элементов 103 -03,Сумматор 22 предназначен для формирования промежуточных и окончательных результатов операций умножения ипреобразования, а также для формирования частного при выполнении операции деления,Информация на входы первого и второго слагаемых сумматора 22 поступает с выходов коммутаторов 17 и 15соответственно. Операция суммированиямногоразрядных (64-битных) операндовосуществляется потетрадно на элементах 105, в 05, суммирования, причеминформация на входы переносов поступает с выходов коммутатора 19. Злементы суммирования могут быть выполнены на микросхемах 500 ИП 181, науправляющие входы которых поступаеткоц "6"При выполнении в устройстве двоичных операций короекторы 106 в 1сумматора 22 настраиваются управляющим потенциалом "0" с выхода 48 блока28 управления на передачу информациис выходов элементов 105-1051 суммирования на выходы 82 суммы транзитом.При выполнении десятичных операцийуправляющим потенциалом "1" на выходе 48 блока управления корректоры106-106 настраиваются на режимкоррекции, причем при наличии на соответствующих выходах 83 переносовэлементов 105, в 1, суммированияуровня логического нуля осуществляется коррекция результата на " - 6", впротивном случае передача информациичерез корректоры 106,-106осуществляется транзитом, корректоры 106, -1061 могут быть выполнены на элементах И, ИЛИ, на микросхемах500 ИП 181 или, например, на одноразрядных двоичных сумматорах 500 ИМ 180,на первые входы которых поступаетинформация с выходов элементов 105 -1051 суммирования, а на вторых входах формируется код коррекции "10"(вычитание "6" заменяется прибавлением 0) в случае поступления уровня логической единицы.с выхода 48блока 28 управления и уровня логического нуля с выходов переносовсоответствующих элементов 105,-105суммирования,Рассмотрим организацию передачии сохранения переносов при совместнойработе арифметика-логического узла21 и сумматора 22 (фиг. 3).При установке управляющих кодов"1" на выходах 54 и 55 блока 28 управления коммутаторы 18 и 19 соответственно настраивают арифметика-логический узел 21 и сумматор 22 на работу с распространением переносов, т.е,перенос с выхода арифметика-логического элемента 103; передается через коммутатор 18 (-й элемент коммутирования) на вход переноса арифметика-логическога элемента 103; и т,д,Аналогично, выходной перенос элемента105 , суммирования через коммутатор19 (1-й элемент коммутирования) передается на вход переноса элемента105, суммирования,В этом случае осуществляется независимая работа арифметика-логического узла 21 и сумматора 22, При установке управляющего кода "2" на выходе 54 блока 28 управления на входпереноса младшего арифметика-логического элемента 103, подается уровеньлогической единицы, в остальном жеработа арифметика-логического узла21 аналогична описанной,При установке управляющих кодов"0" на выходах 54 и 55 блока 28 управления арифметика-логический узел21 и сумматор 22 настраиваются на выполнение потетрадных операций, Вэтом случае на входы переносов арифметика-логических элементов 103.1и 103;+, поступают значения переносов с выходов 63 регистра 5 (- и(д+1)-х триггеров соответственно),информация в которые была занесенав предыдущем такте или ранееЗначение выходного переноса арифметикологического элемента 103; поступа- ет через коммутатор 19 на вход переноса элемента 105. суммирования,на вход переноса элемента 105;суямирования значение переноса поступает с выхода переноса арифметикологического элемента 103; Значения выходных переносов элементов105 и 105. заносятся в 1- и (+1)-втриггеры регистра 5 соответственнои в следующем такте вновь подаютсяна вход арифметика-логических элементов 103,. и 103;, соответственно,Таким образом, осуществляется сдвиг25 вправо ыа 4 бита значений переносов,соответствующий сдвигу вправо суммычастичных произведений при выполнении операции умножения,Узел 23 коррекции предназначендля формирования и введения корректирующей поправки параллельно с выполнением операции умножения в дополнительных кодах, Узел 23 коррекцииможет быть реализован различными методами и средствами аналогична известному устройству.Управление сумматором 107 осуществляется с входов 112 знака множимога и 113 знака множителя, причем наличие уровня логического нуля на входе 112 знака мнажимого (множимое положительно) и/или на входе 113 зна -ка множителя (множитель положителен)блокирует передачу на выходы сумма 45 тора тетрады множителя с выходов 72коммутатора 14 и/или тетрады мнажимого с выходов 91 младших разряцовстаршей части регистра 1 соответственно. Триггеры 109 и 110 предназначены для временного хранения значений выходных переносов сумматоров107 и 108 соответственно или на на"1..чальном этапе формирования корректирующей поправки, знаков сомножителей, причем наличие уровня логичес. кой единицы на выходе 44 блока 28управления настраивает триггеры 109и 110 на запись выходных переносовсумматоров 107 и 108 соответственно1545215 ветствующее зн ыходах 85 узла ение см енного эквивалентах эквивалентов см 00000 00001 00010 00011 00100 0001 00110 00111 О 000 О 00 3 2 1 7 1 0 8 6 Л Г 4 2 9 8 5 Г 9 6 8 0 5 Е 1 0 0 9 А С А 0 10 10 и регистр 111 коррекции на запись тетрады корректирующей поправки, в противном случае в триггеры 109 и 110 заносятся знаки сомножителей с входов 112 и 113 соответственно, а в5 регистр 111 коррекции заносятся нули.Узел 24 смещенных эквивалентов предназначен для формирования в устройстве смещенных двоичных и двоично- О десятичных эквивалентов весов преобразуемых групп разрядов, Формирование смещенных эквивалентов связано со следующим. Выполнение операции умножения требует сдвига вправо сум 5 мы частичных произведений относительно очередного частичного произведения, При выполнении операции преобразования суммирование очередного частичного результата (произведения преобразуемой группы разрядов на соответствующий эквивалент ее веса) с суммой частичных результатов производится без сдвига.Поэтому для компенсации сдвига 25 вправо на тетраду в каждом такте работы устройства в узле 24 применен способ формирования смещенных эквивалЕнтов, т.е. при считывании из узла 24 каждый последующий эквивалент 30 оказывается сдвинутым на тетраду вправо относительно предыдущего. В табл. 2 приведены адреса и соответствующие им двоичные или двоично-десятичные смещенные эквиваленты, которые записаны в шестнадцатеричном или десятичном кодах соответственно, младшие и старшие незначащие нулевые тетрады пропущены.Узел 25 нормализации и сдвига 40 (фиг, 5) предназначен для выполнения нормализации и анализа на равенствонулю операндов при выполнении арифметических операций, а также длявыполнения операций логического сдвига, Он может иметь структурную органиэацию, аналогичную в известныхустройствах. В качестве циклическогосдвигателя 120 в нем может быть применен любой из известных однотактныхкомбинационных сдвигателей, позволяющих производить циклический сдвиг,например, влево, сдвиг вправо обеспечивается подачей с входа 30 кодасдвига устройства на управляющиевходы циклического сдвигателя 120дополнительного кода от числа бит,на которое нужно сдвинуть информацию, Этим условиям удовлетворяет,например, известный циклический сдвигатель,формирователь 12 кода маски предназначен для выработки корректирующих сигналов, необходимых при выполнении в устройстве логических сдвигов информации.Он может быть построен в соответствии с известным техническим решением. Дополнительной возможностьюэтого формирователя должна быть возможность выработки кода истинногонуля, что может быть обеспечено блокировкой его управляющих сигналовФормирователь 122 результата предназначен для окончательного формирования результата. Он может быть выполнен на,элементах И, на один входкоторых поступает информация с циклического сдвигателя 120, а на второй - соответствующий разряд кодамаски с формиоователя, 121 кода маски.Т а б л и ц а 2о о о о о 6 6 8 1 4 7 1 7 7 2 1 3 7 о о 4 5 2 2 1 7 7 4 1 о о 62 88 2 40 0 0 0 0 0 0 П р и м е ч а н и е. Значения смещенных эквивалентов, хранимыхв узле 24 по адресам от 00000 до 01111,представленные в шестнадцатеричной системесчисления, выдаются в двоичном коде, а значения смещенных эквивалентов, хранимых вузле 24 по адресам от 0000 до 11011, представленные в десятичной системе счисления,выдаются в двоично-десятичном коде,Нормализатор 123 служит для выработки кода нормализации поступающей информации и признака равенства ее нулю, В качестве нормализатораможет быть применен известный нормализатор,Коммутатор 124 предназначен дляпередачи на управляющий вход циклического сдвигателя 120 кода сдвига,поступающего на вход 30 в прямом коде(для сдвига влево) или в дополнительном коде (для сдвига вправо), или жекода нормализации (двоичной или шестнадцатеричной) в зависимости от уп-равляющего кода на выходе 46 блока28 управления,Будем считать, что при коде "0"на выходе 46 блока 28 управленияузел 25 нормализации и сдвига вырабатывает код истинного нуля.на выходе, при коде "1" и "2" выполняетсялогический сдвиг информации, поступающей с выходов 66 коммутатора 8,влево и вправо соответственно, апри кодах "3" и "4" выполняется сдвигвлево информации, поступающей с выхоооо 0101 оОо 01101 оо О 1 10000 Ооо Ооо Оо оОо оо оо 10111 Ооо Оо 010 011 1 О10"1 О0о"оо236922 152 т 822 ф2 272 ЯОо о о о о 1 8 6 4 5 1 2 0 9 3 2 7 2 6 2 2 0 9 1 6 7 4 1 0 7 о о о одов 66 коммутатора 8 по коду нормализации шестнадцатеричной и двоичной соответственноВычитатель 26 предназначен длявычитания из значения текущего остатка, полученного на выходах 80 арифметико-логического узла 21 в однорядном коде, значения произведения следующей цифры частного на делитель, подаваемого в двухрядном коде на входы вычитаемого и заема вычитателя 26 45 с выходов 78 и 79 старших и младшихцифр соответственно разрядных произведений узла 20. Вычитатель 26 формирует остаток в двухрядном коде в виде разности и заема, которые записываются в конце -такта в регистры 4 и 3 соответственно, причем в следующем такте для приведения нового текущего остатка к однорядному коду требуется выполнить функцию вычитания заема из разности на арифметико в логическ уз леВычитатель 26 может быть выполнен на одноразрядных двоичных вычитателях. Кроме этого, вычитатель 26 мож

Смотреть

Заявка

4421485, 06.05.1988

ПРЕДПРИЯТИЕ ПЯ М-5339

ЛОПАТО ГЕОРГИЙ ПАВЛОВИЧ, АСЦАТУРОВ РУБЕН МИХАЙЛОВИЧ, ШОСТАК АЛЕКСАНДР АНТОНОВИЧ, ЛОПАТО ЛИЛИЯ ГРИГОРЬЕВНА, ШПАКОВ ЛЕОНАРД ОРЕСТОВИЧ, ЖАЛКОВСКИЙ АНДРЕЙ АНТОНОВИЧ

МПК / Метки

МПК: G06F 7/38

Метки: вычислительное

Опубликовано: 23.02.1990

Код ссылки

<a href="https://patents.su/26-1545215-vychislitelnoe-ustrojjstvo.html" target="_blank" rel="follow" title="База патентов СССР">Вычислительное устройство</a>

Похожие патенты