Микропрограммное устройство управления
Иллюстрации
Показать всеРеферат
МИКРОПРОГРАММНОЕ УСТРОЙСТВО УПРАВЛЕНИЯ, содержащее блок памяти, дешифратор, регистр адреса, регистр микрокоманд, мультиплексор, коммутатор , генератор тактовых импульсов, триггер и элемент ИЛИ, причем группа информационных входов мультиплексора является группой входов логических условий устройства, группа управляющих входов мультиплексора соединена с группой выходов кода логических условий регистра микрокоманд , группа выходов кода немодифицируемых разрядов адреса которого соединены с первой группой (п-1}-информационных входов коммутатора (где П 2), п -и информационный вход первой группы которого соединен с выходом элемента ИЛИ, первый вход которого соединен с выходом модифицируемого разряда регистра микрокоманд, группа информационных входов которого соединена с группой выходов блока памяти, группа адресных входов которого соединена с группой выходов дешифратора , группа входов которого соединена с группой выходов регистра адреса , группа информационных входов которого соединена с группой выходов коммутатора, вторая группа информационных входов которого является группой входов кода команды устройства , второй вход элемента ИЛИ соединен с выходом мультиплексора, входы синхронизации регистра адреса и регистра микрокоманды соединены соответственно с первым и вторым выходами генератора тактовых импульсов , вход запуска которого i соединен с выходом триггера, вход установки в единицу которого является входом пуска устройства, о тличающееся тем, что, с целью уменьшения объема оборудования , дополнительно содержит сумматор , группу m элементов И (, 2 ...), шифратор преобразования кодов модулей и шифратор преобразования остатков, причем группа выходов 00 4 4 СО кода операций регистра микрокоманд и группа выходов регистра адреса соединены соответственно с группами входов шифратора преобразования кодов модулей и шифратора преобразования остатков, группы выходов которых соединены соответственно с первым и вторым входами сумматора, m выходов которого соединены соответственно с первыми входами элементов И группы, вторые входы которых соединены с третьим выходом генератора тактовых импульсов, Оп+1)-й выход сумматора соединен с управляющим входом коммутатора, выходы i -х ( -i 1, 2,...,m -1) элементов И группы яв
QQK)3 СОВЕТСКИХ
t0UH«
РЕСПУБЛИК
3(5D G 0 F 2
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К ABTOPCHOMV СВИДЕТЕЛЬСТВУ.й:. — «Ь»« = (21) 3597191/18-24 (22) 29.03.83 (46) 15.08.84. Бюл. Ф 30 (72) В.С. Харченко, Г.Н. Тимонькин, К.В. Воробьев и С.Н. Ткаченко (53) 681.325 (088.8) (56) 1 ° Авторское свидетельство СССР
N 482744, кл. G 06 F 9/22, 1975.
2. Авторское свидетельство СССР
У. 928356, кл. С 06 F 9/22, 1980.
3. Майоров С.А., Новиков Г.И.
Структура электронных вычислительных машин. Л., "Машиностроение", 1979, с. 314, рис. 10.4 (прототип). (54)(57) МИКРОПРОГРАММНОЕ УСТРОЙСТВО
УПРАВЛЕНИЯ, содержащее блок памяти, дешифратор, регистр адреса, регистр микрокоманд, мультиплексор, коммутатор, генератор тактовых импульсов, триггер и элемент ИЛИ, причем группа информационных входов мультиплексора является группой входов логических условий устройства, группа управляющих входов мультиплексора соединена с группой выходов кода логических условий регистра микрокоманд, группа выходов кода немодифицируемых разрядов адреса которого соединены с первой группой (ь-1 j-информационных входов коммутатора (где и > 2), и -й информационный вход первой группы которого соединен с выходом элемента ИЛИ, первый вход которого соединен с выходом модифицируемого разряда регистра микрокоманд, группа инфор" мационных входов которого соединена с группой выходов блока памяти, группа адресных входов которого соединена с группой выходов дешифратора, группа входов которого соединена с группой выходов регистра адреса, группа информационных входов которого соединена с группой выходов коммутатора, вторая группа информационных входов которого является группой входов кода команды устройства, второй вход элемента ИЛИ соединен с выходом мультиплексора, входы синхронизации регистра адреса и регистра микрокоманды соединены соответственно с первым и вторым выходами генератора тактовых импульсов, вход запуска которого соединен с выходом триггера, вход установки в единицу которого является входом пуска устройства, о тличающееся тем,что, с целью уменьшения объема оборудования, дополнительно содержит сумматор, группу в элементов И (т 1, 2 ...), шифратор преобразования кодов модулей и шифратор преобразования остатков, причем группа выходов кода операций регистра микрокоманд и группа выходов регистра адреса соединены соответственно с группами входов шифратора преобразования кодов модулей и шифратора преобразования остатков, группы выходов которых соединены соответственно с первым и вторым входами сумматора, m выходов которого соединены соответственно с первыми входами Ь элементов И группы, вторые входы которых соединены с третьим выходом генератора тактовых импульсов, 9n+1)-й выход сумматора соединен с управляющим входом коммутатора, выходы i -x (i 1, 2,...,в -1) элементов И группы яв1 10844 9
20 ляются управляющими выходами устройства, выход Oft го элемента И группы
Изобретение относится к автоматике и вычислительной технике и может
1быть использовано в ЭВИ, вычислительных и управляющих системах с микропрограммным управлением. 5
Известно микропрограммное устройство упра вл е ния, с од ержаще е бл ок памяти микрокоманд, регистр адреса, регистр микрокоманд, генератор тактовых импульсов, блок проверки логи- 10 ческих условий, элементы И 1 ).
Недостатком этого устройства является большой объем блока памяти.
Известно также микропрограммное устройство управления, содержащее 15 регистр адреса, регистр микрокоманд, блок памяти микропрограмм, формирователь адреса, генератор тактовых импульсов, триггер 1 2 1.
Недостатком этого устройства является низкая экономичность,обусловленная избыточностью блока памяти.
Наиболее близким к предлагаемому по технической сущности и достигае- 25 мому результату является микропрограминое устройство управления, содержащее блок памяти, дешифратор, регистр адреса, регистр микрокоманд, мультиплексор, коммутатор, генератор щ тактовых импульсов, триггер пуска, элемент ИЛИ, причем вход логических условий устройства и выход кода логических условий регистра микрокоманд соединены с информационным и
35 управляющим входами мультиплексора соответственно выход которого соедиР нен с первым входом элемента ИЛИ, выходы немодифицируемых разрядов выхода адреса регистра микрокоианд соединены с входаии немодифицируеиых
:разрядов первого информационного входа коммутатора, выход модифицируемого разряда выхода адреса ре- . гистра микрокоманд соединен с вторым 45 входом элемента ИЛИ, выход которого соединен с входом модифицируеиого разряда информационного входа коммутатора, вход кода операции устройсоединен с входом установки в ноль триггера, ства соединен с вторым информационным входом коммутатора, выход которого соединен с информационным входом регистра адреса, вход пуска устройства соединен с 5 -входом триггера пуска, выход которого соединен с входом генератора тактовых импульсов, первый и второй выходы генератора тактовых импульсов соединены с синхровходами регистра адреса и регистра микрокоманд соответственно, выход регистра адреса соединен с входом дешифратора, выход которого соединен с входои блока памяти, выход блока памяти соединен с информационным входом регистра микрокоманд, выход операционной части которого является выходом микроопераций устройства, выход конца микрокоманды выхода операционной части регистра микрокоманд соединен с управляющим входом коммутатора, выход конца работы выхода операционной части регистра микрокоманд соединен с R -входом триггера пуска ГЗ).
Недостатком этого устройства является большой объем блока памяти, обусловленный избыточностью операционных частей микрокоманд. Эта избыточность появляется в результате неэффективного использования методов кодирования и записи информации..
В устройстве используется двоичный код записи операционных частей микрокоманд, который является громоздким.
Избыточность блока памяти составляет где Ф - количество микрокоманд, хранимых в блоке памяти", «основание кода, используемого для записи операционной части микрокоманды.
Таким образом, в известном устройстве не реализована возможность кодирования операционных частей с использованием кодов с основанием и > 2, что существенно увеличивает разрядность
1108449 микрокоманд. Как следует из формулы (1), увеличения основания кодов операционных частей в 2 раза уменьшает объем блока памяти на ф ячеек.
Избыточный объем блока памяти ведет к увеличению затрат на производство микропрограммных управляющих устройств, так как основные затраты (до 907) приходятся на блок памяти.
Цель изобретения — уменьшение объема оборудования устройства.
Поставленная цель достигается тем, что в микропрограммное устройство управления, содержащее блок памяти, дешифратор, регистр адреса, регистр микрокоманд, мультиплексор, коммутатор, генератор тактовых им. пульсов, триггер и элемент ИЛИ,причем группа информационных входов мультиплексора является группой входов логических условий устройства, группа управляющих входов мультиплексора соединена с группой выходов кода логических условий регистра микрокоманд, группа выходов кода немодифицируемых разрядов адреса которого соединена с первой группой (в-11 информационных входов коммутатора (где n ) ) 22)), и -й информационный вход первой группы которого соединен с выходом элемента ИЛИ, первый вход которого соединен с выходом модифицируемого разряда регистра микрокоманд, группа информационных входов которого соединена с группой выходов блока памяти, группа адресных входов которого соединена с группой выходов дешифратора, группа входов которого соединена с группой выходов регистра адреса, группа информационных вхо,цов которого соединена с группой выходов коммутатора, вторая группа информационных входов которого является группой входов кода команды устройства, второй вход элемента ИЛИ соединен с выходом мультиплексора, входы синхронизации регистра адреса и регистра микрокоманды соединены соответственно с первым и вторым выходами генератора тактовых импульсов, вход запуска которого соединен с выходом триггера, вход установки в единицу которого является входом
\ пуска устройства, введены сумматор, группа tn- элементов И (ttt = 1,2,...), шифратор преобразования кодов модулей и шифратор преобразования остатков, причем группа выходов кода операций регистра микрокоманд и группа выходов регистра адреса соединены соответственно с группами входов шифратора преобразования кодов модулей и шифратора преобразования ос" татков, группы выходов которых сое" динены соответственно с первым и вторым входами сумматора, м выходов которого соединены соответствен10 но с первыми входами m элемен" тов И группы, вторые входы которых соединены с третьим выходом генератора импульсов, (m + 1)-й выход сумматора соединен с управляющим входом коммутатора, выходы 1 -х (q = 1,2,...,tn-1) элементов И группы являются управляющими выходами устройства, выход tn-го элемента И группы соединен с входом установки в ноль триггера
Любое число можно представить в виде где tt — основание кода, с — остаток, — ричный код числа 3
При этом величина С(и -1.
Следовательно, для задания операЗ0 ционной части микрокоманды необходимо иметь только код fc, который в двоичной форме хранится в блоке памяти предлагаемого устройства. Величину остатка С можно задавать по
35 адресу микрокоманды в блоке памяти.
Таким образом, уменьшается количество-разрядность информации, хранимой в блоке памяти.
40 Например, используя основание кода 5 число 100 (в двоичной форме за" писи 1100100) можно представить в виде 20i5, где 20 (10100) хранится в блоке памяти. В этом случае вели45 чина c,- =О. Объем блока памяти умень" шается на 3 разряда. Так для записи числа 130 в блоке памяти достаточно вместо 8 разрядов хранить 5 разрядов с использованием кода с n = 5 или 4
5р разряда при tl= 10. В этих случаях остаток с = О.
Остаток формируется по адресу микрокоманды в блоке памяти шифратором преобразования остатков, причем
>> каждому адресу микрокоманды поставлен соответственно один оста ок.
Введение шифратора преобразования остатков позволяет формировать остаток необходимой величины по адресу
1108449 микрокоманды в блоке памяти устройства.
Введение шифратора преобразования
«ода модуля и обусловленных им связей позволяет преобразовывать двоич- 5 ный эквивалент tl -ричного кода операционной части микрокоманды в двоичный код.
Использование сумматора и соответ ствующих иму связей из преобразованного кода операционной части микрокоманды и соответствующего кода остатка дает-возможность получить код микрооперации путем их суммирования.
Введение группы элементов И и обусловленных ими связей позволяет синхронизировать выдачу микроопераций.
На фиг.1 приведена функциональная 20 схема устройства; на фиr..2 — схема сумматора, на фиг. 3 и .4 " примеры выполнения шифраторов преобразования остатков и кодов модуля соответственно. 25
Функциональная схема устройства (фиг.1) содержит блок 1 памяти, шифратор 2 преобразования остатков, шифратор 3 преобразования кодов моду1 лей,сумматор 4, регистр 5 адреса, регистр 6 микрокоманд, дешифратор 7, генератор 8 тактовых импульсов, коммутатор 9, мультиплексор 10, триггер
11, группу элементов И 12, элемент ИЛИ 13, вход 14 пуска устройства, 35 группы входов 15 и 16 логических условий и кода команды устройства соответственно, группу выходов 17 микроопераций устройства, в том числе выход 17.1 микроопераций конца работы выход 18 шифратора 2 преобразования остатков, выход !9 шифратора 3 преобразования кодов модулей, выходы 20 сумматора 4, в том числе выход 20.!
45 микрооперации конца команды.
Каждый разряд сумматора 4 (фиг.2)
21.1,...,21,a,...,21, m состоит из двух групп элементов, выполняющих функцию "сумма по модулю два", содержащих первый 221 и второй 23 i элементы 2И-ИЛИ (i = 1,а), первый
24 и второй 25(элементы И-НЕ,кроме того сумматор содержит первый (In-1) "й элементы И-НЕ 26.1,..., 26 ° (III-1), соответственно формирующие сигналы переноса в старший разряд.
На фиг. 3 и 4 представлены таблица (а) и пример (5) конкретного выполнения шифратора 2 и шифратора 3 в зависимости от заданных условий функционирования, где показаны первый — третий элементы НЕ 27-29 шифратора 2 соответственно, первый - третий элементы HE 30-32 шифратора 3 соответственно, входные сигналы х Х выходные сигналыУ - .
Назначение основных узлов устройства состоит в следующем.
Блок памяти предназначен для хранения микрокоманд, которые считываются по тактовым импульсам, поступающим на синхро-вход регистра
6 микрокоманд. ПЬ,фратор преобразования остатков предназначен для преобразования кодов адресов микрокоманд в коды остатков, соответствующих операционным частям микрокоманд,хранимых по данному адресу. Шифратор
3 предназначен для преобразования двоичного эквивалента и -ричного кода операционной части микрокоманды в двоичный код. Сумматор 4 служит для формирования кода микроопераций путем суммирования преобразованного
h-ричного кода и кода остатков.
Сумматор функционирует следующим образом.
На вход 18 поступает код остатка, причем значение остатка не превышает п-1, где и -основание кода, поэтому входы сумматора, соответствующие поступлению остатка, начиная с (а+1}-го разряда (а - j fog II-1П
2 соединяются с нулевым потенциалом источника питания.
На вход 19 поступает двоичный код, полученный из двоичного эквивалента h -ричного кода. Если в одном разряде значения, поступающие на входы 18 и 19 равны "1", то происходит переполнение разряда и на выходе элемента 2 И-ИЛИ 221 появляется нулевой сигнал, поступающий на вход элемента И-НЕ 25i .. С выхода элемента И-НЕ 241 нулевой сигнал поступает на вход элемента И-НЕ
261, который формирует сигнал переноса в старший разряд.
Если существовал перенос из предыдущего разряда, то на втором входе элемента -HE 25i имеется единичный сигнал, такой же сигнал поступает на вход элемента 2 И-ИЛИ
23,,С выхода элемента И-НЕ 25 1 на второй вход элемента И»НЕ 261 поступает нулевой сигнал. Тогда на
1108449
7
его выходе образуется единичный сигнал переноса в старший разряд.
Переполнение разряда может наступить при поступлении на вход элемента И-HE 25i и элемента 2 И-ИЛИ
23i соответственно сигнала переноса из младшего разряда и с выхода элемента 2 И-ИЛИ 22
При этом на входы 18 и 19 поступает комбинация "10" или "01", а на 10 выходе 20 присутствует нулевой сигнал. В других случаях переполнение ке наступает. В старших разрядах, начиная с (о<+1)-го, а также в первом разряде, переполнение может !5 наступить лишь при равенстве "1"
1 сигналов с входов 18 и 19, а при комбинации на них "01" или "10" и нулевом сигнале переноса из младшего разряда, сигнал переноса в сле- 20 дующий разряд не формируется.
Регистр 5 адреса служит для хранения .адреса микрокомакды, поступающей на него с выхода коммутатора
9. Регистр 6 микрокоманд хранит мик- 25 рокоманду после считывания ее из блока 1 памяти.
Этот регистр содержит поле 6.1, в котором записываются коды логических условий, поле 6.2, где записы- Зр вается код операционной части микрокоманды, поле 6.3, где задается адрес следующей микрокоманды.
Генератор 8 тактовых импульсов синхронизирует работу устройства по тактовым импульсам t с2, Г .. По имnynbcy Т в регистр 5 адреса зано1 сится адрес микрокомакды, IIo импульсу в регистр 6 из блока 1 памяти счи тывается микрокоманда, по импульсу T из сумматора 4 код микро3 операций поступает на выходы 17 устройства.
Коммутатор 9 предназначен для ввода в устройство кода операции с входа 16 или адреса очередной микрокоманды с выхода адресного поля регистра 6.
Мультиплексор 10 предназкачен для выделения значения проверяемого логического условия, поступающего на одну из групп входов 15 в соответствии с кодом логических условий, поступающим на управляющий вход мультиплексора с выхода поля
6.1 регистра 6. Мультиплексор 10 реализует логическую функцию увZ Z ...
1 2 Xkt Гг ...Г ° +3 t Г -..Г Х +.. з 1 12з" 5 1 12 3: S S
8 где конъюнкции; l -... r> заЛают код проверяемого логического
F ) 5= Pop 2
d - число логических условий; И. — зна чения логических условий на входе
15, 3- 1,д
Триггер 11 управляет пуском и остаковом устройства.
Группа элементов И 12 предназначена для управления вццачей сигналов микроопераций на выход 17.
Устройство работает следующим образом.
В исходном состоянии все .элементы памяти обнулены.
С группы входов 16 устройства на коммутатор 9 поступает начальный адрес микрокоманды. После прихода сигнала "Пуск" с входа 14 триггер 1! разрешает работу генератора 8. По тактовому импульсу ь при разрешаю1 щем нулевом сигнале с выхода 20.1 сумматора 4 код операции записывается в регистр 5 адреса (во всех остальных микрокомандах, кроме конечных на выходе 20.1, присутствует единичный сигнал).
С его выхода код операции поступает на вход дешифратора 7 и шифратора
2. Шифратор 2 преобразует адрес первой микрокоманды в необходимый оста ток, который поступает на вход 18 сумматора 4.
По сигналу с выхода дешифратора
7 при поступлении на синхро-вход регистра импульса . i2 из блока
1 памяти считывается соответствующая адресу микрокоманда в регистр 6 .
С выхода поля 6.2 операционная часть микрокоманды поступает на вход шифратора 3. С адресного поля 6.3 на вход коммутатора 9 поступает косвенный адрес следующей микрокоманды.
Шифратор 3 преобразует двоичный код и --го основания в соответствующий двоичный код, который поступает на вход 19 сумматора 4. С выходов
20 сумматора 4 микрокоманда поступает на вход группы элементов И 12.
Кроме того, с выхода 20.1 на вход коммутатора 9 подается сигнап конца микрокоманды. Считывание микрокомакды производится с выхода 17 по тактовому импульсу 4 y,ïîñòóïàþùåìó ка вход элементов И 12.
При поступлении сигнала конца микрокоманды на вход коммутатора 9 происходит считывание адреса следую08449
9 11 щей микрокоманды. После этого работа устройства повторяется. По окончании работы с выхода 17.1 на вход установки в ноль триггера 11 поступает сигнал конца работы, блокирующий генератор 8.
Проверка логических условий производится следующим образом.
На вход 15 мультиплексора 10 поступает код значений логических условий. На другой вход мультиплексора поступает код номера проверяемого логического условия с поля 6. 1 регистра 6. На выходе мультиплексора образуется сигнал, соответствующий значению проверяемого логического условия. Этот сигнал поступает на вход-элемента ИЛИ 13. На второй вход элемента ИЛИ 13 поступает сигнал "О", записанный в формате микрокоманды ветвления. Соответственно на выходе элемента ИЛИ 13 образуется сигнал "!" или "О", поступающий на вход коммутатора 9.
В соответствии с этим сигналом и происходит выбор микрокоманды, соответствующей значению логических условий "О" или "1".
Рассмотрим формирование операционных частей микрокоманд на примере. Любое число можно представить в виде Д fc n + с где
t основание кода, n = О, 1,2,..., c - остаток О (С<и-1, с= 0 1, 2,...у k-n — ричный код числа Р, т.е. количество целых частей и в числе Э . Таким. образом, зная какой остаток соответствует значениям записанньпк в каждой ячейке блока 1 памяти, можно соответствующим образом построить схему шифратора.
Пусть в блоке памяти записано семь микрокоманд, имеющих соответственно длины операционных частей
1, 2, 3, 4, 5, 6, 7, 8. Тогда при основании кода и 3 для микрокоманд, записанных в ячейках 1,4,7, величина остатка С=1, а ячейках 3 и 6 - с О, в ячейках 2 и 5 — с = 2.
1Йифратор 2 строится таким образом, чтобы при поступлении на его вход адреса микрокоманды на ее выходе формировался соответствующий этому адресу остаток С, В данном примере (фиг.За) при входных комбинациях 1) х„= 1, .х = О, х = 0; 2) Х О, х = 0 х = 11
3) X <- >
1, 32=0 у -О.
При входных комбинациях 4) х,= 1, х = 1, ê = О, 5) х = О, Х = 1, 1 на выходе шифратора 2 формируется комбинация = О, = О, Мз = Ое
При входных комбинациях 6) х; = О, х2 1э ХЗ О и 7) х1 1 х = О, X3 = 1 на выходе шифратора 2 формируется комбинация „= О, у = 1, 3
20 Сигнал с выхода 18 шифратора 2 поступает на соответствующий вход сумматора 4. Пример реализации шифратора представлен на фиг.3 b°.
Преобразование двоичного кода и модуля % в соответствующий двоичный код kn осуществляет шифратор 3 (фиг.4).
Запись операционной части микрокоманды в блоке памяти осуществляется
ЗО следующим образом.
В ячейке 1 и 2 содержится k = 000; в ячейках 3, 4 и 5 — М = 001, в ячейках 6 и 7 - k 010.
Построение шифратора 3 производится таким образом, чтобы при входной комбинации % 000 на выходе Кп
= 000, прн R = 001 на выходе kn =
= 011, при k = 010 на выходе ko =
110.
4р Преобразованный таким образом двоичный код поступает на вход 19 сумматора 4.
Таким образом, в предлагаемом устройстве реализована воэможность
4 кодирования операционных частей с использованием кодов с основанием h)
) 2. Это позволяет уменьшить разрядность микрокоманд, что, в свою оче.редь, приводит к уменьшению объема блока памяти микрокоманд по сравнению с прототипом.
1 108449
1108449
1108449
1108449
Составитель Ю. Ланцов
Техред Л. Мартяшова Корректор М. Максимншинец
Редактор Л. Алексеенко
Заказ 5866/35
Тираж 699 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
Филиал ППП "Патент", r. Ужгород, ул. Проектная,4