(54) УСТРОЙСТВО ДЛЯ ВЫПОЛНЕНИЯ УСЛОВНОГО ПЕРЕХОДА
название | год | авторы | номер документа |
---|---|---|---|
Устройство для табличной реализации многоместных логических функций | 1982 |
|
SU1019455A1 |
Устройство для выполнения команд реализации систем многоместных логических функций | 1981 |
|
SU999051A1 |
Устройство для управления операцией записи | 1981 |
|
SU1003091A1 |
Табличный процессор | 1982 |
|
SU1108446A1 |
Устройство для организации мультиветвления процессов в электронной вычислительной машине | 1980 |
|
SU922743A1 |
Процессор с микропрограммным управлением | 1983 |
|
SU1149273A1 |
Микропрограммное устройство управления | 1987 |
|
SU1522203A1 |
Устройство для распаковки команд | 1984 |
|
SU1196865A1 |
Устройство для сбора диагностической информации о формировании адресов переходов микропрограмм | 1983 |
|
SU1290328A1 |
Процессор для мультипроцессорной системы | 1985 |
|
SU1295410A1 |
1
Изобретеше отиосвтся к вычислитель ной технике н мохсет быть исполь зовано при управлении такими объектами, как технологичесжие процессы, промьшшенные установки, где требуется реашизахгая многоместных логических функций от векто-. ра двоичных переменных, соответствук щих сигналам на выходах релейных пре образователей, контрол уюших код управляемого технологического процесса или IQ состояние промьгашенной установки: конечных выключателей, измерительных преобразователей, ;апементов зашиты, переключателей на пульте оператора и т.д.
Известно устройство для реализации is разветвлений в программах при выполнении команд условного перехода, содержащее ;четчик команд, счетный вход которого соединен с выходом блока выбора условия перевода, информационные входы 20 Которого соединены с источниками осведо мвтельных сигналов til
Для каждой многоместной логической функции можно составить бинарные про-
2
грамья.1, отличающиеся порядком анализа двоичных переменных по числам команд условного перехода. С целью минга изации программ наиболее часто используется алгоритм Поллака.
Минимизация бинарной программы достщается за счет выбора определенного зависящего от реализуемой функции порядка анализа двоичных переменных. При этоя для реализации бинарной программы предварительно требуется распаковка вектора двоичных переменных и засылка выделенных разрядов в соответствующие ячейки блока памяти. Программы распаковки требуют дополнительных затрат памяти и машинного времени при каждой реализации многоместных логических функций. Затраты времени на распаковку весьма значительны, сравнимы с време,нем выполнения бинарной программы. Это снижает производительность вычислительных машин при логической обработке информации, в частности при реапвзацни алгоритмов управления. , Использование жесткого порядка анализа разрядов вектора двоичшх переменных, начиная с первого, позволяет искпк чить необходимость распаковки, но при этом исключается и возможность минимизации бинарных программ, что в общем случае увеличивается объем программ в 2-4 раза. Поэтому такое решение эконо мически не оправдано и не используется, Исключить необходимость распаковки ёктора при использовании минимизирован дных бинарных программ позволяют (ды условного перехода по результату анализа любого разряда вектора двоичных . переменных. Наиболее близким по технической сущ ности к изобретению является устройство содержащее регистр сдвига, счетчик и блок управления. Вектор двоичных переменных записывается в регистр сдвига, а номер анализируемого разряда помещается в счетчик. циклически повторяется операция сдвига и вычитания единицы из счетчика, пока-содержимое счетчика не станет равным нулю. В момент обнуления счетчика производится анализ .выбранного разряда и.по. его значению выполняется условный переход 2 Недостатком данного устройства явля- етсясравнительно большое время выполнения команды анализа заданного разряда вектора двоичных переменных, связанное с необходимостью осуществления большого числа сдвигов для выделения требуемого разряда. Целью изобретения является повышение производительности. Поставленная цель достигается тем, что в устройство, содержащее блок памяти, регистр команд, счетчик команд, коммутатор условия перехода, блок микропрограммного управления и коммутатор адреса, выход которого соединен с адресным входом блока памяти, управляющий вход соединен с первым выходом блока микропрограммного управления,вход которого подключен к первому выходу регистра команд, инфор ационный вход которого соединен с информационнь1м выходом блока памяти, информационный вход которого является информационным входом устройства, первый инфopv aциoнный вход коммутатора адреса подключен к выходу счетчика команд, второй информационный подключен к второму выходу регистра команд, третий информадиойный вход - подключен к третьему выходу регистра команд, инфо{хи|ационный вход счетчика команд подключен к инфо{ мационному выходу блока памяти, счетный вход счетчика команд соединен с выходом коммутатора условия перехода, первый вход которого является управпяющим входом устройства, управляющие входы блока памяти, регистра команд, счетчика команд и коммутатора условия перехода соединены с вторым выходга блока микропрограммного управления, введен. .коммутатор информа дии, первый вход которого подключен к информационному выхоДУ блока памяти, второй вход подключен к третьему.выходу регистра команд, выход соединен с вторым входом коммутатора условия перехода. На фиг. 1 представлена схема устройства; на фиг. 2 - временная диаграмма работы устройства; на фиг. 3 - схема счетчика команд; на фиг. 4 - схема ком мутатора условия перехода. Устройство содержит блок 1 Памяти, регистр 2 команд, счетчик 3 команд, коммутатор 4 условия перехода, блок 5 микропрограммного управления, коммутатор 6 адреса с входом 7, выход -8 блока 5, выходь 1О-12 регистра , информационные входы 13-15 коммутатора 6, коммутатор 16 информации, входы 17 и 18 К лмутатора 4, счетный вход 19 счетчика .команд, адресный вход 20блока памяти, информационные вход 21и выход 22 блока памяти, управяяк щие входы 23-26; выход 27 блока микропрограммного управления; управляющий вход 28 коммутатора 16, узел 29 памяти микропрограмм, регистр ЗО адреса к рсрокоманд; регистр 31 микрокоманд, узел группы элементов И 32, генератор 33тактовых импульсов, адресный выход 34и управляющий выход 35 регистра микрокоманд, выход 36 группы элеме тов И, тактовый вход 37 узла 29; вход 38группы элементов И; тактовый вход 39регистра микрокоманд, счетчик 40, логический преобразователь 41, вход 42 и выход 43 счетчика; выходы 44 и 45 преобразователя 41, элементы И 46-49; элементы ИЛИ 50 и 51, мультиплексор 52, элемент ИЛИ 53. Цикл обращения Т. к блоку памяти; моменты изменений управляющих сигналов U:,,U23-U2j.Ujj,U3-jHU . Работа устройства рассматривается при выполнении команды условного перехода по значению двоичной переменной в бпоке 1 памяти. Команда считывается .из блока 1 памяти по адресу, код которого находится в счетчике 3 команд, и записывается S9 в. регистр 2 команд. В этом же цикле работы устройства в счетчике 3 команд фо{ мируется адрес следующей команды. При. принудительной -адресации команд код адреса следующей команды поступает с информационного выхода блока 1 памяти, как часть кода считанной команды и зап№ сывается в счетчик 3. При естестЬенной адресации команд код адреса следующей команды получается прибавлением к-содержимому счетчика 3, Код операции с выхода 10 поступает в регистр ЗО адреса микрокоманд блока 5 микропрограммного управления. Под управлён«юм блока 5 выполняется следу1О щая микрокоманда: считывание операнда из блока 1 памяти по адресу, поступающему с выходов 11 регистра 2 команд через вход 13 коммутатора 6 адреса, и передача его на вход коммутатора 16 информации; выделение коммутатором 16 .из операнда разряда, код номера которого поступает с выхода 12 регистра 2 команд на вход 28 коммутатора 16; передача выделенного разряда через вход 17 коммутатора 4 на счетный вход 19 .и прибавление его значения (О или 1 к содержимому счетчика 3. При выполнении микрокома ндь1 из бло ка 5 на управляющий вход 24 блока 1 памяти поступает код. обеспечивающий режим считывания, на вход 7 кгалМутатора 6 адреса поступает код О1, на управляющий вход 25 счетчшса 3, поступает код 11; на управляющий вход 26 ксмму- татора 4 подается код ООО. л. Микропрограмма, соответствуютЦая рассматриваемой ксялавде, содержит одну микрок(%(анду и выполняется за один цикл обращения к блоку памяти. На структурном уровне представления устройства его работа рассматривается в дискретном , за дискрет принят цикл обращения к блоку 1 памяти. В зависимости от конкретной реализации блока 1, в частности, от типа больших интегральных схем этот цикл может быть различным и ему соответствует различная временная диаграмма сигналов на информационном 21, управляющ 24 и адресном 20 входах блока 1 памяти и на его информационнс 4 ш 1ходе. 22. Для реализации требуемой временной диаграммы цикл делится на такты с помощью тактовых импульсов, выр абатываемых генератором 33 в блоке 5 микропрограммного управления,, и управляющие сигналы :синхронизируются соответствующими тактовыми импульсами 53.4 Вретденная диаграмма работы устройства (фиг. 2) содержит два цикла Т работы устройства; цикл считывания ко манда 1 условного перехода по значению двоичной переменной в блоке 1 памяти и никл ее выполнения. Каждый цикл Тц ;разделен на 4 такта. Микрокоманда имеет два поля: адреон ное, которому соответствует выход 34, и управляющее, которому соответствует выход 35. Поде управляющих сигналов содержит несколько подполей кодирования управляющих сигналов. XjJl - для кодирования у1фавля1 V щего сигнала Uj,; 2}-для кодирования управляющих сигналов U24D2:1 ; Г5:4} - для кодирования управляющих сигналов U25 2:l3; - для кодирования управляющих сигналов U2jjf3:l ; Хз5р-О: Э - для кодирования управляющих сигналов U-, - для копирования управляющего сигнала jfe . В узле 32 выполняете синхрониза- иия управляющих сигналов тактовыми импульсами в соответствии с временной диаграммой (фиг. 2) 23 X2 Cl Xз5tl CззCЗ ; - 2ri X2nE3:2 X3V 3:2.(C« 2 --.;е r,,-i.i, riM - 33 - +Сзз1:з -ЮззС43 ; U 25 С2:13 Х2-, С5:4 Хз5С5:4 СззС4 ; - СЗ:1 Х2; 8:6 Хз7С8:б (C CSl-f ч-с Г41).. rTlO-qlUT L - --J-Л-О : I A-ljr I J.VJ .У J , - Р - изь t2:lHX35tlllo Xgstll) ( -ЮзДЗ ; ® 35 сигнал на выходе 1 -го разряда регистра микрокоманд 31; . - . - - - . - --,-,у C;j5 LJl-J-j такт на выходе генератора 33 тактовых импульсов ,4; О - знак конкатенации. Рассмотрим работу блока 5 микропрограммного управления при считывании и выполнении команды анализа двоичной переменной в блоке памяти (фиг. 2)..В первом такте на управляющий вход 37 узла 29 памяти микропрограмм поступает сигнал, обеспечивающий считывание кода из ячейки по адресу, поступающему из регистра ЗО адреса микрокоманд. Во втором такте под действием синхронвэЕН рующего импульса на входе 39 считываемный код микрокоманды записывается в регистр 31 микрокоманд. Адресный код с выхода 34 поступает на вход регистра 30 адреса, микрокоманд, управляющий ,
код 35 - на вход гругагы элементов И. С выходов 8 в 27 блока 5 микропрограммного управлеввя во втором, третьем и
четвергам тактах поступают управляющие сигналы 00,01,1, обеспечивающие счи- 5 тыванве команды из блока, 1 памяти по адресу из счетчика 3 команд и запись ее в регистр 2 команд, а также управляющий сигнал 10, обеспечивающий формирование адреса следующей команды. Уги равляющие ригналы синхронизированы тактовыми импульсами в соответствии с временной диаграммой, С выхода 36 на уп- равляющий вход регистра 30 адреса микро, команд поступает управляющий сигнал 10, обеспечивающий запись в него кода, поступающего с .выхода 10 регистра 2 команд.
В следующем иИклс работы устройства обеспечивается выполнение команды. В 20 первом такте осуществляется считывание соответствующей микрокоманды из узла 29 памяти микроксманд и запись ее в на-, чале вторЬго такта в регистр 31. Во BTopoMj третьем и четвертом тактах фор- 2$ мируются управляющие сигналы, обеспечивающие выполнение командь, как было описано выше. На выходе 36 формируется управляющий сигнал 01, обеспечивающий запись в регистр 30 адреса мик- 30 рокоманд адрес следующей микрокоманды, постугшющий с выхода 34. Это должна быть микрокоманда считывания следующей команды из блока 1 памяти.
Применение предлагаемого устройства jj позволяет исключить затраты памяти на программы распаковки векторов двоичных переменных и повысить производительность вычислительшлх мащин при программной . реализации многоместных логических кций.
Формула изобретения
Устройство для выполнения условного перехода, содержащее блок: памяти, ре-
гистр команд, счетчик команд, коммутатор условия перехода, блок микропрограммного управления и коммутатор адреса, выход которого соединен с адресным входом блока памяти, управляющий вход соединен с первым выходом блока микропррграммного управлеиия, вход которого подключен к первому выходу регистра ко манд, информационный вход которого соединен с информационным выходом блока памяти, информационный вход которого являетсй информационнь1М в:(:одом устройст ва, первый информационный вход коммутатора адреса подключен к выходу счетчика команд, второй информационный вход подключен к второму выходу регистра команд, третий информационный вход подключен к третьему выходу регистра команд, информационный вход счетчика команд подключен к информационному выходу блока памяти, счетный вход счетчика команд соединен с выходом коммутатора условия перехода, первый вход которого является управляющим входом устройства управляющие входы блока памяти, регис ра команд, счетчика команд и коммутатора условия перехода соединены с вторым выходом блока микропрограммного управления, отличающееся тем, что, с целью повышения производительности, в него введен коммутатор инфо1 мации, первый вход которого подключен к информационному выходу блока памяти, второй вход подключен к третьему выходу регистра команд, выход соединен с вторым входом коммутатора условия п&рехода.
Источники информации, принятые во внимание при экспертизе
с. 256-281.
фаг.Т
Фнъ.2.
Авторы
Даты
1983-02-23—Публикация
1981-10-13—Подача