наиболее часто используемые подпрограммы.
Целью изобретеиия является увеличение гибкости программирования.
Для этого устройство содержит доиолнительную область памяти, триггер управления, иервую и вторую группы элементов И, дешИфратор адреса дополнительной области памяти, причем первый и второй входы триггера управления соединены соответственно с третьим и четвертым выходами микропрограммного автомата, управляюш,ие входы элементов И первой и второй групп соедииены соответственно с прямым и обратным выходами триггера управлеиия, информационные входы элементов И нервой н второй групп соединены с выходом блока формирования исполнительных адресов, а выходы элементов И первой и второй групп соединены с входам и деишфраторОБ адреса основной и дополнительной Области памяти, а выход дешифратора адреса доиолнительной области памяти соединен с третьим адресным входом блока памяти.
На чертел е представлена блок-схема устройства уиравления.
Устройство управления содержит блок памяти, в состав которого входят хранящая часть 1, дополнительная область 2 и функциоиальная часть 3, дешифраторы адреса основной 4 н дополнительной 5 областей, блок 6 формирования импульсов настройки, блок 7 переключения выходных имиульсов, микропрограммный автомат 8, регистр 9 ::ода операций, формирователь 10 запнсч слова памяти, блок 11 формирования исиолиительных адресов, элементы И первой группы 12, элементы И второй группы 13 и триггер 14 управления.
Устройство работает следующим образом.
В хранящей части 1 блока памяти находится программа в виде последовательности команд и операнды, над которыми команды производят предписанные им действия. Каждой команде соответствует микропрограмма в виде последовательности управляющих слов-микрокоманд, предписывающих выдачу определенных уиравляющих сигналов в заданные единицы автоматного времени. Все микропрограммы находятся в микропрограммном автомате 8, который может быть выполнен как с жесткой, т. е. схематехнической, так и с программируемой логикой. Инициируются микропрограммы кодом команды, который из регистра 9 кода операций передается в микропрограммный автомат 8, указывая адрес первой микрокоманды микропрограммы, соответствующей заданной команде. Поразрядные логические операции над словами выполняются в функциональной части 3 иакопителя с помощью блока 6 формирования импульсов настройки, который
по сигналам от микропрограммного автома-та 8 выдает совокупность различных по амплитуде и полярности имиульсов тока, которая настраивает магнитные сердечни ки функциональной части иакопителя как пороговые элементы на выполнение операций. Сдвиги реализуются путем соответствующего подключения блока 7 переключения выходных имиульсов к входам формирователей 10 записи слова памяти. Арифметические операции реализуются микропрограммным способом, поэтому отсутствует имеющееся обычно арифметико-логическое устройство. В исходном состоянии триггер 14 управления находится в положении «1.
При выборе очередной команды в хранящей части 1 блока памяти возбуждается соответствующий адрес и на разрядных выходах накопителя появляется слово выбранной команды. Полиоразрядное слово команды разделено на следующие поля; поле кода операции (КОП), поле адреса перехода (АП), поле адреса первого операнда (А1) и иоле адреса второго операнда (А2). В момент выбора слова команды микронрограммный автомат 8 выдает совокупность управляющих сигналов, которая о беспечивает запись слова с выходов накопителя через блок 7 в формирователь 10 записи слова памяти с последующей перезаписью этого слова в тот же самый адрес хранящей части 1. Одновременно с записью в адрес хранящей части 1 обеспечивается запись слова команды в ячейки функциональной части 3. В следующую единицу автоматного времени возбуждается одна из ячеек функциональной части 3, хранящая слово команды, и на информационных выходах блока памяти вновь иоявляется слово команды, однако теперь совокупность управляющих сигналов микропрограммного автомата такова, что поле КОП через блок 7 переключения выходных импульсов передается на регистр 9 кода операции, а поле А1 передается в блок И формирования исполнительных адресов и далее через первую группу элементов И 12 сформированный из принятого и базового (если имеется базирование) исполнительный адрес иередается на дещифратор 4. В следующую единицу автоматного времени возбуждается адрес, хранящий первый операнд, и на разрядных выходах накопителя появляется слово первого операида, которое затем переписывается в хранящую часть 1 с одновременной заиисью в требуемые ячейки функциональной части 3. Код команды из регистра 9 кода операции передается в микропрограммный автомат 8, указывая там адрес первой микрокоманды из выбранной последовательности. Дальнейшая работа устройства по исполнению команды полностью определяется выбранной микропрограммой. В последней микрокоманде всякой микропрограммы выдается совокупность управляющих сигналов, осуществляющих выбор из функциональной части 3 слова исполненной команды и передачу поля адреса перехода через блок 7 в блок 11 формирования исполнительных адресов. При этом ключи блока 7 не включаются и слово с информационного выхода блока памяти не записывается на формирователь 10 записи слова памяти. В следующую единицу автоматного времени будет выбрано слово следующей команды н так далее до конца программы.
Во многих программах можно выделить одинаковые однократно программируемые участки - подпрограммы. Часто возникают ситуации, когда отдельные подпрограммы используются столь же часто, как и команды. Такие подпрограммы и вспомогательные операнды в устройстве хранятся в дополнительной области 2. Причем имеется специальная команда перехода к дополнительной области и специальная команда возврата в основную область. В слове команды перехода к дополнительной области указывается: в поле КОП - двоичный код операции; в поле АП - адрес первой команды подпрограммы в дополнительной области 2; в полях А1 и А2 - адреса операндов из основной области. Ячейки функциональной части 3 подключены к выходам дешифратора дополнительной области. При расщифровке кода команды перехода к дополнительной области микропрограммный автомат 8 выдает совокупность управляющих сигналов, обеспечивающую запись в функциональную часть 3 второго операнда. После этого выдается управляющий сигнал, переключающий триггер управления в состояние «О, ;в результате чего закрываются элементы И 12 и открываются элементы И 13. В следующую единицу автоматного времени выполняется последняя микрокоманда, которая передает в блок 11 формирования исполнительных адресов адрес перехода, который через элементы И 13 поступает на дешифратор дополнительной области 5. Далее происходит выбор команд в последовательности, заданной подпрограммой. Так как ячейки функциональной части являются адресами дополнительной области, возможно использование подпрограммой дополнительной области Операндов, введенных в функциональные линейки. Конечной команде всякой подпрограммы соответствует микропрограмма, которая переключает триггер 14 управления в состояние «1 н передает управление команде основной области, адрес которой получается модификацией (арифметической или логической) адреса команды, передавшей управление дополнительной области. При необходимости в список команд вводятся команды пересылки операндов из основной области в дополнительную, и наоборот. .Микропрограммы этих команд отличаются от микропрограмм обычных пересылок только переключением в требуемый момент времени триггера 14 управления.
Такая организация областей памяти позволяет экономить по две ячейки памяти при каждом обращентп к подпрограмме дополнительной области. Эти лве ячейки
использовались бы для колтнд засылки операндов в подпрограмму. При З11ачт1тельном количестве стандартных подпрограмм число сэкономленных ячеек столь велико, что позволяет дополнительно разместить в
памяти управляющие программы, которые ранее туда не полещались. Так. например, если имеется всего 25-30 обращений к стандартным подпрограммам, что является нижним пределом для управляющих программ средней сложности в АСУ технологическими процессами или в интерполяторах систем числового программного управления, то дополнительно люжно разместить в памяти программу из 50-60 команд, что
для ряда объектов управления имеет принципиальное значение. Это иозволяет расширить функциональные возможности и области применения конкретных управляТ11ЦИХ ЦВМ. Слова команд перехода к разным подпрограммам дополнительной области имеет одинаковый код операции, но разные адреса переходов. После того, как составлена подпрограмма дополнительной области при программттроваттпи в основной
области, их можно рассматривать как дополнительные команды, ктьт которых состоят из ДВУХ полей: поля КОП li поля АП. т. е. имеется рясширентю потя КОП за счет поля АП. У пользоватетя появляются
дополнительные возможности по измене}ию списка команд для лучшего согласования управляющих ЦВ.М с параметрами объекта. Если микропрограммный автомат 8 будет отрабатывать последовательности
микрокоманд, соответствующие небольшому числу основных команд, например логическим операциям, сдвигам, передачам п сложению - вычитанию н т. п.. а все более сложные команды, такие как умножение. деление и т. ц., будут выполняться программным путем, то с одной стороны тля программиста в основной области при использовании таких команд нет принципиальных отличий от основных команд.
реализуемых микропрограммным автоматом 8. и с другой стороны пользователь получает возлюжность по своему усмотрению и своими силами создать список команд. Т1 иболее подходящий к данному объекту
vпpaвлeния, а при перемене об1.екта управления вновь изменить список команд. Приче.т пг)ограммирование сложных команд практически не отличается от программирования упрпр.дяющих программ и
/голчст быть произведено программистами,
имеющими одинаковую подготовк}. Это особенно актуально для недорогих управляющих ЦВМ, рассчитанных на широкий класс объектов управления. В таких ЦВМ различные объекты управления даже, и такой операции, как умножение, предъявляют различные требования. Для одних требхется повышенная точ-ность, для других - Уменьпгенное среднее или для определенных кодов время исполнения и т. д. Изготовлять для каждой модификации объекта свой микропроградтмньтй автомат дорого и не позволяет пользователю полиостью пписпособить уже имеющиеся v него маигины к особенностям новых объектов управления, так как в них уже имеется оппеделенньтй микронрограммный автомат. Если микропрограммы в дтикропрограммном автомате хранятся в постоянной Памяти или в основном ЗУ, то пользователю требуется ячать все тонкости действия управляющих сигналов, число которых может быть несколько сотен, и микропрограммирование в машине. По составленным микропрограммам потребуется либо переспрашивать постоянное ЗУ, либо мен.ять содержимое памяти микрОПТ)ограмм в основном ЗУ. Программирование в этом случае представляет .значительные трудности и силаМИ самого пользователя его осуществить затруднительно, в то время как в предлагаемом устройстве число команд, исполняемых микропрограммным автоматом 8, не Превыщает нескольких десятков и для уяонеция их трйстВИй и составления ПОДпрограмм сложных команд не требуется знать всех тонкостей аппаратуры.
В случае применения устройства в интерполяторе ИЦО-П-1010 (аналогичном прототипу), для которого оно разоабатьтвалось, можно сэкономить 8% объема ЗУ. Кроме того, при составлении программ пользователь сэкономит В среднем 15-20% времени, идущего обычно на программирование и отладку -программ за счет облегчения программирования в основпой области и частичных изменений СП-иска команд при переходе от одного вича интерполяции к другому.
Формула изобретения
Устройство управления, содержащее блок памяти, блок переключения выходных импульсов, блок формирования импульсов
настройки, микропрограммный автомат, регистр кода операций, блок формирования исполнительных адресов, формирователь записи слова памяти, дешифратор адреса
основной области памяти, -причем выход дешифратора адреса основной области памяти сое.цинен с первым адресным входом блока памяти, информационные выходы которого соединены с информационным вхолом блока переключения выходных ИМПУЛЬСОВ, управляющий ВХОД которого соединен с первым выходом микропрограммного автомата, второй выход котооого подключен к входу блок Формирования
импульсов настройки. выход КОТОРОГО подключен к второму адресному входу блока памяти, первый, второй, третий выходы блока переключения выходных импульсов подключены соответственно к входу регистра кода операции, входу бл-ОКа формирования исполнительных адресов, входу формирователя записи слова памяти, выход которого подключен к информационному входу блока памяти, выход регистра кота операций соединен с вхояодт микропрогряммного автомата, отличающееся тем, что, с целью лтзеличения гибкости программирования, оно содержит дополнительную область -памяти, триггер управлеПИЯ. первую и вторую группы элементов И, тептифратор адреса дополнительной области памяти, причем -первый и второй входы триггера управления соединены соответственно с третьим и четвертым выходами микропрограммного автомата, управляюш-ие входы элементов И первой и второй соединены соответственно с прямым и обратным выходами триггера управления, информационные входы элементов И
гт- -пчой и второй групп соединены с выходом блока формирования исполнительных адресов, а выходы элементов И первой и второй групп соединены с входами дешифраторов адреса осн-овной и дополнительной
о-эласти памяти, а выход дешифратора адреса дополнительной обла-сти памяти соедтшен с третьим адресным входом блока памяти.
Источники информации,
принятые во внимание при экспертизе
1.Патент США № 3859636, кл. G 06 F 9/16, 1975.
2.Авторское свидетельство СССР № 448789, кл. G 05 В 19/18, 27.07.72.
название | год | авторы | номер документа |
---|---|---|---|
Микропрограммный процессор | 1982 |
|
SU1070557A1 |
Устройство микропрограммного управления | 1974 |
|
SU528568A1 |
Микропрограммное устройство управления | 1974 |
|
SU519711A1 |
Устройство адресации многопроцессорной вычислительной машины | 1983 |
|
SU1129613A1 |
Процессор с микропрограммным управлением | 1983 |
|
SU1149273A1 |
Управляющая векторная вычислительная система | 1982 |
|
SU1120340A1 |
Микропрограммный процессор | 1987 |
|
SU1553984A1 |
МИКРОПРОГРАММНОЕ УСТРОЙСТВО УПРАВЛЕНИЯ | 1993 |
|
RU2079876C1 |
Имитатор канала | 1990 |
|
SU1714606A1 |
Мультимикропрограммная управляющая система | 1983 |
|
SU1133594A1 |
Авторы
Даты
1979-02-28—Публикация
1976-07-12—Подача