Микропрограммное устройство управления
Иллюстрации
Показать всеРеферат
(72) Автор, изобретения
А. И. Иашкин (71) Заявитель
@ййАИСТР т. .. (54) МИКРОПРОГРАММНОЕ УСТРОЙСТВО УПРАВЛЕНИЯ
Изобретение относится к вычислительной технике и может быть использовано в устройствах управления цифровых вычислительных машин.
Известно микропрограммное устройство управления, содержащее память микрокоманд, генератор тактовых импульсов, дешифраторы, регистр микрокоманд, логические схемы И и ИЛИ (11, Недостаток устройства — необходимость значительных затрат оборудова1О ния на его реализацию. Когда по ходу выполнения программы не требуется выдавать на выходы устройства никаких микроопераций в течение определен1S ного отрезка времени (тактов), необходимо оставлять в памяти микрокоманд зоны нулевых ячеек, число которых равно количеству режимов "Трата" в программе. Число нулевых яче" ек в каждой зоне зависит от количест ва тактов, в течение которых необходимо произвести режим "Трата". Все это приводит к значительному увеличению затрат памяти микрокоманд при реализации такого устройства управления.
Наиболее близким к изобретению по технической сущности и достигаемому результату является микропрограммное устройство управления, содержащее блок памяти, генератор тактовых импульсов, счетчик, регистр и m дешифраторов 2 ), Недостатком данного устройства является низкая надежность.
Цель изобретения - повышение надежности работы устройства.
Поставленная цель достигается тем> что в микропрограммное устройство управления, содержащее блок памяти„ счетчик микрокоманд, регистр, m дешифраторов и генератор тактовых импульсов, вход которого соединен с первым входом устройства, выход генератора тактовых импульсов соединен с управляющим входом блока памяти, адресный вход которого соединен
898431 с выходом счетчика микрокоманд, группа информационных выходов блока памяти соединена с группой информационных выходов устройства, с группами информационных выходов счет5 чика микрокоманд, регистра и с информационными входами дешифраторов, группы выходов которых являются группами выходов микроопераций устройства, второй и третий входы которого 30 соединены соответственно с первыми информационными входами счетчика микрокоманд и регистра„ второй информационный вход которого соединен с выходом счетчика микрокоманд, пер- 15 вый, второй и третий управляющие входы регистра соединены соответственно с первыми выходами первого, второго и третьего дешифраторов, выход. регистра соединен со вторым ин- > формационным входом счетчика микрокоманд, первый, второй и третий управляющие входы которого соединены соответственно с первыми выходами m-oro и (m-1)-ого дешифраторов и со вторым д5 выходом первого дешифратора, третий выход которого соединен с управляющими входами остальных дешифраторов, введены счетчик тактов, узел свертки, схема сравнения и элементы ИЛИ, НЕ, выход элемента ИЛИ соединен со счетным входом счетчика микрокоманд, входы элемента ИЛИ соединены соответственно с выходом генератора тактовых импульсов, с выходом счетчика тактов и с выходом элемента НЕ, вход которого соединен с первым выходом (m-2)-ого дешифратора и со счетным входом счетчика тактов, управляющий вход которого соединен с четвертым выходом первого дешифратора, группа входов счетчика тактов соединена с группой информационных выходов блока памяти, контрольный выход которого соединен с первым входом схемы срав"
45 нения, выход которой соединен с первым выходом устройства, а второй и третий входы схемы сравнения - соот" ветственно с выходом генератора тактовых импульсов и с выходом узла
50 свертки, группа входов и вход которого соединены соответственно с группами выходов дешифраторов и с выходом счетчика микрокоманд.
Блок-схема устройства представле55 на на чертеже.
Микропрограммное устройство управления содержит генератор 1 тактовых импульсов, блок памяти 2, счетчик микрокоманд 3, дешифраторы 4„, 4, 4., 4„. ..4, регистр 5, счет чик тактов 6, узел свертки 7, схему сравнения 8, элемент НЕ 9 и элемент
ИЛИ 10.
Устройство работает следующим образом.
Генератор 1 тактовых импульсов вырабатывает сигналы, по которым производится считывание информации из блока памяти 2 и по которым состояние счетчика микрокоманд 3 изменяется на "единицу" после каждого опроса блока памяти 2. Сигнал с выхода генератора 1 тактовых импульсов поступает на счетный вход счетчика микрокоманд
3 через элемент ИЛИ 10 при условии, что на вход элемента ИЛИ 10 поступает разрешающий сигнал уровня логической единицы с выхода инвертора 9. Уровень логической единицы на выходе инвертора 9 соответствует уровню логического нуля первого выхода дешифратора 4 . Микрокоманда, считанная из блока памяти 2 по адресу, указанному в счетчике микрокоманд 3 поступает на информационные входы дешифраторов 4,, 4, 4>, 4„,...4, и в соответстии с кодом, записанным в каждой группе, на выходах этих дешифраторов вырабатываются микрооперации, которые подаются к устройствам цифровой вычислительной машины(на чертеже не показана) для выполнения соответствующих действий. Значение счетчика команд увеличивается на "единицу", производится считывание микрокоманды из следующей ячейки блока памяти 2 и ее расшифровка, цикл работы устройства повторяется.
Контроль правильности работы микропрограммного устройства управления осуществляется следующим образом.
В каждой ячейке блока памяти 2 записаны контрольные разряды по модулю
E(mod 2) кода адреса данной ячейки блока памяти 2 и кода выходов дешифраторов 41, 4, 4З, 4,...4 „ cooT» ветствующих информации в данной ячейке блока памяти 2. Контрольные разряды блока памяти 2 подключены к первому входу схемы сравнения 8. Узел свертки 7 осуществляет свертку кода адреса и кода выходов дешифраторов
41, 4, 4, 4,...4„„ по mod R. Выход узла свертки подключен к третьему входу схемы сравнения 8. Каждый такт
431 4
5 898 работы устройства управления производит сравнение контрольных разрядов блока памяти 2 с выходом узла свертки 7. В случае формирования ложных микроопераций (или невыработки необходимых микроопераций) из"за искажения информации в блоке памяти 2 или из"эа искажения кода адреса контрольные разряды блока памяти 2 не совпадают с выходами узла свертки 7, 16 и схема сравнения 8 вырабатывает сигнал несравнения, сигнализирующий о сбое или неисправности устройства управления.
Чтение констант из блока памяти 1З
2 и передача их в абоненты устройства управления происходит следующим образом.
Каждому выходу дешифратора 4< поставлен в соответствии абонент устрой- 20 ства управления, которому производится запись константы из блока памяти 2. При возбуждении хотя бы одного из выходов дешифратора 41, на его выходе, связанном с управляю- 25 щими входами остальных дешифраторов, появляется сигнал, запрещающий выработку микроопераций на выходах дешифраторов 4<, 4 .,„ 4,;,...4„„ Поэ» тому при считывании константы из щ блока памяти 2 и передачи ее aGoi.çíту дешифратора 4, дешифраторы 4
4, 4„, ..4 не работают и ложные микрооперации не вырабатываются.
Для осуществления безусловных переходов в микропрограмме проводятся обращения к блоку памяти 2 за конс» тантой и запись считанной константы по информационным входам на счетчик микрокоманд 3 по микрооперации, вырабатываемой вторым выходом дешифратора 41 и появляющейся на третьем управляющем входе счетчика микрокоманд 3.
Режим "Трата" в микропрограмме производится следующим образом. !
На счетчик тактов 6 по информационным входам производится запись константы из блока памяти 2 по микрооперации, вырабатываемой четвертым выходом дешифратора 4„ и появляющейся на управляющем входе счетчика тактов 6. Значение константы, записываемой на счетчик тактов 6, должно быть равно 2 — К, где n - -число разрядов
И счетчика тактов б, К вЂ” число тактов, в течение которых осуществляется режим "Трата". Затем производится обращение эа следующей микрокомандой, и на первом выходе дешифратора 4w-g появляется микрооперация, которая воздействует на счетный вход счетчика тактов 6 и через элемент HE 9 блокирует прохождение сигналов с вы" хода генератора 1 тактовых импульсов через элемент ИЛИ 10 на счетный вход счетчика микрокоманд 3. При этом с выхода генератора 1 тактовых импульсов на управляющий вход блока памяти 2 продолжают поступать сигналы считывания информации, и на первом выходе дешифратора 4 щ каждый раз вырабатывается микрооперация, воздействующая на счетный вход счетчика тактов б и блокирующая изменение значения счетчика микрокоманд 3. Состояние счетчика тактов 6 изменяется на
"единицу" после прихода каждого импульса на счетный вход с первого выхода дешифратора 4 и, . Когда состояние счетчика тактов б характеризуется числом (2 -1), т.е. ace n разрядов
И счетчика тактов 6 находятся в единичном состоянии, то по приходу очередного импульса на счетный вход счетчика тактов 6, íà его выходе вырабатывается сигнал переполнения, который через схему ИЛИ 10 воздействует на счетный вход счетчика микрокоманд 3. Счетчик микрокоманд 3 к следующему такту изменяет свое состояние на "единицу" и производится считывание информации из следующей ячейки блока памяти 2.
Таким образом, для организации режима "Трата" любой длительности необходимо всего две ячейки блока памяти 2, чем достигается ее значительная экономия. При этом упрощается работа генератора 1 тактовых импульсов. В известном устройстве организация режима "Трата" требует затрат трех ячеек блока памяти 2 и работы генератора 1 тактовых импульсов по первому выходу в старт-стопном режиме.
Условные переходы в микропрограмме осуществляются следующим образом.
Если по ходу программы необходимо проанализировать состояние входов устройства, связанных с первым информационным входом счетчика микрокоманд 3, или выходов регистра 5, связанных со вторым информационным вхо" дом счетчика микрокоманд 3, то на первый и второй управляющие входы счетчика микрокоманд 3, связанные с первыми выходами соответственно я-ого ) °
898431 и (m-1)-oro дешифраторов, поступают микрооперации, по которым информация со второго входа устройства или с выходов регистра 5 записывается на счетчик микрокоманд 3, и управление 3 передается той ячейке блока памяти 2
l адрес которой соответствует данному состоянию входов устройства, связанных с первыми информационными входами счетчика микрокоманд 3 или данному состоянию выходов регистра 5.
Запись константы на регистр 5 производится из блока памяти 2 по третьим информационным входам по микрооперации, вырабатываемой первым выходом дешифратора 4, и появляющейся на первом управляющем входе регистра 5.
С целью расширения функциональных возможностей при организации условных переходов информация на регистр 20
5 может записываться также с входов устройства, связанных с первыми информационными входами регистра 5, и с выхода счетчика микрокоманд 3, свя" занного с вторым информационным входом регистра 5 по микрооперациям, вырабатываемым первыми выходами дешифраторов 4 и 4 и поступающих соответственно на второй и третий управляющие входы регистра 5 ° 30
Применение изобретения позволяет повысить надежность работы устройства.
Формула изобретения
Микропрограммное устройство управления, содержащее блок памяти, счетчик микрокоманд, регистр, m дешифратаров и генератор тактовых им- 40 пульсов, вход которого соединен с первым входом устройства, выход re" нератора тактовых импульсов соединен с управляющим входом блока памяти, адресный вход которого соединен с выходом счетчика микрокоманд, группа информационных выходов блока памяти соединена с группой информационI ных выходов устройства,c группами информационных входов счетчика микрокоманд, регистра и с информационными входами дешифраторов, группы выходов которых являются группами выходов микроопераций устройства, второй и третий входы которого соединены соответственно с первыми информационными входами счетчика микрокоманд и регистра, второй информационный вход которого соединен с выходом счетчика микрокоманд, первый, второй и третий управляющие входы регистра соединены соответственно с первыми выходами первого, второго и третьего дешифраторов,выход регистра соединен со вторым информационным входом счетчика микрокоманд, первый, второй и третий управляющие входы которого соединены соответственно с первыми выходами m-ого и (m-1}-ого дешифраторов и со вторым выходом первого дешифратора, третий выход которого соединен с управляющими входами остальных дешифраторов, о т л и ч а ю щ ее с я тем, что, с целью повышения надежности работы, в него введены счетчик тактов, узел свертки, схема сравнения, элементы ИЛИ, НЕ, выход элемента ИЛИ соединен со счетным входом счетчика микрокоманд, входы элемента ИЛИ соединены соответственно с выходом генератора тактовых импульсов, с выходом счетчика тактов и с выходом элемента НЕ, вход которого соединен с первым выходом (m-g-го дешифратора и со счетными входом счетчика тактов, управляющий вход которого соединен с четвертым выходом первого дешифратора, группа входов счетчика тактов соединена с группой информационных выходов блока памяти, контрольный выход которого соединен с первым входом схемы сравнения, выход которой соединен с первым выходом устройства, а второй и третий входы схемы сравнения - соответственно с выходом генератора тактовых импульсов и с выходом узла свертки, группа входов и вход которого соединены соответственно с группами выходов дешифраторов и с выходом счетчика микрокоманд.
Источники информации, принятые во внимание при экспертизе
1. Авторское свидетельство СССР и 291201, кл. G 06 F 9/ i6, 1969.
2. Авторское свидетельство СССР по заявке У 2770418, кл . G 06 F 9/16,, 21.11.79 (прототип).
898431
Составитель И. Кудряшев
Редактор М. Недолуженко Техред 3. фанта Корректор С. Шекмар
Заказ 11951/66 Тираж 731 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., p. 4/5 филиал ППП "Патент", г. Ужгород, ул. Проектная, 4