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

Иллюстрации

Показать все

Реферат

 

О П И С А Н И Е (ii) 561964>

ИЗОБРЕТЕНИЯ

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

Сощивпистических

Респ|убпик (61) Дополнителыюс к авт. Св»д-ву (22) Заявлено 19.09.75 (21) 2173258j24 (51) М. Кл. - 6 06Г 9! 16 с i |p»coc;I»«e»»c .>I 3|15! !|!»! >"

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

Совета Министров СССР оо делам изобретений и открытий (23) Ирiiopl! Сг (53) УДК 681.326(088.8) 0»у>,;i»IIOHa«o I5 .06.77. 1)юллстснь Л а 22

Дc|T|! 0») |хlillloaa»»5I 0»»с;!»»5| 03.0h.> 7 (72) Авторы изобретения

Н. В. Егорычева, Б. Б. Автономов, A. А. шульгин, М. В. Рабинс, Р. И. Коханова и В. М. Черниговская (71) Заявитель (54) МИКРОПРОГРАММНОЕ УСТРОЙСТВО УПРАВЛЕНИЯ

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

Известно устройство управления (1), которое применяется в процессоре модели 85 вычислительной системы 1ВМ|360. Оно содержит счетчик команд, дешифратор команд, блоки вызова команд, блок выполнения. Устройство управляет тремя уровнями выполнения команд в,процессоре, причем только на

ОднОм уровне производится микропрограм|>тное управление, два же других уровня управляются аппаратно.

Аппаратное управление пр иводит к усложнению схемно-логических решений и увеличению оборудования, что является недостатком этого устройства управления.

Наиболее близким по технической сущности к данному изобретению является усгройство, содержащее группы элементов И, ИЛИ, НЕ, блоки основной памяти микропрограмм и дополнительной памяти микропрограмм (2J.

Из:блоков основной и дополнительной памяти микропрограмм через элементы И, ИЛИ микрокоманда выбирается на общий регистр микрокоманд. Увеличение производительности достигается путем совмещения выполнения последней микрокома!нды из последовательности микрокоманд, необходимых для выполнения системной команды, с обращением к первой микрокоманде последовательности след |Ощей системной ко:: |анды. Bci ми|срокоманды, кроме первой, необходимые для выполнения систсмной командъ|) Выоираются из блока основной памяти микропрограмм по адресу, находящемуся в предыдущей микрокоманде. 11ервая микрокоманда выбирается из блока дополнитслъной памяти микропрогра|>|м. B качестве а реса мпкрокоманды Ilcпользуется код операции системной команды.

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

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

Целью изобретс»ия является уменьшение оборудования и времени обработки команд.

Это достигается тем, что «редлагаемое устройство содержит первый и второй регистры адреса, регистра кода операции первой команды и второй команды, регистры основ30 ной микрокоманды и дополнительной микро561964 команды, узел модификации адрес!1, 1 пр(!вля ющий вход которого подключен к управляющему входу устройства, выходы блоко в основной и дополнительной памяти микропрограмм подключены соответственно ко входам регистра основной микрокоманды и регистра дополнительной микрокомапды, выходы трех групп элементов И через последовательно соединенные первую группу элементов ИЛИ и первый регистр адреса соединены со .входом блока основной памяти микропрограмм, первые входы первой группы элементов И соединены с выходом регистра кода операции первой команды, вторые входы — — с первым выходом регистра дополнительной мпкрокоманды, первые «ходы второй группы элсч!еп(ов И соединены с выходом регистра кода операции второй команды, вторые .входы — со вторым выходом регистра дополнительной микрокоманды, первые входы третьей группы элементов И соединены с первым выходом регистра основной микрокоманды, а вторые и третьи входы через первую и вторую группы элементов НЕ подключены соответственно к первому и второму выходам регистра дополнительной микрокоманды, выходы четвертой и пятой групп элементов И через последовательно соединенные вторую группу элементов

ИЛИ и второй регистр адреса соединены со входом блока дополнительной памяти микропрограмм, первые входы четвертой группы элементов И соединены со вторым выходоч! регистра основной микрокоманды, вторые входы — с третьим выходом регистра дополнительной микрокоманды, первые входы пятой группы элементов И подключены через узел модификации адреса к четверто vlv выходу регистра дополнительной микрокоманды, вторые входы через третью группу элементов НЕ соединены с третьим выходом регистра дополнительной микрокоманды.

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

Устройство содержит блок 1 основной памяти микропрограмм, регистр 2 основной микрокоманды; блок 3 дополнительной памяти микропрограмм, регистр 4 до полнительной микрокоманды, регистры 5, б адреса, поле констант 7 и поле базового адреса 8 основной микрокоманды, поле тактов 9 и поле базового адреса 10 дополнительной микрокоманды, узел 11 модификации адреса, входы 12 устройства, группы элементов И 13, 14, 15, гру ппы элементов НЕ lб, 17, 18, группы элементов

И 19, 20, группы элементов ИЛИ 21, 22, регистр 23 кода операции первой команды и регистр 24 кода операции второй команды.

Устройство обеспечивает обработку системы команд типа принятых IB вычислительной системе ЕС ЭВМ.

Описание работы устройства удобно производить на примере выполнения команд формата RX типа сложения с фиксированной за((ятой, как наиболее широко .используемых.

Все остальные команды по этапам обработки б

G0

65 м01!й! О свестп к командам этого типа II) тем удлинения соответствующих этапов за счет включения дополнительных машинных циклов плп исключения некоторых этапов.

Рассмотрим все этапы обработки, которые проходит эта команда в процессоре. Выполнение ее занимает шесть циклов работы процессора. Эти циклы называют тактаии обработки команды и обозначают буквой Т с соответствующим номером:

Tl — такт распаковки команды, т. е. выборки команды из буфера команд и чтения модификаторов адреса из местной памяти;

l 2 — такт модификации адреса;

ТЗ --такт запроса за операндом в оперативную (буферну(о) память; 14- — такт выборки операндов из местной пли оперативной памяти;

Т5 — такт выполнения действий над операндами;

Тб — такт записи результата в местную паЧ(ЯТЬ.

Таким образом, для управления выполнением одной команды из блока памяти микропрограмм нужно выбрать последовательность (((икропрограмму) из шести микрокоманд, Для вьшолнсния другой команды требуется другая микропрогра.,(ма из шести микроманд и т. д.

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

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

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

Микрокоманда первого такта Т l является общей для всех команд. Количество микрокоманд второго такта Т2 равно количеству. команд в системе. Таким образом, переход из микрокоманды Tl на микрокоманду Т2 происходит по коду операции.

Действия, выполняемые в третьем такте, одинаковы для нескольких команд. Эти команды объединяются в группу, имеющую свой код, который указывается в микрокоманде Т2 данной команды.

При переходах из микрокоманд Т2 на микрокоманды ТЗ этот код группы используется как часть адреса микрокоманды.

Количество микрокоманд ТЗ равно количеству групп.

l (о общим микрокомандам ТЗ названную выше систему команд можно разделить на

20 — 25 групп.

Из нескольких микрокоманд ТЗ по адресу, находящемуся в поле базы микрокоманды, производится переход на одну микрокоманду

Т4, так как микрокоманд Т4 меньше, чем ТЗ.

561964

Для выбранной системы команд можно выделить 15 микрокоманд Т4. Действия в пятом такте зависят от кода операции системной команды и поэтому при переходе из микрокоманды Т4 на Т5 код операции используется как часть адреса микрокоманды. Количество микрокоманд Т5 равно количеству команд в системе. В командах, требующих более одного такта выполнения, первая микрокоманда

Т5 является началом последовательности нескольких микрокоманд типа Т5. Микрокоманда Т6 является общей для всех команд.

При выполнении трех команд в 5 — 6 циклах процессора (при совмещенном выполнении трех команд) команда КЗ будет находиться на первом уровне совмещения, команда К2 на втором, а команда Кl на третьем уровне совмещения.

Для управления выполнением этих команд необходимо выбрать три последовательности микрокоманд или одну последовательность, управляющую всеми тремя командами, находящимися на разных стадиях обработки.

Трудности при организации одной последовательности возникают из-за сложности opl анизации переходов в микропрограмме, т. е. сложности формирования адреса следующей микрокоманды. В предлагаемом устройстве эти трудности ликвидируются путем разделения функций управления между двумя блоками памяти микропрограмм следующим образом.

Де1!стеня, об1цис для всех команд, которые связаны липп с номером такта выполнения, упра вля!Отся микрокомандами блока 3 дополнительной памяти микропрограмм, а действия, завпсящис от кода операции, управляются микрокомандами блока 1 основной .памятями микропрограмм, т. е. последовательность микрокоманд для управления выполнением команд разбивается на две последовательности, выбираемые из двух синхронно работающих блоков 1, 3.

Функции управления, зависящие от тактов обработки команды, выполняются микрокомандами блока 3. Для управления двумя или тремя командами выбирается одна микрокоманда, имеющая признаки тактов этих команд. Функции управления, зависящие от кода операции, производятся микрокомандами блока 1.

Микрокоманды (типа М) управляют модификацией адреса операнда. Мнкрокоманды (типа ОП) управляют выполнением операции.

Пусковые микрокоманды (ПК), т. е. не производящие никаких действий, кроме перехода, используются при входах и выходах из совмещенного режима выполнения команд для сохранения непрерывности в работе памяти микропрограмм.

Исходя из,вышеизложенного, для управления выполнением трех команд нужно выбрать две последовательности микрокоманд из блоков l иЗ, 5

35 1О

Разделение управления между двумя последовательностями микрокоманд позволяет упростить схему микропрограммных переходов.

Переход на следующую мпкрокоманду в блоке 3 зависит от номера такта обработки коъ!анды. Через I.яждые двя такта ня !пняется новая последовательность, т. е. начинается выборка микрокоманл, управляющих совмещеннымп тактами. Переходы в блоке 1 основной памяти микропрограмм на микрокоманды типа М производятся по коду операции команды, находящейся на первом уровне совмещения, а на микрокоманды типа

ОП вЂ” по коду операции команды, находящейся на третьем уровне совме ценпя. Переходы в длинных последовательностях микрокоманд типа ОП происходят по базовому адресу, находящемуся в поле выполняемой микрокоманды. В структуре процессора существуют дополнительные схемные условия, которые определяют одно из четырех направленш! перехода.

Для сокрац!ения времени такта процессора, а следовательно повышения быстродействия, схемные условия перехода не учитываются при формировании адреса. Ветвление на четыре направления производится путем разбиения блока 1 осповной памяти микропрограмм на четыре независимых модуля, обращение к которым происходит одновременно по одному базовому адрссу. Время выборки из мо, !улей используется для анализа схемIII!x условий и формирования сиг1!я,!я Ilp!Icil I

113 cooTI3cTcTIII юlцсго мод ля памяти IIII рсгпстр 2 основной микрокомянды.

Ор! IIIIIÇII ц!! Io псрc Одоп В м!!крон рОГp я M мах основной и дополнительной памяти можно проследить прп выборке двух последовательностей микрокоманд для управления обработкой трех команд.

На первую микрокоманду Тl процессор выходит после завершения операций по загрузке системных команд в буфер команд.

Из блока 1 выбирается «пустая» команда, так как процессор еще не вошел в режим совмещения. Переход пз Тl на Т2 происходит по базовому адресу, который пз поля 10 через узел 11, группы элементов И 20 и ИЛИ 22 подается на регистр 6. Переход на микрокоманду типа М для команды Кl происходит путем подачи кода операции команды 1 1, находящейся»а первом уровне совмещения.

Хранящийся на регистре 23 код операции через группы элементов И 13 и ИЛИ 21 подастся на,регистр 5 адреса. Элементы И 13 управляются сигналом Тl пз поля тактов 9 регистра 4.

Переход из микрокоманды М для Кl на микрокоманду ПК происходит по базовому адресу, который из поля 8 регистра 2 через группы элеме ITQIB И 15 и ИЛИ 21 поступает на регистр 5 адреса. На второй и третий входы подаются пнвер "пые управляющие сигналы Тl и Т4.

561964

Переход из микрокоманды Т2 на совмещснмикрокомаяд i Т13 пронсходит Ilo Ko I) группы, поступающему из поля 7 регистра 2 через группы элементов И 19 и ИЛИ 22 на регистр 6 адреса. На второй вход элементоь

И 19 подается сигнал приз пака такта Т2.

Переход нз Т13 в совмещенную микрокоманду Т24 происходит по базовому адресу, который через группы элеме|нтов И 20 и ИЛИ

22 поступает на регистр 6, как было описано выше, а переход из ПК на М для команды

К2 происходит с помощь1о кода операции команды К2, которая теперь находится на перовом уровне совмещения, а ее код на регистре 23.

Команда К1 уже находится на втором уровне совмещения, а ее код операции хранится в регистре 24.

Формирование адреса микрокоманды по коду системной команды, находящейся на первом уровне совмещения, был описан выше.

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

Оба блока 1, 3 памяти микропрограмм работают сихронно, вырабатывая сигналы для управления выполнением системных команд на всех этапах обработки. Управляющи(3 сигналы блока 3 дополнительной памяти микропрограмм влияют на организацию микропрограммных переходов н основной памяти, а код группы команд, находящейся в микрокоманде блока 1 основной памяти микро про1 1)<1мм используе ГС11 для переходов 13 NHKpoпрограммах блока 3 дополнительной памяти микропрограмм.

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

Кгоме того, использованием общих микрокоманд можно сократить общий объем памяти микропрограмм на 15 — 20, т. е. уменьшить оборудование процессора.

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

Микропрограмм|ное устройство управления, содержащее группы элементов И, ИЛИ, НЕ, блоки основной памяти микропрограмм и дополнительной памяти микропрограмм, отлич а ю щ е е с я тем, что, с целью уменьшения ооорудования и времени обработки команд, оно содержит первый и второй регистры адреса, регистры кода операции первой команды и второй команды, регистры основной микрокоманды и дополнительной микрокоманды, узел модификации адреса, управляющий вход которого подключен к управляющему входу устройства, выходы блоков основной и допо Iнительной памяти микропрограмм подкл1очены соответственно ко входам регистра основной микрокоманды и регистра дополнительной мнкрокоманды, выходы трех групп элементов И через последовательно соединенные первую группу элементов ИЛИ и первый регистр адреса соединены со входом блока ос новной памяти микропрограмм, первые входы первой группы элементов И соединены с выходом регистра кода операции первой команды, вторые гходы — с первым выходом реги20 стра до полнительной микрокоманды, первые вхо(11 второй группы элементов И соединены с выходом регистра кода операции второй команды, вторые входы — со вторым выходом регистра дополнительной микрокоманды, 25 первые входы третьей группы элементов И соединены с первым выходом регистра основной микрокоманды, а вторые и третьи входы через первую и вторую группы элеметов НЕ подключены соответственно к первому и вто3!) рому выходам регистра -дополнительной микрокоманды, выходы четвертой и пятой групп элементов И через последовательно соединенные вторую группу элементов ИЛИ и второй

13егнст1р <1IIðññÿ соединены со входом блока

35 дополнительной памяти микропрограмм, пе11Вьц Вхо;1! четвертой группы элементов И соедин(ны со вторым выходом рсгнстра основной мпкрокоманды, вторые входы — - с третьим выходом регистра дополнительной микро4О команды, первые входы пятой группы элементов И подключены через узел модификации адреса кчетвертому выходу регистрадополнительной микрокоманды, вторые входы — через третью, группу элементов НЕ соединены с

45 третьим выходом регистра дополнительной микрокоманды.

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

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

2. Патент США № 3800293, кл. 340 — 172.5, 26. 03.74.

561964

Составитель А. Жеренов

Тскред Н. Аук

Корректор О. Тюрина редактор А. Каменская типография, пр. Сапунова, 2

Заказ 1536/4 Изд. М. 527 Тираж 8.15 Подписное

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

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