Устройство для микропрограммного управления
Иллюстрации
Показать всеРеферат
УСТРОЙСТВО ДЛЯ МИКРОПРОГРАММНОГО УПРАВЛЕНИЯ, содержащее дешифратор признака услойного перехода, первый и второй элементы И, счетчик адреса , коммутатор условий, блок памяти микропрограмм , регистр микрокоманд, регистр возврата и дешифратор микрокоманд, причем выход счетчика адреса соединен с информационным входом регистра возврата, адресным входом блока памяти микропрограмм , выход которого соединен с информационным входом регистра микрокоманд, управляющим входом коммутатора условий, входом дешифратора признака условного перехода, первый и второй выходы дешифратора микрокоманд соединены соответственно с входом записи регистра возврата и выходом микроопераций устройства, вход задания условий устройства соединен с информационным входом коммутатора условий, выход которого соединен с первым входом первого элемента И, выход дешифратора признака условного перехода соединен с вторым входом первого элемента И, инверсный выход которого соединен с первым входом второго элемента И, выход второго элемента И соединен со счетным входом счетчика адреса , отличающееся тем, что, с целью повышения быстродействия, в него введены блок задания режимов коммутатор адреса, кольцевой регистр сдвига, блок сравнения, счетчик циклов, триггер начала отладки, триггер конца отладки, счетный триггер, элемент НЕ, четыре элемента ИЛИ и восемь элементов И, причем выходы начала и конца программы микропрограммы блока задания режимов соединены соответственно с первым информационным входом коммутатора адреса и первым входом блока сравнения, выходы числа циклов, задания режима отладки, начальной установки, пуска, задания циклического режима, ограничения циклов и тактовый выход блока задания режимов соединены соответственно с информационным входом счетчика циклов первым входом третьего элемента И, первым входом первого элемента ИЛИ, входом записи счетчика циклов, первым входом четвертого элемента И, первым входом пятого эле.мента И и первым входом шестого элемента И, i выходы задания режима отладки, начальной установки, пуска циклического режима и так (Л товый выход блока задания режимов соединены соответственно с первым входом седьмого элемента И, первым входом второго элемента ИЛИ, первым входом третьего элемента ИЛИ и входом синхронизации кольцевого регистра сдвига, выход седьмого элемента И соединен с вторым входом первого элемента ИЛИ, выход которого соединен с входом начальной установки кольцевого регистра сдвига, вторым входом шестоОС го элемента И нулевым входом триггера 00 конца отладки, единичным входом триггера начала отладки, входом установки нуля счет4;ib чика адреса и через элемент НЕ с входом установки нуля счетного триггера, первый, Ю второй, третий и четвертый выходы кольцевого регистра сдвига соединены соответственно с первым входом восьмого элемента И, первым входом девятого элемента И, первым входом десятого элемента И и нулевым входом триггера начала отладки, единичный выход которого соединен с вторым входом третьего элемента И, первый и второй выходы кольцевого распределителя импульсов соединены соответственно с входом записи регистра микрокоманд и с вторым входом второго элемента И, выход третьего
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСНИХ
РЕСПУБЛИК (51)4 G06F 11 28
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К А BTOPCHOMY СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3651472/24-24 (22) 10.10.83 (46) 30.10.85. Бюл. № 40 (72) Ю. С. Ицкович, Т. И. Максименко, И. Н. Титова, Б. 3. Фурман, Л. П. Храмцова и Г. И. Чудинова (53) 681.3 (088.8) (56) Папернов А. А. Логические основы цифровой вычислительной техники. М.:
Сов. радио, 1972, с. 295 — 300.
Авторское свидетельство СССР № 1019450, кл. G 06 F 9/22, 1982. (54) (57) УСТРОЙСТВО ДЛЯ МИКРОПРОГРАММНОГО УПРАВЛЕНИЯ, содержащее дешифратор признака условного перехода, первый и второй элементы И, счетчик адреса, коммутатор условий, блок памяти микропрограмм, регистр микрокоманд, регистр возврата и дешифратор микрокоманд, причем выход счетчика адреса соединен с информационным входом регистра возврата, адресным входом блока памяти микропрограмм, выход которого соединен с информационным входом регистра микрокоманд, управляющим входом коммутатора условий, входом дешифратора признака условного перехода, первый и второй выходы дешифратора микрокоманд соединены соответственно с входом записи регистра возврата и выходом микроопераций устройства, вход задания условий устройства соединен с информационным входом коммутатора условий, выход которого соединен с первым входом первого элемента И, выход дешифратора признака условного перехода соединен с вторым входом первого элемента И, инверсный выход которого соединен с первым входом второго элемента И, выход второго элемента И соединен со счетным входом счетчика адреса, отличающееся тем, что, с целью повышения быстродействия, в него введены блок задания режимов коммутатор адреса, кольцевой регистр сдвига, блок сравнения, счетчик циклов, триггер начала отладки, триггер конца отладки, счетный триггер, элемент
„„SU„„1188742 А
НЕ, четыре элемента ИЛИ и восемь элементов И, причем выходы начала и конца программы микропрограммы блока задания режимов соединены соответственно с первым информационным входом коммутатора адреса и первым входом блока сравнения, выходы числа циклов, задания режима отладки, начальной установки, пуска, задания циклического режима, ограничения циклов и тактовый выход блока задания режимов соединены соответственно с информационным входом счетчика циклов первым входом третье о элемента И, первым входом первого элемента ИЛИ, входом записи счет чика циклов, первым входом четвертого элемента И, первым входом пятого элемента И и первым входом шестого элемента И, выходы задания режима отладки, начальной установки, пуска циклического режима и тактовый выход блока задания режимов соединен ы соответственно с первым входом седьмого элемента И, первым входом второго элемента ИЛИ, первым входом третьего элемента ИЛИ и входом синхронизации кольцевого регистра сдвига, выход седьмого элемента И соединен с вторым входом первого элемента ИЛИ, выход которого соединен с входом начальной установки кольцевого регистра сдвига, вторым входом шестого элемента И нулевым входом триггера конца отладки, единичным входом триггера начала отладки, входом установки нуля счетчика адреса и через элемент НЕ с входом установки нуля счетного триггера, первый, второй, третий и четвертый выходы кольцевого регистра сдвига соединены соответственно с первым входом восьмого элемента
И, первым входом девятого элемента И, первым входом десятого элемента И и нулевым входом триггера начала отладки, единичный выход которого соединен с вторым входом третьего элемента И, первый и второй выходы кольцевого распределителя импульсов соединены соответственно с входом записи регистра микрокоманд и с вторым входом второго элемента И, выход третьего
1188742 элемента И соединен с управляющим входом коммутатора адреса и первым входом четвертого элемента ИЛИ, второй вход которого соединен с прямым выходом первого элемента И, выход четвертого элемента ИЛИ соединен с вторым входом девятого элемента И, выход которого соединен с входом записи счетчика адреса, второй выход дешифратора микрокоманд, выходы блока памяти микропрограмм и регистра возврата соединены соответственно с вторым управляющим входом, вторым и третьим информационными входами коммутатора адреса, информационный выход которого соединен с информационным входом счетчика адреса, информационный выход счетчика адреса соединен с вторым входом блока сравнения, выход которого соединен с вторым входом десятого элемента И, выход которого соеди1
Изобретение относится к автоматике и вычислительной технике и может быть использовано в специализированных процессорах.
Цель изобретения — повышение быстродействия путем исполнения микропрограммы по частям с произвольным заданием адреса начала части микропрограммы, адреса конца части микропрограмм и количества циклов повторения этой части.
На чертеже представлена структурная схема устройства.
Устройство содержит блок 1 задания режимов, выполненный в виде набора тумблерных регистров и генераторов тактовых и одиночных импульсов, трехпозиционный многоразрядный коммутатор 2 адреса, счетчик 3 адреса, блок 4 памяти микропрограмм, регистр 5 микгокоманд, дешифратор 6 микрокоманд, выход которого является выходом устройства, регистр 7 возврата, дешифратор 8 признака условного перехода, многопозиционный одноразрядный коммутатор 9 условий, вход которого является входом устройства, кольцевой сдвиговый регистр 10, блок 11 сравнения, счетчик 12 циклов, триггер 13 начала отладки, триггер
14 конца отладки, триггер 15 останова отладки, счетный триггер 16, элементы И 17—
24 с двумя входами каждый, элемент И 25 с прямым и инверсным выходом, элемент
И 26 с двумя прямыми и одним инверсным входом, элементы ИЛИ 27 — 30 и элемент НЕ 31.
Принцип действия устройства заключается в следующем.
5 о
30 нен с единичным входом триггера конца отладки, прямой выход триггера конца отладки соединен с вторым входом восьмого элемента И, выход которого соединен с вторым входом второго элемента ИЛИ, выход которого соединен с единичным входом триггера конца отладки, прямой выход которого соединен с вторым входом седьмого элемента И, выход шестого элемента И соединен с тактовым входом счетного триггера, прямой выход которого соединен с вторым входом четвертого элемента И и счегным входом счетчика циклов, выход переполнения которого соединен с вторым входом пятого элемента И, выход которого соединен с инверсным входом четвертого элемента И, выход которого соединен с вторым входом третьего элемента ИЛИ, выход которого соединен с нулевым входом триггера конца отладки.
В рабочем режиме на выходе режима отладки блока 1 задания режимов формируется нулевой сигнал. В этом режиме при поступлении импульсного положительного сигнала с выхода начальной установки блока 1 этот сигнал через элемент
28 ИЛИ поступает на входы начальной установки счетчика 3 адреса и кольцевого сдвигового регистра 10, устанавливая один из его разрядов в единичное состояние, в остальные — в нулевое. Воздействие этого сигнала на другие элементы устройства в указанном режиме не имеет существенного значения. После окончания сигнала начальной установки единичный сигнал передвигается в кольцевом сдвиговом регистре 10 под воздействием импульсов, поступающих с тактового выхода блока 1 задания режимов. При этом на четырех выходах регистра 10 формируется гребенка импульсов, сдвинутых друг относительно друга и образующих соответственно четыре рабочие фазы в пределах одного интервала повторения, являющегося микротактом работы устройства.
В течение указанного микротакта происходит формирование очередной микрокоманды на выходе дешифратора 6 микрокоманд, являющегося выходом устройства в целом, следующим образом.
Содержимое счетчика 3 адреса поступает на вход блока 4 памяти микропрограммы, с выхода которого код очередной микрокоманды записывается в регистр 5 микрокоманд сигналом первой фазы кольцевого регистра 10. Сигнал регистра 5 микрокоманд поступает на дешифратор 6 мик1188742 рокоманд, а с его выхода управляющие сигналы поступают на выход устройства.
Сигналом третьей фазы кольцевого регистра 10, проходящим через один из элементов И 7 или 18, изменяется содержимое счетчика 3 адреса и на выходе блока 4 памяти микропрограммы формируется код микрокоманды для следующего микротакта работы устройства.
Формирование адреса в счетчике 3 для следующего микротакта зависит от типа микрокоманды, сформированной в текущем микротакте. В устройстве может быть сформировано два типа микрокоманд: простая микрокоманда и условный переход, отличающиеся признаком условного перехода в коде микрокоманды. Если в текущем микротакте из блока 4 памяти микропрограммы выбрана простая микрокоманда, то на выходе дешифратора 8 признака условного перехода формируется нулевой сигнал, обусловливаю5
1О
15 щий появление единичного сигнала на инверсном выходе элемента И 25, который разрешает прохождение через элемент И 17 сигнала третьей фазы кольцевого регистра
10 на счетный вход счетчика 3 адреса, в результате чего к содержимому счетчика прибавляется единица. В следующем микро- 25 такте устройство формирует микрокоманду, адрес которой отличается на единицу от адреса текущей простой микрокомчнды.
Если в текущем микротакте из блока 4 памяти микропрограммы выбрана команда условного перехода, то на выходе дешифратора 8 признака условного перехода формируется единичный сигнал, поступающий на элемент И 25. Одновременно на управляющий вход коммутатора 9 поступает из блока 4 памяти микропрограммы код номера условия. При этом коммутатор 9 пропускает на второй вход элемента И 25 сигнал одного из условий со своего входа, номер которого закодирован в микрокоманде. Если это условие выполнено, то на элемент И 25 поступает единичный сигнал 40 условия, а на его выходе формируется единичный сигнал, который проходит через элемент ИЛИ 27 на элемент И 18, обеспечивая прохождение сигнала третьей фазы кольцевого регистра 10 на вход записи счетчика 3 адреса. При этом в счетчик 3 адреса 45 записывается адрес, поступающий на его информационный вход из блока 4 памяти микропрограммы через коммутатор 2, что и обеспечивает переход устройства в адрес микропрограммы, указанный в текущей микрокоманде условного перехода. В случае, если условие, проверяемое в текущей микрокоманде, оказывается невыполненным, то к содержимому счетчика 3 прибавляется единица аналогично изложенному выше при простой команде.
При переходе из основной микропрограммы к стандартной микроподпрограмме формируется команда фиксации адреса, по которой управляющим сигналом третьего выхода дешифратора 6 в регистр 7 возврата записывается текущее значение адреса из счетчика 3. В следующем микротакте формируется команда условного перехода -и выполняется переход к стандартной микропрограмме, в конце которой выполняется переход к микрокоманде возврата.
При исполнении микрокоманды возврата дешифратор 6 микрокоманд формирует сигнал на своем втором выходе, поступающий на управляющий вход коммутатора 2 и переводящий его в режим пропускания сигнала от регистра 7 возврата. Затем выполняется безусловный переход по адресу, хранящемуся в регистре 7 возврата. После возврата в указанный адрес происходит формирование последующих микрокоманд до конца микропрограммы.
В режиме отладки на выходе отладки блока 1 задания режимов устанавливается единичный сигнал. В этом режиме при поступлении импульсного положительного сигнала с выхода начальной установки блока I этот сигнал поступает через элемент ИЛИ 29 на вход триггера 15 и устанавливает его в единичное состояние. Сигнал триггера 15 через элемент И 21 и элемент ИЛИ 28 поступает на вход начальной установки кольцевого сдвигового регистра 10 и удерживает его в исходном состоянии в течение любого времени по желанию оператора. При этом устройство не работает и находится в режиме ожидания до формирования единичного импульсного сигнала на выходе пуска блока 1. Одновременно сигнал начальной установки устанавливает в единичное состояние триггер 13 начала микропрограммы, в нулевое состояние триггер 14 конца микропрограммы. При этом выходной сигнал триггера 13 через открытый элемент
19 И поступает на коммутатор 2 и переключает его в режим пропускания кода с выхода начала микропрограммы блока 1 задания режимов. Кроме того, выходной сигнал триггера 13 через элементы И 19 и
ИЛИ 27 поступает на элемент И 18, подготавливая его к пропусканию сигнала на вход записи счетчика 3.
При формировании единичного импульсного сигнала на выходе пуска блока 1 сигнал, поступая на вход записи счетчика
12 циклов, записывает в него число циклов, поступающее с соответствующего выхода блока 1. Одновременно сигнал пуска через элемент ИЛИ 30 устанавливает триггер 16 в нулевое состояние, что приводит в действие кольцевой сдвиговый регистр 10, который под воздействием тактового сигнала блока 1 начинает действовать аналогично изложенному выше. В первом микротакте сигналом первой фазы кольцевого регистра 10 в регистр 5 микрокоманд записывается пустая микрокоманда из нулевой ячейки блока 4 памяти микропрограммы, соот1188742 ветствующая нулевому состоянию счетчика
3 адреса. Сигналом третьей фазы регистра
10 через элемент И 18 записывается в счетчик 3 адреса через коммутатор 2 адреса начала микропрограммы с соответствующего выхода блока 1 задания режимов. Сигнал четвертой фазы кольцевого регистра
10 сбрасывает триггер 13 начала микропрограммы в нулевое состояние и переводит коммутатор 2 и элемент 27 ИЛИ в рабочий режим, обеспечивая замыкание цепей для выполнения условных переходов устройством аналогично изложенному выше.
Во втором и последующих микротактах устройство формирует микрокоманды аналогично рабочему режиму, изложенному выше, однако начиная с микрокоманды, установленной на выходе начала микропрограммы блока 1. При этом адрес исполняемой микрокоманды со счетчика 3 поступает на блок
11 сравнения, на второй вход которого поступает конечный адрес микропрограммы, установленный на соответствующем выходе блока 1 задания режимов.
Когда микропрограмма, формируемая устройством, достигает адреса, равного конечному адресу, на выходе блока 11 сравнения формируется единичный сигнал, поступающий на элемент И 20. При этом сигнал второй фазы кольцевого регистра 10, в котором выполняется последняя микрокоманда, через элемент И 20 поступает на триггер
14 конца микропрограммы и устанавливает его в единичное состояние. Выходной сигнал триггера 14 открывает элемент И 22. После выполнения конечной микрокоманды в следующем микротакте сигнал первой фазы кольцевого регистра 10 проходит через эл"..менты И 22 и ИЛИ 29 и устанавливает триггер 15 в единичное состояние. Выходной сигнал триггера 15, проходя через элементы И 21 и ИЛИ 28 устанавливает устройство в исходное состояние аналогично сигналу начальной установки блока 1.
Если на выходе циклического режима блока 1 не установлен единичный сигнал, то чередование микрокоманд на выходе устройства на этом заканчивается, после чего работа устройства может быть повторена аналогично изложенному выше, однако с другими значениями начала и конца
10 !
40 микропрограммы, устанавливаемыми в блоке 1.
Если на выходе циклического режима блока 1 установлен единичный сигнал, то после первого цикла исполнения микропрограммы от начального до конечного адреса, как изложено выше, сигнал с выхода элемента ИЛИ 28 открывает элемент И 24, через который тактовый сигнал блока 1 поступает на счетный вход триггера 16 и переводит его в единичное состояние. Выходной сигнал триггера 16 через элемент
И 16 и элемент ИЛИ 30 сбрасывает триггер 15 в нулевое состояние. После чего работа устройства повторяется от начального адреса до конечного аналогично изложенному выше циклу работы. Нулевой сигнал с выхода элемента ИЛИ 28 через инвертор
31 устанавливает счетный триггер 16 в нулевое состояние. Таким образом, на выходе триггера 16 формируется в конце каждого цикла работы микропрограммы положительный импульс, поступающий, кроме элемента
И 16, также на счетный вход счетчика 12 циклов, который работает в режиме обратного счета и после каждого цикла уменьшает свое содержимое на единицу.
Повторение циклов формирования отлаживаемой части микропрограммы от начального адреса до конечного происходит до тех пор, пока содержимое счетчика 12 не достигнет нуля. В этом случае сигнал с его выхода поступает на элемент И 23 и при наличии единичного сигнала на выходе ограничения циклов блока 1 проходит через элемент И 23 и запрещает прохождение сигналов через элемент И 23 и запрещает прохождение сигналов через элемент
И 26, вследствие чего новый цикл не начинается и работа устройства заканчивается. Далее работа устройства может быть повторена с другими значениями адресов микропрограммы и числа циклов, установленных на выходах блока 1, аналогично изложенному выше.
Если на выходе ограничения циклов блока 1 установлен нулевой сигнал, то сигнал с выхода счетчика 12 циклов никогда не пройдет через элемент И 23, вследствие чего циклы повторения отлаживаемой части микропрограммы выполняются беспредельно.
1188742
Составитель И. Сигалов
Редактор Л. Пчелинская Техред И. Верес Корректор М. Пожо
Заказ 6746 51 Тираж 709 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, 7K — 35, Раушская наб., д. 4/5
Филиал ППП «Патент», г. Ужгород, ул. Проектная, 4