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

ZIP архив

Текст

СОЮЗ СОВЕТСНИХСОЦИАЛИСТИЧЕСКИХРЕСПУБЛИК ив 8(з)4 С 06 2 ПИСАНИЕ ИЗОБРЕТЕН У ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССРпО делАм изОБРетений и ОтнРытий И АВТОРСКОМУ СВИДЕТЕЛ(56) Авторское свидетельство СССРВ 643874, кл. С 06 Г 9/22, 1976,Авторское свидетельство СССРУ 959079, кл. С 06 Р 9/22, 1982.(54) МУЛЬТИМИКРОПРОГРАММНОЕ УСТРОЙСТВО УПРАВЛЕНИЯ(57) Изобретение относится к вычислительной технике и может быть ис".1 пользовано для построения высокопроизводительных вычислительных систем с микропрограммным управлением,Целью изобретения является повышение быстродействия устройства. Мультимикропрограммное устройство управлениясодержит блок памяти микропрограмм,два регистра адреса, триггер пуска,триггер. управления, два триггера ожидания, два коммутатора управления,три коммутатора адреса, четырнадцатьэлементов И, генератор тактовых импульсов, триггер блокировки, два регистра микрокоманд, восемь элементовИЛИ, счетчик, коммутатор логическихусловий, мультиплексор логических ус"ловий, Введение двух регистров микрокоманд, второго и третьего коммута.торов адреса, коммутатора и мультиплексора логических условий, второгокоммутатора управления, счетчика,восьми элементов И, четырех элементов ИЛИ обеспечивает достижение поставленной цели, 3 ил.1256025 51015 30 35 40 45 5055 Изобретение относится к вычислительной технике и может быть использовано для построения высокопроизводительных вычислительных системс микропрограммным управлением.Цель изобретения - повышениебыстродействия устройства.На фиг.1 приведена функциональная схема устройства, на фиг.2временная диаграмма работы генеоатора тактовых импульсов на Фиг,Залгоритм Функционирования устройства,Устройство (фиг. 1) содержит блок1 памяти микропрограммпервый 2 ивторой 3 регистры адреса, первый 4и второй 5 регистры микрокоманд,счетчик б, триггер 7 пуска, триггерЬ,блокировки, первый 9 и второй 10триггеры ожидания, триггер 11 управления, коммутатор 12 логических ус."ловий, второй 13, третий 14, первый15 коммутаторы адреса, первый коммутатор 16 управления, мультиплексор 17 логических условий, первый 18второй 19, третий 20, четвертый 21,седьмой 22, десятый 23, одиннадцатыйл24,тринадцатый 25 элементы И, второй коммутатор 26 управления, пятый27, шестой 28, восьмой 29, девятый30, двенадцатый 3 1, четырнадцатый32 элементы И, первый 33, второй 34,седьмой 35, третий 36, четвертый37, пятый 38, шестой 39, восьмой 40элементы ИЛИ, первую 41 и вторую 42Ргруппы входов логических услов 1 лйустройства, первые 43 и вторые 44входы, первый 45 и второй 46 выходымикроопераций, вход 47 пуска, выход48 ошибки, первый 49 и второй 50управляющие входы режимом работы,выход 51 фиксации простоя, выход52 поля адреса блока памяти микропрограмм, выход 53 поля логическихусловий блока памяти микрокоманд,выход 54 поля микрокоманд блокапамяти микрокоманд, выход 55 признака записи адреса, выход 56 признакаокончания команды, выход 57 кодавремени ожидания, выход 58 признаканачала ожидания первого регистра 4микрокоманд, выход 59 признака окончания команды, выход 60 признаканачала ожидания второго регистра5 микрокоманд, генератор 61 импульсов, второй 62, третий 63, первьй64 и четвертый 65 выходы генератора61 импульсов,2На фиг.3 йриняты следующие условные обозначения и сокращения: КС - регистр; КОП; - код операции х-й микропрограммы ( = 1,2), МК, - микро- команда, -й микропрограммы (1 = 1, 2), ь - код времени ожидания первой микрокоманды," Т - триггерф Т - содержимое триггера, СТ - содержимое счетчика, А, - адрес микроко 1 манды -й микропрограммы (д =. 1,2); ф 1" ("0") - установка в единичное (нулевое) состояние; -- запись.Блок памяти 1 микропрограмм предназначен для хранейия первой и второй микропрограмм.Регистр 2 З) адреса первой (вто-, рой, микропрограммы предназначен для хранения адреса очередной микрокоманды первой (второй) микропрограммы. Регистр 4 (5) микрокоманд предназначен для хранения микроопераций первой (второй) микропрограммы.Счетчик 6 предназначен для хранения кода времени ожидания первой микропрограммы в дополнительном коде.Триггер 11 управления предназначен для фиксации состояния выполнения первой и второй микропрограмм; Единичное (нулевое) состояние триг-. гера 11 соответствует режиму выполнения первой (второй) микропрограммы,Триггер 8 блокировки предназначен для Фиксации состояния вложенного ожидания микропрограммы, т,е. такого состояния, когда обе микропрограммы находятся в ожидании, Единичное состояние триггера 8 соответствует состоянию блокировки записиинформации в регистры 2-5. Триггер 9 (1 О) ожидания первой(второй) микропрограммы предназначендля Фиксации состояния ожидания илиготовности микропрограммы. Единичное(готовности) первой (второй) микро-программы,Устройство работает следующим образом.В исходном состоянии все элементы памяти установлены в нулевое состояние, кроме триггера 11 и выхода 55 регистра 4, которые установлены в единичное состояние (цепи начальной установки на фиг. 1 не показаны). На входы 43 и 44 поданы коды операций первой и второй мкропрограммьг.По сигналу пуска, поступающему на вход 47 устройства, триггер 7 переводится в единичное состояние и разрешается формирование тактовой серии импульсов на выходах генератора 61.Кроме того, по сигналу пуска, поступающему через элементы ИЛИ 33 и 34 на синхровходы регистров 2 и 3, осуществляется запись кодов операции первой и второй микропрограмм в соответствующие регистры 2 и 3, Код операции первой и (второй) микропрограммы, поступающий на вход 43 (44) устройства, через открытый коммутатор 13 (14) (единичным потенциалом с выхода 55 регистра 4) поступает на информационный вход регистра 2 (3) к моменту подачи сигнала пуска. В дальнейшем в устройстве реализуется первая.микропрограмма. Выполнение второй микропрограммы осуществляется либо по окончании первой, либо в ее режимах ожидания.По тактовому импульсу с выхода 62 генератора 61, поступающему через открытый элемент И 22 на синхровход регистра 4(5), осуществляется запись кода микроопераций микрокоманды первой (второй) микропрограммы из блока ЗО 1 памяти микропрограмм. Выборка микрокоманды из блока 1 осуществляется по адресу, записанному в регистр 2 (3) и поступающему на вход блока 1 через коммутатор 15, После записи 35 кода микроопераций в регистр 4 разряд 55 этого регистра устанавливается в нулевое состояние и остается в этом состоянии на протяжении всего времени работы устройства, Код внеш них микроопераций поступает на выход 45 (46) устройства с выходов регистра 4 (5). По тактовому импульсу с выхода 45 63 генератора 61 в устройстве реализуются следующие процессы:запись кода адреса очередной микрокоманды первой (второй) микропрограммы в регистр 2 (3) 50запись дополнительного кода времени ожидания первой микропрограммы в счетчик 6.изменение состояния триггера 111изменение состояний триггеров 55 9 и 10.Код адреса очередной микрокоманды первой (второй) микропрограммы формируется следующим образом, Код внешних логических условий первой (второй) микропрограммы от объекта управления поступает на вход 4 1 (42) устройства и через коммутатор 12, открытый единичным (нулевым) потенциалом с единичного выхода триггера 11, поступает на вход мультиплексора 17. Код проверяемых логических условий на вход мультиплексора 17 поступает с выхода 53 блока 1. В мультиплексоре 17 осуществляется модификация младшего разряда косвенного адреса очередной микрокоманды первой (второй) микропрограммы, поступающего с выхода 52 блока 1. Код адреса первой (второй) микропрограммы через коммутатор 13 (14), открытый единичным (нулевым) потенциалом с единичного выхода триггера 11, поступает на информационный вход регистра 2 (Э), По тактовому импульсу с выхода 63 генератора 61, поступающему через элементы И 18 (19), ИЛИ 33 (34) на синхровход регистра 2 (3), код адреса первой (второй) микропрограммы записывается в регистр 2 (3).Выполнение первой микропрограммы продолжается до возникновения режима ожидания, а второй микропрограмьы - до возникновения ее режима ожидания или до прерывания ее первой микропрограммой. В случае возникновения режима ожидания первой (второй) микропрограммы из блока 1 памяти микропрограмм считывается микрокоманда ожидания. Разряд 58 (60) регистра 4 (5) устанавливается в единичное состояние. При этом по тактовому импульсу с выхода 63 генератора 61 для первой микропрограммы осуществляется запись в счетчик 6 для кода максимального времени ожидания в дополнительном коде. Дополнительный код времени ожидания первой микропрограммы содержится в поле 57 разрядов регистра 4 и поступает на информационный вход счетчика 6. Импульс с выхода 63 генератора 61 через открытый элемент И 23 поступает на управляющий вход счетчика 6, разрешая запись кода времени ожидания. По этому же импульсу осуществляется передача управления второй (первой) микропрограмме и фи- сация начала режима ожидания первой (второй) микропрограммы установкой триггера 9 (10) в единичное состояние.3 12560Передача управления второй (пер"вой) микропрограмме осуществляетсяпри изменении состояния триггера 11с единичного (нулевого) на нулевое(единичное).Импульс с выхода 63 генератора61 на управляющий вход триггера 11поступает через коммутатор 16 привыполнении следующего условия;выход 58 (60) регистра 4 (5) уста Оновлен в единичное состояние, чтосоответствует началу ожидания первой(второй) миКропрограммьр,на выходе элемента ИЛИ 39 установлен нулевой потенциал, что соответствует состоянию готовности к выполнению второй (первой) микропрограммы при переходе в ожидание первой (второй).Установка триггера 9 (10) в единичное состояние, соответствующеесостоянию ожидания первой (второй)микропрограммы, осуществляется поимпульсу с выхода 63 генератора 61,поступающему на единичный вход через 25открытый элемент И 27 (28).По окончании режима ожидания первой (второй) микропрограммы на вход49 (50) устройства поступает сигналокончания ожидания, устанавливающий ЗОтриггер 9 (10) в нулевое состояние.При этом в устройстве возможны следующие режимы работы:дообслуживание второй микропро"граммы без прерывания после восстановления сигнала готовности первоймикропрограммы,дообслуживание второй микропрограммы с прерыванием по истеченииустановленного максимального време- ,щни ожидания для первой микропрограмВозобновление первой микропрограм.мы возможно при выполнении двух условий: истекло время ожидания, уста" 5новленное в счетчике 6, и триггер 9установлен в нулевое состояние.В том случае, когда вторая микропрограмма выполняется в устройствек моменту выполнения условий возоб-. 5 Оновления первой микропрограммы, осуществляется прерывание второй микропрограммы по импульсу с выхода 63 ге"нератора 61 посредством переключения триггера 11 из нулевого состояния в единичное. При этом импульсс выхода 63 генератора 61 поступаетна управляющий вход триггера 11 че 25 брез коммутатЬр 16 при выполненииследующих, условий;на выходе коммутатора 26 установлен единичный потенциал, что соответствует состоянию переполнениясчетчика б и нулевому состояниютриггера 9,триггер 11 находится в нулевомсостоянии, т.е. выполняется втораямикропрограмма.Адрес микрокоманды, на которойосуществляется прерывание второймикропрограммы, сохраняется врегистре 4 и является точкой возобновления второй микропрограммы вочередном цикле невыполнения.Дообслуживание второй микропрограммы без прерывания осуществляетсяв интервале времени от момента восстановления состояния готовности первой микропрограммы (триггер 9 установлен в нулевое состояние) до момента истечения времени ожиданияпервой микропрограммы (переполнениесчетчика 6),В том случае, когда состояниеготовности первой микропрограммывосстанавливается, а.вторая микропрограмма находится в ожидании, возобновление первой микропрограммыосуществляется независимо от состояния счетчика 6, Процесс возобновления первой микропрограммы для этогослучая аналогичен рассмотренному.В том случае, когда к моментупереполнения счетчика 6 триггер 9не установлен в нулевое состояние,на выходе 48 элемента 25, формируетсясигнал ошибки, который выдается внешней операционной системе для анализа ситуации, а в устройстве осуществляется реализация второй микропрограммы.В устройстве возможна реализациявложенного ожидания микропрограммт.е. такого режима, когда обе микропрограммы (первая и вторая) находятся в состоянии ожидания. При этомтриггеры 9 и 10 установлены в единич.ное состояние и на выходе элементаИ 29 устанавливается единичный пойтенциал. Этот сигнал поступает навыход 51 устройства, информируя внеш-,нюю операционную систему о возможности создания тупиковой ситуации(клинча). Кроме того, по этому жесигналу, поступающему через элемент.ИЛИ 38 на вход элемента И 20 черезэлемент ИЛИ 36, разрешается установка триггера 8 в единичное состояниепо импульсу с выхода 64 генератора61, при этом блокируется изменениесостояний регистров 2-5 и триггеров 59 и 10 импульсами с выходов 62 и 63генератора 61 и в очередном циклеработы генератора 6 1.Возобновление работы устройстваможет быть выполнено для любой микропрограммы, завершившей ожиданиепервой, Рассмотрим возобновлениевыполнения второй микропрограммыв этом случае. На вход 50 устройства поступает сигнал завершения ожидания, триггер 10 устанавливаетсяв нулевое состояние. При этом на выходе элемента И 30 формируется единичный сигнал, который разрешаетпрохождение импульса с выхода 63генератора 61 через коммутатор 16на управляющий вход триггера 11 втом случае, если он находится в /единичном состоянии, По этому импульсу триггер 11 устанавливаетсяв нулевое состояние, соответствующее выполнению второй микропрограммы. Кроме того, на выходе элементаИ 29 устанавливается нулевой потенциал, что приводит к открыванию элемента И 20 и по очередному импульсус выхода 64 генератора 61 триггер8 устанавливается в нулевое состояние, при этом временная диаграммаработы устройства сохраняется. . 35Блокировка элементов И 18, 19,22 ,27 и 28 снимается и устройствофункционирует аналогично рассмотренному выше,Завершается работа устройства 4 Опо окончании выполнения первой ивторой микропрограмм. По завершениипервой (второй) микропрограииы выход 56 (59) регистра 4 (5) устанав, ливается в единичное состояние. По 45завершении обеих микропрограммединичным сигналом с выхода элемента И,32 триггер 7 устанавливаетсяв нулевое состояние, тем самым запре.щая формирование тактовой сетки им Опульсов на выходах генератора 61.Формула изобретенияИультимикропрограммное устройство управления, содержащее блок памя ти микропрограмм, первый коммутатор управления, первый и второй регистры адреса, триггер пуска, генератор импульсов, первый и второй триггерыожидания, триггер блокировки, триггеруправления, первый коммутатор адреса,первый, второй, третий, четвертый,пятый, шестой элементы И, первый,второй, третий, четвертый элементыИЛИ, причем выход первого коммутатора адреса соединен с адресным входомблока памяти микропрограмм, выходыпервого, второго регистров адресасоединены соответственно с первыми вторым информационными входами первого коммутатора адреса, выходы первого и второго элементов ИЛИ соединены соответственно с входами син -хронизации первого и второго регистров адреса, выходы первого и второгоэлементов И соединены с первыми входами соответственно первого и второго элементов ИЛИ, выход триггера пуска соединен с входом генератора импульсов, вход установки в "1" триггера пуска, соединен с входом пускаустройства и с вторыми входами пер-вого и второго элементов И, выходтретьего элемента ИЛИ соединен с первым входом третьего элемента И, выходчетвертого элемента ИЛИ соединен синверсным входом четвертого элемента И, выход третьего элемента И соединен с входом установки в "1" триггера блокировки, выход четвертогоэлемента И соединен с входом установки в "0" триггера блокировки, выходтриггера блокировки соединен с первыминформационным входом первого коммутатора управления, с первыми входамипервого и шестого элементов И, с первыми прямыми входами второго и пятогоэлементов И, выход пятого элементаИ соединен с входом установки в "1"первого триггера ожидания, выход шестого элемента И соединен с входомустановки в 1 второго триггераожидания, первый вход управления режимом работы устройства соединен свходом установки в "О" первого триггера ожидания, второй вход управления режимом работы устройства соединен с входом установки в "0" второготриггера ожидания, выход первогокоммутатора управления соединен сосчетным входом триггера управления,инверсный выход триггера управлениясоединен с первым управляющим входом первого коммутатора управления,с инверсным входом чятого элементаИ, с вторым входом шестого элементаИ, прямой выход триггера управлениясоединен с управляющими входами первого коммутатора адреса, с инверснымвходом второго элемента И, с вторымвходом первого элемента И, о т л ич а ю щ е е с я тем, что, с цельюповышения быстродействия, оно дополнительно содержит первый и второйрегистры микрокоманд, второй и третий коммутаторы адреса, коммутатори мультиплексор логических условийвторой коммутатор управления, счетчик, седьмой, восьмой, девятый, деся"тый, одиннадцатый, двенадцатый, тринадцатый и четырнадцатый элементы И,пятый, шестой, седьмой и восьмойэлементы ИЛИ, причем выход нуля адреса блока памяти микропрограмм соединен с первыми информационными входами второго и третьего коммутаторовадреса, поле логических условий блока памяти микропрограмм соединенос первой группой информационных выходов мультиплексора логических условий, поле микрокоманд блока памятимикропрограмм соединено с информационными входами первого и второгорегистров микрокоманд, прямой выходтриггера управления соединен с первым входом десятого элемента И, с 30инверсным входом одиннадцатого элемента И с входами управления записьюпервого и второго регистров микрокоманд, с управляющим входом третьего коммутатора адреса, управляющим З 5входом второго коммутатора адреса,управляющими входами коммутатора логических условий, выход признаказаписи адреса первого регистра микрокоманд соединен с управляющими входами второго и третьего коммутаторовадреса, поля микроопераций первогои второго регистров микрокоманд являются выходами микроопераций устройства выходы признака окончания 45команды первого и второго регистров микрокоманд соединены соответственно с первыми и вторыми входамичетырнадцатого элемента И и восьмого элемента ИЛИ, вЫходы признака 50начала ожидания первого и второгорегистров микрокоманд "оединены соответственно с первыми и вторымвходами седьмого элемента ИЛИ, выходы кода времени ожидания первого 55регистра микрокоманд соединены синформационными входами счетчика,первая и вторая группы входов логических условий устройства соединены соответственно с первой и второй группами информационных входов коммутатора логических условий, группа выходов коммутатора логических условий соединена с второй группой информационных входов мультиплексора логических условий, управляющий вход мультиплексора логических условий соединен с адресным выходом блока памяти микропрограмм, инверсный вход триггера блокировки соединен с первым входом седьмого элемента И, вторым входом десятого элемента И, с первым прямым входом третьей группы входов первого коммутатора управления, выходы второго и третьего коммутаторов адреса соединены с информационными входами соответственно первого и второго регистров адреса, входы кода операций первой и второй команд соединены с информационными входами соответственно второго и третьего коммутаторов адреса, выход седьмого элемента И соединен с синхровходами первого и второго регистров микрокоманд, выход десятого элемента И соединен с синхровходом счетчика, выход одиннадцатого элемента И соединен со счетным входом счетчика, выход переполнения счетчика соединен с первым входом тринадцатого элемента И и с вторым информационным входом второго коммутатора управления, выход первого триггера ожидания соединен с первыми входами восьмого, девятого элементов И, пятого элемента ИЛИ, с вторым входом тринадцатого элемента И, с управляющим входом второго коммутатора управления, прямой выход второго триггера ожидания соединен с вторым входом восьмого элемента И и пятого элемента ИЛИ, первым информационным входом второго коммутатора управления, инверсный выход второго триггера ожидания соединен с вторым входом девятого элемента И, выход второго коммутатора управления соединен с вторым информационным входом первого коммутатора управления, выход седьмого элемента ИЛИ соединен с третьим входом десятого элемента И, с тре тьим информационным входом первого коммутатора управления, с вторым прямым входом пятого элемента И, с третьим входом шестого элемента И, выход тринадцатого элемента И являетсявыходом ошибки устройства, выход восьмого элемента И соединен с первыми входами третьего и четвертого элементов И и является выходом фиксации простоя устройства, выход пя того элемента ИЛИ соедйнен с первыми входами шестого элемента ИЛИ и двенадцатого элемента И, выход девятого элемента И соединен с четвертым информационным входом первого коммутатора управления, выход шестого элемента ИЛИ соединен с пятыминформационным входом первого коммутатора управления, выход двенадцатого элемента И соединен с вторыми 15входами третьего и четвертого элементов ИЛИ, выход четырнадцатого элемента И соединен с входом установки в "О" триггера пуска, выход восьмоГо элемейта ИЛИ соединен с вторы-. ми входами шестого элемента ИЛИ идвенадцатого элемента И, первый выход генератора импульсов соединенс вторым входом третьего и вторымпрямым входом четвертого элементовИ, второй выход генератора импульсов соединен с вторым входом седьмого элемента И, третий выход генератора импульсов соединен с четвертымвходом десятого элемента И, с третьим прямым входом пятого элемента И,счетвертым входом шестого элементаИ, с вторым управляющим входом первого коммутатора управления, с третьим входом первого элемента И,с вторым прямым входом второго элемента И, четвертый выход генера -тора импульсов соединен с прямым входом одиннадцатого элемента И.

Смотреть

Заявка

3863016, 20.02.1985

ПРЕДПРИЯТИЕ ПЯ Г-4651

ШЕХ АНАТОЛИЙ ПЕТРОВИЧ, УЛИТЕНКО ВАЛЕНТИН ПАВЛОВИЧ, ТИМОНЬКИН ГРИГОРИЙ НИКОЛАЕВИЧ, ТКАЧЕНКО СЕРГЕЙ НИКОЛАЕВИЧ, ХАРЧЕНКО ВЯЧЕСЛАВ СЕРГЕЕВИЧ, ЯРМОНОВ ВИКТОР ИВАНОВИЧ, СПЕРАНСКИЙ БОРИС ОЛЕГОВИЧ

МПК / Метки

МПК: G06F 9/22

Метки: мультимикропрограммное

Опубликовано: 07.09.1986

Код ссылки

<a href="https://patents.su/8-1256025-multimikroprogrammnoe-ustrojjstvo-upravleniya.html" target="_blank" rel="follow" title="База патентов СССР">Мультимикропрограммное устройство управления</a>

Похожие патенты