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

Иллюстрации

Показать все

Реферат

 

Изобретение относится к вычислительной технике и может быть применено в ЭВМ с /микропрограммным управлением. Целью изобретения является расширение сокращения емкости блока памяти или же возможность наращивания объема микропрограммно реализуемых компонентов, программного обеспечения (микропрограммных поддержек) без увеличения объема управляющей памяти Устройство содержит мультиплексоры адреса и адреса возврата, регистры адреса, хранения адреса, функционального перехода, адреса возврата, адреса перехода , микрокоманд, адресов каналов, коммутатор адреса, блок памяти, первый, второй, третий и четвертый блоки дешифраторов, блок регистров стека адресов, триггер режима работы. Предложенное микропрогрэммное устройство управления позволяет, использовать базовые микропрограммы как j подпрограммы в микропрограммных поддержках, и работает в двух режимах: вы полнения базовых микропрограмм и выполнения микропрограммной поддерж-i .ки. 8 ил.. ;

СОК э СОВЕТСКИХ

СОЦИАЛИСТИ <ЕСКИК

РЕСПУБЛИК. (я)з G 06 F 9/22

ГОСУДАРСТВЕННОЕ ПАТЕНТНОЕ

ВЕДОМСТВО СССР (ГОСПАТЕНТ СССР) ОПИСАНИЕ ИЗОБРЕТЕНИЯ

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

Ъ (21) 4846256/24 (22) 05.06,.90 (46) 28.02.93. Бюл. М 8 (71) Ереванский научно-исследовательский институт математических машин (72) С,К.Шукурян, Э Г.Ан ; Х.Г.Шароян, А.Т,Кукунян и Т.Е.Саркисян (56).Авторское свидетельство СССР.

М 1113802, кл, G 06 F 9/22, 1980.

Авторское свидетельство СССР

N 1154669, кл, G 06 F 9/22, 1980, .Кучукян А.Т. и др. ЭВМ ЕС вЂ” 1046, M.:

Радио и связь, 1987, с.47-51. . (54) МИКРОПРОГРАММНОЕ УСТРОЙСТВО

УПРАВЛЕНИЯ (57) Изобретение относится к вычислительной технике и может быть применено в ЭВМ с микропрограммным управлением, Целью изобретения является расширение сокращения емкости блока памяти или же возИзобретение относится к вычислитель-. ной технике и может быть применено в ЭВМ с микропрограммным управлением.

Целью изобретения является сокраще- ние емкости блока памяти.

На фиг.1 представлена блок-схема предложенного устройства; на фиг.2 — пример функциональной схемы мультиплексора адреса для 13 битного адреса, принятого в ЭВМ ЕС1046; íà фиг.3 — пример структур.ной схемы коммутатора адреса; на фиг.4 приведена последовательность работы разных рутин микропрограмм; на фиг;5- временная диаграмма работы устройства; на фиг,6 представлена структурная схема блока регистров стека адресов; на фиг.7- при„„5U „„1798781 А1 можность наращивания объема микропрограммно реализуемых компонентов, программного обеспечения (микропрограммных поддержек) без увеличения объема управля-. ющей памяти. Устройство содержит мультиплексоры адреса и адреса возврата, регистры адреса, хранения адреса, функционального перехода, адреса возврата. адреса перехода, микрокоманд, адресов каналов, комму-

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

В4 Ь» Г.

1 ведена последовательность загрузки стека.; «О адресов; на фиг,8 — представлена алгорит-, QQ мическая диаграмма работы устройства.

Устройство содержит мультиплексор 1 (y адреса, регистр 2 функционального перехо-, д да, регистр 3 адреса возврата, регистр 4, адреса перехода, мультиплексор 5 адреса, возврата, регистры 6.1 — 6;n адресов кана-! Ф лов, блок 7 регистров стека адресов, комму- татор 8 адреса, регистр 9 адреса, регистр 10 хранения адреса, триггер 11 режима работы, блок 12 памяти, регистр 13 микроко- ; манд, блоки 14-17 дешифраторов, первый информационный вход 18 устройства, первый управляющий вход 19 устройства, вто- . рой информационный вход 20.1-20.m

1798781 устройства. третий информационный вход

21 устройства, первый вход 22 синхронизации устройства, второй вход 23 синхронизации устройства, второй управляющий вход

24.1 — -24.пустройства,,четвертый информационный выход 25.1 — 25,Р, третий информационный выход 26.1-26,q, второй информационный выход 27.1 — 27., выход 28 поля адреса возврата регистра микрокоманды, первый выход 29.1,— 29.m первого блока дешифраторов, второй, третий, четвертый и пятый выходы 30 — 33 первого блока дешифраторов, шестой выход 34,1 — 34,п первого блока дешифраторов, седьмой, восьмой и девятый выходы 35 — 37 первого блока дешифраторов, второй и третий информационные входы 38, 39, мультиплексора адреса, второй управляющий вход 40 мультиплексора адреса, пятый информационный вход 41 мультиплексора адреса, первый и второй управляющий входы 42, 43 блока регистров стека адресов, информационный вход 44 блока регистров стека адресов, вход 45 синхронизации блока регистров стека адресов, выход 46 блока регистров стека адресов, второй вход 48 синхронизации коммутатора адреса, первый и второй информационные входы 49, 50 коммутатора адреса, информационные входы 51.1 — 51.п коммутатора адреса, первый и второй выходы 52, 53 коммутатора адреса, первый управляющий вход 54 регитра адреса, первый и второй информационные входы 55, 56 регистра адреса, второй управляющий вход 57 регистра адреса, третий информационный вход 58 регистра адреса, вход 59 синхронизации регистра адреса, первый выход 60 триггера режима работы, второй выход 61 триггера режима работы, с первого по пятый выходы

62 — 66 полей регистра микрокоманды, седьмой выход 67 поля регистра микрокоманды, На фиг.2 приняты следующие дополнительные обозначения мультиплексора адреса 1: 20 1 — 20.I, 20.!+1 — 20.m — вторые информационные входы устройства, 29.129Л, 29,i+1 — 29.m — третьи управляющие входы селектора. адреса.

Надписи на полях условных графических обозначениях элементов И-ИЛИ соответствуют выполянемой функции . логического lil-ИЛИ для группы битов, номера которых приведены на выходах. Надписи на входных л иниях 0 — 3, 2 — 4, 4-6, 5 — 8, 7 — 10, 11, 12 соответствуют номерам битов входных данных, поступающих на соответствующие входы мультиплексора адреса.

° Коммутатор адреса 8 содержит (фиг,3) первый и второй элементы И 68, 69, первую группу элементов И 70,1-70,п, второй регистр 71 запросов, первый регистр запросов

72, группу элементов сложения по модулю

2, 73.1 — 73.п, вторую группу элементов И

74,1-74,п, третий элемент И 75, элемент

ИЛИ 76, коммутатор 77.

5 Надписи регистров71 и 72 R, С и Dl--D4 соовтетствуют общей ринятым обозначениям выполняемых функций сброса, синхронизации и приема данных соответственно.

На фиг,4 приняты следующие обозначе10:ния;

МП вЂ” микропрограмма, ЦП вЂ” центральный процессор, К1 — K3 — с первого по третий каналы, to t10 — моменты времени.

Надписи на отрезках линии ЦП, КТКЗ

15 ограничены буквами t (i = 1-10) и показывают устройство, микропрограмма которого выполняется на данном отрезке времени.

На первом уровне, обозначенном МП,жирной линией показана работа микропрограммного устройства управления, а на втором, третьем и четвертом уровнях, обозначенных позициями К1, К2, КЗ показана жирными отрезкамйлиний работа каналов 1, 2 и 3, На фиг.5 слева о-, диаграммы по вертикали приведены обозначения, соответствующие обозначениям на фиг,1 и фиг.2. На верхней части диаграммы по горизонтали цифрами 1 — 7 показаны номера циклов работы микропрограммного устройства управле30

На фиг,7 в гарфах "Адрес микрокоманды" и "Адрес следующей микрокоманды" приведены адреса микоокоманд, обозначенные позициями Пь П и Б, где i = О, 35 1,...,S+1, j = 1,2,...,S, а в графах "Микрокоманда" приведены микрооперации, поступающие на входы 31, 36, 43 устройства.

На фиг,8 приведены надписи, соответствующие выполняемой функции на каждом этапе и проверяемым условиям в ходе работы устройства, причем сделаны следующие обозначения:

ТИП вЂ” проверка типа выполняемой команды

РЕЖ вЂ” проверка режима работы устройства

СТЕК вЂ” проверка заполняемости стека адресов

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

55.управляющей памяти, не занимаемую микропрограммами реализации базовых принципов работы ЭВМ (базовыми микропрограммами). Учитывая ограниченность объема атой области, для увеличения доли микропрограммно реализуемых ком1798781

10

30 функциональный

50

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

Предложенное микропрограммное устройство управления позволяет использовать базовые микропрограммы как подпрограммы в микропрограммных поддержках. При. этом обеспечена возмо>кность использования как одной микропрограммы, так и последовательности базовых микропрограмм, Предло>кенное микропрограммное устройство управления работает в двух режимах; выполнения базовых микропрограмм и выполнения микропрограммной поддержки.

Рассмотрим работу устройства в режиме выполнения микропрограмм реализации базовых принципов работы ЭВМ (базовых микропрограмм), В каждом цикле работы устройства (см. фиг.1) адрес очередной микрокоманды с выхода мультиплексора адреса 1 поступает на регистр адреса 9, далее .поступает в блок памяти 12 и на регистр хранения адреса 10, и, в соответствии со значенйем адреса микрокоманды, из блока памяти считывается одна микрокоманда и передается на регистр микрокоманды 13. Биты микрокоманды разбиты на информационные поля, поле следующего адреса и поле константы, Информационные поля, поступающие с выходов,63 и 66 регистра микрокоманды 13, дешифрируются в блоках дешифраторов

14-16 и вырабатывают микрооперации, котоыре с выходов 25.1 — 25.Р, 26.1 — 26.q, 27,1—

27,густройства поступают в различные узлы

ЭВМ и управляют их работой. Информационные поля, поступающие с выхода 67 регистра микрокоманды 13, дешифрируются в блоке дешифраторов 17, вырабатывая мик-. рооперации, которые используются для управления работой устройства.

Информационные поля, поступающие с выхода 66 микрокоманды на блок дешифраторов 16, вырабатывают микрооперации, которые не зависят от режима работы устройства, а информационные поля, поступающие с выхода 63 регистра микрокоманды на блоки дешифраторов 14 и 15, в зависимо сти от режима работы устройства вырабатывают разные микрооперации, Блок дешифраторов 15 вырабатывает микрооперации, которые задействованы только в режиме выполнения базовых микропрограмм

ЭВМ (например, микрооперации, связан-. ные с реализацией функций предварительной выборки команд), Блок дешифраторов 14 вырабатывает микрооперации, предназначенныедля управления узлами ЭВМ в режиме выполнения микропрограмм поддержки программного обеспечения ЭВМ (например; для управления стеком адресов 7). Переключением блоков дешифраторов 14 и 15 управляет триггер режима работы 11. В зависимости от.его состояния работает один из блоков дешифраторов 14 и 15, на управляющие входы которых поступают входы триггера режима работы, Сигналы на выходах 60 и 61 триггера режима работы имеют противоположную полярность, что исключает возможность появления сигналов одновременно на выходах блоков дешифраторов

14 и 15, Установкой и сбросом триггера 1 1 управляет бит режима работы, поступающий с выхода 62 регистра микрокоманды на информационный вход. триггера. Поле следующего адреса предназначено для Формирования адреса следующей микрокоманды в зависимости от тйпа перехода к следующей микрокоманде. Предусмотрено три типа перехода: безусловный, условный, При безусловном переходе адрес следующей микрокоманды формируется на основе значений поля следующего адреса на выходе 64 регистра микрокоманд и регистра хранения адреса 10, в котором хранится адрес предыдущей микрокоманды.

При условном переходе младшие биты адреса устанавливаются в соответствии с результатом проверки условий, выабатываемых в различных функциональных блоках машины, а старшие биты, как и при безусловном переходе, формируются на основе значений поля следующего адреса и регистра хранения адреса, Проверку эих условий, поступающих на входы 20.1 —.20.m устройства; обеспечивают микрооперации, вырабатываемые на выходах 29,1-29.m блока дешифраторов 17 и поступающие на соответствующие управляющие входы мультиплексора адреса. Условный переход может быть совмещен с безусловным переходом,.

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

1798781 регистра функционального перехоад 2. Значение регистра фунционального перехода 10

25 ние битов 0 — 3 регистра хранения адреа по 30 осуществляется под управлением сигналов, поступающих с выходов блока дешифрато- 40 ема может быть только на одном из каждой, группы входов 29,1 — 29,l и 29.I+1 — 29,m. При появлении сигнала.на каждой из этих вхо- 45

Функциональный переход предназначен для осуществления перехода между различными . секторами блока памяти, Формирование следующего адреса при функциональном переходе происходит под управлением бита функционального-перехода с выхода 65 регистра микрокоманды на основе значений поля следующего адреса и устанавливается по входу 21 устройства в зависимости от выполняемой функции, под управлением микрооперации на выходе 30 блока дешифратора 17, При функциональном переходе меняется значение старших битов адреса, являющихся номером сектора. Функциональный переход может быть совмещен с условным переходом, Частный случай формирования 13 битного адреса в мультиплексоре адреса 1 приведен на фиг.2. При безусловном переходе отсутствует сигнал на входе 40, на который поступает бит функционального перехода и открыты первые клапаны элементов И-ИЛИ, так как на эти клапаны сигнал потупает,своим инверсным значением, Биты 0 — 3 адреса, определяющие номер сектора блока памяти, остаются неизмнеными, так как биты 0-3 мультиплексора адреса принимают значевходу 38, Биты 4-10 мультиплексора адреса принимают значение битов 2 — 8 поля следующего адреса, поступающего на вход 39.

Биты 11 и 12 адреса устанавливаются в соответствии со значением проверяемых условий, поступающих на входы 20.1 — 20.I для

11 бита и -20,1+1 — 20.m для 12 бита. Установка битов 11 и 12 мультиплексора адреса ров 17 на входы 29,1 — -29.I и 29,l+1 —.29.m мультиплексора адреса, причем сигнал придов, на выходы битов 11 и 12 передаются значения тех информационных входов (проверяемые условия), которым соответствуют сигналы на управляющих входах, При функциональном переходе появляется сигнал на входе 40 и отпираются вторые клапаны, Биты 0 — 3 адреса принимают значение битов 5 — 8 поля следующего адреса, что дает воэможность изменить номер сектора, Биты 4-6 адреса принимают значение битов 2 — 4 поля следующего адреса. а биты 7 — 10 принимают значение регистра. функционального перехода, поступающего на вход 41 мультиплексора адерса, Установка битов 11 и 12 дареса происходит таким же образом, как при безусловном переходе.

Начальное значение адреса устанавливается по входу 18 под управлением сигнала на входе 19 устройства, который блокирует прием информации по остальным входам мультиплексора адреса, Это дает возможность прервать выполнение микропрограмм при необходимости и начать выполнение новой микропрограммы (например, выполнить пультовые операции).

Поле константй выход 28 регистра микрокоманды предназначен для задания различных констант в микропрограммах. В данном случае оно применено для задания начальных значений регистров адресов каналов через мультиплексор адреса возврата

5.

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

Если после очередной микрокоманды необходимо выполнить переход к подпрограмме, то в этой микрокоманде задается микрооперация, которая с выхода 31 блока дешифраторов 17 поступает на управляющий вход регистра адреса возврата 3 и загружаетдарес этой микрокоманды в регистр адреса возврата с выхода мультиплексора адреса 1 через мультиплексор адреса воз5 врата 5. Отсутствие сигнала.на управляющем входе мультиплексора адреса возврата позволяет передать на его выход значение адреса возврата с выхода мультиплексора адреса 1. Одновременно этот адрес поступает в регистр адреса 9 и из блока памяти

12 считывается очередная микрокоманда, следующий адрес этой микрокоманды является адресом перехода в подпрограмму, который с выхода мультиплексора адреса передается в регистр адреса 9 и начинается выполнение подпрограммы. При выполнении подпрограммы содержимое регистра адреса возврата не меняется. Для возврата в основную микропрограмму в последней микрокоманде подпрограммы задается микрооперация возврата, которая приводит к появлению сигнала на выходе 36 блока дешифраторов 17. B свою очередь этот сигнал, поступая на вход 36 коммунатора адре5 са 8, приводит к появлению сигнала на выходе 52 коммутатора адреса и передает на выход 53 коммутатора адреса значение регистра адреса возврата по входу 49 с инверсным значением младшего бита, что и является адресом возврата (см. фиг.3). Сигнал r: выхода 52 коммутатора адреса поступает на управляющий вход 57 регистра адреса. и вместе следующего адреса с выхода мультилексора адреса, в регистр адреса поступает по входу 58 значение адреса возврата с выхода 53 коммутатора адреса. После этого продолжается обычная последовательность работы устройства, когда в каждом цикле дарес.очередной микрокоманды с выхода мультиплексора адреса поступает в регистр адреса, В предложенном устройстве выполняются как микропрограммы процессора, так и микропрограммы связи с каналами (канальные микропрограммы) ЭВМ. Для выполнения канальных микропрограмм ЭВМ предусмотрены регистры адресов каналов

6.1-6,п, где и — количество каналов, началь. ные значения которых являются начальными адресами соответствующих канальных микропрограмм. Начальные значения этих реГистров устанавливаются при начальной . загрузке микропрограммы с помощью сигнала на. входе 33 мультиплексора адреса возврата 5 и сигнала на управляющих входах 34,1-34.п регистров адресов каналов, которые вырабатываются на выходах 33 и

34,1 — 34.п блока дешифраторов 17, При появлении сигнала на управляющем входе ЗЗ . мультиплексора адреса возврата на его выход передается значение поля константы 28 регистра микрокоманды, которое принимается на соответствующий регистр адреса ка-. нала, на управляющем входе которого есть разрешающий сигнал, Таким же образом загружаются и остальные регистры адресов каналов.

Канальные микропрограммы обладают высшим приоритетом по сравнению с микропрограммами процессора и они могут прервать выполнение микропрограмм процессора. Установлен также приоритет меж- ду канальными микропрограммами по возрастанию номеров каналов, Установленный приоритет обеспечивается в коммутаторе адреса 8 (см. фиг.3), на который поступают выходы регистра адреса возврата, регистра адреса перехода и регистров адресов каналов,.а также запросы от каналов. Запросы от каналов поступают на входные элементы И 70,1 — -70.п по входам

24,1 — 24 и. Принятый приоритет между запросами обеспечивается соответствующей коммутацией входов этих элементов. При наличии только одного запроса на одном из входов 24.1-24.п появляется сигнал на выходе одного из элементов И 70,1 — 70.п, соответствующего этому запросу. При наличии сразу нескольких запросов, сигнал появляется на выходе одного из элементов И 70.1—

20

25 сигналов появляется сигнал на выходе соответствующего элемента. Сигналы сравне30 ния через элементы И 74.1 — 74,п поступают одного сигнала несравнения íà его входах, Одновременно сигналы запросов с выходов

35 элементов 70.1 — 70.п поступают на коммута40

-70.n n соответствии с установленным приоритетом. Например, при появлении запросов на входах 24.1 — 24.2 одновременно, сигнал появляется только на выходе элемента И 70.1. Сигналы с выходов элементов И

70.1 — -70.п поступают на входьг элементов. сравнения 73,1--73.п и на входы первого регистра запросов 72. Полученный код эапроса с единицей в одной позиции и с нуля в остальных позициях принимается в первый регистр запросов 72, далее — eo второй регистр запросов 71 и сохраняется в них до появления нового запроса с более высоким приоритетом или сброса первого регистра запросов, Сброс регистра 72 выполняется с помощью.микрооперации на выходе 37 блока дешифраторов 17. Сигнал сброса поступает на вход 37 коммутатора адреса, далее — через элемент И 68 на вход регистра 72 и устанавливает его на нуль. Сброс регистра

72 осуществляется при начальной загрузке микропрограмм и применяется для установки начального нулевого состояния, Выходы элементов 70,1 — 70.п сравниваются с выходами второго регистра запросов 71 с помощью элементов 73:1 — -73,п и при несовпадении одной из пар сравниваемых на входы элемента ИЛИ 75, на выходе которого появляется сигнал при наличии хотя бы тор 77, на который поступают также выходы регистров. адресов каналов по входам 51,1-51 и. На выход коммутатора 77 передается значение регистра адреса канала, для которого определен более высокий приоритет.

Регистры запросов 72 и 71 предназначен для задержки сигналов запросов на один цикл работы устройства и синхронизирова-. ны так, что в момент поступления запросов выходы элементов 70,1 — -70.п сравниваются с предыдущим значением запросов с выходов второго регистра запросов 71.

Наличие сигнала на выходе 52 коммутатора адреса 8 создает условие для приема информации в регистр адреса 9 с выхода 53 коммутатора адреса и вместо очередного значения следующего адреса в регистр адреса поступает значение регистра адреса канала. По этому адресу считывается из БП

12 микрокоманда, следующий адрес которой передается в мультиплексор адреса 1.

Происходит прерывание микропрограммы процессора со стороны микропрограммы одного из каналов, После прерывания в регистре адреса 4 хранится адрес прерванной мик1798781

20

30

40

50 рокоманды до возобновления выполнения микропрограммы процессора, Прерывание микропрограммы происходит в определенных разрешенных точках микропрограммы. Разрешение прерывания определяется микрооперацией на выходе

35 блока дешифраторов 17, которая поступает на вход 35 коммутатора адреса. При отсутствии сигнала разрешения прерывания блокируются элементы И 69, 70.1 — 70.п и 74.1 — 74,п, блокируется прием в регистр ,72, отсутствует сигнал на выходе 52 коммутатора адреса и не может произойти прерывание выполянемой микропрограммы.

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

49, Одновременно появляется сигнал на выходе 52 коммутатора адреса и в регистр адреса 9 поступает значение регистра адреса возврата с инверсным значением младшего бита. Происходит возврат из подпрограммы, Во избежании накладки в коммутаторе 77 при осуществлении возвра-та из подпрограммы блокируется разрешение прерывания данной микропрограммы.

Наличие регистров запросов 72 и 71 позволяет ограничить длительность сигнала на выходе 52 коммутатора адреса длительностью одного цикла работы устройства, В момент поступлепния запросов, при наличии разрешения п,рерывания микропрограммы на входе 35 коммутаторов адреса и при несовпадении выходов элементов 70.1—

70.п и регистра 71 появляется сигнал на выходе 52 коммутатора адреса. В следующем цикле информация с выходов элементов 70.1 — -70.п принимается в регистры 72 и, 71, что приводит к совпадению указанных выходов и исчезновению сигнала на выходе

52. Совпадение выходов элементов 70.1— 70.п и выходов регистра 71 в момент поступления сигнала разрешения прерывания микропрограммы на входе 35 может быть только тогда, когда на входах 24,1-24,п устройства присутствует запрос того канала, микропрограмма которого обслуживается в данный момент. B этом случае не появляется сигнал на выходе 52 коммутатора адреса . и продолжается нормальный ход выполнения микропрограммы, Если же есть запрос с более высоким приоритетом, то появляется сигнал на выходе 52 и в регистр адреса 9 поступает значение регистра адреса того канала, от которого поступил запрос. В следующем цикле исчезает сигнал на выходе 52 коммутатора адреса, в регистр адреса 9 поступает следующий адрес этой микрокоманды с выхода мультиплексора адреса 1 и начинается выполнение соответствующей канальной микропрограммы, При выполнении канальной микропрограммы соответствующий регистр адреса канала в каждом цикле принимает адрес очередной микрокоманды. Содержимое регистров адресов остальных каналов и регистра адреса перехода не изменяется, Прерывание микропрограммы канала с низшим приоритетом со стороны микропрограммы канала с высшим приоритетом происходит таким же образом, как и в случае прерывания микропрограммы процессора.

При поступлении запроса канала с более высоким приоритетом на входы 24,1 — 24.п устройства и наличии разрешения прерывания микропрограммы на входе 35 коммутатора адреса появляется сигнал на выходе 52 и регистр адреса 9 поступает первый адрес новой канальной микропрограммы, В следующем цикле исчезает сигнал на выходе 52 и начинается выполнение новой кайальной микропрограммы, Содержимое регистра адреса канала, микропрограмма которого прервана, остается без изменения и хранит адрес прерванной микрокоманды, а регистр адреса канала, со стороны которого было. осуществлено прерывание; начинает принимать в каждом цикле адрес очередной микрокоманды, Восстановление прерванных микропрограмм происходит в следующей последовательности. После завершения микропрограммы с наивысшим приоритетом выдается микрооперация разрешения прерывания микропрограмм и снимается запрос этого канала со входов 24.1 — 24.п, появляется новый код на выходах элементов 70,1 — 70.п, что приводит к появлению сигнала на выходе 52 коммутатора адреса.

В регистр адреса 9 с выхода 53 коммутатора адреса принимается адрес прерванной микрокоманды следующего по приоритету канала и начинается выполнение его микропрограммы, Таким образом восстанавливаются и прерванные микропрограммы остальных каналов, После завершения каждой канальной микропрограммы снимается соответствующий запрос, в результате после завершения всех канальных микропрограмм на входах 24.1--24.п отсутствуют запросы, что приводит к появлению сигнала на выходе элемента ИЛИ 76 коммутатора адреса. Одновременно появляется сигнал на выходе 52, так как происходит переключение на выходах элементов 70.1-70.п и ре11

22 и 23 устройства. На фиг.5 показан фраг- 55 мент временной диаграммы работы устройства при прерываниях микропрограммы, В каждом цикле работы устройства первым синхросигналом сформированный адрес принимается в регистр адреса 9, а вторым гистр адреса 9 через коммутатор адреса 8, по входу 50 коммутатора 77. с выхода регистра адреса перехода 4 принимается адрес прерванной микропрограммы процессора.

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

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

ОП машины). На фиг,4 показан пример последовательности работы микропрограммного устройства для трех каналов и процессора. Работа устройства начинается в момент времени to, Затем в моменты времени t1, tz и сз микропрограмма процессора последовательно запускает каналы 1, 2 и 3.

До момента t4 все каналы и процессор работают параллельно. В момент т4 канал 2 выставляет запрос и начинается выполнение миркопрограммы второго канала, Для приведенного примера считается, что в момент поступления запроса есть разрешение прерывания микропрограммы процессора. В момент t5 канал 1 прерывает канал 2 и до момента to выполняется микропрограмма первого канала. В моменты тб завершается микропрограмма первого канала, снимается его запрос и возобновляется выполнение микропрограммы второго канала. В момент 7 выставляется запрос канала 3, но его запрос не обслуживается, так как до момента.

8 в микропрограмме канала 2 отсутствует разрешение прерывания микропрограммы.

В момент тв начинается выполнение микропрограммы канала 3, которое завершается в момент tg и так как после этого нет запросов от каналов, то возобновляется выполнение микропрограмм процессора. В момент

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

50 синхроси налом с <итэннэя из блока памяти информация принимается в регистр микрокоманды 13. С некоторой задержкой появляются сигналы микроопераций на выходах дешифраторов 14-17. Эта задержка из-за незначительности не учтена на диаграмме.

Сигналы на выходах дешифраторов имеют длительность, кратную длительности цикла работы устройства. Канальные устройства являются частью вычислительной системы и синхронизируются от общего генератора системы. Поэтому сигналы запросов каналов поступают на входы 24,1--24.п устройства синхронно с выходными сигналами блоков дешифраторов 14 — 17 и имеют длительность также кратную длительности цикла устройства. На диаграмме фиг,5 в первом цикле поступает сигнал запроса третьего канала на вход 24.3, передний фронт которого совпадает с передним фронтом второго синхросигнала и с передним фронтом сигнала разрешения прерывания нэ входе

35 коммутатора адреса, (}дновременное появление сигналов разрешения прерывания и запроса третьего канала приводит к появ- . лению сигнала на выходе элемента И 70.3 (см.фиг.3), и так как регистр 72 первоначально находится в нулевом состоянии, то на выходе 52 появляется сигнал разрешения приема с выхода коммутатора адреса. Затем so втором цикле первым синхросигнэлом запрос третьего канала принимэеся s ре;истр 72, а вторым сигналом — в регистр

71. Совпадение выходов регистра запросов

71 и элементов 70.1-70,г, приводит к исчезновению сигнала на выходе 52, Таким образом в момент поступления запроса канала, если есть разрешение прерывания микропрограммм, на выходе 52 коммутатора адреса появляется сигнал длительностью в один цикл, Наличие этого сигнала позволяет во втором цикле первым синхросигналом принять в регистр адреса значение регистра адреса третьего канала с выхода 53 коммутатора адреса. В третьем цикле уже Ьстутствует сигнал на выходе 52, и регистр адреса принимает информацию с выхода мультиплексора адреса 1. Начинается выполнение микропрограммы третьего канала. В третьем цикле снова появляется разрешение прерывания, но так как по-прежнему есть запрос только третьего канала, на выходе 52 не появляется сигнал, В четвертом цикле меняется запрос на входах 24,1-24,п, так как есть разрешение прерывания на входе

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

1798781

20

40 сом П2

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

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

B этом режиме работы устройства предусмотрена возможность перехода к базовым микропрограммам как к подпрограммам.

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

Блок регистров стека адресов 7 состоит из регистров 78,1 — 78.S (см. фиг,6). Выход каждого регистра 78,i {i = 2„„,S — 1) соединен с первым информационным входом следующего регистра (78.i+1) и со вторым информационным входом предыдущего регистра (78 — 1), Второй информационный вход регистра 78.S не задействован, а выход соединен с вторым информационным входом регистра 78,S — 1. Первый информационный вход регистра 78.1 соединен с информационным входом 14 стека, а выход соединен с первым информационным входом регистра

78.2 и с выходом 46 стека. Запись в стек (загрузка стека) проводится под управлением сигнала на входе 43 стека, поступающего на вторые управляющие входы регистров

78.1 — 78.S — 1, а чтение из стека (разгрузка стека) — под управлением сигнала на входе

42 стека, поступающего на первые управляющие входы регистров 78.1 — 78.S — 1, При появлении сигнала на входе 43 содержимое регистра 78.! (i = 1„„,S — 1) передается в регистр 78.!+1, а в регистр 78.1 передается информация с выхода мультиплексора адреса 1, При появлении сигнала на входе 42 стека содержимое регистра 78 (i =-2,...,S) передается в регистр 78,i — 1, Таким образом, на выходе стека последовательно появляются адреса в порядке, обратном их загрузке в стек.

Последовательность загрузки стека приведена в таблице фиг.7 в графе "Адрес микрокоманды" указаны обозначения адресов микрокоманд микропроцеграг,мной поддержки, в которых производится загрузка блока регистра стека адресов. В графе

"Адрес следующей микрокоманды" для каждого адреса микрокоманды, указанного в графе "Адрес микрокоманд", приводится обозначение адреса следующей заданной микрокомандой. Для адресов микрокоманд микропрограммной поддержки используется обозанчение П. для адресов микрокоманд базовых микропрограмм — обозначение Б1, для адреса микрокоманды, отличающегося от данного адреса П! инверсным значением младшего бита адреса — обозначение Пь В гарфе "Микрокоманда" числами 31, 36, 43 обозначены микрооперации, которые поступают на входы 31, 36 устройства и нэ вход

43 блока регистров стека адресов 7.

В микрокоманде с адресом ПО задана микрооперэция загрузки регистра адреса возврата 3, Следующий адрес этой микрокоманды (П1) передается с выхода мультиплексора адреса 1 в регистр адреса возврата 3. Одновременно адрес П1 передается в регистр адреса 9 и происхоидт переход по этому адресу, В микрокоманде с даресом П1 заданы микрооперации загрузки стека "и возврата к адресу П1, значение которого отличается от значения П1 инверсным значением младшего бита (микрооперации на входе 36 устройства и на входе 43 блока регистров стека адресов). Адрес Пэ+1, который формируется в мультиплексоре адреса 1 на оснвое микрокоманды с адресом

П1, следующий адрес этой микрокоманды является адресом возврата в микропрограммную поддержку и засылается в регистр

78,1 стека, а в регистр адреса 9 передается сохраненный в регистре адреса возврата 3 адрес П1 с инверсным значением младшего бита (П1), Происходит переход по адресу П1.

В микрокоманде с адресом П1 задана микрооперация загрузки следующего адреса этой микрокоманды (П2) в регистр адреса возврата. Одновременно этот адрес передается в регистр адреса 9 и происходит переход по адресу П2. В микрокоманде с адресом П2 заданы микрооперэции загрузки стека и возврата к микрокоманде с адреПод управлением микрооперации нэ вх