Микропрограммное устройство управления
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике, а точнее к облас ( ти микропрограммного управления цифровыми устройствами, и наиболее эффективно может быть использовано в вычислительных и управляющих сиете™ мах высокого быстродействия, имеющих большой объем микропрограммного обеспечения. Цель изобретения - повышение быстродействия микропрограммного устройства управления и сокращение памяти микропрограмм - достигается за счет распараллеливания управления между двумя модулями микропрограммного управления и их синхронной работы. Устройство содержит первый блок 1 формирования адреса микрокоманды, первый блок 2 памяти микропрограмм, первый регистр 3 микрокоманд, второй блок 4 формирования адреса микрокоманды, второй блок 5 памяти микропрограмм, ВТОРОЙ регистр 6 микрокоманд, блок 7 синхронизации , вход 8 кода операции, вход 9 логических условий, первый (Я
СОЮЭ СОВЕТСКИХ сОцидлистичесних
РЕСПУБЛИК (51) С 06 F 9/22
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К АВТОРСКОМ У СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕКНЫЙ КОМИТЕТ
re ивов етениям и отн1 ытиям при 1.ннт сссе
1 (21) . 4439046/24 (22) 09.06.88 (46) 07.01.9l. Бюл. У 1 (71).1 1осковский инженерно-физический институт (72) В.Б.Бродня, A.Â.Êàëèíèí, С.А,Петрушенков и И.И.Шагурин (53) 681,8 (088.8) (56) Булгаков С.С, и др, Проектирование цифровых систем на комплектах микропрограммируемых БИС. — M.: Радио и связь, 1984, с, 185, рис.7.5.
Там же, с. 209, рнс. 7.20. (54) ИИКРОПРОГРАИИНОЕ УСТРОЙСТВО
УПРАВЛКНИЯ .(57) Изобретение относится к вычислительной технике, а точнее к облас:ти микропрограммного управления цифровыми устройствами, и наиболее эффективно может быть использовано в
SU М!Я2Я А 1
2 е вычислительных и управляющих систе= мах высокого быстродействия, имеющих большой объем микропрограммного обеспечения. Цель изобретения — повышение быстродействия микропрограммного устройства управления и сокращение памяти микропрограмм — достигается sa счет распараллеливания управления между двумя модулями микропрограммного управления и их синхронной работы. Устройство содержит первый блок 1 формирования адреса микрокоманды, первый блок 2 памяти микропрограмм, первый регистр 3 микрокоманд, второй блок 4 формирования адреса микрокоманды, второй з \ блок 5 памяти микропрограмм, второй Е регистр 6 микрокоманд, блок 7 синхронизации, вход 8 кода операции, вход 9 логических условий, первый
1619265
10, 15
lО и второй 11 информационные выходы (микроопераций). В устройстве первый и второй блоки формирования адреса микрокоманды работают параллельно и синхронно, на первый подается от блока синхронизации частота на второй — частота fy причем отношение частот fy /f — любое число больше 1. Это увеличивает быстро,.ействие устройства, поскольку снимает с первого блока формирования адреса микрокоманды, отвечающего за общее управление устройством и. имеющегз сложную структуру и ограИзобретение отн сится к вычислительной технике, а точнее к области микропрограммного управления цифровыми устройствами, и наиболее эффек- 25 тивно может быть использовано в вычислительных и управляющих система.." высокого быстродействия, имеющих большой объем микропрограммного обеспечения.
° 30
Целью изобретения является повышение быстродействия микропрограммного устройства управления и сокращение памяти микропрограмм.
В устройстве первый и второй блоки формирования адреса микрокоманды работают параллельно и синхронно, на первый подается от блока синхронизации частота Е.1, на второй — частота f>, причем отношение частот
fg /Кя — любое число больше 1. Это ув еличив ает быстродействие устройстза, поскольку снимает с первого блока формирования адреса микрокоманды, отвечающей за общее управление устройством и имеющей сложную структуру и ограниченное быстродействие, функции оперативного управления и передает его более простому и быстродействующему второму блоку формирования адреса микрокоманды. Распределение разрядов микрокоманды между первой и второй памятью микропрограмм, первым и вторым регистром микрокоманд позволяет аппаратно разделить логиче ки несовместимые поля
55 микрокоманды и устранить повторные фрагменты микропрограммы, сократить з счет этого память микропрограмм. ниченное быстродействие, функции оперативного управления и передает его более простому и быстродействующему второму блоку формирования адреса микрокоманцы, Распределение разрядов микрокоманды между первой и второй памятью микропрограмм, первы -; и вторым регистрами микрокоманд позволяет аппаратно разделить логи- чески несовместимые поля.микрокоманды и устранить повторные фрагменты микропрограммы, сократить за счет этого память микропрограмм. 2 з.п, ф-лы, 7 фиг.
На фиг,1 представлена структурная схема предлагаемого устройства; на фиг,2 — схема первого блока формирования.адреса микрокомандьц на фиг,3 блок синхронизации; на фиг.4 — схема второго блока формирования адреса микрокоманды; на фиг.5 — алгоритм работы устройства; на фиг.б, 7 схема распределения информации в блоках памяти микрокоманд.
Микропрограммное устройство управления (фиг.1) содержит первый блок 1 формирования адреса микрокоманды, первый блок 2 памяти микропрограмм, первый регистр 3 микрокоманд, второй блок 4 формирования адреса микрокоманды, .второй блок 5 памяти микропрограмм, второй регистр
6 микрокоманд, блок 7 синхронизации, вход 8 кода операции, входы 9 логи-;. ческих условий, первый 10 и второй
11 информационные выходы (микроопераций).
Первый блок 1 формирования адреса микрокоманды (фиг.2) содержит с первого по третий мультиплексоры 12-14, схему 15 формирования адреса микрокоманды, элемент HE 16, узел 17 ключей с тремя устойчивыми состояниями, триггер 18, резистор 19 и конденсатор 20.
Блок 7 синхронизации (фиг.3) содержит генератор, включающий в себя элемен "ы НЕ 21-23, кварцевый резонатор 24, резисторы 25, 26, конденсаторы 27, 28 и триггер 29.
Второй блок 4 формирования адрсса микрокоманды (фиг.4) содержит эле5 161 менты НЕ 30, 34, элемент И-HE 31, триггер 32 и счетчик ЗЗ.
Устройство работает следующим образом.
После включения питания первый блок формирования адреса микрокоманды вырабатывает нулевой адрес, поступающий на первый блок 2 памяти микропрограмм, откуда содержимое нулевой ячейки заносится в первый регистр .
3 микрокоманд. Выход первого поля этого регистра содержит адрес следующей микрокоманды в первой памяти микропрограмм и подается на первый вход блок 1 формирования адреса микрокоманды, выход второго поля этого регистра содержит код управления и подается на информационный выход
10, выход третьего поля этого регистра содержит адрес микрокоманды во втором блоке памяти микропрограмм и подается на второй блок 4 формирования адреса микрокоманды, который передает его на второй блок 5 памяти
Микропрограмм. Содержимое адресуемой ячейки этой памяти заносится во второй регистр 6 микрокоманд, с выхода которого он поступает на информационный выход 11 устройства. При этом полная микрокоманда управления представляет собой совокупность разрядов гервого регистра 3 микрокоманд и второго ренистра 6 микрокоманд, а код управления является совокупностью значений разрядов второго поля первого регистра 3 микрокоманд и выходов второго регистра 6 микрокоманд. Смена адреса на выходе первого блока 1 формирования адреса микрокоманды происходит с частотой
f< на выходе второго блока 4 формирования адреса микрокоманды с частотой Г1, Например, при Е /й, = 2 реализация блоков 1, 4, 7 для данного случая показана на фиг.2-4.
В первом регистре 3 микрокоманд информация меняется по четным тактам, начиная с нулевого, а во втором регистре 6 микрокоманд информация меняется в каждом такте, Работа устройства управления определяется микропрограммой, хранящейся в первом блоке 2 памяти микропрограмм, при этом каждая ее процедура требует выполнения нескольких процедур микропрограмм, хранящейся во втором блоке 5 памяти микропрограмм. В начале выполнения процедуры каждой
9265 6 памяти соответствующий блок фо Рмирования адреса микропрограммы должен получить ее стартовый адрес.
Первый блок 1 формирования адреса микрокоманды начинает работаь с нулевого адреса, далее стартовый адрес определяется векторами, получаемыми по входам команд и состояний.
Второй блок 4 формирования адреса микрокоманды всегда получает стартовый адрес с выхода третьего поля первого регистра 3 микрокоманд. В ходе выполнения процедур первый блок
1 формирования адреса микрокоманды получает адрес следующей микрокоманды через вход кода конструкций с выхода первого поля первого 3 регистра микрокоманд, а второй блок 5 формирования адреса микрокоманды в каждом такте наращивает предыдущий адрес на единицу.
Сокрашение памяти микропрограмм в предалагаемом устройстве иллюстрируется фиг.5-7. На фиг.5 представлена поспедовательность микрокоманд, реализующая команду ADD А,R — сложение содержимого регистра общего на- . значения и аккумулятора, в предложе30 нии, что адресация и выборка кода текущей команды производится в предыдущей команде, Микропрограмма состоит из головной части — микрокоманды 1, 2, 9, 10, подпрограммы А1
35 микрокоманды 3-8 и подпрограммы В1 микрокоманды 11, 12, Формат микро1Е Il команды включает поля Операция
".Последовательность микрокоманд",, "Обмен — прерывания", Микропрграмма
4р команды вычитания SUBB A,R аналогична, но в девятой микрокоманде в поле
"Операция" должно быть символическое выражение (А) †(Q)-(CP) - А, Пробелы в соответствующем ноле означают
45 Нет микрооперации", Видно, что уникальным являются большинство кодов в поле. "Обмен — прерывания", микрокоманд, которое управляет последовательностью команд, прерываниями, вводом-выводом. Это естественно, поскольку управляемый разрядами поля аппаратный модуль является задатчикоМ информации как для внешних относительно процессора устройств, так и для модуля AJD. внУтРи процессора, Поля "Операция", иПоследовательность микрокоманд" имеют значительное количество пробелов, но микрокоманды
/ не могут быть оптимизированы, по1619265
20 скольку. привязаны к временным диаграммам обмена. Размещение микрокоманд в памяти известного устройст ва или прототипа представлено на фиг,6, у последнего показана одна иэ матриц памяти. На фиг.6 в каждой подпрограмме поле "Обмен/прерывания" всех микрокоманд обозначено одним именем, в этом поле имеется значительное количество повторов. В предлагаемом устройстве введение второго блока формирования адреса микрокоманды и блока синхронизации позволяет прбизвести вертикальное разделение памяти микропрограмм на два массива и разместить микрокоманды в соответствии с фиг.7. В первом блоке памяти микропр грамм добавляется поле "Вектор второй матрицы", пробелы сокращаются, во втором блоке памяти микропрогра.m повторы исключаются.
Увеличение быстродействия в устройстче достигается за счет распре» деления функций управления между первым и вторым блоками формирования адреса микрокоманды. Оперативное управление осуществляется вторым иэ них, который имеет один источник адреса, вносит поэтому наименьшую задержку и может тактироваться высокой частотой. Общее управление осуществляется первым блоком формирования микрокоманды, сложный алгоритм управления подразумевает несколько источников или внутреннее преобразование адреса в
его структуре, поэтому он уступает по быстродействию второму, но при параллельном управлении его тактовая частота может быть снижена.
Время выполнения одного такта может быть уменьшено по сравнению с известным устройством.
Реализация первого 2 и второго
5 блоков памяти микропрограмм стандартная. Каждый из блоков г.амяти может быть выполнен, например, на основе микросхем К556РТ5 у которых адресные входы с одинаковыми,нбмерами индексов соединены параллельно и подключены к соответствующим выходам одноименного блока формирования адреса микрокоманды, информационные выходы подключены к соответствующим информационным входам, одноименного регистра микрокоманд, на входы выборки всех микросхем подан активный потенциал логического нуля. Первый регистр 3 микрокоманд и второи регистр 6 микрокоманд также могут быть реализованы стандартно на основе, например, микросхем
К1804ИР1, Информационные входы микросхем должны быть подключены к соответствующим выходам одноименноro
I блока памяти микропрограмм, a выходы микросхем являются информационными выходами соответствующего регистра.
На входы выборки микро схем перво го регистра 3 микрокоманд подаются сигналы с входа режима работы этого регистра, на входы синхронизации микросхем — сигнал с входа синхронизации. На входы микросхем второго регистра 6 микрокоманд подается активный потенцил логического нуля, на входы синхронизации микросхем— сигнал с входа синхронизации.
Формула изобретения
1, Микропрограммное устройство управления, содержащее первый блок формирования адреса микрокоманды, Heрвый блок памяти микропрограмм, первый регистр микрокоманд, второй блок памяти микропрограмм, второй регистр микрокоманд, причем выход первого блока формирования адреса микрокоманды соединен с адресными входами первого блока памяти микропрограмм, выход которого соединен с информационным входом первого регистра MHKpoKOMGHp, выход первого поля управления формированием адреса которого соединен с входом кода инструкций первого блока формирования адреса микрокоманды, выход второго блока памяти микропрограмм соединен с информационным входом второго регистра микрокоманд, выход поля микроопераций первого регистра микрокоманд и выход второго регистра микрокоманд являются информационныl ми выходами устройства, вход команд первого блока формирования адреса микрэкоманды соединен с входом кода операции устройства, вход состояний первого блока формирования адреса, соединен с входом логических условий устройства, червый вход синхронизации устройства соединен с входом синхронизации первого блока формирования адреса микрокоманды, с входом синхронизации первого регистра микрокоманд, второй вход синхронизации устройства соединен с входом
5 синхронизации второго регистра микрокоманд, о т л и ч а ю щ е е с я тем, что, с целью повышения быстродействия и сокращения емкости памяти микропрограмм, устройство содержит второй блок формирования адреса микрокоманды, причем выход второго поля управления формирование адреса первого регистра .микрокоманды соединен с входом кода инструкции второго бло- 15 ка формирования адреса микрокоманды, выход которого соединен с адресным входом второго блока памяти микропрограмм, первый вход синхронизации второго блока формирования адреса микрокоманды соединен с первым входом синхронизации устройства, второй вход синхронизации второго блока формирования адреса микрокоманды соединен с вторым входом синхронизации устройства, 2. Устройство по п,1, о т л и— ч а ю щ е е с я тем, что первый блок формирования адреса микрокоманд содержит с первого по третий мультиплек- ЗО сары, узел формирования адреса, триггер, узел ключей с тристабильным выходом, причем вход команд блока соединен с первыми информационными входами с первого по третий мультиплексоров, выходы которых соединены с информационными входами узла формирования адреса, информационный выход которого соединен с выходом блока, вторые информационные входы с первого 4р по третий мультиплексоров подключены к шинам логического нуля и логической единицы устройства, вход состояний блока соединен с управляющим входом условия логического перехода узла фор-4 мирования адреса, шина логической единицы устройства подключена к входу логического перехода узла формирования адреса, D-входу триггера и к млад-., 1619265
10 шим разрядам информационного входа узла ключей с тристаоильным выходом, выходы которого соединены со старшими разрядами входа кода инструкций блока и с входом кода инструкции узла формирования адреса, младшие разряды входа кода инструкции блока подключены к информационным входам узла формирования адреса, вход синхронизации блока соединен с входами синхронизации узла формирования адреса и триг-, гера, прямой выход которого соединен с управляющим входом узла ключей с тристабильным выходом, информационный вход старших разрядов которого соединен с потенциалом логического нуля устройства, инверсный выход триггера соединен с управляющими входами с первого по третий мультиплексоров, выход признака режима работы узла формирования адреса соединен с входом управления третьим состоянием с первого по третий мультиплексоров.
3. Устройство по п.1, о т л и— ч а ю щ е е с я тем, что второй блок формирования адреса микрокоманды содержит регистр, счетчик, элемент И-НЕ, первый и второй элементы
НЕ, причем старшие разряды входа кода инструкции блока соединены с информационным входом регистра, выход которого соединен со старшими разрядами выхода блока, младший разряд входа кода инструкции блока соединен с входом первого элемента
HE выход которого соединен с первым входом элемента И-НЕ, выход которого соединен с входом синхронизации регистра и с входом второго элемента
HE выход которого соединен с входом установки в "0" счетчика, выход которого соединен с младшими разрядами выхода блока, первый вход синхронизации блока соединен с вторым входом элемента И-НЕ, второй вход синхронизации блока соединен с третьим входом элемента И-НЕ и со счетным входом счетчика.
1619265
1619265
Выкад адреса
> 619265 3
)I- И.
Ь вЂ” -1 Г—
1f
I . л
v
«) fA л с ц Ш р М
В
1 а
1
° °
Р;
I
h.
О, М а а > h
1 3 U а а Р лГ оkg
w4$
C XT щ О (4, - 1д
° л г (. л
Ж
:Э ш
0С
° л
IJ (Э
t
СУ
v
Q Г и
>о
17
Yg
5о ,хЗ
b:: Й .0
vi 6 щ,. :а л::
1О :, g > е
° л :,Ч о ф
t!
О: и а,: н ф, ( — ", „-Ir-.
v.! 2 т W. э ю л 4
Ф 1
Й: " Ш: а. щ
Я: с ф. .„р: . 9 м
„:v y) t и а. :(ч
Q (Я, л, а а.р" Ю .
1,:t 1
1619265 к1
КЪ