Микропрограммный процессор

 

COIO3 СОВЕТСНИХ

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

РЕСПУБЛИК

3(5П 0 06 F 15 00

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

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

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

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21 ) 3492809/18-24 (22) 16.09.82 (46) 30.01.84. Бюл. Р 4. ,(72) В.ri.Ñóïðóí, A.È.Êðèâoíoñoâ, Л.И.Корниенко, Г.Н.Тимонькин, С.Н.Ткаченко и В.С.Харченко (53) 581.325(088.8) (56) 1. Патент Великобритании

9 1397253, кл. G 06 F .15/00, опублик. 1975.

2. Патент Великобритании . 9 1447736, кл. G 06 F 15/00, опублик. 1976.

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

N- 664173, K . G 06 F 15/00, 1979.

4. Авторское свидетельство СССР по заявке М 2984194/18-24, кл. G 06 F 15/00, 04.07.80 (прототип). (54)(57)1 ° МИКРОПРОГРАММНЫЙ ПРОЦЕССОР, содержащий блок памяти команд, блок .памяти микрокоманд, блок оперативного запоминающего устройства, операционный блок, генератор тактовых импульсов, первый элемент ИЛИ, регистр адреса микрокоманд, счетчик команд, Формирователь микроопераций, выход модифицируемого разряда адреса следующей микрокоманды блока памяти микрокоманд соединен c ïåðâûì входом первого элемента ИЛИ, группа выходов кода операций формирователя микроопераций соединена с группой входов кода операций операционного блока, первый выход генератора тактовых импульсов соединен с входом синхронизации регистра адреса микрокоманд, отличающийся тем, что, с целью увеличения производительности за счет введения специальных режимов адресации данных и динамического изменения формата команды, он содержит блок элементов

И, коммутатор адреса микрокоманд, мультиплексор логических условий, „„SU„„1070557 А коммутатор индексов, второй элемент

ИЛИ, коммутатор адреса оперативного запоминающего устройства, коммутатор управления оперативным запоминающим устройством, коммутатор данных, блок формирования исполнитель, ного адреса регистров общего назначения, состоящий из регистра адресации первого операнда, регистра адресации второго операнда, первого и второго коммутаторов операндов, первого и второго блоков элементов И, блок формирования исполнительного адреса оперативного запоминающего устройства, состоящий из регистра исполнительного адреса, регистра с приращений, сумматора и коммутатора, блок индексных счетчиков, состоящий из группы счетчиков индексов, блок счетчиков циклов, состоящий из группы счетчиков циклов, блок пуска-останова, состоящий из элемента И и триггера, причем управляющий вход процессора соединен с управляющими > ..входами блока памяти команд, блока элементов И и с первым входом второго элемента ИЛИ, выходы первой группы управляющих выходов формирователя микроопераций соединены соответственно с вторым входом второго элемента ИЛИ, со счетными входами, вхо- ©ф дами синхронизации счетчиков циклов и со счетным входом счетчика команд, вторая группа управляющих выходов формирователя микроопераций соединена со счетными входами и входами синхронизации счетчиков индексов, группа информационных входов которых соединена через шину команд с группой выходов блока памяти команд, с группой информационных выходов блока элементов И, с первой группой информационных входов коммутатора индексов, с группой информационных входов регистра адресации первого операнда и регистра адресации второ1070557 го операнда и с первой группой информационных входов коммутатора адреса микрокоманды, вторая группа информационных входов которого соединена с выходом первого элемента ИЛИ и с группой выходов немодифицируемой части адреса следующей микрокоманды блока памяти микрокоманд, вход адреса которого соединен с информационным выходом регистра адреса микрокоманд, информационный вход которого соединен с выходом коммутатора адреса микрокоманды, управляющий вход которого соединен с выходом конца команды формирователя микроопераций, группа выходов управления коммутатором индексов которого соединена с группой управляющих входов коммутатора индексов, вторая группа информационных входов которого соединена с группой входов констант устройства, группа информационных выходов группы счетчиков индексов соединена с третьей группой информационных входов коммутатора индексов, группа информационных выходов которого соединена с группами информационных входов счетчика команд группы счетчиков циклов, регистра приращений и с первой группой информационных входов коммутатора блока формирования исполнительного адреса оперативного запоминающего устройства, группа информационных выходов которого соединена с группой информационных входов регистра исполнительного адреса, группа информационных выходов которого соединена с первой группой входов сумматора и первой группой информационных входов коммутатора адреса оперативного запоминающего устройства, группа информационных выходов которого соединена с группой адресных входов блока оперативного запоминающего устройства, управляющие входы которого соединены с выходами коммутатора управления оперативным запоминающим устройством, первый управляющий вход которого соединен с управляющим входом коммутатора адреса оперативного запоминающего устройства, с первым управляющим входом коммутатора данных и выходом разрешения внешнего доступа к блоку оперативного запоминающего .устройства процессора и формирователя микроопераций, выход конца работы процессора которого соединен с первым входом элемента И блока пуска-останова, второй вход которого соединен со вторым выходом генератора тактовых импульсов, с входом синхронизации операционного блока и с первым управляющим входом формирователя микроопераций, второй управляющий вход которого соединен с первым выходом генератора тактовых импульсов, управляющий вход которого coe >:íåH с выходом триггера блока пуска-останова, вход установки в ноль которого соединен с выходом элемента И блока пуска-останова, вход установки в единицу триггера блока пуска-останова соединен с входом пуска процессора, группа выходов поля кода логических условий формирователя микроопераций соединена с группой управляющих входов мульти плексора логических условий, группа информационных входов которого соединена с группой информационных выходов группы счетчиков циклов и группой информационных выходов операционного блока, группа адресных

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

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

2. Процессор по п. 1, о т л и ч а ю шийся тем, что формирователь микроопераций содержит регистр, первый, второй и третий дешифраторы, первый и второй элементы И, элемент

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

ЭВМ и вычислительных систем с микрспрограммным управлением и высоким быстродействием.

1070557

Известны микропрограммные процес- сори, содержащие память команд, память микрокоманд, регистр адреса микрокоманд, оперативную память, операционный блок и счетчик команд (.1, f23 633 °

Йедостатками таких устройств являются узкая область применения и низкое быстродействие.

Наиболее близким к предлагаемому по технической сущности и достигае- мому положительному эффекту является микропрограммный процессор, содержащий операционный блок, оперативное запоминающее устройство, счетчик команд, блок микропрограммно- 15 го управления, постоянное запоминающее устройство, триггер режима, пять элементов И, дешифратор идентификации, триггер прерываний, два элемента ИЛИ, элемент ИЛИ-НЕ, груп- 20 пу элементов И, причем первые выходы блока микропрограммного управле-, ния соединены с первыми входами операционного блока, первые выходы которого соединены через оперативное 25 запоминающее устройство с вторыми входами операционного блока, вторые выходы соединены с входами счетчика команд, выходы которого соединены с третьими входами операционного блока и первыми входами группы элементов И, вторые входы которой соединены с третьим выходом операционного блока, а управляющие входы подключены к первому выходу триггера, 35 режима, первый вход которого соеди-, нен с четвертым выходом операционно- го блока, а второй вход соединен С пятым выходом операционного блока, выходы группы элементов И соединены с входами постоянного запоминающего устройства команд операционной системы, выходы которого подключены к четвертым входам операционного блока, шестые выходы которого .соединейй с первыми входами блока микропрог- 5 раммного управления, а пятый вход соединен с первым выходом триггера прерываний, второй выход которого подключен к второму входу блока микропрограммного управления, второй 50 вход соединен с входом устройства, а первый вход соединен с выходом первого элемента ИЛИ, первый вход которого соединен с выходом первого элемента И, второй вход соединен с вы- 55 ходом второго элемента И, третий вход соединен с выходом третьего элемента И„ четвертый вход соединен с выходом четвертого элемента И, а пятый вход подключен к выходу пятого g0 элемента И, первый вход которого соединен с первым выходом триггера режима, а второй вход соединен с первым выходом постоянного запоминающего .устройства микрокоманд, первым входом элемента ИЛИ-НЕ и первым входом второго элемента ИЛИ, выход которого подключен к первому входу первого элемента И, второй вход которого соединен с первым выходом дешифратора идентификации, второй выход которого соединен с первым входом второго элемента И, второй вход которого соединен с выходом элемента ИЛИ-HE и первым входом третьего элемента И, второй вход которого . соединен с третьим выходом дешифратора идентификации, вход которого соединен с вторыми выходами блока микропрограммного управления, третьи выходы которого подключены к входу постоянного запоминающего устройства микрокоманд, вторые выходы которого соединены с третьими входами блока микропрограммного управления, а третий выход соединен с вторым входом второго элемента ИЛИ, вторым входом элемента ИЛИ-НЕ и первым входом четвертого элемента И, второй вход которого подключен к второму выходу трйггера режима 4).

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

Узкая область применения обусловлена недостаточной номенклатурой дисциплин формирования исполнительного адреса. Например, в данном устройстве не реализованы специальные режимы индексной адресации: с продвижением индекса, когда исполнительный адрес А; формируется на основе значения индекса ЭР и значения смещения Д в соответствии с соотношением

А,.=3R+D, 3R=3R+<, iЕ 1, М, (q1 где и — мощность множества исполнительных адресов; с постоянным шагом d(d ) 1) приращения индекса, когда исполнительный адрес А; формируется на основе значения A „ и шага д по формуле

М= . (21

V,e 2,N, А.=A, В,d=.сопз1 с переменным шагом d; = Ь; (i), (1 е 1; и ) приращения ийдекса, . когда исполнительный адрес А; формируется на основе значения А1 „и di. шага i по формуле

А =Д

А,=

Ч; 2,Н;А,=А. +d.,d,=d. (1!

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

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

Формирование исполнительного адреса в режиме индексной адресации с продвижением индекса требует вре- мени Т,, которое оценивается по формуле

6 (4}

1 1-1 13

40 гДе 421—

22 время считывания из ОЗУ зна. чения A время считывания из ОЗУ значения шага время сложения А; „ и 4 время записи в ОЗУ значения

А;; время выдачи A.; 50

i время обращения к подпрограмме формирования исполнительного адреса в данном режиме. 23

t24

При использовании режима индексной адресации с переменным шагом приращения индекса время формирования исполнительного адреса Т оце3 нивается по формуле

6

Т = t, (6) (-1 где 1„„ — время выборки значения индекса иэ ОЗУ; — время выполнения сложения

ЗР иЗ; 13 — время увеличения значения индекса на 1;

1„ — время выдачи А;; время запоминайия в ОЗУ продвинутого индекса;

4<6 — время обращения к подпрограмме формирования исполни- З0 тельного адреса в данном режиме.

На формирование исполнительного адреса в режиме индексной адресации с постоянным шагом приращения 35 индекса требуется время Т2, оцениваемое по формуле где С, — время записи в ОЗУ значения А;; время Формирования адреса шага время считывания из ОЗУ значения А,. время сложения А;, и А.; время выдачи А;; время обращения к подпрог36 рамме формирования исполни. тельного адреса в данном режиме.

Анализ выражений (4 1 — (6) показывает, что доминирующими величинами в них являются слагаемые, связанные с частыми операциями обращения к ОЗУ, что приводит к существенному снижению производительности процессора. Это особенно ощутимо при резком возрастании - интенсивности использования указанных режимов адресации при обработке больших массивов данных, приводящем к снижению системной производительности эа счет частых обращений к ОЗУ.

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

Поскольку в известном устройстве отсутствуют элементы и связи для аппаратно-микропрограммной реализации указанных режимов адресации, повышение производительности в нем невозможно.

Цель изобретения †.расширение области применения путем введения специальных режимов адресации данных и динамического изменения формата команды и повышение производительности микропрограммного процессора.

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

20

Зо коммутатор индексов, второй элемент

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

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

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

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

Кроме того, формирователь микроопераций содержит регистр, первый, второй и третий дешифраторы, первый и второй элементы И, элемент ИЛИ, первый вход которого соединен с первым выходом первого дешифратора, группа информационных входов которого соединена с первой группой выходов регистра, вторая группа выходов которого соединена с группой информационных входов второго дешифратора, управляющий вход которого соединен с управляющим входом третьего дешифратора, с первыми входами первого и второго элементов И, с входом

30 синхронизации регистра и с первым . управляющим входом формирователя, третья группа выходов регистра соединена с информационным входом третьего дешифратора, первая группа

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

4g дешифратора соединен с вторым управ. ляющим входом формирователя, первый выход регистра соединен с вторым входом второго элемента И.и с выходом конца команды формирователя, первая и вторая группы управляющих выходов формирователя соединены соответственно с второй группой выходов второго дешифратора и с второй группой выходов третьего дешифратора, первый, второй, третий, четвертый и пятый выходы третьей группы управляющих выходов формирователя соединены соответственно с выходом второго элемента И, с вторым, третьим, четвертым и пятым выходами ре55 гистра, шестой выход регистра соединен с вторым входом первого элемента И и с первым выходом четвертой группы управляющих выходов формирователя, второй и третий выходы четвертой группы управляющих выходов которого соединены соответственно с выходом первого элемента И и с седьмым выходом регистра, первый, второй и третий выходы пятой группы управляющих выходов формировате1070557

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

На фиг. 1 приведена функциональная схема предлагаемого микропрограммного процессора; на фиг. 2 — то же, формирователя микроопераций; на фиг. 3 — то же, коммутатора данных; на фиг. 4 — то же, коммутатора индексов; на фиг. 5 — то же, коммутатора управления оперативным запоминающим устройством; на фиг. 6 — то же, мультиплексора логических условий; на фиг. 7 — то же, операционноro блока; на фиг. 8 — 12 — схемы алгоритмов формирования исполнительного адреса второго операнда для команд форматов R X1 — R X5 соответственно.

Микропрограммный процессор содержит блок 1 памяти команд, блок

2 памяти микрокоманд, блок 3 опера- . тивного запоминающего устройства, блок 4 формирования исполнительного адреса регистров общего назначения, формирователь 5 микроопераций, блок б индексных счетчиков, блок 7 счет,чиков циклов, блок 8 формирования исполнительного адреса оперативной памяти„ операционный блок 9, мультиплексор 10 логических условий, коммутатор 11 адреса микрокоманд, первый коммутатор 12 операнда, второй коммутатор 13 операнда, коммутатор

14 индексов, коммутатор 15 адреса оперативной памяти, коммутатор 16 блока формирования исполнительного адреса, коммутатор 17 управления оперативным запоминающим устройством, коммутатор 18 данных, группу входов

19 константы процессора, блок 20 пуска-останова, генератор 21 тактовых импульсов, регистр 22 адресации первого операнда, регист 23 адресации второго операнда, регистр 24 адреса микрокоманд, регистр 25 исполнительного адреса, регистр 26 приращений, счетчики 27 индексов, счетчик, 28 команд, счетчики 29 циклов, сумматор 30, триггер 31 блока пуска-останова, первый блок. элементов И 32 и второй блок элементов И 33 блока формирования исполнительного адреса регистров общего назначения, элемент

И 34 блока пуска-останова, второй элемент ИЛИ 35, первый элемент

ИЛИ 36, блок 37 элементов И, шину

38 команд, внутреннюю шину 39 данных, внешнюю шину 40 данных, информационную шину 41, управляющий вход

42 процессора, вход 43 пуска, группу информационных входов 44 процессора, группу адресных входов 45 процессора, группу информационных входов-выходов 46 внешних данных, выход 47 разрешения внешнего доступа к оперативному запоминающему устройству, выход 48 конца работы процессора и выход 49 прерывания.

20 Выходами формирователя 5 микроопераций (фиг. 2/ являются выход 50 конца команды, вторая группа управляющих выходов 51, выход 52 управления коммутатором индексов 52, пер25 вый 53, второй 54, третий 55, четвертый 56 и пятый 57 выходы третьей группы управляющих выходов, первая группа управляющих выходов 58, первый

59, второй 60, третий 61 выходы чет30 вертой группы управляющих выходов, группа выходов 62 кода операций, первый 63, второй 64 и третий 65 вы— ходы пятой группы управляющих выходов, выход бб разрешения внешнего

35 доступа к опеРативному запоминающему устройству, выход 67 конца работы процессора, группа выходов 68 ло. гических условий, второй 69 и первый

70 управляющие выходы.

4р Формирователь 5 микроопераций содержит регистр 71, третий 72, второй 73 и первый 74 дешифраторы, первый 75 и второй 76 элементы И, элемент ИЛИ 77.

Коммутатор 18 данных (фиг. 3) включает коммутатор 78, элемент

НЕ 79, первый 80, второй 81 и третий

82 блоки элементов И.

Коммутатор 14 индексов (фиг. 4) содержит коммутатор 83, дешифратор

84 и элемент ИЛИ-НЕ 85.

Коммутатор 17 управления оперативным запоминающим устройством (фиг. 5) состоит из первого 86 и второго 87 одноразрядных коммутато55 ров.

Мультиплексор 10 логических условий (фиг. б ) включает коммутатор 88 и дешифратор 89.

Операцион .ый блок 9 (фиг. 7) со60 держит арифметико-логический блок

90, блок 91 местного управления, блок 92 регистров общего назначения, буферный регистр 93, первый 94, второй 95, третий 96 и четвертый 97 мультиплексоры и блок 98 элементов И.

14

1070557

Процессор предназначен для выполнения команд форматов "регистррегистр" (RR ) и "регистр — память" (R Х) . Формат команды RR содержит по.ля: код операции, адрес первого операнда (R 1), адрес второго операнда (R2), а команды RX — код операции, адрес первого операнда (R 1 ) и сме. щение (D ) .

В обоих форматах адрес первого операнда R 1 задает номер регистра общего назначения в блоке 92 регистров общего назначейия операционного блока 9 (фиг. 7). Смещение D задает адрес первого числа в режимах прямой адресации (адресации с индексацией).

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

Команды формата RX могут быть пяти типов, зависящих от режимов адресации данных в памяти.

В предлагаемом процессоре предусмотрено пять режимов адресации данных для RX-команд: прямая адресация, когда исполнительный адрес данных А формируется

l на основе информации о смещении

2;, считываемой из блока 1 памяти команд по формуле

A;=D,, )е,)( гце )(— мощность множества исполнительных -адресов; индексная адресация с продвижением индекса, когда исполнительный адрес формируется на основе значения индекса 3R и смещения в соответствии с формулой

Ai=3R+D, 3R=3R+ ; индексная адресация без продвижения индекса, когда исполнительный адрес формируется на основе соотношения . A.=М+2; и ндексная адресация с постоянным шагом приращения д (д ) 1 ) индекса, когда исполнительный адрес формируется в соответствии с формулой

А.Я, . V.е2,N; А.=А +й, 8=const; индексная адресация с переменным шагом й„= 6; ((); (i е 1, И ) приращения индекса, когда исполнительный адрес формируется по формуле

Aj =D, A,=

v,.e Z,x: A.=À. „+i(, .= (i) Указанным режимам. адресации соответствуют команды типов )1 Х1 — fX5 °

Общая характеристика адресации в процессоре .состоит в следующем.

При выполнении команд формата

RR адреса первого (R 1) и второго (R 21 операндов поступают через блок

4 формирования исполнительного адреса для регистров общего назначения на группу адресных входов операционного блока Ъ. Кодом операции команды определяется начальный адрес микропрограммы выполнения данной команды, при этом код операции команды с выхода блока 1 через шину 38 команд и коммутатор 11 адреса микрокоманд записывается в регистр 24 адреса микро) команд, по которому микрокоманда выбирается из блока 2 и записывается блок 5 ..

При выполнении команд формата RX адрес первого операнда R 1 через блок

4 подается на соответствующие разряды группы адресных входов операционного блока 9 . Формирование адре75 са второго операнда осуществляется сложнее и существенно зависит от типа команды.

При выполнении команды типа R X1 (фиг. 9 ) исполнительный адрес второго

gg операнда задается смешением D в формате команды. Этот адрес передает ся через коммутаторы 14 и 16 в регистр 25 исполнительного адреса, по которому осуществляется адресация. блока 3 опеРативного запоминающего устройства.

В блоке 3 по адресу, заданному в регистре 25, может производиться за; пись или считывание в соответствии с исполнительной командой и опреде4О ляемые сигналами на выходах 60 и 61 формирователя 5 микроопераций ° . Команды типа Р Х2 предназначены для организации так называемой "магазинной" обработки данных, когда адрес следующего числа на единицу больший предыдущего. R Х 2 — команды позволяют обрабатывать массивы данных. При этом загрузка индексов в счетчики 27 индексов производится заранее соответствующими командами из блока 1 памяти команд, в поле которых указывается загружаемый код в счетчике 27 индекса..

Исполнительный адрес очередного

55. числа массива данных в этом случае формируется следующим образом.

Смещение Э во время выборки командного слова в последнем цикле выполнения предыдущей команды через коммутаторы 14 и 16 с выхода блока

1 записывается в регистр 25. В следукщем цикле первом цикле исполнения данной команды )индекс с выход.. счетчика 27 индекса через коммутатор 14 записывается в регистр 26

1070557 приращений, Во втором цикле исполнения данной команды произ водится продвижение индекса в счетчике 27 индекса и одновременно просуммированное значение смещения индекса на сумматоре

30 через коммутатор 16 поступает в регистр 25 исполнительного адреса и фиксируется в нем. В третьем цикле исполнения данной команды производится выборка числа (или запись) из блока 3 по исполнительному адресу и подача (или прием) его в операционный блок 9, в котором оно обрабатывается в соответствии с кодом операции, подаваемым с выхода 62 блока 5 на вход кода операции операционного блока 9. Если данная команда оказывается короткой (типа сложения), то третий цикл ее исполнения является последним, в котором производится выборка очередного ко- 20 мандного слова из блока 1 памяти команд, при этом на выходе 50 конца команды блока 5 вырабатывается сигнал, определяющий конец команды и настраивающий коммутатор 11 адреса 25 микрокоманд на прием кода операции команды в регистре 24 в качестве адреса микрокоманды. Во всех. циклах, когда сигнал конца команды отсутствует, в регистре 24 адреса микрокоман- 30 ды записывается адрес очередной микрокоманды с соответствующего выхода блока 2 памяти микрокоманд. Таким образом, короткая команда в режиме

RX2 выполняется за три машинных цикла. В то же время короткая команда в режиме РХ1 выполняется эа один машинный цикл (фиг. 10 и 9 ). Команды типа РХЗ реализуются аналогично командам Р Х2, но без продвижения 40 индекса (фиг. 11).

Команды типа рХ4 и РХ5 предназначены для обработки массивов информации,с шагом выборки чисел большим единицы, что необходимо при решении задач классификации и сортировки.

Адрес первого числа задается аналогично описанному для команд формата RX1. Для формирования адресов второго и последующих чисел микропрограммно иэ блока 1 памяти считывают значения величины шага и .

Причем для режима Р Х4 считывание выполняется один раз, а для режима

RX5 значение шага считывается иэ блока 1 при обработке у каждого чис- 55 ла массива и очередной исполнительный адрес числа формируется суммированием значения предыдущего исполнительного адреса и значения д (л„ в режиме РХ5). Число слов, обраба- 60 тываемых в массиве чисел, задается дополнением до переполнения i -ro (1 = 1, 2, ... и) счетчика 29 циклов заранее аналогично загрузке счетчиков 27 индексов и при выполнении ин 65 струкции обработки массива чисел производится проверка условия переполнения соответствующего -ro счетчика 29 циклов в мультиплексоре 10 логических условий. При переполнении -го счетчика 29 циклов производится модификация адреса микрокоманды, что приводит к выходу из выполнения соответствующей инструкции, при этом продвижение i-го счетчика

29 циклов производится параллельно . с выработкой A на сумматоре 30.

Таким образом, предлагаемый микропрограммный процессор обладает широкими возможностями адресации с малыми затратами времени на их реализацию, особенно для обработки массивов данных, например, в режиме

RX4 для формирования исполнительных адресов для К чисел затрачивается -

К + 1-й машинный цикл.

Основные узлы и блоки процессора имеют следующее назначение.

Блок 1 памяти команд предназначен для хранения программы вычислительного процесса, начальных адресов подпрограмм, значений индексов, приращений и смещений адресов . Выборка из него в режиме вычисления осуществляется по адресу, заданному в счетчике 28 команд. С выхода блока 1 информация выдается в шину 38 команд.

Кроме того, в режиме подготовки вычислений информация в шину 38 команд может поступать через блок 37 элементов И, группы информационных входов 44 процессора. В этом случае сигналом с управляющего входа 42 процессора блокируется блок 1 памяти, открывается блок 37 элементов

И и разрешается передача адреса команды с группы информационных вхо- дов 44 процессора в шину 38 команд и далее через коммутатор 14 индексов в счет.чик 28 команд, управляемый.синхросигналом записи со входа 42 через элемент ИЛИ 35.

Блок 2 памяти микрокоманд предназначен для хранения микрокоманд микропрограмм управления выполнением команд вычислительного процесса.

Блок 3 оперативного эапоминающего устройства предназначен для хранения данных. Обращение к нему возможно как по адресу, задаваемому в регистре 25 исполнительного адреса, так и с группы адресных входов 45 процессора в случаях разрешения внешнего доступа к оперативной памяти.

Команды программы вычислений используются в форматах "регистр-регистр" и "регистр-память". Адреса операндов 92 регистров общего назначения операционного блока 9 (фиг. 7) формируются блоком 4 формирования исполнительного адреса(фиг.1 ).

1070557

При выполнении команд формата

"регистр-регистр" (RR) адрес первого операнда заносится в регистр 22, второго — в регистр 23. Коммутаторы

12 и. 13 и блоки элементов И 32 и

И 33 предназначены для динамического управления изменением командного слова. Структура их связей позволяет маскировать поля первого или второго операндов командного слова, а также производить рокировку полей. .Это дает возможность осуществлять обнуление регистров в блоке 92 регистров общего назначения (фиг. 7) .в процессе или при завершении выполнеьия длинной команды (деления, умножения и др.), используя только аппаратно-микропрограммные средства

:без считывания из блока 1 памяти команд, специально предназначенные для выполнения обнуления регистров

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

22 и 23 микрокомандами микропрограммы выполнения длинной команды с обнулением регистров 92. Причем после соответствующей микропрограммной коммутации полей микропрограммно Bk полняется операцкя вычитания, после чего длинная .операция может продолжаться или завершаться. При выполнении команд формата "регистр-память". (R Х) в блок 9 передается только адрес, содержащийся в регистре 22, задающий адрес первого операнда.. Содержимое регистра 23 для операционного блока 9 безразлично.

Формирователь 5 микроопераций (фиг. 2 ) предназначен для управления. и координации работы всех элементов и узлов процессора. С выхода

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

Микрооперации, поступающие со втопС>й группы управляющих выходов

51, осуществляют выдачу сигналов на синхровход или счетный вход соответствующего счетчика 27 индекса в блоке 6 с целью записи в него значения индекса с выхода блока 1 памяти команд или увеличения его значения на единицу.

Кодом с выхода 52 производится управление коммутатором 14 индексов (фиг. 4). При этом в зависимости от значения сигналов микроопераций, поступающих на вход дешифратора 84, с выхода 52 формирователя 5 может осуществляться передача константы с выхода 19 (фиг. 1) в регистр 26 приращений, либо передача с выхода блока 1 кодов глубины циклов соответствующих счетчиков 29, начальных адресов подпрограмм в счетчик 28

5 команд, либо передача кодов в регистры 25,и 26, либо передача значения индексов (приращений шага индексации) в регистр 26 приращений.

Микрооперации, поступающие с выходов третьей группы управляющих вы(0 ходов, осуществляют следующие действия: с выхода 53 синхронизируют запись в регистры 22 и 23 адресации операндов по окончании выполнения текущей команды и выборке следующей,. (5 с выхода 54 (55! разрешается подстановка значения адреса второго (первого ) операнда вместо первого (второго ), с выхода 56 (57) запрещается подача значения первого (второго) операнда через блок элементов И 32 (33) в операционный блок 9,,что соответствует адресации регистра общего назначения с нулевым адресом, позволяя использовать его в качестве рабочего регистра.

Микрооперации с первой группы управляющих выходов 58 осуществляют синхронизацию записи информации в соответствующий счетчик 28 (29) блока 7, либо увеличивают значение кода счетчика 28 (29) на единицу.

Микрооперации с выходов четвертой группы управляющих выходов осуществляют следующие действия: с выхода

59 разрешается передача информации в блок 3 оперативной памяти из операционного блока 9 через коммутатор

18 данных (фиг. 3), с выхода 60 выдается сигнал разрешения внутренней записи в блок 3 оперативной памяти

40 из операционного блока 9, поступающий через коммутатор 17 в блок 3 оперативной памяти, с выхода 61 разрешается внутреннее чтение информации из блока 3 памяти. С группы вы45 ходов 62 код реализуемой операции передается на операционный блок 9 (фкг. 7) .

Микрооперации с выходов пятой группы управляющих выходов выполня50 ют сйедующие действия: с выхода

63 (64) разрешается запись в регистр

25 исполнительного адреса (регистр

26 приращения ), с выхода 65 — передача из сумматора 30 или с выхода коммутатора 14 в регистр 25 через коммутатор 16 в зависимости от отсутствия или наличия сигнала на выходе 65..

Микрооперация с выхода 66 являет60 ся сигналом разрешения доступа к оперативной памяти извне. Этот сигнал через выход 47 выдается во внешние устройства, а также разрешает задание адреса обращения к блоку 3

65 с группы адресных входов 45 процес1070557

30 сора, блокирует задание. адреса данных с регистра 25, разрешает прохождение сигналов внешней записи и внешнего чтения через коммутатор 17 и осуществляет коммутацию шины внут- 5 ренних данных с шиной внешних данных в коммутаторе 18.

С группы выходов 68 в мультиплексор 10 поступает код проверяемых логических условий {признаки переполнения счетчиков 29 и сигналы логических условий операционного блока 9).

С выхода 49 блока 5 выдается сигнал прерывания в случае появления в микропрограмме незадействованных ошибочных ) кодов номеров счетчиков в блоках 27 и 29, а также неверном задании номера регистра в блоке 8.

Блок 6 счетчиков 27 индексов предназначен для задания значений индек- 20 сов в режимах индексной адресации данных. Начальные значения индексов хранятся в блоке 1 памяти к поступают в блок 6 через шину 38 команд.

-Блок 7 предназначен для задания 25 адреса команды в счетчике 28, а также значений счетчиков циклов в счетчиках 29, информация в которые поступают из блока 1 через коммутатор

14.

Блок 8 формирования исполнительного адреса оперативной памяти предназначен для аппаратно-микропрограм-. мной реализации всех режимов адресации данных в процессоре для команд форматов РХ.

Операционный блок 9 (фиг. 7) пред. назначен для выполнения обработки данных и может быть построен по типовой схеме, нацример на микРо- 40 процессорах 1804ВС1.

Арифметико-логический блок 90 осуществляет выполнение арифметических и логических операций. Блок 91 местного, управления координирует работу всех узлов блока 9. Блок 92 45 регистров содержит регистры общего назначения. Мультиплексоры 94 .— 97 предназначены для управления направлениями передачи и сдвигами информации в процессе обработки ее блоком

9. Блок 98 элементов И предназначен для подключения выхода арифметикологического блока 90 к группе информационных входов-выходов данных блока 9. 55

Мультиплексор 10 логических условий (фиг. 6 ) предназначен для проверки логических условий, поступающих на его вход с выходов операционного блока 9 и счетчиков 29 цик- 60 лов.

Номер проверяемого логического условия задается кодом, поступающим с выхода 68 формирователя 5 на вход дешифратора 89. 65

Алгоритм работы мультиплексора описывается выражением где — выходной сигнал мультиплек-. сора 10р

Е; — признак .i-ro условия, подлежащего проверке; х; — значение i-го условия.

Коммутатор 11 адреса микрокоманд предназначен для управления приемом адреса очередной микрокоманды с выхода блока 1 памяти команд через шину 38 команд, задавая тем самым адрес первой микрокоманды микропрограммы при наличии сигнала конца предыдущей команды с выхода 50 формирователя 5, либо с выхода блока 2 памяти микропрограммы при отсутствии сигнала на выходе 50 формирователя

5.

Коммутатор 14 индексов (фиг. 4) предназначен для управления передачей информации. С группы входов 19 констант на вторую группу входов коммутатора 14 поступает код константы. С выхода блока 1 памяти на первую группу входов. коммутатора 14 поступает код адреса команды для записи в счетчике 28 команд, либо код числа циклов для записи в счетчики

29 циклов, либо код значения приращения индекса для записи в регистр

26 приращения. С выхода блока счетчиков 27 индексов на третью группу коммутатрра 14 поступает значение кода индекса для записи в регистр

26 приращения.

Селекция информации в коммутаторе

14 осуществляется выходными сигна-, лами дешифратора 84„ который управляется кодом с выхода 52 формирователя 5.

При отсутствии сигналов на выходе дешифратора 84 выходным сигналом элемента ИЛИ-НЕ 85 разрешается передача информации с выхода шины 38 команд.

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

Коммутатор 15 адреса, оперативной памяти предназначен для управления передачей адреса в блок 3 оперативного запоминающего устройства либо с регистра 25 исполнительного адреса при отсутствии сигнала разреше\

1070557

22

21 ния внешнего доступа к оперативной памяти на выходе 66 формирователя 5, либо с группы входов 45 процессора, куда он поступает от внешнего устройства при условии разрешения внешнего доступа к блоку 3.

Коммутатор 16 исполнительного адреса предназначен для управления передачей исполнительного адреса в регистр 25 исполнительного адреса.

При этом адрес передается с выходов сумматора 30 при отсутствии сигнала на выходе 65 блока 5 или в противном случае с выхода. коммутатора 14 индексов.

Коммутатор 17 (фиг. 5) предназначен для коммутации сигналов управления (записи, считывания ) режимами работы блока 3 оперативного запоминающего устройства.

Коммутатор 18 данных (фиг. 3) предназначен для управления переда чей информации между блоком 3, операционным блоком 9 и шиной 40 внешних . данйых. Связи между этими тремя блоками устанавливаются путем соответствующего соединения между собой групп входов-выходов блока 80 элементов И внутренних данных, блока 81 элементов И внешних данных и блока 82 элементов И. Формирование линий связи осуществляется с помощью коммутатора 78 и блоков 80 — 82 элементов И. При отсутствии сигнала на входе 66 коммутатор 78 передает данные с группы входов-выходов блока

80 на информационный вход коммутатора 8, в противном случае — с группами входов-выходов блока 81. При нали. чии сигнала на выходе 59 коммутатора 18 передача информации разрешается на выход блока 80 (выходы блока

82 закрыты ), а при его отсутствии на выход блока 82 (выходы блока 80 закрыты ). Передача информации на выход блока 81 производится только при наличии сигнала на входе 45 коммутатора 18 данных.

Блок 20 пуска-останова предназначен для включения генератора 21 тактовых испульсов по сигналу "Пуск", который поступает на вход 43 процессора. Останов генератора 21 осуществляется по сигналу конца работы, который формируется на выходе 67 формирователя 5.

Генератор 21 тактовых импульсОв выдает тактов4е импульсы на выходах !

69 и 70 с постоянной частотой и смещением по фазе.

Сумматор 30 предназначен для сложения кодов, заданных в регистре 6

25 исполнительного адреса и регистре 26 приращения.

Элемент ИЛИ 36 предназначен для модификации адреса очередной микрокоманды в соответствии с результа1 тами проверки логического условий мультиплексором 10.

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

В первом режиме триггер 31 пуска выключен и генератор 21 тактовых импульсов не выдает тактовых импульсов, а выход блока 1 памяти команд заблокирован.

По сигналу с управляющего входа

42 открывается блок 37 элементов 4 и с группы входов 44 адрес первой команды программы через шину ЗВ команд и коммутатор 14 записывается в счетчик 28 команд, запись в. который

20 осуществляется также импульсом со входа 42, поступающим на синхровход счетчика 28 команд через элемент

ИЛИ 35. После этого процессор готов к началу работы во втором режиме, в

25 котором сигналы на управляющем входе 42 процессора отсутствуют и не вырабатываются в дальнейшем.

Во втором основном режиме работы процессора выполняется обработка данных. Исходным состоянием для него является задание в счетчике 28 адреса первой команды программы. Все остальные элементы памяти находятся в исходном состоянии, при котором на выходе 50 формирователя 5 присутствует сигнал, а остальные микрооперации отсутствуют, что соответствует выполнению холостого цикла в течение первого машинного цикла.

По сигналу пуска со входа 43 вклю. чается триггер 31 пуска и запускается генератор 21, формирующий тактовую сетку синхронизации работы процессора.

Иэ блока 1 памяти команд по первому тактовому импульсу с выхода 69 генератора 21 считанная команда (код операции команды ) записывается в регистр 24 и адресует первую микрокоманду в блоке 2 памяти микрокоманд.

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

Далее выполнение команды зависит от ее формата.

Для команд формата RR сигналом с выхода 53 формирователя 5 производится запись значений Р1 и Р2 в регистры 22 и 23 соответственно.

Так как сигналы на выходах 54 — 57 формирователя 5 отсутствуют, то со- держимое регистров 22 и 23 передает24

1070557

55 ся на вход адресации регистров общего назначения фиг. 7 операционного блока 9 беэ изменения.

Первая микрокоманда микропрограммы выполнения команды на группе выходов 62 формирователя 5 задает код

5 реализуемой операции, который поступает в операционный блок 9 °

В зависимости от характера выполняемэй операции в счетчики 29 блока 7 может заноситься информация о кратности реализуемых циклов. В этом случае по адресу, заданному в счетчике 28, считывается информация из блока 1 памяти, которая через шину 38 команд и коммутатор 14 заносится в соответствующий счетчик 29.

Управление осуществляется микрооперациями с групп выходов 52 и 58 формирователя 5.

При считывании информации из бло- 20 ка 1 памяти содержимое счетчика 28 команд продвигается путем подачи сигналов на его счетный вход с соответ- ствующего выхода группы выходов 58 формирователя 5. 25

Рассмотрим режимы формирования исполнительного адреса для команд формата R Õ.

В этом случае работа процессора аналогична описанному, но на вход 30 операционного блока 9 передается содержимое Р1, хранящееся в регистре

22. Содержимое регистра 23 в блоке

9 не воспринимается, что определяется кодом операции, эадавадмым с группы выходов 62 формирователя 5.

Формирование исполнительного адреса второго операнда происходит следующим образом.

При выполнении команд формата

RX1 адрес второго операнда задается в формате команды в виде смещения

3, значение которого (фиг. 9) через коммутаторы 14 и 16 записывается в регистр 25 исполнительного адреса и через коммутатор 15 выдается 45 на адресный вход блока 3. Это осуществляется .сигналом на выходе 63 формирователя 5 (запись в регистре

25) при отсутствии сигналов на выходе дешифратора 84 (фиг. 4 ) и на 50 выходах 65 и 68 формирователя 5. По этому адресу в следующей микрокоманде осуществляют чтение или запись в блок 3 оперативного запоминающего устройства.

В режимах адресации с.индексацией происходит запись значения смещения иэ блока 1 памяти в регистр 25 исполнительного адреса аналогично описанному для режима прямой адреса- 60 ции, а формирование исполнительного адреса второго операнда указано выше при оп исании режимов R Х.

Перед реализацией режимов адресации данных с индексацией (типц RX2РХ3 ) производится предварительное занесение значения индекса в один иэ счетчиков 27 индекса, а значение глубины цикла (дополнение ) — в счетчик 29. При этом адрес индекса или дополнения сетчика циклов до количества слов, обрабатываемых в массиве, в блоке 1 памяти задается счетчиком 28. По сигналам микрооперации с соответствующей группы выходов 51 разрешается запись значения индекса в нужный счетчик 27 индекса, а дополнения счетчика циклов — в счетчик 29 циклов при выполнении команд загрузки счетчиков 27 и 29. По следующим микрокомандам реализуется один из возможных режимов адресации с индексацией.

В режиме РХЗ по следующей микрокоманде производится перезапись значения индекса из соответствующего счетчика 27 через коммутатор 14 в регистр 26 приращения. Управление осуществляется сигналами микроопераций с группы выходов 52 и с выхода

64 формирователя 5.

В следующей микрокоманде по микрооперации с выхода 63 формирователя 5 осуществляется запись в регистр 25 значения исполнительного адреса, равного сумме индекса и смещения, с выхода сумматора 30 через коммутатор 16.

В режиме RX2 адресации с индексацией и продвижением индекса необходимо осуществлять параллельно с выдачей исполнительного адреса числа увеличение значения индекса на единицу. В данном режиме формирование исполнительного адреса числа осуществляется аналогично режиму адресации с индексацией без продвижения индекса за исключением того, что в цикле записи исполнительного адреса с выхода сумматора 30 через коммутатор 16 в регистр 25,;по микрооперации с соответствующего выхода группы выходов 51 формирователя 5 производится увеличение значения нужного счетчика 27 индексов и счетчика 29 циклов на единицу, причем на мультиплексоре 10 логических условий производится проверка счетчика 29 циклов, адрес микрокоманды модифицируется и производится выход из микропрограммы.

При выполнении адресации с индексацией с постоянным шагом RX4 исполнительный адрес первого числа формируется аналогично описанному для режима прямой адресации (фиг.11).

Значение величины шага по адресу, заданному в счетчике 28, считывается из блока 1 памяти и записывается через коммутатор 14, управляемый сигналом с соответствующего выхода группы выходов 52 формирователя 5, 26

1070557

25 н регистр 26 приращения по сигналу с выхода 64 формирователя 5.

По очередной микрокоманде формируется второй исполнительный адрес массива на основе сложения содержимых регистров 25 и 26 на сумматоре

30 с последующей записью н регистр

25 исполнительного адреса.

Аналогично второму формируются и последующие исполнительные адреса, при этом аналогично режимам ЙХ2 и

РХЗ производится проверка услония переполнения )-го счетчика 29 циклов указывающего на окончание обработки массива чисел.

В режиме адресации с переменным шагом(РХ5) формирование первого и второго исполнительных адресов осу ществляется аналогично описанному для режима индексной адресации с постоянным шагом.

Для формирования адреса третьего и последующих чисел осуществляется считывание по даресу, заданному н счетчике 28, из блока 1 памяти значения приращения для данного числа и запись его в регистр 26 индекса, что на фиг. 12 показано с перенесением блока загрузки Ь, в регистр

26 после блока проверки условия переполнения счетчика 29. По следующей микрокоманде происходит сложение на сумматоре 30 содержимого регистров

25 и 26 и запись сформированного таким образом исполнительного адреса в регистр 25.

После сформирования исполнительного адреса второго операнда операционный блок 9 может приступить к выполнению операции.

Для выполнения операции, связанных со считыванием из блока 3 оперативного запоминающего устройства содержание этого блока по адресу, .заданному в регистре 25, считывается через коммутатор 18 данных на информационную шину 41. После этого операционный блок 9 выполняет соответствующую операцию. При выполнении операций, связанных с записью данных в блок памяти, содержимое регистра 25 определяет адрес, по которому производится запись данных в блок 3 оперативного запоминающего устройства.

Управление внутренней передачей данных между блоком 3 и операционным блоком 9 осуществляют микрооперации

Таким образом, предлагаемый микропрограммный процессор обладает широкими функциональными возможностями благодаря широкому набору режимов адресации, позволяющих обрабатывать большие массивы данных с более нысокой производительностью, чем в известном устройстве. с выходов 60 (внутренняя запись в блок 3), 61 (внутреннее чтение иэ блока 3), 59 (управление записью) формирователя 5 микроопераций °

При выполнении некоторых опера" ций в течение нескольких тактов работа может осуществляться операционным блоком 9 без обращения к блоку

3. С началом такого режима с выхода 66 формирователя 5 выдается сиг10 нал микрооперации, разрешающий внешний доступ к блоку 3 оперативного запоминающего устройства, определяя третий режим работы процессора.

Этот сигнал поступает на выход (5 47 процессора и передается, например в процессор высшего уровня управления, а также на входы коммутаторов

15, 17 и 18. При этом коммутатор 15 пропускает адрес обращения к блоку 3

20 с группы входов 45 процессора, коммутатора 17 н зависимости от сигналон (записи или чтения ) поступающих с управляющих разрядов группы входов 45 (фиг. 5 ), выдает н блок 3 сигнал записи или чтения, а коммутатор 18 формирует такт снязи через внутренние ЗЭ и внешние 40 шины дан, ных, тем самым соединяя группу входов-выходов 46 внешних данных процессора через шину 39 внутренних данных с группой входов-выходов блока 3.

По окончании такого режима естественного ожидания процессора сигнал с выхода бб формирователя 5 снимается и процессор продолжает работать аналогично описанному.

В последней микрокоманде команды, выполняемой процессором программы, с выхода 67 формирователя 5 выдается

40 сигнал микрооперации окончания работы, который с выхода 48 процессора передается, например, в процессор высшего уровня управления и через элемент И 34 устанавливает триггер

45 31 в нулевое состояние, что приводит к отключению генератора 21 и прекращению работы процессора в целом.

1070557

1070557

1070557

1070557

1070557

1070557

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

Редактор Т.Мермелштейн Техред Т.Фанта Корректор В. Бутягин

Заказ 11683/46 Тираж 699 Подписное

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

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

Филиал ППП "Патент", г. Ужгород, ул. Проектная, 4

Микропрограммный процессор Микропрограммный процессор Микропрограммный процессор Микропрограммный процессор Микропрограммный процессор Микропрограммный процессор Микропрограммный процессор Микропрограммный процессор Микропрограммный процессор Микропрограммный процессор Микропрограммный процессор Микропрограммный процессор Микропрограммный процессор Микропрограммный процессор Микропрограммный процессор Микропрограммный процессор Микропрограммный процессор Микропрограммный процессор Микропрограммный процессор Микропрограммный процессор Микропрограммный процессор 

 

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

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

Изобретение относится к вычислительной технике и может быть использовано в электронной цифровой вычислительной машине

Изобретение относится к вычислительной технике и может быть использовано в электронной цифровой вычислительной машине

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

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

Изобретение относится к электронным играм

Микроэвм // 2108619
Изобретение относится к области микропроцессорной техники, в частности, может применяться для реализации обмена информацией

Изобретение относится к системам передачи стоимости товара при безналичных операциях
Наверх