Микропрограммный процессор со средствами быстрого прерывания

Номер патента: 1116432

Авторы: Иванов, Сыров, Черевко

Есть еще 21 страница.

Смотреть все страницы или скачать ZIP архив

Текст

СОЮЗ СОВЕТСКИХСОЦИАЛИСТИЧЕСКИХРЕСПУБЛИК 5/00; С 06 Г 9/46 СЕСОЮЗЕ ф 911 АТ 1 ИТЙОТЮ ХВЮЮЮД 4 ОПИСАНИЕ ИЗОБЕВтЕНИЯН АВТОРСНОМУ СВИДЕТЕЛЬСТВУ(71) Ордена Ленина итики им. В.М. Глушко(56) 1. Патент СШАкл. 364/ 200, опублик2. Патент США3кл. С 06 Г 3/04, опу3. Фельдман Б.Я.организация процессокн.: Управляющие вычкомплексы на базе маИНЭУМ, вып. 68, 1978рис. 1 (прототип). Ф 36 Иванов нститут кибернева 4250546,1980.710324,блик, 1972.и др. Логическаяра,СМ-ЗП, Вислительныелых ЭВМ. Трудыс. 9-23,к ф ОСУДАРСТВЕННЫЙ КОМИТЕТ СССРО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ(54)(57) МИКРОПРОГРАММНЪЙ ПРОЦЕССОР СО СРЕДСТВАМИ БЫСТРОГО ПРЕРЫВАНИЯ, содержащий регистр состояния, блок прерываний, блок синхронизации, блок приемников данных, блоки передатчиков данных и адреса, регистр адреса, блок регистров, операционный блок, коммутатор, регистр команд, формирователь импульсов, регистр микрокоманд, блок микропрограммной памяти и блок формирования адреса микрокоманды, управляющий вход, первый и второй информационные входы и выход которого соединены соответствен. но с выходом формирователя импульсов, первым адресным выходом регистра микрокоманд, первым выходом регистра команд и адресным входом блока микропрограммной памяти, управляющий вход и выход которого подлючены соответственно к выходу ормирователя импульсов и входу ре 801116432 А гистра микрокоманд, управляющий вход,информационный вход, первый, второйи третий адресные входы блока регистров соединены соответственнос выходом формирователя импульсов,первым выходом операционного блока,вторым выходом регистра команд,вторым адресным выходом регистрамикрокоманд и первым выходом регистра адреса, синхровход, информационный вход и второй выход которогоподключены соответственно к выходуформирователя импульсов, первому выходу операционного блока и информационному входу блока передатчиковадреса, первый и второй информационные входы операционного блока соединены с выходами соответственнокоммутатора и блока регистров, а второй выход операционного блока подключен к информационным входам регистра состояний и блока передатчиков данных и третьему информационному входу блока формирования адресамикрокоманды, управляющий вход,первый, второй, третий и четвертыйинформационные входы коммутатора соединены соответственно с выходом формирователя импульсов, информационнымвыходом блока приемников данных, информационным выходом регистра состояний, вторым выходом операционногоблока и выходом константы регистрамикрокоманд, информационный вход ипервый выход блока прерываний подклю.чены к управляющему входу-выходупроцессора, а синхровход, управляющий вход и второй выход блока прерываний соединены соответственно свыходом формирователя импульсов,признаковым выходом регистра состоя17 11164входы узла 211 перекодировки соединены соответственно линиями 217-219и 220 с входом формирователя 12.Первый-восьмой выходы узла 211 перекодировки соединены соответственнолиниями 41, 48, 44, 43, 42, 45, 46,47, собранными в шину 50, с выходом22 Формирователя 12, Управляющиесигналы в данном примере реализациина линиях 40 выходной шины 50, 163, 10164, 165 выходной шины 167 и 190,191 выходной шины 192 поступают иэсоответствующих полей операционнойчасти регистра 13 микрокоманд, поступающих на вход 214 формирователя 12импульсов. Вход дешифратора 199 соединен линией 221 с входом 214 формирователя 12. Первый-третий выходыдешифратора 199 соединены соответственно с вторыми входами элементов 2 п208, 209, 210 И, выход первого изкоторых соединен линией 166 черезшину 167 с выходом 212 формирователя 12. Второй выход дешифратора 199и выходы элементов 209, 210 И соединены соответственно линиями 176,173, 175, собранными в шину 174 свыходом 212 формирователя 12. Четвертый выход дешифратора 199 соединенлинией 92 через шину 89 с выходом212 формирователя 12, Пятый выходдешифратора 199 соединен линией 222с выходом 212 формирователя 12, поступающим на синхровход регистра 8 команд.Вход дешифратора 200 соединен шиной 22335с входом 214 и выходом 212 Формирователя 12. Первый и второй выходыдешифратора 200 соединены соответ-.,ственно линиями 224 "Прием приэнакового выхода блока 4 приемников данных" и 225 "Прием константы", собранными в шину 226, с выходом 212 формирователя 12. 32 18 Управляющие сигналы по линиям 224 и 225 поступают соответственнона первые входы элементов 17 и 18 И. Управляющие сигналы по шине 223 поступают на управляющий вход коммутатора 10.Для технической реализации узла 5 б 211 перекодировки может быть использована микросхема К 155 РЕЗ, таблица входов-выходов которой приведена на фиг. 12.Микропрограммный процессор работает следующим образом.В текущий момент времени через информационный 23 вход-выход процес. сора из главной памяти считывается очередная команда, которая через блок 4 приемников данных поступает в регистр 11 команд и далее в блок 15 формирования адреса микрокоманд для формирования начального адреса микрокоманды выполняемой команды. По сформированному в блоке 15 адресу иэ блока 14 микропрограммной памяти на регистр 13 микрокоманд считывается микрокоманда. Формирователь 12 импульсов дешифрирует операционную часть микрокоманды, и на его выходах появляются управляющие сигналы, воздействующие на работу операционного блока 9 и других блоков и схем процессора, Первая адресная часть микрокоманды с первого адресного выхода регистра 13 микрокоманд поступает в блок 15 Формирования адреса микрокоманд для определения адреса следующей микрокоманды. Вторая адресная часть микрокоманды с второго адресного выхода регистра 13 микрокоманд поступает в блок 8 регистров для определения номера регистра, участвующего в операции, Блок 8 регистров содержит два узла по 16 регистров, В каждом узле восемь универсальных регистров РО-Р 7 являются как микропрограммно, так и программно доступными и включают счетчик команд (Р 7) и указатель стека (Р 6). Остальные восемь рабочих регистров (Р 10-Р 17) доступны только микропрограммно. Содержимое одноименных регистров обоих узлов одинаково. Регистр Р 12 предназначен для хранения адреса вектора прерывания. В блоке 8 регистров хранятся операнды, обрабатываемые операционным блоком 9, Адрес регистра задается микро- ,программно с одного из трех направлений: регистра 11 команд, второй адресной части регистра 13 микрокоманд и четырех младших разрядов регистра 7 адреса.Адрес следующей команды вычисляется в операционном блоке 9 и посылается в счетчик команд - регистр Р 7 блока 8 регистров. При обращении за следующей командой адрес команды считывается иэ регистра Р 7 блока 8 регистров и через операционный блок 9, регистр 7 адреса, блок передатчиков 6 адреса и управляющий 22 вход-выход процессора поступает в главную память. Синхронизатор 3 уп19 1116равляет обменом информации с главнойпамятью и внешними устройствамипод управлением управляющих сигналовс формирователя 12 импульсов.Блок 2 прерываний выделяет самыйприоритетный запрос на прерывание,поступающий от внешних устройствчерез управляющий 22 вход-выходпроцессора, сравнивает его с приоритетом выполняющейся программы, поступающим из признакового выходарегистра 1 состояния, и, если приоритет поступившего запроса выше, выдает сигнал на прерывание в блок15 формирования адреса микрокоманд.После выполнения каждой команды блок15 формирования адреса микрокомандпо управляющему сигналу из формирователя.12 импульсов анализируетналичие этого сигнала прерывания. 2 ОЕсли сигнала прерывания нет, выполняется переход к очередной команде.В противном случае выполняется прерывание, которое заключается в следующем. 25Внешнее устройство передаетв процессор адрес вектора прерывания,который через информационный 23вход-выход процессора, блок 4 приемников данных, коммутатор 10, операционный блок 9 поступает в регистрР 12 блока 8 регистров. При этом приэнаковый разряд адреса вектора прерывания запоминается на триггере 21блока 16 признака обработки прерыва 35ния. Вектор прерывания представляетсобой два последовательно расположенных слова - адрес начала программы или микропрограммы обслуживания прерывания и значение регистрасостояния программы.2. Микропрограммно выполняетсяоперация сохранения слова состоянияиз регистра 1 состояния через коммутатор 10, операционный блок 9, блок 455 передатчиков данных, информацион,ный 23 вход"выход процессора в спе-циальную область главной памяти -стек. Для адресации стека служитрегистр Р 6 (указатель стека) блока 8регистров. При засылке в стек одногослова значение указателя уменьшается на 2, а при выборке слова из сте 1 ка значение указателя увеличиваетсяна 2,3, В блоке 15 формирования адреса микрокоманд анализируется значение выхода триггера 21 блока 16 при. 432 20 знака обработки прерывания, " 1" наэтом выходе означает, что прерывание должно обрабатываться микропрограммно, а "0" - программно илимикропрограммно в зависимости от значения выхода дополнительного признака регистра 1 состояния. В соответствии с этим при единичном значении выхода триггера 21 блока 16содержимое регистра Р 12 блока 8 регистров через операционный блок 9поступает в блок 15 формирования адреса микрокоманд, инициируя таким образом микроподпрограмму обработкипрерывания; адрес первой микрокоманды которой задан адресом вектора прерывания,При нулевом значении выхода триггера 21 блока 16 признака обработки прерывания содержимое регистра Р 12блока 8 регистров в операционномблоке 9 увеличивается на 2 и этот модифицированный адрес через регистр7 адреса, блок 6 передатчиков адреса,управляющий 22 вход-выход процессора посылается в главную память.Считанное по этому адресу из главной памяти новое слово состояния процессора через информационный 23 вход-выход процессора, блок 4 приемч ников данных, коммутатор 10, операционный блок 9 записывается в регистр 1 состояния под управлением сигналов из формирователя 12 импульсов.4. В блоке 15 формирования адреса микрокоманд анализируется выход дополнительного признака регистра 1состояния. "1" на этом выходе означает, что прерывание должно обрабатываться микропрограммно, а "Офпрограммно. В соответствии с этимпри единичном значении выхода дополнительного признака регистра 1 состояния содержимое регистра Р 12 блока 8 регистров через операционныйблок 9, регистр 7 адреса, .блок пере. датчиков 6 адреса, управляющий 22вход-выход процессора посылается в облавную память. По этому адресу из главной памяти считывается первое слово вектора прерывания и через информационный 23 вход-выход процессора, блок 4 приемников данных, коммутатор 10 и операционный блок 9 поступает в блок 15 формирования адреса микрокоманд, инициируя таким образом микроподпрограмму обработки прерывания. При нулевом значенииО Ь. После окончания программы обработки прерывания выполняется восста новление состояния прерванной прЬ- граммы с помощью команды "Возврат из прерывания", которая извлекает два верхних слова из стека, и загружает их обратно в счетчик команд 55 и в регистр 1 состояния.При микропрограммной обработке прерывания микропрограммно реалиэувыхода дополнительного признака регистра 1 состояния выполняется сохранение адреса следующей команды из регистра 7 блока 8 регистров через операционный блок 9, блок пере датчиков 5 данных, информационный 23 вход-выход процессора в стек, Затем адрес вектора прерывания из регистра Р 12 блока 8 регистров через операционный блок 9, регистр 7 адреса, блок передатчиков 6 адреса, управляющий 22 вход-выход процессора посылается в главную память. По этому адресу из главной памяти считывается первое слово вектора преры вания, являющееся в этом случае адресом подпрограммы обработки прерывания, и записывается в счетчик команд (регистр Р 7 блока 8 регистров) через информационный 23 вход-выход 20 процессора, блок 4 приемников данных, коммутатор 1 О и операционный блок 9.5, По адресу, считанному из регистра Р 7 блока 8 регистров из глав. 25 ной памяти извлекается первая команда подпрограммы обработки прерывания, инициируя таким образом эту подпрограмму. Подпрограмма обработки прерывания может в свою очередь 30 прерваться запросом от устройства с более высоким приоритетом. Если такое прерывание происходит, то счетчик команд и регистр 1 состояния текущей подпрограммы обработки прерывания автоматически (как для случая программной обработки прерывания) вводятся в стек, и инициируется подпрограмма обработки прерывания нового устройства. Подобное накапливание приоритетных прерываний может продолжаться до уровня, определяемого объемом памяти,отведенной под стек процессора программистом, При микропрограммной обработке пре рывания такого накапливания прерываний не происходит и прерывание выполняется максимально быстро. ется извлечение из стека и загрузка только одного слова - регистра 1 состояния.В процессе выполнения команд внутренних прерываний ТКАР, ЕМТ, ВРТ, ЛОТ адрес вектора прерывания, фиксированный для каждой из этих. команд, засылается в регистр Р 12 блока 8 регистров с выхода константы регистра 13 микрокоманд через коммутатор 10 и операционный блок 9. При этом с выхода константы регистра 13 микро- команд засылается также признак обработки прерывания ("0" или "1") на триггер 21 блока 16 признака обработки прерывания через элементы 18 И, 20 ИЛИ под управлением сигнала, поступающего на первый вход элемента 18 И с формирователя 12 импульсов, После этого работа микропрограммного процессора при обработке команд внутренних прерываний выполняется согласно пунктам 2-6.Следует заметить, что при микропрограммной обработке прерывания нет необходимости запоминать и затем восстанавливать программно доступные универсальные регистры РО-Р 7, так как в качестве рабочих регистров можно использовать внутренние только микропрограммно доступные регистры Р 10-Р 17, что также значительно уменьшает время обработки прерывания.Таким образом, предлагаемый микропрограммный процессор позволяет об" рабатывать прерывания тремя способами еМикропрограммно при единичном значении выхода триггера 21 блока 16 признака обработки прерывания. При этом адрес вектора прерывания является адресом микропрограммы обработки прерывания. Этот способ обработки прерывания является самым быстрым.Микропрограммно при нулевом значении выхода триггера 21 .блока 16 и единичном значении выхода дополнительного признака регистра 1 состояния. При этом адресом микропрограммы обработки прерывания является первое слово вектора прерывания, считываемое из главной памяти по адресу вектора прерывания. Программно при нулевом значении выхода триггера 21 блока 16 признака обработки прерывания и нулевом значении выхода дополнительного признака регистра 1 состояния. При этом20 где 1111-т 4 - соответственно первый,четвертый информационные входы этих коммутаторов;ь,ь - соответственно первый 25 и второй управляющие вхо. ды этих коммутаторов,Я - выход этих коммутаторов;Г - стробирующий вход этихкоммутаторов. З 0 Работа коммутаторов 28-30 описывается следующей логической формулой адресом программы обработки прерывания является первое слово вектора прерывания, считываемое из главной памяти по адресу вектора прерывания. Этот способ является самым медленным и совпадает со способом обработки прерывания в устройстве-прототипе.Признак обработки прерывания задается аппаратно в каждом внешнем устройстве (в его адресе вектора пре О рывания) либо записывается программистом в слове состояния вектора прерывания каждого устройства.В соответствии с указанным принципом работы предлагаемого устройства 15 и приведенными на фиг. 2-8 блок-схемами блоков 15 формирования адреса микрокоманд, 2 прерываний, 3 синхронизации, 9 операционного блока, регистра 1 состояния, блока 8 регистров, формирователя 12 импульсов этии блоки работают следующим образом,В блоке 15 формирования адреса микрокоманд под управлением сигналов на управляющем входе 50 осуществля. - ется прием адреса на регистр 24 адреса микрокоманд через коммутаторы 27-29 из сумматора 25 (при выполне 1 1нии микрокоманды с естественной адресацией, что соответствует коду 00 на управляющих входах коммутаторов 27 и коду 000 на управляющих входах коммутаторов 28 и 29), с первого 32 информационного входа (при выполнении микрокоманды безусловного35 перехода по содержимому первого адресного выхода регистра 13 микрокоманд, что соответствует коду 01 на управляющих входах коммутаторов 27 . и коду 001 на управляющих входах коммутаторов 28 и 29), с второго 33 информационного входа (при.выполнении микрокоманды группового ветвления по содержимому регистра 11 команд что соответствует коду 10 на управ ляющих входах коммутаторов 27 и оду 010 на управляющих входах коммутаторов 28 и 29), с третьего 34 информационного входа (при выполнении микрокоманды группового ветвле 50 ния по содержимому операционного блока 9, что соответствует коду 11 на управляющих входах коммутаторов 27 ,и коду 011 на управляющих входах коммутаторов 28 и 29).При выполнении микрокоманды группового ветвления по содержимому одной из тетрад операционного блока 9,что соответствует коду 100 на .управ-, ляющих входах коммутаторов 28 и 29, на четыре младшие разряды адреса микс срокоманд поступает одна из тетрад операционного блока 9 через комму-таторы 26, 27, 28. Номер тетрады указывается кодом на управляющих входах коммутаторов 26. В старшие разряды регистра 24 адреса микрокоманды через коммутаторы 27 поступают соответствующие разряды первого адресного выхода регистра 13 микро- команд с входа 32 блока 15.Работа коммутаторов 26, 27 описывается следующей логической форму- лой Й,:1 йп 1 п ий п щ с пп в пи и в ,2 Ьу 1 23 У 3" Чу у Ч1231 123 2 1 23 3чууу х чууух чуу у х ч1235,12 3 Ь1237)ч 1 2. 3 7 1 2 3 8 где С - стробирующий вход этихкоммутаторов;х, - х 8 - соответственно первый,восьмой информационныевходы этих коммутаторов,- соответственно первыйтретий управляющие входыэтих коммутаторов.При выполнении микрокоманды условного перехода, признаком которой является появление сигнала низкого уровня на стробирующем входе коммутатора 30, на первых управляющих входах коммутаторов 27 с управляющего входа 50 блока 15 приходит сиг" нал низкого уровня, соответствующий коду О, на первые и вторые управляющие входы коммутаторов 28 и 29 сигналы, соответствующие коду 00, а на второй вход элемента 3 1 И-НЕ сигнал высокого уровня, соответству.25 11164ющий коду 1. При выполнении условия(т,е. наличии сигнала " 1" на указан 1ном информационном входе коммутатора 30) на первый вход элемента И-НЕс инверсного выхода коммутатора 30 5поступает сигнал "0". На вторыеуправляющие входы коммутаторов 27и на третьи управляющие входы коммутаторов 28 и 29 с выхода элемента3 1 И-НЕ поступает сигнал "1", т.е.при выполнении условия на управляющиевходы коммутаторов 27 поступаеткод 01, а на управляющие входы коммутаторов 28 и 29 код 001, что соответствует передаче на вход регистра24 кода адреса с первого 32 информационного входа блока 15.При невыполнении условия (наличиисигнала "0" на указанном информационном входе коммутатора 30) черезкоммутатор 30 и элемент 3 1 И-НЕ навторые управляющие входы коммутаторов 27 и на третьи управляющие входькоммутаторов 28 и 29 поступает сигнал "0". Таким образом, при невыполнении условия в микрокоманде условного перехода на управляющие входыкоммутаторов 27 поступает код 00,а на управляющие входы коммутаторов28 и 29 код 000, что соответствует З 0передаче на вход регистра 24 адресамикрокоманд через коммутаторы 27,28 и 29 содеРжимого сумматора 25,т.е при невыполнении условиявыполняется следующая по очереди 351микрокоманда.1Сумматор 25 выполняет сложениетекущего адреса микрокоманды, поступающего на его первый вход с кодом"единица", поступающим с внутренних 40 шин сумматора на его второй и третий вход.При выполнении остальных типовмикрокоманд ввиду наличия сигналавысокого уровня на стробирующем входе коммутатора 30 на первый входэлемента 3 1 И-НЕ с инверсного выхода коммутатора 30 поступает сигнал "1",который разрешает прохождение управляющего сигнала, поступающего на . 50второй вход элемента 3 1 И-НЕ.В блоке 16 признака обработкипрерывания под управлением сигналов на линиях 224, 225 осуществляется прием и запоминание признака обработки прерывания, поступающего с призна кового выхода блока 4 приемников данных через элемент И 17, элемент 32 26ИЛИ 19 на информационный вход триггера 21 во время приема адреса вектора прерывания от внешнего устройства или с выхода константы регистра 13 микрокоманд через элемент 18 И, элемент 19 ИЛИ на инФормационный вход триггера 21 во время выполнения команд внутренних прерываний. В последнем случае признаком служит младший разряд константы. В обоих случаях запоминание признака обработки прерывания на триггере 21 осуществляется под воздействием управляющих сигналов на линиях 224 или 225, поступающих на управляющий вход триггера 21 через элемент 20 ИЛИ.1Блок 2 прерываний организует 11 1захват общей шины в целях прерывания процессора, Запросы на прерывание от внешних устройств ЗП 4-ЗП 7, поступающие соответственно по линиям 82-85 с второго управляющего входа 81 блока 2 прерываний через инверторы-приемники 52-55, запоминаются на триггерах 59-62 по стробирующему сигналу, поступающему по линии 90 "Фаза 1". Узел 66 сравнения выделяет самый приоритетный запрос на прерывание из всех запросов, поступающих на его первый-четвертый входы, сравнивает его с приоритетом выполняющейся программы, поступающим на его пятый-седьмой входы с управляющего входа 91 блока 2 прерываний и, если приоритет поступившего запроса вьпде, формирует на своем соответствующем выходе сигнал высокого уровня, который через элемент 71 ИЛИ поступает на информационный вход триггера 78 и на второй выход 36 блока 2 прерываний в качестве сигнала прерывания процессора. При поступлении управляющего сигнала по линии 92 "Анализ прерывания" (который вырабатывается после выполнения каждой команды) с синхровхода 89 блока 2 прерываний на стробирующий вход триггера 78 последний устанавливается в единицу, разрешая вьдачу вьделяемого узлом 66 сравнения запроса на прерывание через один из соответствующих элементов 6-69 или 70 И-НЕ и один из соответствующих инверторов-передатчиков 72-74 или 75 на первый выход 97 блока 2 прерываний в качестве одного из сигналов РП 4 по линии 93 или5 О 5 20 25 30 РП 5 по линии 94, или РП 6 по линии 95 или РП 7 по линии 96, Так, например, если одновременно на триггерах 59-62 запомнились все запросы на прерывание ЗП 4-ЗП 7, то на выход 97 блока 2 прерываний пройдет только сигнал РП 7 по линии 96 через четвертый выход узла 66 сравнения, элемент 70 И-НЕ, ийвертор-передатчик 75. Ввиду отсутствия сигнала ПВБ (высокий. уровень сигнала на линии 87) ,через инвертор-приемник 57 на вход .установки в "1" триггера 79 поступает сигнал низкого уровня, в результате чего с его выхода на входы установки в "0" триггеров 59, 60-62 поступает сигнал высокого уровня, который не вызывает установку этих триггеров в "0", В соответствии с алгоритмом работы интерфейса "общая шина" внешнее устройство, пославшее сигнал ЗП, опознает передний фронт сигнала РП по своей линии РП, вьщает сигнал ПВБ, снимает сигнал ЗП и ждет снятия сигнала РП,В блоке 2 прерываний появление низкого уровня сигнала ПВБ на линии 87 приводит к появлению сигнала высокого уровня на входе установки в "1" триггера 79 и сигнала низкого уровня на входе установки в "0" триггера 78, в результате чего последний устанавливается в "О", запрещая выдачу сигналов РП 4-РП 7. Установка триггера 78 в "0" вызывает также выдачу 35 переднего фронта сигнала с инверсного выхода триггера 78 на стробирующий вход триггера 79, что вызывает установку последнего в "0" и выдачу сигнала низкого уровня с выхода триг"40 гера 79 на входы установки в "0" триггеров 59-62,в результате чего эти триггеры устанавливаются в "0". После снятия сигнала РП внешнее устройство выставляет адрес вектора 45 прерывания на линиях данных, сигнал "Прерывание", снимает сигнал ПВБ. Снятие сигнала ПВБ на линии 87 вызывает переключение триггера 79 в "1" и выдачу на вход установки в "0" 50 триггеров 59, 60-62 сигнала высокого уровня, который разрешает прием очередных запросов на прерывание на эти триггеры. После появления сигнала "Прерывание" на линии 88 че рез время 1, , определяемое элементом 64 задержКи, через инвертор-передатчик 76 на выход 97 по линии 98 вы" дается сигнал СХИ. Затем внешнее устройство, которое вызвало прерывание, опознав сигнал СХИ, снимает сигнал Прерывание". Рассмотренный цикл работы блока 2 прерываний повторяется при поступлении следующего запроса на прерывание. Триггер 78 устанавливается в состояние "0" также при появлении сигнала начального сброса, при этом низкий уровень сигнала "Подготовка" по линии 86 через инвертор-приемник 56, элемент 63 ИЛИ-НЕ поступает на вход установки в "0" триггера 78.Одновибратор 80, элемент 65 задержки и элемент-передатчик 77 И-НЕ выдают сигнал ПВБ в случае, если внешнее устройство не выдает сигнал ПВБ в течение 10 мкс после выдачи одного из сигнаЛов РП 4-РП 6 или РП 7. После выдачи одного из этих сигналов с прямого выхода триггера 78 на входы элемента 65 задержки и одновибратора 80 поступает сигнал высокого уровня, запускающий одно-. вибратор 80, на выходе которого формируется отрицательный импульс длительностью 10 мкс. Элемент 65 задержки исключает выдачу сигнала ПВБ с элемента-передатчика 77 И-НЕ в интервале времени между появлением сигнала высокого уровня на входе одновибратора 80 и сигнала низкого уровня на его выходе. Таким образом, после выдачи одного из сигналов РП через элемент 65 задержки на первом входе элемента-передатчика 77 появляется сигнал высокого уровня. На втором входе элемента-передатчика 77 сигнал высокого уровня появится через 10 мкс с выхода одновибратора 80. В результате через 10 мкс после выдачи одного из сигналов РП 4-РП 6 или РП 7 на линии 99 с выхода элемента-передатчика 77 И-НЕ появится сигнал ПВБ низкого уровня. Если внешнее устройство вьщает сигнал ПВБ по линии 87 за время меньше 10 мкс после выдачи одного из сигналов РП 4-РП 6 или РП 7, триггер 78 при появлении сигнала ПВБ устанавливается в "0". Низкий уровень сигнала с его прямого выхода сбрасывает одновибратор 80 и через элемент 65 задержки поступает на первый вход элемента-передатчика 77, благодаря чему сигнал ПВБ с его выхода не выдается.Работа узла 66 сравнения описыва.ется следующими логическими форму=ьь,ь ь,ь 3 3 4 5 6 О ЭО где Ь - Ъ - соответственно первыйвосьмой информационныевходы узла 66;31- д 4 - соответственно первыйчетвертый выходы узла 66.Узел 66 сравнения. может быть выполнен на микросхеме К 556 РТ 4.Блок 3 синхронизации управляет операциями ввода-вывода по общей ши 20 не в соответствии с требованиями, предъявляемыми к интерфейсу общая шина". На триггерах 100-102 соответственно запоминаются типы операций ввода-вывода: "Чтение", "Запись" и "Запись байта", сигналы низкого уровня которых поступают соответственно по линиям 129-131 с входа 132 блока 3 на входы установки в " 1" триггеров 100-102. При установке в " 1" одного из триггеров 100, 101 или 102 на первый вход элемента 122 И-НЕ с выхода элемента 109 ИЛИ поступает сигнал высокого уровня, который вызывает появление сигнала низкого уровня на выходе элемента5 122 И-НЕ при отсутствии сигнала ЗАН (высоком уровне сигнала на линии 136) и появлении стробирующего сигнала высокого уровня "Фаза 2" на линии 135, что вызывает установку в " 1" триггера 103 ТЗАН, В исходном состоянии триггеры 100-103 установлены в "0" передним фронтом сигнала "Подготовка", поступающим по линии 133 через инвертор-приемник 106 на стро бирующие входы этих триггеров. Занятие общей шины процессором, признаком чего является установка триггера 103 ТЗАН в " 1", разрешает выдачу на общую шину адреса (благодаря по" явлению высокого уровня сигнала "Выдача адреса" на линии 140), данных при операциях "Запись" и "Запись байта" (благодаря появлению вы" сокого уровня сигнала "Выдача данных"5 на линии 142), кода операции на линии управления 143 У 1 и 144 У О, за" кодированного на элементах 110, 111 ИЛИ. Коды на линиях 143, 144 У 11-ОХ обозначают следующие операции: 00 - "Чтение", 01 - "Чтение с паузой", 1 О - "Запись", 11 - "Запись байта", Установка в "1" триггера 103 ТЗАН вызывает появление на линии 138 общей шины сигнала ЗАН и установку в "1" триггера 104 ТСХЗ через времяопределяемое элементом 113 задержки при отсутствии сигнала СХИ на линии 137, т,е. при высоком уровне сигнала на этой линии. Установка триггера 104 ТСХЗ в "1" вызывает появление сигнала СХЗ (низкий уровень) на линии 145 через инвертор 117 и запуск одновибратора 121, на выходе которого формируется отрицательный импульс, поступающий на стробирующий вход триггера 105, Если сигнал СХИ (низкий уровень сигнала на линии 137) появился меньше чем за 20 мкс, высокий уровень сигнала с инвертора 107 через элементы 118 И, 112 ИЛИ, 114 задержки поступает на второй вход элемента 126 И-НЕ, на первом входе которого в это время присутствует тоже сигнал высокого уровня. Низкий уровень сигнала с выхода элемента 126 И-НЕ сбрасывает триггер 104 ТСХЗ и одновибратор 121, Низкий уровень сигнала с прямого выхода триггера 104 ТСХЗ поступает на вход установки в " 1" триггера 105 ТОШ, подтверждая его единичное состояние, что является признаком отсутствия ошибки, Через время определяемое элементом 115 задержки, после сброса триггера 104 ТСХЗ, низкий уровень сигнала с выхода элемента 115 задержки поступает на входы установки в "0" триггеров 100-103, устанавливая последние в "0". Если низкий уровень сигнала СХИ на линии 137 не появляется в течение 20 мкс, на стробирующем входе триггера 105 ТОШ с выхода одновибратора 21 через 20 мкс после установки в " 1" триггера 104 ТСХЗ появляется передний фронт сигнала. Поскольку при этом на информационный вход триггера 105 с выхода инвертора 07 поступает низкий уровень сигнала, триггер 105 устанавливается в "0", с его инверсного выхода снимается сигнал ошибки высокого уровня, который через элементы 120 И, 112 ИЛИ, 114 задержки поступает на второй вход элемента 126 И-НЕ, на первомвходе которого в это время присутствует сигнал высокого уровня с выхода элемента 109 ИЛИ. Низкий уровень сигнала с выхода элемента 126 И-НЕ поступает на вход установки в "0" триггера 104 ТСХЗ, устанавливая его в 0". Низкий уровень сигнала с прямого выхода триггера 104 поступает на вход установки в "1" триггера 105 ТОШ, устанавливая по следний в "1". При этом на инверсном выходе триггера 105 появляется сигнал низкого уровня, что является признаком отсутствия ошибки. При появлении низкого уровня сигнала "Подготовка" 15 на линии 133, который через инвертор 106, элементы 112,ИЛИ, 114 задержки, 126 И-НЕ поступает на вход установки в "0" триггера 104, последний устанавливается в 0". 20Операционный блок 9 в зависимости от выполняемой микрокомаиды под воздействием управляющих сигналов на управляющем входе 167 может осуществлять арифметико-логическую опе ,рацию в арифметико-логическом узле 147 над одним или двумя операндами, поступающими на его первый и второй информационные входы по шине 159 с второго информационного входа 158 З 0 блока 9 и по шине 160 с выхода коммутатора 146, осуществлять сдвиг результата арифметико-логической операции на сдвигателе 148, запоминать результат операции в регистре 149 З 5 данных, вырабатывать и запоминать признаки операции на триггерах 15 знака, 153 нуля, 154 переполнени 1, 155 переноса. На триггере 152 запоминается старший (знаковый) раз ряд сдвигателя 148. Элемент 150 ИЛИ, на который поступают выходы всех разрядов сдвигателя, формирует на своем выходе признак нуля результата. Элемент 151 ИСКЛЮЧАЮЩЕЕ ИЛИ форми рует на своем выходе признак переполнения. Выходы триггеров признаков операции 152 знака, 153 нуля, 154 переполнения, 155 переноса по шине 39 через второй выход 34 блока 9 50 поступают в признаковую часть регистра 1 состояния и соответственно на первый-четвертый информационные входы коммутатора 30 блока 15 формирования адреса микрокоманд. Выход 55 51 регистра 149 данных через второй выход 34 блока 9 поступает на входы блока 5 передатчиков данных, коммутатора 1 О, регистра 1 состояния, блока 15 формирования адреса микро- команд. Коммутатор 146 под управлением сигнала, поступающего по линии 165 с управляющего входа 167 блока 9, коммутирует на свой выход содержимое второго регистра 184 блока 8 регистров, поступающее по шине 157 с второго информационного входа 158 блока 9, или содержимое первого информационного блока 9, поступающее по шине 156 с выхода коммутатора 10.В регистре 1 состояния по перед- немУ фронту управляющего сигнала "Загрузка, регистра состояния", поступающего по линии 173 с синхровхода 174, на триггерах 168, 169 и 170 запоминаются соответствующие разряды регистра 149 данных, поступающие по шине 51 с входа 34 регистра 1 состояния. При этом коммутаторы 171 пропускают соответствующие разряды регистра 149 данных, поступающие по шине 51, на вход триггеров 169 при высоком уровне сигнала на линии 176. Признаки результата операции, поступающие по шине 39 с входа 34 через коммутаторы 171 при низком уровне сигнала на линии 176 запоминаются на триггерах 169 по переднему фронту сигнала "Установка признаков", поступающему по линии 175.В блоке 8 регистров в первой половине машинного такта, что определяется высоким уровнем сигнала на линии 196 "Фаза 7", выполняется чтение из узлов 181 первых и 182 вторых регистров по одному регистру, адрес каждого из которых поступает соответственно с выхода коммутаторов 178 и 179. Коммутатор 178 коммутирует адрес выбираемого регистра на адресный вход узла 181 первых регистров с первого 185 или второго 88, или третьего 189 адресных входов блока 8 в зависимости от кода на линии 190. Коммутатор 179 коммутирует адрес выбираемого регистра на адресный вход узла 182 вторых регистров через коммутатор 180 с первого 185 или второго 188, или третьего 189 адресных входов блока 8 в зави-симости от кода на линии 191. Работа коммутаторов 178, 179 описывается следующей логической формулой20 33 1116 где %,- 1 - соответственно первыйзтретий адресные входыэтих коммутаторовфсоответственно первыйи второй управляющиевходы этих коммутаторов, поступающих полиниям 190 или 191;Йз - выход этих коммутаторовВо второй половине машинного так та, что определяется низким уровнем сигнала на линии 196,выполняется запись информации, поступающей на информационный вход 161 блока 8 в тот из регистров узлов 181 первых 15 и 182 вторых регистров, адрес которого поступает с коммутатора 178. При этом коммутатор 180 коммутирует на адресный вход узла 182 вторых регистров выход коммутатора 178. В первой половине машинного такта благодаря высокому уровню сигнала на линии 196 (фиг. 11) коммутатор 180 коммутирует на адресный вход узла 182 вторых регистров выход ком" 25 мутатора 179. При записи информации, сигналы на линиях 193 и 194 имеют низкие уровни. Чтение производится ,при низком уровне сигнала на линии 193 и высоком уровне сигнала на ли- З 0 нии 194. Считанная из узла 181 первых регистров информация записывается по стробу на линии 195 "Фаза 4"в первый 183 регистр, откуда выдается по шине 159. Считанная из узла 182 вторых регистров информация записывается по тому же стробу "Фаза 4" во второй 184 регистр, откуда выдается по шине 157.Формирователь 12 импульсов выра батывает управляющие сигналы для других блоков процессора. Генератор 197 синхросигналов вырабатывает синхросигналы (фиг. 11) необходимые для работы различных блоков. Так, например, информация на регистр 13 микрокоманд заносится по синхросигналу "Фаза 2", поступающему по линии 135, Сигнал записи в блок 8 регистров вырабатывается при наличии 0 высокого уровня сигнала на линии 213, поступающего с соответствующего разряда операционного выхода регистра 13 микрокоманд. Дешифраторы 198- 200 дешифрируют соответствующие 55 поля операционной части регистра 13 микрокоманд, поступающие на их входы соответственно по линиям 215,432 34 221 и 223. Узел 211 перекодировки в зависимости от кода на линиях 217- 220 вырабатывает управляющие сигналы на линиях 41-48 для работы блока 15 формирования адреса микрокоманд в соответствии с таблицей, приведенной на фиг. 12 и описанием ра-, боты блока 15 формирования адреса микрокоманд.Устройство обеспечивает эффективный механизм доступа к микропрограммному. уровню управления посредством прерываний, что позволяет в 2-10 раз увеличить быстродействие выполнения различных алгоритмов пользователя, операционных систем, драйверов ввода - вывода при незначительных аппаратурных затратах, Повышение быстродействия достигается за счет возможности микропрограммной реализации алгоритма обработки прерываний от внешних устройств и внутренних прерываний при выполнении команд экстрокодов.Повышение быстродействия нри микропрограммной обработке прерывания достигается за счет уменьшения количества обращений к относительно медленнодействующей главной памяти ввиду отсутствия этапов выборки команд, использования для хранения промежуточных результатов более быстродействующих внутренних элементов процессора; высокой операционной насыщенности микрокоманд, позволяющей параллельно выполнять несколько операций (в предлагаемом техническом решении одной микроком;ндой можно выполнять до шести операций: чтение операндов, арифметико-логичес кую операцию, сдвиг, запись результа. та, установку признаков н проверку условий, сокращения количества шагов при организации ветвлений по нескольким направлениям за счет воэможности задания в одной микрокоманде групповых ветвлений; меньшего времени выборки микрокоманд из микропрограммной памяти по сравнению с временем выборки команд из главной памяти 1 уменьшения времени на сохранение-восстановление состояния прерванной программы за счет сохранения- восстановления одного регистра при микропрограммной. обработке прерываний вместо нескольких (от 2 до 8) при программной обработке прерываний.1116432 10 15 20 ний и четвертым информационным входом блока формирования адреса микрокоманды, синхровход регистра состояния и управляющий вход операционного блока соединены с выходом формирователя импульсов, вход формирователя импульсов подключен к операционному выходу регистра микрокоманд, синхровход и информационныйвход регистра команд соединены соответственно с выходом формирователяимпульсов и информационным выходомблока приемников данных, вход которого подключен к информационномувходу-выходу процессора, выходы блока передатчиков данных и блока передатчиков адреса соединены соответственно с информационным и управляющим входами-выходами процессора,а управляющие входы этих блоков подключены к выходу блока синхронизации, вход управления чтением/записьюкоторого соединен с выходом формирователя импульсов, а вход управлениярежимом и выход блока синхронизацииподключены к управляющему входу 1Изобретение относится к вычислительной технике и предназначено дляприменения в цифровых вычислительныхмашинах с микропрограммным управлением и системой прерывания.Известен процессор, в котором наряду с обычным прерыванием, предусматривающим автоматическое сохранениесчетчика команд, регистра состоянияи всех рабочих регистров процессорав стеке, предлагается для быстрыхпрерываний сохранять и восстанавливать автоматически в стеке толькосчетчик команд и регйстр состоянияс целью уменьшения времени прерывания 1 1,Недостаток этого устройства - низкое быстродействие выполнения операции прерывания, обусловленное медленной реализацией обработки прерывания.Известен процессор, содержащийобщую шину, блоки управления общейшиной, прерываний, приемников данных,выходу процессора, о т л и ч а ющ и й с я тем, что, с целью повышес ния быстродействия, он содержит блок признака обработки прерывания, включающий два элемента И, два элемента ИЛИ и триггер, информационный вход, синхровход и выход которого соединены соответственно с выходами первого и второго элементов ИЛИ и пятым информационным входом блока формирования. адреса микрокоманды, шестой информационный вход которого подключен к выходу дополнительного признака регистра состояний, первый и второй входы первого элемента ИЛИ соединены с выходами соответственно первого и второгоэлементов И, первые входы которыхподключены к выходу формирователя импульсов и входам второго элементаИЛИ, а вторые входы первого и второгоэлементов И соединены соответственно с признаковым выходомблока приемников данных и выходом константы регистра микрокоманд. 2передатчиков данных, передатчиков адреса, обработки, регистров, регистр адреса, регистр состояния, регистр команд и узел управления 1 2 1.Недостаток этого устройства жесткая аппаратная реализация управления, ограничивающая его функциональные возможности: обеспечивает только медленную программную обработку прерываний и медленную реакцик на прерывание.Наиболее близким техническим решением к изобретению является процессор с микропрограммной реализацией узла управления и векторной системой прерывания, содержащий регистр состояния, блок прерываний, блок синхронизации, блок приемников данных, блоки передатчиков данных и адреса, регистр адреса, блок регистров, операционный блок, коммутатор, регистр команд, формирователь импульсов, регистр микрокоманд, блок микропрограммной памяти и блок формиро 11164321116432 рСлу РЯБУР/. Ю Составитель А.черевкова ТехРед М.Кузьма РедакторО.Колеси Корректор Г.Огм Заказ 6931/39В ППП Патент , г. Ужгород, ул. Проектная, 4 И Тираж 698 ВНИИПИ Государственпо делам изобрет 113035 Москва, ЖПодписноеого комитета СССРний и открытийРаушская наб., д. 4/53 11 вания адреса микрокоманды, первый и второй информационные входы и выход которого соединены соответственно с первым адресным выходом регистра микрокоманд, первым выходом регистра команд и адресным входом блока микропрограммной памяти, выход которого подключен к входу регистра микрокоманд, информационный вход, первый, второй и третий адресные входы блока регистров соединены соответственно с первым выходом операционного блока, вторым выходом регистра команд, вторым адресным выходом регистра микрокоманд и первым выходом регистра адреса, информационный вход и второй выход которого подключены соответственно к первому выходу операционного блока и информационному входу блока передатчиков адреса, первый и второй информационные входы операционного блока соединены с выходами соответственно коммутатора и блока регистров а второй выход операционного блока подключен к информационным входам регистра состояния и блока передатчиков данных и третьему информационному входу блока формирования адреса микрокоманды, первый - четвертый информационные входы коммутатора соединены соответственно с информационным выходом блока приемников данных, информационным выходом регистра состояния, вторым выходом операционного блока и выходом константы регистра микрокоманд, информационный вход и первый выход блока прерываний подключены к управляющему входу-выходу процессора, а управляющий вход и второй выход блока прерываний соединены соответственно с признаковым выходом регистра состояния и четвертым информационным входом блока формирования адреса микро- команды, синхровходы регистра состояния, блока прерываний, регистров адреса и команд и управляющие входы блоков микропрограммной памяти, регистров, формирования адреса микро- команд, операционного блока, коммутатора соединены с выходом формирователя импульсов, вход которого подключен к операционному входу регистра микрокоманд, информационный вход регистра команд соединен с информационным выходом блока приемников данных, вход которого подключен16432 4 40 45 50 55 5 10 5 20 25 30 35 к информационному входу-выходу процессора, выходы блока передатчиков данных и блока передатчиков адреса соединены соответственно с информационным и управляющим входами-выходами процессора, а управляющие входы этих блоков подключены к выходу блока синхронизации, вход управления чтением/записью которого соединен с выходом формирователя импульсов, а вход управления режимом и выход блока синхронизации подключены к управляющему входу-выходу процессора 3 3.Недостатком известного устройства является низкое быстродействие выполнения операции прерывания, обусловленное медленной программной реализацией алгоритма обработки прерывания, а также необходимость сохра. нения и восстановления минимум двух регистров (счетчика команд и регистра состояний), а во многих случаях и всех универсальных регистров, что удлиняет время сохранения и восстановления состояния программыЦель изобретения - повышение быстродействия процессора путем умень" шения времени сохранения и восста-. новления состояния программы при прерываниях путем запоминания одного регистра (регистра состояния) вместо нескольких (от 2 до 8) и уменьшения времени обработки прерывания благодаря возможности микропрограммной реализации алгоритма обработки прерывания. Поставленная цель достигается тем, что в микропрограммный процессор. содержащий регистр состояния, блок прерываний, блок синхронизации, блок приемников данных, блоки передатчиков данных и адреса, регистр адреса, блок регистров, операционный блок, коммутатор, регистр команд, формирователь импульсов, регистр микрокоманд, блок микропрограммной памяти и блок формирования адреса микрокоманды, управляющий вход, первый и второй информационные входы и выход которого соединены соответственно с выходом формирователя импульсов, первым адресным выходом регистра микрокоманд, первым выхо" дом регистра команд и адресным входом блока микропрограммной памяти, управляющий вход и выход которогоподключены соответственно к выходу - формирователя импульсов и входу регистра микрокоманд, управляющий вход, информационный вход, первый, второй и третий адресные входы блока регистров соединены соответственно с выходом формирователя импульсов, первым выходом операционного блока, вторым выходом регистра команд, вторым адресным выходом регистра микро О команд и первым выходом регистра адреса, синхровход, информационный вход и второй выход которого подклю" чены соответственно к выходу формирователя импульсов, первому выходу операционного блока и информационному входу блока передатчиков адреса, первый и второй информационные входы операционного блока соединены с выходами соответственно коммутато ра и блока регистров, а второй выход операционного блока подключен к информационным входам регистра состояния и блока передатчиков данных и третьему информационному входу 25 блока формирования адреса микрокоманды, управляющий вход,первый, второй, третий и четвертый информационные входы коммутатора соединены соответственно с выходом формирователя импульсов, информационным выходом блока приемников данных, информационным выходом .регистра состояния, вторым выходом операционного блока и выходом константы регистра микрокоманд, информационный вход и первый выход блока прерываний подключены к управляющему входу-выходу процессора, а синхровход, управляющий вход и второй выход блока прерываний сое О динены соответственно с выходом формирователя импульсов, признаковым выходом регистра состояния и четвертым информационным входом блока формирования адреса микрокоманды, 45 синхровход регистра состояния и управляющий вход операционного блока соединены с выходом формирователя импульсов, вход которого подключен к операционному выходу регистра микрокоманд, синхровход и информационный вход регистра команд соединены соответственно с вьжодом формирователя импульсов и информационным выходом блока приемников даннь 1 х, вход55 которого подключен к информационному входу-выходу процессора, выходы блока передатчиков данных и блока передатчиков адреса соединены соответ ственно с информационным и управляющим входами-выходами процессора,а управляющие входы этих блоковподключены к .выходу блока синхронизации, вход управления чтением/записью которого соединен с выходомформирователя импульсов, а входуправления режимом и выход блокасинхронизации подключены к управляющему входу-выходу процессора, введенблок признака обработки прерывания,включающий два элемента И, два элемента ИЛИ и триггер, информационный,вход, синхровход и выход которогосоединены соответственно с выходамипервого и второго элементов ИЛИ ипятым информационным входом блокаформирования адреса микрокоманды,шестой информационный вход которогоподключен к выходу дополнительногопризнака регистра состояния, первыйи второй входы первого элемента ИЛИсоединены с выходами соответственнопервого и второго элементов И, первые входы которых подключены к выходу формирователя импульсов и входамвторого элемента ИЛИ, а вторыевходы первого и второго элементов Исоединены соответственно с признаковым выходом блока приемников данных и выходом константы регистрамикрокоманд. На фиг. 1 представлена блок-схема микропрограммного процессора, на фиг. 2 - 8 функциональные схемы соответственно блока формирования адреса микрокоманд, блока прерываний, блока синхронизации, операционного блока, регистра состояния, блока регистров, формирователя импульсов; на фиг. 9 - временная диаграмма работы блока прерываний; на фиг, 10 - то же, блока синхронизации; на фиг. 11 - то же, формирователя импульсов, блоков регистров, формирования адреса микрокоманд, операционного блока и регистра 1 состояния; на фиг. 12 - таблица входов-выходов узла перекодировки формирователя импульсов.Микррпрограммныйпроцессор со средствами быстрого прерывания содержит регистр 1 состояния, блок 2 прерываний, блок 3 синхронизации, блок 4 приемников данных, блок 5 передатчиков данных, блок 6 передатчиков адреса, регистр 7 адреса, блок 8 регистров, операционный блок16432 10 7 119, коммутатор 10, регистр 11 команд,формирователь 12 импульсов, регистр13 микрокоманд, блок 14 микропрограммной памяти, блок 15 формирования адреса микрокоманды, блок 16признака обработки прерывания,содержащий первый 17 и второй 18элементы И, первый 19 и второй 20элементы ИЛИ и триггер 21, Первый ивторой информационные входы и выходблока 15 формирования адреса микрокоманды соединены соответственнос первым адресным выходом регистра13 микрокоманд, первым выходом регистра 11 команд и адресным входомблока 14 микропрограммной памяти.Выход блока 14 подключен к входурегистра 13 микрокоманд. Информационный вход, первый - третий адресныевходы блока 8 регистров соединенысоответственно с первым выходом операционного блока 9, вторым выходомрегистра 11 команд, вторым адреснымвыходом регистра 13 микрокоманди первым выходом регистра 7 адреса.Информационный вход и второй регистр7 адреса подключены соответственнок первому выходу операционного блока 9 и информационному входу блока 6передатчиков адреса. Первый и второйинформационные входы операционногоблока 9 соединены соответственнос выходами коммутатора 10 и блока8 регистров. Второй выход операционного блока 9 подключен к информационным входам регистра 1 состояния,блока 5 передатчиков данных и третьему информационному входу блока 15формирования адреса микрокоманды.Первый - четвертый информационныевходы коммутатора 10 соединены соответственно с информационным выходомблока 4 приемников данных, информационным выходом регистра 1 состояния,вторым выходом операционного блока 9и выходом константы регистра 13микрокоманд. Информационный вход ипервый выход блока 2 прерываний подключены к управляющему входу-выходу 22 процессора. Управлйющийвход и второй выход блока 2 соединены соответственно с признаковым вы-.ходом регистра 1 состояния и четвертым информационным входом блока 15формирования адреса микрокоманды,Синхровходы регистра 1 состояния, блока 2 прерываний, регистров 7 адресаи 11 команд и управляющие входы блоков . 15 20 25 30 35 40 45 50 8 регистров, 14 микропрограммнойпамяти, 15 формирования адреса микрокоманд, 9 операционного блока,10 коммутатора, а также первые входы элементов 17, 18 И блока 16соединены с выходом формирователя 12импульсов. Вторые входы первого 17и второго 18 элементов И соединенысоответственно с признаковым выходомблока 4 приемников данных и выходомконстанты регистра 13 микрокоманд,Входы первого 19 элемента ИЛИ соединены с выходами первого 17 и второго 18 элементов И. Первый и второйвходы второго 20 элемента ИЛИ соединены соответственно с первыми входами элементов 17 и 18 И. Информационный вход, синхровход и выходтриггера 21 соединены сооТветственнос выходами первого 19, второго 20элементов ИЛИ и пятым информационным входом блока 15 формированияадреса микрокоманды, Шестой информационный вход блока 15 подключен квыходу дополнительного признака регистра 1 состояния. Вход формирователя 12 импульсов подключен к операционному выходу регистра 13 микрокоманд. Информационный вход регистра11 команд соединен с информационнымвыходом блока 4 приемников данных,вход которого подключен к информационному входу-выходу 23 процессора.Выходы блока 5 передатчиков данныхи блока 6 передатчиков адреса соединены соответственно с информационным23 и управляющим 22 входами-выходамипроцессора, а управляющие входыэтих блоков подключены к выходу блока 3 синхронизации. Вход управлениячтением/записью блока 3 синхронизации соединен с выходом формирователя 12 импульсов, а вход управлениярежимом и выход блока 3 синхронизацииподключены к управляющему 22 входувыходу процессора,1Блок 15 формирования адреса микрокоманд содержит регистр 24 адресамикрокоманд, сумматор 25, коммутаторы 26-30, элемент 31 И-НЕ. Приэтом выходы коммутаторов 27, формирующих старшие разряды 15-4 адресамикрокоманды и выходы коммутаторов28 и 29, формирующих мпадшие 3-0 разряды адреса микрокоманды, соединены с информационным входом регистра24 адреса микрокоманд. Первые-четвертые информационные входы коммутато1116432 55 9ров 27-29 соединены соответственно с выходом сумматора 25, первым 32, вторым 33, третьим 34 информационными входами блока 15. Выход регистра 24 соединен с первым входом 5 сумматора 25 и выходом 35 блока 15. Пятые информационные входы коммутато ров 28 и 29 соединены с выходами коммутаторов 26, Пятый, шестой и седьмой информационные входы коммутатора 30 соединены соответственно с четвертым 36, пятым 37 и шестым 38 информационными входами блока, 15. Первый-четвертый информационные входы коммутатора 30 соединены ши ной 39 с признаками результата операций, поступающими на третий 34 информационный вход блока 15 Инверсный выход коммутатора 30 соединен с первым входом элемента 3 1 И-НЕ, вы ход которого соединен с вторыми управляющими входами коммутаторов 27 и третьими управляющими входами коммутаторов 28 и 29. Первые и вторые управляющие входы 40 коммутаторов 25 26, первые управляющие входы 4 1 коммутаторов 27, первые 42 и вторые 43 управляющие входы коммутаторов 28 и 29, стробирующий 44, первый 45, второй 46 и третий 47 управляющие входы коммутатора 30, второй 48 вход элемента 3 1 И-НЕ, управляющий 49 вход регистра 24 адреса микрокоманд соединены с управляющим входом 50 блока 15. На первые-четвертые инфор мационные входы коммутаторов 26 заве. дены соответствующие разряды всех четырех тетрад шины данных 51, поступающие на третий 34 информационный вход блока 15 Таким образом, 40 чтобы имелась возможность группового ветвления по результату анализа каждой тетрады. Так, например, на первый-четвертый информационные входы коммутатора 26, выход которого 45 соединен с пятым адресным входом коммутатора 29, формирующего младший разряд адреса, соответственно заведены разряды 12, 8, 4, 0 шины данных, поступающие на третий 34 информационный вход блока 15. Второй вход сумматора 25 и стробирующие входы коммутаторов 26-29 соединены с внутренней шиной Б "Логический ноль", третий вход сумматора 25 соединен с внутренней шиной С "Логическая единица"В данном примере технической реализации информационный и управляюший входы-выходы процессора объединены в общую шину, представляющуюсобой унифицированную систему связей и сигналов между процессором,главной памятью и внешними устройствами. В состав общей шины входятлинии адреса, данных и управления,Линии адреса предназначены для передачи адреса ячейки памяти либоадреса регистра внешнего устройства.Линии данных используются для передачи данных между задатчиком и исполнителем. Сигнал "Синхронизациязадатчика" (СХЗ) используется дляуказания исполнителю, что адреси управляющая информация выставлены на общей шине.Сигнал "Синхронизацию исполните-,ля" (СХИ) является ответным сигналом исполнителя на сигнал СХЗ. Сигналы "Запрос передачи" ЗП(7-4) используется периферийными устройствами для запроса управления общейшиной. Эти сигналы передаются почетырем линиям. Каждая линия имеетсвой уровень приоритета, причемЗП 07 имеет наивысший приоритет. Сигналы "Разрешение передачи" РП(7-4)являются ответом процессора на сигналы ЗП. Сигнал "Подтверждениевыборки" (ПВБ) выдается устройством,которое запрашивало общую шину иполучило разрешение на пользованиешиной. Сигнал "Занято" (ЗАН) определяет, что шина занята текущим задатчиком. Сигнал "Прерывание" (ПРЕР)выдается задатчиком для того, чтобыпроцессор перешел на программу илимикропрограмму обработки прерыванияданного внешнего устройства, Сигнал"Подготовка" (ПОДГ) передается ковсем устройствам из процессора принажатии на кнопку "Пуск" или при выполнении команды "Сброс". Линии управления У 1, УО используются дляпередачи кода операции от задатчикак исполнителю. Линии ЗП(7-4),РП(7-4), ПВБ, ПРЕР, ПОДГ однонаправленные. Остальные линии являютсядвунаправленными. Высокий уровеньсигналов РП(7-4) на общей шине является рабочим. Рабочим уровнем остальных сигналов общей шины является низкий.Блок 2 прерываний содержит инверторы-приемники 52-58, триггеры 59-62,элемент 63 ИЛИ-НЕ, элементы 64, 65задержки, узел 66 сранения, элементы 67-70 И-НЕ, элемент 71 ИЛИ,инверто11 1116ры-передатчики 72-76, элемент-передатчик 77 И-НЕ, триггеры 78, 79,одновибратор 80, При этом входы инверторов-приемников 52-58 соединенысоответственно с информационным входом 81 блока 2 прерываний линиями82 ЗП 4, 83 ЗП 5, 84 ЗП 6, 85 ЗП 7,86 ПОДГ, 87 ПВБ, 88 ПРЕР. Выходыинверторов-приемников 52-55 соединены соответственно с информационными Овходами триггеров 59-62, стробирующие входы которых соединены с синхровходом 89 блока 2 линией 90 "Фаза 1". Выходы триггеров 59-62 соединены соответственно с первым-четвертым входами узла сравнения 66, пятый-седьмой входы которого соединеныс управляющим входом 91 блока 2 прерываний. Первый-четвертый выходыузла сравнения соединены соответствен 2 Оно с первымн входами элементов67-70 И-НЕ и входами элемента 71 ИЛИ,выход которого соединен с информационным входом триггера 78 и вторымвыходом 36 блока 2 прерываний. Входы 25одновибратора 80 и элемента 65 задержки, а также вторые входы элементов 67-70 И-НЕ соединены с прямымвыходом триггера 78, стробирующийвход которого соединен линией 92 3 О"Анализ прерывания" с синхровходом89 блока 2 прерываний. Выходы элементов 67-70 И-НЕ соединены соответтвенно с входами инверторов-передатчиков 72-75 выходы которых соеЭ35динены соответственно линиями 93 РП 4,94 РП 5, 95 РП 6, 96 РП 7 с первымвыходом 97 блока 2 прерываний. Выходы инверторов-приемников 56, 57 соединены с входами элемента 63 ИЛИ-НЕ, 4 Овыход которого соединен с входомустановки в "0" триггера 78. Выходинвертора-приемника 58 соединен свходом элемента 64 задержки, выходкоторого соединен с входом инвертора передатчика 76, выход которого соединен линией 98 СХИ с первым выходом97 блока 2 прерываний. Выход элемента 65 задержки соединен с первымвходом элемента-передатчика 77 И-НЕ,второй вход которого соедийен с выходом одновибратора 80. Выход элемента-передатчика 77 И-НЕ соединен линией 99 ПВБ с первым выходом 97блока 2 прерываний: Инверсный выходтриггера 78.соединен со стробирующим входом триггера 79, вход установки в "1" которого соединен с выходоминвертора-приемника 57. Входы уста 432 12новки в "0" триггеров 59-62 соединены с выходом триггера 79, информационный вход которого соединен с внутренней шиной Б Логический ноль".Блок 3 синхронизации содержит триггеры 100 чтения (ТЧТ), 101 записи (ТЗП), 102 записи байта (ТЗПБ), 103 "Занято" (ТЗАН), 104 синхронизации задатчика (ТСХЗ), 105 ошибки (ТОШ), инверторы-приемники 106, 107, приемник 108, элементы 109-112 ИЛИ, элементы 113-115 задержки, инверторы-передатчики 116, 117, элементы 118-120 И, одновибратор 121, элементы 122-126 И-НЕ, инверторы 127-128. При этом входы установки в " 1" триг- . геров 100-102 соединены соответственно линиями 129 "Чтение", 130 "Запись", 13 1 "Запись байта" с входом 132 управления чтением/записью блока 3. Информационные входы триггеров 100-103 соединены с внутренней шиной Б Логический ноль", а стробирующие входы этих триггеров соединены с первым входом элемента 112 ИЛИ и выходом инвертора 106, вход которого соединен линией 133 "Подготовка" со входом 134 управления режимом блока 3. Выход элемента 115 задержки соединен с входами установки в "0" триггеров 100-103, вход установки в "1" последнего из которых соединен с выходом элемента 122 И-НЕ, первый вход которого соединен. с первыми входами элементов 120 И, 126 И-НЕ и выходом элемента 109 ИЛИ, первый-третий входы которого соединены соответственно с прямыми выходами триггеров 100, 101 и 102. Второй вход элемента 122 И-НЕ соединен линией 135 "Фаза 2" с входом 132 управления чтением/за- писью блока 3, а третий. вход элемента 122 И-НЕ соединен с выходом приемника 108, вход которого соединен линией 136 ЗАН со входом 134 управления режимом блока 3, который соединен линией 137 СХИ с входом инвертора-приемника 1,07, выход которого соединен с первыми входами элементов 118, 119 И и информационным входом триггера 105. Прямой выход триггера103 соединен с первыми входами элементов123-125 И-НЕ, входами элемента 113 задержки и инвертора 116, выход последнего из которых соединен линией 138 ЗАН с выходом 139 блока 3. Инвер( ный выход триггера 103 соединен с входом инвертора 127, выход которого соединен линией 140 "Выдача адреса"13 11164с выходом 139 блока 3. Первый входэлемента 111 ИЛИ соединен линией14 1 "Чтение с паузой" с входом 132блока 3, Второй вход элемента 111 ИЛИсоединен с выходом триггера 102 и пер 5вым входом элемента 110 ИЛИ, второйвход которого соединен с выходомтриггера 101. Выход элемента 110 ИЛИсоединен с вторыми входами элементов123 и 125 И-НЕ, выход последнего 10из которых соединен с входом инвертора 128, выход которого соединенлинией 142 "Выдача данных" с выходом139 блока 3. Выход элемента 123И-НЕ соединен линией 143 У 1 с выхо 15дом 139 блока 3. Выход элемента111 ИЛИ соединен с вторым входомэлемента 124 И-НЕ выход которогосоединен линией 144 У 0 с выходом139 блока 3. Выход элемента 113 задержки соединен с вторым входомэлемента 119 И, выход которого соединен со стробирующим входом триггера 104, информационный вход которогсоединен с внутренней шиной С "Логическая единица", а прямой выходсо вторым входом элемента 118 И,входом установки в "1" триггера 105,первым входом одновибратора 121 ивходом инвертора 117, выход которого З 0соединен линией 145 СХЗ с выходом39 блока 3. Выход одновибратора121 соединен,со стробирующим входомтриггера 105, инверсный выход которого соединенс вторым входом элемента 120 И, выход которого соединенс вторым входом элемента 112 ИЛИ,третий вход которого соединен с выходом элемента 118 И. Выход элемента 112 ИЛИ соединен с входом элемен 40та 114 задержки, выход которого соединен с вторым входом элемента 126И-НЕ, выход которого соединен с входом установки в "0" триггера 104,вторым входом одновибратора 121 ивходом элемента 115 задержки.Операционный блок 9 содержит коммутатор 146, арифметико-логическийузел 147 сдвигатель 148, регистр149 данных, элемент 150 ИЛИ, элемент151 ИСКЛЮЧАЮЩЕЕ ИЛИ, триггеры 15250знака,353 нуля, 154 переполнения,155 переноса. Первый информационныйвход коммутатора 146 соединен с первым информационным входом 156 блока9, второй вход коммутатора 146 сое 55динен шиной 157 с вторым информационным входом 158 блока 9. Первыйинформационный вход арифметико-логи 32 14ческого узла 147 соединен шиной 159 с вторым информационным входом 158 блока 9, Выход коммутатора 146 соединен шиной 160 с вторым информационным входом арифметико-логического узла 147, первый выход которого соединен с информационным входом сдвигателя 148, первый выход кото- . рого соединен с входом регистра 149 данных, входом элемента 150 ИЛИ и первым выходом 16 1 блока 9. Второй выход арифметико-логического узла 147 по которому поступает перенос из старшего пятнадцатого разряда результата, соединен с информационным входом триггера 155 переноса и первым входом элемента 151 ИСКЛЮЧАЮЩЕЕ ИЛИ, второй вход которого соединен с третьим выходом арифметикологического узла 147, по которому поступает перенос из предыдущего (четырнадцатого) разряда результата. Информационные входы триггеров 152-154 соединены соответственно с вторым выходом сдвигателя 148, выходом элемента 150 ИЛИ, выходом. элемента 15 ИСКЛЮЧАЮЩЕЕ ИЛИ, Выход регистра 149 данных соединен шиной 51 с вторым выходом 34 блока 9. Выходы триггеров 152 знака, 153 нуля, нуля 154 переполнения, 155 переноса соединены шиной 39 с вторым выходом 34 блока 9. Управляющие входы регистра 149 данных, сдвигателя 148, арифметико-логического узла 147, коммутатора 146 и триггеров 152-155 соединены соответственно линиями 162-166 с управляющим входом 167 опе" рационного блока 9.Регистр 1 состояния содержит триггеры 168 приоритета, 169 признаков и 170 дополнительного признака регистра 1 состояния, коммутаторы 171 и элемент 172 ИЛИ, Первый вход элемента 172 ИЛИ и управляющие входы триггеров 168 и 170 соединены линией 173 "Загрузка РСС" с синхровходом 174 регистра 1 состояния. Информационные входы триггеров 168, 170. а также первые информационные входы коммутаторов 171 соединены шиной 51 с информационным входом 34 регистрасостояния, Второй вход элемента 172 ИЛИ соединен линией 175 "Установка признаков" с синхровходом 174 регистра 1. Выход элемента 172 ИЛИ соединен с управляющими входами триггеров 169, информационные входи которых соединены с выходами коммутаторов 171, управляющие входы которых соединены линией176 с синхровходом, 174 регистра 1.Вторые информационные входы коммутаторов 171 соединены шиной 39 с входом 534 регистра 1. Выходы триггеров 168170 соединены с выходом 177 регистра 1. Выходы триггеров 168 соединены также с признаковым выходом 91регистра 1, а выход триггера 170соединен с выходом 38 дополнительного признака регистра 1,Блок 8 регистров содержит коммутаторы 178-180, узел 181 первых регистров, узел 182 вторых регистров, первый 183 и второй 184 регистры.При этом первые адресные входыкоммутаторов 178 и 179 соединены спервым 185 адресным входом блока 8,вторые адресные входы коммутаторов 20178 и 179 соединены соответственнолиниями 186 и 187 с вторым 188адресным входом блока 8, третьиадресные входы коммутаторов 178и 179 соединены с третьим 189 адресным входом блока 8. Управляющиевходы коммутаторов 178 и 179 соединены соответственно линиями 190и 191 с управляющим входом 192блока 8. Выход коммутатора 178 соединен с адресным входом узла 181 первых регистров и первым адреснымвходом коммутатора 180, второй адрес.ный вход которого соединен с выходом коммутатора 179. Выход коммутатора 180 соединен с адресным входомузла 182 вторых регистров. Информационные входы узлов 181 первыхрегистров и 182 вторых регистровсоединены с информационным входом 401161 блока 8. Вхоп выборки чалов 181.первых регистров и 182 вторых регист.ров соединен линией 193 "Выборка"с управляющим входом 192 блока 8,Вход записи узлов 181 первых регистров и 182 вторых регистров соединенлинией 194 с управляющим входом192 блока 8, который соединен такжелинией 195 со стробирующими входамипервого 183 и второго 184 регистров, 50а также линией 196 с управляющимвходом коммутатора 180. Выходы узлов 181 и 182 вторых регистров соединены соответственно с информационными входами первого 183 и второго .55184 регистров, выходы которых соединены соответственно шинами 159и 157 с выходом 158 блока 8 регист-ров. Формирователь 12 импульсов содержит генератор 197 синхросигналов, дешифраторы 198-200, элемент 201 ИЛИ-НЕ, элементы 202-205 И-НЕ, элементы 206-210 И, узел перекодировки 211. Первый выход генератора 197 синхросигналов соединен линией 90 Фаза 1" с первыми входами элементов 201 ИЛИ-НЕ, 203-205 И-НЕ, 206- 208 И и выходом 212 формирователя 12 через шину 89, которая поступает на синхровход блока 2 прерываний, Второй выход генератора 197 синхросигналов соединен линией 135 "фаза 2" через шину 132 с выходом 212 формирователя 12 импульсов. Выходы элементов 203-205 И-НЕ соединены соответственно линиями 129-131, объеди. ненными в шину 132 с выходом 212 формирователя 12. Второй вход элемента 201 ИЛИ-НЕ соединен линией "Фаза 3" с третьим выходом генератора 197 синхросигналов, четвертый выход которого соединен линией 195 "Фаза 4" через шину 192 с выходом 212 формирователя 12. Пятый выход генератора 197 синхросигналов соединен линией "Фаза 5" с первыми входами элементов 202, 209 и 210. Вто-, рой вход элемента 202 И-НЕ соединен линией 213 с входом 214 формирователя 12. Выход элемента 202 И-НЕ соединен линией 194 через шину 192 с выходом 212 формирователя 12. Шестой выход генератора 197 синхросигналов соединен линией 49 "Фаза 6" через шину 50 с выходом 22 формирователя .12. Вход дешифратора 198 соединен линией 215 с входом 214 формирователя 12. Первый-четвертый и пятый выходы дешифратора 198 соединены соответственно с вторыми входа. ми элементов 206, 207 И, 203-205 И-НЕ. Шестой выход дешифратора 198 соединен линией 141 "Чтение с паузой" через шину 132 с выходом 212 формирователя 12. Седьмой выход генерато" ра 197 синхросигналов и выход элемента 201 ИЛИ-НЕ соединены соответственно линиями 196 "Фаза 7" и 193 "Выборка" через шину 192 с выходом 212 формирователя 12. Выход элемента 206 И соединен линией 216 с выходом 212 формирователя 12. По этой линии поступает сигнал занесения на синхровход регистра 7 адреса. Выход элемента 207 И соединен линией 162 зарез шину 167 с выходом 212 формирователя 12. Первый-четвертый

Смотреть

Заявка

3518879, 08.12.1982

ОРДЕНА ЛЕНИНА ИНСТИТУТ КИБЕРНЕТИКИ ИМ. В. М. ГЛУШКОВА

ЧЕРЕВКО АЛЕКСЕЙ АЛЕКСАНДРОВИЧ, ИВАНОВ ВЛАДИМИР АНДРЕЕВИЧ, СЫРОВ ВИКТОР ВАЛЕНТИНОВИЧ

МПК / Метки

МПК: G06F 9/48

Метки: быстрого, микропрограммный, прерывания, процессор, средствами

Опубликовано: 30.09.1984

Код ссылки

<a href="https://patents.su/29-1116432-mikroprogrammnyjj-processor-so-sredstvami-bystrogo-preryvaniya.html" target="_blank" rel="follow" title="База патентов СССР">Микропрограммный процессор со средствами быстрого прерывания</a>

Похожие патенты