Устройство микропрограммного управления

Иллюстрации

Показать все

Реферат

 

11 11 528568

ОПИСАНИЕ

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

Социалистических

Республик ю на т! ек и9сои 3

1ет е, фД=>Д

К АВТОРСКОМУ СВИДЕт СТВ

1 к1 тбитно

1 (61) Дополнительное к авт. свид-Ь (22) Заявлено 02.09.74 (2!) 2074068/24 с присоединением заявки ¹ (23) Приоритет

Опубликовано 15.09.76. Бюллетень № 34 (51) Ч. Кл.з- G 06F 9/16

Государственный комитет

Совета Министров СССР до делам изобретений и открытий (53) УДK 681.325(088.8) Дата опубликования описания 16.11.76 (72) Авторы изобретения

В. Н. Алексеев, Л. Д. Голованев, С. Н. Домарацкий, В. Г. Колосов и В. В. Талдыкин (71) Зайвптел1

Ленинградский ордена Ленина политехнический институт им. М. И. Калинина (54) УСТРОЙСТВО МИКРОПРОГРАММНОГО УПРАВЛЕНИЯ

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

Известно устройство микропрограммного управления, содер>кащее память микрокоманд с выходным регистром микрокоманд, дешифратор микрокоманд, подключенный к выходам регистра адреса микрокоманды, на входы которого воздействуют сигналы с выходов поля переходов регистра микрокоманд и от внешних источников кодов адресов (I). Известно также устройство микропрограммного управления, содер>кащее два накопителя микро- 15 команд, блоки адресации, схему тождественности и блок управления (2). Эти устройства характеризуются, во-первых, сложным программированием, Во-вторых, тем, что при большем числе подпрограмм или обращений к ним рез- 20 ко возрастают аппаратурные затраты, в-третьих, возмо>кным частичным снижением быстродействия за счет появления «пустых» оператороз для согласования отдельных микроподпрограмм. Наиболее близким к изобретению 25 по технической сущности и достигаемому результату является устройство микропрограммного управления, содержащее первый и второй автоматы Уилкса-Стринджера, причем первая группа разрядных входов первого ав- 30 томата соединепа с первой группой разрядных выходов второго автом ата, вторые группы разрядных выходов первого и второго автоматов соединены с адресными входамп соответственно второго и первого автоматов, ре1 HcTI> м11крокоманд, каждый автомат Ун,чксаСтринджера содержит регистр адреса, дешифратор, блок памяти микрокоманд и блок памяти переходов. причем выходы регистра адреса через дешифратор соединены с адресным входами блока памяти мнкрокоманд, адресные выходы которого соединены с адресными входамн блока памяти переходов, а разрядные входы блока памяти микрокоманд и блока памяти переходов соединены соответственно с первой и второй группами разрядных входов автомата, первая и вторая группы разрядных выходов автомата соединены с разрядными выходами соответственно блока памяти микрокоманд и блока памяти переходов, разрядные входы регистра адреса соединены с адресными входами автомата, а управляющий вход автомата соединен с регистром адреса (3). Это устройство характеризуется незначительным быстродействием и большой сложностью пр огра м мир ования.

Цель изобретения — повышение быстродействия устройства, экономичности и гибкости программирования. B описываемом устройстве это достигается тем, что оно содержит третий

528568 и четвертыг

" е тып автоматы Уилкса-Стринджера, орой третий и четвертый блоки or т иггер первый и второй элементы Л, причем третья и четвертая группы разряд выходов четвертого автомата соединены соответственно с третьей группой разрядных входов и адресными входами третьего автомата, вторая и третья группы разрядных выходов третьего автомата соединены со вторыми группами разрядных входов соответственно второго и первого автоматов, четвертые группы разрядных выходов четвертого и третьего автоматов соединены соответственно с адресными входами третьего и первой группой адресных входов четвертого автоматов, первые группы разрядных выходов четвертого и третьего автоматов соединены с первыми группа ами разрядных входов соответственно третьего и второго автоматов, кодовые входы устройства соединены со второй группой адресных входов четвертого автомата, входы регистра микрокоманд соединены с первой группой разрядных выходов первого автомата, выходы первого, второго, третьего и четвертого блоков опроса соединены с управляющими входами соответственно первого, второго, третьего и четвертого автоматов, первые подготовительные входы первого и второго блоков опроса соединены соответственно с выхоами второго и первого блоков опроса, втод рые подготовительные входы первого и второго блоков опроса соединены соответственно с первым и вторым выходами регистра микрокоманд, третий выход которого соединен со входами запрета первого и второго блоков опроса, выход третьего блока опроса соединен с единичным входом триггера и первым подготовительным входом четвертого блока опроса, выход которого соединен с нулевым входом триггера и первым подготовительным входом третьего блока опроса, входы запрета третьего и четвертого блоков опроса соединены с четвертым выходом регистра микрокоманд, пятый выход которого соединен с первыми входами первого и второго элементов И, вторые входы которых соединены соответственно с единичным и нулевым выходами триггера, выходы первого и второго элементов И соединены со вторыми подготовительными входами соответственно четвертого и третьего блоков опроса, тактовые входы первого, второго, третьего и четвертого блоков опроса соединены с тактовым входом устройства, третий и четвертый автоматы содержат первый и второй дополнительные блоки памяти переходов, адресные выходы блока памяти переходов соединены через первый дополнительный блок памяти переходов с адресными входами второго дополнительного блока памяти переходов, разрядные входы первого дополнительного блока памяти переходов и регистра адреса третьего автомата соединены соответственно с третьей группой и адресными входами этого автомата, третья и четвертая группы разрядных выходов автомата соединены с разрядными выходами соответственно первого и второ"о юлнительпых олоков памят р . и переходов, а торна гру1ша aäðoñíûõ в: одов четверто автомата соединена с разрядными входами ре5 гисчра адреса этого автомата.

На чер еже представлена блок-схема описываемого устройства.

Оно содержит автоматы 1- — 4 Уилкса-Стринджсра, блоки опроса 5 — 8, триггер 9, элементы

И 10, 11, регистр микрокоманд 12. Первый и второй аьтоматы Уилкса-Стринд р держат регистра адреса 131 — 134, дешифраторы 141 — 14, блоки 15> — 15< памяти микрокоманд, блоки 16> — 16 памяти переходов, а

15 третий и четвертый автоматы Уилкса-Стринджер с < ра содержат блоки 16>, 16 памяти переходов и дополнительные блоки 17ь 1 р и

18 памяти переходов. На чертеже, кроме того, обозначены: 19 — группа входов устройства, 20 — тактовый вход у.стройства, 21 — 25

20 выходы регистра микрокоманд, 26, 26 27 — выходы элементов И. Автоматы 1, 2

2и3 4образуют соответственно нижний и верхний ур .. " .Б. ровень иерархии устройства. Bëoêè автоматов l н 2 доступны для автоматов 3, 4 а блоки 16, 16„, !7,, 17,, 18,, 18, автоматов

4 не перекрываются ни взаимно, ни автоматами 1, 2. В слово микрокоманды введено специальное поле управления переходами с уровня

З0 на уровень, которое может выдать пять микоприказов. При этом возможен переход с ропр любого из автоматов 3, 4 верхнего уровня на лобой нз автоматов 1, 2 нижнего уровня. Возврат с нижнего уровня на верхний (с любого

З5 нз автоматов 1, 2) происходит всегда на автомат верхнего уровня, противоположный тому, с которого был совершен переход на нижний уровень, для чего в устройстве имеется пгер 9 который всегда устанавливается в

«1» при выборе микрокомгнды из автомата верхнего уровня и в «О» — при выборе из автомата 3. При возврате с нижнего уровня выдается микроприказ, который тестирует триггер 9 и разрешает работу автомата 3 или 4.

45 Автоматы обоих уровней могут, в зависимости от комбинации выданных микроприказов, р аботать одновременно, делая К шагов в начале или в конце микроподпрограммы (или и в начале и в конце), что позволяет строить

50 более универсальные микроподпрограммы.

Предварительно все множество микропрограмм M вычислительной машины разбивается на две части: подпрограмма верхнего

В = — (M, M,... М) и нижнего Н = (Мь

55 М,..., М ) уровня. Множество Н составляется из отдельных часто встречающихся в различных микропрограммах M„последовательностей операторов Н,. Длина этих последовательностей может быть любой, Но с цеб0 лью получения оптимальных размеров памяти автоматов нижнего уровня число операторов в последовательности не выбирают больше 12 — 15. Для более длинных последовательностей целесообразнее применять многорангоб5 вую структуру микроподпрограмм с регистра528568

5 ми возврата, что в сочетании с предложенной структурой позволяет получать максимальную экономию памяти микрокоманд. В дальнейшем оба подмножества B и Н разбиваются каждое на два: В l, В2 и Н l, Н2 соответственно. Каждое подмножество соответствует одному из автоматов 1 — 4 устройства.

Начала микроподпрограмм нижнего уровня распределяются по автоматам 1, 2 так, чтобы

Hl = Н2. Все начальные микрокоманды подпрограмм верхнего уровня располагаются во множестве Вl. В множества Вl u Hl входят нечетные микрокоманды, в множестве В2 и

Н2 — четные. Концы микроподпрограмм обоих уровней могут располагаться в любом подмножестве.

В исходном состоянии подготовлен блок onроса 8, блоки опроса 5, 6, 7 — не подготовлены. На регистр адреса 131 автомата 4 верхнего уровня nо входам 19 из регистра команды введен адрес начальной микрокоманды заданной микропрограммы. На вход 20 от основного задающего генератора вычислительной машины поступают тактовые импульсы.

Первым импульсом запускается блок опроса

8, триггер 9 .станавливается в «0», готовится блок опроса 7, считывается регистр адреса 134 и возбуждается через дешифратор 14; шина (слово), соотвстству|ощая введенному коду.

Блок опроса 8 становится неподготовленньп|.

На регистр микрокоманд 12 поступает слово выбранной микрокоманды. Если в первой микрокоманде нет обращения на нижний уровень, то на регистр адреса 13> записывается из блока 161 памяти переходов адрес следующей микрокомаиды верхнего уровня (из множества В2) . Второй импульс тактового генератора по входу 20 запускает блок опроса 7, который устанавливает триггер 9 в состояние

«1», готовит блок опроса 8 и возбуждает через дешифратор 14« шин, выбранной микрокоманды. На следующий импульс такта по входу 20 срабатывает блок опроса 8, триггер

9 устанавливается в «О», подготавливается блок опроса 7 и считывается микрокоманда из множества В l. Работа автоматов 3, 4 верхнего уровня друг на друга продолжается до тех пор, пока не требуется перейти к подпрограмме нижнего уровня. Если на каком-либо шаге микроподпрогряммы (микрокоманде)

М„в требуется осуществить переход на нижний уровень, к микрокоманде М;гь то работа устройства происходит следующим образом: а) M,яВ1, М;+ е=Н1, тогда очередным импульсом по входу 20 запускается блок опроса

8, триггер 9 устанавливается в «О» и выбирается через дешифратор 14; слово М,;. При этом на регистр адреса 13 верхнего уровня из блока 16 записывается адрес микрокомяндь| М.;, к которой необходимо перейти после окончания подпрограммы нижнего уровня, на пегпстг адреса 13. нихкнего уровня из блока 16 зяп — сывается адрес начальной микроком анды

М; подпрограммы нижнего уровня. В слове микрокоманды М» имеется микроприказ, за15

6 прещающий по входу 21 подготовку блоков 7, 8, и микроприказ, готовящий по входу 22 блок опроса 6 нижнего уровня. Триггер 9 запоминает состояние «0». так как на блок опроса 7 действует импульс запрета по входу 21, он остяется неподготовленным. Следующим импульсом такта по входу 20 запускается уже блок опроса 6. готовит блок опроса 5 нижнего уровня и через дешифратор 14 возбуждает шин из множества Hl, соответствующую микрокоманде М„. ь При этом, если в микропрограмме нижнего уровня более одной микрокоманды, то на регистр адреса 131 нижнего уровня запись,вается адрес очередной микрокоманды. В следующем такте срабатывает блок опроса 5, готовит блок опроса 6 и через дешифратор 14> возбуждает очередную микрокомянду (шину) из множества Н2. Работа явтоматог, 1, 2 нижнего уровня друг на друга поодолжается до исполнения микрокоманды

М; „после которой требуется возвратиться на верхний уровень, При выборе микрокоманды М,: на регистр адреса не записывается адрес очередной микроком анды, Выдается мпкроприказ. запрещающий по выходу 23 под» готовку блоков опроса 5. 6, и микроприказ, воздействующий на входы элементов «И» 10, 11 по выходу 25. Так как триггер 9 находится в состоянии «О». то с выхода 27 первого элемента «И» 1! готовится блок опроса 7 верхнего уровня. В следующем такте по входу 20 запускается блок опроса 7, устанавливает триггер 9 в «1», подготавливает блок опроса

8, считывает регистр адреса 13, на который перед обрагцением к нижнему уровню записывается адрес микрокоманды, ч через дешифоатор 14 гозбуждает шину из множества В2, соответствующую М,-. Далее аналогично исполняется микроподпрогрямма верхнего уровня.

á) М; В1. М;+ яН2. Работа происходит аналоги тно, только, вместо записи ня регистр

13> из блока 16ь производится запись адреса

М; ня регистр адреса 13», нижнего уровня из блока 16; и, гместо микроприказа, готовящего по выходу 22 блок опроса 7. выдается микропоиказ, готовящий по выходу 24 блок onроса 6.

Таким образом. в (i — 1) -м такте запускается блок опроса 6 и считывает микрокоманду

М,; .. в1M;. При этом через де. шифратор 14; возбуждается шина микро. ко аиды М; и на регистр адпеса 13. записы. вяе-.ся адрес микрокоманды М-;, к которой не обходимо перейти, после возврата на верхни

i.oonånü. Выдаются те же микроприказы, чтс

" в с,т чае М,; В1, М; Н1. При возврат( ". верхний уровень микроприказ по выходу 2l через элемент И 10 и выход 26 (так как триг гер 9 установлен в «1») подготавливает 6JIOI

528568

Г..5

7 опроса 8. Следующая микрокоманда (М;) выбирается из автомата 4 верхнего уровня.

r) Мгя=В2, Мг+; Н2. Работа происходит аналогично, только при переходе к нижнему уровню готовится блок опроса 5, а в микрокоманде М; производится запись адреса из блока 162 на регистр 13ã.

Возможна параллельная Dàáoòà автоматов верхнего и нижнего уровня. В этом случае выполняются составные микрокомапды, т. е. часть управляющих микроприказов выдается с верхнего уровня В» = (тт, т,..., m ), а часть — с нижнего Н,. = (mr, т,..., т).

Должно выполняться условие В» П Н» = Я т. е. в каждом подмножестве должны выдаваться различные микроприказы. Это позволяет строить более гибкие микропрограммы, т. е. использовать полностью подпрограмму нижнего уровня, а отсутствующие в ней микпоприказы «добавлять» из верхнего уровня.

Для организации такого режима при переходе на нижний уровень блоки 16г или 16, возбуждаются не в микрокоманде М;, а в микрокоманде М, Iq, где К вЂ” число совместных шагов обоих автоматов. Тогда же выдается и микроприказ по выходам 22. 24, а в микрокоманде вепхнсго мповня В; выдается микроприказ по выходу 21, запрещающий подготовку блоков опроса 7 и 8. Возврат с нижнего уровня может происходить также заранее, т. е. гте в микрокоманде М;, а в микрокоманде

М; к, для чего в этой микгтокомлнде выдастся микроприклз по вьгход 25. л в микрокоманде М; выдается микроприказ по выходу 23, заппещагощитт подготовку блоков опроса 5 и

6. В остальном работа устройства происходит также, как и в предыдущих режимах.

Универсальность микроподпрограмм нижнего уровня заключается в том, что онп Arorl т содержать в себе лишт. те мггкооприклзьт, которьте являются огттцими для более широкого класса ..ттгкропрогрлмм. Так. ггапгтимер, в процессорах на однородных магнитных матрицах часто гтспольз ется микроподпрограмма «сложение» (в микропрограммах «вычитание», «умножение», «деление» и т. д.) . При этом операнды для сложения бер тся. как прави,чо, из разных функциональных линеек, в ряде ел " т"-,åâ их требуется регенерировать в эти линейки. я в ряде случаев не требуется. Можно построить микроподпрограмму нижнего уровня такую. что в первых двух микрокомандах не выдаются микроприказы, возбуждагоггтие с ттттт.гвлнгте ф нкциональных линеек, тогда эта единственгтяя микроподнрогпамма «сложение» сможет использоваться Ео всех пере гисленных микрокомандах. С верхнего уровня при этом IrpH oIIíoâðoìåííoé работе должны тптдавлтьгя микпопгтиказьг считывания соответстг, rorIIHY г1т ггкгтгготта rrhrrbrx линеек, в когогтых хгтянятс я о сгтл тт чг г, гт per erreparrrr» ( тлпттстг с лтттьтогткттгтегт г в соответстм In ". функциотталтные линейки. При этом пол гттются состлвт ые ътикрокомандьт. Хотя обнтее число адресов памяти микрокоманд не сокря5

40 гг .летов, 1тсз и сокращается суммарное число тя нкропрнказов.

Устройство позволяет упростить программироваг;ие кяк путем оргатгизации большего числя микроподпрограмм (включая подпрограм. гы из одной-двух микрокоманд, что для других устройств невыгодно), так и в результате повьппения гибкости подпрограмм при совместной работе обоих уровней. Количество ошибок. Iloïóñêàåìûõ при составлении микропрограмм тем большее, чем больттгс общее число микрокоманд и суммарное число (по всем микрокомандам) микроприказов.

При пртг:ттегтеттии устройства сокращается как общее число микрокоманд, так и общее число микропрттказов и, как следствие этого, уменьшается коли гество ошибок и сокращается время на программирование, проверку и моделигтовлттгге тгикроппограмхг на универсальной

ЦВМ. Так, при разработке первого устройства затраты времени на составление чикропрогттлмм сократилось примертто на 1Оо/д или на

12 теловеко-дней, я при эскизном ппоектировлнип второго устройства — — на 250/гт илн пя

40 человеко-дней.

Бьгстродействие устройства повьпнается, так как отсутствутот пустые операторы согласования типа безусловного перехода (которые удлиняют микропрограмму во времени на одну единицу автоматного времени каждый); отсутствуют дополнительные операторы типа формирования и засылки адреса возврата; при выполнении микропрограммы верхнего уровня возможно одновременное выполнение подпрограммы типа 3 стлновок или засылок на нижнем (если микроприказы, выдаваемые с обоих

i rrOÂIIÅé СОВМЕСТИМЫ); ПрИ ВЫПОЛНЕПИИ ПОдпрограьтмьт нижнего уровня, не содержащей сигналов установок и засылок, возможна одновременная выдача этих сигналов с верхнего урони (есл".I микроприказы совместимы) .

В описываемом устройстве экономия времени. кяк минимум в одну-две единицы, получена практически во всех микропрограммах.

При вычислении увеличения быстродействия было принято, что программа состоит из 27% команд типа сложение — вычитание, 10% команд — типа умножение, 5О/о команд — де, ения, 6% команд — типа сгтавнегтие кодов, 8 / команд — пересылок, 21 /о — логических оперлттий и 23,/„команд — управления и связи с пультом оператора и внешними устроиствами. Этот частотный спектр соответствует характеру алгоритмов разработлпной УЦВМ.

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

528568

9 !т,. т,y v,.

ДБ = .100ОО, т,v, К где ЛБ — приращение быстродействия;

Т вЂ” время выполнения к-й команды без

К! применения описываемого устройства;

Т„, — то же, с применением описываемого устройства;

Р„. — относительная частота встречи К-й команды.

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

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

-руинам;I разрядных входов автомата, первая и вторая группы разрядных выходов автомата соединены с разрядными выходами соответственно блока !!амяти микрокоманд и блока памяти переходов, разрядные входы регистра адреса соединены с адресными входами автомата, а управляюн1ий вход автомата соединен с регистром адреса, отл ич а ющеес я тем, что, с целью повышения быстродействия устройства, экономичности и гиокости программирования, оно содержит третий и четвертый автоматы Уилкса-Стринджера, первый, второй, третий и четвертый блоки опроса, триггер, первый и второй элементы И, причем третья !! четвертая группы разрядных выходов четвертого автомата соединены соответственI1o с третьей группой разрядных входов и адресными входами третьего автомата, вторая и третья группы разрядных выходов третьего !!!!тох1;!!а соединены со вторыми группами разрядных входов соответственно второго и nep,Iu!.n автоматов, четвертые группы разрядных выходов четвертого и третьего автоматов соединены соответственно с адресными входами третьего и первой группой адресных входов

1етвертого автоматов, первые группы разряд1" ых выколов четвертого и третьего автоматов

Зо

Зд

50 соединены с первыми группами разрядных входов соответственно третьего и второго автоматов, кодовые входы устройства соединены со второй группой адресных входов четвертого автомата, входы регистра микрокоманд соединены с первой группой разрядных выходов первого автомата, выходы первого, второго, третьего, четвертого блоков опроса соединены с управляющими входами соответственно первого, второго, третьего, четвертого автоматов, первые подготовительные входы первого и второго блоков опроса соединены соответственно с выходами второго и первого блоков опроса, вторые подготовительные входы первого и второго блоков опроса соединены соответственно с первым и вторым выходами регистра микрокоманд, третий выход которого соединен со входами запрета первого и второго блоков опроса, выход третьего блока опроса соединен с единичным входом триггера и первым подготовительным входом четвертого блока опроса, выход которого соединен с нулевым входом триггера и первым подготовительным входом третьего блока опроса, входы запрета третьего и четвертого блоков опроса соединены с четвертым выходом регистра микрокоманд, пятый выход которого соединен с первыми входами первого и второго элементов И, вторые входы которых соединены соответсTBcHI!o с единичным и нулевым выходамп триггера, выходы первого и второго элементов И соединены со вторыми подготовительными входами соответственно . ствертого и третьего блоков опроса, тактовые входы первого †:етвертого блоков опроса соединены с тактовым входом устройства, третий и четвертый автоматы содержат первый и второй дополнительные блоки памяти переходов, адресныс выходы блока памяти переходов соединены через первый дополнительный блок памяти переходов с адресными вхо.!ами второго дополнительного блока памяти переходов, разрядные входы первого дополнительного олока и регистра адреса третьего автомата соединены соответственно с третьей группой и адресными входами этого автомата, третья и четвертая группы разрядных выходов ",втомата соединены с разряднымп выходами соответственно первого и второго дополнительHûх олоков памяти переходов, а вторая группа адресных входов четвертого автомата соединена с разрядными входами регистра адреса этого автомата.

Источники ин!1)оръ1!!Цпп, принятые во ьч1пмание при экспертизе:

1. Булей Г. Микропрограммированис. Мир, 1973. с. 37.

2. Лвт. св. М:112604, М. Кл. - G OGF, 9!16, 1974.

3. Хассо!! С. Микропрограммное управление. Мир, 1973. «ып. 1. с. 43, рис. 2, 3.

528568

Составитель Ф. Шагиахметов

Редактор Л. Тюрина Техред Е. Подурушина Корректор Н. Аук

Заказ 2003/9 Изд. JA 1591 Тираж 864 Подписное

ЦНИИПИ Государственного комитета Совета Министров СССР по делам изобретений и открытий

113035, Москва, 7К-35, Раушская наб., д. 4/5

Типография, пр. Сапунова, 2