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

Иллюстрации

Показать все

Реферат

 

МИКРОПРОГРАММНОЕ УПРАВЛЯИДЕЕ УСТРОЙСТВО,содержащее блок памяти микрокоманд ,регистр микрокоманд,регистр адреса,блок -проверки условий, генератор тактовых импульсов,регистр блокировки, первый элемент И и группу элементов И, причем группа выходов кода операции регистра микрокоманд является первой группой управляющих выходов устройства, выходы кода микрооперации регистра микрокоманд соединены с первыми прямыми входами элементов И группы, выход i-го элемента И труппы . (, 2,... , (n-ll где празрядность кода микроопераций , соединен с i-м инперсным входом первого элемента И, с -м инверсным входом первого элемента И, с i-M информационным входом регистра блокировки и с инверсными входами с (i+l)-ro по п-й элементов И группы и является I-M управлякнцим выходом второй группы устройства, выход п -го эле 1ента И группы соединен G п-м инверсным входом первого элемента И, с п-м информационным входом регистра блокировки и является п-м управляющим выходом второй группы устройства, j-й выход (j t,2,..., п ) регистра блокировки соединен с вторым прямым входом j-ro элемента И группы, группа выходов кода адреса регистра микрокоманд соединена с первой группой входов блока проверки условий, вторая группа входов которого является группой входов логических условий устройства , группа адресных выходов блока проверки условий соединена с группой информационных входов регистра § адреса, группа выходов которого соединена с группой адресных входов бло (Л ка памяти микрокоманд, группа выходов которого соединена с группой информационных входов регистра микрокоманд , вход установки в ноль которого соединен с входом установки в ноль регистра адреса и является входом начальной установки устDd ройства , вход записи регистра Kj микрокоманд соединен с выходом первого элемента И и с входом установки в единицу регистра блокиа ровки, вход синхронизации которого соединен с входом синхронизации регистра адреса и с выходом генератора импульсов, отличающеес я тем, что, с целью повышения его быстродействия, в него введен второй элемент И, причем третья группа входов блока проверки условий соединена с группой выходов кода анализируемых логических условий регистра микрокоманд, управляющий выход блока проверки условий соединен с первым прямым входом второго зле

СОЮЗ СОВЕТСНИХ

СОЦИАЛ ИСТИЧЕСН ИХ

РЕСПУБЛИН

„.SUo» 1 4 2

4 (51) G 06 Р 9/22

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

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

ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР

IlO ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3551297/24-24 (22) 08.02.83 (46) 30.01.85.Бюл.№ 4 (72) И.Я.Пушкарев и Д.В.Полонский (53) 681.325 (088.8) (56) 1. Авторское свидетельство СССР

¹ 970367, кл. G 06 F 9/22, 1981.

2. Авторское свидетельство СССР 949657, кл. С 06 F 9/22, 1980 (прототип) . (54)(57) МИКРОПРОГРАММНОЕ УПРАВЛЯКЦЕЕ

УСТРОЙСТВО, содержащее блокпамяти микрокоманд,регистр микрокоманд, регистр адреса, блок проверкиусловий, генератор тактовых импульсов, регистр блокировки, первый элемент И и группу элементов И, причем группа выходов кода операции регистра микрокоманд явля.ется первой группой управляющих выходов устройства, выходы кода микрооперации регистра микрокоманд соединены с первыми прямыми входами элементов И группы, выход i -ro элемента И группы . (1 = 1, 2,..., (n-11 где n — разрядность кода микроопераций, соединен с 1-м инверсным входом первого элемента И, с i-м инверсным входом первого элемента И, с 1-м информационным входом регистра блокировки и синверсными входами с (i +I)-го по и-й элементов И группы и является 1-м управляющим выходом второй группы устройства, выход и -го элемента И группы соединен с и -м инверсным. входом первого элемента И, с n — м информационным входом регистра блокировки и является n — м управляющим выходом второй группы устройства, 1 — и выход (j= 1,2,, n ) регистра блокировки соединен с вторым прямым входом — го

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

его быстродействия, в него введен второй элемент И, причем. третья группа входов блока проверки условий соединена с группой выходов кода анализируемых логических условий регистра микрокоманд, управляющий выход блока проверки условий соединен с первым прямым входом второго элеlh мента И, второй прямой вход которого соединен с(л :)) -м выходом регистра блокировки, инверсные входы . второго элемента И со:динены с выходом элементов И гоупйы, выход второго элемента И соединен с (n+1) -M инверсным входом г.;мого элемента И и с (ь4.1) -м информационным входом регистра блокировки, кроме того, блок проверки услсв -...1 .одержит три группы элементов И, элемент ИЛИ, дешифратор, мультиплексор и элемент ИСКЛЮЧАЮЩЕЕ ИЛИ, выход которого соединен со стробирующим входом дешифратора и является управляющим выходом блока проверки условий, первый вход элемента ИСКЛЮЧА10ЩЕЕ ИЛИ соединен с выходом мультиплексора, М-й информационный вход которого

{k = l,2,...,а, где Ь - количес. :во анализируемых логических условий ) соединен с прямым входом k-ro элемента И первой группы и является ) -м входом второй группы блока проверки условий, инверсный вход ,.к-го элемента И первой группы сое37467 динен с первым входом %-ro элемента И второй группы и с % -м выходом дешифратора, первый и второй ,входы М-ro элемента ИЛИ группы соединены соответственно с выходом

4с-х элементов И первой и второй групп, первые входы элементов И

Ю третьей группы являются вхсцами первой группы блока проверки условий, выход М-го элемента ИЛИ соединен с вторым входом %-го элемента И третьей группы, выход которого явля" ется %-м адресным выходом группы блока проверки условий, третьи входы элементов ИЛИ группы соединены с первым входом третьей группы блока проверки условий, вторые входы элементов И второй группы соединены с (п 1) -м информационным входом мультиплексора, с вторым входом элемента ИСКЛ)0ЧАЮЕ1ЕЕ ИЛИ и с вторым входом третьей, группы блока проверки условий, остальные входы третьей группы блока проверки условий соединены с входами дешифратора и с управляющими входами мультиплексора.

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

Известно микропрограммное управляющее устройство, содержащее блок памяти микрокоманд, регистр микрокоманд, регистр адреса, блок проверки условий, генератор импульсов, регистр блокировки, элемент И и группу элементов И (1 .

Недостатком . данного устройства .15 является низкое быстродействие, обусловленное наличием "холостых микро тактов".

Наиболее близким по технической сущности к предлагаемому является мик 20 ропрсйраммное управляющее устройство, содержащее блок памяти микрокоманд, регистр микрокоманд, регистр адреса, блок проверки условий, генератор тактовых импульсов, регистр блокировки, 2 первый элемент И и группу элементов И, группа выходов кода операции регистра микрокоманд является группой управляющих выходов устройства, выходы кода микроопераций регистра микрокоманд соединены с первыми прямыми входами элементов И группы, выход i-го элемента И группы ()=1,2, ..., (n-1J где п — разрядность кода микроопераций, соединен с 1-м инверсным входом первого элемента И, с 1-м информационным входом регистра блокировки и с инверсными входами с (1+1 -ro по п-й элементов И группы и является 1-м управляющим выходом второй группы устройства, выход ц-го элемента И группы соединен с в -м инверсным входом первого элемента И, с п-м информационным входом регистра блокировки и является и --м управляющим выходом второй группы устройства, 1-й выход () = 1,2,...,h) регистра блокировки соединен со вторым прямым входом )-ro элемента И группы, 1 I 37467

Целью изобретения является повышение быстродействия устройства.

Поставленная цель достигается тем, что в ьякронрограммное управ5S группа выходов кода адреса регистра микрокоманд соединена с первой группой входов блока проверки условий, вторая группа входов которого является группой входов логических условий устройства, группа адресных выходов блока проверки условий соединена с группой информационных входов регистра адреса, группа выходов которого соединена t0 с группой адресных входов блока памяти микрокоманд, группа выходов которого соединена с группой информационных входов регистра микрокоманд, вход установки в ноль которого соединен с.входом установки в ноль регистра адреса и является входом начальной установки устройства, вход записи регистра микрокоманд соединен с выходом первого элемента И и с входом 20 установки в единицу регистра блокировки, вход синхронизации которого соединен с входом синхронизации регистра адреса и с выходом генератора тактовых импульсов f 2 g. 2s

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

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

35 на вход регистра микрокоманд. Однако значение сигнала условия, формирующегося в результате выполнения последнего микроприказа, определяется только в конце последнего микротакта выполнения микрокоманды. Поэтому при выполнении условных переходов с учетом условий, значение которых определяется в последнем микротакте выполнения микрокоманды, в микропрограмме предусматривается "холостая", микрокоманда, не вызывающая никаких полезных действий.

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

j-го элемента И группы (1= I,2,..., (П-1), где п — разрядность кода микроопераций, соединен с 1 -м инверсным входом первого элемента И, с 1-м инверсным входом первого элемента И, с 1-м информационным входом регистра блокировки и с инверсными входами с (i+I) -го по П -йй элементов И группы и является -м управляющим выходом второй группы устройства, выход и -го элемента И группы соединен с и-м инверсным входом первого элемента И, с и --м информационным входом регистра блокировки и является И-м управляющим выходом второй группы устройства, j-й выход (j = 1,2,...,np регистра блокировки соединен с вторым прямым входом j --ro элемента И группы, группа выходов кода адреса регистра микрокоманд соединена с первой группой входов блока проверки условий, вторая группа входов которого является группой входов логических условий устройства, группа адресных выходов блока проверки условий соединена с группой информационных входов регистра адреса, группа выходов которого соединена с группой адресных входов блока памяти микрокоманд, группа выходов которого соединена с группой информационных входов регистра микрокоманд, выход установки в ноль которого соединен с входом установки в ноль регистра адреса и является входом начальной установки устройства, вход записи регистра микрокоманд соединен с выходом первого элемента И и с входом установки в единицу регистра блокировки, вход синхронизации которого соединен с входом синхронизации регистра адреса и с выходом генератора импульсов, введены второй элемент И, причем третья группа входов блока проверки условий соедине11374 на с группой выходов кода анализируемых логических условий регистра микрокоманд, управляющий выход блока нроверки условий соединен с первым прямым входом второго элемента И, второй прямой вход которого соединен с (n+1) -м выходом регистра блокировки, инверсные входы второго элемента И соединены с выходом эле-. ментов И группы, выход второго эле- !О мента И соединен с (n +1) -и инверсным входом первого элемента И и с (и+1l-м информационным входом регистра блокировки, кроме того, блок проверки условий содержит три группы элементов И, элемент ИЛИ, дешифратор, мультиплексор и элемент ИСКЛ!ОЧАЮЩЕЕ ИЛИ, выход которого соединен со стробирующим входом дешифратора и является управляющим выходом блока 20 проверки условий, первый вход элемента ИСКЛЮЧАЮЩЕЕ ИЛИ соединен с выходом мультиплексора, )с-й информационный вход которого (1c = 1 2,..., й, где tn- количество анализируемых 2s логических условий ) соединен с прямым входом Ь-го элемента И первой группы и является.. k-м входом второй группы блока проверки условий, инверсный вход 4-ro элемента И первой группы соединен с первым входом tc-го элемента И второй группы и c %-м выходом дешифратора, первый и второй входы >-ro элемента ИЛИ группы соединены соответственно с выходом Q-x

35 элементов И первой и второй групп, первые входы элементов И третьей группы являются входами первой группы блока проверки условий, выход

fc-ro элемента ИЛИ соединен с вторым входом ф-го элемента И третьей группы, выход которого является k-м адресным выходом группы блока про" верки условий, третьи входы элементов ИЛИ группы соединены с первым входом третьей группы блока проверки условий, вторые входы элементов

И второй группы соединены с (+I)-м информационным входом мультиплексора, с вторым входом элемента ИСКЛЮЧАЮЩЕЕ ИЛИ и с вторым входом третьей группы блока проверки условий, остальные входы третьей группы блока проверки условий соединены с входами дешифратора и с управляющими входа.ми мультиплексора.

При таком решении значение условия, формирующегося в последнем микро67 6 такте выполнения микрокоманды, предсказывается заранее.

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

На фиг. 1 изображена схема предлагаемого устройства; на фиг. 2— схема блока проверки условий; на фиг. 3 а б — временная диаграмма работы устройства.

Микропрограммное управляющее устройство содержит блок 1 памяти микрокоманд, регистр 2 микрокоманд, регистр 3 адреса, блок 4 проверки условий, генератор 5 тактовых импульсов, регистр 6 блокировки, группу элементов 7 И,элемейты 8 и 9 И, первую группу 10 управляющих входов, группу 11 входов логических условий,.вторую группу 12 управляющих входов и вход !3 начальной установKH °

Бяок 4 проверки условий (фиг.2) содержит дешифратор 4, мультиплексор 15, группы элементов 16 И,17 И, 18 ИЛИ, 19 И и элемент 20 ИСКЛЮЧАЮЩЕЕ ИЛИ.

На фиг. 3 изображена временная диаграмма работы устройства, где приняты следующие обозначения: 21 импульсы на выходе генератора 5 импульсов, 22 — сигнал условия, значение которого определяется в последнем микротакте выполнения микрокоманды; 23 — сигнал на управляющем выходе блока 4 проверки условий;

24 — сигнал на выходе элемента 8 И;

25, 26 и 27 — сигналы микроприказов на выходах первого, пятого и двенадцатого элементов 7 И; 28 — сигнал на. входе 13 устройства.

Устройство работает следующим образом.

Дпя приведения устройства в исходное состояние на вход 13 устройства подается сигнал 28, в результате чего регистр 2 микрокоманд и регистр 3 адреса устанавливаются в ноль.

По нулевому адресу из блока l памяти микрокоманд выбирается начальная микрокоманда и поступает на информационные входы регистра 2 микрокоманд. Так как содержимое регист1137467 ра 2 микрокоманд равно нулю, нулевые сигналы присутствуют на выходах группы элементов 7 И и элемента 9 И.

Вырабатывается сигнал 24, по которому регистр 6 блокировки устанав- 5 ливается в единичное состояние, а в регистры 2 микрокоманд заносится микрокоманда, Каждая микрокоманда состоит из четырех частей — адресной, кода операции, кода микрооперации и кода анализируемых логических условий.

В адрвсной части микрокоманды содержится информация, иа основании которой формируется адрес следующей 35 микрокоманды.

Например, для выполнения занесенной в регистр 2 микрокоманды необходимы три микротакта, причем в течение. первого, второго и третье-. го микротактов единичный сигнал должен присутствовать на выходе первого, пятого и двенадцатого элементов 7 И соответственно. Тогда на первом, пятом и двенадцатом управляю-;у щих выходах. регистра 2 микрокоманд присутствуют единичные сигналы, а на остальных — нулевые. На выхо) е первого элемента 7 И вырабатывается сигнал 25, в результате чего все последующие элементы 7 И и элемент

9 И оказываются закрытыми.

Во втором микротакте по импульсу 21 и при наличии единичного сигнала на первом установочном входе первый разряд регистра 6 блокировки устанавливается в ноль. Первый элемент 7 И закрывается, открывая все последующие элементы 7.И. Так как второй, третий и четвертый элементы 7 И закрыты нулевыми сигналами с управляющих выходов регистра 2 микрокоманд, единичный сигнал 26 вырабатывается на выходе пятого элемента 7 И. (В третьем микротакте по импульсу 21 устанавливается в ноль . пятый разряд регистра 6 блокировки.

Закрывается пятый элемент 7 И и единичный сигнал 27 вырабатывается на выходе двенадцатого элемента 7 И.

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

Непосредственный адрес следующей микрокоманды поступает на входы группы элементов 19 И. Номер условия поступает на управляющие входы дешифратора 14 и мультиплексора 15. Бит типа перехода поступает на входы группы элементов 18 ИЛИ, а бит предполагаемого значения условия — на входы группы элементов 17 И, на вход элемента 20 ИСКЛЮЧАЮЩЕЕ ИЛИ и на первый вход мультиплексора 15.

Если выполняется безусловный переход (бит типа перехода равен единице), на выходах группы элементов

18 ИЛИ присутствуют единичные сигналы, и адрес следующей микрокоманды определяется непосредственно из адресной части предыдущей.

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

l6 И и 18 ИЛИ на входы группы элементов 19 И.

Сформированный блоком 4 проверки условий адрес следующей микрокоманды по импульсу 21 заносится в регистр 3 адреса.

Если в микрокоманде выполняется безусловный переход или условный переход без учета условий, определяемых в последнем микротакте, поле номера условия равно нулю. При этом единичный сигнал вырабатывается на первом выходе дешифратора 14, а мультиплексор 15 подключает на свой выход сигнал с (m + 1)-ro входа.

Так как сигналы на входах элемента 20 ИСКЛЮЧАЮЩЕЕ ИЛИ совпадают, сигнал 23 на его выходе равен нулю.

Сигналом 23 закрыт элемент 9 И.

При поступлении очередного импульса 21 (см.фиг.4а ) устанавливается в ноль двенадцатый разряд регистра 6 блокировки, закрывается двенадцатый элемент 7 И. На выходах всех элементов 7 И и на выходе элемента 9 И присутствуют нулевые сигналы. Вырабатывается сигнал 24, по которому регистр 6 блокировки устанавливается в исходное единичное состояние, а в регистр 2 заносится следующая микрокоманда.

Выполнение условных переходов с учетом условий, определяемых в последнем микротакте, осуществляется следующим образом. Так как сигнал условия по результату выполнения последнего (третьего микроприказа) 9 11374 формируется только в конце последнего (третьего! микротакта, - то оказывается неучтенным при формировании адреса следующей микрокоманды. Поэ-тому в этих случаях в микрокоманде . задается не нулевой номер условия, значение которого определяется в последнем микротакте, а в бите, поступающем на входы элементов 17 И и 20 ИСКЛЮЧАЮЩЕЕ ИЛИ, указывает- !О ся предполагаемое значение этого условия.

По номеру условия на одном из выходов дешнфратора 14 вырабатывается единичный сигнал, а мультиплексор 15 подключает на вход элемента 20

ИСКЛЮЧАЮЩЕЕ ИЛИ сигнал соответствующего условия.

По единичному сигналу с выхода дешифратора 14 закрывается соответ- . ствующий элемент !6 И и открывается соответствующий элемент 17 И.

В результате этого адрес следующей микрокоманды формируется с учетом не действительного, а предполагаемого значения условия. В конце третьего микротакта формируется сиг-, нал 22 и поступает через мультиплексор 15 на вход элемента 20 ИСКЛЮЧАЮЩЕЕ ИЛИ. Если действительное значение сигнала условия совпадает с предполагаемым, сигнал 23 равен нулю и элемент 9 И оказывается закрытым.

При поступлении очередного импульса 21 выполнение микрокоманды завершается аналогичным образом в соответствии с диаграммой на фиг. 4 а.

В случае, если действительно значение сигнала условия не совпадает с предполагаемым, сигнал 23

67 !О устанавливается в единичное состояние (см.фиг. 4б !. При этом блокируется дешифратор 14, в результате чего на выходах блока 4 проверки условий формируется адрес с учетом действительного значения условия.

При поступлении импульса 21 действительный адрес заносится в регистр 3 адреса. Сигнал 27 устанавливается в нулевое состояние, после чего единичный сигнал вырабатывается на выхо; де элемента 9 И. Микротакт, в течение которого единичный сигнал присутствует на выходе элемента 9 И, является "холостым". За этот микротакт. производится повторная выборка микрокоманды из блока 1 памяти по вновь сформированному адресу. При поступлении следующего импульса 21 и при наличии на установочном входе единичного сигнала с выхода элемента 9 И устанавливается в ноль соответствующий разряд 6 блокировки. В результате этого закрывается элемент 9 И, после чего вырабатывается сигнал 24 и следующая микрокоман да заносится в регистр 2 микрокоманд.

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

1!37467 1137467

1137467

28

21

23

23

Ж

2$

Составитель 1О.Ланцов

Техред Т.Дубинчак

Корректор С.йекмар

Редактор А.Долинич

Подписное

Филиал ППП "Патент", r.Óæãîðîä, ул.Проектная, 4

Заказ )0525/36 Тираж 710

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

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