Изобретение относится к вычислительной технике и может быть применено в ЭВМ с микропрограммным управлением..
Целью изобретения является сокращение емкости блока памяти.
На фиг.1 представлена блок-схема предложенного устройства; на фиг.2 - пример функциональной схемы мультиплексора адреса для 13 битного адреса, принятого в ЭВМ ЕС1046; на фиг.З - пример структурной схемы коммутатора адреса; на фиг.4 приведена последовательность работы разных рутин микропрограмм; на фиг.5 - временная диаграмма работы устройства; на фиг.6 представлена структурная схема.блока регистров стека адресов; на фиг.7 - приведена последовательность загрузки стека адресов; на фиг,8 - представлена алгоритмическая диаграмма работы устройства.
Устройство содержит мультиплексор 1 адреса, регистр 2.функционального перехода, регистр 3 адреса возврата, регистр 4 адреса перехода, мультиплексор 5 адреса возврата, регистры 6.1-б:.п адресов каналов, блок 7 регистров стека адресов, коммутатор 8 адреса/регистр 9 адреса, регистр 10 хранения адреса, триггер 11 режима работы, блок 12 памяти, регистр 13 микрокоманд, блоки 14-17 дешифраторов, первый информационный вход 18 устройства, первый управляющий вход 19 устройства, второй информационный вход 20.1-20.m
XI
Ю
СО
XI
00
устройства, третий информационный вход 21 устройства, первый вход 22 синхронизации устройства, второй вход 23 синхронизации устройства, второй управляющий вход 24.1-24.п устройства, четвертый информационный выход 25.1-25.Р, третий информационный выход 26.1-2.6.q, второй информационный выход 27.1-27.,выход 28 поля адреса возврата регистра микрокоманды, первый выход 29.1.-29.т первого блока, дешифраторов, второй, третий, четвертый и пятый выходы.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.1, 20,1 + 1-20,m - вторые информационные входы устройства, 29.1- 29.1, 29,1+1-29.т-третьи управляющие входы селектора адреса.
Надписи на полях условных графических обозначениях элементов И-ИЛИ соответствуют выполянемой функции логического И-ИЛИ для группы битов, номера которых приведены на выходах. Надписи на входных Линиях 0-3, 2-4, 4-6, 5-8, 7-10, 11, 12 соответствуют номерам битов входных данных, поступающих на соответствующие входы мультиплексора адреса.
Коммутатор адреса 8 содержит (фиг.З) первый и второй элементы И 68, 69, первую группу элементов И 70.1-70.П, второй регистр 71 запросов, первый регистр запросов
72, группу элементов сложения по модулю 2, 73.1-73.п, вторую группу элементов И 74.1-74.п, третий элемент И 75, элемент ИЛИ 76, коммутатор 77.
Надписи регистров71 и72 R, Си D1-D4 СОовтетствуют общепринятым обозначениям выполняемых функций сброса, синхронизации и приема данных соответственно. На фиг.4 приняты следующие обозначегнй.я:
МП - микропрограмма, ЦП - центральный процессор, К1-КЗ - с первого по третий каналы, tD-tio - моменты времени.
Надписи на отрезках линии ЦП, КТКЗ
5 ограничены буквами ti (i 1-10) и показывают устройство, микропрограмма которого выполняется на данном отрезке времени. На первом уровне, обозначенном МП, жирной линией показана работа микропрограм0 много устройства управления, а на йтором,
третьем и четвертом уровнях, обозначенных
позициями К1, К2, КЗ показана жирными
отрезками линий работа каналов 1, 2 и 3.
На фиг.5 слева от диаграммы по верти5 кали приведены обозначения, соответствующие обозначениям на ф-иг.1 и фиг.2. На верхней части диаграммы по горизонтали цифрами 1-7 показаны номера циклов работы микропрограммного устройства управле0 ния. .....
На фиг,7 в гарфах Адрес микрокоманды и Адрес следующей микрокоманды приведены адреса микрокоманд, обозначенные позициями П|, П и Б, где I О,
5 1,.,.,S+1, j 1,2,...,S, а в графах Микроко-. манда приведены микрооперации, поступающие на входы 31, 36 43 устройства.
На фиг.8 приведены надписи, соответствующие выполняемой функции на каждом
0 этапе и проверяемым условиям в ходе работы устройства, причем сделаны следующие обозначения: ТИП - проверка типа выполняемой команды - . . -
5 РЕЖ-проверка режима работы устройства. .
СТЕК - проверка заполняемое™ стека адресов
В настоящее время широко используе0 мым способом повышения производительности ЭВМ является микропрограммная поддержка отдельных компонентов программного обеспечения. Микропрограммные поддержки загружаются в область
5 . управляющей памяти, не занимаемую микропрограммами реализации базовых принципов работы ЭВМ (базовыми микропрограммами). Учитывая ограниченность объема этой области, для увеличения доли микропрограммно реализуемых компонентов программного обеспечения, желательно иметь возможность использования отдельных базовых микропрограмм в качестве подпрограмм в микропрограммных поддержках (например, микропрограмм реализации умножения деления и т.д.). Однако для ЭВМ с совмещением выполнения отдельных команд непосредственное использование этих микропрограмм, как правило, не возможно, так как во время выполнения текущей машинной команды параллельно выполняются отдельные этапы следующей или следующих команд и другие функции, не связанные с выполнением текущей команды.
Предложенное микропрограммное устройство управления позволяет использовать базовые микропрограммы как подпрограммы в микропрограммных поддержках. При;этом обеспечена возможность использования как одной микропрограммы, так и последовательности базовых микропрограмм.
Предложенное микропрограммное устройство управления работает в двух режимах; выполнения базовых микропрограмм и выполнения микропрограммной поддержки.
Рассмотрим работу устройства в режиме выполнения микропрограмм реализации базовых принципов работы ЭВМ (базовых микропрограмм).
В каждом цикле работы устройства (см. фиг.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 регистра микрокоманды на блоки дешифраторов 1А и 15, в зависимо сти от режима работы устройства, вырабатывают разные микрооперации. Блок дешифраторов 15 вырабатывает микрооперации, которые задействованы только в режиме выполнения базовых микропрограмм ЭВМ (например, микрооперации, связан ные с реализацией функций предваритель0 ной выборки коМанд),Блок дешифраторов 14 вырабатывает микрооперации, предназначенные для управления узлами ЭВМ в режиме выполнения микропрограмм поддержки программного обеспечения ЭВМ (напри5 мер, для управления стеком адресов 7). Переключением блоков дешифраторов 14 и 15 управляет триггер режима работы 11. В зависимости от его состояния работает один из блоков дешифраторов 14 и 15, на управ0 ляющие входы которых поступают входы триггера режима работы. Сигналы на выходах 60 и 61 триггера режима работы имеют .противоположную полярность, что исключает возможность появления сигналов одно- 5 временно на выходах блоков дешифраторов 14 и 15, Установкой и сбросом триггера 11 управляет бит режима работы, поступающий с выхода 62 регистра микрокоманды на информационный вход триггера. Поле еле0 дующего адреса предназначено для формирования адреса следующей микрокоманды в зависимости от типа перехода к следующей микрокоманде. Предусмотрено три типа перехода: безусловный, условный,
5 функциональный.
При безусловном переходе адрес следующей микрокоманды формируется на основе значений поля следующего адреса на выходе 64 регистра микрокоманд и регистра
0 хранения адреса 10, в котором хранится адрес предыдущей микрокоманды.
При условном переходе младшие биты адреса устанавливаются в соответствии с результатом проверки условий, выабатыва5 емых в различных функциональных блоках машины, а старшие биты, как и при безусловном переходе, формируются на основе значений поля следующего;адреса и регистра хранения адреса, Проверку эих условий,
0 поступающих на входы 2Q.1-20.rn устройства, обеспечивают микрооперации, вырабатываемые на выходах 29.1-29,т. блока дешифраторов 17 и поступающие на соответствующие управляющие входы мульти5 плексора адреса. Условный переход может быть совмещен с безусловным переходом. Безусловный переход, совмещенный с условным переходом, обеспечивает адресацию определенной области управляющей памяти, называемой сектором.
Функциональный переход предназначен для осуществления перехода между раз- личными секторами блока памяти. Формирование следующего адреса при функциональном переходе происходит под управлением бита функционального- перехода с выхода 65 регистра микрокоманды на основе значений поля следующего адреса и регистра функционального перехоад 2. Значение регистра фунционального перехода устанавливается по входу 21 устройства в зависимости от выполняемой функции, под управлением микрооперации на выходе 30 блока дешифратора 17, При функциональном переходе меняется значение старших битов адреса, являющихся номером сектора. Функциональный переход может быть совмещен с условным переходом,
Частный случай формирования 13 битного адреса в мультиплексоре адреса 1 приведен на фиг.2. При безусловном переходе отсутствует сигнал на входе 40, на который поступает бит функционального перехода и открыты первые клапаны элементов И-ЙЛИ, так как на эти клапаны сигнал потупает.своим инверсным значением. Биты 0-3 адреса, определяющие номер сектора блока памяти, остаются нёизмнеными, так как биты 0-3 мультиплексора адреса принимают значение битов 0-3 регистра хранения адреса по входу 38. Биты 4-10 мультиплексора адреса принимают значение битов 2-8 поля следующего адреса, поступающего на вход 39. Биты 11 и 12 адреса устанавливаются в соответствии со значением проверяемых, условий, поступающих на входы 20.1-20.1 для .11 бита и -20.1+1 -20.гл для 12 бита. Установка битов 11 и 12 мультиплексора адреса осуществляется под управлением сигналов, поступающих с выходов блока дешифраторов 17 на входы 29.1--29.I и 29.1+1-29.m мультиплексора адреса, причем сигнал приема может быть только на одном из каждой. группьгвходов 29.1-29.1 и 29.1+1-29.гл. При появлении сигнала .на каждой из этих входов, на выходы битов 11 и 12 передаются значения тех информационных входов (проверяемые условия), которым соответствуют сигналы на управляющих входах.
При функциональном переходе появляется сигнал на входе 40 и отпираются вторые клапаны. Биты 0-3 адреса принимают значение битов 5-8 поля следующего, адре- са, что дает возможность изменить номер сектора. Биты 4-6 адреса принимают значение битов 2-4 поля следующего адреса, а биты 7-10 принимают значение регистра функционального перехода, поступающего на вход 41 мультиплексора эдерсэ. Установка битов 11 и 12 дареса происходит таким же образом, как при безусловном переходе. Начальное значение адреса устанавливается по входу 18 под управлением сигнала
на входе 19 устройства, который блокирует прием информации по остальным входам мультиплексора адреса. Это дает возможность прервать выполнение микропрограмм при необходимости и начать
0 выполнение новой микропрограммы (например, выполнить пультовые операции).
Поле константы выход 28 регистра микрокоманды предназначен для задания различных констант в микропрограммах. В
5 данном случае оно применено для задания начальных значений регистров адресов каналов через мультиплексор адреса возврата 5.
В предложенном устройстве предус0 мотрена возможность перехода к подпрограммам с последующим возвратом к основной микропрограмме (переход с возвратом). Рассмотрим подробнее последовательность работы устройства при
5 осуществлении перехода с возвратом.
Если после очередной микрокоманды необходимо выполнить переход к подпрограмме, то в эдой микрокоманде задается микрооперация, которая с выхода 31 блока
0 дешифраторов 17 поступает на управляющий вход регистра адреса возврата 3 и загружает дарес этой микрокоманды в регистр адреса возврата с выхода мультиплексора адреса 1 через мультиплексор адреса воз5 врата 5. Отсутствие сигнала.на управляющем входе мультиплексора адреса возврата позволяет передать на его выход значение адреса возврата с выхода мультиплексора адреса 1. Одновременно этот адрес посту0 пает в регистр адреса 9 и из блока памяти 12 считывается очередная микрокоманда, следующий адрес этой микрокоманды является адресом перехода в подпрограмму, который с выхода мультиплексора адреса
5 передается в регистр адреса 9 и начинается выполнение подпрограммы. При выполнении подпрограммы содержимое регистра адреса возврата не меняется. Для возврата в основную микропрограмму в последней
0 микрокоманде подпрограммы задается микрооперация возврата, которая приводит к появлению сигнала на выходе 36 блока дешифраторов 17. В свою очередь этот сигнал, поступая на вход 36 коммунатора адре5 са 8, приводит к появлению сигнала на выходе 52 коммутатора адреса и передает на выход 53 коммутатора адреса значение регистра адреса возврата по входу 49 с инверсным значением младшего бита, что и является адресом возврата (см. фиг.З). Сигнал г. выхода Г коммутатора адреса поступает на управляющий вход 57 регистра адреса, и вместе следующего адреса с выхода мультилексора адреса, в регистр адреса поступает по входу 58 значение адреса возврата с выхода 53 коммутатора адреса. После этого продолжается обычная последовательность работы устройства, когда в каждом цикле дарес очередной микрокоманды с выхода мультиплексора адреса поступает в регистр адреса,
. В предложенном устройстве выполняются как микропрограммы процессора, так и микропрограммы связи с каналами (канальные микропрограммы) ЭВМ. Для выполнения канальных микропрограмм ЭВМ предусмотрены регистры адресов каналов 6.1-б.п, где п - количество каналов, начальные значения которых являются начальными адресами соответствующих канальных микропрограмм. Начальные значения этих регистров устанавливаются при начальной, загрузке микропрограммы с помощью сигнала на входе 33 мультиплексора адреса возврата 5 и сигнала на управляющих входах 34.1-34.ri регистров адресов каналов, которые вырабатываются на выходах 33 и 34.1-34.П блока дешифраторов 17. При появлении сигнала на управляющем входе 33 мультиплексора адреса возврата на его выход передается значение поля константы 28 регистра микрокоманды, которое принимается на соответствующий регистр адреса канала, на управляющем входе которого есть разрешающий сигнал, Таким же образом загружаются и остальные регистры адресов каналов.
Канальные микропрограммы обладают высшим приоритетом по сравнению с микропрограммами процессора и они могут прервать выполнение микропрограмм процессора. Установлен также приоритет между канальными микропрограммами по возрастанию номеров каналов, Установленный приоритет обеспечивается в коммутаторе адреса 8 (см. фиг.З), на который поступают выходы регистра адреса возврата, регистра адреса перехода и регистров адресов каналов, а также запросы от каналов. Запросы от каналов поступают на входные элементы И 70.1-70.п по входам 24.1-24.п. Принятый приоритет между запросами обеспечивается соответствующей коммутацией входов этих элементов. При наличии только одного запроса на одном из входов 24.1-24..П появляется сигнал на выходе одного из элементов И 70.1-70.П, соответствующего этому запросу. При наличии сразу нескольких запросов, сигнал появляется на выходе одного из элементов И 70.1-70.п п соответствии г. установленным приоритетом. Например, при пояплении запросов-на входах 24.1-24.2 одновременно, сигнал появляется только на выходе элемен- 5 та И 70..1. Сигналы с выходов элементов И 70.1- 70.п поступают на входы элементов сравнения 73.1- 73.п и на входы первого регистра запросов 72. Полученный код запроса с единицей в одной позиции и с нуля
0 в остальных позициях принимается в первый регистр запросов 72, далее - во второй регистр запросов 71 и сохраняется в них до появления нового запроса с более высоким приоритетом или сброса первого регистра
5 запросов. Сброс регистра 72 выполняется с помощью микрооперации на выходе 37 блока дешифраторов 17. Сигнал сброса поступает на.вход 37 коммутатора адреса, далее . - через элемент И 68 на вход регистра 72 и
0 устанавливает его на нуль. Сброс регистра 72 осуществляется при начальной загрузке микропрограмм и применяется для установки начального нулевого состояния. Выходы .элементов 70.1-70.п сравниваются с выхо5 дами второго регистра запросов 71 с помощью элементов 7311-73.п и при несовпадении одной из пар сравниваемых .сигналов появляется сигнал на выходе соответствующего элемента. Сигналы сравне0 ния через элементы И 74,1-74.п поступают на входы элемента.ИЛИ 75, на выходе которого появляется сигнал при наличии хотя бы одного сигнала несравнения на его входах. Одновременно сигналы запросов с выходов
5 элементов 70.1-70.П поступают на коммутатор 77, на который поступают также выходы регистров адресов каналов по входам 51.1- .-51 ;п. На выход коммутатора 77 передается значение регистра адреса канала, для кото0 рого определен более высокий приоритет. Регистры запросов 72 и 71 предназначен для задержки сигналов запросов на один цикл работы устройства и синхронизированы так, что в момент поступления запросов
5 выходы элементов 70.1-70.п сравниваются с предыдущим значением запросов с выходов второго регистра запросов 71.
Наличие сигнала на выходе 52 коммутатора адреса 8 создает условие для приема
0 информации в регистр адреса 9 с выхода 53 коммутатора адреса и вместо очередного значения следующего адреса в регистр адреса поступает значение регистра адреса канала. По этому адресу считывается из БП
5 12 микрокоманда, следующий адрес которой передается в мультиплексор адреса 1. Происходит прерывание микропрограммы процессора со стороны микропрограммы одного из каналов. После прерывания в ре- гистре адреса 4 хранится адрес прерванной микрокрманды до возобновления выполнения микропрограммы процессора.
Прерывание микропрограммы происходит в определенных разрешенных точках микропрограммы. Разрешение прерывания определяется микрооперацией на выходе 35 блока дешифраторов 17, которая поступает на вход 35 коммутатора адреса. При отсутствии сигнала разрешения прерывания блокируются элементы И 69, 70.1-70.п и 74.1-74.п, блокируется прием в регистр .72, отсутствует сигнал на выходе 52 коммутатора адреса и не может произойти прерывание выполянемой микропрограммы. Блокировка разрешения прерывания микропрограмм не влияет на механизм перехода с возвратом, который выполняется с помощью микрооперации на выходе 36 блока дешифраторов 17, Сигнал этой микроопе-. рации поступает на вход 36 коммутатора адреса и передает на выход коммутатора 77 значение регистра адреса возврата по входу 4-9, Одновременно появляется сигнал на выходе 52 коммутатора адреса и в регистр адреса 9 поступает значение регистра адреса возврата с инверсным значением младшего бита. Происходит возврат из подпрограммы. Во избежании накладки в коммутаторе 77 при осуществлении возвра-- та из подпрограммы блокируется разрешение прерывания данной микропрограммы.
Наличие регистров запросов 72 и 71 позволяет ограничить длительность сигнала на выходе 52 коммутатора адреса длительностью одного цикла работы устройства. В момент поступлепния запросов, при наличии разрешения прерывания микропрограммы на входе 35 коммутаторов адреса и при несовпадении выходов элементов 70.170.п и регистра 71 появляется сигнал на выходе 52 коммутатора адреса. В следующем цикле информация с выходов элементов 70.1-70.п принимается в регистры 72 и,
71. что приводит к совпадению указанных выходов и исчезновению сигнала на выходе 52. Совпадение выходов элементов 70.1- 70.п и выходов регистра 71 в момент поступления сигнала разрешения прерывания микропрограммы на входе 35 может быть только тогда, когда на входах 24,1-24,п устройства присутствует запрос того канала, микропрограмма которого обслуживается в данный момент, В этом случае не появляется сигнал на выходе 52 коммутатора адреса и продолжается нормальный ход выполнения микропрограммы. Если же есть запрос с более высоким приоритетом, то появляется сигнал на выходе 52 и в регистр адреса 9 поступает значение регистра адреса того канала, от которого поступил запрос. В следующем цикле исчезает сигнал на выходе 52 коммутатора адреса, в регистр адреса 9 поступает следующий адрес этой микрокоманды с выхода мультиплексора адреса 1 и
начинается выполнение соответствующей канальной микропрограммы. При выполнении канальной микропрограммы соответствующий регистр адреса канала в каждом цикле принимает адрес очередной микроко0 манды. Содержимое регистров адресов остальных каналов и регистра адреса перехода не изменяется.
Прерывание микропрограммы канала с низшем приоритетом со стороны микро5 программы канала с высшим приоритетом происходит таким же образом, как и в случае прерывания микропрограммы процессора. При поступлении запроса канала с более высоким приоритетом на входы 24.1-24.rt
0 устройства и наличии разрешения прерывания микропрограммы на входе 35 коммутатора адреса появляется сигнал на выходе 52 и регистр адреса 9 поступает первый адрес новой канальной микропрограммы, В следу5 ющем цикле исчезает сигнал на выходе 52 и начинается выполнение новой канальной микропрограммы. Содержимое регистра адреса канала, микропрограмма которого прервана, остается без изменения и хранит
0 адрес прерванной микрокоманды, а регистр адреса канала, со стороны которого было осуществлено прерывание; начинает принимать в каждом цикле адрес очередной микрокоманды.
5Восстановление прерванных микропрограмм происходит в следующей последовательности. После завершения микропрограммы с наивысшим приоритетом выдается микрооперация разрешения
0 прерывания микропрограмм и снимается
запрос этого канала со входов 24.1-24.п,
появляется новый код на выходах элемен тов 70.1-70.п, что приводит к появлению
сигнала на выходе 52 коммутатора адреса.
5 В регистр адреса 9 с выхода 53 коммутатора адреса принимается адрес прерванной микрокоманды следующего по приоритету канала и начинается выполнение его микропрограммы. Таким образом воеста0 навливаются и прерванные микропрограммы остальных каналов. После завершения каждой канальной микропрограммы снимается соответствующий запрос, в результате после завершения всех канальных микро5 программ на входах 24.1-24.п отсутствуют запросы, что приводит к появлению сигнала на выходе элемента ИЛИ 76 коммутатора адреса. Одновременно появляется сигнал на выходе 52, так как происходит переключение на выходах элементов 70.1-70.ri и регистр адреса 9 через коммутатор адреса 8, по входу 50 коммутатора 11. с выхода регистра адреса перехода 4 принимается адрес прерванной микропрограммы процессора. Далее продолжается выполнение микропрограммы процессора. После завершения всех.канальных микропрограмм в регистрах адресов каналов восстанавливаются их исходные значения, тем самым каналы готовы к новому запуску. Запуск работы каналов, независимо от архитектуры ЭВМ, осуществляется процессором специальными микрооперациями с выходов блока дешифраторов 16. После запуска каналы работают автономно и параллельно с работой процессора выполняют действие, не зависящее от про- цессора(например, вводданных с внешнего устройства). После того, как канал заверша- ет автономную работу, выставляет запрос для получения доступа к процессорным средствам (например, для записи данных в .ЭП машины). На фиг.4 показан пример последовательности работы микропрограммного устройства для трех каналов и процессора. Работа устройства начинается в момент времени to. Затем в моменты времени tr, t2 и гз микропрограмма процессора последовательно запускает каналы 1, 2 и 3. До момента IA все каналы и процессор работают параллельно, В моменту канал 2 выставляет запрос и начинается выполнение миркопрограммы второго канала. Для приведен нрго примера считается, что в момент поступления запроса есть разрешение прерывания микропрограммы процессора, В момент ts канал 1 прерывает канал 2 и до момента te выполняется микропрограмма первого канала, В моменты te завершается микропрограмма первого канала, снимается его запрос и возобновляется выполнение микропрограммы второго канала. В момент t выставляется запрос канала 3, но его запрос не обслуживается, так как до момента 8 в микропрограмме канала 2 отсутствует разрешение прерывания микропрограммы. В момент ts начинается выполнение микропрограммы канала 3, которое завершается в момент tg и так как после этого .нет запросов от каналов, то возобновляется вы пол не- , ние микропрограмм процессора. В момент tioзавершается работа микропрограммного устройства управления. Работа устройства синхронизируется двумя синхронизирующими сигналами, поступающими на входы 22 и 23 устройства. На фиг.5 показан фрагмент временной диаграммы работы устройства при прерываниях микропрограммы. В каждом цикле работы устройства первым синхросигналом сформированный адрес принимается в регистр адреса 9, а вторым
синхросигналом.считанная из блока памяти информация принимается в регистр микрокоманды 13, С некоторой задержкой появляются сигналы микроопераций на выходах 5 дешифраторов 14-17. Эта задержка из-за незначительности не учтена на диаграмме. Сигналы на выходах дешифраторов имеют длительность, кратную длительности цикла работы устройства. Канальные устройства
О являются частью вычислительной системы и синхронизируются от общего генератора системы. Поэтому сигналы запросов каналов поступают на входы 24.1--24.п устройства синхронно с выходными сигналами
5 блоков дешифраторов 14-17 и имеют длительность также кратную длительности цикла устройства. На диаграмме фиг.5 в первом цикле поступает сигнал запроса третьего канала на вход 24.3, передний фронт кото0 рого совпадает с передним фронтом второго синхросигнала и с передним фронтом сигнала разрешения прерывания на входе 35 коммутатора адреса. Одновременное появление сигналов разрешения прерывания
5 и запроса третьего канала приводит к появлению сигнала на выходе элемента И 70.3 (см.фиг.3), и так как регистр 72 первоначально находится в нулевом состоянии, то на выходе 52 появляется сигнал разрешения
0 приема с выхода коммутатора адреса. Затем во втором цикле первым синхросигналом запрос третьего канала принимается в регистр 72, а вторым сигналом - в регистр 71. Совпадение выходов регистра запросов
5 71 и элементов 70.1-70.г, приводит к исчезновению сигнала на выходе 52. Таким сбра- зом в момент поступления запроса канала, если есть разрешение прерывания микропрограмм, на выходе 52 коммутатора адреса.
0 появляется сигнал длительностью в один цикл. Наличие этого сигнала позволяет во втором цикле первым синхросигналом принять в регистр адреса значение регистра адреса третьего канала с выхода 53 комму5 татора адреса. В третьем цикле уже остутст- вует сигнал на выходе 52, и регистр адреса принимает информацию с выхода мультиплексора адреса 1. Начинается выполнение микропрограммы третьего канала. В треть0 ем цикле снова появляется разрешение прерывания, ко так как по-прежнему есть запрос только третьего канала, на выходе 52 не появляется сигнал. В четвертом цикле меняется запрос на входах 24.1-24.п, так
5 как есть разрешение прерывания на входе 35, снова появляется сигнал на выходе 52, который передает управление первому каналу. В шестом цикле снимается запрос первого канала, и так как нет запросов от каналов и есть разрешение прерывания, на
выходе 52 появляется сигнал, который возобновляет выполенние микропрограммы процессора.
Рассмотрим работу устройства в режиме выполнения микропрограммной поддержки.
В этом режиме работы устройства предусмотрена возможность перехода к базовым микропрограммам как к подпрограммам. Переход к базовым микропрограммам при выполнении микропрограммной поддержки обеспечивает стек адресов, 7, в котором хранятся начальны.е адреса рутин базовых микропрограмм, к которым должны быть осуществлены переходы. Управление стеком адресов осуществляется микрооперациями, поступающими с выходов блока дешифраторов 14 на входы 42 и 43 стека.
Блок регистров стека адресов 7 состоит из регистров 78.1-78.S (см. фиг.6). Выход каждого регистра 78,i (I 2,..,,S-1) соединён с первым информационным входом следующего регистра (78.1+1) и со вторым информационным входом предыдущего регистра (78.1-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 (i 1 ,...,S-1) передается в регистр 78.1+1, а в регистр 78.1 передается информация с выхода мультиплексора адреса 1. При появлении сигнала на входе 42 стека содержимое регистра 78.i (i 2,...,S) передается в регистр 78,1-1. Таким образом, на выходе стека последовательно появляются адреса в порядке, обратном их загрузке в стек..
Последовательность загрузки стека приведена в таблице фиг.7 в графе Адрес микрокоманды указаны обозначения адресов микрокоманд микропроцеграммной поддержки, в которых производится загрузка блока регистра стека адресов. В графе Адрес следующей микрокоманды для каждого адреса микрокоманды, указанного в графе Адрес микрокоманд, приводится обозначение адреса следующей заданной микрокомандой. Для адресов микрокоманд микропрограммной поддержки используется обозанчение П( для адресов микрокоманд базовых микропрограмм - обозначение 5j, для адреса микрокоманды, отличающегося от данного адреса П| инверсным значением
младшего бита адреса - обозначение П|. В . гарфе Микрокоманда числами 31, 36, 43 обозначены микрооперации, которые поступают на входы 31, 36 устройства и на вход 43 блока регистров стека адресов 7.
0 В микрокоманде с адресом ПО задана микрооперация загрузки регистра адреса возврата 3. Следующий адрес этой микрокоманды (П1) передается с выхода мультиплексора адреса 1 в регистр адреса
5 возврата 3. Одновременно адрес П1 передается в регистр адреса 9 и происхоидт переход по этому адресу. В микрокоманде с даресом П1 заданы микрооперации загрузки стека и возврата к адресу П1, значение
0 которого отличается от значения П1 инверсным значением младшего бита (микрооперации на входе 36 устройства и на входе 43 блока регистров стека адресов). Адрес Пз-и, который формируется в мультиплексоре ад5 реса 1 на оснвое микрокоманды с адресом П1, следующий адрес этой микрокоманды является адресом возврата в микропрограммную поддержку и засылается в регистр 78.1 стека, а в регистр адреса 9 передается
0 сохраненный в регистре адреса возврата 3 адрес П 1 с инверсным значением младшего бита(П1), Происходит переход по адресу П1. В микрокоманде с адресом П1 задана микрооперация загрузки следующего адреса
5 этой микрокоманды (П2) в регистр адреса возврата. Одновременно этот адрес передается в регистр адреса 9 и происходит переход по адресу П2. В микрокоманде с адресом П2 заданы микрооперации загруз0 ки стека и возврата к микрокоманде с адресом П2. .
Под управлением микрооперации на входе 43 содержимое регистра 78.1 передается в регистр 78.2, а в регистр 78.1 загру5 жается следующий адрес этой микрокоманды (Bs), который является начальным адресом S-й рутины базовых микропрограмм. Одновременно микрооперация на входе 36 коммутатора адреса создает условие
0 для приема информации в регистр адреса 9 с выхода коммутатора адреса 8 и содержимое регистра адреса возврата 3, с инверсным значением младшего бита, через коммутатор адреса 8, передается в регистр адреса 9,
5 то есть происходит переход по адресу П2. Далее цикл загрузки стека повторяется. В регистр 3 загружается следующий адрес (ПЗ) этой микрокоманды и происходит переход по этому же адресу. В микрокоманде с адресом ПЗ произовдится загрузка в стек
начального адреса следующей рутины базовых микропрограмм (). Содержимое регистров 78.1 и 78.2 перемещаются соответственно к регистрам 78,2 и 78.3, а в регистр 78.1 загружается адрес Бз-1. Затем происходит переход поадресу ПЗ ит.д. BS-M цикле, в микрокоманде с адресом Пз в стек загружается адрес Б2 начальный адрес второй по порядку рутины базовых микропрограмм, которая будет использоваться в микропрограммных поддержках и происходит переход к микрокоманде с адресом Пз. Следующий адрес этой микрокоманды (Bi) является начальным адресом первой рутины базовых микропрограмм, в которой будет осуществлен переход. После полной загрузки стека в регистре .78.1 находится начальный адрес второй рутины; в регистре 78.2 находится начальный адрес третьей рутины и т.д. В регистре 78-.S-1 находится начальный адрес последней рутины базовых микропрограмм, в регистре 78.S находится адрес возврата в микропрограммную поддержку, а в регистре адреса 9 находится начальный адрес первой рутины базовв1х микропрограмм.
Работа предложенного микропрограммного устройства управления в режиме выполнения мэкропрограмм поддёржки происходит в следующей последовательности (см. фиг,8). Часть микропрограммы поддержки; в начале работы устройства выполняется в таком же режиме, как и при .выполнении базовых микропрограмм, когда не установлен триггер режима работы 11, После этого устанавливается триггер режима работы и .выполняется загрузка блока регистров стека адресов по вышеописанному алгоритму. В последней микрокоманде рутины загрузки стека в качестве следующего адреса задается адрес перехода к базовым микропрограммам после которой начинается выполнение базовых микропрограмм, Выполнение базовых микропрог- рамм в качестве подпрограмм для: микропрограммной поддержки, протекает с блокировкой совмещения выполнения команд и некоторых других функций, управле- ние которыми осуществляется микрооперациями, вырабатываемыми блоком 15 дешифраторов. После перехода к базовым микропрограммам, микропрограмма базовой команды выполняется до ее завершения. Микропрограмма каждой базовой команды заканчивается единой для всех базовых команд микрокомандой, в которой задана микрооперация конец. В режиме выполнения микропрограммной поддержки эта микрооперация интерпретируется как микрооперация загрузки блока
.
регистров стека адресов, которая с выхода блока дешифратора 14 поступает на вход 42 стека адресов 7 и на вход 54 регистра адреса 9. Микрооперация конец вызывает пере- 5 мещение на одну позицию содержимых регистров 78.1-78.S от регистра 78.S к регистру 78.1. В регистр 78.1 попадает содержимое регистров 78.2, в регистр 78.2 - содержимое регистра 78.3 и т.д. Одновре10 менно сигнал на входе 54 регистра адреса 9 блокирует прием адреса с выхода мультиплексора адреса 1 и в регистр адреса передается адрес с выхода 46 блока регистров стека адресрв - содержимое регистра 78.1,
15 являющее начальным адресом рутины микропрограммы следующей базовой команды. Происходит переход к следующей рутине базовых микропрограмм.
В режиме выполнения базовых микро20 программ, когда не установлен триггер работы и заблокирован блок дешифраторов 14, в концовке микропрограмм на входе 54 регистра адреса 9 не появляется сигнал, информация в регистр адреса 9 передается с 5 выхода мультиплексора адреса 1 и микропрограмма переходит к выборке новой команды. На диаграмме фиг.8 эти переходы показаны как проверка условия РЕЖ, что является условным, как видно из вышеизло0 женного. Является условным также приведенная на диаграмме проверка условия. СТЕК. Продвижение стека и переход по адресу, указанному в регистре 78.1 стека, также происходит автоматически, с появле5 ние.м сигнала КОНЕЦ.
После S переходов в регистре 78.1 стека появляется адрес П$+1 (см. фиг.7), который является адресом возврата в микропрограммную поддержку. Микрооперация ко0 нец последней базовой микропрограммы передает этот адрес в регистр 9 и происходит возврат в микропрограммную поддерж- : ку; . . . ;
Дальше продолжается выполнение мик5 ропрограммной поддержки. По завершению микро.программной поддержки сбрасывается триггер режима работы и передается управление стандартной микрокоманде концовки базовых микропрограмм.
0 Микрооперация конец здесь уже приводит к выборке новой команды. После выборки новой команды проверяется тип подлежащей выполнению команды и происходит переход к началу либо микролрограм5 мной поддержки, либо базовой микропрограммы (см. фиг.8).
Могут быть предложены другие варианты организации микропрограммной поддержки с использованием предложенного микропрограммного устройства управления. В частности, может быть реализован вариант, когда микропрограммная поддержка выполняется только в режиме выполнения базовых микропрограмм, при котором триггер режима работы не установлен и используется стандартный набор микроопераций базовых микропрограмм. Может быть реализован также вариант, когда микропрограммная поддержка выполняется установленным триггером режима работы, используется новый набор микроопераций с выходом блока дешифраторов 14 вместо микроопераций на выходах блока дешифраторов 15. Могут использоваться также другие сочетания режима работы устройства во время работы микропрограммных поддержек.
Регистры 78.1-78.S блока реистров стека адресов синхронизированы первым синхросигналом устройства и построены на двухтактных триггерах, что позволяет совместить прием информации в эти регистры с выдачей информации. Прием информации в двухтактный триггер происходит по переднему фронту синхросигнала, но появляется информация на его выходе по заднему фронту синхросигнала. То есть выходы регистров стека изменяются после того, как их содержимое передано в следующие регистры. Это дает возможность .без наложения принимать информацию в стек адресов, переместить информацию с выхода стека в регистр адреса 9.
Первым синхросигналом синхронизированы также регистр адреса возврата 3, регистр адреса перехода, регистры адресов каналов 6.1- 6.п, выходы которых через комбинационную схему поступают на вход регистра адреса 9, который также синхронизирован первым синхросигналом, но наложение информации в этих регистрах также не происходит, так как прием информации в регистры 3, 4, 6.1-б.п никогда не совме-. щается в одном цикле с передачей информации с их выходов в регистр адреса 9.
. Отметим также, что информация на входы 18, 19, 20.1- 20.m и 21 устройства поступает также синхронно с работой устройства, так как она поступает с других узлов ЭВМ, синхронизируемых общим генератором синхросигналов системы. В данном случае информация на эти входы поступает синхронно с выходами дешифраторов 14-17, что необходимо для синхронной работы регистра функционального перехода 2, регистров адресов 3, 4, 6.1-б.п и регистра адреса 9, синхронизированных первым синхросигналом.
Таким образом, предложенное микропрограммное устройство управления позволяет использовать микропрограммы базовых команд ЭВМ как подпрограммы в микропрограммных поддержках независимо от принципа управления процессором, в частности, от принципа организации блока выборки команд и от структуры базовых микропрограмм,
Формула изобретения Микропрограммное устройство управ0 ления, содержащее мультиплексор, адреса, регистр адреса, регистр хранения адреса, регистр функционального перехода, мультиплексор адреса возврата, регистр адреса возврата, регистр адреса перехода, с перво5 го по п-1 регистры адресов каналов, где л - количество каналов, коммутатор адреса, блок памяти, регистр микрокоманд, с первого по третий блоки дешифраторов, причем первый информационный вход устройства
0 соединен с первым информационным входом мультиплексора адреса, выход которого соединен с первым информационным входом мультиплексора адреса возврата и с вторым информационным входом регистра
5 адреса, выход которого соединен с информационным входом регистра хранения адреса и с адресным входом блока памяти, выход которого соединен с информационным входом регистра микрокоманд, выходы
0 первого, второго и третьего полей микроопераций которого соединены соответственно с входами с первого по третий блоков дешифраторов, выходы второго и третьего блоков дешифраторов подключены соответ5 ственно к первому и второму информационным выходами устройства, выходы регистра хранения адреса и поля адреса регистра микрокоманд подключены соответственно к второму и третьему информационным вхо0 дам мультиплексора адреса, четвертый информационный вход которого подключен к второму информационному входу устройства, первый управляющий вход которого подключен к первому управляющему входу
5 мультиплексора адреса, третий информационный вход устройства подключен к информационномувходу регистра, функционального перехода, выход которого соединен с пятым информационным входом
0 мультилексо.ра адреса, выход поля адреса возврата регистра микрокоманды соединен с вторым информационным входом мультиплексора адреса возврата, выход которого соединен с информационным входом реги5 стра адреса возврата, регистра адреса перехода, с первого по n-й регистров адреса каналов, выходы которых соединены соответственно с первого по ги2-й информационными входами коммутатора адреса, второй выход которого соединен с третьим
информационным входом регистра адреса, а первый выход - с вторым управляющим входом регистра адреса, первый вход синхронизации устройства соединен с входами синхронизации регистров адреса, адреса возврата, функционального перехода, адреса перехода, адресов каналов и с первым стробирующим входом коммутатора адреса, второй вход синхронизации устройства соединен с входами синхронизации регистров хранения адреса и микрокоманд и с вторым стробирующим входом коммутатора адреса, первый выход поля внутреннего управления регистра микрокоманд соединен с вторым управляющим входом мультиплексора адреса, второй управляющий вход устройства соединен с первым управляющим входом коммутатора адреса, первый и второй выходы первого блока дёшифрато-. ров, соединены соответственно с третьим управляющим входом мультиплексора адреса и с управляющим входом регистра фун- кционального перехода, с третьего по (п+7)-й выходы превого блока дешифраторов соединены соответственно с входами разрешения записи регистров адреса возврата, адреса перехода, управляющим входом мультиплексора адреса.возврата и. с первой по n-й входами разрешения записи регистров адресов каналов, с.второго по четвертый управляющим входами коммутатора адреса, отличающееся тем. что. с целью сокращения емкости блока памяти, оно содержит блок регистров стека адресов, триггер режима работы и четвертый блок
дешифраторов, второй выход поля внутреннего управления регистра микрокоманд соединен с входом управления режимом счета триггера режима работы, прямой и инверсный выходы которого соединены соответственно со стробирующими входами третьего и четвертого блоков дешифраторов, первый и второй выходы которого соединены соответственно с первым и вторым управляющим входами блока регистров стека
адресов, информационный выход которого соединен с первым информационным входом регистра адреса, вход управления записью которого соединен с первым выходом четвертого блока дешифраторов,
остальные выходы которого подключены к третьему информационному выходу устройства, выход третьего поля микроопераций регистра микрокоманд соединен с информационным входом четвертого блока деширфаторов, выход мультиплексора адреса соединен с информационым входом блока регистров стека адресов, первый вход синхронизации устройства соединен с входами синхронизации блока регистров стека адресов и триггера режима работы
Фиг. 7
Начало микропрограммы о азо8оа команды
Начало пикропрограп- ной поддержки
название | год | авторы | номер документа |
---|---|---|---|
Устройство для управления и обмена данными | 1986 |
|
SU1319042A1 |
Микропрограммный процессор | 1980 |
|
SU947868A1 |
Процессор с микропрограммным управлением | 1983 |
|
SU1149273A1 |
Управляющая векторная вычислительная система | 1982 |
|
SU1120340A1 |
Микропрограммное устройство управления с контролем | 1985 |
|
SU1267414A1 |
Микропрограммное устройство управления | 1988 |
|
SU1667068A1 |
Микропрограммное устройство для приоритетного обслуживания группы абонентов | 1984 |
|
SU1302277A1 |
Микропрограммное устройство управления с контролем | 1986 |
|
SU1365082A1 |
Устройство микропрограммного управления | 1990 |
|
SU1815636A1 |
Микропрограммное устройство управления с контролем | 1983 |
|
SU1136162A1 |
Изобретение относится к вычислительной технике и может быть применено в ЭВМ с /микропрограммным управлением. Целью изобретения является расширение сокращения емкости блока памяти или же возможность наращивания объема микропрограммно реализуемых компонентов, программного обеспечения (микропрограммных поддержек) без увеличения объема управляющей памяти Устройство содержит мультиплексоры адреса и адреса возврата, регистры адреса, хранения адреса, функционального перехода, адреса возврата, адреса перехода, микрокоманд, адресов каналов, комму- татор адреса, блок памяти, первый, второй, третий и четвертый блоки дешифраторов, блок регистров стека адресов, триггер режима работы. Предложенное микропрогрэмм- ное устройство управления позволяет, использовать базовые микропрограммы как j подпрограммы в микропрограммных под- держках, и работает в двух режимах: вы пол- нения базовых микропрограмм и выполнения микропрограммной поддерж-i .ки. 8 ил.. ;
BbinosiHQHue пикропрог- раппы Ь азоВой команды
Вы5орка нобои команды
Выполнение микропрог раппноа поддержка
I
Продолжение пикропро- граппной поддержки
Серое триггера режи- ffff работы устройств а
Микропрограммное устройство управления | 1983 |
|
SU1113802A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Авторское свидетельство СССР Мг 1154669, кл | |||
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
.Кучукян А.Т. | |||
и др | |||
СПОСОБ ВПАИВАНИЯ СТЕКЛЯННОЙ ТРУБКИ ДЛЯ ОТВОДА ВОЗДУХА ИЛИ ИНОГО ГАЗА, ОТКАЧИВАЕМОГО ИЗ КОЛБ ЭЛЕКТРИЧЕСКИХ ЛАМП НАКАЛИВАНИЯ И КАТОДНЫХ | 1924 |
|
SU1046A1 |
Авторы
Даты
1993-02-28—Публикация
1990-06-05—Подача