Микропрограммный процессор
Иллюстрации
Показать всеРеферат
ОП И САНИ Е
И ЗОБРЕТЕ Н ИЯ
К . АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (ti)980098
Союз Советск ив
Социапистическик
Республик (6l ) Дополнительное к авт. саид-ву (22) Заявлено 04.07.80 (2! ) 2984194/18-24 с присоедине*нем заявки № (23) Приоритет
Опубликовано 07.12.82. Бюллетень № 45
Дата опубликования описания 07.12.82 (51)M. Кл.
506 F 15/00
3Ъоударотеенный комнтет
СССР ао делам нзобретеннй н открытнй (53) УДК681. . 325 (088.8) В. И. Сидоренко, Г. Н. Тимонькин, С. Н.,"Гкаченко, М. П. Ткачев и В. С, Харченко
4 ,1
1 (72) Авторы изобретения (71) Заявитель (54) МИКРОПРОГРАММНЪ|Й ПРОЦЕССОР
Изобретение относится к автоматике и вычислительной технике и может найти применение в управляющих и вычислительных системах.
Известен микропрограммный процессор, содержащий операционный блок, опе- ративную память, счетчик команд, постоянную память | 11 .
Недостатком такого микропроцессора является относительно низкая экономичность.
Наиболее близко к предлагаемому устройство, содержащее операционный блок, оперативное запоминающее устройство, счетчик команд, блок микропрограммного управления, постоянное запоминающее устройство, триггер, группу элементов
И $27 .
Недостатком устройства является низкая экономичность. 20
|1ель изобрет жия — повышение экономичности процессора.
Поставленная пель достигается тем, что в,микропрограммный процессор, со2 держащий операционный блок, оперативное запоминающее устройство, счетчик команд, блок микропрограммного управления, постоянное запоминающее устройство, триггер режима, блок элементов И, причем сигнальный выход блока многопрограммного управления соединен с входом микрооперапий операционного блока, выход адреса данных которого соединен с входом считывания оперативного запоминающего устройства, выход последнего соединен с информационным входом операционного блока, выход адреса команды которого соединен с входом счетчика команд, выход которого соединен с адресным входом операционного блока и первым входом блока элементов И, второй вход которого соединен с выходом сигнала обращения в операционную систему операционного блока, третий вход блока элементов И подключен к единичному выходу триггера режима, единичный вход которого соединен с выходом установки режима операционного блока, нулевой
980098 4
55 вход триггера режима соединен с выходом сброса режима операционного блока, введены дешифратор идентификации, триггер прерываний, пять элементов И, два элеменаа ИЛИ, элемент ИЛИ-НЕ и постоянное запоминающее устройство команд операционной системы, причем выход блока элементов И соединен с входом считывания постоянного запоминающего устройства команд операционной системы, выход которого подключен к входу команд операционного блока, выход начальной установки которого соединен с входом
1 начальной микрокоманды блока микропро-, граммного управления, вход прерываний операционного блока соединен с единичным выходом триггера прерываний, нулевой выход которого подключен к входу прерывания блока микропрограммного управления, нулевой вход триггера прерываний соединен с входом конца цикла процессора, единичный вход триггера прерываний соединен с выходом первого элемента ИЛИ, первый вход которого соецинен с выходом первого элемента И, второй вход первого элемента ИЛИ соединен с выходом второго элемента И, третий вход первого элемента ИЛИ соединен с выходом третьего элемента И, четвертый вхоц первого элемента ИЛИ подключен к выходу четвертого элемента И, первый вход которого соединен с ед п ичным выходом триггера режима, второй вход четвертого элемента И соединен с первым выходом постоянного запоминающе&о устройства, с первым . входом элемента ИЛИ-HE и первым входом второго .элемента ИЛИ, выход которого подключен к первому входу первого элемента И, второй вход которого соединен с первым выходом дешифратора идентификации, второй выход которого соединен с первым входом второго элеЪ мента И, второй вход которого соединен с выходом элемента ИЛИ-НЕ и первым входом третьего элемента И, второй вход которого соединен с третьим выходом дешифратора идентификации, вход которого соединен с выходом микроопераций блока микропрограммного управления, адресный выход которого подключен к входу считывания постоянного запоминающего устройства, второй выход которого соединен с информационным входом блока микропрограммного управления, а третий выход постоянного запоминающего устройства соединен с вторым входом второго элемента ИЛИ, вторым входом элемента ИЛИ-НЕ и первым входом пятого элемента И, второй вход которого подключен к нулевому выходу триггера режима, а выход соединен с пятым входом первого элемента ИЛИ.
Блок микропрограммного управления содержит формирователь адреса микрокоманд, регистр адреса, блок элементов
И, дешифратор микроопераций и генератор тактовых импульсов, выход которого подключен к первому входу блока элементов
И, тактовому входу регистра адреса, первому входу дешифратора микроопераций и первому входу формирователя адреса микрокоманд, второй вход которого соединен с входом начальной микрокоманды блока, вход прерывания которого соединен с вторым вхоцом блока элементов
И и с первым информационным входом регистра адреса, второй информационный вход которого подключен к выходу формирователя адреса микрокоманд, третий вход которого подключен к информацион ному входу блока, сигнальный выход которого подключен к выходу дешифратора микроопераций, второй вход которого соединен с выходом поля микроопераций регистра адреса, выход поля адреса очеред» ной микрокоманды которого подключен к третьему входу блока элементов И и к адресному выходу блока, выход микроопераций которого соединен с выходом блока элементов И.
Операционный блок содержит регистр, сумматор и узел местного управления, вход микроопераций которого соединен с входом микроопераций блока, информационный вход которого соединен с первым входом регистра, первый выход которого соединен с первым информационным входом узла .местного управления, адресный вход которого соединен с адресным входом блока, вход команд которого соединен с входом команд узла местного управления, вход прерываний которого соединен с входом прерываний блока, второй информационный вход узла местного управления соединен с первым выходом сумматора, второй выход которого соединен с вторым входом регистра, второй и третий выходы которого соединены соответственно с выходом адреса данных и выходом сйгнала обращения в операционную систему блока, четвертый выход регистра соединен с первым входом сумматора, второй вход которого соединен с выходом информационного поля микрооперации узла местного управления обработкой слов по микрокомандам, поступающим. из блока 17 микропрограммного управления, кодам микроопераций.
5 980 ления, выход установки режима которого соединен с выходом установки режима блока, выход сброса режима которого соединен с выходом сброса режима узла местного управления, выход адреса следующей команды которого соединен с выходом кода адреса команды и логических условий операционной системы блока, выход начальной установки которого сое динен с выходом начального адреса узла >й местного управления, выход микрооперации которого соединен с третьим входом регистра.
Кроме того, узел местного управления содержит смесь групп элементов И, груп- 15 пу элементов "Сумма по модулю 2», две группы элементов ИЛИ и элемент НЕ, причем первый информационный вход узла соединен с первыми входами элементов ИЛИ первой группы, вторые. входы 20
KoTopbIx соединены с выходами элементов
Сумма по модулю 2 группы, первые входы которых соединены с выходами элементов И первой группы, первые входы элементов И групп с первой по третью25 и первые входы элементов ИЛИ второй ь рутШЫ соединены с вторым информацион ным входом узла, вторые входы элементов И групп с первой по третью и вторые входы элементов ИЛИ второй группы щ соединены соответственно с входом микроопераций узла и с входом команд узла, первые входы элементов И четвертой и пятой групп соединены с входом микроопераций узла, вторые входы элементов
И четвертой и пятой групп и первые входы элементов И шестой и седьмой групп соединены через элемент HE с входом прерываний узла, вторые входы элементов И шестой группы соединены с выходами одноименных элементов И третьей группы, вторые входы элементов И седьмой группы соединены с выходами элементов ИЛИ второй группы, выход адре.са следующей микрокомацды узла соединен с выходами эдементов ИЛИ второй группы, выход микроопераций узла сое- . динен с выходами элементов И четвертой группы, выходы элементов И второй группы являются соответственно выходом установки режима и выходом сброса режима узла, выходы элементов И пятой группы соединены с выходом информационного поля микрооперации узла, выходы элементов И седьмой группы являются
55 выходом начального адреса узла.
На фиг. 1 приведена структурная схема микропрограммного процессора; на фиг. 2 — структурная схема блока микро098
Ф программного управления; аа фиг. 3блок-схема операционного блока, на фиг. 4 - блок-схема формирователя адреса", на фиг. 5 — блок-схема узла местно
ro -управления.
Микропрограммный процессор содержит
I постоянное запоминающее устройство 1 команд операционной системы, операционный блок 2, оперативное запоминающее устройство 3, постоянное запоминающее устройство 4, элемент ИЛИ 5, элемент
И 6, элемент ИЛИ 7, триггер 8 прерываний, блок 9 элементов И, триггер 10 режима, элемент И 11, дешифратор 12, элемент ИЛИ-НЕ 13,.элемент И 14, счетчик 15, элемент И 16, блок 17 микропрограммного управления, элемент
И 18, вход 19 конца цикла прояессора.
Блок 17 микропрограммного управления содержит формирователь 20 адреса, регистр 21, поле 22 микрооперации, поле 23 адреса следующей микрокоманды дешифратор .24, блок 25 элементов И, генератор 26 импульсов.
Операционный блок 2 содержит узел
27 местного управлення, регистр 28 и сумматор 29. Формирователь 20 адреса содержит группу элементов 30 Сумма по модулю два", группу элементон И 31 и группу элементов ИЛИ 32. Узел 27 местного управления содержит группы элементов И 33, 34, группу элементов
ИЛИ 35, элемент НЕ 36, группу элементов 37 Сумма по модулю два, группу элементов ИЛИ 38, группы элементов И 39-43.
Постоянное запоминающее устройство
1 команд операционной системы предназж начено для хранения команд операционной системы. При подаче на его вход адреса команды с блока 9 на его выходе считывается соответствующая команда операционной системы, поступающая. на вход команд блока 2.
Блок 2 предназначен для обработки операндов и команд. При этом узел 27 местного управления служит для управРегистр 28 предназначен для хранения слов в процессе выполнения микроопераций, а сумматор 29 - для непосредственной реализации требуемой обработки операндов и команд.
Оперативное запоминаюшее устройство
3 предназначено для оперативного хранения программ пользователей (команд
7 .. МОО пользователей) и данных. Постоянное запо минающее устройство 4 предназначено для долговременного хранения микрокоманд, необходимых для выполнения программ операционной системы и программ пользователей.
Триггер 8 прерываний предназначен для формирования сигнала прерывания выполнения считанной микрокоманды в блоке 2 и сигнала разрешения обработки 10 считанной микрокоманды в блоке 17, Блок 9 предназначен для передачи адреса очередной команды операционной системы на входы постоянного запоминающего устройства 1 команд операционной системы из счетчика 15 комйщ при наличии разрешающих сигналов с первого выхода триггера 10 режима и с третьего выхода операционного блока 2. триггер
10 режима предназначен для формирова- щ ния сигналов о реализующемся режиме работы "Супервизор" или "Задача".
Счетчик 15 команд предназначен для формирования очередной команды операционной системы в постоянном запоминаю- 5 щем устройстве 1 команд операционной системы. Он увеличивает свое содержимое на единицу после выполнения каждой команды. Команды переходов могут полностью менять содержимое счетчика. 30
Блок 17 микропрограммного управления предназначен для управления работой операционного блока 2 и микропрограммного процессора в целом. При этом формирователь 20 адреса микрокоманд обеспечивает формирование адреса очередо ной микрокоманды на основе адресной части текущей (считанной) микрокоманды, кода логических условий и начального адреса микрокоманды. Регистр 21 40 обеспечивает хранение кода микроопераций текущей микрокоманды в поле 22 и адреса очередной микрокоманды в поле 23.
Формирование адреса очередной микро45 команды произвоцится следующим образом.
Начальный адрес (код операции) поступает на вход формирователя 20 и далее через элементы ИЛИ 32 и открываемые тактовым импульсом элементы И 31—
50 на выход формирователя 20. По начальному адресу из постоянного запоминающего устройства 4 считывается .микрокоманда, адресная часть которой подается на первый вход формирователя 20.
Адрес каждой следующей микрокоманды состоит из постоянной и модифицируемой частей, постоянная часть адреса через элементы ИЛИ 32 поступает на первую подгруппу элементов И 31, а модифицируемая часть адреса подается на элементы 30 Сумма по модулю два", на другие входы которых подаются значения соответствующих логических условий.
С учетом значений логических условий осуществляется модификация адреса сложения по модулю два кода логических условий и кода модифицируемой части адреса. В результате с выходов элементов 30 "Сумма по модулю два" на вторую подгруппу элементов И 31 поступает модифицированная часть адреса. По тактовому импульсу код адреса, состоящий из постоянной и модифицированной частей, через группу элементов И 31 поступает на выход. Формирование адреса следующей микрокоманды осуществляется аналогично.
Рассмотрим работу предлагаемого микропрограммного процессора при выполнении программы операционной системы.
Из операционного блока 2 на его выход установки режима подается сигнал, соответствующий режиму работы микропрограммного процессора "Супервизор .
При этом триггер 10 режима устанавливается в единичное состояние.
Узел 27 местного управления управ, ляет работой операционного блока 2 следующим образом.
В режиме "Супервизор на вход регистра 28 и первый информационный вход узла 27 поступает адрес первой команды операционной системы, который через элементы ИЛИ 38 заносится в счетчик 15. Из постоянного запоминающе-, го устройства 1 на вход команд узла 27 поступает код первой команды операционной системы, который через элементы
ИЛИ 35 и И 42 поступает в блок микропрограммного управления, задавая на-. чальный адрес соответствующей микропрограммы. После считывания первой микрокоманды на вход микроопераций поступают сигналы микроопераций, которые через элементы И 39, 40 передаются в регистр 28 и сумматор 29. Затем на вход микроопераций поступает следующая микрокоманда, и на выходах микроопераций и информационного поля микроопераций выдаются сигналы микроопераций. В микрокомандах ветвления открываются соответствующие элементы И 34, и сигналы логических условий поступают на выход начального адреса.
9 980G
После выполнения последней микроко» манды очередной команды операционной системы, если необходимо перейти в рабочий режим, триггер 10 устанавливает-ся в нулевое состояние. Из регистра 28 на вход узла 27 поступает код первой команды программы пользователя. В регистр 28 этот код подается из оперативного запоминающего устройства 3. Затем этот код через элементы ИЛИ 35, И 41 проходит на выход начального адреса блока 2, задавая в блоке 17 микропрограммного управления начальный адрес микропрограммы. Дальнейшее выполнение микропрограммы осуществляется аналогич-3 5 но выполнению микропрограмм команд операционной системы.
Если в процессе реализации микропрограмм обнаруживается ov ибка, то на вход перерывания блока 2 поступает единичный 2о сигнал. В результате нулевым сигналом .с выхода элемента НЕ 36 узла 27 блокируется выдача информации через элементы И 39 — 42, т.е. блокируется выдача микроопераций. После исправления 25 ошибки на вход прерывания блока 2 подается нулевой сигнал и открываются элементы И 39-42.
Применение изобретения позволяет повысить экономичность предлагаемого про-ЗО цессора.
Формула изобретения
1. Микропрограммный процессор, содэр- жаший операционный блок, оперативное запоминаюшее устройство, счетчик команд, блок микропрограммного управления, постоянное запоминаюшее устройство, триг- 4О гер режима, блок элементов И, причем сигнальный выход блока микропрограммного управления соединен с входом микроопераинй операционного блока, выxoJ .адреса данных которого соединен с 45 входами считывания оперативного запоминаюшего устройства, выход последнего соединен с информационным входом операционного блока, выход адреса команды которого соединен с входом счетчика команд, выход последнего соединен с адресным входом операционного блока и первым входом блока элементов И, второй вход которого соединен с выходом сигнала обрашения в.операционную
55 систему операционного блока, третий вход блока элементов И подключен к единичному выходу триггера. режима, единичный вход которого соединен с вы98 10 ходом установки режима операционного блока, нулевой вход триггера режима соединен с выходом сброса режима операционного блока, о т л и ч а ю ш и й— с я тем, что, с целью повышения его экономичности, в него введены дешифратор идентификации, триггер прерываний, пять элементов И, два элемейта ИЛИ, элемент ИЛИ-НЕ и постоянное запоминающее устройство команд операционной системы, причем выход блока элементов ,И соединен с входом считывания постоянного запоминаюшего устройства команд операционной системы, выход которого подключен к входу команд операционного блока, выход начальной установки которого соединен с входом начальной микро« команды блока микропрограммного управления, вход прерываний операционного блока соединен с единичным выходом триггера прерываний, нулевой выход которого подключен к входу прерывания блока микропрограммного управления, нулевой вход триггера прерываний соединен с входом конца цикла процессора, единичный вход триггера прерываний соединен с выходом первого элемента
ИЛИ, первый вход которого соединен с выходом первого элемента И, второй вход первого элемента ИЛИ соединен с выходом второго элемента И, третий вход первого элемента ИЛИ соединен с выходом третьего элемента И, четвертый вход первого элемента ИЛИ подключен к выходу четвертого элемента И, первый вход четвертого элемента И соединен с единичным выходом триггера режима, второй вход четвертого элемента И сое-, динен с первым выходом постоянного запоминаюшего устройства, с первым входом элемента ИЛИ-НЕ и первым входом второго элемента ИЛИ, выход которого подключен к первому входу первого элемента И, второй вход которого соединен с первым выходом дешифратора идентификации, второй выход последнего соединен с первым входом второго элемента И, второй вход которого соединен с первым входом второго элемента И, второй вход последнего соединен с выходом элемента ИЛИ-НЕ и первым входом третьего элемента И, второй вход которого соединен с третьим выходом
I . дешифратора идентификации, вход последнего соединен с выходом микроопераций блока микропрограммного уцравления, адресный выход которого подключен к входу считывания постоянного запоминающего устройства, второй выход которого
11 98009 соединен с информационным входом блока микропрограммного управления, третий выход постоянного запоминающего устройства соединен с вторым входом второго элемента ИЛИ, вторым входом элемента ИЛИ-НЕ и первым входом пятого элемента И, второй вход которого подключен к нулевому выходу триггера режима, а выход соединен с пятым входом первого элемента ИЛИ., о
2. Процессор по п. 1, о т л и ч а ю ° ш и и с я тем, что блок микропрограммного управления содержит формирователь адреса микрокоманд, регистр адреса, блок элементов И, дешифратор микроопе- i5 раций и генератор тактовых импульсов, выход которого подключен к первому входу блока элементов И,. тактовому входу регистра адреса, первому входу дешифратора микроопераций и первому вхо- щ ду формирователя адреса микрокоманд, второй вход которого соединен с входом начальной микрокоманды блока, вход прерывания которого соединен с вторым входом блока элементов И и с первым 2s информационным входом регистра адреса, второй информационный вход которого подключен к выходу формирователя адреса микрокоманд, третий вход которого подключен к информационному входу блока, щ сигнальный выход которого подключен к выходу дешифратора микроопераций, второй вход которого соединен с выходом поля микроопераций регистра адреса, выход поля адреса"очередной микрокоманды которого подключен к третьему входу блока элементов И и к адресному выходу блока, выход микроопераций которого соединен с выходом блока элементов И.
3. Процессор по и. 1, о т л и ч а ю40 шийся тем, что операционный блок содержит регистр, сумматор и узел местного управления, вход микроопераций которого соединен с входом микроопераций блока, информационный вход которого
4$ соединен с первым входом регистра, первый выход которого соединен с первым информационным входом узла .местного управления, адресный вход которого соединен с адресным входом блока, вход команд которого соединен с входом команд узла местного управления, вход прерываний которого соединен с входом прерываний блока, второй информационный вход узла местного управления соединен с первым выходом сумматора, второй выход которого соединен с вторым входом регистра, второй и третий выхо-. ды которого соединены соответственно с выходом адреса данных и выходом сигнала обращения в операционную систему блока, четвертый выход регистра соединен с первым входом сумматора, второй вход которого соединен с выходом информационного поля микрооперации узла местного управления, выход установки режима которого соединен с выходом установки режима блока, выход сброса режима которого соединен с выходом сброса режима узла местного управления, выход адреса следующей команды которого соединен с выходом кода адреса команды и логических условий операционной системы блока, выход начальной установки которого соединен с выходом . начального адреса узла местного управ» ления, выход микрооперации которого соединен с третьим входом регистра.
4. Процессор по пп. 1-3, о т л и— ч а ю шийся тем, что узел местного управления содержит семь групп элементов И, группу элементов "Сумма по модулю 2, две группы элементов ИЛИ и элемент НЕ, причем первый информационный вход узла соединен с первыми входами элементов ИЛИ первой группы, вторые входы которых соединены с выходами элементов "Сумма по модулю 2" группы, первые входы которых соединены с выходами элементов И первой группы, первые входы элементов И групп с первой по третью и первые входы элементов
ИЛИ второй группы соединены с вторым информационным входом узла, вторые входы элементов И групп с первой по третью и вторые входы элементов ИЛИ второй группы соединены соответственно с входом микроопераций узла и с входом команд узла, первые входы элементов И четвертой и пятой групп соединены с входом микроопераций узла, вторые входы элементов И четвертой и пятой групп и первые входы элементов И шестой и седьмой групп соединены через элемент
НЕ с входом прерываний узла, вторые входы элементов И шестой группы соединены с выходами одноименных элементов И третьей группы, вторые входы элементов И седьмой группы соединены с выходами элементов ИЛИ второй группы, выход адреса следующей микрокоманды узла соединен с выходами элементов
ИЛИ второй группы, выход микроопераций узла соединен с выходами элементов
И четвертой группы, выходы элементов
И второй группы являются соответствен13 но выходами установки режима и выходом сброса режима узла, выходы элементов И пятой группы соединены с выходом информапионного поля микрооперании узла, выходы элементов И седьмой группы являются выходом начального адреса узла, 0008
14
Источники информа ии, принятые во внимание при экспертизе
1. Патент Великобритании № 1447736, кл. 6,.4 А, 1976.
2. Авторское свидетельство СССР № 664173, кл. GI06F 15/00, 1979 (прототип) .
980098
ФЬгХ
Составитель М. Кудряшев
Редактор И. Рыбченко Техред A. Бабинен Корректор О. Билак
Заказ 9361/39 Тираж 731 Поднисное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
Филиал ППП Патент, г. Ужгород, ул. Проектная, 4