Устройство для выполнения условного перехода

Иллюстрации

Показать все

Реферат

 

ОП ИСАНИЕ

ИЗО6РЕТЕН ИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (iij999053

Союз Советсиик

Социалистически к республик (6l ) Дополнительное к авт. свид-ву(51)M. Кл; < 06 Р 9/36 (22)Заявлено 13.10.81 (21) 3345374/18-24 с ярнсоединением заявки М

Гввуаврствевай кемвтет

CCCP ве делам извбретвввв в еткрьттий (23) Приоритет.Опубликовано 23.02.83. Бюллетень М 7 (53) УДК 681.326 (088.8) Дата опубликования описания 25.02.83(72) Автор изобретения

В. Ф.Мелехин

Ленинградский ардена Ленина полит нм. М.И.Калинина (7I ) Заявитель

- (54) УСТРОЙСТВО ДЛЯ ВЫПОЛНЕНИЯ УСЛОВНОГО

ПЕРЕХОДА

Изобретение относится к. вычислитепт ной технике и может быть использовано при управлении такими объектами, как технологичесжие процессы, цромышленные установки, где требуется реализация мно5 гоместных логических функций от векто-ра двоичных переменных, соответствую» щих сигналам на выходах репейных преобразователей, контролирУющих код управляемого технологического процесса илн состояние промьппленной установки: конечных выключателей, измерительных преобразователей,, элементов защиты, переключателей на пульте оператора н т.д.

Известно устройство для реализации. разветвлений в программах при выполне- нии команд условного перехода, содержащее рчетчик команд, счетный вход которого соединен с выходом блока выбора условия перехода, информационные входы то которого соединешт с.источниками осведо мительных сигналов f 1 .

Для каждой многоместной логической функции можно составить бинарные программы, отличающиеся порядком анализа двоичных переменных по числам команд условного перехода. С целью минимизации программ наиболее часто используется алгоритм Поллака.

Минимизация бинарной программы достигается за счет выбора определенного зависящего от реализуемой функции порядка анализа двоичных переменных. При этоя для реализации бинарной программы предварительно требуется распаковка вектора двоичных переменных н засылка выделенных- разрядов в соответствующие

-ячейки блока памяти. Программы распаковки требуют дополнительных затрат памяти и машинного времени прн каждой реализации многоместных логических функций. Затраты времени на распаковку весьма значительны, сравнимы с време,нем выполнения бинарной программы. Это снижает производительность вычислительных машин при логической обработке ин формации, в частности при реализации алгоритмов управления.

Использование жесткого порядка ана лиза разрядов вектора двоичных переме ных, начиная с первого, позволяет искл чить необходимость "распаковки", но пр этом исключается и возможность миним зации бинарных программ, что в общем случае увеличивается объем программ в

2-4 раза. Поэтому такое решение экон мически не оправдано и не используетс

Исключить .необходимость "распаковк вектора при использовании минимизиров

:ных бинарных программ позволяют кома ! ры условного перехода по результату а лиза любого разряда вектора двоичных переменных.

Наиболее близким по технической с ности к изобретению является устройст содержащее регистр сдвига, счетчик и блок управления. Вектор двоичных переменных записывается в регистр сдвига а номер анализируемого разряда помещается в счетчик. Дал э циклически повторяется операция сдвига и вычитания единицы из счетчика, пока -содержимое счетчика не станет равным нулю. В момент обнуления счетчика производится анализ .выбранного разряда и.по, его зн чению выполняется условный переход (2

Недо статком данного устройства явл ется сравнительно большое время выпол нения команды анализа заданного разря да вектора двоичных переменных, связа ное с необходимостью осуществления большого числа сдвигов для выделения требуемого разряда.

Целью изобретения является повышение производительности.

Поставленная цель достигается тем, что в устройство, содержащее блок пам ти, регистр команд, счетчик команд, коммутатор условия перехода, блок мик ропрограммного управления и коммутатор адреса, выход которого соединен с адресным входом блока памяти, управля ющий вход соединен с первым выходом блока микропрограммного управления,вх которого подключен к первому выходу регистра команд, информационный вход которого соединен с информационным вь ходом блока памяти, информационный вход которого является информационным входом устройства, первый информационный вход коммутатора адреса подключен к выходу счетчика команд, второй информационный вход подключен к второму выходу регистра команд, третий информационный вход - подключен к третьему выходу регистра команд, информационнь вход счетчика команд подключен к инфор999053 4 мационному выходу блока памяти, чет- . и ный вход счетчика команд соединен с выю- ходом коммутатора условия перехода, и первый вход которого является управляюи- щим входом устройства, управляющие входы блока памяти, регистра команд, счетчика команд и коммутатора условия перео- хода соединены с вторым выходом блока я..микропрограммного управления. введен; и 10 .коммутатор информации, первый вход коан- торого подключен к информационному выхон-, ду блока памяти, второй вход подключен на к третьему. выходу регистра команд, выход соединен с вторым входом коммута1S тора условия перехода. ущ На фиг. 1 представлена схема устройво ство; на фиг. 2 - временная диаграмма работы устройства; на фиг. 3 — схема счетчика команд; на фиг. 4 — схема ком20 мутатора условия перехода.

Устройство содержит блок 1 памяти, регистр 2 команд, счетчик 3 команд, коммутатор 4 условия перехода, блок 5 микропрограммного управления, коммута«

2$ тор 6 адреса с входом 7, выход 8 блока 5, выходы 10-12 регистра команд, а информационные входы 13-15 коммутатора 6, коммутатор 16 информации, вкс я ды 17 и 18 коммутатора 4, счетный щ вход 19 счетчика команд, адресный вход

20 блока памяти, информационные вход н 21 и выход 22 блока памяти, управляк щие входы 23-26; выход 27 блока микропрограммного управления; управляющий вход 28 коммутатора 16, узел 29 памяти микропрограмм, регистр 30 адреса микрокоманд; регистр 31 микрокоманд, узел группы элементов И 32, генератор

33 тактовых импульсов, адресный выход

34. и управляющий выход 35 регистра микрокоманд, выход 36 группы элементов И, тактовый вход 37 узла 29; вход

38 группы элементов И; тактовый вход

39 регистра микрокоманд, счетчик 40, логический преобразователь 41, вход 42 од и выход 43 счетчика; выходы 44 и 45 преобразователя 41, элементы И 46-49; элементы ИЛИ 50 и 51, мультиплексор

52, элемент ИЛИ 53.

Цикл обращения Т, к блоку памяти; моменты изменений управляющих сигналов 0 > 0 - 0, Ц <, 0 „ 0

Работа устройства рассматри3ается при выполнении команды условного перехода по значению двоичной переменной в блоке 1 памяти.

Команда считывается из блока 1 па,й мяти по адресу, код которого находится в счетчике 3 команд, и записывается

3 - 999053 4 в регистр 2 команд. В этом же цикле ра- Временная диаграмма работы устройботй устройства в счетчике 3 команд фор ства (фиг. 2) содержит два цикла Т> мируется адрес следующей команды. При, работы устройства; цикл считывания копринудительной адресации команд код манды условного перехода по значению адреса следующей команды поступает с 5 двоичной переменной в блоке 1 памяти.и информационного выхода блока l памяти, цикл ее выполнения. Каждый пикл Т как часть кода считанной каманды и запи.. разделен на 4 такта. сывается в счетчик 3. При естественной Микрокоманде имеет два поля: ацреон адресации команд «од адреса следук)щей ное, которому соответствует выход 34, команды получается прибавлением едини-- t4 и управляк)щее, которому соответствует цы к.содержимому счетчика 3. выход 35. Поле управляющих сигналов

Код операции с выхода 10 поступает содержит несколько подполей кодирования в регистр.30 адреса микрокоманд блока управляк)щих сигналов.

5 мю ропрограммного управления. Поп Х 1) - пла копвроваввя упраннявуправлением блока 5 выполняется следук r5, щего сигнала U З. щая мнкрокоманда: считывание операнда Х (3:2 ) для кодирования управляющих из блока 1 памяти по адресу, поступаю- сигналов Ц2 . (2:1);

35 щему с выходов 11 регистра 2 команд Х (5:43 - для кодирования yapaamrr orrrrrrr через вход 13 коммутатора 6 адреса, и сигналов 0>5(2 1); передача его на вход коммутатора 16 20,ХЗ (8:6) - для кодирования управлякя6а информации; выделение коммутатором 16 сигналов 0 (3:1); из ойеранда разряда, код номера которо- Х фО:9) - для кодирования управляющих го поступает с выхода 12 регистра 2 сигналов U (2:11; каканд на вход 28 коммутатора 16; Х (11) — дпя кодирввания управпяющепередача выделенного разряда через вход 5 ЗЬ

17 ксымутатора 4 на счетный вход 19 В узле 32 выполняется синхрониза,и прибавление его значения (О нли 1 ) ция управляющих сигналов тактовыми и содержимому счетчика 3. импульсами в соответствии с временной

При выполнении микрокоманды из бло- диаграммой (фнг. 2) ка 5 на УпРавпЯющий вход 24 блока 1 рву 0 Х (1) Х (1 С (3)

Я3 гЧ = ЗЗ ЗЗ

0 @ (2:1 -" ХУ (3:2)-=ХУ(3 .2) (СЗЗ (29

+СЗЗ 3 +СИЗ

ОУ5(2:1)=kg 55:4 ХЗ5(5:4) Cgg(4);

О „Г3.13-Х (8:6>=Х 8:6 3. (С (3) код 11; на управляющий вход 26 комму- 2Ь 21) 35 Я

55 + ЗЗ(4 ) татора 4 подается код ОООе

Ugr, (2:l)(Xygfll) р X3gjll)) (С g(2p микрокоманду и выполняется за один цикл обращения к блоку памяти. rae Хз fj j- сигнал на выходе 3 -го

На структурном уровне представления разряда регистра микрокоманд 31; устройства его работа рассматривается СЗ5 (j3-}- j такт на выходе генев дискретном времени, за дискрет принят . ратора 33 тактовых импульсов 1-1,4; цикл обращения к блоку 1 памяти. В за- О - знак конкатенации. висимости от конкретной реализации .бло- <5 Рассмотрим работу блока 5 микрока 1, в частности, от типа больших ин- программного управления прн считывании тегральных схем этот цикл может быть и выполнении команды анализа двоичной различным и ему соответствует различ- переменной B блоке памяти. (фиг. 2). В ная временная диаграмма сигналов на ин- первом такте на управпякаций вход 37 формационном 21, управляющем 24. и узла 29 памяти микропрограмм поступаадресном 20 входах блока l памяти и ет сигнал, обеспечивающий считывание на его информационном выходе 22. Дпя кода из ячейки по адресу, поступающему реализации требуемой временной днаграм- из регистра 30 адреса микрокоманд. Во

Mbr цикл делится На такты с помощью втором такте под действием синхронизитактовых импульсов, вырабатываемых рующего импульса на входе 39 считыван генератором 33 в блоке 5 микропрограм- ный код микрокоманды записывается в

55 много управления, и управляющие сигналы регистр 31 микрокоманд. Адресный код

:синхронизируются соответствующими. так- с выхода 34 поступает на вход регистра товыми импульсами. 30 адреса. мийрокоманд, управляющий

7 9990 код 35 - на вход группы элементов И.

С выходов 8 и 27 блока 5 микропрограммного управления во втором, третьем и четвертом тактах поступают управляющне сигналы 00,01, 1, обеспечивающие счи- и тывание команды из блока, 1 памяти по адресу из счетчика 3 команд и запись ее в регистр 2 команд, а также управляющий сигнал 10, обеспечивающий формирование адреса следующей команды. Уп-. равляющие сигналы синхронизированы тактовыми импульсами в соответствии с вре- менной диаграммой. С выхода 36 на управляющий вход регистра 30 адреса микро, команд поступает управляющий сигнал

10, обеспечивающий запись в него кода, поступающего с.выхода 10 регистра 2 команд.

В следующем цикле работы устройства обеспечивается выполнение команды. В 26 первом такте осуществляется считывание соответствующей микрокоманды из узла

29 памяти микрокоманд и запись ее в начале вторЬго такта в регистр 31. Во втором, третьем и четвертом тактах фор- И мируются управляющие сигналы, обеспечивающие выполнение команды, как было описано выше. На выходе 36 формируется управляющий сигнал 01, обеспечи. вающий запись в регистр 30 адреса мик- 36

Ь рокоманд адрес следующей микрокоманды, поступающий с выхода 34. Это должна быть микрокоманда считывания следующей команды из блока 1. памяти.

Применение предлагаемого устройства позволяет исключить затраты памяти на программы распаковки векторов двоичных переменных и повысить производительность вычислительных машин при программной реализации многоместных логических фун- кций.

Формула изобретения

Устройство для выполнения условного перехода, содержащее блок: памяти, регистр команд, счетчик команд, коммутатор условия перехода, блок микропрограммного управления и коммутатор адреса, выход которого соединен с адресным входом блока памяти, управляющий вход соединен с первым выходом блока микро- программного управления, вход которого подключен к первому выходу регистра ко манд, информационный вход которого соединен с информационным выходом блока памяти, информационный вход которого являетсй информационным входом устройст ва, первый информационный вход коммутатора адреса подключен к выходу счетчи« ка команд, второй информационный вход подключен к второму выходу регистра команд, третий информационный вход подклю чен к третьему выходу регистра команд, информационный вход счетчика команд подключен к. информационному выходу блока. памяти, счетный вход счетчика команд соединен с выходом коммутатора условия перехода, первый вход которого является управляющим входом устройства, управляющие входы блока памяти, регис ра команд, счетчика команд и коммутатора условия перехода соединены с вторым выходом блока микропрограммного управления, о т л и ч а ю щ е е с я тем, что, с целью повышения производите п .ности, в него введен коммутатор информации, первый вход которого подключен к информационному выходу блока памяти, второй вход подключен к третьему выходу регистра команд, выход соединен с вторым входом коммутатора условия перехода.

Источники информации, принятые во внимание при акспертизе

1. Таненбаум Э. Многоуровневая ор-: ганизация. ЭВМ. М., Мнр, 1979, с. 256-281.

2. Опубликованная заявка Японии

34 54-4584, кл. С 06 F9/12,,1979 (прототип) .