Изобретение относится к В1,1числнтельной технике и может быть использовано при построении микропрограммных процессоров. Цель изобретения - повышение быстродействия. На фиг.1 изображена схема микропрограммного устройства управления; на фиг.2 - блок местного управления на фиг. 3 - блок обработки условий формирования адреса; на фиг.4 - airiгоритм работы устройства. Микропрограммное устройство управления (фиг.1) содержит первую память 1, вторую память 2, блок 3 местного управления, регистр 4 адре са, триггер 5 выборапамяти, первый блок 6 регистров, второй блок 7 регистров, коммутатор 8, блок элементов 2И-ИЛИ 9, элемент. И-ИЛИ 10, буферный регистр I1 адреса, группу схем 12 сравнения, группу регистров 13 .сравнения, триггер 14 адресации памяти, триггер 15 микропрограммной установки зоны адресации, триггер 16 аппаратной установки зоны адресации, первый элемент ИЛИ 17, второй элемент ИЛИ 18, триггер 19 адресации регистров, блок 20 обработки условий формирования адреса, первый де шифратор 21 , второй дешифратор 22, триггер 23 возврата, триггер 24 режима, элемент ИЛИ-НЕ 25, шифратор 26 вход 27 кода команды, вход 28 кода запрета на управление, вход 29 синхронизации, блок 30 элементов ИЛИ и выход 31. Блок местного управления (фиг.2) содержит входной регистр 32, первьй коммутатор 33, выходной регистр 34, второй коммутатор 35, регистр 36 мп крокоманд, первый дешифратор 37, тре тий коммутатор 38, блок 39 элементов 4И-ИЛИ, триггер 40, регистр 41 кода команд, второй дешифратор 42, второй элемент И 43, регистр 44 адреса ловушки, шифратор 45 адреса, регистр 46 запроса, узел 47 элементов 2ИИЖ, регистр 48 признаков, первый элемент И 49. Блок обработки условий формирова ния адреса (фиг.З) содержит первый регистр 50, арифметико-логический узел 51, второй регистр 52, коммутатор 53, дешифратор 54 операций, дешифратор 55 нуля и третий регистр 56 Первая и вторая памяти 1 и 2 пред назначены для хранения микрокоманд. Во второй памяти 2 микрокоманды находятся по фиксированным адресам, присвоенным этим микрокомандам на этапе трансляции. В первой памяти 1 микрокоманды могут располагаться как по фиксированным адресам, присвоенным этим микрокомандам на этапе трансляции, так и по произвольным адресам, задаваемым при загрузке этих микрокоманд в первую память I Блок 3 выполняет следующие функции: осуществляет выборку микрокоманды из памяти 1 и 2 ,. формирует адрес следующей микрокоманды по содержимому адресной части текущей микрокоманды; организует микропрограммное прерывание (ловушку); формирует адрес первой микрокоманды, начинающей микропрограмму выполнения операции; управляет адресацией регистров, входящих в блок 6 регистров и блок 7 регистров; управляет передачей данных в регистры; устанавливает режим адресации в устройстве. Устройство работает следующим образом. Микрокоманды из адресуемой памяти или 2 через выходной регистр 34 заносятся в регистр 36 микрокоманд. Из памятИсчитываются одновременно две микрокоманды. Выборку нужной микрокоманды определяют узел 47, элемент 2И-Ш1И. Его выход определяется кодом текугчей микрокоманды, а также состоянием соответствующих разрядов регистра 48 признаков или выходом коммутатора 38. Коммутатор 38 предназначен для формирования условия выборки следуюа ей микрокоманды по состоянию какого-либо разряда регистра, адресованного в качестве источника перехода в текущей микрокоманде. Коммутатор 38 вьщеляет из слова, считанного в блок 20 обработки, бит, определяющий условие перехода. Формирование адреса следующей микрокоманды по содержимому адресной части текущей микрокоманды осуществляется посредством блока 39 элементов 4И-ИЛИ. При этом биты, составляющие адрес микрокоманды, поступают на элементы 4И-ИЛИ с выхода регистра 36 микрокоманд. Адрес следующей микрокоманды может быть полностью задан регистром из блока 6 регистров или из блока 7. В чтом случае адрес следующей микро3команды на блок 39 элементов 4И-ИЛИ поступает из блока 20 обработки, ку да считывается регистр, содержащий адрес. Адрес микрокоманды, начинающей микропрограмму вьтолнения какой-либо операции, формируется блоком 39 элемента 4И-ИЛИ по содержимому регистра 41 кода команд по правилу СХХО, где XX - код команды из регис ра 41 кода команд. Код команды в регистр 41 кода команд заносится по входу 27 из внешней памяти. Всеми условиями формирования адреса управ ляет первый дешифратор 37. Микропрограммное прерывание (ловушка) возникает при поступлении по входу 28 сигнала в регистр 46 запро сов, В ловугчке адрес первой микроко манды формируется аппаратно в зависимости от типа запроса, поступающе го в регистр 46 запросов. Адрес ловушки поступает на блок 39 элементов 4И-Ш1И с выхода регистра 44 адреса ловушки. При этом все другие условия формирования адреса блокируются . Блокировку осуществляет триггер 40. Адрес ловушки формирует ся узлом 45 формирования адреса, который представляет собой набор элементов И-ИЛИ. Второй коммутатор 35 управляет передачей данных в блок 6 регистров блок 7 регистров и в регистры 13 сравнения. Он передает на их информационные входы данные поступающие по входу 27, а также данные из выходного регистра 34 или из блока 20 обработки. Первый коммутатор 33 управляет передачей данных во входной регистр 32. В память данные могут передавать ся из внешней памяти или из какоголибо регистра блока 6 или 7. Из внеш ней памяти данные поступают по входу 27 и записываются во входной регистр 32 двойным словом (8 байтов) . Данные из регистра блока 6 или 7 поступают через соответствующий вход блока 3 местного управления, Разрядность - 4 байта. Оставшиеся четыре байта поступают из выходного регистра 34. Передачу данных во входной регистр 32 определяет содержимое регистра 36 микрокоманд. Элемент И 49 предназначен для формирования импуль са записи данных в память. Регистр 4 адреса содержит адрес памяти. Триг724гер 5 выбора памяти определяет память. к которой осуществляется обраще ние. Изменение состояния триггера 5 выбора памяти может осуществляться в следующих случаях: микропрограммно; по состоянию триггера 24 режима; при установке адреса микрокоманды по содержимому регистра блока 6 или 7. Выбором условия установки триггера 5 выбора памяти управляет элемент ИИЛИ 10. Триггер 24 режима задает режим произвольной адресации первой памяти 1. Установка триггера 24 режима в 1 осуществляется по коду команды, занесенному в регистр 41 кода команды, через второй дешифратор 42. Кроме того, установка в 1 возможна при установке адреса микрокоманды по содержимому регистра блока 6 или 7. Эта установка определяется вторымдешифратором 22. Если задан режим произвольной адресации первой памяти 1, то старшие четыре разряда адреса претерпевают преобразование. Вместо этих разрядов в регистре 4 адреса через блок элементов 2И-ИЛИ 9 подается выход шифратора 26. 111ифратор 25 формирует адрес в случае наличия сигнала на выходе одной из схем 12 сравнения. Схемы 12 сравнения сравнивают четыре старших разряда адреса, заданных в микрокоманде, с четырьмя разрядами, хранящимися в регистрах 13 сравнения . В случае несовпадения четырех разрядов с содержимым регистров 13 сравнения элемент ИЛИ-НЕ 25 выдает запрос на ловушку. Блок. 6 регистров представляет собой набор рабочих регистров каналов ввода-вывода. Используя эти регистры, а также блок 20 обработки, вьшолняются микропрограммы,подцерживаю15ие ввод-вывод. Блок 7 регистров представляет собой Набор рабочих регистров процессора. Используя эти регистры, а также блок 20 обработки выполняются микропрограммы процессора. Передачей соответствующего блока регистров на вход блока 20 обработки управляет коммутатор 8. Блок 20 обработки предназначен для реализации следующих функций: вьшолнение арифметического или логического, действия над операциями, считанными в первый регистр 50 и
$1
второй регистр 52; формирование признаков, определяютих результат выполнения элементарной операции арифметико-логическим узлом 5.
Арифметико-логический узел 51 является стандартным элементом реализованным на базе серийно вьтускаемых БИС, таких, как 500ИП181. Набор его функций определяется этой микросхемой. .
Дешифратор 54 задает операцию для арифметико-логического узла 51, третий регистр 56 является выходным для блока 20 обработки.
Коммутатором 8 через элемент ИЛИ 17 управляет триггер. 15 микропрограммной установки зоны адресации, триггер 16 аппаратной установки зоны адресации, триггер 23 возврата.
Триггер 15 микропрограммной установки зоны адресации устанавливается в соответствующее состояние первым дешифратором 37. Его единичное состояние определяет передачу в блок 20 обработки информации из блока 6 регистров.
Триггер 16 аппаратной установки зоны адресации устанавливается в 1 в случае возникновения ловушки от каналов ввода-вывода. При этом микропрограмма канальной ловушки выполняется на рабочих регистрах блока 6 регистров.
Триггер 23 возврата устанавливается при установке адреса микрокоманды по содержимому регистра блока 6 или 7. Установка этого триггера определяется первым дешифратором 21.
Буферный регистр 11 адреса, триггер 19 адресации регистров и триггер 14 адресации памяти предназначены для хранения адреса памяти и зоны адресации, которые бьти на момент возникновения ловушки. Их соетояние считывается в ловутке в один из регистров. Если это канальная ло вушка, то считьшание осуществляется в блок 6 регистров. Если это ловушка процессорная, считывание осуществляется в блок 7 регистров.
Элемент ИЛИ 18 подает на вход триггера 19 адресации регистров состояние триггеров, определяющих зону адресации, или состояние триггера 24 режима.
Микропрограммное устройство управления имеет следующие четыре режима
72 ,&
адресации, которым соответствуют состояния триггера 19 адресации регистров 1,Т 19) и триггера 14 адресации управляющий памяти (,Т14): адресуются вторая память 2 и блок 7 регистров (Т19 и Т14 00); адресуются вторая память 2 и блок 6 регистров(Т19 и TI4 10); адресуются первая память I и блок 7 регистров, причем микрокоманды в этой памяти располагаются по фиксированным адресам (Т19 и Т14 01); адресуются первая память I и блок 7 регистров, причем микрокоманды расположены по произвольным адресам СТ19 и Т14 11) .
Состояние Т19 и TI4 является неизменным до момента, когда возникают микропрограммные или аппаратные условия, изменяющие режим адресации. Такими условиями являются: выборка микрокоманды,изменяющей режим адресации, который был задан; возникновение микропрограммного прерывания (ловушки); завершение ловугаKHi
На фиг.4 приведен алгоритм изменения условия адресации Е устройстве. В исходном состоянии микрокоманды выбираются из второй памяти 2, а в качестве рабочих используются регистры блока 7 регистров (этому состоянию устройства соответствует состояние триггеров Т19 и Т14 ОО). Состояние не изменяется до тех пор, пока не возникает микрокоманда, изменяющая режим адресации, либо пока не возникает ловушка. В случае микропрограммного изменения режима адресации Б триггерах 19 и 14 запоминается новое состояние устройства. В случае ловушки текущий адрес микрокоманды, а также состояние триггеров Т19 и запоминаются в регистре возврата. Регистр возврата находится ,в блоке 6 регистров, если ловушка возникает от каналов вводавывода. В противном случае регистр возврата Находится в блоке 7 регистров . После завершения ловушки последняя ее микрокоманда восстанавливает адрес очередной микрокоманды прерванной микропрограммы, а также режи1м адресации, бывший в устройстве на момент возникновения ловушки.
Если в устройстве задается режим адресации, соответствующий состоянию триггеров Т19, Т14 И, то перад выборкой каждой микрокоманды 1 проверяется наличие первой памяти Если содержимое одного иэ регистров 13 сравнения не совпадает с че(Тырьмя старшими разрядами адреса ми рокоманды возникает ловушка. Эта ловушка запоминает адрес этой микро команды, а также состояние триггеров Т19, Т14 11, и устанавливает устройство в состояние Т19, Т14 0 В ловугаке в свободный регистр 13 сравнения загружается адрес этой микрокоманды. В первую память 1 загружается группа микрокоманд, старшие четыре разряда адреса которых совпадают с содержимым регистра 13 сравнения. Микрокоманды загружаются из оперативной памяти. Последней микрокомандой ловушки восстанавлива ется адрес прерванной микрокоманды, а также режим, соответствуклций Т19, Т14 11. Адрес очередной микрокоманды вновь сравнивается с содержимым регистров 13 сравнения, но теперь шифратор 26 выдает номер регистра, в котором произошло сравнение Этот номер заносится в регистр 4 адреса и является адресом очередной микрокоманды. Все режимы адресации устройства микропрограммного управления завершаются переходом в состояние, соответствующее Т19,Т14 00. Формула 1изобре тени 1. Микропрограммное устройство управления, содержащее первую и вто рую память, регистр адреса, буферны регистр адреса, шифратор, первый и второй дешифраторы, два блока регистров, блок элементов ИЛИ, блок обработки условий формирования адре са и блок местного управления, содержащий входной регистр, выходной регистр, два элемента И, регистр признаков, три коммутатора, регистр кода команд, регистр микрокоманд, первый и второй управляющие дешифра торы, шифратор адреса, узел элементов 2И-ИЛИ и узел элементов 4И-ИЛИ, причем адресные входы первой и второй памяти соединены с выходом регистра адреса, вход синхронизации устройства соединен с синхровходами блока .обработки условий формировани адреса, первого и второго блоков ре гистров регистра адреса, буферного регистра адреса, регистра 728 признаков входного и выходного регистров , регистра кода команд и регистра микрокоманд, стробирующим входом второго управляющего дешифратора и с первыми входами первого и второго элементов И, вход кода команды устройства соединен с первыми информационными входами первого и второго коммутаторов и информационным входом регистра кода команд, входы записи и информационные входы первой и второй памяти соединены соответственно с выходом первого элемента И и выходом входного регистра, информационный вход-которого соединен .с выходом первого коммутатора, второй информационньй вход которого соединен с первым информационным входом третьего коммутатора и с первым информационным входом блока обработки условий формирования адреса, управляющий вход третьего коммутатора соединен с управляющим входом первого коммутатора, с выходом поля местного управления регистра микрокоманд и входом первого управляющего дешифратора, первый, второй и третий выходы которого соединены соответствено с первыми входами первой, второй и третьей групп узла элементов 4И-ИЛИ, первый выход которого соединен со старшими разрядами информационного входа буферного регистра адреса, младшие разряды информационного входа которого соединены с младшими разрядами информационного входа регистра адреса, с вторым выходом узла элементов 4И-Ш1И, с выходом узла элементов 2И-ИЛИ и с первым информационным входом регистра микрокоманд, выход поля адреса которого соединен с вторым входом первой группы узла элементов 4И-ИЛИ, второй вход второй группы которого соединен с выходом регистра кода команд и с информационным входом второго управляющего дешифратора, второй вход третьей группы узла элементов 4И-ИЛИ соединен с вторым информационным выходом блока обработки условий формирования адреса, с информационным входом первого дешифратора и с входом второго дешифратору, четвертый и пятый выходы первого уо-равляющего дешифратора соединены соответственно с первым входом первой и второй групп узла элементов 2И-ШШ 9 вторые входы первой и второй групп которого соединены соответственно с выходами третьего коммутатора и регистра признаков, информационный вход которого соединен с выходом признаков результата блока обработки условий формирования адреса, выход результата которого соединен с вторым информационным входом второ го коммутатора, третий информационный вход которого соединен с третьим информационным входом первого коммутатора, с вторым информационным входом регистра микрокоманд и с выходом выходного регистра, выход поля управления обработкой условий формирования адресарегистра микрокоманд соединен с входом кода опера ции блока обработки условий формиро вания адреса, первый информационный вход которого соединен с выходом коммутатора, первый и второй информационные входы которого соединены соответственно с выходами первого и второго блоков регистров, информационный вход и вход номера регистра которых соединены с соответствующими разрядами выхода второго коммутатора, управляющий вход которого соединен с шестым выходом первого управляющего дешифратора, седьмой выход которого соединен t вторым входом первого элемента И, восьмой выход первого управляющего дешифратора соединен с входами записи первого и второго блоков регистров, выходы первой и второй памяти через блок элементов ИЛИ соединены с информационными входами выходного регистра, отличающееся тем, что, с целью повьштения быстродействия, в него введены триггер выбора памяти, блок элементов 2ИИЛИ, элемент И-ИЛИ, группа схем сра нения, группа регистров сравнения, триггер адресации памяти, триггер микропрограммной установки зоны адресации, триггер аппаратной установ ки зоны адресации, первый и второй элементы ИЛИ, триггер адресации регистров, триггер возврата, триггер режима и элемент ИЛИ-НЕ; в блок местного управления введены регистр запроса, регистр адр.еса ловушки и триггер, причем выход буферного регистра адреса и выходы триггера адреса регистров .и триггера адреса памяти поразрядно соединены с вто210рым информационным входом блока обработки условий фop rapoвaния адреса, выход триггера адреса памяти соединен с первым входом элемента И-ЮШ,, .второй и третий входы которого соединены соответственно с вторым информационным вькодом блока обработки условий формирования адреса и девятым выходом первого управляющего дешифратора, десятый выход которого соединен с первым входом блока элементов 2И--ВДИ и четвертым входом элемента И-ИЛИ, пятый вход которого соединен с вторым входом блока элеме.нтов 2И-Ш1И, первым входом второго элемента ИЛИ и вьгходом триггера режима, вход установки и информационный вход которого соединены соответственно с выходами второго управляющего дешифратора и второго дешифратора, третий, и четвертый входы блока элементов соединены с первыми входами схем сравнения группы и с первьм выходом узла элементов 4И-ИЛИ5 третьи входы первой и третьей групп которого соединены с инверсным выходом триг гера и входами установки в О триггера адреса памяти, триггера выбора памяти и триггера , синхровход которого соединен с синхровходами триггера выбора памяти, триггера адресации регистровS триггера адресации памяти, регистров сравнения группы, триггера возврата, регистра запроса, регистра адреса ловушки., триггера микропрограммной установки зоны адресации, выходом синхронизации устройства и первым входом установки в О триггера аппаратной установки зоны адресшдии, второй вход установки в О которого соединен с. первым информационным входом триггера возврата и одиннадцатым выходом первого управляюш;его дешифратора, двенадцатый выход которого соединен со стробирующим входом первого дешифратора, выход которого соединен с вторым информационным входом триггера возврата, выход которого соединен с первым входом первого элемента ИЛИ второй и Третий входы которого соединены соответственно с выходами триггера аппаратной установки зоны адресации и триггера микропрограммной установки зоны адресации, вход установки в и вход установки в О которого соединены соответственно с тринадцатым и четырнадцатым выходами первого управляющего дешиф ратора, вход установки в тригге .ра аппаратной установки зоны адресации соединен с выходом второго элемента И, второй вход которого соединен с прямым выходом триггера и первым входом четвертой группы узла элементов 4И-ИЛИ, второй вход четвертой группы которого соединен с выходом регистра адреса ловушки, информационный вход которого соединен с первым выходом шифратора адре са, второй и третий выходы которого соединены соответственно с информационным входом триггера и третьим входом второго элемента И, вход шиф ратора адреса соединен с выходом регистра запросов, первый разряд ин формационного входа которого соеди нен с выходом элемента ИЛИ-НЕ, остальные разряды информационного вхо да регистра запроса соединены с входами кода запроса на управление устройства, входы элемента ИЛИ-НЕ соединены с одномоментными входами шифратора и с выходами схем сравнения группы, вторые входы которых со динены с выходами одноименных регистров сравнения группы, информа ционные входы которых соединены с выходами второго коммутатора, выход шифратора соединен с пятым входом блока элементов 2И-ИЛИ, выход которого соединен со старшими разрядами информационного входа регистра адреса, выход элемента И-ИЛИ соединен с информационными входами триггера адресации памяти и триггера выбора памяти,прямой и инверсный вы ходы которого соединены соответственно с входами выборки первой и второй памяти, выход первого элемен та ИЛИ соединен с управляющим входом коммутатора и вторым входом вто рого элемента И.ЧИ, выход которого соединен с информационным входом триггера адресации регистров. 2. Устройство по п.1, о т л ичающееся тем, что блок обработки условий формирования адреса содержит три регистра, дешифратор операций, арифметико-логический узел, дешифратор нулей и коммутатор, причем первый информационный вход блока подключен к первому ин- формационному входу коммутатора, второй информационный вход которого соединен с информационным входом первого регистра и подключен к второму информационному входу блока, синхровход блока подключен к синхровходам первого, второго и третьего . регистров, выход первого регистра соединен с первым информационным входом арифметико-логического узла и подключен к первому информационному выходу блока, вход кода операции блока подключен к входу дешифратора операции, первый и второй выходы которого соединены соответственно с управляющим входом коммутатора и входом кода операции арифметико-логического узла, выход результата которого соединен с информационным входом третьего регистра и входом дешифратора нулей, выход которого объединен с выходом признака результата арифметико-логического узла и подключен к выходу признака результата блока, выход третьего регистра подключен к выходу результата блока, выход коммутатора соединен с информационным входом второго регистра, выход которого соединен с вторым информационным ; входом арифметико-логического узла и подключен к второму информационному выходу блока.
название | год | авторы | номер документа |
---|---|---|---|
Микропрограммное устройство управления | 1984 |
|
SU1262516A1 |
Устройство для обмена данными между группой каналов ввода-вывода и оперативной памятью | 1985 |
|
SU1280642A2 |
Устройство для обмена данными между группой каналов ввода-вывода и оперативной памятью | 1985 |
|
SU1405063A2 |
Устройство для обмена данными между группой каналов ввода-вывода и оперативной памятью | 1985 |
|
SU1278867A2 |
Устройство для сопряжения периферийных устройств с процессором и оперативной памятью | 1983 |
|
SU1156084A1 |
Процессор | 1984 |
|
SU1247884A1 |
Процессор | 1984 |
|
SU1246108A1 |
Устройство для управления каналами | 1979 |
|
SU877519A1 |
Микропроцессор | 1982 |
|
SU1119021A1 |
Управляющая векторная вычислительная система | 1982 |
|
SU1120340A1 |
Изобретение относится к вычислительной технике. Цель изобретения - повышение быстродействия. Микропрограммное устройство управления содержит первую и вторую память, блок местного управления, регистр адреса, буферный регистр адреса, шифратор, первый и второй дешифра-торы, два блока регистровi блок у ловий формирования адресов, коммутатор, триггер выбора памяти, блок элементов 2И-ИЛИ, элемент И-ИЛИ, схе мы сравнения, регистры сравнения, триггер адресации памяти, триггер микропрограммной установки зсжы адресации, триггер аппаратной установки зоны адресации, первый и второй элементы ИЛИ, триггер адресации регистров, триггер возврата, триггер режима, элемент ИЛИ-НЕ и (Л блок элементов ИЛИ. 1 з.п.ф-лы, 4 ил.
Авторское свидетельство СССР 760099, кл | |||
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Патент США № 3643221, кл | |||
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Микропрограммное устройство управления | 1978 |
|
SU763898A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Авторы
Даты
1986-10-15—Публикация
1984-04-11—Подача