Микропрограммное вычислительное устройство
Изобретение относится к вычислительной технике и может быть использовано при разработке устройств управления ЭВМ. Целью изобретения является повьшение быстродействия. Устройство содержит три регистра, блок памяти микрокоманд, блок управления, блок сверхоперативной памяти, мультиплексор , арифметико-логическое устройство , регистр микрокоманд. Сущность Изобретения заключается в повышении быстродействия за счет параллельного вычисления начальных адресов модулей подпрограмм и загрузки их в сверхоперативную память. 8 ил. (Л с ю ts9 СО о
СОЮЗ СОВЕТСНИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИН (1% (И) 1 А1 (50 4 G 06 F 9/22 15/00 с
ОПИСАНИЕ ИЗОБРЕТЕНИЯ "
К ABTOPCH0MV СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЬПЪ9 (2! ) 3775 989/2 4-24 (22) 03.08.84 (46) 07.05.86. Бюл. 17 (71) Московский институт электронной техники (72) В.А.Верстаков, И.Г.Игнатова и Д.Л.Преснухин (53) 681.32(088.8) (56) Авторское свидетельство СССР !! 968815, кл. С 06 F 9/22, 1978.
Авторское свидетельство СССР
Ф 1008741, кл. С 06 F 9/22, 1981. (54) МИКРОПРОГРАММНОЕ ВЫЧИСЛИТЕЛЬНОЕ
УСТРОЙСТВО (57) Изобретение относится к вычислительной технике и может быть использовано при разработке устройств управления ЭВМ. Целью изобретения является повышение быстродействия. Устройство содержит три регистра, блок памяти микрокоманд блок управления, блок сверхоперативной памяти, мультиплексор, арифметика-логическое устройство, регистр микрокоманд. Сущность изобретения заключается в повышении быстродействия за счет параллельного вычисления начальных адресов модулей подпрограмм и загрузки их в сверхоперативную память. 8 ил.
1 12
Изобретение относится к вычислительной технике и может быть использовано при. разработке электронных вычислительных машин, Цель изобретения — повышение быстродействия.
На фиг.1 приведена. функциональная схема устройства; на фиг. 2-5 — блоксхема алгоритма работы устройства; на фиг. 6 — 8 - временные диаграммы работы устройства.
Устройство содержит регистр 1, блок 2 памяти микрокоманд, блок 3 управления, блок 4 сверхоперативной памяти, мультиплексор 5, арифметикологическое устройство (АЛУ) 6, шинный формирователь 7, регистры 8 и 9„ регистр 10 микрокоманд, входы тактовых импульсов 11, пуска 12 признака загрузки 13, адресный 14, логических условий 15, информационный вход-выход 16 устройства, выходы 17 признака режима выдачи информации, признака режима чтения информации 18 информационный выход 19 устройства. Блок 3 управления содержит сдвиговый регистр 3.1, дешифратор 3.2,, элемент
ИЛИ 3.3, элемент ИЛИ-HK 3.4, элементы ИЛИ 3.5 и 3.6, элементы И 3.7 и
3.8, сумматоры 3.9-3,11 по модулю два, элементы 2И-ИЛИ 3.12, элемент
2И-ИЛИ-НЕ 3.13, элемент 3.14 задержки, выход 3.15 элемента задержки, элементы НЕ 3. l6 и 3.17, триггер 3.18 мультиплексоры 3.19 и 3.20.
Блок 4 устройства может быть реализован, например, на основе микросхемы КР 1802ИР1, регистр 1 на основе микросхемы К533КП13, блок 6 на основе микросхемы К155ИПЗ.
Изобретение позволяет повысить эффективность выполнения программ, представленных в виде набора модулей, в которой модули могут выполняться последовательно или с прерыванием какого-либо модуля и передачей управления другому модулю. Причем время на переключение с модуля на модуль, когда начальные адреса подготовлены, не тратится. В свою очередь начальные адреса модулей, на которые будет производиться переключение, загружаются предварительно в блок 4 сверхоперативной памяти параллельно с выполнением команд какого-либо программного модуля без за, трат на это времени машинного цикла.
Устройство работае следующим обр азом.
29761 2
P. начальном состоянии на входе 12
Пуск" высокий уровень. Подготовка устройства к работе заключается в записи начального адреса в регистр 1.
Начальный адрес поступает иэ внешне-, го устройства по магистрали на входы
В регистра 1 и сопровождается импульсом положительной полярности по входу 13 "Начальная загрузка" через элемент 3.5 на вход С регистра 1. При этом на входе А/В регистра 1 логи ческий ноль, выходы блока 4 и регистра 8 находятся в отключенном состоянии. После начальной загрузки регист15 ра 1 на вход 12 можно подавать логический ноль и на вход 11 тактовые имлульсы, что разрешает работу устройстваа. Во время работы устройства выходы внешнего устройства, по которым передается начальный адрес, должны быть в отключенном состоянии.
Слово, считанное из блока 2 памяти микрокоманд и записанное в регистр 10, разбивается на два поля В
1 и В: D — поле данных, выдаваемых на внешнее устройство обработки информациии, например э то могут быть микрокоманда, команда или число, вы" даваемое на центральный процессор, 30 т.е. на этот выход поступает внешний код операции; D — поле данных, выдаваемое для задания адреса, которое в свою очередь состоит иэ 7 частей:
КОП вЂ” код операции; AA — первый адрес блока 4; NKi — первая микрокоманда АЛУ (первый признак модификации адреса в АЛУ); В1 — данные для первой микрокоманды АЛУ (первая модифицируемая часть адреса); А — второй адрес блока 4; NK2 — вторая ми40 крокоманда АЛУ (второй признак модификации адреса); D2 — данные для второи микрокоманды АПУ (вторая модифицируемая часть адреса).
Каждому коду операции соответству45 ет свой формат, который вместе с кодом операции определяет действия различных блоков устройства, последовательность взаимодействия между ними, входную информацию для работы блоков.
После дешифрации части слова D
50 считанного из блока 2, устройство работает по алгоритму (фиг. 2-5) в соответствии с кодом операции. Причем этот алгоритм выполняется параллель но с обработкой информации, записанной в поле D слова, считанного из блока 2. Как видно из блок-схемы алгоритма в любой из ветвей выполняют2 в регистр 10 (Д-м данные на выходе регистра 10).
Рассматривают функционирование устройства при конкретных значениях кода операции (КОП), соответствующих фиг. 2-5.
КОП = 000, Поле АА задает ячейку блока 4, где содержится адрес микрокоманды, которая выполняется в следующем цикле считывания, по адресу АА сигналом
RA, формируемым из Q1 и Q3 элементами 3.11 и 3. 17, считывается адрес следующеи микрокоманды и положительным фронтом сигнала С„„, сформированным сигналом Q2, проходящим через элемент 3.5 (на входе 13 логический ноль), записывается в регистр 1 с его выходов В (на его входе А/В логический ноль). Сигналы с выхода регистра 1 поступают на адресный вход блока 2, что инициирует выборку по этому адресу, а также через мультиплексор 5 на входы В АЛУ 6, на входы
А которого через мультиплексор 3.20 подается число Р1, а на входы NK через мультиплексор 3. 19 — микрокоманда УХ1. Прн этом на управляющем входе А/В мультиплексоров 3; 19, 3 20 5 сигнал (А/В), с выхода элемента
3,8 — логический. ноль.
Таким образом, АЛУ 6 производит над операндаьы на -входах А и В операцию КК1. Результат операции сигналом Q4, поступающим на входы С и V регистра 9, переписывается в регистр и выдается на входы/выходы ДА блока
4. Сигналом VA, формируемым из Q5 и
Q6 элементами 3.10 и 3.16, содержимое регистра 9 переписывается в блок
4, адрес записи по прежнему равен AA.
Сигнал Q6 через элемент 3.7, на втором входе которого логическая.единица, с выхода триггера 3.18 сбрасывает сдвиговый регистр 3.1.
Таким образом, во время выполнения внешним устройством операции в. устройстве микропрограммного управления выполнены следующие действия: подготовка следующего адреса, считывание из блока 2 следующего слова, I обработка подготовленного адреса s
АЛУ и запись результата в блок 4.
Описанные операции происходят в цикле выполнения любой микрокоманды, но при KOH 000 в устройстве не выполняются другие операции.
КОП 001, безусловйый переход .
3 1229761 4 ся следующие общие для всех кодов операций действия: подготовка следующего адреса, считывание из блока 2 следующего слова,.обработка подготовленного адреса в АЛУ и запись резуль5 тата в блок 4 ° Под обработкой результата в АЛУ понимается набор арифметических и логических операций АЛУ, в частности, маскирование прибавление смещения, в простейшем случае инкрементация содержимого регистра адреса (в том случае часть В1 не используется).
Кроме этих общих для всех ветвей описанных операций в устройстве могут выполняться и другие операции, о-. ределяемыс соответствующим значением кода операции. Например, перед подготовкой следующего адреса, последний может быть выбран либо из од- 2О ного из регистров блока 4 (ветви кодов 000, 011, 100, 101, 110), либо непосредственно иэ поля D2 (ветвь кода 001). По коду 010 выборка следующего адреса может производиться и из регистров блока 4 и непосредственно из поля 02, в зависимости от условия (код операции 010 — условный переход). В ветвях кодов 011, 100 параллельно с подготовкой следующего адреса происходит запись в блок 4 по адресу определяемому полем
АВ. Информация для записи по адресу
АВ может быть взята из поля D2 (код
011) или из внешнего устройства (код 100). По коду 101 параллельно с подготовкой следующего адреса выводится на внешнее устройство содержимое блока 4, считанное по адресу
АВ. По коду 110 допускается обработка в АЛУ содержимого поля П2 в со- ответствии с инструкцией, выбираемой из поля NK2, с последующей записью результатов обработки в блок 4 по адресу АВ.
На временных диаграммах работы устройства (фиг. 6-8) F и "Пуск"входные сигналы, поступающие на блок
3 управления и запускающие сдвиговый регистр 3. 1, на вход В которого постоянно подана логическая единица.
Сигналы Q1-Q8 — выходы сдвигового регистра (частота тактирования сдвигового регистра определяется темном выдачи данных Д на внешнее устройство). По переднему фронту сигнала Ц1, поступающему на вход С регистра 10, данные по адресу, содержащемуся в регистре 1, переписываются из блока
1229761
Выход Q1 сдвигового регистра 3.1 через элемент 3.14 задержки, на время установления информации в регистре lO стробирует дешифратор 3.2.
Сигнал со второго выхода дешифратора через элемент 3.12 подается на вход
A/Â регистра 1 (сигнал (А/В), фиг. 7)
Таким образом сигнал С записывает в регистр 1 данные со входов А, т. е. поле D2 — адрес безусловного перехода. В остальном микрокоманда выполняется, как в случае КОП = 000.
КОП = 010, условный переход.
Внешнее условие поступает с входа
15 на вход элемента 3.12, другой вход которого стробируется третьим выходом дешифратора 3.2, при совпадении сигналов (условие выполнено) на входе А/В регистра 1 появляется логическая "1", что обеспечивает запись в него поля D2 где записан адрес условного перехода. Если условие не выполнено, запись следующего адреса в регистр 1 происходит с направления
В, дальнейшее выполнение микрокоманды аналогично случаю КОП = 000.
КОП = 011, загрузка. блока 4 памяти.
Данные, загружаемые в блок 4, записаны в поле D2 микрокоманды, адрес загрузки — в поле АВ.
Сигнал с выхода 4 дешифратора 3.2 (17д, фиг.7) переводит выходы шинного формирователя 7 в активное состояние, а сигнал NB (фиг.7), сформированный на элементе 3. 10, через элемент 3. 13 подается на вход NB блока
4, что обеспечивает запись данных.
КОП = 100, загрузка. блока 4 из внешнего устройства.
Адрес загрузки — АВ. Сигнал с пятого выхода дешифратора 3,2 выдается на внешнее устройство по выходу 18 и разрешает ему выдачу информации на вход-выход 16 устройства. Запись информации в блок 4 осуществляется сигналом УВ, сформированным на элементах 3.10 и 3.13 (фиг.7).
КОП = 101, выдача данных из блока, 4 во внешнее устройство.
Адрес выдачи — АВ. Сигнал с шестого выхода дешифратора 3.2 выдается на внешнее устройство по выходу 17, он же через элемент 3.4 (на втором входе которого логический "0") подается на вход RB блока 4 (фиг ° 7) и инициирует выдачу из него по каналу
ДВ на вход-выход 16.
Операции для KOII = 011, 100, 101 происходят параллельно с обработкой адреса, выполняемой при КОП = 000, КОП = 110, обработка в АЛУ содержимого блока 4.
Адрес обрабатываемых данных — АВ, способ обработки в арифметико-логическом бпоке МК2, второй операнд—
1р D2 (фиг.8). Операции, описанные для случая КОП = 000, связанные с подготовкой следующей микрокоманды, не изменяются, однако цикл выполнения микрокоманды несколько увеличен.
Сигнал с седьмого выхода дешифратора 3.2 передним фронтом взводит
D-триггер 3.18, выход Q которого запрещает проход через элемент 3.7 сигнала 06 на сброс сдвигового регистра 3.1. Триггер 3.18 через элемент 3.6 сбрасывается выходом Q8 сдвигового регистра, и таким образом происходит удлинение цикла микрокоманды. Этот же сигнал с седьмого вы25 хода дешифратора, логически умножаясь на элементе 3.8 с сигналом Q4, переключает мультиплексоры 3.19, 3,20 и 5 (сигнал (A/Â), фиг.8). В этот момент времени обработка в АЛУ б адреса, содержащегося в регистре 1 закончена (за промежуток времени
LAAR+ L„19+lhx фиг ° 6), а результат обработкй переписан в регистр 9. Сигнал с седьмого выхода дешифратора через элементы 3.9 и 3.4 подается на вход RB блока 4 и обеспечивает считывание из него по адресу АВ в канал ДВ до момента времени Qá.
Таким образом на входы А и В АЛУ
40 подаются входные данные, на вход
1Ж вЂ” микрокоманда. Интервал времени на переключение мультиплексоров и работу арифметико-логического блока обозначен „, + .д„в (фиг.8). Сигналом
07 (С„,, фиг.8) результат операции переписывается в регистр 8, с выхода которого сигналом ЪЗ, сформированным сигналом Q7 проходящим через элемент 3. 13, он переписывается в блок
4. На этом выполнение микрокоманды заканчивается.
Формула и з о б р е т е н и я
Микропрограммное вычислительное устройство, содержащее блок памяти микрокоманд, блок сверхоперативной памяти, )регистр микрокоманд, мультиплексор, арифметико-логический блок, 1229 л1 первый регистр и блок управления, причем блок управления содержит дешифратор, триггер, элемент задержки, элемент 2И-ИЛИ, три элемента ИЛИ и
5 два элемента И, причем выход лока памяти микрокоманд подключен к информационному входу регистра микрокоманд, выход мультиплексора подключен к первому информационному входу арифметико-логического блока, выход которого подключен к инАормационному входу первого регистра, инверсный выход триггера подключен к первому входу первого элемента И, выход которого подключен к первому входу первого элемента ИЛИ, о т л и ч а ю— щ е е с я тем, что, с целью повышения быстродействия, в него введены второй и третий регистры и шинный формирователь, а блок управления дополнительно содержит элемент 2И вЂ” ИЛИ-HE сдвиговый регистр, элемент ИЛИ-НЕ, три сумматора по модулю два, два элемента НЕ и два мультиплексора, причем управлякщие входы мультиплексоров блока управления подключены к выходу второго элемента И, выходы первого и второго мультиплексоров блока управления подключены соответственно к входу кода операции и второму информационному входу арифметико-логического блока, выход которого подключен к информационному входу второго регистра, выход которого подключен через шину данных к информа35 ционному входу-выходу устройства, первый и второй информационный входы . первого мультиплексора блока управления подключены соответственно к выхо40 дам первого и второго признака модификации адреса регистра микрокоманд, выходы кода операции и первой модифицируемой части адреса которого подключены соответственно к первому и
45 второму информационным входам второго мультиплексора блока управления, выход внешнего кода операции регистра микрокоманд подключен к информационному выходу устройства, выход второй модифицируемой части адреса регистра микрокоманд подключен к первому-информационному входу третьего регистра, инАормационному входу дешифратора и к информационному входу шинного формирователя, вход выборки и выход которого подключены соответственно к выходу четвертого разряда дешифратора и через шину данных к информационному входу-выходу устрой-1 ства, информационный вход-выход устройства подключен через шину данных к первому входу-выходу блока сверхоперативной памяти и к первому информационному входу мультиплексора, первая и вторая группы адресных входов которого подключены к выходам соответственно первого и второго адреса регистра микрокоманд, второй входвыход блока сверхоперативной памяти через шину данных подключен к второму инАормационному входу третьего регистра, к выходу первого регистра и к адресному входу устройства, синхровход которого подключен к выходу перт вого разряда сдвигового регистра и соединен с первым входом первого сумматора по модулю два и через элемент задержки со стробирующим входом дешифратора, выход второго разряда дешифратэра подключен к первому и второму входам первой группы входов элемента 2И-ИЛИ, выход третьего разряда дешиАратора подключен к первому входу второй группы входов элемента
2И-ИЛИ, выход четвертого разряда дешифратора подключен к первому входу первой группы входов элемента 2И-ИПИ-НЕ, выход пятого разряда дешифратора подключен к первому входу второй группы входов элемента 2И-ИЛИ-НЕ и к выходу признака режима чтения информации устройства, выход шестого разряда дешифратора подключен к первому входу элемента ИЛИ-НЕ и к выходу признака режима выдачи информации устройства, выход седьмого разряда дешиАратора подключен к первому входу второго сумматора по модулю два, к первому входу второго элемента И и к синхровходу триггера, выходы второго и третьего разрядов сдвигового регистра подключены соответственно к первому входу второго элемента ИЛИ и к второму входу первого сумматора по модулю два, выход которого через первый элемент НЕ подключен к первому входу записи сверхоперативной памяти, выход четвертого разряда регистра микрокоманд подключен к синхровходу и входу выборки первого регистра и к второму входу второго элемента И, выход которого подключен к управляющему входу мультиплексора, выход пятого разряда сдвигового регистра подключен к первому входу третьего сумматора по модулю два, 1 229761 второй вход которого подключен к выходу шестого разряда сдвигового регистра и соединен с вторым входом первого элемента И и вторым входом второго сумматора по модулю два, выход которого подключен к второму входу элемента ИЛИ-НЕ, выход которого подключен к второму входу чтения блока сверхоперативной памяти„ первый и второй входы записи которого подключены соответственно к выходу второго элемента НЕ и к выходу элемента 2И-ИЛИ-НЕ, выход седьмого разряда сдвигового регистра подключен к первому и второму входам третьей группы входов элемента 2И-ИЛИ-НЕ и к синхровходу и входу выборки второго регистра, восьмой выход сдвигового регистра подключен к первому входу третьего элемента ИЛИ, выход которого подключен к входу установки в
0 триггера, информационный вход триггера подключен к входу логической единицы устройства и соединен с информационным входом сдвигового регистра, синхровход и вход установки
11 I! в О которого подключены соответственно к входу тактовых импульсов устройства и к выходу первого элемента
ИЛИ, вход пуска устройства подключен к вторым входам первого и третьего элементов ИЛИ, второй вход второго элемента ИЛИ подключен к входу признака загрузки устройства, выход второго элемента ИЛИ подключен к синхрозходу третьего регистра, вхоД управления:выборкой информационных входов которого подключен к выходу элемента
2И-ИЛИ, второй вход второй группы ко.торого подключен к входу логических условий устройства, выход третьего сумматора по модулю два подключен к
20 входу второго элемента НЕ и к вторым входам первой и второй группы входов элемента 2И-ИЛИ-НЕ, выход третьего регистра подключен к второму информационному входумультиплексора ик ад2 ресному входу блока памяти микрокоманд.
1229761
0 дую
Ся
Я4
122976I де (г(в) дй
esp. иэдУ ди8
Разр. л ги (Риг. 7
М
Отри
t4tPo
Слв
Составитель Y-. Силин
Редактор М.Бланар Техред Г.Гербер Корректор Е.Рошко
Заказ 2451/49 Тираж 671 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
Производственно-полиграфическое предприятие, r„ Ужгород, уп. Проектная., 4







