Устройство управления
Изобретение относится к области вычислительной техники и может быть использовано при построении устройств управления универсальных вычислительных машин и микропроцессоров. Целью изобретения является сокращение емкости блока памяти за счет обеспечения возможности организации вложенных друг в друга подпрограмм. Устройство содержит регистр адреса, блок памяти, регистр команд, группу счетчиков , генератор управляющих сиг-налов , счетчик уровня программы, дешифратор , мультиплексор. Введение мультиплексора , счетчика уровня программы , дешифратора и группы счетчиков обеспечивает достижение цели. 4 ил.
СОЮЗ СОВЕТСНИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИН (51)4 G 06 F 9/22 5/00
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
И ABTOPCHOMY СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ (21) 4059051/24-24 (22) 22.04.86 (46} 15.08 ° 88. Бнш. Ф 30 (71) Андроповский авиационный технологический институт (72) М.А.Гладштейн (53) 681.32(088.8) (56) Авторское свидетельство СССР
Ф 1042018, кл. G 06 F 9/22, 1983.
Соботка 3.,Стары Я. Микропроцессорные системы. М., 1981, с, 50-53 ° (54) УСТРОЙСТВО УПРАВЛЕНИЯ (57) Изобретение относится к области вычислительной техники и может быть
„.SU„„1417005 А1 использовано при построении устройств управления универсальных вычислительных машин и микропроцессоров. Целью изобретения является сокращение емкости блока памяти sa счет обеспечения возможности организации вложенных друг в друга подпрограмм. Устройство содержит регистр адреса, блок памяти, регистр команд, группу счетчиков, генератор управляющих сигналов, счетчик уровня программы, дешифратор, мультиплексор. Введение мультиплексора, счетчика уровня программы, дешифратора и группы счетчиков обеспечивает достижение цели. 4 ил.
Изобретение относится к вычислительной технике и может найти приме.нение при построении устройств управления универсальных цифровых вычисли5 тельных машин и микропроцессоров, Целью изобретения является сокращение емкости блока памяти за счет обеспечения возможности организации вложенных друг в друга подпрограмм.
На фиг, 1 изображена функциональная схема предлагаемого устройства; на фиг. 2 и 3 — варианты схемотехнической реализации генератора управляюших сигналов, на фиг, 4 — граф-схе-, 15 ма работы устройства.
Устройство (фиг. 1 ) содержит регистр 1 адреса, блок 2 памяти, регистр 3 команд, нулевой счетчик 4, генератор 5 управляющих сигналов, счетчик 6 уровня программы, первый выход 7 микроопераций генератора управляющих сигналов, группу счетчиков
8, мультиплексор 9, дешифратор 10.
Кроме того, на фиг. 1 позициями обо- 25 значены выходы седьмого 11, восьмого
12, первого !3, второго 14, третьего
15, четвертого 16, пятого 17 и шестого 18 разрядов второго поля микроопераций, вход 19 логических условий устройства.
Генератор 5 управляющих сигналов (первый вариант) содержит (фиг. 2) дешифратор 20, имеющий три группы входов, генератор 2! тактовых сиг налов, кольцевой счетчик ..2 и набор
35 логических схем 23, выходы которых образуют первую и вторую группы выходов генератора 5 управляющих сигналов. Вход сброса кольцевого счетчика
40 является входом сброса генератора 5 управляющих сигналов.
Генератор 5 управляющих сигналов (второй вариант) содержит (см. фиг„3) 45 блок 24 микропрограммного управления, имеющий три группы входов 25, блок
26 постоянной памяти, первая 27 и вторая 28 группы выходов которого об= разуют соответствующие группы выходов генератора 5 управляющих сигналов 50 и генератор 29 тактовых сигналов, При этом вход 30 сброса генератора 5 управляющих сигналов связан с входом установки начального состояния блока
24 микропрограммного управления, Последний может быть реализован на микросхеме К589ИК01, а блок 26 постоянной памяти — на микросхемах серии! 417005 2
К556. На граф-схеме (фиг, 4) помечены микрооперации пс зициями 31-43.
Все блоки предлагаемого устройства являются стандартными и легко реализуются на интегральных микросхемах, например, серии К155.
Устройство обеспечивает управление вычислительным процессом в соответствии с многоуровневой программой, размещаемой в блоке 2 памяти, Такая программа содержит последовательности команд различных уровней. Каждая команда более высокого уровня в процессе исполнения заменяется последовательностью команд (т,е. программой) более низкого уровня и т,д, Наконец, команда первого уровня представляется последовательностью команд традиционного машинного (нулевого) уровня, адреса которых задаются счетчиком 4, Команды с 1 до n-ro уровней также содержат код операций и адресную часть.
В поле кода операции указывается один иэ четырех возможных типов команд: команда безусловного перехода IMP; команда условного перехода TCN; операционная команда ОРС; команда конца
END. В поле адреса указывается адрес перехода для команд перехода или адрес начала программы исполнения команды на следующем, более низком, уровне для операционной команды.
Устройство работает в соответствии с граф-схемой (фиг. 4).
После подачи сигнала "Сброс", поступающего на вход установки начального состояния устройства, счетчик уровня программы 6 устанавливается в состояние п,п-й счетчик 8 — в нулевое состояние, Кроме того, устанавливается начальное состояние генератора 5 управляющих сигналов. После снятия сигнала "Сброс" генератор 5 управля1 ющих сигналов в -,а-зряде 14 второй группы выходов формирует импульс.Благодаря этому будет выполнена микрооперация 31 — "Переслать в регистр
11 адреса 1 содержимое 1-го счетчика 8
Каждая микрооперация граф-схемы (фиг. 4) для большей наглядности помечена номерами соответствующих разрядов второй группы выходов генератора 5 управляющих сигналов.Микрооперация 31 обеспечивается тем, что выходы одного из счетчиков 8 через мультиплексор 9 оказываются подключенными к входам второй группы информационных входов регистра 1 адре3 141 са, причем номер i счетчика 8 определяется состоянием счетчика уровня программы ll. Следовательно, в начальный момент в регистр 1 адреса будет записано начальное состояние и-го счетчика 8, Затем генератор управляющих сигналов сделает следующий шаг: 32 — "Читать код из блока 2 памяти в регистр 3 команд". При этом генерируются импульсы в 15 и 16 разряды генератора 5 управляющих сигналов. Первый поступает на вход стробирования блока 2 памяти, а второй " на вход разрешения записи регистра 3 команд. Этим обеспечивается выборка кода команды из блока 2 памяти и saпись его в регистр 3 команд. При первом проходе после сброса, в регистре команд будет записана первая команда п-го уровня. Затем выполняется микрооперация 33 — "Инкрементировать i-ый счетчик 8". Это действие обеспечивается импульсом в разряде
11 второй группы выходов генератора
5 управляющих сигналов, который поступает на входы инкрементирования всех счетчиков 8 и счетчика 4 команд.
Однако дешифратор IO обеспечивает выборку только одного счетчика, но- . мер которого соответствует текущему состоянию счетчика 6 уровня программы (счетчик 4 выбран при нулевом состоянии счетчика 6 уровня программы).
При первом проходе после сброса выбирается и-й счетчик 8, поэтому только он будет инкрементирован. Дальнейшие операции зависят от типа команды.
Вначале производится проверка 34"Команда IMP?". Эта проверка реализуется логикой генератора 5 управляющих сигналов путем сравнения кода операции команды, поступающего с второй группы выходов регистра 3 команд на вторую группу входов генератора 5 управляющих сигналов с известным кот, дом команды IMP. Если сравнение дает положительный результат, то выполняется микрооперация 35 — "Занести в . i-й счетчик 8 адрес иэ регистра 3 команд", Для выполнения этого действия генератор 5 управляющих сигналов формирует импульс в разряде 12 второй группы выходов, который-поступает на входы разрешения записи всех счетчиков 8 и счетчика 4. Однако за счет действия входов выборки, управляемых с выходов дешифратора 10, запись будет реализована только в
4 равляющих сигналов обеспечивает по10 вторение микроопераций, начиная с блока 31. Если же код операции не совпадает с кодом команды IMP то выполняется проверка 36 — "Команда ICNT".
Она выполняется аналогично микрооперации 34. Если результат проверки положительный, то выполняется проверка условия 37 — "CN=I?". Эта проверка также реализуется логикой генератора
5 управляющих сигналов путем сравнения заданного кода условия CN с истинным значением, поступающим по входам 19 сигналов-условий. Если же результат сравнения положительный, то
20 выполняется переход (реализуется микрооперация 35), иначе. происходит по" вторение микроопераций, .начиная с блока 31 (т.е..выборка очередной команды).
Если код операции не совпадает с
30 кодом команды ICN то выполняется микрооперация 37 - "Команда OPC?". Эта микрооперация выполняется аналогично
34 и 36. Если команда действительно операционная, то генератор 5 управля35 ющих сигналов выполняет микрооперацию 39 - "i=0?". Эта микрооперация выполняется логикой генератора 5 управляющих сигналов путем сравнения кода текущего уровня, поступающего с
40 выходов счетчика 6 уровня программы на входы второй группы входов кода операции генератора 5 управляющих сигналов с нулевым кодом. Если результат сравнения отрицательный, т.е ° уровень программы не нулевой, реализуется понижение уровня программы, Это обеспечивается микрооперацией 40—
"Декрементировать счетчик 6 уровня программы". При этом генератор 5 управляющих сигналов формирует импульс на линии 17 второй группы выходов, поступающий на вход декрементирования счетчика 6 уровня программы. После этого выполняется описанная микрооперация 35,,благодаря которой адресная часть операционной команды заносится в программный счетчик подчиненного уровня, чем подготавливается счетчике 8, соответствующем текущему уровню. Этими действиями адрес перехода иэ адресной части команды через первую группу выходов регистра 3 ко5 манд будет передан в счетчик 8 текущего уровня, чем и обеслечивается предписанный командой безусловный переход. После этого генератор 5 уп5 14 очередной цикл управления. Если же результат сравнения положительный, т.е. i=0, и очередная команда адресо-,ана счетчиком 4 команд, то она подлежит выполнению, Это обеспечива= ется блоком 41 — "Исполнить команду". При этом генератор 5 управляющих сигналов генерирует здесь импульс в разряде 13 второй группы выходов, чем обеспечивается запись адреса из адресной части регистра 3 команд через первую группу выходов в регистр 1 адреса через первую группу входов.
Этим подготавливается выборка из блока 2 памяти операнда, адресованного командой. Кроме того, генератор 5 управляющих сигналов на первой группе выходов формирует серию управляющих импульсов, поступающих в операционное устройство через линии выхода 7 управляющих сигналов устройства. Все это обеспечивает исполнение команды нулевого уровня. Затем возобновляется очередной цикл управления. Если же проверки 34, 36 и 38 дали отрицательный результат, значит в регистре
3 команд зафиксирована команда КРП).
Тогда выполняется проверка 42 — "i=
=n7". Если результат отрицательный, то это означает, что закончилась последовательность команд -го уровня и необходимо перейти на более высокий программный уровень. В этом случае выполняется микрокоманда 43—
"Инкрементировать счетчик 6 уровня программы", Генератор 5 управляющих сигналов в этом случае генерирует импульс в разряде 18, который поступает на вход инкрементирования счетчика б уровня програюлы и увеличивает его содержимое на единицу, обеспечивая переход устройства на более вы= сокий уровень. Если же проверка 42 дает положительный результат, то это означает, что закончена программа наивысшего уровня п. В этом случае в генераторе 5 управляющих сигналов происходит блокирование всех выходных импульсов и устройство переходит в состояние иОстанов". Рассматривая циклическую граф-схему работы устройства (фиг. 4), легко убедиться в том, что запущенная с уровня и программа последовательно понижает свой уровень, пока не дойдет до уровня О, где начнет исполняться последовательность команд, обеспечивающая выполнение одной команды 1-го уровня, 17005 6
По окончании этой последовательности происходит возврат к 1-му программному уровню, очередная команда которого вызывает следующую последовательность команд нулевого уровня и т,д. до тех пор пока, не будет обнаружена команда КИВ 1-го уровня. Здесь происходит обращение к 2-му уровню и т.д, IIpoцесс продолжается до тех пор, пока не будет полностью исполнена вся последовательность команд и-го уровня.
Таким образом„. предлагаемое устройство обеспечивает управление вычислительным процессом в соответствии с и-уровневой программой.
Формула из о брет ения
Устройство управления, содержащее регистр адреса, блок памяти, регистр команд, генератор управляющих сигналов, причем выходы поля адреса регистра команд соединены с первой группой информационных входов регистра адреса, выход которого соединен с входом адреса блока памяти, выход которого соединен с информационным входом регистра команд, выход поля кода операции которого соединен с первым входом кода операции генератора управляющих сигналов, вход логических условий устройства соединен с входом логических условий генератора управ- ляющих сигналов, выход первого поля микроопераций которого является выходом микроопераций устройства, выходы с первого по четвертый второго поля микроопераций генератора управляющих сигналов соединены соответственно с первым и вторым входами синхронизации регистра адреса, с входом разрешения блока памяти, с входом синхронизации регистра команд, вход начальной установки устройства соединен с входом сброса генератора управляющих сигналов, о т л и ч а ю щ е е с я чем, что, с целью сокращения емкости блока памяти за счет обеспечения возможности органиэации п вложенных од на в другую подпрограмм, дополнительно содержит n+1 счетчиков, где п —количество вложенных подпрограмм, счетчик уровня программы, дешифратор, мультиплексор, причем вход начальной установки устройства соединен с вхо дом установки в 0" и-го счетчика и с входом установки в "!1 счетчика уровня программь|, выход которого соедин
7 1417005 8 нен с входом дешифратора, с управляю- той выходы второго поля микрооперащим входом мультиплексора и с вторым ций генератора управляющих сигналов входом кода операции генератора уп- соединены соответственно с входами равляющих сигналов: выходы с первого вычитания и прибавления единицы счетФ:
5 по (и+1)-й дешифратора соединены соот- RHKG уровня пРогРаммы, седьмой выход ветственно с входами разрешения с второго поля микроопераций генератопервого по (n+I)-й счетчиков, инфор- ра управляющих сигналов соединен с мационные выходы которых соединены входами прибавления единицы, с персоответственно с первого по (и+1)-й 10 вого по (n+1)-й счетчиков, восьмой информационными входами мультиплек- выход второго поля микроопераций гесора, группа выходов которого соеди-, нератора управляющих сигналов соенена с второй группой информационных динен с входами синхронизации с первходов регистра адреса, пятый и щес- вого по (n+))-й счетчиков.
1417005
1417005
Составитель А.Сошкин
Редактор Е.Копча Техред Л.Сердюкова Корректор Л.Патай
Тираж 704 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
Заказ 4066/47
Производственно-полиграфическое предприятие, r. Ужгород, ул. Проектная, 4






