Микропрограммный процессор
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике и может быть использовано при разработке микропрограммных процессоров цифровых вычислительных машин. Цель изобретения - повышение полноты контроля. Это достигнуто за счет подсчета управляющих сигналов, выдаваемых в устройства ввода-вывода (УВВ), запоминания информации, переданной в УВВ, и программного анализа достоверности переданных управляющих сигналов и информации. Микропрограммный процессор содержит операционный блок 1, блок 2 памяти микропрограмм, регистр 3 микрокоманд, первый мультиплексор 4, второй мультиплексор 5, третий мультиплексор 6, блок 7 синхронизации, счетчик 8, дешифратор 9 операций, регистр 10 связи с блоками памяти, входной регистр 11 связи с устройствами ввода-вывода, выходной регистр 12 связи с устройствами ввода-вывода, группу триггеров 13 запоминания требований приостанова, группу триггеров 14 запоминания требований прерывания, блок 15 приоритета, блок 16 выдачи управляющих сигналов в УВВ, первую группу элементов ИЛИ 17. Кроме того, в процессор введены вторая и третья группы элементов ИЛИ 24,25, второй и первый элементы И 26, 27, первый и второй элементы ИЛИ 28, 29, четвертый мультиплексор 30 и триггер контроля 31. 6 ил.
СОЮЗ СОВЕТСКИХ. социалистических
РЕСПУБЛИК (51)5 G 06 Р 15/00, 11/26
ГОСУДАРСТВЕННЫЙ КОМИТЕТ
llO ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ
ПРИ ГКНТ СССР
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К АВТОРСКОМ,Ф СВЩ ЕТЕЛЬСТВУ
ЦЗиг т (21) 4342851/24-24 (22) I4.12.87 (46) 30.03.90. Бюл. М 12 (72) Л.И. Дрель, И.С. Мугинштейн и Э,Е. Шварц (53) 681.3(088.8) (56) Авторское свидетельство. СССР
М 985791, кл. С 06 F 15/20, 1980.
Авторское свидетельство СССР
Р 1024927, кл. С 06 F 15/00; 1981. (54) МИКРОПРОГРАММНЫЙ ПРОЦЕССОР (57) Изобретение относится к вычислительной технике и может быть использовано при разработке микропрограммных процессоров цифровых вычислительных машин. Цель изобретения - повышение полноты контроля. Это достигнуто за счет подсчета управляющих сигналов, выдаваемых: в устройства ввода-вывода (УВВ), запоминания информации, переданной в УВВ, и программного анализа достоверности переданных управляющих
„SU„„15539 4 А1
2 сигналов и информации. Микропрограммный процессор содержит операционный блок 1, блок 2 памяти микропрограмм, регистр 3 микрокоманд, первый мультиплексор 4, второй мультиплексор 5, третий мультиплексор 6, блок 7 синхронизации, счетчик 8, дешифратор 9 операций, регистр 10 связи с блоками памяти, входной регистр 11 связи с устройствами ввода-вывода, выходной регистр 12 связи с устройствами вво-. да-вывода, группу триггеров 13 запоминания требований приостанова, группу триггеров 14 запоминания требований прерывания, блок 15 приоритета, блок 16 выдачи управляющих сигналов в УВВ„ первую группу элементов ИЛИ 17.
Кроме того, в процессор введены вторая и третья группы элементов ИДИ 24, 25, второй и первый элементы И 26,27, первый и второй элеМенты ИЛИ 28,29, четвертый мультиплексор 30 и триггер контроля 31. 6 ил.
1553984
Изобретение относится к вычислительной технике и может быть использовано при разработке микропрограммных процессоров цифровых вычислительных машин.
Цель изобретения - повышение полноты контроля.
На фиг. 1 представлена структурная схема предлагаемого микропрограммного процессора; на фиг. 2 - структурная схема операционного блока; на фиг. 3 - структурная схема блока синхронизации; на фиг. 4 - структурная схема блока выдачи управляющих сигналов устройства ввода-вывода; íà, 15 фиг. - временная диаграмма работы блока синхронизации; на фиг. 6 - временные диаграммы формирования управ ляющих сигналов команды вывода, уп/ равляющих сигналов команды ввода, уп- 20 л равляющих сигналов в режимах приостанова вычислений и прерываний. .(Микропрограммный процессор (фиг.1) содержит операционный блок 1, блок 2 памяти микропрограмм, регистр 3 мик- 25 рокоманд, первый 4, второй g и третий 6 мультиплексоры, блок 7 синхронизации, счетчик 8, дешифратор 9 операций, регистр 10 связи с запоминающими устройствами (ЗУ), входной 11 и выходной 12 регистры связи с устройстВами ВВода Вывода (УВВ) Группу 13 триггеров запоминания требований при) останова ввода-вывода, группу 14 тбиггеров запоминания требований прерыва. ния, блок 15 приоритета, блок 16 вы35 дачи управляющих сигналов в УВВ и перл вую группу 17 элементов ИЛИ, выходы
18 - 21 процессора, вход 22 процессо-. ра, выход 23 процессора, вторую 24 и третью 25 группы элементов ИЛИ, второй 26 и первый 27 элементы, первый
28 и второй 29 элементы ИЛИ, четвертый мультиплексор 30, триггер 31 контРоля, входы 32, 33 и 34 процессора 45
Операционный блок 1 (фиг. 2) содержит сумматор 35, (М+2)-Разрядные мультиплексоры 36 и 37 М-разрядный демультиплексор 38 и группу из М Регистров 39, 50
Блок 7 синхронизации (фиг. 3) содержит генератор 40 импульсов, счет.ный триггер 41, кольцевой регистр 42 сдвига, элементы И 43 и 44.
Блох 16 выдачи управляющих сигна" лов в УВВ (фиг. 4) содержит триггеры
45 ввода, 46 вывода, 47 запроса адреса, 48 запросов кодов прерываний, элементы И 49 - 52.
Микропрограммный процессор (фиг.1) работает следующим образом.
Выходы регистра 3 микрокоманд соответствуют определенным полям микрокоманды: адреса перехода, операции и функций операционного блока, выбора источников ветвления адресов, управления работой блоков памяти (вы::эд 18 процессора), управления работой мультиплексора 6, управления дешифратором 9 операций.
Прием очередной микрокоманды из блока 2 микропрограммной памяти на регистр 3 микрокоманд производится синхронно с сигналами с выхода блока
7, определяющими период следования микрокоманд„ и по времени совпадает с задним фронтом этих сигналов.
На регистр 10 связи с блоками памяти (ЗУ) по управляющему сигналу с выхода дешифратора 9 производится прием команды, выбранной по адресу, находящемуся на выходе 19 процессора.
Начало выборки команды из блоков памяти определяет сигнал обращения за командой, выдаваемой по окончании предыдущей команды с выхода регистра 3 микрокоманд. При этом мультиплексор 6 с сигналом с выхода регистра 3 микрокоманд переключен таким образом, что на его выход проходит информация, поступающая от блоков памяти на информационный вход 22 процессора .
Следующим этапом выполнения команды является формирование адреса операнда, при этом выполняемые в микропрограмме действия зависят от вида адресации (прямая, относительная, косвенная), который определяется полем признака адресации команды. Разряды признака адресации поступают с выхода регистра 10 связи с блоками памяти (ЗУ) на младшие разряды мультиплексора 4, à íà его вход поступает управ ляющая информация с выхода регистра 3 микрокоманд, которая разрешает прохождение информации на выход первого мультиплексора 4. Информация с выходов мультиплексора 4 поступает на входы группы 17 элементов ИЛИ, а на другие, их входы подается информация с выхода регистра 3 микрокоманд, которая представляет собой поле адреса перехода к следующей микрокоманде. Причем младшие разряды адреса перехода, по количеству равные разрядам признака адресации, должны быть "О", например, 00101101000 (при количестве разрядов
5 15539 поля признака адресации, равном трем), Результат логического сложения на выходах. элементов ИЛИ группы 17 элементов ИЛИ в зависимости от значения раз5 рядов признака адресации определяет одну из восьми ячеек блока 2. Таким образом организуется ветвление к группе ячеек блока 2 в зависимости от вида признака адресации. 10
Формирование адреса операнда осуществляется в операционном блоке 1 и представляет собой выделение адресной части команды и передачу ее на выход процессооа (прямая адРесация) 15 либо сложение выделенной адресной части команды с одним из индексных регистров (при относительной адресации) и передачу результата также на выход процессора . 2О
Выделение адресной части команды осуществляется путем логического умножения константы с количеством единичных битов, равным адресной части команды, на саму команду. Например, 25 при 16-разрядной. команде, когда адрес.ной частью является младшие 10 разрядов, осуществляется логическое умножение на константу 0000001111111111, в результате чего старшие шесть раз- 30 рядов обнуляются. При этом информация на выходе регистра 3 микрокоманд определяет вид выполняемой сумматором
35 (фиг. 2) функции (арифметическое сложение, логическое сложение и т.д.), адрес регистра 39 операционного блока, в который записывается результат и адреса операндов (управление мультиплексорами 36 и 37), участвующих в выполнении указанной функции. 40
Адрес операнда, полученный на сумматоре 35, поступает на выход 19 процессора.
Для выполнения действий, определяемых кодом операции команды, произво- д дится выход в начало микропрограммы выполнения текущей команды, для чего разряды кода операции, хранящиеся на регистре 10 связи с блоками памяти (3У) поступают через старшие разряды первого мультиплексора 4 на другие входы элементов ИЛИ группы 17 элементов ИЛИ. При этом на другие входы элементов ИЛИ 17 поступает адрес перехода с нулями в старших разрядах, по количеству равных коду операции, При шестиразрядном коде операции на выходах элементов ИЛИ 17 получается.информация, определяющая в зависимости от значения кода операции одну иэ
64 ячеек блока 2. Каждая из укаэанных
64 ячеек является начальной в микропрограмме выполнения одной из 64 команд, составляющих систему команд.
При обмене процессора с устройствами ввода-вывода по командам вводавывода (синхронный обмен, формирование адреса операнда и выход в начало выполнения микропрограммы) процесс осуществляется описанным выше образом. Сформированный адрес с выхода операционного блока 1 принимается по сигналу с выхода дешифратора 9 на вы« ходной регистр 12 связи с УВВ и в сопровождении управляющего сигнала ввода (при команде ввода) или вывода (при команде вывода), сформированного в блоке 16 выдачи управляющих сигналов в УВВ, поступает в УВВ.
Синхронизацию работы узлов процессора осуществляет блок 7 (Фиг. 3) „ вырабатывающий на элементе И44 стробирующий сигнал, управляющий приемом мимикрокоманды на регистр микрокоманд
3 и работой операционного блока
Кольцевой регистр сдвига 42 и элемент
И 43 осуществляют формирование сигналов, синхронизирующих работу блока
16 выдачи управляющих сигналов в УВВ и блока 15 приоритета. Временная диагРамма работы блока синхронизации представлена на фиг. 5.
При выполнении команды вывода ин" формация, выбранная из ячейки блока памяти по адресу, поступившему с выхода 19 процессора, принимается на регистр 10 связи с блоками памяти (ЗУ) через вход мультиплексора 6 связи с блоками памяти и через операционный блок 1, выполняющий Функцию передачи, принимается на выходной регистр 12 связи с УВВ по сигналу с выхода дешиФратора 9 и передается в УВВ. Временная диаграмма формирования управляющих сигналов команды вывода приведена на фиг. 6.
П ри выполнении кома нды ввода и нформация иэ УВВ через вход мультиплексора 30 с входа 34 процессора принимается на входной регистр ll связи с УВВ по стробу, поступающему с выхода дешифратора 9. Принятая на входной регистр 11 связи с УВВ информация через операционный блок l,aûïoëíÿþùèé в данном режиме функцию передачи, принимается на регистр 1О связи с бло1553984
10 я
30
45 а 50
55 ками памяти через вход мультиплексора
6 и далее через вход мультиплексора
5, упра вляемого сигналом с выхода дешифратора 9, поступает в блоки памяти на запись через выход 21. Временная диаграмма формирования управляющих сигналов команды ввода приведена на фиг.6.
При обмене процессора с УВВ по зап росам, поступающим асинхронно из УВВ (режим приостанова основной программы или режим прерываний), производитс запоминание запросов на RS-триггерах
13 запоминания требований приостанова ввода-вывода или 14 прерываний.
Принятый запрос (или несколько зап росов) поступает в блок 15 приоритета, реализующий очередность обработки запросов и выдающий на выход код вида запроса, принятого к обработке, и признак наличия запроса. Блок приоритета может быть реализован на БИС
589ИК14, 585ИК14.
Блок приоритета l 5 осуществляе т . прием на внутренний регистр запросов под управлением сигнала с выхода кольцевого регистра 42 сдвига с выхода блока 7 и их хранение до следующего приема. С момента приема запроса на выходе блока 15 приоритета находится зашифрованный код запроса. Под управлением сигнала с выхода элемента И43 блок 15 приоритета выдает на выход сигнал, определяющий момент начала обработки запроса.
Микропрограмма выполнения любой команды предполагает в последней ми: микрокоманце анализ запросов, и в случае их,"наличия производится ветвление микропрограммы по коду зап" роса с выхода блока приоритета с переходом в начало микропрограммы обработки соответствующего запроса, при этом следующая команда не выполняется, а ее адрес хранится в одном из ре гистрев операционного блока 1 ° По окончании обработки запроса ввода (вывода) или группы запросов производится выполнение команды, которая был бы следующей в случае отсутствия запросов, или же производится передача управления подпрограммы прерывания в случае прерывания. формирование управляющих сигналов для УВВ в соответствии с временной диаграммой, представленной на фиг. 6, осуществляет блок 16 выдачи управляющих сигналов s УВВ (фиг. 4), представляющий собой набор RS-триггеров
45-48 и элементов И49-52. Каждый RSтриггер фиксирует наличие и окончание определенного режима обмена (обмен по приостанову ввода и командам ввода - триггер 45, обмен по приостанову вывода и командам вывода триггер 46, наличие режима приостанова триггер 47, обмен по прерывания триггер 48) по сигналам, поступающим с выхода дешифратора 9. Синхроимпульсы, поступающие на входы элементов
И49-52, определяют момент выдачи управляющих сигналов с УВВ, характерных для того режима обмена, который определен состоянием триггеров 45-48 (входы элементов И49-52) . Временные диаграммы (фиг. 6) представлены на примере 12-разрядного кольцевого регистра 42 сдвига .
При обмене с УВВ по требованиям ввода (вывода) процессор выдает в
УВВ сигнал с управляющего выхода процессора 23, инициирующий выдачу в процессор адреса ячейки, который через вход мультиплексора 30 принимается на входной регистр 11 связи с УВВ (сигнал запроса адреса (3Aj) и через операционный блок 1, выполняющий функцию передачи„ принимается на выходной регистр связи с УВВ. Далее алгоритм аналогичен алгоритму выполнения команд ввода (вывода), Обмен с прерыванием программы предполагает выдачу в УВВ управляющих сигналов, по количестве равных числу видов прерываний, инициирующих выдачу в процессор кода прерывания (сигналов запроса кода прерывания — ЗКП), который через вход мультиплексора 30 принимается на входной регистр 11 связи с УВВ и через операционный блок 1,. выполняющий функцию перецачи, принимается на регистр 10 связи с блоками памяти (ЗУ) для записи его в качестве старого слова состояния программы. Выборка новых слов состояния программы производится из ячеек памяти аналогично чтению информации из ячеек памяти.
Аппаратный контроль передачи информации между УВВ и процессором осуществляется путем проверки на четность кодов по контрольному разряду, Для осуществления программного контроля аппаратуры связи с внешними устройствами в состав системы команд введены две команды контроля: "Установка триггера контроля" и "Сброс
1553984
10 триггера контроля". Ilo команде установки сигналом с выхода дешифратора
9 производится установка триггера 31 контроля в "1" а также установка в
5
"1" всех триггеров группы 13 триггеров запоминания требований приостанова ввода-вывода и группы 1ч триггеров запоминания требований прерываний.
Сигнал с выхода триггера 31 контроля поступает на вход элемента И26 и разрешает прохождение каждого управляющего сигнала, из блока 16 выдачи управляющих сигналов в УВВ через эле мент ИЛИ 28, выдаваемого в УВВ, через элемент ИЛИ 29 на счетный вход счетчика 8. Установка счетчика 8 в исходное состояние (осуществляется в каждой команде через вход элемента
И27), запрещается сигналом с инверсного выхода триггера 31 контроля, поступающим на вход элемента И 27. Таким образом, производится подсчет управляющих сигналов, выдаваемых процессором в УВВ за время прохождения прог- 25 раммы контроля. Сигнал с выхода триггера 31 контроля осуществляет переключение мультиплексора 30 таким.образом, что информация, выдаваемая в УВВ с выхода процессора 20, посту- 30 пает на его вход (вход мультиплексора 30) и запоминается в одном иэ регистров операционного блока 1 с целью программного контроля передаваемой в УВВ информации. Кроме того, сиг-35 нал с выхода триггера 31 контроля поступает на вход мультиплексора 4 для организации ветвления в микропрограмме обработки прерывания. Ветвление органИ;;овано с целью запрета переда- 40 чи управления подпрограмме обработки прерывания и осуществления передачи управления в определенную точку программы контроля . В процессе выполнения программы контроля производится 45 последовательная обработка требований, хранящихся на триггерах 13, 14, в порядке убывания приоритета, до тех пор, пока не будут обработаны все требования, производится сравне" ние передаваемой информации с эталон" ной, а также подсчет управляющих сигналов, выдаваемых в УВВ, и запись содержимого счетчика 8 в ячейку памяти с последующим сравнением с эталонной суммой. По окончании программы конт" роля по команде сброса триггера контроля схема переводится в исходное состояние. В этом случае на счетный вход счетчика 8 сигналы поступают только с выхода дешифратора 9 через вход элемента ИЛИ 28, а установка производится сигналом с выхода дешифратора 9 через вход элемента И 27. формула изобретения
Ни кропрог раммный процессор, содержащий операционный блок, блок памяти микропрограмм, регистр микрокоманд, первый, второй и третий мультиплексоры, блок синхронизации, счетчик, дешиЩ>втор операций, регистр связи с запоминающими устройствами, входной и выходной регистры связи с устройствами ввода-вывода, группу триггеров запоминания требований приостанова ввода-вывода, группу триггеров запоминания требований прерывания, блок приоритета, блок выдачи управляющих сигналов в устройства ввода-вывода и первую группу элементов ИЛИ, выходы которых соединены с адресными входами блока памяти микропрограмм, выходы которого соединены с информационными входами регистра микрокоманд, выходы полей операции, управления запоминающими устройствами, адреса перехода, выбора источников ветвления адресов, управления работои мультиплексора, управления дешифратором операций которого подключены соответственно к первому информационному входу операционного блока, выходу управления запоминающими устройствами процессора, первым входам элементов-ИЛИ первой группы, управляющему входу первого мультиплексора, управляющему входу второго мультиплексора, входу дешифратора опеРаций, первый, второй, третий, четвертый, пятый, шестой и седьмой выходы которого соединены соответственно с входами установки в "0" триггеров запоминания требования приостанова ввода-вывода. группы, входами установки в
"0" триггеров запоминания требований прерывания группы, синхровходом входного регистра связи с устройствами ввода-вывода, синхровходом выходного регистра связи с устройствами вводавывода информационным входом блока выдачи управляющих сигналов в устрой; ства ввода-вывода, управляющим входом третьего мультиплексора, синхровходов регистра связи с запоминающими устройствами, выход которого подключен к информационному входу счетчика, к вто1553984 рому информационному входу операционного блока, к первым информационным входам первого и третьего мультиплексоров, выход операционного блока соединен с выходом адресации запоминающих устройств процессора, первым информационным входом второго мультиплексора, информационным входом выходного регистра связи с устройствами
1 ввода-вывода, выход которого соеди-!
; нен с выходом информации в устроиства ввода-вывода процессора, выход счетчика подключен к вторым информационным входам первого и третьего муль типлексоров, выходы которых соединены соответственно с вторыми входами ! элементов ИЛИ первой — ðóïïû и выходом информации в запоминающие устройства процессора, выходы триггеров запоми- рц
: нания требований приостанова ввода-вы, вода группы и выходы триггеров запо,: минания требований прерывания группы
1 соединены соответственно с первым и вторым входами блока приоритета, выход которого подключен к третьему информационному входу первого мультиплексора, а третий axoq соединен с первым выходом блока синхронизации, вто. рой выход которого подключен к входу ЗО
1 разрешения блока выдачи управляющих
; сигналов в устроиства ввода-вывода, а третий выход соединен с. синхровходом регистра микрокоманд и с синхровхо, дом операционного блока „третий инфор-gg мационный вход которого подключен к
1 выходу входного регистра связи с уст-. ! ройствами ввода-вывода, второи информационный вход второго мультиплексора соединен с первым информационным вхо- 40 дом процессора, выход второго мультиплексора подключен к информационному входу регистра связи с запоминающими устройствами, выход бпока выдачи управляющих сигналов в устройства ввода-вьаода соедйнен с выходом управления, устройствами ввода-вывода процессора, о т л и ч а ю щ,и и с я тем, что, с целью повышения полноты контроля, он содержит вторую и третью группы элементов ИЛИ,первый и второй элементы И, первый и второй элементы
ИЛИ, четвертый мультиплексор и триггер контроля, причем восьмой, девятый, десятый выходы дешифратора операций соединены соответственно с первым входом первого элемента И, первым входом первого элемента ИЛИ, входом установки в "О" триггера контроля, один" надцатый выход дешифратора операций соединен с входом установки в "1" триггера контроля и с первыми входами элементов ИЛИ второй и третьей групп, выходы которых подключены соответст" венно к входам установки в "1" триггеров запоминания требований приостанова ввода-вывода группы и входам установки в "1" триггеров запоминания требований прерывания группы, а вторые входы соединены соответственно с входом запроса приоста нова и входом запроса прерывания процессора, второй информационный вход процессора соединен с первым информационным входом четвертого мультиплексора, выход которого подключен к информационному входу входного регистра связи с устройствами ввода-вывода, второй информационный вход четвертого мультиплексора соединен с выходом выходного регистра связи с устройствами ввода-вывода, управляющий вход четвертого I, мультиплексора, четвертый информационный вход первого мультиплексора, первый вход, второго элемента И подключены к прямому выходу триггера контроля, инверсный выход которого соединен с .вторым входом первого элемента
И, выходом соединенного с входом приема информации счетчика, счетный вход которого соединен с выходом первого элемента ИЛИ, вторым входом соединенного с выходом второго элемента И, выход выдачи управляющих сигналов в устройства ввода-вывода соединен с входами второго элемента ИЛИ, выход которого подключен к второму входу второго элемента И.
1 5539о4
1 553984
9 ер40 1, чети.
„ . Ъ Ч 3 гаям П. Г1 П .1 си нр-t жанр еи. щ авиа уют
Гнюаанкиулвса М Х > Г
Югфве fidus
fanfwr вЬвсв 6 УЯ â€” - Ã вЂ”аваев й4 и Ую — —мфаа ut И8 эФююаы I иФ
gfnfдвв иию уг
Ирщищ ЖЙ а ОВ
44аас и Удд вщюриаиаю и И88
Г аида уа еpreps юаааа ареуиЬВФ Ф УУВ
eд ФЮ„
Паиастаиаа
Ыаа
Ярнаопаиаа ааааа
Редактор Л. Веселовская
Заказ 458 Тираж 568 Подписное
ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР
113035, Москва, Ж-35, Раушская наб., д. 4/5 ю
Производственно-издательский комбинат "Патент", r Ужгород, ул. Гагарина, 191
Ирииа» Вийе а ааа
Фа,аале а УЫ
Ижрериацаа а У88
Лраит ааааа Ф ИР
Мрака Р УИ янрерйоцюю ца &3ф
Составитель Д. Ванюхин
Техред A,Êðàâ÷óê Корректор С. Ыевкун