НИИ и четвертым информационным входом блока формирования адреса микрокоманды, синхровход регистра состояния и управляющий вход операционного блока соединены с выходом формирователя импульсов, вход формирователя импульсов подключен к операционному выходу регистра микрокоманд, синхровход и информационный вход регистра команд соединены соответственно с выходом формирователя импульсов и информационным выходом блока приемников данных, вход которого подключен к информационному входу-выходу процессора, выходы блока передатчиков данных и блока передатчиков адреса соединены соответственно с информационным и управляющим входами-выходами процессора, а управляющие входы этих блоков подключены к выходу блока синхронизации, вход управления чтением/записью которого соединен с выходом формирователя импульсов, а вход управления режимом и выход блока синхронизации подключены к управляющему входу16432
выходу процессора, отличающ и и с я тем, что, с целью повышения быстродействия, он содержит блок признака обработки прерывания, включающий два элемента И, два элемента ИЛИ и триггер, информационный вход, синхровход и выход которого соединены соответственно с выходами первого и второго элементов ИЛИ и пятым информационным входом блока формирования адреса микрокоманды, шестой информационньм вход которого подключен к выходу дополнительного признака регистра состояний, первый и второй входы первого элемента ИЛИ соединены с выходами соответственно первого и второго элементов И, первые входы которых подключены к выходу формирователя импульсов и входам второго элемента ИЛИ, а вторые входы первого и второго элементов И соединены соответственно с признаковым выходом блока приемников данных и выходом константы регистра микрокоманд .
название | год | авторы | номер документа |
---|---|---|---|
Микропрограммный процессор | 1982 |
|
SU1070557A1 |
Микропрограммное устройство для сопряжения процессора с абонентами | 1987 |
|
SU1539787A1 |
Устройство для сопряжения процессора с внешними устройствами | 1990 |
|
SU1839253A1 |
Устройство для сопряжения электронно-вычислительной машины (ЭВМ) с внешним устройством | 1984 |
|
SU1272337A1 |
Микропрограммное устройство управления | 1983 |
|
SU1156073A1 |
Устройство для сопряжения электронно-вычислительной машины с внешним устройством | 1986 |
|
SU1388880A2 |
Сбоеустойчивое микропрограммное устройство управления | 1982 |
|
SU1101823A1 |
Процессор | 1983 |
|
SU1213485A1 |
Устройство для обучения | 1987 |
|
SU1559366A1 |
Микропрограммное устройство для управления и обмена данными | 1983 |
|
SU1129601A1 |
МИКРОПРОГРАММНЫЙ ПРОЦЕССОР СО СРЕДСТВАМИ БЫСТРОГО ПРЕРЫВАНИЯ, содержащий регистр состояния, блок прерываний, блок синхронизации, блок приемников данных, блоки передатчиков данных и адреса, регистр адреса, блок регистров, операционный блок, коммутатор, регистр команд, формирователь импульсов, регистр микрокоманд, блок микропрограммной памяти и блок формирования адреса микрокоманды, управляющий вход, первый и второй информационные входы и выход которого соединены соответственно с выходом формирователя импульсов, первым адресным выходом регистра микрокоманд, первым выходом регистра команд и Адресным входом блока микропрограммной памяти, управляющий вход и выход которого подключены соответственно к выходу формирователя импульсов и входу реВСЕСОЮЗНАЯ «АТЕИТЙО- и техцИШИЦ гистра микрокомандi управляющий вход, информационный вход, первый, второй и третий адресные входы блока регистров соединены соответственно с выходом формирователя импульсов, первым выходом операционного блока, вторым выходом регистра команд, вторым адресным выходом регистра микрокоманд и первым выходом регистра адреса, синхровход, информационный вход и второй выход которого подключены соответственно к выходу формирователя импульсов, первому выходу операционного блока и информационному входу блока передатчиков адреса, первый и второй информацион(/ ные входы операционного блока соединены с выходами соответственно коммутатора и блока регистров, а второй выход операционного блока под§ ключен к информационным входам регистра состояний и блока передатчиков данных и третьему информационному входу блока формирования адреса микрокоманды, управляющий вход, первый, второй, третий и четвертый о: информационные входы коммутатора сое динены соответственно с выходом фор00 мирователя импульсов, информационным выходом блока приемников данных, информационным выходом регистра состояний, вторым выходом операционного блока и выходом константы регистра микрокоманд, информа1;ионный вход и первый выход блока прерываний подключены к управляющему входу-выходу процессора, а синхровход, управляющий вход и второй выход блока прерываний соединены соответственно с выходом формирователя импульсов, признаковым выходом регистра состоя
1
Изобретение относится к вычислительной технике и предназначено для применения в цифровых вычислительных машинах с микропрограммным управлением и системой прерывания.
Известен процессор, в котором наряду с обычным прерыванием, предусмаривающим автоматическое сохранение счетчика команд, регистра состояния и всех рабочих регистров процессора в стеке, предлагается для быстрых прерываний сохранять и восстанавливать автоматически в стеке только счетчик команд и регистр состояния с целью уменьшения времени прерывания С 1 1.
Недостаток этого устройства - низкое быстродействие выполнения опера1№1И прерывания, обусловленное медленной реализацией обработки прерывания.
Известен процессор, содержащий общую шину, блоки управления общей шиной, прерываний, приемников данных
передатчиков данных, передатчиков адреса, обработки, регистров, регистр адреса, регистр состояния, регистр команд и узел управления j 2
Недостаток этого устройства жесткая аппаратная реализация управления, ограничивающая его функциональные возможности: обеспечивает только медленную программную обработку прерываний и медленную реакцик на прерывание.
Наиболее близким техническим решением к изобретению является процессор с микропрограммной реализацией узла управления и векторной системой прерывания, содержащий регистр состояния, блок прерываний, блок синхронизации, блок приемников данных, блоки передатчиков данных и адреса, регистр адреса, блок регистров, операционный блок, коммутатор, регистр команд, формирователь импульсов, регистр микрокоманд, блок микропрограммной памяти и блок формиро3
вания адреса микрокоманды, первый и второй информационные входы и выход которого соединены соответственно с первым адресным выходом регистра микрокоманд, первым выходом регистра команд и адресным входом блока микропрограммной памяти, выход которого подключен к входу регистра микрокоманд, информационный вход, первый, второй и третий адресные блока регистров соединены соответственно с первым выходом операционного блока, вторым выходом регистра команд, вторым адресньм выходом регистра микрокоманд и первым выходом регистра адреса, информационный вход и второй выход которого подключены соответственно к первому выходу операционного блока и информационному входу блока передатчиков адреса, первый и второй информационные входы операционного блока соединены с выходами соответственно коммутатора и блока регистр а второй выход операционного блока подключен к информационным входам регистра состояния и блока передатчиков данных и третьему информационному входу блока формирования адреса микрокоманды, первый - четвертый информационные входы коммутатор соединены соответственно с информационным выходом блока приемников данных, информационным выходом регистра состояния, вторым выходом операционного блока и выходом константы регистра микрокоманд, информационный вход и первый выход блока прерываний подключены к управляющему входу-выходу процессора, а управляющий вход и второй выход блока пррываний соединены соответственно с признаковым выходом регистра состяния и четвертым информационным входом блока формирования адреса микрокоманды, синхровходы регистра состония, блока прерываний, регистров адреса и команд и управляющие входы блоков микропрограммной памяти, регистров, формирования микрокоманд, операционного блока, коммутатора соединены с выходом формирователя импульсов, вход которого подключен к операционному входу регистра микрокоманд, информационный вход регистра команд соединен с информационным выходом блока приемников данных, вход которого подключен
324
к информационному входу-выходу процессора, выходы блока передатчиков данных и блока передатчиков адреса соединены соответственно с информационным и управляющим входами-выходами процессора, а управляющие входы этих блоков подключены к выходу блока синхронизации, вход управления чтением/записью которого соединен
с выходом формирователя импульсов, а вход управления режимом и выход блока синхронизации подключены к управляющему входу-выходу процессора З.
Недостатком известного устройства является низкое быстродействие выполнения операции прерывания, обусловленное медленной программной реализацией .алгоритма обработки прерывания, а также необходимость сохранения и восстановления минимум двух регистров (счетчика команд и регистра состояний), а во многих случаях и всех универсальных регистров, что
удлиняет время сохранения и восстановления состояния программы
Цель изобретения - повышение быстродействия процессора путем уменьшения времени сохранения и восстановления состояния программы при прерываниях путем запоминания одного регистра (регистра состояния) вместо нескольких (от 2 до 8) и уменьшения времени обработки прерывания благодаря возможности микропрограммной реализации алгоритма обработки прерывания .
Поставленная цель достигается
тем, что в микропрограммный процессор. содержащий регистр состояния, блок прерываний, блок синхронизации, блок приемников данных, блоки передатчиков данных и адреса, регистр
адреса, блок регистров, операционный блок, коммутатор, регистр команд, формирователь импульсов, регистр микрокоманд, блок микропрограммной памяти и блок формирования адреса
микрокоманды, управляющий вход, первый и второй информационные входы и выход которого соединены соответртвенно с выходом формирователя импульсов, первым адресным выходом
регистра микрокоманд, первым выходом регистра команд и адресным входом блока микропрограммной памяти, управляющий вход и выход которого подключены соответственно к выходу формирователя импульсов и входу регистра микрокоманд, управляющий вход, информационный вход, первый, второй и третий адресные входы блока регистров соединены соответственно .с выходом формирователя импульсов первым выходом операционного блока, вторым выходом регистра команд, вторым адресным выходом регистра микрокоманд и первым выходом регистра адреса, синхровход, информационньй вход и второй выход которого подключены соответственно к выходу формирователя импульсов, первому выходу операционного блока и информационному входу блока передатчиков адреса первый и второй информационные входы операционного блока соединены с выходами соответственно коммутатора и блока регистров, а второй выход операционного блока подключен к информационным входам регистра состояния и блока передатчиков данны и третьему информационному входу блока формирования адреса микрокоманды, управляющий вxoд, первый, вто рой, третий и четвертый информационные входы коммутатора соединены соот ветственно с выходом формирователя импульсов, информационным выходом блока приемников данных, информацион ным выходом .регистра состояния, вторым выходом операционного блока и выходом константы регистра микрокоманд, информационньй вход и первый выход блока прерываний подключены к управляющему входу-выходу процессора, а синхровход, управляющий вход и второй выход блока прерываний соединены соответственно с выходом формирователя импульсов, признаковым выходом регистра состояния и четвертым информационным входом блока формирования адреса микрокоманды синхровход регистра состояния и управляющий вход операционного блока соединены с выходом формирователя импульсов, вход которого подключен к операционному выходу регистра микрокоманд, синхровход и информационный вход регистра команд соединены соответственно с выходом формировате ля импульсов и информационным выходом блока приемников данных, вход которого подключен к информационному входу-выходу процессора, выходы блока передатчиков данных и блока передатчиков адреса соединены соотве ственно с информационным и управляющим входами-выходами процессора, а управляющие входы этих блоков подключены к .выходу блока синхронизации, вход управления чтением/записью которого соединен с выходом формирователя импульсов, а вход управления режимом и выход блока синхронизации подключены к управляющему входу-выходу процессора, введен блок признака обработки прерывания, включающий два элемента И, два элемента ИЛИ и триггер, информационный |Вход, синхровход и выход которого соединены соответственно с выходами первого и второго элементов ИЛИ и пятым информационным входом блока формирования адре.са микрокоманды, шестой информационный вход которого подключен к выходу дополнительного признака регистра состояния, первый и второй входы первого элемента ИЛИ соединены с выходами соответственно первого и второго элементов И, первые входы которых подключены к выходу формирователя импульсов и входам второго элемента ИЛИ, а вторые входы первого и второго элементов И соединены соответственно с признаковым выходом блока приемников данных и выходом константы регистра микрокоманд. На фиг. 1 представлена блок-схема микропрограммного процессора на фиг. 2-8 функциональные схемы соответственно блока формирования адреса микрокоманд, блока прерываний, блока синхронизации, операционного блока, регистра состояния, блока регистров, формирователя импульсов; на фиг. 9 - временная диаграмма работы блока прерываний; на фиг. 10 то же, блока синхронизации; на фиг. 11 - то же, формирователя импульсов, блоков регистров, формирования адреса микрокоманд, операционного блока и регистра 1 состояния; на фиг.12- таблица входов-выходов узла перекодировки формирователя импульсов. Микррпрограммньй процессор со средствами быстрого прерывания содержит, регистр 1 состояния, блок 2 прерываний, блок 3 синхронизации, блок 4 приемников данных, блок 5 передатчиков данных, блок 6 передатчиков адреса, регистр 7 адреса, блок 8 регистров, операционный блок 9, коммутатор 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 и информационному входу блока передатчиков адреса. Первый и второ информационные входы операционного блока 9 соединены соответственно с выходами коммутатора 10 и блока 8регистров. Второй выход операцион ного блока 9 подкл1Ьчен к информациOHHbiM входам регистра 1 состояния, блока 5 передатчиков данных и треть му информационному входу блока 15 формирования адреса микрокоманды. Первый - четвертый информационные входы коммутатора 10 соединены соот ветственно с информационным выходом блока 4 приемников данных, информационным выходом регистра 1 состояни вторым выходом операционного блока и выходом константы регистра 13 микрокоманд. Информационньй вход и первый выход блока 2 прерываний под ключены к управляющему входу-выходу 22 процессора. Управлйющий вход и второй выход блока 2 соедине ны соответственно с признаковым выходом регистра 1 состояния и четвер тым информационным.входом блока 15 формирования адреса микрокоманды. Синхровходы регистра 1 состояния, б ка 2 прерываний, регистров 7 адреса и 11 команд и управляющие входы блоков 8 регистров, 14 микропрограммной памяти, 15 формирования адреса микрокоманд, 9 операционного блока, 10коммутатора, а также первые входы элементов 17, 18 И блока 16 соединены с выходом формирователя 12 импульсов. Вторые входы первого 17 и второго 18 элементов И соединены соответственно с признаковым выходом блока 4 приемников данных и выходом константы регистра 13 микрокоманд. Входы первого 19 элемента ИЛИ соединены с выходами первого 17 и второго 18 элементов И. Первый и второй входы второго 20 элемента ИЛИ соединены соответственно с первыми входами элементов 17 и 18 И. Информационный вход, синхровход и выход триггера 21 соединены cootBeTCTBeHHo с выходами первого 19, второго 20 элементов ИЛИ и пятым информационным входом блока 15 формирования адреса микрокоманды. Шестой информа ионный вход блока 15 подключен к выходу дополнительного признака регистра 1 состояния. Вход формирователя 12 импульсов подключен к операционному выходу регистра 13 микрокоманд. Информационный вход регистра 11команд соединен с информационным выходом блока 4 приемников данных, вход которого подключен к информационному входу-выходу 23 процессора. Выходы блока 5 передатчиков данных и блока 6 передатчиков адреса соединены соответственно с информационным 23и управляющим 22 входами-выходами процессора, а управляющие входы этих блоков подключены к выходу блока 3 синхронизации. Вход управления чтением/записью блока 3 синхронизации соединен с выходом формирователя 12 импульсов, а вход управления режимом и выход блока 3 синхронизации подключены к управляющему 22 входувыходу процессора. Блок 15 формирования адреса микрокоманд содержит регистр 24 адреса микрокоманд, сумматор 25, коммутаторы 26-30, элемент 31 И-НЕ. При этом выходы коммутаторов 27, формирующих старшие разряды 15-4 адреса микрокоманды и выходы коммутаторов 28 и 29, формирующих младшие 3-0 разряды адреса микрокоманды, соединены с информационным входом регистра 24адреса микрокоманд. Первые-четвертые информационные входы коммутато-ров 27-29 соединены соответственно с выходом сумматора 25, первым 32, вторым 33, третьим 34 информационными входами блока 15. Выход регистра 24 соединен с первым входом сумматора 25 и выходом 35 блока 15. Пятые информационные входы коммутат ров 28 и 29 соединены с выходами коммутаторов 26. Пятый, шестой и седьмой информационные йходы коммутатора 30 соединены соответственно с четвертым 36, пятым 37 и шестым 38 информационными входами блока 15. Первый-четвертый информационные входы коммутатора 30 соединены шиной 39 с признаками результата опер ций, поступающими на третий 34 информационный вход блока 15. Инверсный выход коммутатора 30 соединен с первым входом элемента 31 И-НЕ, выход которого соединен с вторыми управляющими входами коммутаторов 27 и третьими управляющими входами ком мутаторов 28 и 29. Первые и вторые управляющие входы 40 коммутаторов 26, первые управляющие входы 4t ком мутаторов 27, первые 42 и вторые 43 управляющие входы коммутаторов 28 и 29, стробирукиций 44, первый 45, второй 46 и третий 47 управляющие входы коммутатора 30, второй 48 вхо элемента 31 И-НЕ, управляющий 49 вход регистра 24 адреса микрокоманд соединены с управляющим входом 50 блока 15. На -первые-четвертые инфор мационные входы коммутаторов 26 зав дены соответствуюоще разряды всех четырех тетрад щины данных 51, поступающие на третий 34 информационный вход блока 15 таким образом, чтобы имелась возможность грудпового ветвления по результату анализа каждой тетрады. Так, например, на первый-четвертый информационные входы коммутатора 26, выход которог соединен с пятым адресным входом коммутатора 29, формирующего младщий разряд адреса, соответственно заведены разряды 12, 8, 4, О шины данных, поступающие на третий 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 ИПИ,инверторы-передатчики 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, стробирующие входы KOTOpbtx соединены с синхровходом 89 блока 2 линией 90 Фаза 1. Выходы триггеров 59-62 соединены соответственно с первым-четвертым входами узла сравнения 66, пятый-седьмой входы которого соединены с управляющим входом 9t блока 2 прерываний. Первый-четвертый выходы узла сравнения соединены соответствен 20 но с первыми входами элементов 67-70 И-НЕ и входами элемента 71 ИЛИ выход которого соединен с информационным входом триггера 78 и вторым выходом 36 блока 2 прерываний. Входы одновибратора 80 и элемента 65 задержки, а также вторые входы элементов 67-70 И-НЕ соединены с прямым выходом триггера 78, стробирующий вход которого соединен линией 92 Анализ прерывания с синхровходом 89 блока 2 прерываний. Выходы элементов 67-70 И-НЕ соединены соответртвенно с входами инверторов-передатчиков 72-75, выходы которых соединены соответственно линиями 93 РП4, 94 РП5, 95 РПб, 96 РП7 с первым вькодом 97 блока 2 прерываний. Выходы инверторов-приемников 56, 57 соединены с входами элемента 63 ИПИ-НЕ, выход которого соединен с входом установки в О триггера 78. Выход инвертора-приемника 58 соединен с входом элемента 64 задержки, выход которого соединен с входом инвертора передатчика 76, выход которого соединен линией 98 СХИ с первым выходом 97 блока 2 прерываний. Выход элемента 65 задержки соединен с первым входом элемента-передатчика 77 И-НЕ, второй вход которого соединен с выходом одновибратора 80. Выход элемен та-передатчика 77 И-НЕ соединен линией 99 ПВБ с первым выходом 97 блока 2 прерываний . Инверсный выход триггера 78 соединен со стробирующим входом триггера 79, вход установ ки в 1 которого соединен с выходом инвертора-приемника 57. Входы установки в О триггеров 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 Запись, 131 Запись байта с входом 132 управления чтением/записью блока 3. Информационные входы триггеров 100-103 соединены с внутренней шиной Б Логический ноль, а стробирующие входы этих триггеров соединены с первым входом элемента 112 ИЛИ и выходом инвертора 106, вход которого соединен линией 133 Подготовка со входом 134 управления режимом блока 3. Выход элемента 115 задержки соединен с входами установки в О триггеров 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 Выдача адреса с выходом 139 блока 3, Первый вход элемента 111 ИЛИ соединен линией 141 Чтение с паузой с входом 132 блока 3. Второй вход элемента 111 ИЛ соединен с выходом триггера 102 и ne вым входом элемента 110 ИЛИ, второй вход которого соединен с выходом триггера 101. Выход элемента 110 ИЛИ соединен с вторыми входами элементов 123 и 125 И-НЕ, выход последнего из которых соединен с входом инвертора 128, выход которого соединен линией 142 Вьщача данньш с выходом 139 блока 3. Выход элемента 123 И-НЕ соединен линией 143 У 1 с выхо дом 139 блока 3. Выход элемента 111 ИЛИ соединен с вторым входом элемента 124 И-НЕ выход которого соединен линией 144 У о с выходом .139 блока 3. Выход элемента 113 задержки соединен с вторым входом элемента 119 И, выход которого соединен со стробирующим входом тригге ра 104, информационный вход которог соединен с внутренней шиной С Логическая единица, а прямой выход со вторым входом элемента 118 И, входом установки в 1 триггера 105 первым входом одновибратора 121 и входом инвертора 117, выход которог соединен линией 145 СХЗ с выходом 139 блока 3. Выход одновибратора 121 соединен д;о стробирующим входом триггера 105, инверсный выход которого соединен.,с вторым входом элемента 120 И, выход которого соедине с вторым входом элемента 112 ИЛИ, третий вход которого соединен с выходом элемента 118 И. Выход элемента 112 ИЛИ соединен с входом элемен та 114 задержки, выход которого сое динен с вторым входом элемента 126 И-НЕ, выход которого соединен с вхо дом установки в О триггера 104, вторым входом одновибратора 121 и входом элемента 115 задержки. : Операционный блок 9 содержит ком мутатор 146, арифметико-логический узел 147, сдвигатель 148, регистр 149 данных, элемент 150 ИЛИ, элемен 151 ИСКЛЮЧАЮЩЕЕ ИЛИ, триггеры 152 знака,153 нуля, 154 переполнения, 155 переноса. Первый информационный вход коммутатора 146 соединен с пер вым информационным входом 156 блока 9, второй вход коммутатора 146 соединен шиной 157 с вторым информационным входом 158 блока 9. Первый информационный вход арифметико-логи ческого узла 147 соединен шиной 159 с вторым информационным входом 158 блока 9. Выход коммутатора 146 соединен шиной 160 с вторым информационным входом арифметико-логического узла 147, первый выход которого соединен с информационным входом сдвигателя 148, первый выход которого соединен с входом регистра 149 данных, входом элемента 150 ИЛИ и первым выходом 161 блока 9. Второй выход арифметико-логического узла 147,, по которому поступает перенос lis старшего пятнадцатого разряда результата, соединен с информационным входом триггера 155 переноса и первым входом элемента 151 ИСКЛЮЧАЮЩЕЕ ИЛИ, второй вход которого соединен с третьим выходом арифметикологического узла 147, по которому поступает перенос из предьщущего (четырнадцатого) разряда результата. Информационные входы триггеров 152-154 соединены соответственно с вторым выходом сдвигателя 148, выходом элемента 150 ИЛИ, выходом, элемента 151 ИСКЛЮЧАЮЩЕЕ ИЛИ. Выход регистра 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 регистра 1 состояния. Второй вход элемента 172 ИЛИ соединен линией 175 Установка признаков с синхровходом 174 регистра 1. Выход элемента 172 ИЛИ соединен с управляющими входами триггеров 169, информационные входы которых соединены с выходами коммутаторов 171, управляющие входы который соединены линией 176 с синхровходом.174 регистра 1. Вторые информационные /входы коммутаторов 171 соединены шиной 39 с входо 34 регистра 1. Выходы триггеров 168170 соединены с выходом 177 регистра 1. Выходы триггеров 168 соединены также с признаковым выходом 91 регистра 1, а выход триггера 170 соединен с выходом 38 дополнительного признака регистра 1.
Блок 8 регистров содержит коммутаторы 178-180, узел 181 первых регистров, узел 182 вторых регистров, первый 183 и второй 184 регистры. При этом первые адресные входы коммутаторов 178 и 179 соединены с первым 185 адресным входом блока 8, вторые адресные входы коммутаторов 178 и 179 соединены соответственно линиями 186 и 187 с вторым 188 адресным входом блока 8, третьи адресные входы коммутаторов 178 и 179 соединены с третьим 189 адресным входом блока 8. Управляющие входы коммутаторов 178 и 179 соединены соответственно линиями 190 и 191 с управлякяцим входом 192 блока 8. Выход коммутатора 178 соединен с адресным входом узла 181 первых регистров и первым адресным входом коммутатора 180, второй адресный вход которого соединен с выходом коммутатора 179. Выход коммутатора 180 соединен с адресным входом узла 182 вторых регистров. Информационные входы узлов 181 первых регистров и 182 вторых регистров соединены с информационным входом
161 блока 8. ВТГПП RbtfinnKH V4.TTOR 18-1
первых регистров и 182 вторых регистров соединен линией 193 Выборка с управляющим входом 192 блока 8, Вход записи узлов 181 первых регистров и 182 вторых регистров соединен линией 194 с управляющим входом 192 блока 8, который соединен также линией 195 со стробирукщими входами первого 183 и второго 184 регистров а также линией 196 с управляющим входом коммутатора 180. Выходы узлов 181 и 182 вторых регистров соединены соответственно с информационными входами первого 183 и второго 184 регистров, выходы которых соединены соответственно шинами 159 и 157 с выходом 158 блока 8 регистров.
Формирователь 12 импульсов содержит генератор 197 синхросигналов, дешифраторы 198-200, элемент 201 ИЛИ-НЕ, элементы 202-205 И-НЁ, элементы 206-210 И, узел перекодировки 211. Первый выход генератора 197 синхросигналов соединен линией 90 Фаза 1 с первыми входами элементов 201 ИЛИ-НЕ, 203-205 И-НЕ, 206208 Ни выходом 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 с выходом 212 формирователя 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 И соединен линией 16Z.Hepe3 шину 167 с выходом 212 формирователя 12. Первый-четвертый входы узла 211 перекодировки соединены соответственно линиями 21 и 220 с входом формирователя 12. Первьш-восьмой выходы узла 211 перекодировки соединены соответственно линиями 41, 48, 44, 43, 42, 45, 46, 47,. собранными в шину 50, с выходом 212 формирователя 12. Управляющие сигналы в данном примере реализации на линиях 40 выходной шины 50, 163, 164, 165 выходной шины 167 и 190, 191 выходной шины 192 поступают из соответствующих полей операционной части регистра 13 микрокоманд, посту пающих на вход 214 формирователя 12 импульсов. Вход дешифратора 199 соединен линией 221 с входом 214 формирователя 12. Первый-третий выходы дешифратора 199 соединены соответственно с вторыми входами элементов 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 соединен шиной 22 с входом 214 и выходом 212 формирователя 12. Первый и второй выходы дешифратора 200 соединены соответ-.. ственно линиями 224 Прием признакового выхода блока 4 приемников данных и 225 Прием константы, собран ными в шину 226, с выходом 212 формирователя 12. Управляющие сигналы по линиям 224 и 225 поступают соответственно на первые входы элементов 17 и 18 И. Управляющие сигналы по шине 223 поступают на управляющий вход коммутатора 10. Для технической реализации узла 211 перекодировки может быть использована микросхема К155 РЕЗ, таблица входов-выходов которой приведена на фиг. 12. Микропрограммный процессор работа ет следуюш 1м образом. В текущий момент времени через информационный 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
равляет обменом информации с главной памятью и внешними устройствами под управлением управляющих сигналов с формирователя 12 импульсов
Блок 2 прерываний выделяет самый приоритетный запрос на прерывание, поступающий от внешних устройств через управляющий 22 вход-выход процессора, сравнивает его с приоритетом выполняющейся программы, поступающим из признакового выхода регистра 1 состояния, и, если приоритет поступившего гапроса выше, выдает сигнал на прерывание в блок 15 формирования адреса микрокоманд. После вьтолнения каждой команды блок 15 формирования адреса микрокоманд по управляющему сигналу из формирователя .12 импульсов анализирует наличие этого сигнала прерывания. Если сигнала прерывания нет, выполняется переход к очередной команде. В противном случае выполняется прерывание, которое заключается в следующем.
в процессор адрес вектора прерывания который через информационный 23 вход-выход процессора, блок 4 приемников данных, коммутатор 10, операционный блок 9 поступает в регистр Р12 блока 8 регистров. При этом признаковый разряд адреса вектора прерывания запоминается на триггере 21 блока 16 признака обработки прерывания. Вектор прерывания представляет собой два последовательно расположенных слова - адрес начала программы или микропрограммы обслуживания прерывания и значение регистра состояния программы.
знака обработки прерывания. на этом выходе означает, что прерьшание должно обрабатываться микропрограммно, а О - программно или 5 микропрограммно в зависимости от
значения выхода дополнительного признака регистра 1 состояния. В соответствии с этим при единичном значении выхода триггера 21 блока 16
fO содержимое регистра Р12 блока 8 регистров через операционный блок 9 . поступает в блок 15 формирования адре са микрокоманд, инициируя таким образом микроподпрограмму обработки
15 прерывания,- адрес первой микрокоманды которой задан адресом вектора прерывания.
При нулевом значении выхода триггера 21 блока 16 признака обработки
20 прерывания содержимое регистра Р12 блока 8 регистров в операционном блоке 9 увеличивается на 2 и этот модифицированный адрес через регистр 7 адреса, блок 6 передатчиков адреса,
25 управлякнций 22 вход-выход процессора посылается в главную память. Считанное по этому адресу из главной памяти новое слово состояния процессора через информационный 23
30 вход-выход процессора, блок 4 прием- НИКОВ данных, коммутатор 10, операционный блок 9 записьгоается в регистр 1 состояния под управлением сигналов из формирователя 12 импульсов.
0 главной памяти считывается первое слово вектора прерывания и через ;информационный 23 вход-выход процес,сора, блок 4 приемников данных,
коммутатор 10 и операционный блок 9 5 поступает в блок 15 формирования
адреса микрокоманд, инициируя таким образом микроподпрограмму обработки прерывания. При нулевом значении 21 выхода дополнительного признака регистра 1 состояния выполняется сохранение адреса следующей команды из регистра 7 блока 8 регистров через операционный блок 9, блок пер датчиков 5 данных, информационный 23 вход-выход процессора в стек. За тем адрес вектора прерывания из регистра Р12 блока 8 регистров через операционньй блок 9, регистр 7 адреса, блок передатчиков 6 адреса, управляющий 22 вход-выход процессор посылается в главную память. По это му адресу из главной памяти считывается первое слово вектора прерывания, являющееся в этом случае адресом подпрограммы обработки прерывания, и записывается в счетчик команд (регистр Р7 блока 8 регистров) через информационньш 23 вход-выход процессора, блок 4 приемников данных, коммутатор 10 и операционный блок 9. 5.По адресу, считанному из регистра Р7 блока 8 регистров из глав ной памяти извлекается первая команда подпрограммы обработки прерывания, инициируя таким образом эту подпрограмму. Подпрограмма обработк прерывания может в свою очередь прерваться запросом от устройства с более высоким приоритетом. Если тако прерывание происходит, то счетчик команд и регистр 1 состояния текуще подпрограммы обработки прерывания автомат11чески(как для случая программной обработки прерывания) вводятся в стек, и инициируется под программа обработки прерывания нового устройства. Подобное накапливание приоритетных прерываний может продолжаться до уровня, определяемого объемом памяти, отведенной под стек процессора программистом. При микропрограммной обработке прерывания такого накапливания прерываний не происходит и прерывание мыполняется максимально быстро. 6.После окончания программы обработки прерывания выполняется восст новление состояния прерваннойwpbграммы с помощью команды Возврат ИЗ прерывания, которая извлекает два верхних слова из стека, и загру жает их обратно в счетчик команд и в регистр 1 состояния. При микропрограммной обработке прерывания микропрограммно реализу3222, ется извлечение из стека и загрузка только одного слова - регистра 1 состояния. В процессе в.ыполнения команд внутренних прерываний TRAP, ЕМТ, ВРТ, JOT адрес вектора прерывания, фиксированный для каждой из этих команд, засылается в регистр Р12 блока 8 регистров с выхода константы регистра 13 микрокоманд через коммутатор 10 и операционньй блок 9. При этом с выхода константы регистра 13 микрокоманд засылается также признак обработки прерывания (О или 1) на триггер 21 блока 16 признака обработки прерывания через элементы 18 И, 20 ИЛИ под управлением сигнала, поступающего на первый вход элемента 18 И с формирователя 12 импульсов. После этого работа микропрограммного процессора при обработке команд внутренних прерываний выполняется согласно пунктам 2-6. Следует заметить, что при микропрограммной обработке прерывания нет необходимости запоминать и затем восстана,вливать программно доступные универсальные регистры РО-Р7, так как в качестве рабочих регистров можно использовать внутренние только микропрограммно доступные регистры Р10-Р17, что также значительно уменьшает время обработки прерывания. Таким образом, предлагаемый микропрограммный процессор позволяет обрабатывать прерывания тремя способами. Микропрограммно при единичном значении выхода триггера 21 блока 16 признака обработки прерывания. При этом адрес вектора прерывания является адресом микропрограммы обработки прерывания. Этот способ обработки прерывания является самым быстрым. Микропрограммно при нулевом значении выхода триггера 21 .блока 16 и единичном значении выхода дополнительного признака регистра 1 состояния. При этом адресом микропрограммы обработки прерывания является первое слово вектора прерывания, считываемое из главной памяти по адресу вектора прерывания. Программно при нулевом значении выхода триггера 21 блока 16 признака обработки прерывания и нулевом значении выхода дополнительного признака регистра 1 состояния. При этом адресом программы обработки прерывания является первое слово вектора прерывания, считываемое из главной памяти по адресу вектора прерывания Этот способ является самым медленны и совпадает со способом обработки прерывания в устройстве-прототипе. Признак обработки прерывания задается аппаратно в каждом внешнем устройстве (в его адресе вектора пр рывания) либо записывается программистом в слове состояния вектора прерывания каждого устройства. Б соответствии с указанным принципом работы- предлагаемого устройст и приведенными на фиг. 2-8 блок-схе мами блоков 15 формирования адреса микрокоманд, 2 прерываний, 3 синхро низации, 9 операционного блока, регистра 1 состояния, блока 8 регистров, формирователя 12 импульсов эти блоки работают следующим образом. В блоке 15 формирования адреса микрокоманд под управлением сигнало на управляющем входе 50 осуществлюется прием адреса на регистр 24 адреса микрокоманд через коммутатор 27-29 из сумматора 25 (при выполнении микрокоманды с естественной адр сацией, что соответствует коду 00 на управляющих входах коммутаторов 27 и коду 000 на управляюЕцих входах коммутаторов 28 и 29), с первог 32 информационного входа (при выпол нении микрокоманды безусловного перехода по содержимому первого адресного выхода регистра 13 микрокоманд, что соответствует коду 01 на управляющих входах коммутаторов 27 и коду 001 на управляющих входах коммутаторов 28 и -29), с второго 33 информационного входа (при. выполнении микрокоманды группового ветвления по содержимому регистра 11 кома что соответствует коду 10 на управляющих входах коммутаторов 27 и коду 010 на управляющих входах комм таторов 28 и 29), с третьего 34 информационного входа (при вьтолнении микрокоманды групповог® ветвления по содержимому операционного бл ка 9, что соответствует коду 11 на управляющих входах коммутаторов 27 ,и коду 011 на управляющих входах коммутаторов 28 и 29). При выполнении микрокоманды груп пового ветвления по содержимому одной из тетрад операционного блока, 9 что соответствует коду 100 на .управляющих входах коммутаторов 28 и 29, на четыре младшие разряды адреса микрокоманд поступает одна из тетрад операционного блока 9 через коммутаторы 26, 27, 28. Номер тетрады указывается кодом на управляющих входах коммутаторов 26. В старщие разряды регистра 24 адреса микрокоманды через коммутаторы 27 поступают соответствующие разряды первого адресного выхода регистра 13 микрокоманд с входа 32 блока 15. Работа коммутаторов 26, 27 описывается следующей логической формулой (2 Vz 2%) соответственно первый, четвертый информационные входы этих коммутаторовh («2 соответственно первьш и второй управляющие вхо. ды этих коммутаторов{ Q - выход этих коммутаторовJ f - стробирующий вход этих коммутаторов. Работа коммутаторов 28-30 описывается следующей логической формулой s. ) . где С - стробируюпщй вход этих коммутаторов} - соответственно первый, восьмой информационные входы этих коммутаторов; - - соответственно первьйтретий управляющие входы этих коммутаторов. При выполнении микрокоманды усовного перехода, признаком которой вляется появление сигнала низкого ровня на стробирующем входе коммуатора 30, на первых управляющих ходах коммутаторов 27 с управляюего входа 50 блока 15 приходит сигал низкого уровня, соответствующий оду О, на первые и вторые управяющие входы коммутаторов 28 и 2.9 игналы, соответствующие коду 00, на второй вход элемента 31 И-НЕ игнал высокого уровня, соответствующий коду 1. При выполнении услови (т.е. наличии сигнала 1 на указан ном информационном входе коммутатора 30) на первьй вход элемента И-НЕ с инверсного выхода коммутатора 30 поступает сигнал О. На вторые управляющие входы коммутаторов 27 и на третьи управляющие входы комму таторов 28 и 29 с выхода элемента 31 И-НЕ поступает сигнал 1, т.е. при выполнении условия на управляющ входы коммутаторов 27 поступает код 01, а на управляющие входы коммутаторов 28 и 29 код 001, что соот ветствует передаче на. вход регистра 24 кода адреса с первого 32 информационного входа блока 15. При невыполнении условия (наличи сигнала О на указанном информационном входе коммутатора 30) через коммутатор 30 и элемент 31 И-НЕ на вторые управляющие входы коммутаторов 27 и на третьи зправляющие вход коммутаторов 28 и 29 поступает сигнал О. Таким образом, при невыпол нении условия в микрокоманде условного перехода на управляющие входы коммутаторов 27 поступает код 00, а на управляющие входы коммутаторов 28 и 29 код 000, что соответствует передаче на вход регистра 24 адреса микрокоманд через коммутаторы 27, 28 и 29 соде{)жимого сумматора 25, т.е при невьтолнении условия выполняется следующая по очереди микрокоманда. Сумматор 25 выполняет сложение текущего адреса микрокоманды, посту пающего на его первый вход с кодом единица, поступающим с внутренних шин сумматора на его второй и трети вход. При выполнении остальных типов микрокоманд ввиду наличия сигнала высокого уровня на стробирующем вхо де коммутатора 30 на первый вход элемента 31 И-НЕ с инверсного выход коммутатора 30 поступает сигнал 1 которьй разрешает прохождение управ ляющего сигнала, поступающего на второй вход элемента 31 И-НЕ. В блоке 16 признака, обработки прерывания под управлением сигналов на линиях 224, 225 осуществляется прием и запоминание признака обработки прерывания, поступающего с призн нового выхода блока 4 приемников данных через элемент И 17, элемент ИЛИ 19 на информационный вход триггера 21 во время приема адреса вектора прерывания от внешнего устройства или с выхода константы регистра 13 микрокоманд через элемент 18 И, элемент 19 ИЛИ на информационный вход триггера 21 во время выполнения команд внутренних прерываний. В последнем случае признаком служит младший разряд константы. В обоих случаях запоминание признака обработки прерьюания на триггере 21 осуществляется под воздействием управляющих сигналов на линиях 224 или 225, поступающих на управляющий вход триггера 21 через элемент 20 ИЛИ. Блок 2 прерываний организует захват общей шины в целях прерывания процессора. Запросы на прерывание от внешних устройств ЗП4-ЗП7, поступающие.соответственно по линиям 82-85 с второго управляющего входа 81 блока 2 прерываний через инверторы-приемники 52-55, запоминаются на триггерах 59-62 по стробирующему сигналу, поступающему по линии 90 Фаза 1. Узел 66 сравнения выделяет самый приоритетный запрос на прерывание из всех запросов, поступающих на его первый-четвертый входы, сравнивает его с приоритетом выполняющейся программы, поступающим на его пятый-седьмой входы с управляющего входа 91 блока 2 прерываний и, если приоритет поступившего запроса вьппе, формирует на своем соответствующем выходе сигнал высокого уровня, который через элемент 71 ИЛИ поступает на информационный вход триггера 78 и на второй выход 36 блока 2 прерываний в качестве сигнала прерывания процессора. При поступлении управляющего сигнала по линии 92 Анализ прерывания (который вырабатывается после выполнения каждой команды) с синхровхода 89 блока 2 прерываний на стробирующий вход триггера 78 последний устанавливается в единицу, разрешая выдачу выделяемого узлом 66 сравнения запроса на прерывание через один из соответствующих элементов 67-69 или 70 И-НЕ и один из соответствующих инверторов-передатчиков 72-74 или 75 на первый выход 97 блока 2 прерываний в качестве одного из сигналов РП4 по линии 93 или РП5 по линии 94, или РПб по линии 95 или РП7 по линии 96. Так, например, если одновременно на триггерах 59-62 запомнились все запросы н Л прерьшание ЗПА-ЗП7, то на выход 97 блока 2 прерываний пройдет только сигнал РП7 по линии 96 через четвертый выход узла 66 сравнения, элемент 70 И-НЕ, инвертор-передатчик 75. Ввиду отсутствия сигнала ПВБ (высокий, уровень сигнала на линии 87) ,через инвертор-приемник 57 на вход .установки в 1 триггера 79 поступает сигнал низкого уровня, в результате чего с его выхода на входы уста НОНКИ в О триггеров 59, 60-62 поступает сигнал высокого уровня, кото рый не вызывает установку этих триггеров в О. В соответствии с алгоритмом работы интерфейса общая шина внешнее устройство, пославшее сигнал ЗП, опознает передний фронт сигнала РП по своей линии РП, вьщает сигнал ПВБ, снимает сигнал ЗП и ждет снятия сигнала РП. .В блоке 2 прерываний появление низкого уровня сигнала ПВБ на линии 87 приводит к появлению сигнала высокого уровня на входе установки в 1 триггера 79 и сигнала низкого уровня на входе установки в О триг гера 78, в результате чего последний устанавливается в О, запрещая вьща чу сигналов РП4-РП7. Установка триггера 78 в О вызывает также вьщачу переднего фронта сигнала с инверсного выхода триггера 78 на стробирую щий вход триггера 79, что вызывает установку последнего в О и вьщачу сигнала низкого уровня с выхода три гера 79 на входы установки в О триггеров 59-62,в результате чего эти триггеры устанавливаются в О. После снятия сигнала РП внешнее устройство выставляет адрес вектора прерывания на линиях данньк, сигнал Прерывание, снимает сигнал ПВБ. Снятие сигнала ПВБ на линии 87 вызы вает переключение триггера 79 в 1 и вьщачу на вход установки в О триггеров 59, 60-62 сигнала высокого уровня, который разрешает прием очередных запросов на прерьшание на эти триггеры. После появления сигнала Прерывание на линии 88 через время 1 , определяемое элементом 64 задержки, через инвертор-пере датчик 76 на выход 97 по линии 98 вы 228 дается сигнал СХИ. Затем внешнее устройство, которое вызвало прерывание, опознав сигнал СХИ, снимает сигнал Прерывание. Рассмотренный цикл работы блока 2 прерываний повторяется при поступлении следующего запроса на прерывание. Триггер 78 устанавливается в состояние О также при появлении сигнала, начального сброса, при этом низкий уровень сигнала Подготовка по линии 86 через инвертор-приемник 56, элемент 63 ИЛИ-НЕ поступает на вход установки в О триггера 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 при появлении сигнала ПВБ устанавливается в О. Низкий уровень сигнала с его прямого выхода сбрасывает одновибратор 80 и через элемент 65 задержки поступает на первый вход элемента-передатчика 77, благодаря чему сигнал ПВБ с его выхода не вьщается. 29 Работа узла 66 сравнения описывается следующими логическими формулами: , ; гЦЪз% ЬДЪ,УЬ,); i где b - bf. соответственно первыйвосьмой информационные входы узла 66, соответственно первыйчетвертый выходы узла 6 Узел 66 сравнения, может быть выполнен на микросхеме К556 РТ4. Блок 3 синхронизации управляет операциями ввода-вывода по общей ши не в соответствии с требованиями, предъявляемыми к интерфейсу общая шина. На триггерах 100-102 соответ ственно запоминаются типы операций ввода-вывода: Чтение, Запись и Запись байта, сигналы низкого уровня которых поступают соответств но по линиям 129-131 с входа 132 блока 3 на входы установки в 1 триггеров 100-102. При установке в Г одного из триггеров 100, 101 или 102 на первый вход элемента 122 И-НЕ с выхода элемента 109 ИЛИ поступает сигна.п высокого уровня, который вызывает появление сигнала ни кого уровня ни выходе элемента 122 И-НЕ при отсутствии сигнала ЗАН (высоком уровне сигнала на линии 136 и появлении стробирующего сигнала высокого уровня Фаза 2 на линии 135, что вызывает установку в 1 триггера 103 ТЗАН, В исходном состо нии триггеры 100-103 установлены в О передним фронтом сигнала Подготовка, поступающим по линии 133 через инвертор-приемник 106 на стро бирующие входы этих триггеров. Заня тие общей шины процессором, признаком чего является установка триггера 103 ТЗАН в 1, разрешает вьщачу на общую шину адреса (благодаря появлению высокого уровня сигнала Выдача адреса на линии 140), данных при операциях Запись и Запись байта.(благодаря появлению вы сокого уровня сигнала Вьщача данных 5
на линии 1А2), кода операции на линии управления 143 У1 и 144 У О, закодированного на элементах 110, 111
торый через элементы 12Q И, 112 ИЛИ, 114 задержки поступает на второй вход элемента 126 И-НЕ, на первом 2 ИЛИ. Коды на линиях 143, 144 У tl-03 обозначают следующие операции: 00 - Чтение, 01 - Чтение с паузой, 10 - Запись, 11 - Запись байта. Установка в 1 триггера 103 ТЗАН вызывает появление на линии 138 общей шины сигнала ЗАН и установку в 1 триггера 104 ТСХЗ через время 2 определяемое элементом 113 задержки при отсутствии сигнала СХИ на линии 137, т.е. при высоком уровне сигнала на зтой линии. Установка триггера 104 ТСХЗ в 1 вызывает появление сигнала СХЗ (низкий уровень) на линии 145 через инвертор 117 и запуск одновибратора 121, на выходе которого формируется отрицательный импульс, поступающий на стробирующий вход триггера 105. Если сигнал СХИ (низкий уровень сигнала на линии 137) появился меньше чем за 20 МКС, высокий уровень сигнала с инвертора 107 через элементы 118 И, 112 ИЛИ, 114 задержки поступает на второй вход элемента 126 И-НЕ, на первом входе которого в это время присутствует тоже сигнал высокого уровня. Низкий уровень сигнала с выхода элемента 126 И-НЕ сбрасывает триггер 104 ТСХЗ и одновибратор 121. Низкий уровень сигнала с прямого выхода триггера 104 ТСХЗ поступает на вход установки в 1 триггера 105 ТОШ, подтверждая его единичное состояние, что является признаком отсутствия ошибки. Через время i,, определяемое элементом 115 з-адержки, после сброса триггера 104 ТСХЗ, низкий уровень сигнала с выхода элемента 115 задержки поступает на входы установки в О триггеров 100-103, устанавливая последние в О. Если низкий уровень сигнала СХИ на линии 137 не появляется в течение 20 мкс, на стробирующем входе триггера 105 ТОШ с выхода одновибратора 121 через 20 мкс после установки в 1 триггера 104 ТСХЗ появляется передний фронт сигнала. Поскольку при этом на информационный вход триггера 105 с выхода инвертора 107 поступает низкий уровень сигнала, триггер 105 устанавливается в О, с его инверсного выхода снимается сигнал ошибки высокого уровня, ковходе которого в это время присутствует сигнал высокого уровня с выхода элемента 109 ИЛИ. Низкий уровень сигнала с выхода элемента 126 И-НЕ поступает на вход установки в О триггера 104 ТСХЗ, устанавливая его в О. Низкий уровень сигнала с прямого выхода триггера 104 поступает на вход установки в 1 триггера 105 ТОШ, устанавливая посладкий в 1. При этом на инверсном выходе триггера 105 появляется сигнал низкого уровня, что является признаком отсутствия ошибки. При появлении низкого уровня сигнала Подготовка на линии 133, который через инвертор 106, элементы 112.ИЛИ, 114 задержки, 126 И-НЕ поступает на вход установки в О триггера 104, последний устанавливается в О.
Операционный блок 9 в зависимости от выполняемой микрокоманды под воздействием управляющих сигналов на управляющем входе 167 может осуществлять арифметико-логическую one)ацию в арифметико-логическом узле 147 над одним или двумя операндами, поступающими на его первый и второй информационные входы по шине 159 с второго информационного входа 158 блока 9 и по шине 160 с выхода коммутатора 146, осуществлять сдвиг результата арифметико-логической операции на сдвигателе 148, запоминать результат операции в регистре 149 данных, вырабатывать и запоминать признаки операции на триггерах 152 знака, 153 нуля, 154 переполнения, 155 переноса. На триггере 152 запоминается старший (знаковьй) разряд сдвигателя 148. Элемент 150 ШШ, на который поступают выходы всех разрядов сдвигателя, формирует на своем выходе признак нуля результата Элеме.нт 151 ИСКЛЮЧАЩЕЕ ИЛИ формирует на своем выходе признак переJIOлнeния. Вь1ходы триггеров признаков
операции 152 знака, 153 нуля, 154 переполнения, 153 переноса по шине 39 через второй выход 34 бпока 9 поступают в признаковую часть регистра 1 состояния и соответственно на первый-четвертый информационные входы коммутатора ,30 блока 15 формирования адреса микрокоманд. Выход 51 регистра 149 данных через второй выход 34 блока 9 поступает на входы блока 5 передатчиков данных, коммутатора 10, регистра 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 или второго 188, или третьего 189 адресных входов блока 8 в зависимости от кода на линии 190. Коммутатор 179 коммутирует адрес выбираемого регистра на адресный вход узла 182 вторых регистров через коммутатор 180 с первого 185 или второго 188, или третьего 189 адресных входов блока 8 в зависимости от кода на линии 191. Работа коммутаторов 178, 179 описывается следующей логической формулой
,
23 33 где 1.з соответственно первьйтретий адресные входы этих коммутаторов 2., , - соответственно первый и второй управляюпще входы этих коммутаторов, поступающих по линиям 190 или 191 Чз вТЬсод этих коммутаторо Во второй половине машинного так та, что определяется низким уровнем сигнала на линии 196.выполняется запись информации, поступающей на информационный вход 161 блока 8 в тот из регистров узлов 181 первых и 182 вторых регистров, адрес которого поступает с коммутатора 178. При этом коммутатор 180 коммутирует на адресный вход узла 182 вторых регистров выход коммутатора 178. В первой половине машинного такта благодаря высокому уровню сигнала на линии 196 (фиг. 11) коммутатор 180 коммутирует на адресный вход узла 182 вторых регистров выход ком мутатора 179. При записи информации сигналы на линиях 193 и 194 имеют . низкие уровни. Чтение производится ,при низком уровне сигнала на линии 193 и высоком уровне сигнала на лиНИИ 194. Считанная из узла 181 первых регистров информация записывает ся по стробу-на линии 195 Фаза 4 в первый 183 регистр, откуда выдает по шине 159. Считанная из узла 182 вторых регистров информация записывается по тому же стробу Фаза 4 во второй 184 регистр, откуда выдается по шине 157. Формирователь 12 импульсов вырабатьгоает управляющие сигналы для других блоков процессора. Генератор 197 синхросигналов вырабатывает синхросигналы (фиг. 11) необходимые для работы различных блоков. Так, например, информация на регистр 13 микрокоманд заносится по синхросигналу Фаза 2, поступающему по линии 135. Сигнал в блок 8 регистров вырабатывается при наличи высокого уровня сигнала на линии 213, поступающего с соответствующег разряда операционного вьгхода регист ра 13 микрокоманд. Дешифраторы 198200 дешифрируют соответствующие поля операционной части регистра 13 микрокоманд, поступающие на их входы соответственно по линиям 215, 32 221 и 223. Узел 211 перекодировки в зависимости от кода на линиях 217220 вырабатывает управляющие сигналы на линиях 41-48 для работы блока 15 формирования адреса микрокоманд в соответствии с таблицей, приведенной на фиг. 12 и описанием ра-: боты блока 15 формирования адреса микрокоманд. Устройство обеспечивает эффективный механизм доступа к микропрограммному уровню управления посредством прерываний, что позволяет в 2-10 раз увеличить быстродействие выполнения различных алгоритмов пользователя, операционных систем, драйверов ввода вывода при незначительных аппаратурных затратах. Повьшение быстродействия достигается за счет возможности микропрограммной реализации алгоритма обработки прерываний от внешних устройств и внутренних прерываний при выполнении команд экстрокодов. Повышение быстродействия при микропрограммной обработке прерывания достигается за счет уменьшения количества обращений к относительно медленнодействующей главной памяти ввиду отсутствия этапов выборки команд, использования для хранения промежуточных результатов более быстродействующих внутренних элементов процессора; высокой операционной насыщенности микрокоманд, позволяющей параллельно выполнять несколько операций (в предлагаемом техническом решении одной микрокомс ндой можно выполнять до шести операций; чтение операндов, арифметико-логическую операцию, сдвиг, запись результата, установку признаков и проверку условий сокращения количества шагов при организации ветвлений по нескольким направлениям за счет возможности задания в одной микрокоманде групповых ветвлений; меньшего времени выборки микрокоманд из микропрограммной памяти по сравнению с временем выборки команд из главной памяти; уменьшения времени на сохранение-восстановление состояния прерванной программы за счет сохранениявосстановления одного регистра при микропрограммной- обработке прерываний вместо нескольких (от 2 до 8) при программной обработке прерываtz
It
фиг, 2
фиг,3
133
фиг л
i60
J
153
39
155
153
. (PuiS
Ф5/
38
З iА/ k
т
170
/
А k м k м t I
ц
i
kУ
м
1S3
т
т
т
t J . t t kM
т
171
171
171
IM
I l .;WlM MAi
15Г 1
1
т
фиг,6
1SS
|Й1
т
195
т
т
П9
и т -.
S
/I/
W
ш
Щ.
т
182
фиг, 8 д fflgjg/ 85 J/77 52 - 3f АППР ПРЕР
СХИ
П
Фиг. 9
150 Лятуг
1У
(Put. W Ж 5 :ss кЧУ
(Риг,Г1
X - l e paзлfJf/нoe состояние
фиг, 12
Печь для непрерывного получения сернистого натрия | 1921 |
|
SU1A1 |
Патент США № 4250546, кл | |||
Способ получения мыла | 1920 |
|
SU364A1 |
Способ получения фтористых солей | 1914 |
|
SU1980A1 |
Аппарат для очищения воды при помощи химических реактивов | 1917 |
|
SU2A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Контрольный висячий замок в разъемном футляре | 1922 |
|
SU1972A1 |
Переносная печь для варки пищи и отопления в окопах, походных помещениях и т.п. | 1921 |
|
SU3A1 |
и др | |||
Логическая организация процессора.СМ-ЗП | |||
В кн.: Управляющие вычислительные комплексы на базе малых ЭВМ | |||
Труды ИНЭУМ, вып | |||
Способ получения смеси хлоргидратов опийных алкалоидов (пантопона) из опийных вытяжек с любым содержанием морфия | 1921 |
|
SU68A1 |
Разборный с внутренней печью кипятильник | 1922 |
|
SU9A1 |
Печь для непрерывного получения сернистого натрия | 1921 |
|
SU1A1 |
Авторы
Даты
1984-09-30—Публикация
1982-12-08—Подача