Микропрограммный модуль

 

СОЮЗ СОВЕТСНИХ

СОЦИАЛИСТИЧЕСНИХ

РЕСПУБЛИН

А1

us>SUnn 42 (51)4 G 06 F 9/22

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ i

ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ (21) 4 117522/24-24 (22) 22»05,86 (46) 30.09.88, Бюп. Н 36 (72) В, С.Карченко, В.П.Улитенко»

С.Н.Ткаченко, Г.Н.Тимонькин, Б.О.Сперанский и В.Г.Литвиненко (53) 681.3(088.8) (56) Авторское свидетельство СССР

Ю 959080» кла G 06 F 9/22» 1982 °

Авторское свидетельство СССР

У 596947, кл . G 06 F 9/22, 1978 . (54) МИКРОПРОГРАММНЫЙ МОДУЛЬ (57) Изобретение относится к автоматике и вычислительной технике и может быть использовано нри разработке микропрограммируемых контроллеров распределительных вычислительных систем и систем управления технологическими процессами. Цель изобретения — расширение области применения модуля. В модуЛе обеспечивается смена микропрограмм и сокращено количество внешних соединейий. Модуль содержит блок памяти микрокоманд, счетчик, регистр микрокоманд, демультиплексор передачи данных, мультиплексор, триггер пуска, генератор тактовых импульсов, блок элементов ИЛИ..Новыми элементами устройства являются блок ключей с тристабильным выходом, сумматор, первый, второй, третий, (К+1)-ый блоки элементов И, элемент И, первый и второй ф элементы KIH, 2 ил, 1427366

Изобретение относится к автоматике и вычислительной технике и может быть использовано при разработке микропрограммируемых контроллеров распре5 делительных вычислительных систем и систем управления технологическими процессами.

Цель изобретения — расширение области применения модуля за счет организации смены микропрограмм и уменьшения числа выводов, На фиг. 1,2 представлена функциональная схема микропрограммного модуля. 15

Устройство (фиг. 1, 2) содержит блок 1 памяти микрокоманд, счетчик 2 адреса, регистр 3 микрокоманц, блок

4 ключей с тристабильным выходом, демультиплексор 5, сумматор 6, мультиплексор 7, триггер 8 пуска, генератор 9 тактовых импульсов,(k+1) блоков 10 элементов И (k — количество входов приема управления, прием информа ции с кот ор ых бл окир у ет с я), п ер вый 25

11.1, второй 11.2 и (n-k) 11.3 блоки элементов И (n †. количество входов приема управления), блок 12 элементов

ИЛИ, второй элемент ИЛИ 13, элемент

И 14, вход кода 1$ операций модуля, 30 первый 16.1-(n-1) — 16.п-1 входы приема управления модуля (от первого„ второго — (n-1) -ro микропрограммных модулей соответственно), вход 17 логических условий модуля, вход - выход 35

18 модуля, первый 19.1(n-1) — 19.п-1 выходы передачи управления модуля (и ер вому, второму — (п-1 ) -ому микропрограммным модулям соответственно), выход 20.1 поля микроопераций, выход 40

20.2 поля адреса модуля, выход 20.3 поля кода логических условий, выход

20.4 поля младших разрядов адресной части микрокоманд, ввод 20.5 поля старших разрядов адресной части микрокоманд, вход 21 режима модуля, вход

22 пуска модуля, вход 23 остановки модуля, первый элемент ИЛИ 24, первый 25.1 и второй 25,2 выходы генератора 9 тактовых импульсов.

Блок 1 памяти микрокоманд предназначен для хранения микрокоманд. В блоке 1 памяти микрокоманд каждая микрокоманда занимает одну ячейку.

Счетчик 2 адреса предназначен для за-55 писи и изменения адреса ячейки блока памяти при записи в блок 1 памяти микрокоманд "новой" микропрограммы.

Регистр 3 микрокоманд служит для записи и хранения микроолерационной части очередной считываемой микрокоманды. Блок ключей с тристабильным выходом служит для обеспечения нормальной работы двунаправленной шины 18 микроопераций модуля. Демультиплексор 5. (передачи управления) предназначен для коммутации адреса передачи управления на соответствующий микропрограммный модуль. Сумматор 6 предназначен для модификации младших разрядов адреса очередной микрокоманды.

Мультиплексор 7 предназначен для выделения значения логического условия, соответствующего заданному коду, поступающему с выхода 20.3 логических условий блока 1 памяти микрокоманц.

Триггер 8 пуска предназначен для запуска или остановки генератора 9 тактовых импульсов. Генератор 9 служит для выдачи двух серий тактовых импульсов. Блок 10 элементов И служит для блокировки входа счетчика. 2 адреса при считывании микрокоманды передачи управления, а также в режиме

"Настройка". Блоки 11. 1, 11. 2, 11.3 элементов И служат для блокировки входа счетчика 2 адреса при реализации режима "Настройка". Блок 12 элементов ИЛИ служит для передачи информации на вход регистра — счетчика 2 адреса. Элемент ИЛИ 13 служит для управления блоком 10 элементов И при считывании специальной микрокоманды передачи управления..Элемент И 14 предназначен для установки блока 1 памяти микрокоманд либо в режим записи информации, либо в режим считыванияе

Предлагаемый модуль имеет четыре режима работы и функционирует следующим образом. B исходном состоянии все элементы памяти находятся в нулевом состоянии ° Цепи установки исходного состояния условно не показаны. Для нормального функционирования блока 1 памяти на вход обращения V постоянно подается единичный потенциал.

Режим выполнения "собственных" микрокоманд. В этом режиме на входе 21 модуля "0". Таким образом счетчик 2 адреса находится в режиме записи информации. На вход 22,подается сигнал

"Пуск", триггер 8 разблокирует генератор 9 и первый синхроимпульс с выхода 25.1 поступает на синхровход счетчика 2. Адрес начальной микрокоманды поступает с входа 15 кода операции мо3 14273 дуля, пройдя через блок 12 элементов

ИЛИ. По заднему фронту этого имцульса он запишется в счетчик 2. Таким образом на адресный вход блока 1 памяти

5 поступает адрес считываемой микрокоманды и возбуждает соответствующую ей ячейку блока 1 памяти.

По первому тактовому импульсу с второго выхода 25.2 генератора 9 мик- 10 рооперационная часть считываемой микрокоманды записывается в регистр 3 микрокоманд и через открьггый блок

4.2 ключей поступает на выход модуля.

Если была считана линейная микрокоман- 5 да, то код логических условий равен нулю и на выходе мультиплексора 7 будет ноль. Поэтому адрес очередной микрокоманды без изменений через открытый блок 10 элементов И и блок 12 эле-20 ментов ИЛИ поступает на вход счетчика 2.

По второму тактовому импульсу с выхода 25.1 генератора 9 этот адрес записывается в счетчик 2. Далее мо- 25 дуль работает аналогично. Если была считана микрокоманда ветвления, то код логических условий с выхода 20.3 блока 1 памяти микрокоманд поступает на вход мультиплексора 7, на другой вход которого с входа 17 модуля поступают логические условия. В результате проверки логических условий на выходе мультиплексора 7 может появиться как "0", так и "1". В первом случае модуль работает аналогично вьппе описанному. Во втором случае "1" с выхода мультиплексора 7 поступает на вход сумматора 6, где и складывается с младшими разрядами адреса оче- 4О редной микрокоманды, поступающими с выхода 20.4. блока 1 памяти, модифицируя адрес следующей микрокоманды.

Модифицированный адрес через открытый блок 10 элементов И, блок 12

45 элементов ИЛИ поступает вновь на вход счетчика 2. Далее модуль работает аналогично.

Режим передачи управления. В этом режиме также на входе 21 модуля присутствует низкий потенциал, В этот режим модуль переходит при считывании специальной микрокоманды передачи управления. Так как такая команда содержит адрес модуля, которому передается управление, поступающего с выхода 20.2 блока 1 памяти на адресный вход демультиплексора 5, то на выходе элемента ИЛИ 13 появится

66 а

"1", которая закроет блок 10 элементов И, не допустив прохождение адреса передачи управления на вход счетчика 2. Адрес перецачи управления через демультиплексор 5 в соответствии со значением адреса модуля поступает на один из выходов 19. 1 — 19.п-1 модуля. Микрооперационная часть этой микрокоманды также как и у собственных" микрокоманд в первом режиме записывается в регистр 3 микрокоманд и через открытый блок 4 поступает на выход

18 микроопераций модуля. Если к этому моменту времени ни на входе 15 кода оггераций модуля ни на одном из входов 16.1 — 16 и-1 передачи управления нет адреса начальной микрокоманды очередной микропрограммы, то в счетчик 2 адреса записывается нулевой код

Это, в свою очередь, ведет к передачи записи в регистр 3 микрокоманд нулевой информации из ячейки блока 1 памяти микрокоманд с нулевым адресом, В таком состоянии модуль будет находиться до тех пор, пока на один из адресных входов его не поступит адр ес очер едной микрокоманды.

Режим приема управления. В этом режиме на входе 21 режима модуля присутствует низкий потенциал . Адрес начальной микрокоманды поступает от какого-либо микропрограммного модуля на соответствующий вход 16.1 - 16.п-1 приема управления модуля и, пройдя через блок 12 элементов ИЛИ, поступает на,информационный вход счетчика 2.

По первому же тактовому импульсу, поступившему с выхода 25 ° 1 генератора

9, он записывается в счетчик 2. Далее модуль работает аналогично режиму выполнения "собственных" микрокоманд.

Режим "настройки", На выходе 21 установки режима модуля появляется единичный потенциал, которым закрываются блоки 10, 11<111.3, элементов И, счетчик 2 переводится в режим счета, открывается элемент И 14, блокируется регистр 3 микрокоманд, блок 4 ключей с тристабильным выходом переводится в режим высокого сопротивления по выходу. B исходном состоянии триггер 8 находится в нулевом состоянии, счетчик 2 адреса также обнулен. По сигналу, пос- тупающему на вход 22 пуска, триггер

8 устанавливается в единичное состояние, разблокируя генератор 9 тактовых импульсов. По первому тактовому

5 14273

10 ка 1 памяти- микрокоманд с входов 16.1, 20

55 импульсу, поступающем-у с выхода 25. 1, генератора 9, содержимое счетчика 2 увеличивается на единицу. В это время на информационный вход блока 1 памяти микрокоманд поступает микрооперационная часть записываемой микрокоианды адресная часть, поле кода логических условий и разряды адреса модуля, которому передается управление, поступают на информационный вход бло16. 2, 16.3 приема управления (количество задействованных входов определяется отклонением количества разрядов адресной части, поля кода логических условий, разрядов адреса модуля, которому передается управление, и количества разрядов адреса иикрокоманды, причем в последней группе входов 16.3 приема управления могут быть задействованы не все входы) .

Таким образом, на информационном входе блока 1 памяти микрокоманд находится целая микрокоманда. По первому же тактовому импульсу, поступающему с выхода 25.2 генератора 9 через открытый элемент И 14 на вход управления записью в память, в соответствии с адресои, поступающим с выхода счетчика 2 на адресный вход блока 1 памяти, его иикрокоманда записывается в ячейку блока 1 памяти. По второму тактовому импульсу с выхода 25.1 генератора 9 содержимое счетчика 2 адреса вновь увеличивается на единицу, Иа информационный вход P блока 1 памяти микрокоманд подается очередная иикрокоманда и по второму импульсу с выхода 25.2 генератора 9 она записывается.в следующую ячейку блока 1 памяти микрокоманд. Далее в этом режиме модуль работает до тех пор, пока сигнал с выхода переполнения счетчика 2 не пройдет через элемент ИЛИ

24. В результате триггер 8 переходит в нулевое состояние, блокируя генератор 9. Остановка в любом режиме может быть осуществлена подачей сигнала

"Стоп" на вход 23 установки модуля.

Из приведенного выше алгоритма функционирования устройства в режиме 4

"настройки" видно, что оперативная смена информации в блоке 1 памяти микрокоманд осуществляется, начиная с первой ячейки (0...001), ведя общий счет ячеек с нулевой (00...000) .

Б нулевой ячейке блока 1 памяти должна быть всегда записана нулевая ин25

66 б

Формация, для того, чтобы после окончания работы в режиме выполнения

"собственных" микрокоманд и в режиме передачи управления на вход 23 модуля не подавать сигнал "Стоп", так как это привело бы к тому, что в регистре 3 микрокоманд осталась бы записанной последняя микрокоманда, считанная модулем, что ведет к занятости двунаправленной шины 18 входа-выхода микроопераций в случае, если на входе 21 режима присутствует нулевой потеницал.

Таким образом сущность изобретения состоит в расширении области применения путем организации динамической смены микропрограмм без увеличения числа выводов модуля.

В блоке памяти каждая микрокоманда занимает одну ячейку.

В блоке памяти размещаются как

"собственные" мнкрокоманды, т.е. микрокоманды микропрограмм, реализуемых данным модулем, так и специальные микрокоманды передачи управления. Последние содержат микрооперационную часть адрес (номер) модуля, которому передается управление". поле кода логических условий, в котором также как и у "собственных" линейных микрокоманд записаны нули, и адрес передачи управления, т,е. адрес начальной микрокоианды,в модуле, которому передается управление. У "собственных" микрокоманд в поле адреса модуля, которому передается управление, записаны нули, а в поле адреса передачи управления - косвенный адрес следующей

"собственной" иикрокоманды, состоящий из двух частей: старших и младших разрядов. Это условное разделение сделано в целях- уменьшения разрядности сумматора, так как на вход сумматора для модификации адреса заводятся не все разряды косвенного адреса, а только часть — младшие разряды. Это накладывает определенные условия на размещение микрокоманд в блоке памяти.

В иикрокомандах ветвления в поле кода логических условий задается но-мер проверяемого лorического. условия.

При ветвлении и в случае единичного значения, проверяемого логического условия происходит увеличение на единицу младших разрядов адреса, т.е. в . случае, когда значение младших раза рядов адреса меньше величины 2, где

7 14273 а — количество младших разрядов кос- венного адреса микрокоманды. Микрокоманды, следующие после микрокоман" ды ветвления, должны располагаться в соседних ячейках блока памяти. В слу5 чае же равенства младших разрядов адреса величине 2 при увеличении на единицу переноса единицы в следующий старший разряд не происходит, и таким образом значение младших разрядов адреса становится равным нулю.

Таким образом в этом случае одна из микрокоманд, следующих за ветвлением, размещается s соответствии с кос- 15 венным адресом микрокоманды ветвления„ а другая " в ячейке с адресом, у которого значение старших разрядов соответствует значению старших разрядов косвенного адреса микрокоманды 20 ветвления, а младшие разряды равны нулю.

Для обеспечения динамической смены (коррекции) микропрограмм осуществляется многофункциональное исполь 25 зование части выводов модуля, по которым в рабочем режиме циркулирует

"рабочая" информация, и в режиме записи — адреса и микрокоманды,"новой" микропрограммы.

Формула изобретения

Микропрограммный модуль, содержащий блок памяти микрокоманд, счетчик, регистр микрокоманд, демультиплексор, мультиплексор, триггер пуска, генератор тактовых импульсов, блок элементов ИЛИ, причем группа входов кода операций модуля соединена с первой группой входов блока элементов ИЛИ, выход которого соединен с информационным входом счетчика с (n-k)-го по (n-1)-ый, группа информационных вхо40 рых блокируется) вход пуска модуля соединен с единичным входом триггера пуска, выход которого соединен с входом запуска генератора тактовых импульсов, первый выход генератора так- б5 товых импульсов соединен с входом синхронизации счетчика, информациойный выход которого соединен с адресным входом блока памяти,микрокоманд, дов модуля соединены соответственно 45 с второй по (n-к-1)-ый группами входов блока элементов ИЛИ (где и — количество групп входов приема управления, k - количество входов приема управления, прием информации от кото- 50

66 вход логических условии модуля соединен с информационным входом м льтиплексора, отличающийся тем, что, с целью расширения области применения за счет организации смены микропрограмм и уменьшения числа выводов модуля, он дополнительно содержит блок ключей с тристабильным выходом, (k+1) блоков элементов И, элемент И, первый и второй элементы ИЛИ, сумматор, причем вход задания режима модуля соединен с входом с первого по (и+1)-ый блоков элементов И, с первьм входом элемента-И, с входом задания режима работы счетчика„ с входом разрешения записи регистра микрокоманд, с входом управления блока ключей с тристабильным выходом, со стробирующим входом демультиплексора, выход поля адреса модуля блока памяти микрокоманд соединен с адресным входом демультиплексора и с входом второго элемента

ИЛИ, выход которого соединен с вторым входом (k+1)-ого блока элементов И, с первого по.k-ый входы приема управления модуля соединены с первой груп пой информационных входов блока памяти микрокоманд и с группой входов с первого по k блоков элементов И соответственно, выходы которых соединены-соответственно с (n-k) îé по и-ую группами входов блока элементов

ИЛИ, вход останова модуля соединен с первым входом первого элемента ИЛИ, выход которого соединен с входом установки в "О" триггера пуска, второй выход генератора тактовых импульсов соединен с вторым входом элемента И и с входом синхронизации регистра микрокоманд, выход которого соединен с информационным входом блока ключей с тристабильным выходом, выход которого соединен с информационным входомвыходом модуля и входами второй группы информационных входов блока памяти микрокоманд, выход поля микроопераций блока памяти микрокоманд соединен с информационным входом регистра микрокоманд, выход поля кода логических условий блока памяти микрокоманд соединен с адресным входом мультиплексора, выходы мультиплексора и поля младших разрядов адреса блока памяти микрокоманд соединены соответственно с первым и вторым входами сумматора, выход которого объединен с выходом поля старших разрядов адреса блока па9 1427366 1О мяти микрокоманд и подключен к осталь- с (и+1)-ой группой входов блока эленым входм (n+1)-oro блока элементов ментов ИЛИ, выход элемента И котороИ и с информационным входом демульти- го соединен с входом разрешения эаплексора, с первой по (и-1)-ую груп- писи блока памяти микрокоманд, выход пы выходов которого являются выхода- переполнения счетчика соединен с ми передачи управления модуля, выход вторым входом первого элемента ИЛИ. (k+1)-ого блока элементов И соединен 1427366

181

192

Фиг.2

Составитель А.Сошкин

Редактор M.Òîâòèí Техред Jl. Сердюкова Корректор А.Обручар

Заказ 4853/45 Тираж 704 Подписное

ВНИИПИ Государственного комитета СССР по делам изобретений и открытий

113035, Москва, Ж-35, Раушская наб., д. 4/5

Производственно-полиграфическое предприятие, г. Ужгород, ул. Проектная, 4

Микропрограммный модуль Микропрограммный модуль Микропрограммный модуль Микропрограммный модуль Микропрограммный модуль Микропрограммный модуль Микропрограммный модуль 

 

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

Изобретение относится к области вычислительной техники и может быть использовано при построении устройств управления универсальных вычислительных машин и микропроцессоров

Изобретение относится к автоматике и вычислительной технике и может быть использовано в устройствах управления технологическим оборудоваг нием

Изобретение относится к вычислительной технике и автоматике и может использоваться при построении управляющих автоматов микропрограммных микропроцессоров

Изобретение относится к вычислительной технике и может быть применено в центральных процессорах в качестве управляющего блока

Изобретение относится к области вычислительной техники и может быть использовано в цифровых вычислительных системах

Изобретение относится к вычислительной технике и может быть использовано в вычислительных устройствах и системах

Изобретение относится к цифровой автоматике и вычислительной технике и может быть использовано для прст1)оения микропрограммных управляюпщх устройств ЭВМ и контроллеров АСУ ТП

Изобретение относится к вычисли- .тельной технике, в частности к микропрограммным устройствам управления, и может быть использовано для построения программируемых устройств управления

Изобретение относится к области цифровой вычислительной техники, применяется при построении алгоритмически распределенных устройств (систем) микропрограммного управления вычислительных и управляющих систем высокой производительности

Изобретение относится к автоматике и вычислительной технике

Изобретение относится к автоматике и вычислительной технике

Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении алгоритмически распределенных устройств микропрограммного управления вычислительных и управляющих систем высокой производительности, реализующих параллельные алгоритмы обработки информации

Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении распределенных систем программного управления, а также подсистем логического управления многоуровневых АСУ

Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении систем управления технологическими процессами

Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении систем управления технологическими процессами

Изобретение относится к автоматике и цифровой вычислительной технике и может найти применение при построении управляющих и вычислительных систем высокой производительности, а также подсистем логического управления многоуровневых иерархических автоматизированных систем управления

Изобретение относится к автоматике и цифровой вычислительной технике и может быть использовано при построении алгоритмически распределенных устройств микропрограммного управления вычислительных и управляющих систем высокой производительности, проектируемых на базе однотипных БИС (СБИС) и реализующих параллельные алгоритмы обработки информации

Изобретение относится к автоматике и вычислительной технике, предназначено для выполнения требуемых функций программного управления с автоматическим перезапуском при «зависании» прикладной программы и автоматическим переходом в режим сохранения оперативной информации с помощью резервного источника напряжения питания при отключении или аварии основного источника напряжения питания и может быть использовано, например, в качестве ядра микроконтроллерной или микропроцессорной системы (М-системы) обработки информации и управления в реальном времени с поддержкой режима аппаратного сторожевого таймера для перезапуска при «зависании» прикладной программы М-системы, проектируемой с учетом следующих основных принципов [1]: программного управления, магистрального обмена информацией, модульного построения и наращивания вычислительной мощности
Наверх