Микропрограммное устройство управления

 

Союз Советскин

Социапистическин

Респубпик

ОП ИСАНИЕ

ИЗОБРЕТЕН ИЯ

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

<и 920726 (6l ) Дополнительное х авт. свид-ву (22)Заявлено 2 1 05.80 (21) 2<27562/18-24 с присоединением заявки М (23) Приоритет (5! )М. Кл.

G 06 F 9/Л2 (ЪсуддрственныВ квинтет

СССР дв делам нзабретеннй н открытий (53) УДК 681. 325 (088. 8) Опубликовано 15.04.82, Бюллетень М 14

Дата опубликования описания 15.04.82

В. С. Харченко, В.И. Сидоренко, Г.Н.Тимонькин и С.H.Têà÷åíêo (72) Авторы изобретения

TEXHЬ:.,1«:Г-

53Cy qg (71) Заявитель (54) МИКРОПРОГРАММНОЕ УСТРОЙСТВО УПРАВЛЕНИЯ изобретение относится к цифровой вычислительной технике и может быть использовано в качестве микропрограммного устройства управления, а также для решения оптимизационных задач при разработке микропрограм5 много обеспечения вычислительных и управляющих систем.

Известно уст ройство микропрограм" многб управления, содержащее два блока памяти, буферный и адресный регистры, счетчики адреса и микрокоманд, два дешифратора, генератор тактовых импульсов, два блока элементов И, четыре элемента И (1j.

Недостат ком указанного устройства является низкая функциональная возможность.

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

Цель изобретения - сс кращение оборудования.

Поставленная цель достигается тем, что микропрограммное устрой" ство управления, содержащее после920726 дова1ельно соединенные регистр адреса, первый дешифра1ор и первый блок памяти, выход первого адресного поля которого соединен с первым входом шифратора, первый вход регистра адреса является входом кода операции устройства, первый блок элементов И, выход которого через первый буферный регистр соединен с первым входом второго блока элементов И, счетчик адреса, выходом соединенный с первым входом вт орого дешифратора, счет чик микрокоманд, выходом соединенный с первым входом первого элемента И, второй блок памяти, выходом соединенный с выходом регистра микрокоманд, генератор так товых импульсов, вт орой буферный регистр, второй, третий и чет вертый элементы И, дополнительно содержит первый и второй информационные регистры, регистр микрокоманд, блок анализа разности, три узла сравнения третий дешифратор, триггер режима, третий - седьмой блоки элементов И, первый - четвертый блоки элементов ИЛИ, пятый элемент И, первый четвертый элементы ИЛИ, элемент

ИЛИ-И, причем выход микроопераций регистра микрокоманд соединен с первым входом первого узла сравнения и является выходом микроопераций устройства, выход логических условий регистра микрокоманд соединен с первым входом третьего дешифра1ора, второй вход которого соединен с выходом второго адресного поля первого блока памяти, второй вход третьего дешифратора соединен с нулевым выходом триггера режима, единичный вход которого является информационным входом устройства, а единичный выход триггера режима соединен со вторым входом шифратора, выход которого соединен со вfopblM входом регистра адреса, выход третьего дешифратора соединен с первым входом первого блока элеменfoB ИЛИ, второй вход которого соединен с выходом вт орого дешифратора, а выход первого блока элементов ИЛИ вЂ” с адресным входом второго блока памяти, информационный вход которого соединен с выходом второго блока элементов ИЛИ, первый — тре1ий входы которого соединены соответст венно с выходами третьего — пятого блоков элементов И, первый вход третьего блока

15 и

ЗО

55 элементов И соединен со вторым входом первого узла сравнения и с выходом микрокоманд первого информационного регистра, вход которого является.информационным входом устройства, выход метки начала первого информационного регистра соединен с первым входом второго элемента И, второй вход ко1орого соединен с первым выходом второго узла сравнения, а вы;ход второго элемента И вЂ” с первым входом первого элемента ИЛИ, выход

Ko1opoIo соединен с первым входом первого блока элементов И, второй вход которого соединен с выходом счетчика адреса, первыми входами второго узла сравнения, блока анализа разности и шестого блока элементов И, выход через второй буферный регистр соединен с первым входом седьмого блока элементов И, второй вход которого соединен с выходом второго элемента ИЛИ, а выход седьмого блока элементов И вЂ” с первым входом третьего блока элементов ИЛИ, второй вход которого является информационным входом устройства, третий вход третьего блока элементов ИЛИ соединен с первым выходор блока анализа разности, а четвертый выход третьего блока элементов ИЛИ соединен с выходом второго блока элементов И,. первый вход которого соединен со вторым входом второго узла сравнения, второй вход которого соединен со вторым входом первого элемента И, выход которого соединен с первым входом третьего элемента ИЛИ, выход третьего блока элементов ИЛИ соединен с информационным входом счетчика адреса, счетный вход которого соединен с выходом элемента

ИЛИ-И, первый вход котороro соединен со вторым входом третьего элемента ИЛИ, второй вход элемента

ИЛИ-И вЂ” с первым входом четвертого элемента ИЛИ, первый вход чет вертого блока элементов И соединен с выходом микрокоманд второго информационного регистра, вход которого являеfcH информационным входсм устройства, выход ме ки конца второго информационного регистра соединен с инверсными входами четвертого блока элементов И и четвертого элемента ИЛИ, а также с первым входом второго и вторым входом первого элементов ИЛИ, выход метки начала в1о1о

20 зо

55

5 92 рого информационного регистра соеди" нен со вторым входом шестого блока элементов И, первый вход генератора тактовых импульсов соединен с первым входом третьего элемента И, выход которого соединен со входом считывания второго блока памяти, вход за" писи соединен с выходом четвертого элемента И, первый вход которого соединен со вторым входом генератора тактовых импульсов, а второй вход четвертого элемента И соединен с выходом третьего элемента ИЛИ, информационный вход устройст ва соединен с первым входом третьего узла сравнения, второй вход которого соединен с выходом счетчика микрокоманд, счетный вход которого соединен с выходом первого узла сравнения и вторым входом блока анализа разности, а выход третьего узла сравнения - с инверсным входом элемента ИЛИ-И и первым входом пятого элемента И, второй вход которого соеди" нен со вторым выходом блока анализа разности, а выход пятого элемента И с первым входом пятого блока элементов И и первым управляющим входом второго.дешифратора, второй упI равляющий вход которого соединен с выходом четвертого элемента ИЛИ, третий выход генератора тактовых импульсов соединен с управляющим входом первого дешифратора, соответствующие входы группы входов шифратора соединены со вторыми и третьими выходами первого и второго информационных регистров, выходами перро"

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

0 726

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

ИнФормация в устройстве хранится в двух блоках памяти.

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

На фиг.l приведена функциональная схема устройства; на Фиг.2функциональная схема блока анализа разности.

Функциональная схема устройства (фиг.l) содержит первый информационный регистр 1 с полями микрокоманд 2, метки конца 3, метки начала 4, второй информационный регистр 5 с поля" ми микрокоманд 6, метки конца 7, метки начала 8, третий - пятый бло" ки элементов И 9 - ll соответствен" но, второй 12 и первый 13 блоки элементов ИЛИ, третий элемент И 14, второй блок памяти 15, регистр .16. микрокоманд с полями микроопера" ций 17 и логических условий 18, пер" вый узел сравнения 19, счетчик 20 микрокоманд, третий узел cpaexe" ния 21; блок анализа разности 22, пятый элемент И 23, регистр адреса 24, первый дешифратор 25, первый блок памяти 26 с первым адресным

7 92 полем 27, полем 28 микроопераций и вторым адресным полем 29, шифратор 30, генератор 31 тактовых импульсов, триггер 32 режима, третий дешифратор 33, т ретий элемент ИЛИ 34, четвертый элемент И 35, третий блок элементов ИЛИ 36, элемент ИЛИ-И 37, счетчик 38 адреса, второй дешифратор 39, четвертый элемент ИЛИ 40, первый элемент ИЛИ 41, первый блок элементов И 42, первый буферный регистр 43, второй блок элементов И 44> второй узел сравнения 45, второй элемент И 46, шестой блок элементов И 47, второй буферный регистр 48, второй элемент ИЛИ 49, седьмой блок элементов И 50, первый элемент И 51. Кроме того, обозначены первый и второй информационные входы 52 и 53 устройства соответственно, входы импульсов считывания и записи 54 и 55 устройства соответственно, выход микроопераций 56 устройства, вход 57 задания глубины оптимизации устройства, вход 58 кода операции устройства, вход 59 задания- режима работы устройства, вход 60 начального адреса устройства, второй и третий выходы 61 - 64 первого и второго информационных регистров соответственно, выходы 65 - 67 первого, четвертого и третьего узлов сравнения соответственно> выход 68 пятого элемента И, выход 69 первого элемента И, выходы 70 — 81 поля микроопераций первого блока памяти. Блок анализа разности 22 (фиг.2) состоит из блока элементов И 82, буферного регистра 83, комбинационного сумматора 84, узла сравнения 85, блока элементов И 86, элемента И 87 и блока элементов И 88, Микропрограммное устройство управления работает в двух режимах - режиме моделирования и оптимизации (первый режим) и режиме управления (второй режим). Первому режиму соответствует единичное, а второму - нулевое состояние три ггера 32. В первом режиме регистр 24, дешифратор 25, блок памяти 26 и шифратор 30 выполняют функцию IIJec1of устройст ва управления, которое формирует сигналы микроопераций на выходах 70 " 80 поля 28 блока памяти 26 в соответствии с адресами, передаваемыми в регистр 24 шифратором 30. Синхронизация считывания информации осуществляется по импуль0 726 8

5 !

15 го г5

55 сам генератора 31, Адрес очередной управляющей микрокоманды синтезируется в зависимости о! информации, записанной в первом адресном поле 27, и значений логических условий, поступающих на входы 61 - 69 шифратора 30. Логические условия формируются на выходах различных узлов устройства (регистров 1 и 5, узлов сравнения 19 и 21, блока анализа разности 22, элементов И 23 и г51}, с целью организации ветвлений в последовательностях управляющих микрокоманд.

Сигналы Kl (Нl } и К2 (Н2) на выходах 63 (64) и 61 (62) регистроь и 1 соответственно равны единице ь последних (первый} микрокомандах первой и второй, а также последующих микропрограмм.

Во втором блоке памяти 15 хранятся последовательности операционных микрокоманд, считываемых в регистр

16. Информация записывается в блок памяти 15 из регистров 5 (первая микропрограмма), 1 (вторая и последующие), блоки элементов И 9 и 10 и блок элементов ИЛИ !2, Кроме того, через блок элементов И 11 осуществляется запись значений внутренних логических условий - идентификаторов, определяющих переход к выполнению требуемой линейной последовательности. Адрес, по которому производится запись или считывание информации, формируется дешифраторами 39 и 33„ через блок элементов ИЛИ 13. В первом режиме ацоес формируется дешифратором 39 в соответствии с кодом, записанным в счетчике 38, по сигналам управления, поступающим через элемент ИЛИ 40.

Исходное состояние счетчика 38 устанавливается через блок элементов ИЛИ 36 по коду на входе задания начального адреса 60 или по кодам, записанным в буферных регистрах 43 и 48. Содержимое счетчика увеличивается по си гналам микроопераций на выходах 70 и 71 поля 28 блока памяти 26, этими си гналами также разрешается соот ве > ст венно считывание и запись информации в блок памяти 15 по импульсам на входах 54 и 55, поступающим на эле>лен ы И 35 и

14. Управляющий сигнал, по ко>орому формируется адрес дешифратором 39, поступает через элемент ИЛИ 40. Первый буферный регистр 43 пред>означен

9

9207 для хранения конечного адреса, по которому записана последняя микро команда в блок памяти 15. Эапись ко" да в регистр 43 производится иэ счетчика 38 через блок элементов И 42 по сигналам, формируемым элементом ИЛИ

41. Содержимое регистра 43 переписывается в счетчик 38 через блок элементов И 44, управляемый сигналом на выходе 79 поля микроопераций 28 бло- lo ка памяти 26. Второй буферный регистр

48 используется для хранения начального адреса, по которому записана первая микрокоманда первой микропрограммы. Запись кода адреса в регистр 48 иэ счетчика 38 осуществляется через блок элементов И 47 по сигналу начала первой микропрограммы на выходе 64 регистра 5 Н 1=1. Перезапись содержимого регистра 48 в i счет чик 38 производится через блок элементов И 50 по сигналу, формируемому элементом ИЛИ 49 после прихода сигнала с выхода 63 регистра 5, свидетельствующего об окончании записи д первой микропрограммы (К 1=1), или сигнала с выхода 76 поля микроопераций 28 блока памяти 26.

Первый узел сравнения 19 предназначен для сравнения макрокоманд, 30 поступающих в регистр l и считываемых из блока памяти 15 в регистр 16.

Узел, сравнения 19 по сигналу микрооперации на выходе 77 поля 28 блока памяти 26 формирует сигнал S, причем

1, если (КС1) = jRG16)<>, " О, если (RGl)g= tRG16),11 где jRGi ) - содержимое j-того поля

i-того регистра. Счетчик микрокоманд

20 осуществляет подсчет числа совпа- 40 дающих команд и хранит код длины повторякщейся последовательности.

Второй узел сравнения 45 производит сравнение содержимого регистра

43 и счетчика 38. Сигналы Ч и + на первом и втором выходах узла сравне" ния 43 определяются следующим образом:

11, если (RG43) > (СТ38); (0, если iRG43) (СТ38).

1, если (Р043) СТ38)1

О, если (RG43) 6 (CT38).

Элемент И 46 при т =1 и К2=1 разрешает перезапись в регистр 43 содержимого счетчика 38 °

Элемент И 51 при 9 =l и нулевом состоянии счетчика 20 формирует сигнал, разрешающий прохождение че2

10 рез элемент И 35 импульса записи информации в блок памяти 15. Кроме того, разрешающий сигнал может посту" пить с выхода 70 гюля микроопераций 28 через элемент ИЛИ 34.

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

1, если fCT21) 7 пт

О, если СТ21) < ni ;

Блок анализа разности 22 исполь- зуется для получения сигнала б", on" ределяемого следующим образом:

f 1, если (СТ38)- (CT20) /cons t; О,если (CT38)- (CT20) const.

Элемент И 87 (фиг.3 предназначен для контроля нулевого состояния счет" чика микрокоманд 20. Блок элементов

И 82 (86) управляет подачей кода счетчика 38 (20) в регистр 83 (сумматор 84), Регистр 83 осуществляет хранение кода счетчика 38, соответствующего нулевому состоянию счетчика 20.

Сумматора 84 определяет разность ко" дов, записанных в счетчиках 38 и 20.

Узел сравнения 85 производит сравнение начального кода, записанного е счетчике 38 при нулевом состоянии счетчика 20 (т.е, начальной разности

3 СТ381 - СТ20) при (СТ20) 0) с кодом текущей разности состояний этих счетчиков. Блок элементов И 88 предназначен для управления передачей в счетчик 38 кода разности СТ38) " (СТ20), который представляет собой код адреса первой повто- .> ряющейся микрокоманды. Это позволяет затем продолжить дальнейший ана" лиз с адреса начала повторения и указать в микрокоманде, предшествующей повторяющемуся участку требуемой длины, адрес безусловного перехода к соответствующему участку, ранее записанному в блоке памяти 15.

Сигналом у d r на выходе 68 элемента И 23 разрешается запись внутреннего логического условияидентификатора по сигналу на выходе 74 блока памяти 26, через блок элементов 11 и блок элементов ИЛИ 12 в блок памяти 15.

Микропрограммное устройство функционирует следующим образом.

Первый режим работы, которому со" ответствует единичное состояние

0726 l2

ll 92 триггера 32, делится на три микрорежима: запись первой микропрограммы в блок памяти 15; сравнение микрокоманд второй и последующих мик" ропрограмм с микрокомандами, записанными в блоке памяти 15; анализ длины повторяющегося участка и запись внутренних логических условийидентифи кат оров, В первом, микрорежиме в счетчик 38 адреса через блок элементов ИЛИ 36 со входа 60 записывается начальный адрес первой микропрограммы. После записи в регистр 5 первой микрокоманды по сигналу Hl=l этот адрес через блок элементов И 47 переписывается в регистр 48. Содержимое поля 6 регистра 5 через открытый блок элементов И 10 и блок элементов ИЛИ

12 на информационный вход блока памяти 15, на его адресный вход через блок элементов ИЛИ 13 подается адрес с выхода дешифратора 39, на управляющий вход которого поступает единичный сигнал с выхода элемента ИЛИ 40.

Одновременно по начальному адресу в регистре 24 тактовым импульсом генератора 31 из блока памяти

26 считывается первая управляющая ми крокоманда и сигнал ми крооперации с выхода 70 поля 28 поступает через элемент ИЛИ 34 на элемент И 35, разрешая прохождение импульса со входа 54 на вход записи блока памяти 15„ В результате в блок памяти записывается первая микрокоманда, а содержимое счетчика 38 адреса увеличивается на единицу по сигналу с выхода 70., йроходящему через элемент ИЛИ-И 37. Затем по адресу, сформированному шифратором 30, из блока памяти 26 считывается следующая управляющая микрокоманда. В результате этого, очередная микрокоманда из поля 6 регистра 5 записывается s блок памяти 15 по адресу, поступающему с выхода дешифратора 39 °

После записи в регистр 5 послед" ней микрокоманды первой микропрограммы на выходе 63 появляется сигн ал K l = l по которому в регистр 43 через блок элементов И 42 записывается содержимое счетчика 38, а содержимое регистра 48 через блок элементов И 50 и блок элементов ИЛИ

36 передается в счетчик 38. После

Зо

55 этого устройство переходит во второй микрорежим.

В начале второго микрорежима на вход 52 регистра 1 поступает первая микрокоманда второй или последующей) микрокоманды. На выходе 62 появляется сигнал Н2 = 1, с учетом которого из блока памяти 26 считывается очередная управляющая микрокоманда. Сигналом с выхода 71 разрешается прохождение импульса считывания со входа 55 через элемент

И 14. Из блока памяти 15 по начальному адресу, записанному в счетчике 38, в регистр 16 считывается пер-вая микрокоманда первой микропрограммы. По сигналу с выхода 77 узел сравнения 19 сравнивает содержимое полей 2 и 17 регистров 1 и 16 соответственно. Если при этом ь" = О, то содержимое счетчика 20 не изменяется, и после считывания очередной управляющей микрокоманды из блока памяти 26 вновь формируется сигнал выходе 71. По этому сигналу из бло" ка памяти 15 считывается следующая микрокоманда первой микропрограммы, которая вновь сравнивается с микро- командой, хранимой в регистре 1.

Если 5 = 0 для всех микрокоманд, записанных в блоке памяти 15, то после того, как коды регистра 43 и счетчика 38 окажутся равными, на выходе узла сравнения 45 появится сигнал М = l. Этот сигнал проходит через элемент И 51, элемент ИЛИ 34 и открывает элемент И 35, В результате содержимое поля 2 регистра 1 через блок элементов И 9, открытый сигналом микрооперации с выхода 73, и блок элементов ИЛИ 12 поступает на информационный вход блока памяти 15. Затем осуществляется запись этой информации по адресу, хранимону в счетчике 38. Этот адрес на единицу превосходит адрес последней записанной микрокоманды. Таким образом, если микрокоманда, поступающая в регистр 1, не совпадает ни с одной микрокомандой, записанных в блоке памяти 15, то она записывается в этот блок по адресу, следующему за адресом последней записанной микрокоманды. Если после поступления одной из очередных микрокоманд в регистр 1 и считывания из блока памяти 15 микрокоманды в регистр 16 на выходе узла сравнения 19 появляется сигнал 5 = 1, то

l3 9 по этому сигналу увеличивается содержимое счетчика 20 и осуществляется модификация адреса очередной управляющей микрокоманды шифратором 30. Сигналом микрооперации с выхода 71 поля 28 блока памяти 26 разрешается считывание следующей микрокоманды из блока памяти 15.

Если в результате сравнения этой микрокоманды с микрокомандой, поступившей в регистр 1, вновь окажется, что Я = 1, то работа устройства продолжается далее аналогично описанному.

Если после очередного сравнения окажется,.что 5 = О, то устройство переходит в микрорежим анализа повторяющегося участЯ и записи внутренних логических условий идентификаторов.

Блок анализа 22 (фиг.2) отслеживает разность содержимого счетчиков 38 и 20 и работает следующим образом.

В исходном состоянии {перед на" чалом совпадения микрокоманд в регистрах 1 и 16) счетчик 20 находится в нулевом состоянии и сигналом на выходе элемента И 87 в регистр 83 через блок элементов И 82 записано содержимое счетчика 38. После появления сигнала 5 = 1 счетчик 20 выходит из нулевого состояния, блок элементов И 82 закрывается, а блок элементов И 86 открывается. По мере того,.как в регистры 1 и 16 поступают одинаковые микрокоманды, содержимое счетчиков 20 и 38 одновременно увеличивается и разность (СТ381 - (CT20j остается постоянной. При этом коды на выходах сумматора 84 и регистра 83 совпадают и сигнал Ф на выходе узла сравнения 85 и блока анализа разности 22 отсутствует .

Как только происходит несовпаде" ние микрокоманд, разность (СТ383 (CT20) не будет равна начальному коду счетчика 38, записанному в ре" гистр 83, и узел сравнения 85 по сигналу микрооперации. на .третьем входе 80 блока 22 формирует сигнал б = 1 на его втором выходе. С учетом этого сигнала формируется ад" рес следующей управляющей микрокоманды и после его считывания из блока 26 сигналом микрооперации на выходе 78 опрашивается узел сравнения 21.

20726

55 щей микрокоманды, которая будет считана из блока памяти 26. Ilo сигналу микрооперации 81 из сумматора 84 через блок элементов И 88 блока анализа разности 22 (фиг.2) и блока элементов ИЛИ 36 в счетчик 38 поступит код адреса начальной микрокоманды повторяющегося участка. Затем, в блок памяти 15 по этому адресу бу- дет записана указанная микрокоманда и устройство перейдет к анализу следующей за ней микрокоманды в соответствии с описанным алгоритмом.

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

14

Если содержимое счетчика 20, представляющее собой длину повторяю" щегося участка, больше или равно требуемой длины n ", код которой

5 поступает на вход 57, то на выходе узла сравнения 21 сформируется сигнал г = 1. По этому сигналу осуществляется запрет подачи импульсов на счетный вход счетчика 38 через элемент ИЛ 1-И 37, а элемент И 32 г формирует сигнал = Ф„г, Сигнал поступает на вход блока элементов И 11 и первый управляющий вход дешифратора 39. В результате дешифратор 39 формирует адрес no" следней считанной в регистр 16 повторяющейся микрокоманды, а через, блок элементов И 11 и блок элементов ИЛИ 12 на информационный вход блока памяти 15 поступит метка внутреннего логического условия идентификатора, По сигналу микрооперации на выходе 70 через элемент И 35 пройдет импульс записи и в поле логических условий микрокоманды, соответствующей окончению повторяющегося линейного участка, запишется логи" ческое условие, по которому будет осуществлен переход к требуемой мик" ро ко ма нд е

Далее на вход 52 поступает очередная микрокоманда и процесс оптимизации повторяется в соответствии с описанными выше микрорежимами.

Если длина повторяющегося участ35 ка окажется меньше требуемой длины п, то по сигналу микрооперации с выхода 78 поля 28 блока памяти 26 на выходе узла сравнения 21 сфор40 мируется сигнал г=0. Тогда с учатом этого сигнала шифратор 30 синтезирует адрес очередной управляю15 92

72 и 79 поля 28 блока памяти 26 осуществляется обнуление счетчиков 20 и 38, а из регистра 42 через блок элементов И 44 и блок элементов ИЛИ

36 в счетчик 38 записывается код адреса из буферного регистра 43.

8 последней микрокоманде второй (или последующей) микрокоманды в поле 3 регистра l содержится метка конца К2=1, которая поступает на вход элемента И 46. После окончания анализа Этой микрокоманды, когда содержимое счетчика превзойдет содержимое регистра 43, узел сравl нения 45 сформирует си гнал которым в регистр 43 через блок элементов И 42 перепишется код счетчика 38, который является кодом адреса, следующим эа последней записанной микрокомандной, и указывает границу записанной в блоке памяти 15 информации.

8 целях сокращения объема информации, записанной во второй блок памяти 15, глубину оптимизации может изменяться путем задания на входе 57 различных значений длины повторяющихся участков n . КритеrÐ рием оценки при этом является величина кода, хранимого в регистре 43 и указывающего границу записанной информации.

После окончания моделирования и оптимизации микропрограмм устройство переходит во второй режим - режим управления, которому соответствует нулевое состояние триггера режима 32. Начальный адрес задается кодом операции, поступающим на вход 58. Работа шифратора 30 блокируется, а адрес очередной микроко манды формируется дешифратором 33 в соответствии с содержимым адресного поля 29 блока памяти 26 и no"" ля логических условий 18 регистра 16. Если в поле 18 записаны метки логических условий — идентификаторов, то дешифратор 33 формирует адрес перехода к микрокоманде, сле, дующей эа повторяющимся участком.

Если поле 18 свободно, то адрес формируется по коду, записанному в поле 29 блока памяти 26. Во втором режиме из блока памяти 15 осуществляется только считывание информации, поэтому на вход 71 элемента И 14 поступают сигналы микроопераций, разрешающие прохождение импульсов считывания со входа 55 устройства.

0726 16

ЗО

35 о

Если в процессе эксплуатации устройства или управляемого им объекта возникает необходимость дополнить или изменить хранимые в блоке памяти 15 микропрограммы, то осущест вляется переход в режим моделирования и оптимизации, в котором оптимизируется модифицированный набор микропрограмм с целью повышения ко" эффициента использования оборудования и снижения времени выполнения микропрограмм.

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

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

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

15 го

35

50

17 выход логических условий регистра микрокоманд соединен с первым входом третьего дешифратора, второй

S вход которого соединен с выходом второго адресного поля первого блока памяти, второй вход третье го де. шифратора соединен с нулевым выходом три ггера режима, единичный вход которого является информационным входом устройства, единичный выход триггера режима соединен со вторым входом шифратора, выход которого соединен со вторым входом регистра адреса, выход третьего дешифратора соединен с первым входом первого блока элементов ИЛИ, второй вход которого соединен с выходом второго дешифратора, а выхсф первого блока элементов ИЛИ - с адресным входом второго блока памяти, информационный вход которого соединен с выходом второго блока элементов ИЛИ, первый — третий входы которого соединены соответственно с выходами третьего - пятого блоков элементов И, первый вход третьего блока элементов И соединен со вторым входом первого узла сравнения и выходом микрокоманд первого информационного регистра, вход которого являет" ся информационным входом устройства, выход мет ки начала первого информационного регистра соединен с первым входом второго элемента И, второй вход которого соединен с первым выходом второго узла сравнения, выход второго элемента И - с первым входом первого элемента ИЛИ, выход которого соединен с первым входом первого блока элементов И, второй вход которого соединен с выходом счетчика адреса> первыми входами второго узла сравнения, блока анализа разнос" ти и шестого блока элементов И, выход которого через второй буферный регистр соединен с первым входом седьмого блока элементов И, второй вход которого соединен с выходом второго элемента ИЛИ, а выход седьмого блока элементов И - с первым входом третьего блока элементов ИЛИ, второй вход которого является информационным входом устройства, третий вход третьего блока элементов ИЛИ соединен с первым выходом блока анализа разности, четвертый выход третьего блока элементов ИЛИ соединен с выходом второго блока элементов И, первый вход

726 18 которого соединен с вторым входом второго узла сравнения, второй вы" ход которого соединен со в1орым входом первого элемента И, выход которого соединен с первым входом т рет ье ro зле ме нт а ИЛИ, выход третьего блока элементов ИЛИ соединен с информационным входом счетчика адреса, счетный вход которого соединен с выходом элемента ИЛИ-И, первый вход которого соединен со вторым входом третьего элемента ИЛИ, второй вход элемента ИЛИ-И " с первым входом четвертого элемента ИЛИ, первый вход четвертого блока элементов И соединен с выходом микрокоманд второго информационного регистра, вход которого является информационным входом устройства, вы" ход метки конца второго информационного регистра соединен с инверсными входами четвертого блока элементов И и четвертого элемента ИЛИ, а также с первым входом второго и вторым входом первого элементов ИЛИ, выход метки начала второго информационного регистра соединен со вторым входом шестого блока элементов И, первый вход генератора тактовых импульсов соединен с первым входом третьего элемента И, выход которого соединен со входом считывания второго блока памяти, вход записи которого соединен с выходом четвертого элемента И, первый вход которого соединен со вторым входом генератора тактовых импульсов, а второй вход четвертого элемента И соединен с выходом третьего элемента ИЛИ, информационный вход устройства соеди" нен с первым входом третьего узла сравнения, второй вход которого. сое, динен с выходом счетчика микрокоманд, счетный вход которого соединен с выходом первого узла сравнения и вто" рым входом блока анализа разности, а выход третьего узла сравнения - с инверсным входом элемента ИЛИ-И и первым входом пятого элемента И, второй вход которого соединен со вторым выходом блока анализа разности, а выход пятого элемента И - с первым входом пятого блока элементов И и пе рвым управляющим входом второго дешифратора, второй управляющий вход которого соединен с выходом четвертого элемента ИЛИ, тертий выход генератора тактовых импульсов соединен с управляющим входом первого дешиф19 ратора, соответствующие входы группы входов шифратора соединены со вторыми и третьими выходами первого и второго информационных регистров, выходами первого и третьего узлов сравнения, вторым выходом блока анализа разности, выходами первого и пятого элементов И, третий вход первого узла сравнения; третий вход третьего узла сравнения, третий и четвертый входы блока анализа разности, установленныевходы счетчика адреса и счетчика микрокоманд, второй вход второго элемента ИЛИ, третий вход, первого элемента ИЛИ, первый и второй входы первой группы входов элемента ИЛИ-И, второй вход второго блока элементов И, второй вход третьего блока элементов И и второй вход пятого блока элементов И соединены с соответствующими выходами поля микроопераций первого блока памяти.

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

0726 20 с прямым входом первого блока элементов И, с входами элемента И, выход которого соединен с инверсным входом первого и первым входом второго блока элементов И,второй вход которого соединен с первым входом сумматора и вторым входом блока, выход второго блока элементов И - с входом буферного регистра, выход которого сое>0 динен с первым входом узла сравнения, второй вход которого соединен с первым входом третьего блока элементов И и выходом сумматора, второй вход которого соединен с выхо 5 дом первого блока элементов И, третий вход узла сравнения соединен с третьим входом блока, четвертый, вход которого соединен со вторым входом третьего блока элементов И, 20 выход которого является первым выходом блока, второй вход которого соединен с выходом узла сравнения.

Источники информации, принятые во внимание при экспертизе

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

If 482744, кл. G 06 F 9/22, 1975 °

2. Авторское свидетельство СССР по заявке Г 26 33 719/1 8-24, кл. 6 06 F 9/22, 1978 (прототип),.

920726

Составитель Т. Пономарева

Редактор Л; Авраменко Техред C . Èè ãóíoâà Корректор Г.Решетник

Ъ

Заказ 2344/56 Тираж 732 Подпи сное

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

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

Филиал ППП "Патент", г. Ужгород, ул. Проектная, 4

Микропрограммное устройство управления Микропрограммное устройство управления Микропрограммное устройство управления Микропрограммное устройство управления Микропрограммное устройство управления Микропрограммное устройство управления Микропрограммное устройство управления Микропрограммное устройство управления Микропрограммное устройство управления Микропрограммное устройство управления Микропрограммное устройство управления Микропрограммное устройство управления 

 

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

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

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

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

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

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

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

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

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

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

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