устройство микропрограммного управления

Классы МПК:G06F9/22 микроуправление или устройства с микропрограммой
Автор(ы):
Патентообладатель(и):Нижегородский научно-исследовательский институт радиотехники
Приоритеты:
подача заявки:
1992-06-24
публикация патента:

Изобретение относится к вычислительной технике и может быть использовано при построении быстродействующего процессора с микропрограммным управлением. Использование изобретения позволит повысить быстродействие, что достигается тем, что в устройство микропрограммного управления, содержащее блок памяти микрокоманд, регистр микрокоманд, блок управления последовательностью микрокоманд, элемент ИСКЛЮЧАЮЩЕЕ ИЛИ, блок анализа условий микроветвлений, преддешифратор команд машинного уровня, первый регистр команд, введены второй регистр команд, две БИС ПЛМ в составе преддешифратора команд, выход младшего байта команды, подключенный к соответствующим выходным разрядам второго регистра команд, информационный выход, подключенный к выходу первого регистра команд, вход внутреннего регистра блока управления последовательностью микрокоманд. Сущность взаимосвязи между совокупностью введенных элементов и достигнутым техническим результатом заключается в том, что архитектура предлагаемого устройства позволит в конвейерном режиме с максимально возможным быстродействием реализовать алгоритм выполнения системных команд микроЭВМ. 6 ил.
Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5, Рисунок 6, Рисунок 7

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

Устройство микропрограммного управления, содержащее блок памяти микрокоманд, регистр микрокоманд, блок управления последовательностью микрокоманд, элемент ИСКЛЮЧАЮЩЕЕ ИЛИ, блок анализа условий микроветвлений, преддешифратор команд машинного уровня, первый регистр команд, причем вход команд устройства соединен с информационным входом регистра команд, синхровход и выход которого соединены соответственно с первым синхровходом устройства и входом преддешифратора команд, выход которого соединен с информационным входом блока управления последовательностью микрокоманд, выход которого соединен с адресным входом блока памяти микрокоманд, выход которого соединен с информационным входом регистра микрокоманд, выход поля операционной части микрокоманды регистра микрокоманд соединен с одноименным выходом устройства, первый вход и выход элемента ИСКЛЮЧАЮЩЕЕ ИЛИ соединены соответственно с выходом разряда управления полярностью сигнала условия регистра микрокоманд и входом условия блока управления последовательностью микрокоманд, управляющий вход которого соединен с выходом поля управления последовательностью микрокоманд регистра микрокоманд, вход кодов логических условий устройства подключен к первому информационному входу блока анализа условия микроветвлений, управляющий вход и выход которого соединены соответственно с выходом поля задания условий микроветвлений регистра микрокоманд и входом маски блока управления последовательностью микрокоманд, синхровходы блока управления последовательностью микрокоманд и регистра микрокоманд соединены с вторым синхровходом устройства, отличающееся тем, что оно дополнительно содержит второй регистр команд, информационный вход которого подключен к выходу первого регистра команд и соответствующему выходу устройства, третий синхровход которого подключен к синхровходу второго регистра команд, выходы которого соединены с соответствующими входами устройства и вторым информационным входом блока анализа условий микроветвлений, вход признаков слова состояния процессора устройства соединен с третьим информационным входом блока анализа условий микроветвлений, вход прерывания устройства соединен с вторым входом элемента ИСКЛЮЧАЮЩЕЕ ИЛИ, выход поля адреса перехода блока памяти микрокоманд подключен к одноименному входу блока управления последовательностью микрокоманд.

Описание изобретения к патенту

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

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

Сущность изобретения поясняется графическими материалами и описаниями.

На фиг. 1 представлена структурная схема устройства.

Устройство содержит блок 1 памяти микрокоманд, регистр 2 микрокоманд, блок 3 управления последовательностью микрокоманд, элемент 4 ИСКЛЮЧАЮЩЕЕ ИЛИ, блок 5 анализа условий микроответвлений, преддешифратор 6 (дешифратора) команд машинного уровня, первый регистр 7 команд, вход 8 команд, выход 9 поля операционной части микрокоманды, выход 10 поля адреса регистров операндов в формате команды, вход 11 кодов логических условий, входы 12 признаков слова состояния процессора, вход 13 прерывания, второй регистр 14 команд, выход 15 младшего байта команды, информационный выход 16, первый синхровход 19 (Си3), вход 20 с регистра 14 команд (12 разрядов), вход 21 управления с регистра 2 микрокоманд (3 разряда), выход 22 блока 5 (4 разряда), подключенный к входу блока 3.

На фиг. 2 представлены форматы основных команд, реализуемых рассматриваемым устройством, где КОП код операции команды; S метод адресации источника; D метод адресации приемника; Rs регистр источника; Rd регистр приемника; R регистр операнда (источника или приемника); ХХ 8-разрядные данные (индекс, смещение и т.д.).

На фиг. 3 приведен пример матриц стартовых адресов микропрограмм для команды "сложение".

На фиг. 4 приведены блок-схемы микропрограммы цикла из трех машинных команд, а на фиг. 5 временные диаграммы следования тактовых сигналов для данного цикла, где * любой метод адресации операнда (для источника - индексный и косвенно-индексный; для приемника все, кроме регистрового); (R7) относительный либо косвенно-относительный метод адресации операнда; ( ) содержимое ячейки памяти с указанным адресом; СК счетчик команд; РАП регистр адреса памяти; РК1, РК2 первый и второй регистры команд; РД регистр входных данных ЦП; Ra рабочий регистр (РОН) ЦП для временного хранения формируемых адресу и промежуточных результатов их вычислений.

На фиг. 6 приведена функциональная схема блока анализа условий микроответвлений, содержащая элементы И 23, 24, мультиплексоры 26 и 25 типа 2*(4->1) со стробированием выхода.

Принцип действия устройства заключается в следующем.

Из блока 1 памяти микрокоманд в каждом машинном цикле, длительность которого равна одному такту Си1, по адресу, вырабатываемому блоком 3 управления последовательностью микрокоманд, выбирается очередная микрокоманда, которая в конце цикла положительным фронтом сигнала Си1 записывается на регистр 2 микрокоманд. Текущая микрокоманда с выходом регистра 2 управляет работой всех блоков устройства, а выход 9 операционной части микрокоманды предназначен для управления блоком обработки данных центрального процессора микроЭВМ.

Блок 3 управления последовательностью микрокоманд объединяет информацию, поступающую на его входы от преддешифратора 6 машинных команд, блока 1 памяти микрокоманд, мультиплексора 5 условий микроответвлений, элемента ИСКЛЮЧАЮЩЕЕ ИЛИ 4, предназначенного для микропрограммно-управляемого изменения полярности сигнала прерывания, поступающего на вход 13, с информацией внутренних источников регистра, счетчика и стека, и под действием микропрограммного управления вырабатывает адрес следующей микрокоманды, поступающий на вход блока 1 памяти микрокоманд.

Командная информация, поступающая на вход 8 устройства, положительным фронтом сигнала Си2 записывается на первый регистр 7 команд, предназначенный для хранения кода команды в цикле преддешифрации, с выхода которого поступает на входы преддешифратора 6 машинных команд и второго регистра 14 команд.

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

Второй регистр 14 команд предназначен для хранения 12 младших разрядов кода команды во время всех циклов реализации алгоритма ее выполнения. Командная информация заносится на регистр 14 положительным фронтом сигнала Си3 в цикле преддешифрации и может использоваться во всех последующих циклах выполнения команды.

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

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

Рассмотрим принцип работы устройства в составе ЦП микроЭВМ в режиме выполнения программы на примере цикла суммирования чисел в рабочем регистре (РОНе) процессора.

Пусть мнемоническая запись программы имеет вид

SUM: ADD C A, R1

CMP R1, B

BLE SUM,

где А адрес операнда источника;

B программная константа;

R1 регистр, в котором происходит накапливание суммы.

Суммируются числа из ячейки с адресом A в регистре R1 до тех пор, пока сумма не станет больше константы B.

Пусть метка SUM имеет адрес N, тогда размещение программы в памяти имеет следующий вид ( в таблице приведены восьмеричные коды машинных команд и адресов).

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

В дешифрацию 2 адресных команд с помощью преддешифратора 6 входят следующие функции классификации машинных кодов: по КОП; по методам адресации источника; регистровый метод адресации приемника.

Примеры матрицы стартовых адресов микропрограмм для команды "сложение" приведены на фиг. 3.

Выполнение рассматриваемой программы, блок-схема микропрограммы которой приведена на фиг. 4, начинается с перехода на стартовую микрокоманду команды ADD C A, R1, причем в ней дешифрирована полная информация о команде, т.е. КОП и методы адресации обоих операндов.

В первом цикле выполнения команды ADD в операционном блоке ЦП под управлением соответствующих полей микрокоманды, поступающей на выход 9 устройства микропрогораммного управления происходит формирование адреса следующего командного слова N + 4, т.е. запись содержимого СК в РАП и дальнейшее продвижение СК.

В этом цикле происходит чтение командного слова по адресу N + 2, т.е. адреса операнда источника, со входа 8 на первый регистр 7 команд и входной регистр данных операционного блока ЦП.

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

Во втором цикле команды ADD ЦП формирует адрес операнда источника и производит выборку среднего командного слова по адресу N + 4, т.е. кода следующей команды. Содержимое регистра 7 команд со входа 16 поступает в операционной блок ЦП для записи в РАП, а со входа 8 на регистр 7 заносится новая информация положительным фронтом сигнала Си2, поступающего на вход 18. Блок 3 управления последовательностью микрокоманд выполняет операцию безусловного перехода к следующему адресу по внутреннему счетчику.

Третий цикл является циклом выборки операнда источника на входной регистр данных ЦП. Блок 3 управления последовательностью микрокоманд выполняет операцию возврата из подпрограммы (следующий микроадрес выбирается из стека). На вход внутреннего регистра блока 3 управления последовательностью микрокоманд поступает адрес микропрограммы обработки прерывания с выхода поля адреса перехода блока 1 памяти микрокоманд.

Четвертый цикл является циклом непосредственного исполнения команды ADD с записью результата сложения в регистр приемника, а признаков операции в регистр ССП. С выхода 10 в операционный блок ЦП поступает код номера регистра приемника для выборки необходимого РОНа. Под управлением соответствующих полей микрокоманды, поступающих на выход 9 в операционном блоке ЦП происходит формирование следующего адреса командного слова N+6 и очередное инкрементирование СК.

В устройстве микропрограммного управления происходит перезапись кода следующей команды СМР на второй регистр 14 команд положительным фронтом сигнала Си3, поступающего на вход 19. Преддешифратор 6 команд по содержимому регистра 7 формирует стартовый адрес микропрограммы СМР, поступающий на информационный вход D блока 3 управления последовательностью микрокоманд во внутреннем регистре которого хранится адрес микропрограммы обработки прерывания, записанный в предыдущем цикле. Блок 3 управления последовательностью микрокоманд, в зависимости от наличия сигнала прерывания, поступающего на его вход TST через элемент ИСКЛЮЧАЮЩЕЕ ИЛИ 4 со входа 13, вырабатывает на выходе А микропрограммный адрес либо с преддешифратора 6 команд, либо с внутреннего регистра. Таким образом, обеспечивается условный переход к следующей команде при отсутствии сигнала прерывания, в противном случае к МП его обработки.

Следующий пятый цикл является первым циклом выполнения команды СМР, причем в нем дешифрована информация о КОПе и методе адресации источника. Он является холостым для операционного блока ЦП, т.е. по дешифрированной информации нельзя предпринять никаких вычислительных действий.

В этом цикле происходит чтение командного слова по адресу N + 6, т.е. операнда приемника со входа 8 на первый регистр 7 команд и РД операционного блока ЦП. Блок 3 управления последовательностью микрокоманд осуществляет переход к микроподпрограмме выборки приемника с запоминанием адреса возврата в стеке. Микроадрес формируется путем сложения по ИЛИ содержимого внутреннего регистра блока 3 управления последовательностью микрокоманд с кодом, поступающим на его вход маски OR с выхода блока 5. Блок 5 под управлением соответствующего поля микрокоманды, поступающего с выхода регистра 2, формирует из поступающей с регистра 14 информации код метода адресации приемника на входе OR блока 3.

В шестом цикле адрес операнда приемника N + 6 запоминается в Ра, одновременно происходит запись в РАП адреса N+10 и инкрементирование СК. Блок 3 управления последовательностью микрокоманд выполняет операцию безусловного перехода к следующему адресу по внутреннему счетчику.

Седьмой цикл является циклом формирования адреса операнда приемника и выборки кода следующей команды со входа 8 на первый регистр 7 команд. Блок 3 управления последовательностью микрокоманд выполняет операцию возврата из подпрограммы (следующий микроадрес выбирается из стека). На вход внутреннего регистра блока 3 управления последовательностью микрокоманд поступает адрес микропрограммы обработки прерывания с выхода поля адреса перехода блока 1 памяти микрокоманд.

Восьмой цикл является циклом непосредственного исполнения команды СМР с записью признаков операции вычитания в регистр ССП. С выхода 10 в операционный блок ЦП поступает код номера регистра источника для выборки необходимого РОНа. Под управлением соответствующих полей микрокоманды, поступающих на выход 9 в операционном блоке ЦП происходит формирование следующего адреса командного слова N + 12 и очередное инкрементирование СК.

В устройстве микропрограммного управления происходит перезапись кода следующей команды BLE на второй регистр 14 команд положительным фронтом сигнала Си3, поступающего на вход 19. Преддешифратор 6 команд по содержимому регистра 7 формирует стартовый адрес микрокоманды команды BLE, поступающий на информационный вход D блока 3 управления последовательностью микрокоманд, во внутреннем регистре которого хранится адрес микропрограммы обработки прерывания, записанный в предыдущем цикле. Блок 3 управления последовательностью микрокоманд, в зависимости от наличия сигнала прерывания, поступающего на его вход TST через элемент ИСКЛЮЧАЮЩЕЕ ИЛИ 4 со входа 13, вырабатывает на выходе А микропрограммный адрес либо с преддешифратора 6 команд, либо с внутреннего регистра. Таким образом, обеспечивается условный переход к следующей команде при отсутствии сигнала прерывания, а в противном случае к МП его обработки.

В девятом цикле начинается реализация команды условного ветвления BLE. Будем рассматривать работу устройства при выполнении условия ветвления.

В этом цикле с выхода 15 младшего байта команды в операционный блок ЦП поступает адресное смещение для вычисления адреса перехода. Со входа 8 на первый регистр 7 команд и РД операционного блока ЦП происходит чтение командного слова по адресу N + 12.

Блок 3 управления последовательностью микрокоманд выполняет безусловный переход к микропрограмме с адресом из внутреннего регистра, причем, три младших разряда его равны нулю для осуществления анализа признаков ССП, поступающих на вход маски ОР со входом 12 через блок 5.

Следует отметить, что в этом цикле осуществляется микропрограммный анализ сразу всех необходимых признаков ССП (V, Z, N), чем достигается ускоренная реализация команды условного ветвления. По сравнению с прототипом достигается уменьшение времени анализа условий ветвлений данной команды на два машинных цикла.

В десятом цикле формируется адрес перехода N путем сложения текущего значения СК с адресным смещением.

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

В одиннадцатом цикле происходит загрузка в СК адреса N + 2 и чтение командного слова по адресу N со входа 8 на первый регистр 7 команд и РД.

Функция блока 3 аналогична предыдущему циклу.

Двенадцатый цикл является последним циклом выполнения команды ветвления. Под управлением соответствующих полей микрокоманды, поступающих на выход 9 в операционном блоке ЦП, происходит формирование следующего адреса командного слова N + 2 и очередное инкрементирование CК.

В устройстве микропрограммного управления происходит перезапись кода следующей команды ADD на второй регистр 14 команд положительным фронтом сигнала Си3, поступающего на вход 19. Преддешифратор 6 команд по содержимому регистра 7 формирует стартовый адрес микропрограммы команды ADD, поступающий на информационный вход D блока 3 управления последовательностью микрокоманд, во внутреннем регистре которого хранится адрес микропрограммы обработки прерывания, записанный в предыдущем цикле. Блок 3 управления последовательностью микрокоманд, в в зависимости от наличия сигнала прерывания, поступающего на его вход TST через элемент ИСКЛЮЧАЮЩЕЕ ИЛИ 4 со входа 13, вырабатывает на выходе А микропрограммный адрес либо с преддешифратора 6 команд, либо с внутреннего регистра. Таким образом, обеспечивается условный переход к следующей команде при отсутствии сигнала прерывания, а в противном случае к МП его обработки.

Таким образом, цикл из трех рассмотренных машинных команд выполняется за 12 тактов работы микроЭВМ с предложенным устройством микропрограммного управления. При возможной длительности такта в 250 нс время выполнения этого цикла составит 3 мкс. ТТТ1

Класс G06F9/22 микроуправление или устройства с микропрограммой

развертывание образа микропрограммы при наличии множества собственников -  патент 2510952 (10.04.2014)
самоконтролируемый автомат -  патент 2502121 (20.12.2013)
обработка электронных чернил -  патент 2358308 (10.06.2009)
устройство программного управления -  патент 2261470 (27.09.2005)
модуль системы микропрограммного управления -  патент 2152071 (27.06.2000)
модуль мультимикроконтроллерной сети -  патент 2151421 (20.06.2000)
устройство программного управления -  патент 2146064 (27.02.2000)
модуль системы программного управления -  патент 2145434 (10.02.2000)
мультимикроконтроллерная система -  патент 2120135 (10.10.1998)
модуль мультимикропрограммной системы -  патент 2116665 (27.07.1998)
Наверх