Микропроцессор для управления памятью микрокоманд
Иллюстрации
Показать всеРеферат
МИКРОПРОЦЕССОР ДЛЯ УПРАВЛЕНИЯ ПАМЯТЬЮ ^ШKPOKOMAHД, содержащий регистр микрокоманд, блок формирова- 1ШЯ адреса, первьй регистр адреса микрокоманд, причем информационный вход регистра микрокоманд соединен с входом микрокоманд микропроцессора, а выход регистра микрокоманд соединен с первым входом блока формирования адреса, второй вход которого соединен с информационным входом микропроцессора, первый выход блока формирования адреса соединен с адресным входом первого регистра адреса микрокоманд, отличающий с я тем, что, с целью расширения функциональных возможностей микропроцессора за счет осуществления обработки прерьшаний на микропрограммном уровне и повышения его быстродействия, в него введены второй регистр адреса микрокоманд,коммутатор, управляющий триггер, элементы И, ИЛИ, НЕ, И-НЕ, два счетных триггера, триггер прерьшаний, причемвыходы первого и второго регистров адреса микрокоманд соединены соответственно с первым и вторым информационными входами коммутатора, выход которого соединен с выходом адреса микропроцессора и третьим входом бло,ка формирования адреса, первый выход которого соединен с адресным входом второго регистра адреса микрокоманд, прямой выход управляющего триггера соединен с первыми входаьш первых элементов И-НЕ и 1ШИ и первым управляющим входом коммутатора, инверсньш выход управляющего триггера соединен со своим информационным входом и с первыми входами вторых элементов И-НЕ и ИЛИ и с вторым управляющим входом коммутатора, выходы первого и второго элементов И-НЕ соединены соответственно с входами установки первого и второго регистров адреса микрокоманд, выход второго элемента ИЛИ соединен с первым входом третьего элемепта И-НЕ, выход которого соединен с синхровходом второго регистра адреса микрокоманд, выход первого элемента ИЛИ соединен с первым входом четвертого элемента И-НЕ, выход которого соединен с синхровходом первого регистра адреса микрокоманд, второй и третий выходы блока формирования адреса соединены с первым и вторым входами третьего элемента ИЛИ соответственно, выход которого соединен с первым входом первого элемента П, выход которого соединен с синхровходом управляющего триггера, синхровход первого счетного триггера соединен с входом первого синхроимпульса микропроцессора и с тактовым входом регистраёСОс 00оС/0*^>&
СОЮЗ СОВЕТСНИХ
СОЦИАЛИСТИЧЕСНИХ
РЕСПУБЛИН (19) (11) сЮ ф С 06 Р 15 20
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Н ABT0PCHOiVlY СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 2846971/18-24 (22) 04. 12. 79 (46) 23. 01. 86. Бюл. Р 3 (72) М. Ю. Кляшторный, Б.М. Красницкий, С.Т.Хвощ,Н.Г.Кузьменко,В.В.Горовой, А.И.Белоус,В.С.Шкроб,В.П.Болдырев и В.Б.Смолов (53) 681.325 (088.8) (56) Микропроцессорный комплект БИС
ТТЛ с диодами Шоттки. Серия К589.
Справочные данные, 1977.
Микропроцессор для управления памятью микрокоманд. Техническое описание. Ленинград, 1979. (54)(57) МИКРОПРОЦЕССОР ДЛЯ УПРАВЛЕНИЯ ПАМЯТБЮ МИКРОКОМАНД, содержащий регистр микрокоманд, блок формирования адреса, первый регистр адреса микрокоманд, причем информационный вход регистра микрокоманд соединен с входом микрокоманд микропроцессора, а выход регистра микрокоманд соединен с первым входом блока формирования адреса, второй вход которого соединен с информационным входом микропроцессора, первый выход блока формирования адреса соединен с адресным входом первого регистра адреса макрокоманд, о т л и ч а ю— шийся тем, что, с целью расширения функциональных воэможностей микропроцессора за счет осуществления обработки прерываний на микропрограммном уровне и повышения его быстродействия, в него введены второй регистр адреса микрокоманд,коммутатор, управляющий триггер, элементы И, ИЛИ, НЕ, И-НЕ, два счетных триггера, триггер прерываний, причем выходы первого и второго регистров адреса микрокоманд соединены соответственно с первым и вторым информационными входами коммутатора, выход которого соединен с выходом адреса микропроцессора и третьим входом блока формирования адреса, первый выход которого соединен с адресным входом второго регистра адреса микрокоманд, прямой выход управляющего триггера соединен с первыми входами первых элементов И-НЕ и ИЛИ и первым управляющим входом коммутатора, инверсный выход управляющего триггера соединен со своим информационным входом и с первыми входами вторых элементов И-НЕ и ИЛИ и с вторым управляющим входом коммутатора, выходы первого и второго элементов
И-НЕ соединены соответственно с входами установки первого и второго регистров адреса микрокоманд, выход второго элемента ИЛИ соединен с первым входом третьего элемента И-НЕ, выход которого соединен с синхровходом второго регистра адреса микрокоманд, выход первого элемента ИЛИ соединен с первым входом четвертого элемента И-HE выход которого соединен с синхровходом первого регистра адреса микрокоманд, второй и третий выходы блока формирования адреса соединены с первым и вторым входами третьего элемента ИЛИ соответственно, выход которого соединен с первым входом первого элемента И, выход которого соединен с синхровходом управляющего триггера, синхровход первого счетного триггера соединен с входом первого синхроимпульса микропроцессора и с тактовым входом регистра
803700 микрокоманд, прямой выход первого счетного триггера соединен с вторыми входами первых и вторых элементов .
И-HE и ИЛИ и с третьим входом третьего элемента ИЛИ, инверсный выход первого счетного триггера соединен со своим информационным входом и синхровходом второго счетного триггера, инверсный выход которого соединен со своим информационным входом, а прямой . выход соединен с первым входом пятого элемента И-НЕ, первый вход второго элемента И соединен с входом элементаа НЕ, с входом второго синхроимпульс,.1 микропроцессора и с четвертым
Изобретение относится к области цифровой вычислительной техники, а именно к проектированию цифровых вычислительных машин на основе больших интегральных, схем (БИС) микропроцес- 5 с.оров, Из в ес т ны микр опр оцес с ор ные на б оры
БИС, отличительной чертой которых является наличие микропрограммного устройства управления, предназначенные для конструирования цифровых вычислительных машин.
Общим недостатком БИС БМУ перечисленных серий является невозможность организации обработки запросов на прерывание на микропрограммном уровне.
Наиболее близким по технической сущности к изобретению является микропроцессор для управления памятью микрокоманд. 20
Микропроцессор для управления памятью микрокоманд содержит: регистр микрокоманд, вход микрокоманд ШМК, блок формирования адреса, регистр адреса микрокоманд, вход адреса и 25 вход синхронизации.
К недостаткам известного микропроцес. сора относится невозможность организации прерывания на микропрограммном уровне,,отсутствие стека о для хранения адреса прерванной микрокоманды, большое время ожидания на обработку прерывания (на программном уровне) и как следствие, низкое быст родействие по прерываниям. входом блока формирования адреса, второй вход второго элемента И соединен с входом сброса первого счетного триггера и с инверсным выходом триггера прерываний, а выход второго элемента И соединен с входом сброса второго счетного триггера, выход элемента HE соединен с вторыми входами с третьего по пятый элементов И вЂ” НЕ и первого элемента И, выход пятого элемента
И -НЕ соединен с входом сброса ! триггера прерываний, вход уста- новки которого соединен с входом прерываний микропроцессора.
Цель изобретения — расширение функциональных возможностей микропроцессора за счет осуществления обработки прерываний на микропрограммном уровне и повьш ение его быстродействия.
Цель достигается тем, что в микропроцессор для управления памятью микрокоманд введены: второй регистр адреса микрокоманд, коммутатор, управ.ляющий триггер, два счетных триггера, триггеры прерываний, элементы И, ИЛИ, НЕ, И-НЕ, причем выходы первого и второго регистров адреса микрокоманд соединены соответственно с первым и вторым информационными входами коммутатора, выход мультиплексора соединен. с выходом адреса микропроцессора и .третьим входом блока формирования адреса, первый выход которого соединен с адресным входом второго регистра адреса микрокоманд; прямой выход управляющего триггера соединен с первыми входами первых элементов И-HE u
ИЛИ и с первым управляющим входом коммутатора, инверсный выход управляющего триггера соединен со своим информационным входом и с первыми входами вторых элементов И-НЕ и ИЛИ и с вторым управляющим входом коммутатора выходы первого и второго элемен1 тов И-НЕ соединены соответственно с входами установки первого и второго регистров адреса микрокоманд, выход второго элемента ИПИ соединен с пер
803700 вым входом третьего элемента II-НЕ, выход которого соединен с синхровходом второго регистра адреса микрокоманд, выход первого элемента ИЛИ соединен с первым входом четвертого элемента И-НЕ, выход которого соединен с синхровходом первого регистра адреса микрокоманд, второй и третий выходы блока формирования адреса соединены с первым и вторым входами третьего элемента ИЛИ соответственно, выход которого соединен с первым входом первого элемента И, выход которого соединен с синхровходом управляющего триггера, синхровход первого счетного триггера соединен с входом первого синхроимпульса микропро-цессора и с тактовым входом регистра микрокоманд, прямой выход первого счетного трштера соединен с вторым входом первых и вторых элементов
И-НЕ и ИЛИ и с третьим входом третьего элемента IIIIH ггнверсный выход перво-. го счетного триггера соединен с своим информационным входоми с синхровходом второго счетного триггера, инверсный выход которого соединен с своим информационным входом, а прямой выход соединен с первым входом пятого элемента И-ИЕ, первый вход второго элемента И соединен с входом второго синхроимпульса микропроцессора, с входом элемента НЕ и с четвертым входом блока формирования адреса, второй вход второго элемента И соединен с инверсным выходом триггера прерываний и с входом сброса перво,го счетного триггера, а выход вто:, рого элемента И соединен с входом сброса второго счетного триггера, выход элемента НЕ соединен с вторыми входами с третьего по пятый элементов И-НЕ и первого элемента И, выход пятого элемента И-НЕ соединен с входом сброса триггера прерываний, вход установки которого соединен с входом прерываний микропроцессора.
Блок-схема микропроцессора для управления памятью лгикрокоманд приведена на чертеже.
Микропроцессор для управления памятью микрокоманд содержит регистр 1 микрокоманд, вход 2 микрокоманд,блок
3 формирования адреса, информационный вход 4, выход 5 адреса, коммутатор б, два регистра 7 и 8 адреса микрокоманд, управляющий триггер 9, второй и первый элементы И-HE 10 и 11, третий и четвертый элементы И-НЕ 12 и
Таким образом, текущий адрес с блока формирования адреса 3 подается на регистр адреса 8 и на выход адреса 5.
В этом случае работа микропроцессора для управления памятью микрокоманд аналогична работе прототипа.
Если управляющий триггер 9 находится в нулевом состоянии, то текущий адрес с блока 3 формирования адреса поступает на регистр 7 адреса и на выход 5 адреса. Таким образом, управляющий триггер 9 осуществляет подключение регистров 7 и 8 адреса к коммутатору 6 и подачу синхроимпульсов с входа 25 к выбранному
40 рег,истру
В режиме запроса на прерывание запрос поступает по входу 26 прерывания на вход триггера 20 прерывания и устанавливает его в ноль, при этом
45 со счетного триггера 18 снимается сигнал установки и счетньгй триггер
18 начинает считать синхроимпульсы, приходящие по входу 24. По первому синхроимпульсу счетньпг триггер 18 устанавливается в единицу. Этот высокий потенциал подается на элементы
ИЛИ 17, 14 и !5, элементы И-HE 10,11 и разрешает прохождение синхроимпульсов с входа 25 через элемент НЕ
55 21, элементы H IIE 12 и 13 сразу к а двум регистрам 7 и 8 адреса. По переднему фронту синхроимпульса, проходящего через элемент НЕ 21 и эле5
25 13, второй и первый элементы ИЛИ 14 и 15, первый элемент И 16, третий элемент ИЛИ 17, два счетных триггера
18 и 19 триггер прерывагпш 20, элемент HE 21,второй элемент И 22, пятьпг элемент И-НЕ 23, вход 24 первого синхроимпульса, вход 25 второго синхроимпульса и вход 26 прерываний.
Микропроцессор для управления памятью микрокоманд работает следующим образом.
В нормальном режиме работы (отсутствие запросов на прерывание) счетный триггер 18 находится .в пулевом состоянии и синхроимпульсы с входа 25 проходят через элемент НЕ
21 и один из элементов И-HE 12 или
13 в соответствии с состоянием управляющего триггера 9. Допустим, что управляющий триггер 9 находится в единичном состоянии, тогда сипхвоимпульсы проходят через элемент И-НЕ
13 на регистр адреса микрокоманд 8, коммутатор 6 подключит регистр адреса микрокоманд к выходу адреса 5.
8037ао мент И 16 управляющего триггера 9, происходит переключение управляющего триггера 9 в другое состояние.
Допустим, управляющий триггер 9 находится в нулевом состоянии, т.е. в. работе находится регистр 7 адреса.
При проходе синхроимпульса происходит переключение управляющего триггера 9 и к выходу 5 адреса подключает10 ся регистр 8 адреса, при этом элемент
И-НЕ 11 вырабатывает сигнал установки регистра 8 адреса в единичное состояние и по заднему фронту синхроимпульса адрес с блока 3 формирования
f5 адреса записывается в регистр 7 адреса, а регистр 8 адреса устанавливается в единичное состояние и этот адрес выдается на выход 5 адреса.
Регистр 8 адреса устанавливается в единицу, не смотря на то, что на его
20 информационные входы тоже подан текущий адрес с блока 3 формирования адреса, Это происходит потому, что сигнал установки перебивает информацию на входе. По второму синхроимпульсу с входа 24 счетный триггер 18 устанавливается в ноль и снимается единица элементов И-НЕ 10, 11 и элементов ИЛИ 14, 15 и 17, тем самым открывая только один путь для прохождения синхроимпульсов с входа 25, а именно, к регистру 8 адреса.
Единица с инверсного выхода счетного триггера 18 устанавливает счетный триггер 19 в единичное состоя- 3s ние, разрешая синхроимпульсам с входа 25 проходить через элемент
И-НЕ 23. Передний фронт синхроимпульса с входа 25, пройдя через элемент
НЕ 21 и элемент И-НЕ 23, установит 40 триггер 20 прерываний в единичное состояние. Единица с триггера 20 прерывания будет удерживать счетный триггер 18 в нулевом состоянии, так как подается на вход. По заднему 4> фронту синхроимпульса с входа 25 элемента И 22 счетный триггер 19 уста-, новится в нулевое состояние. При этом счетные триггеры 18,19 и триггер 20 прерываний установятся в исходное состояние.
Таким образом происходит следующее.
Если мы работали с регистром 7 адреса, то после всего происшедшего в регистре 7 адреса оказался следующий адрес, а с регистра 8 адреса выдался на выход 5 адреса единичный адрес. Значит мы спасли текущий адрес и перешли к начальной ячейке программы обработки прерывания.
В режиме возврата к прерванной программе возврат происходит программно. При этом блок 3 формирования адреса вырабатывает сигнал переключения управляющего триггера 9, который с выхода два или три блока
3 поступает на входы элемента ИЛИ
17 и на элемент И 16. По синхроимпульсу с входа 25 происходит переключение управляющего триггера 9 и к выходу 5 адреса подключается тот регистр адреса, который был отключен, в нашем случае это регистр 7 адреса. С регистра 7 адреса текущий адрес, на котором была прервана программа, поступает на выход 5 адреса и продолжается выполнение прерванной программы.
Наличие второго регистра адреса, входа прерываний и схем управления регистрами адреса позволяет организовать прерывание на программном уровне без дополнительных затрат оборудования и времени. Кроме того, при этом не нужно спасать текущий адрес. Это позволяет значительно уменьшить объем программы обработки прерываний и соответственно объем
ПЗУ микрокоманд, что выгодно отличает предлагаемый микропроцессор для управления памятью микрокоманд от известных устройств аналогичного назначения.
Корректор E-Рошко
Редактор Л.Письман Техред А .Ач
Заказ 57!7 Тираж 673 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д.4/5
Филиал ППП "Патент", r.Ужгород, ул.Проектная,4