Вычислительное устройство с совмещением операций Советский патент 1992 года по МПК G06F15/00 G06F15/78 

Описание патента на изобретение SU1716528A1

Изобретение относится к вычислительной технике и может быть использовано в электронной цифровой вычислительной машине.

Известно вычислительное устройство с совмещением операций, содержащее блок локальной памяти.

В известном устройстве при совмещенной обработке команд обнаружение конфликта по обращению к регистрам общего назначения ЕС ЭВМ вызывает выход из режима совмещения, что приводит к потерям времени. Недостатком известного устройства является низкая производительность.

Известно также вычислительное устройство с совмещением операций, содержащее регистр команды, блок дешифрации команд. В известном устройстве выполняется сравнение адреса операнда, считываемого командой считывания, с адресом операнда, записываемого предыдущей командой записи. Это позволяет обеспечить разрешение конфликта по считывания операнда, причем предотвращается использование операнда, запись которого предыдущей командой еще не завершилась.

Недостатком известного устройства является низкое быстродействие при выполнении команды записи, т.к. не обеспечивается возможность доступа к операнду, подлежащему записи. :..

Известно также вычислительное устройство с совмещением операций, содержащее регистр команды, блок локальной памяти, блок арифметическр-логический, блок микропрограммного управления. В известном устройстве предусмотрена возможность приема в блок арифметическо- логического результата выполнения предыдущей команды из блока локальной памяти или с выхода блока арифметическо- логического, что позволяет ускорить выборку операнда.

Недостатком известного устройства является низкое быстродействие при выполнении команды записи.

Наиболее близким к предлагаемому устройству по технической сущности является вычислительное устройство с совмещением операций, содержащее регистр команды, блок дешифрации команд, блок управления выборкой, блок локальной памяти, блок арифметическо-логический, блок микропрограммного управления. В известном устройстве обеспечивается убыстрение доступа к операнду, если перед командой, считывающей этот операнд из блока локальной памяти, выполняется команда, записывающая этот же операнд в блок локальной

памяти, т.е. обеспечивается доступ к операнду, минуя блок локальной памяти.

Недостатком известного устройства является низкое быстродействие при выполнении записи операнда.

Целью изобретения является повышение быстродействия.

Сущность изобретения состоит в том, что при выполнении устройством последо0 вательности команд в режиме совмещения команда записи операнда в основную память может выполняться в двух режимах: в обычном, когда операнд, подлежащий записи в основную память, должен быть предва5 рительно считан из блока локальной памяти, и в ускоренном, когда записываемый операнд к началу команды записи сформирован на выходе данных устройства и может быть немедленно записан в основную память.

0 Введение в устройство блока микропрограммного управления позволяет обеспечить два адреса ветвления для микропрограмм команд записи в основную память: один адрес для микропрограммы,

5 выполняемой в обычном режиме и содержащей полную последовательность микрокоманд, другой адрес - для короткой, более быстрой микропрограммы, выполняемой в ускоренном режиме. Кроме того, введение в

0 устройство блока микропрограммного управления позволяет обеспечить аппаратурную выработку сигналов микроопераций для микропрограммы команды записи, выполняемой в ускоренном режиме.

5 Введение в устройство блока распознавания команды позволяет определить начало выполнения устройством команды, производящей запись в основную память. Введение в устройство трех адресных

0 регистров, регистра микроопераций, схемы сравнения, второго элемента И и триггера совпадения адресов позволяет обнаружить ситуацию, когда равны адреса записи и считывания информации для блока локальной

5 памяти, т.е. когда информация, подлежащая считыванию из блока локальной памяти, имеется на выходе данных устройства.

Введение в устройство первого элемента И и триггера ускорения записи позволяет

0 обнаружить ситуацию, когда перед командой записи в основную память некоторого операнда выполняется команда, формирующая этот операнд и записывающая его по тому же адресу в блок локальной памяти, из

5 которого его должна извлечь команда записи в основную память:

Таким образом, введение в устройство новых блоков позволяет обеспечить ускорение выполнения команды записи в основ- ную память, когда записываемый операнд

формируется командой, предшествующей этой команде записи.

На фиг. 1 представлена структурная блок-схема вычислительного устройства е совмещением операций; на фиг. 2 - схема блока формирования адреса; на фиг. 3 - схема блока локальной памяти;на фиг. 4 - схема арифметическо-логического блока; на фиг. 5 - схема блока микропрограммного управления; на фиг. 6 - схема блока управления выборкой; на фиг. 7 - схема блока распознавания команды; на фиг. 8 - диаграмма блока микрокоманды; на фиг. 9 - блок-схема микропрограммы выполнения команды L; на фиг. 10 - блок-схема микропрограммы выполнения команды LE; на фиг. 11 - блок-схема микропрограммы выполнения команды ST; на фиг. 12-блок-схема микропрограммы выполнения команды STE; на фиг. 13 -блок-схема последовательности микрокоманд, выполняемой при обработке последовательности команд ЦО), ST(2) или LE(0), STE(2); на фиг. 14 - блок-схема последовательности микрокоманд, выполняемой при обработке последовательности команд ЦО), ST(0) или LE(0), STE(0): на фиг. 15 - временная диаграмма работы вычислительного устройства при обработке последовательности команд L(0), ST(2) или LE(0), STE(2); на фиг. 16 - временная диаграмма работы вычислительного устройства при Обработке последовательности команд ЦО) или ST(0). LE(0), STE(O); на фиг. 17 - временная диаграмма работы блока локальной памяти при выполнении последовательности из трех микрокоманд с адресами 350, 058(078), 050(070), выполняемой при отработке следующих последовательностей команд: ЦО), ST(2); LE(0). STE(2), ЦО), ST(0), LE(0), STE(0).

На фиг. 1-7 обозначены: регистр 1 команд, блок 2 формирования адреса, блок 3 локальной памяти, арифметическо-логиче- ский блок 4, блок 5 микропрограммного управления, блок 6 управления выборкой, триггер 7 ускорения записи, элементы И 8, 9, блок 10 распознавания команды, регистр 11 микроопераций, первый-третий адресные регистры 12-14, схема 15 сравнения, триггер 16 совпадения адресов, вход 17 команд устройства, вход 18 операндов устройства, первый-восьмой синхровходы 19-26 устройства, выход 27 данных устройства, выход 28 записи устройства, первый выход 29 блока управления выборкой, второй выход 30 регистра команд, выход 31 триггера ускорения записи, первый-третий выходы 32-34 микроопераций блока микропрограммного управления, первый выход 35 регистра команд, второй выход 36 блока

управления выборкой, выход 37 триггера совпадения адресов, выход 38 блока распознавания команд, выход 39 регистра микроопераций, выход 40 блока

5 формирования адреса, выход 41 третьего адресного регистра, выход 42 первого адресного регистра, выход 43 второго адресного регистра, выход 44 данных блока локальной памяти, элемент НЕ 45, элемент

0 ИЛИ-НЕ 46, регистр 47, триггер 48, коммутатор 49, элемент И 50, накопитель 51 локальной памяти, регистры 52-56, коммутатор 57, арифметическр-логические элементы 58-60, коммутатор 61, регистры

5 62, 63, память 64 микропрограмм, элементы ИЛИ 65-67, элементы И-НЕ 68. 69, триггеры 70, 71, элементы НЕ 72-76, элементы И 77, 78, триггер 79.

Регистр 1 команды предназначен для

0 приема в начале такта устройства информации, поступающей на его вход данных, при наличии единичного сигнала на его входе разрешения записи и хранения информации при нулевом сигнале на входе разреше5 ния записи.

Для ЕС ЭВМ разрядность регистра 1 команды равна 12. Первый выход 35 регистра 1 команд формируется из 1,3,9-12 разрядов регистра и соединен с входом блока 2

0 формирования адреса. Второй выход 30 регистра 1 команд формируется из 1-8 разрядов регистра и соединен е входом блока 10 распознавания команд, в котором не используется 3 разряд выхода 30, и с адрес5 ным входом блока 5 микропрограммного управления.

Блок 2 формирования адреса предназначен для формирования адреса операнда в локальной памяти в такте поступления на его вход командной информации. Выход 40 блока 2 формирования адреса соединен с входом третьего адресного регистра 14,

Данная реализация блока формирования адреса ориентирована на систему ко5 манд ЕС ЭВМ. Для этой системы команд формирование адреса операнда, находящегося в локальной памяти, заключается в подмешивании к четырем разрядам номера регистра первого операнда одного разряда

0 признака. Для команд с плавающей точкой (первая тетрада кода операции для этих команд равна 1, 3, 6 или 7 в шестнадцатерич- ной системе счисления) этот признак равен единице, для остальных команд - нулю. Та5 ким образом формируется пятиразрядный адрес обращения к блоку 3 локальной памяти.

Блок 3 локальной памяти предназначен для хранения операндов команд устройства и выполняет операции считывания и записи

информации в зависимости от сигнала на входе записи. При наличии единичного сигнала на входе записи блок 3 локальной памяти выполняет запись информации, поступающей на вход данных. При нулевом сигнале на входе записи блок 3 локальной памяти выполняет чтение информации, в результате которого на выходе блока 3 локальной памяти формируется результат считывания. В качестве адреса для блока 3 локальной памяти при единичном значении сигнала на входе управления режимом используется информация с входа адреса записи, при нулевом значении сигнала йа входе управления режимом блока 3 локальной памяти используется информация с входа адреса считывания.

Выход 44 данных блока 3 локальной памяти соединен с первым входом данных арифметическо-логического блока 4.

Арифметическо-логический блок 4 предназначен для приема операндов, поданных на первый и второй входы данных в начале такта устройства, и их арифметической и логической обработки в соответствии с сигналами, поданными на вход 34 операции арифметическо-логического блока 4. Результаты обработки формируются на выходе 27 блока 4 в начале следующего такта устройства. В случае, когда на входе 37 выбора блока 4 присутствует 1, в качестве первого операнда используется результат работы блока 4 в предыдущем такте устройства. В случае, когда на входе выбора блока 4 присутствует О, в качестве первого операнда используется информация, имеющаяся на первом входе данных блока 4. Выход 27 блока 4 соединен е входом данных блока 3 локальной памяти и с выходом данных устройства.

Блок 5 микропрограммного управления предназначен для хранения микропрограмм, управляющих работой устройства, выбора адреса микрокоманды, подлежащей выполнению, и хранения кода микрокоманды в течение такта выполнения данной микрокоманды.

По сигналу на первом входе 29 кода условия блока .5 микропрограммного управления в качестве адреса следующей микрокоманды используется информация на адресном входе блока 5 микропрограммного управления (при сигнале, равном единице) либо информация, сформированная самум блоком 5 микропрограммного управления (при сигнале, равном нулю). На выходах блока 5 микропрограммного управления формируется код микрокоманды, подлежащей выполнению, при этом на первый-третий выходы микроопераций выдаются микрооперации, соответствующие данной микрокоманде. По единичному значению сигнала на втором входе 31 кода условия блока 5 микропрограммного управления формируются

измененные код микрокоманды и код адреса следующей микрокоманды.

Формирование сигналов не изменяется при нулевом значении сигнала на входе 31. Первый выход 34 микрооперации блока 5

0 микропрограммного управления соединен с входом кода операции арифметическо-логического блока 4, второй выход 32 микроопе- раций блока 5 микропрограммного управления - с управляющим входом блока

5 6 управления выборкой, третий выход 33 микроопераций блока 5 микропрограммного управления соединен с входом регистра микроопераций. Выход 28 записи блока 5 микропрограммного управления соединен с

0 выходом записи устройства.

Блик 6 управления выборкой предназначен для выработки сигнала на выполнение следующей команды устройства. Сигнал перехода на выполнение следующей

5 команды устройства возникает при поступлении единичного сигнала во втором разряде уп равля ющего входа блока 6 управления выборкой и исчезает при поступлении единичного сигнала в первом разряде управля0 ющего входа блока б управления выборкой. Сигнал перехода на выполнение следующей команды формируется на первом выходе 29 блока 6 управления выборкой команды, на втором выходе 36 блока 6 управления вы5 боркой в следующем такте устройства формируется задержанный сигнал перехода на выполнение следующей команды. Первый выход 29 блока 6 управления выборкой соединен с первым входом кода условия блока

0 5 микропрограммного управления и с входом разрешения записи регистра 1 команд. Второй выход 36 блока 6 управления выборкой соединен с четвертым входом первого элемента И 8.

5 Первый элемент И 8 к триггер ускорения записи предназначены для формирования сигнала ускорения записи. Выход первого элемента И 8 соединен с входом установки триггера 7 ускорения записи. Вы0 ход 31 триггера 7 ускорения записи соединен с вторым входом кода условия блока 5 микропрограммного ускорения.

Блок 10 распознавания команд предназначен для формирования в начале такта,

5 следующего за тактом поступления на его вход 30 командной информации, признака наличия на шинах его входа комбинации сигналов, соответствующей кодам операции команд, в которых осуществляется запись первого операнда в основную память

по адресу второго операнда. Выход 38 блока 10 распознавания команд соединен с вторым входом первого элемента И 8.

Регистр 11 микрооперации предназначен для запоминания микроопераций, по- ступающих на его информационный вход, на один такт. Выход 39.1 первого разряда регистра 11 микроопераций соединен с первым входом второго элемента И 9 и с входом записи первого адресного регистра 12. Вы- ход 39.2 второго разряда регистра 11 микроопераций соединен с вторым входом второго элемента И 9 и с входом записи блока 3 локальной памяти.

Первый адресный регистр 12 предназ- начен для запоминания адреса, поступающего на информационный вход, на один такт устройства при наличии единичных сигналов на синхровходе и входе записи. Выход 42 первого адресного регистра 12 соединен с информационным входом второго адресного регистра 13 и с входом адреса считывания блока 3 локальной памяти.

Второй и третий адресные регистры 13 и 14 предназначены для запоминания адре- сов, поступающих на информационные входы при наличии единичных сигналов на соответствующих синхровходах. Выход 43 второго адресного регистра 13 соединен с вторым входом схемы 15 сравнения и с вхо- дом адреса записи блока 3 локальной памяти. Выход 41 третьего адресного регистра 14 соединен с информационным входом первого адресного регистра 12.

Второй элемент И 9, схема 15 сравне- ния, триггер 16 совпадения.адресов предг- назначены для формирования в середине такте выполнения микрокоманды с микрооперациями записи и считывания (единичные сигналы на первом и втором входах второго элемента И 9) при совпадении адресов записи и считывании, поступающих на первый и второй входы схемы 15 сравнения, единичного сигнала на выходе триггера 16 совпадения. Выход 37 триггера 16 совпа- дения соединен с первым входом первого элемента И 8 и с входом выбора арифме- тическо-логического блока 4. Выход второго элемента И 9 соединен с синхровходом триггера 16 совпадения. Выход схемы 15 сравнения соединен с информационным входом триггера 16 совпадения.

Вход 17 команд устройства соединен с входом данных регистра 1 команд. По входу 17 команд в устройство поступает информация об очередной команде, подлежащей выполнению, а именно код операции команды и адрес операнда, находящегося в локальной памяти.

Вход 18 операндов устройства соединен с вторым входом данных арифметиче- ско-логического блока 4. По входу 18 операндов в устройство поступает второй операнд выполняемой команды.

Первый синхровход 19 устройства соединен с синхровходами блока 5 микропрог- раммного управления, блока 10 распознавания команды, регистра 11 микроопераций, третьего адресного регистра 14 и блока 4.

Второй синхровход 20 устройства соединен с тактовым входом регистра 1 команд и с входом сброса триггера 16 совпадения.

Третий синхровход 21 устройства соединен с первым синхровходом блока 6 управления выборкой, с синхровходом первого адресного регистра 12 и с синхровходом блока 3 локальной памяти.

Четвертый синхровход 22 устройства соединен с вторым синхровходом блока 6 управления выборкой.

Пятый синхровход 23 устройства соединен с третьим входом второго элемента И 9 и с входом управления режимом блока 3 локальной памяти.

Шестой синхровход 24 устройства соединен с третьим синхровходом блока 6 управления выборкой, вторым синхровходом блока 5 микропрограммного управления, с синхровходом триггера 7 ускорения записи и третьим входом первого элемента И 8.

Седьмой синхровход 25 устройства соединен со стробирующим входом блока 3 локальной памяти и со стробирующим входом арифметическо-логического блока 4.

Восьмой синхровход 26 устройства соединен с синхровходом второго адресного регистра 13.

На схеме блока 2 формирования адреса (фиг.2) изображены элемент ИЛИ-НЕ 46 и элемент НЕ 45.

Первый разряд входа 35 блока соединен с первым входом элемента ИЛИ-НЕ 46, выход которого соединен с первым разрядом выхода 40 блока формирования адреса. Второй разряд входа 35 блока соединен с входом элемента НЕ 45, выход которого соединен с вторым входом элемента ИЛИ- НЕ 46. С третьего по шестой разряды входа 35 блока соединены с разрядами с второго по пятый выхода 40 блока соответственно.

На схеме блока 3 локальной памяти (фиг. 3) изображены регистр 47, триггер 48, коммутатор 49, элемент И 50 и накопитель 51 локальной памяти. Вход 43 адреса записи блока соединен с информационным входом регистра 47, выход которого соединен с первым входом данных коммутатора 49, выход которого соединен с адресным входом

накопителя 51 локальной памяти, выход которого соединен с выходом 44 блока локальной памяти. Вход 39 записи блока соединен с управляющим входом регистра 47 и с информационным входом триггера 48, выход которого соединен с вторым входом элемента И 50, выход которого соединен с входом управления обращением накопителя 51 локальной памяти, информационный вход которого соединен с входом 27 данных блока.

Стробирующий вход 25 блока соединен с синхровходом триггера 48 и с синхровхо- дом регистра 47. Синхровход 21 блока соединен с первым входом элемента И 50, а вход 23 управления режимом соединен с управляющим входом коммутатора 49, второй вход данных которого соединен с входом 42 адреса считывания блока.

Пятиразрядный регистр 47 предназначен для запоминания адреса обращения к накопителю 55 локальной памяти. Занесение информации в регистр 47 по информационному входу производится при наличии единичного сигнала на управляющем входе.

Накопитель 51 локальной памяти пред- назначен для хранения операндов команд устройства с фиксированной и плавающей точкой. При наличии нулевого сигнала на входе управления обращением накопитель 51 локальной памяти работает в режиме считывания информации по адресу, присутствующему на адресном входе. При наличии единичного сигнала на входе управления обращением накопитель 51 локальной памяти работает в режиме записи информа- ции по адресу, присутствующему на его адресном входе, причем записи подлежит информация, имеющаяся на информационном входе накопителя. Накопитель 51 локальной памяти позволяет осуществлять в течение одного такта устройства одно обращение для считывания информации и одно обращение для записи,

Коммутатор 49 предназначен для выбора источника адреса обращения к накопите- лю 51 локальной памяти. При нулевом сигнале на управляющем входе коммутатора 49 он подключает на свой выход адрес с второго входа данных(адрес считывания накопителя 51 локальной памяти на входе 42 адреса считывания блока). При единичном сигнале на управляющем входе коммутатора 49 он подключает на свой выход адрес с первого входа данных (адрес записи в накопитель 51 локальной памяти из регистра 47).

На схеме арифметическо-логического блока 4 (фиг. 4)изображены регистры 52-56, коммутатор 57, арифметические элементы 58-60. На фиг. 4 арифметическо-логический элемент обозначен AL, его вход переноса

СО, выход последовательного переноса С4, выход прохождения переноса Р, выход генерации переноса G, разрядные входы первого операнда АО, А1, А2, A3, разрядные входы второго операнда ВО, В1, 82 , ВЗ, разрядные входы кода функции SO, S1, S2, S3, М. разрядные выходы результата FO, F1, F2, F3. Первый вход 44 данных блока соединен с первым входом данных коммутатора 57, выход которого соединен с входом данных регистра 53, разрядные шины выхода которого соединены с соответствующими разрядными входами первого операнда арифмети- ческо-логических элементов 58-60, разрядные выходы результата которых соединены с соответствующими разрядными шинами входа данных регистра 55, выход которого соединен с вторым входом данных коммутатора 57 и с входом данных регистра 56, выход которого соединен с выходом 27 блока. Второй вход 18 данных блока соединен с входом данных регистра 54, разрядные шины выхода которого соединены с соответствующими разрядными входами второго операнда арифметическо-логиче- ских элементов 58-60. разрядные входы кода функции которых соединены с разрядными выходами с второго по шестой регистра 52, вход данных которого соединен с входом 34 кода операций блока. Первый разрядный выход регистра 52 соединен с входом переноса арифметическо-логического элемента 58, выход последовательного переноса которого соединен с входом переноса арифметическо-логического элемента 59, выход последовательного переноса которого соединен с входом перекоса последующего арифметическо-логического элемента. Вход переноса арифметическо-логического элемента 60 соединен с выходом последовательного/ переноса предыдущего арифметическо-логического элемента. Вход 37 выбора блока соединен с управляющим входом коммутатора 57. Синхровход 19 блока соединен с синхровходами регистров 52-56. Стробирующий вход 25 блока соединен с синхровходом регистра 55.

Разрядность регистра 52 - 6 битов, разрядность регистров 53-56 - 32 бита. При такой разрядности операндов требуется 8 арифметическо-логических элементов для их обработки. Коммутатор 57 предназначен для выбора источника данных, поступающих на вход данных регистра 53. При нулевом сигнале на управляющем входе коммутатора 57 он выдает на выход информацию, поступающую на его первый вход данных. При единичном сигнале на управляющем входе коммутатора 57 он выдает на

выход информацию, поступающую на его второй вход данных.

На схеме блока 5 микропрограммного управления (фиг. 5) изображены коммутатор 61, регистры 62, 63 и память 64 микропрог- рамм, элементы ИЛИ 65-67. Коммутатор 61 предназначен для выбора источника информации, поступающей на вход данных регистра 62, При нулевом сигнале на управляющем входе коммутатора 61 он вы да- ет на выход информацию, поступающую на второй адресный вход. При единичном сигнале на управляющем входе коммутатора 61 он выдает на выход информацию, поступающую на первый адресный вход. Десяти- разрядный регистр 62 предназначен для хранения адреса микрокоманды. Память 64 микропрограмм предназначена для хранения микропрограмм, управляющих работой устройства. Каждой команде из набора ко- манд, выполняемых устройством, соответствует определенная микропрограмма, В памяти 64 микропрограмм содержатся по крайней мере микропрограммы выполнения следующих команд из системы команд ЕС ЭВМ (в скобках указано мнемоническое обозначение команды):

загрузка (L),

загрузка (короткие операнды) (LE),

запись в память (ST),

запись в память (короткие операнды) (STE).

Каждая микропрограмма состоит из одной или нескольких микрокоманд. Микрокоманды размещены в памяти 64 в соответствии с их адресами.. Если на входе памяти 64 задан код адреса некоторой микрокоманды, то на выходе памяти 64 формируется код этой микрокоманды.Каждая микрокоманда состоит по меньшей мере из 21 разряда. Шесть первых разрядов выхода памяти 64 составляют код функции арифме- тическо-логического блока 4 (может быть задан код любой функции из списка функций арифметическо-логических элементов 58, 59, 60). Существенными являются следующие: функция Транзит первого операнда с кодом 011111 и обозначением С-А и функция Транзит второго операнда с кодом 010101 и обозначением С-В.

Седьмой разряд выхода памяти 64 микропрограмм задает микрооперацию Считывание локальной памяти, обозначение которой ЧТЛП.

Восьмой разряд выхода памяти 64 мик- ропрограмм задает микрооперацию Запись в локальную память, обозначение которой ЗЛЛП.

Девятый разряд выхода памяти 64 микропрограмм задает микрооперацию Запрет выполнения следующей команды, обозначение которой ЗВСК.

Десятый разряд выхода памяти 64 микропрограмм задает микрооперацию Разрешение выполнения следующей команды, обозначение которой РВСК.

Одиннадцатый разряд выхода памяти 64 микропрограмм задает микрооперацию Запись в основную память, обозначение которой ЗПОП.

Разряды с двенадцатого по двадцать первый выхода памяти 64 микропрограмм составляют сдрес следующей микрокоманды, подлежащей выполнению.

Двадцатиразрядный регистр 63 предназначен для хранения в течение одного такта процессора кода выполняемой в этом такте микрокоманды. Не подлежит запоминанию в регистре 63 микрооперация ЗВСК, используемая в конце такта процессора, предшествующего такту выполнения данной микрокоманды.

Адресный вход 30 блока соединен с разрядными входами с 3-го по 10-й первого входа данных коммутатора 61, разрядные входы которого 1-й и 2-й соединены с шиной нулевого потенциала (Земля), а первый вход 29 кода условия блока соединен с управляющим входом коммутатора 61, выход которого соединен с информационным входом регистра 62, выход которого соединен с входом 64 памяти микропрограмм, разряды с 1-го по 8-й и с 10-го по 21-й выхода которой соединены с разрядами с по 20-й информационного входа регистра 63. Девятый разряд выхода 64 памяти микропрограмм соединен с первым разрядом второго выхода 32 микроопераций блока. Разряды с 1-го по 6-й выхода регистра 63 соединены с разрядами с 1-го по 6-й первого выхода 34 микроопераций блока. 7-й и 8-й разряды выхода регистра 63 соединены с 1-м и 2-м разрядом третьего выхода 33 микроопераций. Девятый разряд выхода регистра 63 соединен с первым входом элемента ИЛИ 65, выход которого соединен с вторым разрядом второго выхода 32 микроопераций блока. Десятый разряд выхода регистра 63 соединен с первым входом элемента ИЛИ 66, выход которого соединен с выходом 28 записи блока. 11-й и с 13-го по разряды выхода регистра 63 соединены соответственно с 1- м и с 3-го по 10-й разрядными входами второго входа данных коммутатора 61. Двенадцатый разряд выхода регистра 63 соединён е первым входом элемента ИЛИ 67, выход которого соединен с вторым разрядным входом второго входа данных коммутатора 61. Второй вход кода условия 31 блока соединен с вторыми входами элементов

ИЛИ 65, 66,67. Первый синхровход 19 блока соединен с синхровходом регистра 62. Второй синхровход 21 блока соединен с синхровходом регистра 63.

На схеме блока 6 управления выборкой (фиг. 6) изображены элементы И-НЕ 68,69 и триггеры 70, 71. Первый разряд управляющего входа 32 блока соединен с входом элемента И НЕ 68, выход которого соединен с входом установки триггера 70, инверсный выход которого соединен с информационным входом триггера 71 и с первым выходом 29 блока. Второй разряд управляющего входа 32 блока соединен с входом элемента И-НЕ 69, выход которого соединен с входом сброса триггера 70. Третий синхровход 24 блока соединен с входом элемента И-НЕ 68. Второй синхровход 22 блока соединен с входом элемента И-НЕ 69. Первый синхровход 21 блока соединен с входом элемента И-НЁ 69 и с синхровходом триггера 71, выход которого соединен с вторым выходом 36 блока.

На схеме блока 10 распознавания команды (фиг. 7) изображены элементы НЕ 72-76, элементы И 77,78 и триггер 79. Первый разряд информационного входа 30 блока соединен с входом элемента НЕ 76, выход которого соединен с входом элемента И 78, выход которого соединен с входом элемента И 77, выход которого соединен с информационным входом (D) триггера 79, выход которого соединен с выходом 38 блока. Второй и третий разряды информационного входа 30 блока соединены с входами элемента И 78. С 4-го по 7-й разряды информационного входа 30 блока соединены соответственно с входами элементов НЕ 72.73, 74, 75, выходы которых соединены с входами элемента И 77. Синхровход 19 блока соединен с синхровходом (С) триггера 79.

Блок 10 распознавания команды формирует признак наличия на его входе кода операции команд записи в основную память ST и STE, коды операции которых 50 и 70 соответственно (в шестнадцатеричной системе счисления).

На диаграмме блока микрокоманды (фиг. 8) изображено распределение записей символических обозначений микроопераций в последовательных строках каждого блока.

8 первой строке располагается обозначение функции арифметйческо-логического блока. Вторая строка: в начале строки располагается обозначение микрооперации Считывание локальной памяти, в конце - обозначение микрооперации Запись в локальную память. Третья строка: в начале строки располагается обозначение микрооперации Запрет выполнения следующей команды, в конце-микрооперации Разрешение выполнения следующей команды. Четвертая строка: в начале строки располагается обозначение микрооперации Запись в основную память, в конце строки располагается адрес следующей микрокоманды (ККК). Над блоком микрокоманды справа записывается адрес микрокоманды

0 (NNN). Обозначение каждой микрооперации отличается от обозначения любой другой микрооперации, поэтому для упрощения на блок-схемах микропрограмм (фиг. 9-14) номера строк в блоках микроко5 манд не проставляются.

Работа вычислительного устройства заключается в выполнении последовательности команд. Каждая команда состоит из кода операции, указывающего, какая операция

0 должна выполняться, и кода, задающего операнды. Имеются два класса операндов: регистровые операнды и операнды в основной памяти. Каждая команда использует два операнда, причем первый операнд всегда

5 находится в локальной памяти (регистровый операнд), а второй операнд может находиться также и в основной памяти. Адрес операнда в локальной памяти непосредственно указывается номером регистра. В оп0 редёленном поле команды адрес операнда в основной памяти формируется путем определенных действия над полями команды, отведенными для задания адреса.

На адрес операнда в основной памяти

5 накладывается следующее ограничение: он должен быть кратен количеству байтов в операнде (для 32-разрядных операндов, например, адрес должен быть кратен четырем). Разрядность операндов должна быть

0 равна разрядности вычислительного устройства (для 32-разрядного вычислительного устройства операнды могут быть только 32-разрядными).

Команды, выполняемые вычислитель5 ным устройством, можно разделить на два типа.

К первому типу относятся команды, результат выполнения которых помещается в локальную память по адресу первого опе0 ранда. В ЕС ЭВМ к этому типу относятся такие команды форматов RR и RX, как ело-, жение, вычитание, умножение и т.п. При этом операндами могут быть 32-разрядные числа как с фиксированной, так и с плаваю5 щей точкой. В целях упрощения выполнение в устройстве команд данного типа рассмотрено на примере команды RX-формата Загрузка, обозначение которой L для операндов с фиксированной точкой и LE для операндов с плавающей точкой. Выполнение команд L и LE заключается в помещении 32-разрядного слова, расположенного в основной памяти по адресу второго операнда, в локальную память по адресу первого операнда.

Ко второму типу относятся команды, выполнение которых заключается в записи первого операнда в основную память по адресу второго операнда. В ЕС ЭВМ к таким командам (с 32-разрядными операндами) относятся команды Запись в память, обозначение которых ST и STE для операндов с фиксированной и плавающей точками соответственно.

Процесс выполнения команды можно разделить на следующие этапы: выборка команды, формирование адреса второго операнда (для операнда в основной памяти), считывание операндов, обработка операндов, запись результата. Устройство работает в режиме совмещения операций, при этом все действия по выборке некоторой команды, формированию адреса операнда и считыванию операнда производятся на фоне этапов обработки операндов и записи результата предыдущих команд. В результате такого режима работы устройствомо- жет в каждом своем такте выполнять по одной команде, если обработка операндов и запись результатов выполняемых команд может быть осуществлена за один такт работы устройства. Если этапы обработки операндов и записи результата некоторой команды требуют более одного такта работы устройства, то выполнение последующих команд задерживается на необходимое количество тактов. .

Не является существенным, как конкретно происходит выборка команды, поэтому соответствующие адресные цепи и накопители информации не показаны. Код операции очередной команды и адрес первого операнда поступают на вход 17 команд процессора.

Также не является существенным, как происходит формирование адреса и считывание второго операнда, поэтому соответствующие адресные цепи и накопители информации не показаны. Второй операнд поступает на вход 18 операндов устройства.

При записи информации на место второго операнда в основной памяти работают те же адресные цепи и накопитель информации, что и при считывании второго операнда из основной памяти. Для изобретения не является существенным конкретное содержание процесса записи в основную память, поэтому считается достаточным выдать единичный сигнал на выход 28 записи устройства для помещения информации с выхода 27 данных устройства на место второго операнда.

Работа устройства будет рассматриваться на последовательности из двух ко- 5 манд ЕС ЭВМ Загрузка и Запись в память. В зависимости от типа операндов и адресов первого операнда такая последовательность может быть в четырех вариантах: 1) ЦО), ST(2); 2) LE(0), STE(2); 3) L(0), ST(0);

0 A) LE(0), STE (0).

За обозначением в скобках указан адрес первого операнда. В первых двух вариантах адреса первых операндов отличаются, а в 3-м и 4-м вариантах адреса

5 совпадают.

Микропрограммы команд L, LE, ST, STE представлены на фиг. 9-12 соответственно. Вычислительное устройство работает следующим образом (фиг. 1, 13-16).

0 Пусть вычислительное устройство в некоторый момент времени выполняет этап обработки операндов какой-либо команды, занимающий несколько тактов работы устройства. Для определенности примем, что

5.это момент времени перед выполнением микрокоманды 250 некоторой команды ST. К этому моменту времени в регистре 1 команд находится код операции и номер первого операнда команды L (для 1 и 3

0 вариантов последовательности команд) или LE (для 2 и 4 вариантов). На выходе 40 блока формирования адреса сформирован адрес первого операнда в блоке 3 локальной памяти (равный 00000 или 10000 для команды L

5 и ЦЕ соответственно), а на выходе 38 блока 10 распознавания команд имеется сигнал 0м. На выходах 29 и 36 блока 6 управления выборкой имеется нулевой сигнал перехода на выполнение следующей команды. На вы0 ходах блока 5 микропрограммного управления имеется код микрокоманды 250. На выходе 31 триггера 7 ускорения записи имеется сигнал О, поэтому код микрокоманды 250 формируется без изменения и адрес

5 следующей микрокоманды также формируется блоком 5 микропрограммного управления без изменения. Состояние адресных регистров, блока 3 локальной памяти и арифметическо-логического блока 4 в дан0 ный момент времени не представляет интереса.

По переднему фронту импульса на первом синхровходе 19 устройства при выполнении микрокоманды 250 в блоке 5

5 микропрограммного управления осуществляется запоминание выбранного адреса следующей микрокоманды. Поскольку на первом 29 и втором 31 входах кода условия блока 5 микропрограммного управления имеется сигнал О, в качестве выбранного

адреса следующей микрокоманды используется информация из микрокоманды 250 (поле адреса следующей микрокоманды равно 350).

По микрооперации РВСК осуществляется выработка сигнала перехода на выполнение следующей команды в блоке 6 управления выборкой, этот сигнал формируется на выходе 29 блока б управления выборкой. В конце такта выполнения микрокоманды 250 по переднему фронту синхроимпульса на шестом синхровходе устройства на выходах блока 5 микропрограммного управления формируется код микрокоманды 350.

Остальные действия, выполняемые процессором в данном такте, не представляют интереса.

В начале такта выполнения микрокоманды 350 выполняются следующие действия:

в блоке 5 микропрограммного управления осуществляется выбор адреса следующей микрокоманды. Так как на первый вход 29 кода условия блока 5 микропрограммного управления поступает сигнал Г с первого выхода 25 блока 6 управления выборкой, в качестве адреса следующей микрокоманды используется информация, имеющаяся на адресном входе 30 блока 5 микропрограммного управления, т.е. код операции команды L или LE (58 или 78 соответственно) с выхода регистра 1 команд;

по микрооперации ЧТЛП, заданной в микрокоманде 350, первый адресный регистр 12 устройства по импульсу на третьем синхровходе 21 устройства запоминает адрес локальной памяти, сформированный блоком 2 формирования адреса по информации из регистра 1 команд и предварительно запомненный по импульсу на первом синхровходе 19 устройства в третьем адресном регистре 14. По импульсу на восьмом синхровходе 26 устройства информация с выхода 42 первого адресного регистра 12 запоминается во втором адресном регистре 13. который предназначен для хранения адреса записи для блока 3 локальной памяти (00000 или 10000). Блок 3 локальной памяти принимает сформированный адрес считывания с выхода 42 первого адресного регистра на свой вход адреса считывания (00000 или 10000). Микрооперация ЧТЛП должна присутствовать в последней микрокоманде этапа обработки операндов всех команд (для однотактного этапа обработки операндов последняя микрокоманда будет также являться первой). Это объясняется необходимостью считать первый операнд до выполнения первой микрокоманды этапа обработки операндов следующей команды.

Для команды L или LE, в частности, информация, считанная блоком 3 локальной памяти по адресу первого операнда, не

3 представляет интереса, но большинство других наиболее употребляемых команд (например, типа Сложение) использует эту информацию. В целях упрощения оборудоQ вания микрооперация ЧТЛП присутствует в последней микрокоманде этапа обработки операндов любой команды (это позволяет не анализировать необходимость считывания первого операнда для следующей ко манды). Кроме того, микрооперация ЧТЛП позволяет блоку 3 локальной памяти выполнять в последующих тактах операцию записи информации по адресу, использованному для данного считывания.

.В результате действий, выполненных в

начале такта, содержимое регистра 1 команд было передано в другие блоки и он освободился для приема новой информации. Так как на входе 29 разрешения записи

регистра команд присутствует единичный сигнал перехода на выполнение следующей команды, в регистр 1 команд передним фронтом импульса на втором синхровходе 20 устройства заносится с входа 17 команд устройства код операции и номер первого операнда следующей команды, конкретное значение которых зависит от варианта последовательности команд (50 и 0010 для первого варианта, 70 и 0010 для второго, 50

и 0000 для третьего и 70 и 0000 для четвертого варианта). На основе информации, поступающей из регистра 1 команд на вход 35 блока 2 формирования адреса, на выходе 40 адреса блока формируется адрес первого операнда в блоке 3 локальной памяти, равный 00010 (1-й вариант), 10010 (2-й вариант), 00000 (3-й вариант) и 10000 (4-й вариант).

По переднему фронту импульса на третьем еинхровходе 21 устройства на выходе 36 блока 6 управления выборкой формируется задержанный единичный сигнал перехода на выполнение следующей команды. По переднему фронту импульса на первом синхровходе устройства блок 10 . распознавания команд формирует сигнал

0 О, соответствующий команде L и LE, таким образом, на выходе элемента И 8 формируется сигнал О и по переднему фронту импульса на шестом синхровходе 24 устройства запоминается в триггере 7 ускорения записи, В результате на выходе 31 триггера 7 ускорения записи по-прежнему сохраняется сигнал О, поэтому код микрокоманды 058(078) формируется без изменения.

0

0

5

В результате считывания информации из блока 3 локальной памяти по адресу 00000 (1-й и 3-й вариант) или 10000 (2-й и 4-й вариант) на его выходе 34 данных формиру- ется соответствующая информация, которая, однако, в дальнейшем не используется (в соответствии с алгоритмами выполнения команд L и LE). Остальные действия, выполняемые устройством в данном такте, несу- щественны.

В начале выполнения микрокоманды 058 (для 1-го и 3-го вариантов) или 078 (для 2-го и 4-го вариантов) выполняются следующие действия:

по переднему фронту импульса на первом синхровходе 19 устройства в блоке 5 микропрограммного управления осуществляется запоминание выбранного адреса следующей микрокоманды. Так как на пер- вый вход 29 кода условия блока поступает сигнал 1 с первого выхода 29 блока 6 управления выборкой, в качестве адреса следующей микрокоманды используется информация, имеющаяся на адресном вхо- де 30 блока 5 микропрограммного управления, т.е. код операции команды ST или STE (50 или 70 соответственно) с второго выхода регистра 1 команд;

на выходе 38 блока 10 распознавания команд по импульсу на первом синхровходе 19 устройства формируется сигнал 1, соответствующий наличию в этот момент в регистре 1 команды кода операции команды ST (для 1-го и 3-го вариантов) или STE (для 2-го и 4-го вариантов). Этот сигнал поступает на вход элемента И 8;

по микрооперации ЧТЛП, заданной в микрокоманде 058.или 078, первый адресный регистр 12 устройства по импульсу на третьем синхровходе 21 устройства запоминает адрес чтения локальной памяти, сформированный блоком 2 формирования адреса по информации из регистра 1 команд и предварительно запомненный по импуль- су на первом синхровходе 19 устройства в третьем адресном регистре 14 (00010 для 1-го варианта, 10010для2-го, 00000 для 3-го и 10000 для 4-го варианта);

по микрооперации С-В, поступающей на вход 34 кода операции арифметическо-ло- гического блока 4, он начинает выполнять передачу с входа 18 операндов устройства операнда команды L и LE, присутствующих в этот момент, на свой выход 27. При таком функционировании блока информация на его входах 44 и 37 не оказывает влияния на его работу.

В результате описанных действий содержимое регистра 1 команд передано в другие блоки и он освободился для приема

новой информации. Так как на входе 29 разрешения записи регистра 1 команд присутствует единичный сигнал, в регистр 1 команд заносится с входа 17 команд устройства код операции и номер первого операнда следующей команды, которая уже выходит за рамки рассматриваемой последовательности команд и поэтому не подлежит конкретизации.

Дальнейшая работа устройства по выполнению последовательности команд Загрузка и Запись в память будет рассмотрена отдельно для 1-го, 2-го вариантов и 3-го, 4-го вариантов. Это объясняется тем, что дальнейшая работа устройства существенно отличается для случая несовпадения адресов первых операндов этих команд и для случая совпадения этих адресов. Сначала будет рассмотрена дальнейшая работа устройства по выполнению 1-го и 2-го вариантов последовательности команд (фиг. 1, 13, 15).

По импульсу на пятом синхровходе 23 устройства в такте выполнения микрокоманды 058(1) или 078(2) выполняется запоминание сформированного сигнала в триггере 16 совпадения адресов, поскольку в этих микрокомандах присутствуют одновременно микрооперации ЧТЛП и ЗПЛП.

По микрооперации ЧТЛП осуществляется считывание первого операнда для команды ST или STE по адресу 00010 или 10010. По микрооперации ЗПЛП в следующем такте будет производиться запись результата выполнения команды L или LE по адресу 00000 или 10000 (адрес последнего считывания). Соответствующие пары адресов считывания и записи для 1-го и 2-го вариантов будут 00000, 00010 и 10000, 10010. Таким образом, ни для 1-го, ни для 2-го вариантов последовательности команд адреса считывания и записи не совпадают, следовательно, на выходе схемы 15 сравнения сформируется нулевой сигнал и запоминается в триггере 16 совпадения адресов.

Имея нулевой сигнал на выходе 37 триггера 16 совпадения адресов и, следовательно, на входе элемента И 8, на выходе элемента И 8 формируется сигнал О, таким образом, состояние триггера 7 ускорения записи по-прежнему сохраняется (нулевое состояние), что позволяет код следующей микрокоманды формировать без изменения.

В конце такта выполнения микрокоманды 058 или 078 на выходах блока 5 микропрограммного управления формируется код микрокоманды 050 (для 1-го варианта) или 070 (дя 2-го аарианта). По сигналу ЗВСК, поступающему на управляющий вход блока

6 управления выборкой с выхода 32 блока 5 микропрограммного управления, на выходе 29 блока 6 управления выборкой формируется нулевой сигнал перехода на выполнение следующей команды, который поступает на вход 29 разрешения записи регистра 1 команд и на первый вход кода условия блока 5 микропрограммного управления, запрещает прием новой информации в регистр 1 команд и настраивает блок 5 микропрограммного управления на режим использования в качестве адреса следующей микрокоманды информации, имеющейся на его выходах кода микрокоманды. Кроме того, в результате считывания информации из блока 3 локальной памяти по адресу 00010(1) или 10010(2), на его выходе 44 данных формируется первый операнд команды ST(1) или STE(2).

В начале такта выполнения микрокоманды 050(1) или 070(2) выполняются следующие действия:

по переднему фронту импульса на первом синхровходе 19 устройства при выполнении микрокоманды в блоке 5 микропрограммного управления осуществляется запоминание выбранного адреса следующей микрокоманды. Поскольку на первом и втором входах 29,31 кода условия блока 5 микропрограммного управления имеется сигнал О, в качестве выбранного адреса следующей микрокоманды является информация из микрокоманды 050(070) (поле адреса следующей микрокоманды равно 250);

. на выходе 38 блока 10 распознавания команд формируется сигнал, соответствующий коду операции команды, принятой в предыдущем такте в регистр 1 команд;

на выходе 27 арифметическо-логическо- го блока 4 формируется второй операнд команды Ц1) или LE(2), подлежащий записи в блок 3 локальной памяти;

по микрооперации С-А, поступающей на вход 34 кода операции арифметическо- логического блока 4, он начинает выполнять передачу первого операнда команды ST(1) или STE(2), присутствующего в этот момент на его первом входе 44 данных, на свой выход 27.

В середине такта выполнения микрокоманды 050(1) или 070(2) в блоке 3 локальной памяти происходит запись второго операнда команды Ц1) или LE(2) no адресу считывания, производимого в такте выполнения микрокоманды 350. равному 00000(1) или 10000(2) (это адрес первого операнда команды L или LE). Кроме того, на втором выходе 36 блока 6 управления выборкой формируется нулевой задержанный сигнал перехода

0

5

0

5

0

5

0

5

0

5

на выполнение следующей команды. Этот сигнал поступает на вход элемента И 8, на выходе которого формируется нулевой сигнал и вызывает сохранение нулевого сигнала на выходе триггера 7 ускорения записи.

В конце такта выполнения микрокоманды 050(1) или070(2) на выходах блока 5 микропрограммного управления формируется код микрокоманды 250.

В начале такта выполнения микрокоманды 250 на выходе 27 арифметическо-ло- гического блока 4 формируется первый операнд команды ST(1) или STE(2), подлежащий записи в основную память. Сигнал микрооперации ЗПОП с выхода 28 блока 5 микропрограммного управления, переданный без изменения на выход 28 записи устройства, разрешает произвести запись первого операнда команды ST(1) или STE(2) в оперативную память по адресу второго операнда. Остальные действия, производимые в такте выполнения микрокоманды 250, а также процесс выполнения микрокоманды 350 описаны при рассмотрении начала выполнения данной последовательности ко; манд.

Таким образом, при выполнении первого или второго варианта последовательности команд команды ST или STE выполняется за три такта (микрокоманды 050(070), 250, 350).

Дальнейшая работа устройства по выполнению III и IV вариантов последовательности команд L(0), ST(0) и LE(0). STE(0) заключается в следующем (фиг. 1, 16, 18).

В середине такта выполнения микрокоманды 058(3) или 078(4) выполняется формирование сигнала на выходе 37 триггера 16 совпадения адресов, поскольку в этих микрокомандах присутствуют одновременно микрооперации ЧТЛП и ЗПЛП. По микрооперации ЧТЛЛ осуществляется считывание первого операнда для команды ST или STE по адресу 00000 или 10000. По микрооперации ЗПЛП в следующем такте будет производиться запись результата выполнения команды L или LE по адресу 00000 или 10000 (адрес последнего считывания). Таким образом, и для 3-го и для 4-го вариантов последовательности команд адреса считывания и записи совпадают, что приводит к появлению единичного сигнала на выходе 37 триггера 16 совпадения адресов. Смысл данного сигнала заключается в следующем. При одновременном присутствии микроопераций ЧТЛП и ЗПЛП в некоторой микрокоманде считается, что считывание концептуально происходит после записи. Однако физически запись в блок 3 локальной памяти происходит лишь в следующем

такте, что вызывает необходимость принятия специальных мер для обеспечения эффекта более раннего выполнения записи. Такой эффект достигается за счет перекодировки источника первого операнда для арифметическо-логического блока 4 при помощи сигнала на выходе 37 триггера 16 совпадения адресов.

Вместо информации, имеющейся на первом входе 44 данных арифметическо-логического блока 4, в качестве первого операнда используется результат работы блока в предыдущем такте.

Таким образом, результат работы арифметическо-логического блока 4 одновременно поступает на его выход 27 для осуществления в последующем записи в блок 3 локальной памяти и используется в качестве первого операнда для работы арифметическо-логического блока 4. Единичный сигнал с выхода 37 триггера 16 совпадения адресов поступает на вход выбора блока 4, обеспечивая использование блоком в следующем такте в качестве первого операнда результата работы блока в текущем такте.

Однако при выполнении данной последовательности команд (3-й или 4-й вариант) данное действие не является существенным, так как при выполнении команды ST или STE в данной последовательности команд нет необходимости использования арифметическо-логического блока 4 для пересылки первого операнда команды на его выход, что будет видно из дальнейшего описания. Кроме того, этот же сигнал поступает на вход элемента И 8. Поскольку в данной микрокоманде на выходе 36 блока 6 управления выборкой и на выходе 38 блока 10 распознавания команд, которые также поступают на входы элемента И 8, имеются единичные сигналы, на выходе элемента И 8 по импульсу на шестом синхровходе 24 устройства формируется единичный сигнал, который установит по этому же импульсу триггер 7 ускорения записи в единичное состояние. В результате поступления единичного сигнала с выхода 31 триггера 7 ускорения записи на второй вход кода условия блока 5 микропрограммного управления на выходе 28 записи блока и на втором разряде второго выхода 32 микроопераций формируются единичные сигналы. В блоке микрокоманды с адресом 050(070) на фиг. 14 обозначения микроопераций РВСК и ЗПОП взяты в рамку для обозначения аппаратного формирования данных микрокоманд.

Одновременно с появлением единичного сигнала на выходе 31 триггера 7 ускорения записи на выходах блока 5

микропрограммного управления формируется код микрокоманды 050(3) или 070(4), поле адреса следующей микрокоманды которого изменено. Измененный адрес следу- 5 ющей микрокоманды равен 350.

В блоке микрокоманды с адресом 050(070) на фиг. 16 адрес следующей микрокоманды, равный 350, взят в рамку для обоз- начения аппаратного формирования

0 данного адреса.

По сигналу микроопераций 3 В С К, поступающему на управляющий вход 32 блока 6 управления выборкой с выхода блока 5 микропрограммного управления, на выходе

5 29 блока 6 управления выборкой формируется нулевой сигнал перехода на выполнение следующей команды, который поступает на управляющие входы 29 регистра 1 команд и блока 5 микропрограммного

0 управления и тем самым запрещает прием новой информации в регистр 1 команд и настраивает блок 5 микропрограммного управления на режим использования в качестве адреса следующей микрокоманды

5 информации, имеющейся на выходе поля адреса следующей микрокоманды блока 5 микропрограммного управления, сформированного, как описано выше.

0 В конце такта выполнения микрокоманды 058(3) или 078(4) в результате считывания информации из блока 3 локальной памяти по адресу 00000(3) или 10000(4) на его выходе 44 данных формируется недействитель5 ный (необновленный) первый операнд команды ST(3) или STE(4), который в дальнейшем не используется.

В начале такте выполнения микрокоманды 050(3) иди 070(4) выполняются следу0 ющие действия:

в блоке 5 микропрограммного управления по импульсу на первом синхровходе 19 устройства осуществляется запоминание в качестве адреса следующей микрокоманды

5 измененное поле адреса следующей микрокоманды (равное 350);

на выходе 27 арифметическо-логического блока 4 формируется второй операнд команды ЦЗ) или LE(4), подлежащий записи в

0 блок 3 локальной памяти. Второй операнд команды ЦЗ) или LE(4) является для данных вариантов последовательности команд первым операндом команды $Т(3) или STE(4). Поэтому выходная информация блока 4 ис5 пользуется для ускоренного на один такт по сравнению с вариантами I и I разрешения записи в основную память по единичному сигналу на выходе 28 записи устройства;

на выходе 38 блока 10 распознавания команд формируется сигнал, соответствующий коду операций команды, принятой в предыдущем такте в регистр 1 команд;

на выходе 37 триггера 16 совпадения адресов формируется нулевой сигнал;

по сигналу микрооперации СГА, посту- пающему на вход кода операций 34 блока 4, он начинает выполнять передачу первого операнда команды ST(3) или STE(4) (он же является вторым операндом команды ЦЗ) или LE(4)) на свой выход 27. При этом в качестве первого операнда используется результат работы блока 4 в предыдущем такте процессора (микрокоманда 058(3) или 078(4)). Однако данное действие не является существенным, поскольку информация, подлежащая записи в основную память, уже имеется на выходе 27 данных устройства.

В середине такта выполнения микрокоманды 050(3) или 070(4) в блоке 3 локальной памяти происходит запись второго операн- да команды ЦЗ) или LE(4) по адресу считывания, произведенного в такте выполнения микрокоманды 350 и равного 00000(3) или 10000(4) (это адрес первого операнда команды 1 или1-Е).

Кроме того, на втором выходе 36 блока 6 управления выборкой формируется нулевой задержанный сигнал перехода на выполнение следующей команды, этот сигнал поступает на управляющий вход элемента И 8, сформированный нулевой сигнал которого установит триггер 7 ускорения записи в нулевое состояние.

Единичный сигнал во втором разряде второго выхода 32 микроопераций поступа- ет на управляющий вход блок 6 управления выборкой, что вызывает формирование единичного сигнала на первом выходе 29 блока 6 управления выборкой. Этот сигнал поступает на управляющий вход регистра 1 ко- манд, разрешая прием новой информации е этот регистр, а также на первый вход кода условия блока 5 микропрограммного управления, настраивая его на режим использования в качестве адреса следующей микрокоманды информации, имеющейся на его адресном входе 30.

В конце такта выполнения микрокоманды 050(3) или 070(4) на выходах блока 5 микропрограммного управления формируется код микрокоманды 350, который передается на выходы блока 5 микропрограммного управления без изменения, имея на втором входе 31 кода условия блока нулевое состояние с выхода 31 триггера 7 ускорения запи- си.

Остальные действия, производимые в такте выполнения микрокоманды 050(3) или 070(4), не представляют интереса. Процесс выполнения микрокоманды 350 описан при

рассмотрении начала выполнения данной последовательности команд.

Таким образом, при выполнении третьего или четвертого вариантов последовательности команд команда ST или STE выполняется за два такта. Это достигается за счет перенесения действий, осуществляемых в такте выполнения микрокоманды 250 (для вариантов I и II), в такт выполнения микрокоманды 050(3) или 070(4) путём аппаратного формирования соответствующих микроопераций и изменения адреса следующей микрокоманды в блоке 5 микропрограммного управления.

Блок 2 формирования адреса работает следующим образом. Сигналы с первого и второго разрядов входа 35 поступают на входы элемента ИЛИ-НЕ 46 и элемента НЕ 45, выход которого соединен с входом элемента ИЛИ-НЕ 46, в результате чего на выходе элемента ИЛИ-НЕ 46 формируется единичный сигнал для команд с плавающей точкой и нулевой сигнал для остальных команд. Этот сигнал поступает на первый разряд выхода 40 адреса. Сигналы с разрядов с третьего по шестой (адрес первого операнда) входа 35 поступают на разряды с второго по пятый выхода 40 без изменения.

Блок 3 локальной памяти работает следующим образом. При поступлении заднего фронта импульса на вход 23 управления режимом работы 3 локальной памяти коммутатор 49 подключает на адресный вход накопителя 51 информацию с входа 42 адреса считывания блока 3 локальной памяти. Поскольку на синхровходе 21 блока 3 локальной памяти имеется нулевой сигнал, поступающий через элемент И 50 на вход управления обращением накопителя 51, накопитель 51 работает в режиме считывания информации и на его выходе 44 формируется первый операнд соответствующей команды.

При наличии одиночного сигнала на входе 39 записи блока 3 локальной памяти передним фронтом импульса, поступающего на стробирующий вход 25 блока 3 локальной памяти, происходит занесение информации с входа 43 адреса записи блока 3 локальной памяти в регистр 47, а также устанавливается в единичное состояние триггер 48 записи. При поступлении переднего фронта импульса на вход 23 управления режимом блока 3 локальной памяти коммутатор 49 подключает на адресный вход накопителя 51 информацию с выхода регистра 47.

Поскольку на выходе триггера 48 записи присутствует единичный сигнал, элемент И 50 передает на вход управления обращением накопителя 51 импульс, поступающий с синхровхода 21 блока.3 локальной памяти. Этим импульсом производится запись информации, имеющейся на входе 27 данных блока 3 локальной памяти, в накопитель 51 по адресу в регистре 47.

В арифметическо-логическом блоке 4 (фиг. 4, 19) передним фронтом импульса, поступающего по синхровходу 19 блока на си нхро вход регистра 59, происходит запоминание в этом регистре информации, имеющейся на входе 34 кода операции (код функции арифметическо-логического блока 4). Сигнал с первого разряда выхода регистра 52 поступает на вход переноса (СО) арифметическо-логического элемента 58, выход переноса (С4) которого соединен с входом переноса следующего элемента 59 и т.д. (последовательное распространение переноса). Сигналы последующих шин выхода регистров 52 поступают на разрядные входы кода функции арифметическо-логичё- ских элементов 58, 59, 60.

Кроме того, передним фронтом того же импульса происходит занесение в регистр 54 информации с второго входа 18 данных блока (второй операнд команды) и занесение в регистр 53 информации с выхода коммутатора 57 (первый операнд команды). При наличии нулевого (единичного) сигнала на входе 37 выбора, а значит, и на управляющем входе коммутатора 57 на его выходе присутствует информация с первого входа данных (второго входа данных) коммутатора 57.

Выходы регистров 43, 54 поступают, на соответствующие разрядные входы первого (АО. А1, А2, A3) и второго (ВО, В1, В2. ВЗ) операндов арифметическо-логических элементов 58-60. На разрядных выходах (FO,. F1, F2, F3).результата арифметическо-логических элементов 58-60 формируется результат выполнения функции над операндами, который поступает на информационный вход регистра 55.

При поступлении переднего фронта импульса по стробирующему входу 25 блока на синхровход. регистра 55 в нем запоминается результат работы арифметическо-логических элементов 58-60. Содержимое регистра 55 поступает на второй вход данных коммутатора 57 и на вход данных регистра 56.

При поступлении переднего фронта импульса по синхровходу 19 блока содержимое регистра 55 запоминается в регистре 56, содержимое которого поступает на выход 27 блока.

В блоке 5 микропрограммного управления (фиг. 8, 19) при наличии нулевого (единичного) сигнала на первом входе 29 кода условия, а значит, и на управляющем входе коммутатора 61 на его выход подается информация, присутствующая на его втором (первом) входе данных.

При поступлении переднего фронта импульса, поступающего по синхровходу 19 блока на синхровход регистра 62, в нем запоминается выходная информация коммутатора 61 (адрес следующей микрокоманды). Содержимое регистра 62 поступает на вход

памяти 64 микропрограмм, в результате чего на ее выходе формируется код соответствующей микрокоманды. Сигнал с девятого разряда выхода памяти 64 микропрограмм поступает на первый разряд второго выхода

32 микроопераций, сигналы с остальных разрядов поступают на вход регистра 63.

При поступлении переднего фронта импульса по второму синхровходу 24 блока на синхровход регистра 63 в нем запоминаются сигналы с выходных разрядов с первого по восьмой и с десятого по двадцать первый выхода памяти 64 микропрограмм.

Содержимое регистра 63 (с первого по шестой разряды) поступает на соответствующие разряды первого выхода 34 микроопераций блока 5 микропрограммного управления, седьмого и восьмого разрядов

-на первый и второй разряды третьего выхода 33 микроопераций соответственно.

При нулевом сигнале на втором входе 31 кода условия блока 5 микропрограммного управления содержимое девятого разряда регистра 63 через элемент ИЛИ 65 подключается к второму разряду второго выхода 32

микроопераций, а содержимое десятого разряда регистра 63 через элемент ИЛИ 66

-к выходу 28 записи блока,

При единичном сигнале на втором входе 31 кода условия блока 5 микропрограммного управления на выходе 28 записи блока и на втором разряде второго выхода 32 микроопераций формируются единичные сигналы. С одиннадцатого по двадцатый разряды регистра 63 являются адресом следующей микрокоманды и подключаются к первому входу коммутатора 61 без изменения при нулевом сигнале на втором входе 31 кода условия блока и с изменениями при единичном сигнале на втором входе 31 кода

условия блока 5 микропрограммного управления.

В блоке 6 управления выборкой (фиг. 6, 16) при поступлении единичного сигнала по второму разряду управляющего входа 32 блока и импульсов на первом 21 и втором 22 синхровходах блока производится сброс триггера 70 в О.

Единичный сигнал с инверсного выхода триггера 70 поступает на первый выход 29 блока и на информационный вход триггера 71.

При поступлении единичного сигнала на первом разряде управляющего входа 32 импульса на третьем синхровходе 24 блока производится установка триггера 70 в 1й. Нулевой сигнал с инверсного-выхода триггера 70 поступает на первый выход 29 6Vio- ка и на информационный вход триггера 71.

При поступлении импульса по первому синхровходу21 на синхровход триггера 71 в нем осуществляется запоминание сигнала с инверсного выхода триггера 70. Сигнал с прямого выхода триггера 71 поступает на второй выход 36 блока.

В блоке 10 распознавания команд (фиг. 7,16) по коду на информационном входе 30 формируется на выходе элемента И 77 еди- ничный сигнал для команд с кодом операций 50 (ST) и 70 (STE) и нулевой сигнал для команд с другими кодами операций. По импульсу на синхровходе 19 этот сформированный сигнал запомнится в триггере 79, единичный выход которого подключен к выходу 38 блока.

Формула изобретения

1. Вычислительное устройство с совмещением операций, содержащее регистр ко- манд, блок формирования адреса, блок локальной памяти, арифметико-логический блок, блок управления выборкой, первый выход которого соединен с входом разрешения записи регистра команд, информацион- ный вход которого соединен с входом команд устройства, первый выход регистра команд соединен с входом блока формирования адреса, выход блока локальной памяти соединен с первым входом данных арифметико-логического блока, выход которого соединен с выходом данных устройства и с входом данных блока локальной памяти, вход операндов устройства соединен с вторым входом данных арифметике- логического блока, первый синхровход устройства соединен с синхровходом арифметико-логического блока, второй синхровход устройства соединен с тактовым входом регистра команд, третий и четвертый синх- роеходы устройства соединены с первым и вторым синхровходами блока управления выборкой, пятый синхровход устройства соединен с входом управления режимом блока локальной памяти, шестой синхровход устройства соединен с третьим синхровходом блока управления выборкой, седьмой синхровход устройства соединен со строби- рующим входом блока локальной памяти, отличающееся тем, что, с целью

повышения быстродействия, в него дополнительно введены блок микропрограммного управления, триггер ускорения записи, два элемента И, блок распознавания команды, регистр микроопераций, три адресных регистра, схема сравнения и триггер совпадения адресов, выход которого соединен с первым входом первого элемента И и с входом выбора арифметико-логического блока, вход кода операций которого соединен с первым выходом микроопераций блока микропрограммного управления, второй выход микроопераций которого соединен с управляющим входом блока управления выборкой, первый выход которого соединен с первым входом кода условий блока микропрограммного управления, второй вход кода условий которого соединен с выходом триггера ускорения записи, вход установки которого соединен с выходом первого элемента И, второй вход которого соединен с выходом блока распознавания команды, информационный вход которого соединен с вторым выходом регистра команд и с адресным входом блока микропрограммного управления, третий выход микроопераций которого соединен с информационным входом регистра микроопераций, выход первого разряда которого соединен с первым входом второго элемента И и с входом записи первого адресного регистра, выход которого соединен с информационным входом второго адресного регистра, с первым входом схемы сравнения и с входом адреса считывания блока локальной памяти, вход записи которого соединен с выходом второго разряда регистра микроопераций и с вторым входом второго элемента И, выход которого соединен с входом синхронизации триггера совпадения адресов, информационный вход которого соединен с выходом схемы сравнения, второй вход которой соединен с входом адреса записи блока локальной памяти и с выходом второго адресного регистра, синхровход которого соединен с вось мым синхровходом устройства, первый синхровход которого соединен с синхровходами регистра микроопераций и третьего адресного регистра, выход которого соединен с информационным входом первого адресного регистра, синхровход которого соединён с третьим синхровходом устройства, шестой синхровход которого соединен с третьим входом первого элемента И и с синхровходом триггера ускорения записи, информационный вход которого соединен с шиной нулевого потенциала устройства, выход записи блока микропрограммного управления соединен с выходом записи устройства, вход сброса триггера совпадения адресов соединен с вторым синхровхо- дом устройства, пятый синхровход которого соединен с третьим входом второго элемента И, информационный вход третьего адрес- ного регистра соединен с выходом блока формирования адреса, первый синхровход устройства соединен с синхровходом блока распознавания команды и первым синхровходом блока микропрограммного управле- ния, второй синхровход которого соединен с шестым синхровходом устройства.

2. Устройство по п.1, отличающее- с я тем, что блок микропрограммного управ- ления содержит регистр адреса, регистр микрокоманды, блок памяти микропрограмм, три элемента ИЛИ, коммутатор, первый разряд и разряды с третьего по десятый первого входа данных которого соединены соответственно с одинйадцатым разрядом и с разрядами с тринадцатого по двадцатый выхода регистра микрокоманды, двенадцатый разряд выхода которого соединен с первым входом первого элемента ИЛИ, выход которого соединен с вторым разрядом первого входа данных коммутатора, выход которого соединен с информационным входом регистра адреса, выход которого соединен с адресным входом блока памяти микропрограмм, разряды с первого по восьмой и с десятого по двадцатый выхода которого соединены соответственно с разрядами с первого по двадцатый информационного входа регистра микрокоманды, разряды с первого по шестой выхода которого являются первым выходом микроопераций блока микропрограммного управления, девятый разряд выхода блока памяти микропрограмм является первым разрядом второго выхода микроопераций блока микропрограммного управления, второй разряд которого соединен с выходом второго элемента ИЛ И, первый вход которого соединен с девятым разрядом выхода регистра микрокоманды, седьмой и восьмой разряды которого являются соответственно

первым и вторым разрядами третьего выхода микроопераций блока микропрограммного управления, десятый разряд выхода регистра микрокоманды соединен с первым входом третьего элемента ИЛИ, выход которого является выходом записи блока микропрограммного управления, первый вход кода условий микропрограммного управления блока соединен с управляющим входом коммутатора, с третьего по десятый разряды второго входа данных которого соединены с адресным входом блока микропрограммного управления, первый и второй разряды второго входа данных коммутатора соединены с шиной нулевого потенциала устройства, второй вход кода условий блока микропрограммного управления соединен с вторыми входами элементов ИЛИ с первого по третий, вход записи регистра адреса соединен с первым синхровходом блока микропрограммного управления, второй синхровход которого соединен с входом записи регистра микрокоманды.

3. Устройство по пп.1 и 2, отличающее с я тем. что блок распознавания команды содержит пять элементов НЕ, два элемента И и триггер, информационный вход которого соединен с выходом первого элемента И, первый вход которого соединен с выходом второго элемента И, первый вход которого соэдинен с выходом первого элемента НЕ, вход которого соединен с первым разрядом информационного входа блока распознавания команды, второй и четвертый разряды которого соединены с вторым и третьим входами второго элемента И, разряды с пятого по восьмой информационного входа блока распознавания команды соединены с входами элементов НЕ, с второго по пятый выходы которых соединены с входами с второго по пятый первого элемента И, синхровход блока распознавания команды соединен с синхровходом триггера, выход которого является выходом блока распознавания команды.

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

название год авторы номер документа
Процессор с совмещением операций 1982
  • Елисеев Александр Александрович
  • Мацуев Виталий Иванович
  • Петушков Александр Николаевич
  • Роговская Татьяна Ивановна
SU1138805A1
Управляющая векторная вычислительная система 1982
  • Прангишвили Ивери Варламович
  • Бабичева Елена Владимировна
  • Малюгин Владимир Дмитриевич
  • Соколов Владимир Владимирович
  • Денисенко Сергей Васильевич
  • Вейц Александр Вениаминович
  • Иванов Александр Иванович
  • Шкатулла Анатолий Иванович
  • Зверков Борис Семенович
  • Зрелова Татьяна Ивановна
  • Левертов Яков Анатольевич
  • Тодуа Джондо Альпезович
  • Гоголадзе Омар Васильевич
  • Вепхвадзе Анзор Николаевич
  • Гудушаури Гмаи Шалвович
  • Голубев Александр Павлович
  • Березенко Александр Иванович
  • Корягин Лев Николаевич
SU1120340A1
Устройство адресации многопроцессорной вычислительной машины 1983
  • Кривего Владимир Александрович
  • Прокопенко Николай Николаевич
  • Кривего Владимир Владимирович
  • Кривенков Александр Иванович
SU1129613A1
Микропрограммируемый векторный процессор 1987
  • Вейц Александр Вениаминович
  • Дятчина Ирина Федоровна
  • Жуков Валерий Александрович
  • Криворучко Виталий Федорович
  • Малюгин Владимир Дмитриевич
  • Соколов Владимир Владимирович
  • Сперанская Ирина Владимировна
  • Шевцов Сергей Валентинович
  • Прангишвили Ивери Варламович
  • Левертов Яков Анатольевич
  • Денисенко Сергей Васильевич
SU1594557A1
Микропрограммный процессор 1980
  • Елисеев Александр Александрович
  • Крупин Владимир Александрович
  • Ленкова Валентина Мироновна
  • Петушков Александр Николаевич
SU868766A1
Устройство для формирования адресов процессора быстрого преобразования Фурье 1989
  • Морозевич Анатолий Николаевич
  • Федосенко Владимир Алексеевич
  • Трибуховский Бронислав Брониславович
  • Дмитриев Андрей Николаевич
SU1691853A1
Устройство для формирования адресов процессора быстрого преобразования фурье 1987
  • Шемаров Александр Иванович
  • Морозевич Анатолий Николаевич
  • Федосенко Владимир Алексеевич
SU1499373A1
Микропрограммный процессор 1982
  • Супрун Василий Петрович
  • Кривоносов Анатолий Иванович
  • Корниенко Иван Иосифович
  • Тимонькин Григорий Николаевич
  • Ткаченко Сергей Николаевич
  • Харченко Вячеслав Сергеевич
SU1070557A1
Процессор с микропрограммным управлением 1983
  • Соловьев Алексей Алексеевич
  • Курбатов Борис Юрьевич
  • Барашко Виктор Сергеевич
  • Еремин Алексей Тимофеевич
  • Власов Феликс Сергеевич
  • Румянцев Владимир Ильич
SU1149273A1
Микропрограммный процессор 1981
  • Харченко Вячеслав Сергеевич
  • Плахтеев Анатолий Павлович
  • Благодарный Николай Петрович
  • Тимонькин Григорий Николаевич
  • Ткаченко Сергей Николаевич
SU980095A1

Иллюстрации к изобретению SU 1 716 528 A1

Реферат патента 1992 года Вычислительное устройство с совмещением операций

Изобретение относится к вычислитель- ной технике и может быть использовано в электронной цифровой вычислительной машине. Целью изобретения является повышение быстродействия устройства. Вычислительное устройство с совмещением операций содержит регистры команд 1 и адреса 12-14, блок 3 локальной памяти, арифмети- ческо-логический блок 4, блок 5 микропрограммного управления, блок 6 управления выборкой, блок 10 распознавания команды, триггеры 7,16 ускорения записи и совпадения адресов, элементы И 8,9, схему 15 сравнения. Сущность изобретения состоит в том, что при выполнении последовательности команд в режиме совмещения команда записи операнда в основную память может выполняться в двух режимах: когда операнд, подлежащий записи в основную память, должен быть считан из локальной памяти и когда записываемый операнд к началу команды записи сформирован на выходе устройства и может быть записан немедленно. 2 з.п. ф-лы, 17 ил. (Л С о ел ю 00 Фиг.1

Формула изобретения SU 1 716 528 A1

JS

U

Фиг.2

Фиг4

фцг.5

Фиг. в

С конец з Vt/eJQ

Фив.11

Фиг.12

Фиг.13

Прием 6 регистр)

Дриел8p&ucmpl Прием & регистрЗ ВыходМ ВыходЭВ ЯыкодЖ Пои ен U регистр К Считыд.длока 3 Элемент И 50 ВыхоВГ/ Выход 32

ф 250

зпоп

РВСК 350

bOSDtOW

.

ФигМ

Фиг/5

со u

S

esi ОЭ

OQ t-

см ег

СО

О

, х

4 eg eg eg

СцнкроЬкод 79

ОшроЙхоЗ 20 СинхроВход 11

СинхроВходft СинхроВход 2

СинхроВход 2Ц СинхроВход 25

Синхр&ход 26

Регислш J1 (разрявп

Регистр 11 (разряд)

Регистр 14 Регистр П

Регистр /3

Регистр 47 Триггер 8

лемент И 50 Выход 37

т 0.50/0,70)

Документы, цитированные в отчете о поиске Патент 1992 года SU1716528A1

Патент США N 3651476, кл
Приспособление для точного наложения листов бумаги при снятии оттисков 1922
  • Асафов Н.И.
SU6A1
Насос 1917
  • Кирпичников В.Д.
  • Классон Р.Э.
SU13A1
Аппарат для очищения воды при помощи химических реактивов 1917
  • Гордон И.Д.
SU2A1
Видоизменение прибора с двумя приемами для рассматривания проекционные увеличенных и удаленных от зрителя стереограмм 1919
  • Кауфман А.К.
SU28A1
Кипятильник для воды 1921
  • Богач Б.И.
SU5A1

SU 1 716 528 A1

Авторы

Анейчик Владимир Анатольевич

Елисеев Александр Александрович

Лиокумович Ирина Исааковна

Роговская Татьяна Ивановна

Третьяк Татьяна Михайловна

Даты

1992-02-28Публикация

1989-12-25Подача