Процессор с совмещением операций

 

1. ПРОЦЕССОР С СОВМЕЩЕНИЕМ ОПЕРАЦИЙ, содержащий блок основной памяти, регистр команд, счетчик .команд, коммутатор команд, три буферных регистра, регистр форматного кода, первьй блок регистров, блок местной памяти операндов, арифметический блок, два блока сравнения, регистр адреса базы-индекса, блок местной памяти базы-индекса, селектор-мультиплексор базы-индекса, регистр базы-индекса, коммутатор индекса , коммутатор смещения, сумматор адреса, блок модификации адреса микрокоманды , первый блок памяти микрокоманд , первый регистр микрокоманды , регистр адреса микрокоманды, второй блок памяти микрокоманд, второй регистр микрокоманды, регистры первого и второго адреса, счетчик адреса команды, счетчик продвижения адреса и коммутатор адреса, первьй, второй, третий и четвертьй входы данных, первый и второй управляющие входы и выход которого соединены соответственно с выходами счетчика продвижения адреса, регистра первого адреса, регистра второго адреса. счетчика адреса, первыми выходами первого и второго регистров микрокоманды и адресным входом блока основной памяти, вход данных, первый и второй управляющие входы и выход которого подключены соответственно к выходу данных арифметического блока, первым выходам первого и второго регистров микрокоманды и. входу данных регистра команд, синхровход и выход регистра команд соединены соответственно с первым выходом первого регистра микрокоманды и входом данных коммутатора команд , управляющий вход и выход которого подключены соответственно к выходу счетчика команд и входу (Л данных первого буферного регистра, выход первого буферного регистра соединен с входами данных второго буферного регистра и регистра форматного кода и первыми входами данных регистра адреса базы-индекса, селектора-мультиплексора , базы-индекса и Коммутатора смещения, вход дан X ных и выход третьего буферного регистра подключены соответственно к выходу второго буферного регисто :л ра и входу данных первого блока регистров , синхровходы счетчика команд , регистра форматного кода, первого , второго и третьего буферных регистров соединены с первым выходом первого регистра микрокоманды, а выход первого блока регистров подключен к первым входам данных первого блока сравнения, блока местной памяти базы-индекса и блока местной памяти операндов, первый и второй входы данных и выход адреса записи

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

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

PECllYEillHH (19) (11) 4(51) G 06 Р 15/00

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

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

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

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3500748/18-24 (22) 15. 10 .82

М (46) 07.02,85.Вюл. ¹ 5 (72) А.А.Елисеев, В.И.Мацуев, А.Н.Петушков и Т.И.Роговская (53) 68 1. 325(088.8) (56) 1. Патент Великобритании № 1107429, кл. G 4 А, опублик. 1969.

2. Патент CEA № 3651476, кл. 340172.5, опублик. 1972, 3. Патент Великобритании ¹1582815, кл. С 4 А, опублик. 1981 (прототип). (54) (57) i . ПРОЦЕССОР С СОВМЕЩЕНИEN ОПЕРАЦИЙ, содержащий блок основной памяти, регистр команд, счетчик команд, коммутатор команд, три буферных регистра, регистр форматного кода, первый блок регистров, блок местной памяти операндов, арифметический блок, два блока сравнения, регистр адреса базы-индекса, блок местной памяти базы-индекса, селектор-мультиплексор базы †индек, регистр базы-индекса, коммутатор индекса, коммутатор смещения, сумматор адреса, блок модификации адреса микрокоманды, первый блок памяти микрокоманд, первый регистр микрокоманды, регистр адреса микрокоманды, второй блок памяти микрокоманд, второй регистр микрокоманды, регистры первого и второго адреса, счетчик адреса команды, счетчик продвижения адреса и коммутатор адреса, первый, второй, третий и четвертый входы данных, первый и второй управляющие входы и выход которого соединены соответственно с выходами счетчика продвижения адреса, регистра первого адреса, регистра второго адреса, счетчика адреса, первыми выходами первого и второго регистров микрокоманды и адресным входом блока основной памяти, вход данных, первый и второй управляющие входы и выход которого подключены соответственно к выходу данных арифметического блока, первым выходам первого и второго регистров микрокоманды и входу данных регистра команд, синхровход и выход регистра команд соединены соответственно с первым выходом первого регистра микрокоманды и входом данных коммутатора команд, управляющий вход и выход которого подключены соответственно к выходу счетчика команд и входу данных первого буферного регистра, выход первого буферного регистра соединен с входами данных второго буферного регистра и регистра форматного кода и первыми входами данных регистра адреса базы-индекса, селектора-мультиплексора, базы-индекса и коммутатора смещения, вход данных и выход третьего буферного регистра подключены соответственно к выходу второго буферного регистра и входу данных первого блока регистров, синхровходы счетчика команд, регистра форматного кода, первого, второго и третьего буферных регистров соединены с первым выходом первого регистра микрокоманды, а выход первого блока регистров подключен к первым входам данных первого блока сравнения, блока местной памяти базы-индекса и блока местной памяти операндов, первый и второй входы данных и выход адреса записи

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

B T opbIYi ВхОдами д ян нъ|х c ììBT o ç ÿ адреса, выход которого подключен к входам данных рег::.стров первого и второго адреса и установочному входу счетчика адреса командь ., третий вход данных коммутатора индекса соединен с выходом адреса записи арифметического блока, а управляющий вход коммутатора смещения подключен к первому выходу первого регистра микрокоманды, первый адресный вход, первый, ВТОрой и третий упвявляющие вхОды и выход блока модификации адреса микрокоманды соединены соответственно с выходом регистра форматного кода, пер— вым и вторым выходами rrepooI.o регистра микрокоманды, первым выходом второго регистра микрокомяпды и адресным ВхОдом первОГo Ьлокя пя мяти микрокоманд, выход которого подключен к входу данных первого регистра микрокоманды, первый -,,. Bторой входы данных и выход регистра адреса микрокоманды соединены соответственно с выходом третьего буферного регистра, вторым выходом второго ре38805 гистра микрокоманды и адресным вхоцом второго блока памяти микрокоманд, выход которого подключен к входу данных второго регистра микрокоманды, управляющий вход,. первый и второй входы данных второго блока сравнения соединены с выходами соответственно счетчика продвижения адреса, регистра первого адреса и счетчика ад— реса команды, второй вход данных регистра первого адреса подключен к выходу регистра второго адреса, установочный вхоп счетчика продвиже— ния адреса соединен с выходом счетчика адреса команды. а синхровходы с-Iåò÷èêîâ адреса команды и продвиже— ния адреса и регистров первого и второго адреса подключены к первому выходу первого регистра микрокоманды, отличающийся тем, что, с целью повышения производительности, он содержит второй блок регистров, блок триггеров, мульти— плексный регистр кода коррекции коммутатор адреса коррекции, регистр смещения и два шифратора адрес=, r ри этом первььй и второй BxopbI H выход первого шифратора адреса соединены соответственно с первым выходом .-:ервого регистра микрокоманды. Вьходом мультиплексного регистра кода коррекции и управляющим входом коммутатора индекса, управляющий вход и вход данных коммутатора адре— ся коррекции подключены соответ-. ственно к первому выходу первого регистра микрокомянды и Выходу мультиплексного регистра. кода коррекции, первый выход коммутатора адреса кор-рекции соединеп с синхровходами первого блока регистров и регис .-a адреса микрокоманды, а второй выход коммута-ора адреса коррекции подключен к BToðoìó адресному входу блока модификации адреса микрокоманды, первому входу данных мультиплс ксного регистра кода коррекции и первому скнхровходу регистра смещения, второй синхровход, вход данных и выход которого соединены соответственно с первым выходом первого регистра микрокоманды, вь1ходом псрвого буферного регистра и третьим входом данных коммутатора смещения, первый и второй входы второго шифратора адреса подключены соответственно к выходу мультиплексного регистра кода коррекции и первому

1 138805 та И соединены с первым выходом коммутатора, выход третьего элемента

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

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

4. Процессор по п.1, о т л и ч аю шийся тем, что, второй шифратор .адреса содержит два сумматора по модулю два, дешифратор, элемент ИЛИ и элемент НЕ, вход и выход которого соединены соответственно с выходом элемента ИЛИ и выходом дешифратора, первые и вторые входы обоих сумматоров по модулю два подключены соответственно к первому и второму входам шифратора, выходы обоих сумматоров по модулю два соединены с входом дешифратора и выходом шифратора, первый и второй входы элемента ИЛИ подключены соответственно к второму входу шифратора и первому выходу дешифратора, другие выходы которого соединены с выходом шифратора.

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

При выполнении загрузки информации в локальную память операндов или записи в основную память и при необходимости одновременного вылолнения считывания из той или иной другой памяти на вход арифметического блока поступает адрес ячейки, в которую производится загрузка, или запись сравнивается с адресом считываемой ячейки в блоке компараторов или в узле сравнения соответственно. При сравнении адресов вместо считывания адресованной ячейки на вход арифметического блока передается записываемая информация (1J и Я, За счет такой передачи обеспеч.»вается некоторое повышение быстродействия процессора, однако оно является незначительным из-за низкой степени совмещения операций в 25 данных процессорах, т.е. низкой вероятности возникновения конфликтной ситуации по одновременному считыванию †запи одной и той же ячейки (коммутация записываемых данных вместо считываемых выполняется редко). Кроме того недостатком данных процессоров чвляется функциональная ограниченность технического решения, поскольку оно эффективнс только при одновременности выполнения операций считывания и записи — более или менее значительное фактическое запаздывание операции записи относительно алгоритмически последующих

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

{отмена совмещений).

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

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

Такое повторение выполняется в известном процессоре в режиме от— мены совмещений и требует длительных действий IIQ выполнению блока обработ—

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

Цель изобретения — повышение быстродействия процессора. указанная цель достигается тем, что процессор с совмещением операций, содержащий блок основной памяти, регистр коь анд, счетчик команд, коммутатор команд, три буферньгх регистра, регистр форматного кода, первый блок регистров, блок местной памяти опе".:андов,. арифметический блок, два олока сравнения, регистр адреса базы-индекса, блок местной памяти базы-индекса, селектор-мультиплексор базы-индекса, регистр базы-индек."а, коммутатор индекса, коммутатор смещения, сумматор адреса, блок модификации адреса микрокоманды, первый блок памяти микрокоманд, первый регистр миквокоманды, регистр адреса микрокоманды, второи блок памяти микрокоманд, второй регистр микрокоманды, регистры первого и второго адреса счетчик адреса команды, счетчик продвижения адреса и коммутатор адреса „ первый, второй, третий и четf 138805

25 вертый входы данных, первый и второй управляющие входы и выход которого соединены соответственно с выходами счетчика продвижения адреса, регистра первого адреса, регистра 5 второго адреса, счетчика адреса, первыми выходами первого и второго регистров микрокоманды и адресным входом блока основной памяти, вход данных, первый и второй управляющие 10 входы и выход которого подключены соответственно к выходу данных арифметического блока, первым выходам первого и второго регистров микрокоманды и входу данных регистра ко- 15 манд, синхровход и выход регистра команд соединены соответственно с первым выходом первого регистра микрокоманды и входом данных коммутатора команд, управляющий вход и выход 20 которого подключены соответственно к выходу счетчика команд и входу данных первого буферного регистра, выход первого буферного регистра соединен с входами данных второго буферного регистра и регистра форматного кода и первыми входами данных регистра адреса базы-индек-! са, селектора-мультиплексора, базыиндекса и коммутатора смещения, вход данных и выход третьего буферного регистра подключены соответственно к выходу второго буферного регистра и входу данных первого блока регистров, синхровходы счетчика команд, 35 регистра форматного кода, первого, второго и третьего буферных регистров соединены с первым выходом первого регистра микрокоманды, а выход первого блока регистров подключен 40 к первым входам данных первого блока сравнения, блока местной памяти базы-индекса и блока местной памяти операндов, первый и второй входы данных и выход адреса записи ариф-. 45 метического блока соединены соответI ственно с выходом блока оперативной памяти, выходом и вторым входом данных блока местной памяти операндов, а вход управления обращением . блока местной памяти операндов и вход кода операции арифметического блока подключены к первому выходу второго регистра микрокоманды, выход регистра адреса базы-индекса соединен с55 вторым входом данных первого блока сравнения и адресным входом блока местной памяти базы-индекса, вход управления обраще нием, второй вход данных и выход которого подключены соответственно к первому выходу второго регистра микрокоманды, выходу адреса записи арифметического блока и входу данных регистра базы-индекса, выход и синхровход.которого соединены соответственно с первым вхоцом данных коммутатора индекса и выходом селектора-мультиплексора базы-индекса, второй вход данных которого подключен к выходу регистра форматного кода, вторые входы данных коммутаторов индекса и смещения подключены к выходам регистров первого и второго адреса и выхо= ду счетчика адреса команды, а выходы коммутаторов индекса и смещения соединены соответственно с первым и вторым входами данных сумматора адреса, выход которого подключен к входам данных регистров первого и, второго адреса и установочному входу счетчика адреса команды, третий вход данных коммутатора индекса соединен с выходом адреса записи арифметического блока, а управляющий вход коммутатора смещения подключен к первому выходу первого регистра микрокоманды, первый адресный вход, первый, второй и третий управляющие входы и выход блока модификации адреса соединены соответственно с выходом

I регистра форматного кода, первым и вторым выходами первого регистра микрокоманды, первым выходом второго регистра микрокоманды и адресным входом первого блока памяти микрокоманд, выход которого подключен к входу данных первого регистра микрокоманды, первый и второй входы данных и выход регистра адреса микрокоманды соединены соответственно с выходом третьего буферного регистра, вторым выходом второго регистра микрокоманды и адресным входом второго блока памяти микрокоманд, выход которого подключен к входу данных второго регистра микрокоманды, управляющий вход, первый и второй входы данных второго блока сравнения соединены с выходами соответственно счетчика продвижения адреса, регистра первого адреса и счетчика адреса команды, второй вход данных регистра первого адреса подключен к выходу регистра второго адреса, установочный вход счетчика продвижения адреса соединен с выходом счетчика адреса команды, а. Синхравходы счетчиков адреса команды: продви1138805 8 типлексар"; базы-индекса, а синхронход, второ", третий, четвертый и пятый входы данных мультиплексножения адреса и регистров первого и второго адреса подключены к первому выходу первого регистра микрокоманды, cop!rржит второ 1 блок регистров, блок триггеров, мульти»я;к.;bM регистр кода коррекции, =.0."- ут. тор cl!— реса коррекции, регистр смеще»ия и два шифратора адреса, пp» 3TOBI r;ep вый и второй входы и а, ход «ер Ioi а шифратора адреса саед»не»ь1 соответственно с первым выходам первого ции и управляющим входом коммутатора индекса, упранляющии вход и в од да»ных коммутатора адреса коррекции -«дключены соответствен»а K первому

20 выходу первого регистра микракоманды и выходу мультиплексногo perèñTра кода коррекции,:-ергый выход коммутат«ра адреса коррекции саеди— нен с синхровходами первога блока рег1стран и регистра адреса микито†команд:л, .а второй ныхс,,-:. коммутатора

25 адреса коррекции подключен к второму адресному нхад блока модифика— ции адреса,, первому нхацу данных мульЗО ти.".лe c i! 0!.0 perèñ Tpà кода коррекции и первому синхровхаду регистра сме— щения, второй си;-гхровход, вход вЂ,а»в выход OT«p«»0 саеди»е»ы ае; с нe н»0 с пе рв -.. l Выхода. 1 -Ie pa or l!

0cгистра микроко I»i r!bi, abri.oä«M .. =р— нога буфер»ого регистра ч треч ьнм нхо— дом дан»ых коммутатора смеще»ия, первый и второй входы второго шифратора адреса подключены соответственно к выходу мультиплексного регистра кода коррекции и первому выходу первого

peгистра мик1эоксман, „ ы,, Быхад BTopoi"0 шифрато«а адреса соединен с третьим - х ДОм да»ных c . 1ектс1 с мультиллек

45 сора базы-индекса, первым нхадсм бл ка таиггерсв,. вторым входам данi»з1х регистра а реса базы индекса и парным входом второго б. ака pei- .-стран, второй вход,. псрный и второй

НЫХОДЫ КОТОРОГО ПОДКЛЮЧЕНЫ .СОТВЕТ ственно к выходу регистра адреса базы-индекса, управляющему входу первого блока сравнения и синхровходу ре— истра адреса базы-индекса, второй 55 вход и первый выход блока триггеров

=.0eqr»e»b! соотзет-"твенно с выходом и управляющим входом селектора-мульрегистра микрокоманды выходам муль—

1с типлекснаго регис Tpà код=; коррекга регистра кода коррекции подключены соответственна к первому выходу второго регистра микрокоманды, выхо— ду селектора-мультиплексора базыиндекса, зтарому выходу блока тригrepов и выхода I rlepaorа и второго блоков сран ения.

Кроме того„коммутатор адреса коррекции содержит дна элемента НЕ, четыре элемента И и три элемента ИЛИ, причем вход первого элемента HE coeдине» с входом данных коммутатора, а Bbixo» э гого элемент- НГ подключен к первь м входам первого и второго элементов И, вторые входы которых соединены с входом даннь|х коммута,ора, первые входы всех элементов HJIH подключены к выходу второго элемен— та И, вторые нходы первого и тре— тьего элементов ИЛИ соединены с входом данных коммутатора, а второй вход второго элемента ИЛИ и третий в:0;! треть го элемента И.IH подключе»ы . . нь.ходу первого элемента И, выходы перв эга и BTopàrî элементов

1 Л11 и третьего элеме»та И соединены с первым выходом коммутатора, выход третьего элемента ИЛИ подключен к первому входу третьего элемента И и входу второго элемента НЕ, выход че-.aepToro элемента И соединен с вторым выходом коммутатора, выход второго элемента НЕ подключен к первому входу четвертого элемента H,а. вторые входы

T-påTBår0 и четнертого элементов И соеди»ены с управляющим входом блока.

При этом первый шифратор адреса содержит два элемента ИЛИ, элемент НЕ и элемент И, первый и второй входы катарога соединены соответственно с .-.ервым входом шифратора и выходом элемента НЕ, входы и выход первого элемента ИЛИ подключены соответственно к второму входу шидзратopa и входу элемента HE,ïåðâûé и второй входы выход второго элемента ИЛИ соединены соответственно с выходом элемента И,.

BTopbm входом и выходом блока, Причем второй шифратор адреса с.сдержит два сумматора по модулю два, дешифратор, элемент И11И и эле1ент НЕ, вход и выход которого соеДИНЕНЫ СООТНЕТСТВЕННО С ЗЫХОДОМ ЭЛЕмента ИЛИ и выходом дешифратара, первые и вторые гхады обоих суммато1) 388 команд.

Процессор с совмещением операций содержит (фиг.1) блок 1 основной памяти, блок 2 обработки команд, арифров по модулю два подключены соот— ветственно к первому и второму входам шифратора, выходы обоих сумматоров по модулю два соединены с входом дешифратора и выходом шифратора, первый и второй входы элемента ИЛИ подключены соответственно к второму входу шифратора и первому выходу дешифратора, другие выходы которого соединены с выходом шифрато-10 ра.

Введение в процессор дополнительных блоков и узлов позволяет выде— лить уровень совмещения, на котором обнаружена конфликтная ситуация 15 по загрузке одной командной информации в я ейку базы или индекса, предварительно использованную для . формирования адреса операнда последующей команды (уровень искажения), и после выделения выполнить, без отмены совмещения, кратковременную операцию коррекции искажения, характер и длительность которой определяются только самим уровнем 25 искажения. В частности, коррекция может состоять из одного или нескольких тактов повторного вычисления адреса операнда, либо может выполняться автоматически, вообще без по- ЗО терь времени.

Введение мультиплексного регистра кода коррекции позволяет выделить уровень искажения и сформировать совокупность управляющих сиг35 налов коррекции, причем формирование управляющих сигналов выполняется заранее до фактического искажения (записи, загрузки).

Введение коммутатора адреса коррекции позволяет для каждой конкретной совокупности управляющих сигналов коррекции сформировать начальный адрес микрокрограммы, выполняющей соответствующую операцию коррекции, в результате чего выполняется микропрограмма с минимальным для выделенного уровня количеством микроВведение второго блока регистров 50 и блока триггеров позволяет сохранить адреса базовых и индексных ячеек, фактически использованных для формирования адресов операндов на разных уровнях совмещения, причем последовательность размещения сохраняемых адресов во втором блоке регистров позволяет выполнить операцию коррек05 1О ции единым образом, независимо от уровня искажения.

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

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

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

На фиг. 1 представлена блок — схема процессора с совмещением операций; на фиг.2 — схема мультиплексного регистра кода коррекции; на фиг.3 схема коммутатора адреса коррекции; на фиг.4 — схема второго блока регистров; на фиг.5 — схема блока триггеров; на фиг.б — схема первого шифратора адреса; на фиг.7 — схема второго шифратора адреса; на фиг.в— схема селектора-мультиплексора базыиндекса; на фиг.9 — схема блока модификации адреса микрокоманды; на фиг. 10 — схема второго блока сравнения; на фиг.11 — схема первого блока регистров; на фиг.12 схема арифметического блока; на фиг. 13 — временная диаграмма работы процессора на примере выполнения команд загрузки и записи; на фиг.14 алгоритм работы микропрограммы выборки на примере выполнения команд загрузки и записи1 на фиг.15 алгоритм работы микропрограммы обработки операндов.

11 1138805 12 метический блок 3, блок 4 местной которой выполняется памяти операндов, блок 5 регистров подается на адресный адреса, первый блок 6 регистров, основной памяти. блок 7 местной памяти базы-индекса, Выход б гока 1 осн сумматор 8 адреса, коммутатор 9 ин- 5 соединен с первым в декса, коммутатор 10 смещения, ре- ческого блока 3 и в гистр 11 бЙзы-индекса, первый блок 12 ки команд с информац памяти микрокоманд, первый регистр 13 данных регистра 28 к микрокоманды, блок 14 модификации Блок 2 обработки адреса микрокоманды, второй блок 15 10 чен для приема и про памяти микрокоманд, регистр 16 адреса выполняемых процессо микрокоманды,второй регистр 17 микроко- совмещения и состоит манды, селектор-мультиплексор 18 ба- команд, коммутатора зы-индекса, регистр 19 адреса базы- буферных регистров 3 индекса, мультиплексный регистр 20 команд и регистра 34 кода коррекции, коммутатор 21 адреса Регистр 28 команд пр коррекции, второй блок 22 регистров, приема и хранения во блок 23 триггеров, первый блок 24 информационного слов сравнения, первый шифратор 25 адре- команды первого уров са, второй шифратор 26 адреса, Выходы регистра 28 к регистр 27 смещения, регистр 28 ко- с соответствующими и манд, коммутатор 29 команд, три бу- входами данных комму ферных регистра 30-32, счетчик ЗЗ манд. Коммутатор 29 команд, регистр 34 форматного кода, начен для выбора из счетчики 35 адреса команды, счет- 2 инфоРмационного .слов чик 36 продвижения адреса, регист— байт выполняемой ком ры 37 и 38 первого и второго адре- ся на втором уровне са, коммутатор 39 адреса, второй мой на второй уровен блок 40 сравнения. ход коммутатора 29 к

Блок основной памяти 1 предназ- входом данных первог начен для хранения программы процес- регистра 30. Первый сора (команд и операндов для этих ные регистры 30 и 31 команд) и выполняет операции считы— два байта каждый пре вания команд и операндов или записи хранения команд втор результатов выпогнения команд, при— совмещения. На выход чем запись и считывание производятся . ного регистра 30 пос

35 восьмибайтовыми информационными жения команды на вто словами. Время считывания или запи- формируются разряды си (цикла) блока 1 основной памяти (старшая тетрада код

40 мени трех тактов процессора

55 является несущественным, для определенности положим его равным вреОперация записи в блок 1 основной памяти задается сигналом микрооперации "Запись" на управляющем входе блока 1 основной памяти, операция считывания задается по сигналу любой микрооперации поля "Память" на втором управляющем входе блока 1 основной памяти 1. При выполнении записи информация, подлежащая записи, подается на вход данных блока 1 основной памяти. При выполнении операции считывания считываемая информация формируется на выходе блока 1 основной памяти. Адрес ячейки блока 1 основной памяти, в которую производится запись или из считывание, вход блока 1 овной памяти ходом арифметиблоке 2 обработ— ионным входом оманд. команд предназнадвижения команд, ром по уровням из регистра 28

29 команд, Π— 32, счетчика 33 форматного кода. едназначен для сьмибайтового а, содержащего ня совмещения. оманд соединены нформационными татора 29 кокоманд предназвосьмибайтного а очередных двух анды, находящейили продвигаеь совмещения. Выоманд соединен с о буферного и второй буферразрядностью по дназначены для ого уровня е первого буферле первого поодвирой уровень форматного кода а операции} и разряды адреса индекса после второго или третьего продвижения на второй уровень — разряды смещения и адреса базы.

Выход первого буферного регистра 30 соединен с входами данных второго буферного регистра 31 и регистра 34 форматного кода и первыми входами данных коммутатора 10 смещения, селектора-мультиплексора 18 базы-индекса, регистра 19 адреса базы-индекса и регистра 27 смещения.

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

1138805 14 кода операции и адресов регистровых операндов для этой команды. Выход третьего буферного регистра 32 соединен с первым входом данных первого блока 6 регистров и с первым входом регистра 16 адреса микрокоманды. Двухразрядный счетчик 33 команд предназначен для указания места расположения в восьмибайтовом слове очередных двух байт команды, подлежащих продвижению на второй уровень-совмещения. Счетчик 33 команды загружается

I разрядами адреса команды и модифицируется на плюс единицу при каждом продвижении очередных двух байт. 15

Выход счетчика 33 команд соединен с управляющим входом коммутатора 29 команд. Регистр 34 форматного кода предназначен для хранения тетрады форматного кода команды второго уров- 20 ня совмещения и загружается после первого продвижения команды на второй уровень. Выход регистра 34 форматного кода соединен с вторым входом данных селектора-мультиплек- 25 сора 18 базы индекса и первым ад— ресным входом блока 14 модификации адреса микрокоманд.

Арифметический блок 3 предназначен для приема операндов, поданных на первый и второй входы, и их арифметической и логической обработки в соответствии с кодом функции на входе кода операции арифметического блока 3. Результаты обработки, под— лежащие записи в блок 1 основной памяти, или загрузка в блок 4 местной памяти операндов формируются, соответственно, на выходе данных и на выходе адреса записи арифметичес-, 40 кого блока 3.

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

В соответствии с кодом, поданным на вход кода операции арифметического блока 3, могут быть заданы следующие операции арифметического блока 3: формирование первого операнда (и, независимо, второго операнда) либо в соответствии с информацией, поданной из блока 1 оперативной памяти 1 на первый вход данных арифметического блока 3, либо в соответствии с результатом выполнения операции арифметического блока 3 в предыдущем такте процессора, либо в соответствии с операндом, поданным из блока 4 местной памяти one— рандов на второй вход данных арифме тического блока 3, выполнение одной из арифметическо-логических функций по обработке (сложение, вычитание, И, ИЛИ и т.д.) сформированных операндов, формирование информации, под лежащей записи в блок 1 основной памяти в соответствии с результатом выполнения операции арифметического блока 3 в текущем такте процессора.

Если арифметическому блоку 3 задано формирование информации, подлежащей записи, то эта информация запоминается в арифметическом блоке 3 и хранится до задания нового формирования.

Сформированный после приема иэ блока 1 основной памяти или блока 4 местной памяти операндов или по результату выполнения операции второй операнд выдается на выход адреса записи арифметического блока 3. Заполненная информация, подлежащая записи в блок 1 основной памяти, выдается на выход данных арифметического блока 3. Выход адреса записи арифметического блока 3 соединен с третьим входом данных коммутатора 9 индекса и вторыми входами данных .блока 4 местной памяти опе- . рандов и блока 7 местной памяти базы †индек. Выход данных арифме1 тического блока 3 подключен к входу данных блока 1 основной памяти.

Блок 4 местной памяти операндов предназначен для хранения операндов команд процессора и выполняет операции считывания или загрузки информации в зависимости от отсутствия или наличия сигнала загрузки на входе управления обращением. При отсутствии сигнала загрузки на входе управ15

1138805 ленин обращением выполняется считыва-, ние блока 4 местной памяти операндов по адресу считывания, поданному на первый вход данных, при этом считываемая информация формируется на выходе блока 4 местной памяти операндов. При нЯличии сигнала загрузки на входе управления обращением выполняется загрузка в блок 4 местной памяти операндов информации, подан- 1п ной на второй его вход данных, причем загрузка выполняется по ацресу записи, поданному на первыи вход данных блока 4 местной памяти операндов.

Такт загрузки или считывания блока 4 местной памяти операндов совпадает с тактом процессора, при этом может быть загружено или считано четырехбайтовое слово. Выход блока 4 местной памяти операндов соединен с вторым входом данных арифметического блока 3.

Блок 5 регистров адреса oîäåðжит трехбайтовые счетчик 35 адреса команды, счетчик 36 продвижения 25 адреса и регистры 37 и 38 первого и второго ацресов, кроме того, коммутатор 39 адреса и второй блок 40 сравнения.

Счетчик 35 адреса команды предназначен для хранения и модификации адреса команды третьего уровня сонме щения. Выход счетчика 35 адреса команды соединен с установочным входом счетчика 36 продвижения адреса, с вторым входом данных второго блока 40"" сравнения и с четвертым входом данных коммутатора 39 адреса, а также с входом данных счетчика 33 команд.

Счетчик 36 продвижения адреса предназначен для хранения и модификации адреса команд первого уровня совмещения. Выход счетчика 36 продвижения адреса соединен с первым входом данных коммутатора 39 адреса и с управляющим входом второго блока 40 сравнения. Регистры 37 и 38 первого и второго адресов предназначены для хранения вычисляемых и окончательно сформированных адресов операндов.

Для команд четвертого уровня, результат выполнения которых записывается в блок 1 основной памяти, адрес записи хранится в регистре 37 первого адреса. Выход регистра 37 перво- 5 го адреса соединен с вторым входом данных коммутатора 39 адреса и с первым входом данных второго блока 40 сравне ния. Выход регистра 38 второго, адреса соединен с вторым входом данных регистра 37 первого адреса и с третьим входом данных коммутатора 39 адреса. Выходы регистров 37 и 38 первого и второго адресов и выход счетчика 35 адреса команды, кроме того, соединены с вторыми входами данных коммутаторов 9 и 10 индекса и смещения. Коммутатор 39 адреса предназначен для выбора источника адреса блока 1 основной памяти, при этом при подаче кода соответствующей микрооперации на его первый управляющий вход к выходу коммутатора

39 подключается информация, поданная на его первый, третий и четвертый входы данных, а при подаче кода микрооперации "Запись" на второй управляющий вход коммутагора 39 задается подключение к его выходу информации, поданной на второй вход данных коммутатора 39. Выход коммутатора 39 адреса подключен к адресному входу блока 1 основной памяти.

Второй блок 40 сравнения предназначен цля обнаружения конфликта по записи в блок 1 основной памяти, т.е. такой ситуации. когда адрес

«перанда, предположительно являющийс". адрссом записи результата команды четвертого уровня совмещения, попацает в диапазон апресов команд первого — третьего уровней. Выход в"орого блока 40 сравнения соединен с пятым входом данных мультиплексно-о регистра 20 коца коррекции.

Первый блок 6 регистров предназна чен для хранения адресов ячеек блока 4 местной памяти операндов, определяемых командой четвертого уровня в качестве исходных операндов и результата операции. Выход первого блока 6 p ãèñòpoâ соединен с первыми входами данных блоков 4 и 7 местных памятей операндов и базы-индекса.

Блок 7 местной памяти базы-индекса предназначен для хранения базовых и индексных компонент адресов операндов и выполняет операции считывания или загрузки в зависимости от отсутствия или наличия сигнала загрузки на входе управления обращением.

Такт загрузки или считывания блока 7 местной памяти базы-индекса совпадает с тактом процессора., при этом загружается или считывается трехбайтовое слово, При отсутствии сиг17

11388 нала загрузки на входе управления обращением блока 7 местной памяти базы †индек выполняется считыва— ние по адресу, поданному на первый вход данных, при этом считываемая информация формируется на выходе блока 7 местной памяти. При наличии сигнала загрузки на входе управления обращением выполняется загрузка в блок 7 местной памяти базы-индекса информации, поданной на ее второй вход данных, причем загрузка выполняется по адресу, поданному на первый вход данных блока 7 местной памяти. Выход блока 7 местной памяти базы-индекса соединен с входом регистра 11 базы-индекса.

Сумматор 8 адреса предназначен для выполнения адресных операций базирования или индексирования путем сложения компоненты смещения адреса операнда с базой или индексом, кроме того, он используется для загрузки адреса команды, например, при выходе в прерывание программы или при выполнении команды перехо— да,. Разрядность сумматора 8 адреса— три байта, такт совпадает с тактом процессора. Выход сумматора 8 адреса соединен с входами данных регист— ров 37 и 38 первого и второго адресов и с установочным входом счетчика 35 адреса команды.

Коммутатор 9 индекса предназначен для выбора первого слагаемого при суммировании адресных компонент, в частности в зависимости от кода на управляющем входе, на выход коммутируются либо три младших байта результата арифметического блока 3; либо содержимое одного из регистров О блока 5 регистров адреса, либо база или индекс. Выход коммутатора 9 индекса соединен с первым входом данных сумматора 8 адреса.

Коммутатор 10 смещения предназна- чен для выбора второго слагаемого при суммировании адресных компонент, в частности, в зависимости от кода на управляющем входе, на выход коммутируются либо разряды смещения команды второго уровня, либо содержимое одного из регистров блока 5 регистров адреса, либо содержимое регистра 27 смещения. Выход коммутатор . 10 смещения соединен с вторым входом сумматора 8 адреса.

Регистр 11 базы-индекса предназначен для запоминания на один такт

05 18 процессора трех байт информации, считанной из блока 7 местной памяти базы-индекса, причем содержимое регистра 11 базы †индек может быть обнулено сигналом на синхровходе, если операция базирования или индексирования выполняться не должна. Выход регистра !1 базы-индекса соединен с первым входом данных коммутатора 9 индекса.

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

Выход первого блока 12 памяти микрокоманд соединен с входом данных первого регистра 13 микрокоманд.

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

1. Поле формирования входного кода первого шифратора 25 адреса (поле

"Первый вход").

Могут быть заданы коды микроопераций "База-индекс", "Второй адрес" или "Арифметический блок" (описание функций этих микроопераций приведено в характеристике назначения первого шифратора 25 адреса).

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

21 11388

Микрооперация "Условный переход" в блоке 14 модификации адреса микрокоманды в старшие разряды адреса следующей микрокоманды задается занесение адресного поля текущей микрокоманды, в младший разряд — занесение нуля или единицы в соответствии с состоянием признака занятости в блоке 14 модификации адреса микрокоманды.

Микрооперация "Переход по формату" — в блоке 14 модификации адреса первой микрокоманды задается занесение форматного кода команды второго уровня совмещения в младшую тетраду адреса следующей микрокоманды и разрядов адресного поля текущей микрокоманды в соответствующие старшие разряды адреса следующей микрокоманды. 20

Микрооперация "Функциональный пе— реход — задается выполнение функцией микроопераций Переход по формату", кроме того, задаются опрос состояния коммутатора 21 адреса кор- 25 рекции и модификация счетчика 35 адреса коканды.

Второй выход первого регистра 13 микрокоманд соединен .с вторым управляющим входом блока 14 модификации адреса микрокоманды, первый выход— с управляющими входами коммутатора 21 адреса коррекции, коммутатора 10 смещения, с первым управляющим входом блока 14 модификации адреса микрокоманды, с первым входом первого шифратора 25 адреса, с вторым входом второго шифратора 26 адреса, вторым синхровходом регистра 27 смещения, с синхровходами регистра 28 команд, коммутатора 29 команд, счетчика 33 команд, трех буферных регистров 30 — 32, регистра 34 форматного кода, регистров 37 и 38 первого и второго адреса, счетчика 35 адреса команды, счетчика 36 продвижения адреса, с первыми управляющими входами коммутатора 39 адреса и блока 1 основной памяти. !

Блок 14 модификации адреса микро-50 команды предназначен для формирова ния кода адреса первого блока 12 памяти микрокоманд по коду адресного поля первого регистра 13 микрокоманд, по форматному коду из регист-55 ра 34 форматного кода и по признаку занятости в блоке 14 модификации адрес;: микрокоманды в соответ05 22 ствии с микрооперациями поля условия, кроме того, по коду адреса микропрограммы коррекции из коммутатора 21 адреса коррекции. Выход блока 14 модификации адреса микрокоманды соединен с адресным входом первого блока 12 памяти микрокоманд.

Второй блок 15 памяти микрокоманд предназначен для хранения микропрограмм управления выполнением команд на четвертом уровне совмещения (микропрограммы обработки операндов). Время считывания второго блока 15 памяти микрокоманд соответствует такту процессора, при этом в каждом такте считывается одна микрокоманда, Выход второго блока 15.памяти микрокоманд соединен с входом данных второго регистра 17 микрокоманд. °

Регистр 16 адреса микрокоманды предназначен для хранения кода адреса второго блока 15 памяти микрокоманд, формируемого по коду адресного поля второго регистра 17 микрокоманд или по коду операции команды третьего уровня совмещения в соответствии с отсутствием или наличием разрешения функционального перехода на первом выходе коммутатора 21 адреса коррекции. Выход регистра 16 адреса микрокоманд соединен с адресным входом второго блока 15 памяти микрокоманд.

Второй регистр 17 микрокоманд предназначен для хранения в течение одного такта процессора кода микрокоманды, выполняемой в течение этого такта.

Код микрокоманды состоит из логически самостоятельных групп разрядов или полей микрокоманды. Адресное поле микрокоманды предназначено для задания кода адреса следующей микрокоманды и формируется на втором выходе второго регистра 17 микрокоманд, на первом выходе которого формируется код совокупности микроопераций для данной микрокоманды.

Для целей описания существенными являются следующие микрооперации и поля: поле "Арифметика" — предназначено для управления работой арифметического блока 3, микрооперация "Запись" — задается операция записи блока 1 основной памяти, при этом также задается в коммутаторе 39 адреса подключение

1138805 регистра 37 первого адреса и в мультиплексном регистре 20 кода коррекции — опрос наличия конфликта по записи в блоке 1 основной памяти, микрооперация ЗАГРУЗКА — задается операция загрузки в блоке 4 местной памяти операндов и блоке 7 местной памяти базы-индекса, кроме того, в мультиплексном регистре 20 када коррекции задается опрос конфликта по загрузке в базу или индекс (загрузка .командой четвертого. уровня н ячейку блока ? местной памяти ба— зы-индекса, используемую командой второго или третьего уровня для формирования адреса операнда), микрооперация "Спрос конфл,-.:кта" в мультиплексном регистре 20 кода коррекции задается предварительный опрос конфликта по загрузке в базу или индекс, выполняемый в следующем такте проЦессора, микрооперации "Установка занятости" и "Сброс занятости" — в блоке 14 модификации адреса микракоманды зада- р5 ется установка или сброс, соответственна„ признака занятости,.

Второй вход второ".,î peã icтра 17 микракоманд соединен с вторым входам данных регистра 16 адреса микракаман-, ды, первый выход — с третьим управляющим входом блока. 14 модификации адреса микракаманды, с вхацами управления обращением блоков 4 и ? местных памятей операндов н базы-индекса. с г входом кода операции арифметического блока 3, с синхравхадам мультиплексного регистра 20 кода ко.7рекции, с вторыми управляющими входами коммутатора 39 адреса и блока 1 основной памяти.

Сслектор-мультиплексор 18 базыиндекса предназначен для определения станции, кагда при базировании или индексировании в команде второго урав45 ня задан нулевой адрес ячейки, соответственно, базы или индекса, кроме того, когда при выполнении микропрограммы коррекции повторно используемый адрес ячейки базы или :-: — БО декса также является нулевым,.

В такой ситуации в селекторе-мультиплексоре 18 базы-индекса вырабатывается нулевой признак истинности выполняемого базирования или индек- Á5 сирования, задающий обнуление .содержимого регистра 11 "àçû-индекса и "-.апрет анализа конфликта па загрузке в нулевую базу или нулевой индекс в мультиплексчом регистре 20 кода коррекции. Выход селектора-мультиплексора 18 базы-индекса соединен с синхровходом регистра 11 базы-индекса, с вторым входом данных мультиплексора регистра 20 кода коррекции и с вторым входом блока 23 триггерон, Ре истр 19 адреса базы-индекса предназначен для хранения адресаячейки блока 7 мес".íîé памяти базыиндекса, с которым выполняется сравкение адреса загрузки в первом блоке 24 сравнения и который запоминается для сравнения при последующих загрузках и для обеспечения выполнения микропрограммы коррекции во втором блоке 22 регистров. Выход регистра 19 адреса базы-индекса соединен с адресным входам блока 7 местной памяти базы-индекса, с вторым входом второго блока 22 регистров и с вторым входом данных первого блока 24 сравнения.

Мультиплс ксный регисгр 20 кода кар17екции пред азна -: —.- н для фармиро ванпя признаков начальной выборки, iIолцай, 1 ".ичнай и sHTo»i-I II c oé

„-оррекции. Признак начал най выборки формируется при конфликте по записи в блск 1 а..нонной памяти, признаки полной„ част-::.чной и автоматической коррекции — при кочфликте па загрузке в базу или ийдекс. Признаки частичной и автоматической коррекции формируются з течение одного такта процессора, признаки начальной выборки и полной коррекции продолжают формироваться да выхода в микропрограмму коррекции, Совокупность признаков задаст в коммутаторе 21 адреса коррекции форми. звание соответствующего на.а .-нога адреса микропрограммы коррекции,в первом и втором шифраторах 27 и 2б адреса — соответствующую модификацию микраопеpaLI "I вырабатываеьыХ полями "Перв-.й вход" и Адрес базы-индекса" сов ответственно. Выход мультиплекснага регистра 30 кода коррекции соединен с "..ходом данных коммутатора 2 1 адреса коррекции, с вторым входом перього шифратора 25 адреса и с первым входом второго шифратора 26 адрес-.> .

Коммутатор 21 адреса коррекции предназначен для выделения наиболее

1!388 приоритетного из признаков началь-ной выборки, полной и части" ной коррекции, для формирования начального адреса микропрограммы, соответствующей наиболее приоритетному признаку,.и вьдачи этого адреса в блок 14 модификации адреса микрокоманды, для формирования обобщенного признака перехода к коррекции и выдачи этого признака с целью !О сброса признаков начальной выборки и полной коррекции в мультиплексном регистре 20 кода коррекции и запрета занесения в регистр 27 смещения, кроме того, при отсутствии обобщенного признака перехода к коррекции, для формирования признака перехода по коду операции, управляющего регистром 16 адреса микрокоманды и занесением в первый блок 6 регистров. Второй выход коммутатора 2 1 ацреса коррекции соединен с третьим входом управления блока 14 модификации адреса микрокоманды, с четвертым входом данных.мультиплексного регистра 20 кода коррекции и с первым входом запрета регистра 27 смещения. Первый выход коммутатора 21 адреса коррекции соединен с управляющими входами регистра 16 адреса микрокоманды и первого блока 6 регистров.

1 C::

Второй блок 22 регистров предназначен для хранения адресов базовых и индексных ячеек, использованных 35 при формировании адресов операндов команд второго и третьего уровней совмещения, для вьдачи хранящихся адресов в первый блок сравнения на сравнение с адресом загрузки и 40 в регистр 19 адреса базы-индекса при выполнении микропрограммы коррекции.

Первый и второй выходы второго блока

22 регистров соединены с вторым входом регистра 19 адреса базы-индекса 45 и с управляющим входом первого блока 24 сравнения соответственно.

Блок 23 триггеров предназначен для хранения признаков истинности адресов, хранящихся во втором блоке 22 5О регистров для вьдачи хранящихся признаков в мультиплексный регистр 20 кода коррекции с целью запрета анализа конфликта по загрузке в нулевую базу или нулевой индекс, а так- 55 же для вьдачи признаков в селектормультиплексор 18 базы-индекса при выполнении микропрограммы коррек05

26 ции. Первый и второй выходы блока 23 триггеров соединены соответственно с управляющим входом блока 18 анализа базы-индекса и с третьим входом данных мультиплексного регистра 20 кода коррекции.

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

Выход первого блока 24 сравнения ,соединен с первым входом данных мультиплексного регистра 20 кода коррекции.

Первый шифратор 25 адреса предназначен для формирования управляющих сигналов коммутатора 9 индекса в зависимости от кода в поле "Первый вход первого регистра 13 микрокоманд и признака автоматической коррекции в мультиплексном регистре кода коррекции: по коду микрооперации "База-индекс при отсутствии признака автоматической коррекции коммутатору 9 индекса. задается подключение регистра 11 базы-индекса, по кодам микроопераций Второй адрес" или "Арифметический блок" коммутатору 9 индекса задается подключение регистра 38 второго адреса или трех младших байт результата арифметического блока 3 соответственно, при одновременном наличии кода микрооперации "База-индекс" и признака автоматической коррекциИ вместо подключения,, соответствующего микрооперации "База-индекс" задается подключение, соответствующее микрооперации, "Арифметический блок".

Выход первого шифратора 25 адреса соединен с управляющим входом коммутатора 9 индекса. Второй шифратор 26 адреса предназначен для управления выбором источника и занесения в селектор-мультиплексор 18 базы-индекса и в регистр 19 адреса базы-индекса и управления занесением во второй блок 22 регистров и в блок 23 триггеров в зависимости от кода в поле

"Адрес базы-индекса" первого регистра 13 микрокоманд и признаков полной и частичной коррекции в мультй1)38805

28 плексном регистре 20 кода коррек, ции: по коду микрооперации Коррекция" в поле "Адрес базы-индекса" задается коммутация в селектор5 мультиплексор базы-индекса с выхода блока 2з триггеров и в регистр 19 .адреса базы †индек с вь:хоца вгарого блока 22 регистров,. иа коду микроаперации "База или "Индекс" при отсутствии .признака полной коррекции задается коммутация адреса соответствующей компоненты в селектор в ;åêñîð 18 базы-индекса и в регистр 19 ацреса базы-индекса с выхода первого бу— ферного регистра 30.

При одновременном наличии кода микрооперации "База" и признака "!îëной коррекции вместо подключения, соответствующего микроаперации "Ба— за", задается подклю - ение, соответствующее микрооперации ÊÎÐÐÅÊIôIß.

По ходу любой микрооперации—

"Коррекция", "База или "Индекс" при 25 отсутствии признака частичной коррекции задается эанесени"= признака истинности в блоке 23 триггеров с выхода селектора-и--льтиплексора признаков истинности.„занесение адреса ва второй алак 22 регистров с выходя регистра 19 адреса базы — индекса, а также занесеí;е информации, коммутируемой по с оатветствующим микраапер<1цчям в ".електаp-ì",ëüòèïëÿê - сар 18 базы-индекса и в регистр 19 адреса оаэы индекса.

Пр - одновременном наличии кода сю-, 13 микраоперации База и признака частичной коррекции задается запрет с занесени> в селе стар-м льтиппексср

18 лазы-инцекса, в регистр 9 адреса базы-индекса, -.î второй блок регист22 H B блок 23

Вьгход второго шифр-.".тора 26 адреса соединен с третьим входом данных селектора-мультиплексора 18 базыиндекса. вторым входом цанных регистра 19 адреса базы-индекс", с первье.и входами второго блока 22 регистров и блока 23 триггеров.

Регистр 27 смещения предназначен для хранения компонента смещения адреса операнда команды третьего уров55 ня совмещения. Выход регистра 27 смещения соединен с третьим входом дан-. ных коммутатора 10 смещения.

Культипл.-:ясный регистр кода кара рекции (фиг.2) содержит узел 41 ана- лиза уровня искажения, включающий элементы И 42-45 и элементы ИЛИ

46 и 47, регистр 48 уровня коррекции, включающий триггеры 49-52 начальной выборки, полной частичной и автоматической коррекции соответственно, выход 53 Yi входы 54-59 уровней коррекции,, шину 60 микраоперации Запись", шину 61 равенства адресов второго уро"= íÿ,,шины 62 и 63 равенства адресов третьего уровня, шины 64 и 65 микроопераций "Опрос конфликта и "Загрузка" соответственно, шины 66 и 67 истинности адресов третьего уровня .

На схеме коммутатор- ацреса коррекции (фиг.3) изабражены узел 68 приоритета, состоящий из элементов

И 69 и 70 и элемента НЕ 71, шифратор 72, состоящий из элементов

ИЛИ 73-75, элементы И 76 и 77, элемент НК 78, входы 79 и 80 и выхоцы

81 и 82 блока шины 83-85 начальной выборки,, полной и час-ичной коррекции с:-затветственна,, шина 86 адреса карре ци.-". и †:-;-на 87 герехода к коррекции.

111 схеме второго блока регистров (фиг.- ;) изображены регистры 88 и 89„ входы 90 и 91 и выхоцы 92 и 93 буфера, На схеме блока триггеров (фиг.5) изображены триггеры 94 и 95, эле— мент И 96, вхадь. 97 и 98 и выходы 99 ч 100 буфера., шина 101 микрооперации "Коррекция" и шина 102 занесения адреса.

Па схеме гервого шифратора адреса (фиг.6) изображены элемент И 103, элементы HJIH 104 и 105, элемент ИЕ 106, входы 107 и 108 и выход 109 узла, разрядные шины 110 и 111 поля

"Первьгй вход" . Представленный на фиг.6 пример реализации первого узла перекодировки рассчитан на следуюwee кодирование микроопераций в поле Первый вход кад "00" — микрооперация "Базаиндекс, код "01i — микроопераиия "Второй адрес, код 10" — микрооперация "Арифметический блок".

На схеме второго шифратора адреса (фиг.7) изображены преобразователь 112 кода, состоящий из элемен29 11388 тов 113 и 11.4 сложения (сумматоров) по модулю два, дешифратор 115, элемент ИЛИ 116, элемент НЕ 117, входы 118 и 119 и выход 120 узла, разрядные шины 121 и 122 поля "Адрес" базы-индекса, шины 123 и .124 признаков полной и частичной коррекции соответственно, кодовая шина 125 и шина 126 занесения адреса.

Представленный на фиг.7 пример реализации второго узла перекодировки рассчитан на следующее кодирование микроопераций в поле "Адрес базы-индекса": код "00" — отсутствие микроопераций, код "01" — микрооперация База", код "10" — микрооперация "Коррек9 код "1" — микрооперация "Индекс". щ

На схеме селектора-мультиплексора базы-индекса (фиг.8) изображены узел 127 анализа формата, состоящий из элемента И 128, элемента ИЛИ 129 и элемента НЕ 130, триггер 131, эле — 25 менты И 132 и 133, элементы ИЛИ 134136. Входы,37-140 и выход 141 блока, шины 142 и 143 микроопераций ""àçà" и "Индекс" соответственно, шина 144 занесения адреса, шины 145 и 146 нулевого и первого разрядов кода операции соответственно.

На схеме блока модификации адреса микрскоманды (фиг.9) изображены регистр 147 адреса, коммутаторы

148 и 149, триггер 150 занятости, 35 элементы НЕ 151 и 152, входы 153-157 и выход 158 блока, шина 159 старших разрядов адреса, шина 160 младшего разряда адреса, шина 161 адреса кор-.

40 рекции, шина 162 перехода к коррекции, шины 163 и 1,64 микроопераций "Установка занятости" и "Сброс занятости" соответственно, шина 165 поля "Условие" и шина 166 микроопераций "функ11 И

45 циональный переход и Переход по формату".

На схеме второго блока сравнения (фиг.10) изображены! схемы 167 и 168 сравнения, каждая из которых состоит

50 из элементов 169-171 сравнения, эле- .

05 30 ментов И-НЕ 172-176, элементов

И 177 и 178 и элемента НЕ 179, элемент ИЛИ I 80, элементы И 181-184, элемент HE 185, входы 186-188 и выход

189 узла, шины 190 и 191 нулевых разрядов адреса команды и продвинутого адреса соответственно. Процессор реализован на интегральных миросхемах серий 133, 533 и 530. Поэтому на фиг.1 — 15 использованы условные графические обозначения некоторых модификаций, используемых элементов.

В частности, на фиг. 10 элемент сравнения обозначен (= =), для этого элемента разряды сравниваемой информации (АО-АЗ и ВО-ВЗ), входы расши- . рения (А=В, А (В и А > В), выходы (=, си ).

На схеме первого блока регистров (фиг.11) изображены регистры 192 и 193 адресов считывания, регистр 194 адреса загрузки, входы 195 и 196 и выход 197 блока.

На схеме арифметического блока (фиг. 12) изображены регистры 198 и 199 операндов, регистр 200 записи, арифметические. узлы 201 †2 с арифметическо-логическими элементами 205, узел ?06 переносов с элементами 207 и 208 группового переноса, входы 209-211 и вьгходы 212 и 213 блока, шина 214 функции, шина 215 входного переноса и шина

216 управления занесением. В соответствии с принятыми для элементов серий 133, 530 и 533 условными графическими обозначениями на фиг.12 арифметическо-логический элемент обозначен AL его вход переноса СО, выход последовательного переноса

С4, выходы группового переноса P и С, первые информационные входы

АО-АЗ, вторые информационные входы

BO-ВЗ, управляющие входы SO-S3 и М, информационные выходы PO-P3, Элемент группового переноса обозначен GRP. его входного переноса СО, входы групповых переносов PO CO — P3, G3, выходы переноса С1-СЗ.

Таблица функций арифметическологического элемента (АЬ) имеет вид

1138805

M=0, арифметические операции

М=1, логические операции

CO=1 (без перекоса) C0=O (с переносом) Få

8 8 о

А плюс 1

0000 (А+В) плюс 1 А,+ В (А+В) плюс +1 A ° + В

0001

А+ В

А+ В

А + В

А; В, 0010 минус 1

А плюс A B

0011 нул ь

А плюс АВ плюс 1

А ° В

0100 (А+В) плюс A В (А+В) плюс (А В) плюс 1

А В;

0101

В, 0110

А минус В

А 1В .1

А + В!

А минус В минус

А В мкнус 1

А В.

А В

Аплюс АВ

1 000

А плюс АB плюс

A В

A.18;

А ° В д,+ В

А плюс В плюс 1

А плюс В

А@В (A-:-В) глюс А:В (А + В) плюс А В

А В

В+ В

В

1010

А ° В„

AB плюс 1

А В минус

А "В

4 1

А

А плюс А

А плюс А

110Î плюс (А+В) глюс A плюс 1

А ° + В.

А+ В

А °

1 (А + В) плюс А (А + В) плюс А (А+В) плюс A плюс

А + В

1 4

А„+ В, А

A минус 1

П р и м е ч а н и я: 1, 4 — О, 1, 2, 31

Р4 — условие прохождения переноса через разряд, G.; — разрядный перенос.

2. Выражения для Р, С, C4, K:

Р= О 44 42 Ъ

Й "Ро Р4 Р2 з 44 2 С42 Ръ 4

ch (c,1P)G=C, Р, Р2 P cÄ Р, р2 Рз+С4,Р2 r,4 с,2, 1+c., "= О 4 2 З

1138805 34

Переключательные функции для выходов элемента группового переноса (GRP) имеют вид:

P = Ро+Р1+Р2+РЗ, 6 4 Й,CqC,>

С1=С С, +Р с, l0

Процессор работает по программе, размещенной в блоке основной памяти 1 (фиг.1) и представляющей собой последовательность команд и операндов для этих команд. Некоторые операнды хранятся в блоке 4 мастной памяти операндов (регистровые операнды).

Команды программы, выполняемой процессором, могут иметь разную длину.

Длина команды (количество байт блока il основной памяти, занимаемое командой) определяется форматным кодом, представляющим собой стар1 шую тетраду кода операции команды, и может быть равной двум, четырем или шести байт. В дальнейшем для определенности предполагается, что команды, их коды операции (и форматные коды) и специфика их выполнения . полностью соответствует принятым в ЕС 3BN. В частности, форматным ко30 дам "0000" — "0011" (в двоичном представлении) соответствуют команды формата длиной два байта, обрабатывающие регистровые операнды, размещенные в блоке 4 местйой памяти опе- З5 рандов. Форматным кодам "0100"-"1011" соответствуют команды ЕХ, RS Si u S форматов длиной четыр байта. Для команд RX формата с форматными ко- . дами "0100" †"0111" один из операндов 40 является регистровым, второй размещен в блоке i основной памяти в ячейке, адрес которой вычисляется при помощи базирования и индексирования.

Для команд RS, Si u S форматов с 45 форматными кодами "1000" — "1011" адрес операнда в блоке 1 основной памяти. является только "базируемым".

Форматным кодам "1101" и "1111" соответствуют команды SS формата длиной шесть байт, обрабатывающие операнды, размещенные в блоке 1 основной — àìÿòè в ячейках с базируемыми адресами. При базировании или индексировании нулевой адрес ба- 55 эы или индексы рассматриваются как отсутствие соответствующей компоненты адреса операнда.

Выполнение любой команды состоит из двух фаз — фазы выборки и фазы

1. обработки. На фазе выборки команды выполняется считывание информационного слова, содержащего команду, из блока 1 основной памяти, размещение ее в регистре 28 команд, фор мирование адресов операндов в регистрах 37 и 38 первого и второго адресов и в первом блоке 6 регистров, считывание операндов из блока 1 основной памяти и из блока 4 местной памяти операндов в арифметический блок 3. На фазе обработки операндов " в зависимости от команды выполняется арифметическая или логическая об-. работка операндов в арифметическом блоке 3, результат обработки загружается в .блок 4 .местной памяти операндов или записывается в блок 1 основной памяти. Результатом операции может быть базовый или индексный адрес (база или индекс) — в этом случае результат загружается также в блок 7 местной памяти базы-индекса. Команды программы, как правило, выполняются строго последовательно, в соответствии с последовательностью их размещения по возрастающим адресам блока 1 основной памяти, причем на фазе обработки может находиться только одна команда программы, в то же время как на фазе выборки находятся несколько следующих по порядку команд. Адрес очередной команды, подлежащей к фазе обработки, определяется содержимым счетчика 35 адреса команды, модификация которого выполняется в момент перехода команды от фазы выборки к фазе обработки на величину, равную длине этой команды в байтах. б

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

Фаза выборки каждой команды делится на три этапа, выполняемых на соответствующих уровнях совмещения операций.

На первом уровне совмещения выполняется считывание информационного слова, содержащего команду из блока 1 основной памяти и занесение считанного информационного слова в регистр 28 команд. При переходе оче35

1138 полняются редной команды к фазе обработки остальные команды, размещенные в блоке 2 обработки команд, продвигаются по уровням совмещения, что после некоторого очередного продвижения приводит к исчерпанию содержимого регистра 28 команд (освобождение первого уровня) и выполнению считывания из блока I основной памяти очередного информационного слова, содержащего команды. Адрес этогo слова определяется содержимым счетчика Зб продвинутого адреса, которое модифицируется на плюс восемь (в соответствии с разрядностью информационного слова в регистре 28 команд, равной восьми байт) каждый раз, когда освобождается первый уровень.

На втором уровне совмещения для команд КХ формата выполняется индексирование адреса операнда и считывание из блока 7 местной памяти базы-индекса содежимого ячейки базы.

Если команда второго уровня не является командой RX формата, то индек- 25 сирование выполняется., но вместо сложения с содержимым индексной ячейки разряды смещения суммируются с нулевой информацией. Кроме того, на втором уровне совмещения форматный код команцы запоминается в регистре 34 форматного кода.

На третьем уровне совмещения содержимое ячейки бэ"-,ы суммируется с индексированным адресом и, если это необходимо, выполняется считывание операнда из блока 1 основной памяти по окончательно сформированному адресу, Кроме того, выполняетсл считыва= ние регистрового операнда из блока 4 местной памяти операндов. Если команда третьего уровня является командой RR формата, то базирование адреса операнда и считывание операни да из блока 1 основной памяти не вы- 15

Фаза обработки операндов соответствует четвер-ому уровню совмещения.

Управление процессором осуществ- 50 ляется микропрограммам, размещенными в блоках 12 и 15 первой и второй памяти микрокоманд. Каждым тактом процессора управляет отдельная пара микрскоманд, одновременно считываемаяЛ из блоков !2 и 15 первой и второй памяти в соответствующие регистры

13 и 17 микрскоманд. Адреса, по кото80.: 36 рым производится считывание каждой микрокоманды пары, формируются блоком 14 модификации адреса микрокоманды и регистром 1б адреса микрокоманды.

Основные функции выборки команд реализуются микропрограммами выборки из первого блока 12 памяти микрокоманд, при этом, в основном, используются две микропрограммы выборки— микропрограмма заполнения буфера, предназначенная для начального заполнения уровней совмещения и микропрограмма совмещения, предназначенная для работы процессора в режиме совмещения операций. Отдельная микропрограмма коррекции используется для ускоренного повторного вычисления адреса операнда при обнаружении конфликта по загрузке в ячейку базы или индекса команды третьего уровня совмещения. Работа процессора всегда начинается с выполнения микропрограммы заполнения буфера, после чего выполняется микропрограмма совмещения.

Микропрограмма совмещения имеет 14 входов в соответствии с четырнадцатью допустимыми форматными кодами команд. Для каждой из четырех совокупностей форматных кодов команд, xa— рактеризующихся однотипными функциями выборки, в микропрограмме совмещения предусмотрена отдельная последовательность или цепочка микроко— манд, которая выполняет эти функции.

Выполнение той или иной цепочки микрокоманд задается форматным кодом, хранящимся в регистре 34 форматного кода. Отдельные цепочки предусмотрены цля команд RR op T (B данную цепочку возможны четыре входа по форматным кодам "0000 -"0011") команд RX формата с предварительным считыванием операнда из блока 1 основной памяти (три входа, соответствующие форматным кодам "0101 — 01! (")), команд RX, RS, S1 и S форматов без предварительного считывания операнда из блока основной памяти (форматные коды "0100","1000""1011") и команд SS формата (форматные коды "1101" и "1111"). Любая цепочка управляет действиями на всех уровнях фазы выборки одновременно.

Функции обработки операндов реализуются микропрограммами второго

38

37 блока 15 памяти микрокоманд. Для каждой команды процессора предусмотрен отдельный вход в соответствующую микропрограмму обработки операндов.

При работе процессора в режиме сов- 5 мещения операций одновременно выпол-. няются цепочка микропрограммы совмещения, соответствующая форматному коду команды третьего уровня и микропрограмма обработки операндов, соответствующая коду операции команды четвертого уровня, причем время выполнения этих микропрограмм строго согласовано. Для обеспечения согласования в каждую цепочку совмещения 15 включена специальная микрокоманда. ожидания в выборке. Каждая микропрограмма обработки операндов завершается также микрокомандой ожидания в обработке. Если при одновременном выполнении некоторой цепочки совмещения и микропрограммы обработки операндов для некоторой команды вре— мя выполнения. цепочки совмещения оказывается больше, то после завершения выполнения микропрограммы обработки начинает выполняться микрокоманда ожидания в обработке,и переход к следующей микропрограмме обработки осуществляется только после эаверше- ЗО ния выполнения цепочки совмещения.

Если же время выполнения конкретной микропрограммы обработки превышает минимальное время выполнения цепочки совмещения (минимальное время выполнения цепочки совмеще— ния может быть равным двум тактам для команд RR формата и команд

RX, RS, S1 и $. форматов беэ преДварительного считывания операнда из блока 1 основной памяти), то в цепочке совмещения начинает выполняться микрокоманда ожидания в выборке. Количество тактов выполнения микрокоманды ожидания в выборке выбрано таким образом, чтобы завершающие микрокоманды микропрограммы обработки и цепочки совмещения выполнялись одновременно. Количество тактов выполнения микрокоманды ожидания в выборке регулируется признаком занятости в блоке 14 модификации адреса микрокоманды. В любой микропрограмме обработки операндов, время выполнения которой превышает Я два такта (минимальное время выполнения цепочки совмещения), в первой же-микрокоманде задана микрооперация "Установка занятости". В одновременно выполняемой первой микрокоманде цепочки совмещения задав на микрооперация "Условный переход", по которой анализируется состояние признака занятости, причем по единичному состоянию признака занятости выполняется переход в микрокоманду ожидания в выборке (адресом перехода при нулевом состоянии признака занятости является адрес микрокоманды продолжения цепочки совмещения).

В свою очередь, в микрокоманде ожидания в выборке задана микрооперация "Условный переход", по которой при единичном состбянии признака занятости осуществляется зацикливание этой микрокоманды ожидания, при нулевом . — выход на завершение цепочки совмещения. В течение всего периода выполнения длительной (превышающей.два такта) микропрограммы обработки одновременно выполняемая цепочка совмещения зациклена на микрокоманде ожидания в выборке.

Это зацикливание продолжается до тех пор пока в предпоследней микрокоманде микропрограммы обработки не будет .задана микрооперация "Сброс занятости".

Последней микрокомандой каждой микропрограммы обработки операндов является микрокоманда ожидания в обработке. Пердварительное считывание операнда из блока 1 основной памяти (для форматных кодов "0101""0111") осуществляется микропрограммой совмещения только при.нулевом состоянии признака занятости, поэтому в течение трех тактов предварительного считывания операнда микропрограмма обработки зацикливается при выполнении микрокоманды ожидания в обработке. Если в микропрограмме совмещения нет.предварительного считывания операнда из блока 1 основной памяти (для форматных кодов, отличающихся рт "0101"-"0111"), тб после выхода из микрокоманды ожидания в выборке в результате обнуления признака занятости при одновременном выполнении длительной микропрограммы обработки или после перехода из первой микрокоманды цепочки совмещения по нулевому состоянию признака занятости при короткой микропрограмме обработки, выполняет1138 ся последняя микрокоманда цепочки совмещения, в которой задана микрооперация "Функциональный переход .

В соответствии с этой микрооперацией форматный код команды второго

5 уровня совмещения используется для перехода к соответствующей:-,епочке совмещения, а код операция команды третьего уровня — для перехода к соответствующей микропрограмме обработ-10 ки операндов.

Более подробно рассмотри:; — àáîòó процессора на примере выполнения последовательности команд RX формата,,в фазе выборки которых производится базирование и индексирование адреса операнда и, в некоторых случаях, считывание операнда из блока 1 основной памяти, причем первая выполняемая команда размещена в четырех младших байтах информационного слова.

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

Первая микрокоманда этой микропрограммы считывается из первого блока 12 памяти микрокоманд в первый регистр 13 микрокоманц. В первой.микрокоманде заданы следующие микрооперации: "Адрес команды" в поле ц ("Память, Выборка" в поле "Установ" и "Безусловный переход" в поле

"Условие ". В адресном поле первой микрокоманды задан адрес второй микрокоманды микропрограммы заполнения 5 буфера. По микрооперации "Адрес команды" в поле Память" содержимое счетчика 35 адреса команды через коммутатор 39 адреса подае-.,".я на апресный вход блока 1 основной памяти, кроме того„ запускается считывание блока 1 основной памяти. По MHKpooïåрации "Выборка" разряды счетчика 35 адреса команды загружаются в счетчик 36 продвинутого адреса и ь. счет- 55 чик 33. Содержимое адресного поля первой микрокоманды по микроогe-рации "Безусловный переход" заносит805 r-r 0 ся в блок 14 модификации адреса микроксманды и используется для фор- мирования адреса следующей второй микрокоманды аполнения буфера (в дальнейшем, если нет специальных указаний, пред слагается, что в поле "Условие" выполняемой микрокоманцы задана микросперация "Безусловный переход", опредегяющая переход к следующей микрокоманде, адрес которой задан адресным полем).

Вторая микрокоманда микропрограммы заполнения буфера содержит в поле Установ" микрооперацию "Модификация", по которой содержимое счетчика Зб продвинутого адреса модифицируется на плюс восемь. После этого содержимое счетчика 36 продвинутого адреса подготоавлено для считывания очередного информационного слова. блока 1 основной памяти, содержаще".о последующие каналы. Третья микрокоманда микропрограммы заполнения буфера не содержит микроопераций я является микрокомандой ожидания, в те ение которой завершается считывание информационного слова блока 1 основной памяти 1 и занесение считанного словB B регистр 28 ! команд. -!етвертая микрокоманда микропрограммы запоя ения буфера задает микрооперации "Peprroe продвижение" (поле "Продвижение" ), Продвинутыи адрес (поле "Память" ) и чЛндекс (rrorre АДРес базы-индекса ).

Па микрооперация "Первое продвижение" дьа старших байта первой команды

vç регистра 28 команд через коммутатор ?9 команп загружаются в первый буферный регистр 30 (первое продвижение команды на второй уровень совмещения). Мес;o расположения старших байтов команды в информационном слове регистра 28 команд определяется cocTQFrrrreì счетчика ЗЗ, с выхо,ца которого на управляющий вход комму-;атора 29 команд поступают управляющие потенциалы, обеспечивающие коммутацию в cooTpeòñòBèè с адресом первой выполняемой команды. После

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

42 вой команды загружается в регистр 34 форматного кода, а адрес ячейки индекса поступает в селектормультиплексор 18 базы-индекса н в регистр 19 адреса базы-индекса. Посколь-5 ку в одновременно выполняемой зацикленной микрокоманде ожидания в обработке не заданы микрооперации (т.е. нет микроопераций "Запись" или Загрузка" ), на выходе мультиплексного регистра 20 кода коррекции формируются нулевые признаки начальной выборки, полной, частичной и автоматической коррекции, т.е. отсутствует перекодировка микроопераций в первом и втором шифраторах 25 и 26 адреса.

Если адрес ячейки-индекса, поданный на вход селектора-мультиплексора 18 базы †индек не равен нулю, на выходе селектора †мультиплексо 18 оазы-индекса начинает вырабатываться потенциал, сохраняющийся до указания следующей микрооперации в поле

"Адрес базы-индекса" и разрешающий прием в регистр 11 базы-индекса из блока 7 местной памяти базы-индекса. Если адрес ячейки индекса нулевой, на выходе селектора-мультиплексора 18 базы-индекса вырабатывает ЗО ся потенциал, по которому содер— жимое регистра 11 базы-индекса обнуляется, и приема информации из блока 7 местной памяти базы-индекса нет. .Адрес ячейки индекса с Выхода регист-З ра 19 адреса базы-индекса поступает на второй адресный вход блока 7 шестой памяти базы-индекса и выполняется считывание содержимого адресованной ячейки. По микрооперации 1Продвину- 4О тый адрес 1 в поле "Память" содержимое счетчика 36 продвинутого адреса через коммутатор 39 адреса подается на адресный вход блока 1 основной памяти и запускается считывание блока 1 ос- 45 новной памяти. Пятая микрокоманда микропрограммы заполнения буфера не содержит микроопераций и является микрокомандой второго такта считывания .блока 1 основной памяти. Действия, 50 выполняемые в процессоре для считывания команд, несущественны для це-. лей описания, в дальнейшем предполагается, что по мере исчерпания содержимого регистра 28 команд очередное 55 информационное слово считывается из блока 1 основной памяти по микрооперации "Прадвинутыи адрес в поле

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

Шестая микрокоманда.микропрограммы заполнения буфера задает выполнение микроопераций "Первое продвижение" в поле "Продвижение", "База" в поле "Адрес базы-индекса", "Базаиндекс", в поле нПервый вход", "Смещение" в поле "Второй вход", "Второй адрес" в поле "Выход" и "Переход по формату1 в поле "Условие".

По микрооперации "Первое продвижение" два старших байта первой команды из первого буферного регистра 30 загружаются во второй буферный регистр 31, а в первый буферный регистр 30 заносятся два младших байта первой команды (второе продвижение на второй уровень совмещения). После завершения продвижения счетчик 33 модифицируется на плюс единицу (в рассматриваемом примере размещения команды в четырех младших байтах ре— гистра 28 команд после этой модифи— кации содержимое счетчика 33 становится нулевым, т.е. указывает на размещение следующих продвигаемых двух байт команды в старших байтах очередного информационного слова).

По микрооперации "База-индекс" в поле "Первый вход содержимое ячейки индекса из регистра 11 базы-индекса через коммутатор 9 индекса подается на первый вход данных сумматора 8 (на выходе мультиплексного регистра

20 кода коррекции сохраняется нулевое состояние признаков, т,е. перекодировка микроопераций в первом шифраторе 25 адреса не выполняется). По микрооперации "Смещение" в поле "Второй вход" разряды смещения с выхода первого буферного регистра 30 через коммутатор 10 смещения подаются на второй вход данных сумматора 8, кроме того, загружаются в регистр 27 смещения. Запрет занесения в регистр

27 смещения отсутствует, поскольку по нулевому состоянию признаков на". чальной выборки и коррекции на первом выходе коммутаора 21 адреса коррекции отсутствует формирование обобщенного признака коррекции. В сумматоре 8 выполняется сложение разрядов смещения с индексом, результирующий ин113 88О: дексированьпй адрес по микрооперации

"Втсрой адрес в пале "Выход загружается в регистр 38 второго адреса.

По мккрооперацик База" в поле "Лдрес базы-индекса" потенциал, сформированный На выходе селектора-мультиплексора 18 базы-индекса для рачее считанного индекса (признак истинности), запоминается в блок" 2 3 т;риг Оров, а на выходе селектора.мультиплексора 18 базы †индек формируется новый потенциал, соответствующий адресу вновь считываемой ячейки базы.

Адрес ра11ее считанного индекса с выхода регистра 19 адреса базыиндекса, "aaoMzII!.-.ется во втором блоке 22 регистров, а в регистр 9 адреса базы — индекса з.; ружается из первого буферного регистра 30 адрес вновь считываемой ячейки базы, Считывапие базы из блока 7 местной памятк базы-индекса завершается к началу следующего такта процессора.

Всяк адрес считываемой ячейки базы

IIe равен нулю, то на выходе селек — 2» тора-мультиплексора 18 базы-индек— са а сутствует потенциал сброса ре-:истра 1 аазы-индекса, и считан— нае 13 алака 7 мест:1ой памяти базыкндекса содержимое ся" йки базы за- 30 гружается в регистр 11 базы †индек,.

По микроаперацик "Переход па формат) формат нььйй к Од Г1ер вай KQMaHpbl из регистра 34 форматного кода в

О.лак I 4 мадифl.lк а!д 1111 адреса микро

35 команды используется для формирования младшей тетрады ",реса следующей

I1IIêp0ê0i1анды, для формирования стар-!

I .èõ разрядов котарога используется содержимое адресного поля выполняемой Mvi

В седьмой микрок:манде,для pac- . .О сматриваемого примера выполнения последовательности команд ЯХ форма-та) микропрограммы заполнения буфера клк в первой микрокоманде цепочки совмещения для команд БЛ формата

» ю

;:= даны микрооперации Первое продви .:.:нке" (пале "Продвижение"), Индекс ; (I10ле "Адрес базы †индек"}, "Базаиндекс" (пале "Первьй вход"), Втор ОН адрес (поля Второй вход и Выход ) и Условный переход" (поле "Условие ). По микрооперации

"Условный переход анализируется необходимость выхода в микрокоманду ожидания в выборке.Зтат анализ используется только при совместном вьп;олненик ..:,елочки совмешенкя и микропрограммы обработки операндов. При входе в цепочку совмещения из микрО программы заполнения буфера признак занятости в блоке 14 модификации ад— реса микрокоманды находится в нулевом состоянии (так как продолжается зацикливание микрокоманды ожидания в обработке), поэтому вместо адреса микрокаманды Ожидания в вь1борке на выходе блока 14 модификацки адре— са микрокоманды формируется адрес следующей, второй микрокоманды цепочки совмещения (последней микрокоманды микропрограммы заполнения буфера)Пo мккраогерации "База-индекс" в поле "Первьй вход" содержимое ячейки базы, считанное в предыдущей м1.крокоманде в регистр 11 базыи1ще;.. а, чгрез кочмутатор 9 индекса передается на первьй вход данных сумматора 8, на второй вход данных которого па микрооперацик Второй адрес в поле "Второй вход" подает— ся через коммутатор 10 смещения сод=-ржимое регистра 38 второго адреса (индексированньй адрес).

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

1,по микроаг;ерацки "Второй адрес" в лоле "Выход ) . По минрооперции "Первое продвижение в начале такта процессора в первый буферный регистр

30 через коммутатор 29 команд загружаются два старших байта второй выполняемой команды (первое продвижение второй команды на второй уровень совмещения), в тре..кй буферньй регистр 32 из второго буферного регистра 31 два старших байта первой команды (продвижение первой команды на третий уровень совмещения) и счетчик 33 модифицируется на плюс единицу). По мккро— операции "Индекс в поле "Адр=ñ базыиндекса" в регистр 34 форматного кода загружается форматньй код вто45

1138805 46 рой команды из первого буферного регистра 30, потенциал, сформированный на выходе селектора-мультиплексора 18 базы-индекса для базы, считываемой в такте выполнения предыдущей микрокоманды (признак истинности) запомина— ется в блоке 23 триггеров, а на выходе селектора-мультиплексора 18 базы-индекса формируется потенциал, соответствующий признаку истинности (p адреса вновь считываемой ячейки индекса. Адрес ранее считанной ячейки базы с выхода регистра 19 адреса базы-индекса запоминается во втором блоке 22 регистров, а в регистр 19 адреса базы-индекса загружается из первого буферного регистра 30 адрес вновь считываемой ячейки индекса. Считывание индекса из блока 7 местной памяти базы-индекса завершается к началу следующего такта процессора.

Если адрес считываемой ячеики индекса не равен нулю, то на выходе селектора-мультиплексора 18 базы— индекса отсутствует потенциал сброса регистра 11 базы-индекса, и считанное из блока 7 местной памяти базы-индекса содержимое ячейки индекса загружается в регистр 11 базы-индекса. Таким образом, после завершения выполнения первой микрокоманды цепочки совмещения RX формата во втором блоке 22 регистров и в бло— ке 23 триггеров хранятся адреса

35 базы и индекса и соответствующие им признаки истинности для команды,, продвинутой на третий .уровень совмещения, а на выходах селектора-мультиплексора 18 базы-индекса и регист40 ра 19 адреса базы-индекса сформированы соответственно признак истинности и адрес индекса для команды второго уровня совмещения.

Если первая выполняемая команда имеет форматный код "0101" — "0111"

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

"Второй адрес" в поле "Память на адресный вход блока 1 основной памяти через коммутатор 39 адреса подается адрес операнда из регистра 38 второго адреса и запускается считывание блока 1 основной памяти. Восьмая микрокоманда выполняется в течение второго такта цикла считывания блока 1 основной памяти. Третий такт цикла считывания является последним тактом выполнения микро-. программы заполнения буфера (цепочка совмещения). Если первая выполняемая команда имеет форматный код

"0100" или "1000"-"1011", то вместо перехода к двум микрокомандам считывания операнда из блока 1 основной памяти осуществляется прямой переход на последнюю микрокоманду цепочки.

В этой микрокоманде заданы микрооперации "Фукнциональный переход" (поле "Условие" ), "Первое продвижение (поле "Продвижение" ), "Конец выборки" (поле."Установ"), "База-индекс" (поле "Первый вход"), "Смещение" (поле "Второй вход"), "Второй адрес" (поле "Выход" ) и "База" (поле "Адрес базы-индекса").

Г

По микрооперации "Функциональный переход" форматный код команды из регистра 34 форматного кода подается в блок 14 модификации адреса микрокоманды и используется для формирования входного адреса соответствующей цепочки совмещения, содержимое счЪтчика 35 адреса команды модифицируется на плюс четыре (в соответствии с длиной первой команды форма". та), в коммутаторе 2 1 адреса коррекции выдается сигнал опроса состояния обобщенного признака коррекции. Так как это состояние нулевое, на втором выходе коммутатора 21 адреса коррекции вырабатывается управляю° С щий сигнал,. по которому в регистр

16 адреса микрокоманды заносится код операции первой выполняемой команды из третьего буферного регистра 32, а в первый блок 6 регистров— второй байт этой памяти (адреса регистровых операндов задаются во втором байте команд RR, RX или RS форматов). Таким образом, в следующем такте процессора начинается выполнение микропрограммы обработки операндов с микрокоманды, считанной

49 11388 регистре хранятся два младших байта команды RX формата, и форматный код следующей команды может быть выделен только после дополнительного продвижения) в первую очередь выполняется загрузка форматного кода следующей команды из первого буферного регистра 30 в регистр 34 форматного кода, после этого в конце такта процессора выполняется продви- 10 жение.

Выборка команд SS формата несущественна специфика цепочек совмещен ния для этих команд состоит в том, что при их выполнении дважды осу- 15 ществляется базирование, причем адреса операндов формируются в регистрах 37 и 38 первого и второго адресов, а микрооперации продвижения задаются в поле "Продвижение" трех 20 микрокоманд цепочки, чтобы обеспечить продвижение на шесть байт в соответствии с длиной команды.

В рассматриваемом примере выполнения последовательности команд RX формата после завершения выполнения микропрограммы заполнения буфера (т.е. и цепочки совмещения, соответствующей команде RX формата) первая

30 команда переходит на четвертый уровень совмещения — начинает выполняться первая микрокоманда микропрограммы обработки операндов.

Рассмотрим случай, когда первая команда является командой типа загрузки алгоритм которой состоит в том, что регистровый операнд в блоке 4 местной памяти операндов замещается содержимым четырехбайтного слова, считанного из блока 1 основной памяти. Вторая команда является командой типа записи, алгоритм которой состоит в замещении регистровым операндом из блока 4 местной памяти операндов четырех байт в вось-45 мибайтовом информационном слове блока 1 основной памяти. Адрес о блока 1 основной памяти для обеих команд является базируемым и индексируемым, кроме того, при выборке обеих команд выполняется цепочка совмещения RX формата, содержащая два дополнительных факта считывания операнда из блока 1 основной памяти— для команды записи необходимость 55 предварительного считывания следует из того, что в восьмибайтовом слове блока 1 основной памяти должны

05 50 быть замещены только четыре байта, остальные четыре байта не изменяются.

Считывание операнда из блока 1 основной памяти для команды загрузки выполняется цепочкой совмещения в дополнительных микрокомандах: прием считанного операнда в арифметический блок 3 производится в третьем такте считывания, т.е. в такте выполнения последней микрокоманды цепочки совмещения. После вавершения выполнения этой микрокоманды в первом блоке 6 регистров хранится адрес ячейки блока 4 местной памяти операндов, в которую производится загрузка информации, в первом регистре 13 микрокоманд хранится первая микрокоманда цепочки совмещения RX формата с предварительным считыванием операнда, во втором регистре 17 микрокоманд — первая микрокоманда микропрограммы обработки операндов для команды загрузки.

Первая микрокоманда цепочки совмещения для команды записи полностью соответствует рассмотренной ранее микрокоманде (шестая микрокоманда микропрограммы заполнения буфера)

Ф в ней заданы микрооперации "Первое продвижение" (поле "Продвижение" ), "Индекс" (поле "Адрес базы-индекса"), "База-индекс" (поле "Первый вход"), "Второй адрес" (поле Второй вход и выход") и "Условный переход" (поле "Условие" ).

Микропрограмма обработки операндов команды нагрузки состоит из двух микрокоманд — в первой микрокоманде в поле "Арифметика" заданы микрооперации передачи на выход адреса записи арифметического блока 3 четырех байт информации из восьмибайтарого слова, поданного на первый вход дан-, ных арифметического блока 3, кроме того, в. первой микрокоманде задана микрооперация "Яагруука". Вторая микрокоманда является микрокомандой ожидания в обработке, и микро.операции в ней не заданы.

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

На выходе адреса записи арифметического блока 3 формируются четыре байта информации, подлежащие загрузке в блок 4 местной памяти операндов

r7 1 1 и в блок 7 местной намя Ги базы--индек са. 73дрес ячеек блоков 4 и 7 местной памятеи операндов и ба.зы--индекса, в которые выполняется загру"-к", формируется на выходе герво: о блока 6 регистров. В блоке 2 збработк!3 команд Выг10дн51ется г1родвиже i!Hc .

Иэ регистра 28 команд =;cpa a; netty a— тор 29 команд в первый буферный ре— гистр 30 заносятся два старг1Н3:. байта команды, сле,цующе,",. за к:.мандой записи (первое прад.-3их ение ня второй уровень третьей команды).

В регистр 34 форматного кода заносит

С.H форматный код ко1.!анды «э первогo буферного регистра 30. ДI3a chapt!!H-.-. байта второй команды (команды записи) из второго буферног„ -:;егистра 31 заносятся в третий буферный регистр 32. Счетчик 33 модифицируется на плюс единицу. Содержимое ячейки .!азы (команды эаг1ис!.1),. с-1итянное в предърдущей микро:(оманде в регистр

11 бязь;-индекса., —.:=-рез коь!мутатор 9 ин1дек-.а ере(3аетca !Ià пгpR!:131 вход (1янн .-Iх ". "ммятоп я ня 3T ор oй вход дя1!н 1х которого -!эрез K.) .;",Êtвтор 10

:-М,— и, !!H," Пвоепавтоa ИНЦЕК,-.,Pi!Ha!!i,b!r .=. 3эе o; —.Оря ндя êo"1я-;дь1 записи из pei* ..",(тря 38 13 t" opoI o адреса, В суммаtn е 8 выпол:-1яет; я окончя сльное itop— !Ировян Ie адреса o!tерa!Iïà. с выхода сумматора 8 3ToT ядр = с зя p",кается

;.егистр 38 втopn- о ядрсся, 138805 52 — манды, сформ:1рованным на выходе регис;ра 1! базы-индекса, и с адре-сами базы и индекса команды записи, сформированньгми ня втором выходе второго блока 22 регистров. При отcутствии сравнения на выходе первого блока 24 сравнения вырыбятывается нулевой потенциал, запрещающий работу мультиплексного регистра 20

10 кода коррекции, на выходе которого формируются сигналы, соответствующие нулевому состоянию признаков коррекции и начальной выборки. Поскольку информация на выходе адреса записи арифметического блока 3 формируется в конце текущего такта, фактическая загрузка в блоки 4 и 7 местной памяти операндов и базыиндекса производится в следующем такте.

Если в первом блоке 24 сравнения обнаружено совпадение адреса загрузки с адресом индекса третьей выполняемой команды, на выходе перво! о блока 24 сравнения вырабатъ!веется сигнал., по кОтОрОму В

; улътиплексном регистре 20 кода (nnðå.:.!,",и при наличии разрешающего потенциà!Ia нэ выходе селехтОра †мультиплексора 18 базы-индекса устанавЗi лизаетca приз".àê автоматической корpBKI!H::1, Ilo c:äHHH÷ному состОянию признака автоматической коррекции

:-!a выходе мультиплексного регистра

П1.изнак истин!,ости оазь1 команды 35 записи с выхода сег ектора-!гуль Гиплекс ора 1 8 базы — индекca загр i(aется Б блОK 23 тоиггерон, а ня rrrir i(oце се .г ектора--мультиг1ле;copa 18 баэы— иьдекса формируе rca потенциал, Щ соответствуюц11Й признак 1!с. ГиннОс ти индекса тр тьсй ъыполняемой команды. Адрес базы кома:-:1цы э аписи с выхода регистра 19 адреса базы-индекса эяпоми1 ается Но втором блоке ?? ре— истров, в регистр i . я, реса базыиндекса из перього о,ферного реI истра. 30 за1 ру",Кается aдрес индекса тре Г,p.:-! команды. Ес. 1и э G ij pic

На Hулю, сандер;гимое я;ейки . .ндекся после счит1,1вани3. Нз ло-! (а 7 местной памяти базы — индекса загружается в регистр 1: базы индекса. В первом блоке 24 сравнения

::ь;лолняетс"., сравнение адреса загруз,(и, сформированного a вьгходa первого блока б регистров, с адресом индекса третьсй вьгполпяемой кокода коррекции в спедующем такте

11рэ1reccîðà формируется потенциал, управляющий работой первого шифратора

25 адреса. В рассматриваемом примере установка признака автомат.!ческий коррекции после первого такта выполнения цепочки совмещени;-.. микропрограммы обработки не влияет íà ра боту процессора, поскольку во втором и третьем та1.тах цепочки совмещения предстоит считывание из блока 1 основной памяти дпя команды записи.

Если отдел!и1о рассмотреть случай, когда вторая выполняемая команда является командой с форматным кодом "1000"-"1!011" или "0100", то в с.оответствующей цепочке совмещения для такой команды нет предварительного считывания ог1еряндя и непосредственно после первой микрокоманды цепочки совмещения выполняется последняя микрокоманда, в которой прои водится суммирование смещения с индек— сом. Поскольку в последней микроко53 11388 манде цепочки в поле "Первый вход" задан код микрооперации "База-ин-декс", то по признаку автоматической коррекции в первом шифраторе 25 адреса этот код преобразуется в код микрооперации "Арифметический блок" и через коммутатор 9 индекса на первый вход данных сумматора 8 вместо содержимого регистра 11 базыиндекса передается информация с вы- 10 хода адреса записи арифметического блока 3. Признак автоматической коррекции вырабатывается только в течение одного такта процессора непосредственно за тактом выполнения 15 микрокоманды обработки, в которой задана микрооперация "Загрузка".

Если в этом следующем такте в микрокоманде совмещения в поле

"Первый вход" задан код микроопе- 21) рации "База-индекс", то при адресном суммировании вместо считанной в регистр 11 базы †индек нескорректированной адресной компоненты учитывается новое значение базы или 2g индекса, формируемое на выходе арифметического блока 3. Если между тактом выполнения микрооперации "Загрузка" и тактом адресного суммирования выполняется по крайней мере один про-3О межуточный такт, то этого оказывается достаточно для загрузки новой адресной компоненты в блок 7 местной памяти базы-индекса и ее считывания в регистр 11 базы-индекса, т.е. признак автоматической коррекции может быть сброшен, и микрооперация

"База-индекс",(поле "Первый вход") выполняется без перекодировки.

Возвращаясь к случаю, когда вторая 4О команда является командой записи, рассмотрим дальнейшие действия.

После такта выполнения микрокоманды обработки с микрооперацией "Загрузка" в цепочке совмещениядля команды запи- 45 си выполняются два промежуточных такта считывания блока 1 основной памяти, поэтому в последнем тактесцепочки совмещения суммирование адресных компонент производится обычным обра- О зом, без перекодировки.

Если "в такте выполнения микрооперации "Загрузка" в первом блоке 24 сравнения обнаруживается совпадение адреса загрузки на выходе первого бло- 55 ка 6 регистров с адресом ячейки базы или индекса (команды записи) на втором выходе второго блока 22 ре05 54 гистров, то по сигналу с выхода первого блока 24 сравнения при наличии соответствующего разрешающего потенциала на втором выходе блока 23 триггеров в мультиплексном регистре 20 кода коррекции в следующем такте устанавливается признак полной коррекции. По этому признаку на выходе мультиплексного регистра 20 кода коррекции вырабатывается потенциал, управляющий работой второго шифратора 26 адреса и коммутатора 21 адреса коррекции. В рассматриваемом варианте реализации процессора для его упрощения опрос коммутатора 21 адреса коррекции выполняется сигналом, формируемым по микрооперации "Функциональный переход", с тем чтобы выход в микропрограмму коррекции осуществлялся только после завеошения выполнения очередной команды на четвертом уровне совмещения перед началом выполнения следующей. Это подчинено обшему правилу обработки критических или специальных ситуаций в процессоре> возникающих при оаботе средств контроля и отладки оборудования и программ системы прерываний и т.п. (не показано).

Единая организация перехода к микропрограммам обработки таких ситуаций, в частности к микропрограмме коррекции, приводит к необходимости предусмотреть дополнительные меры для предотвращения возможных нежелательных последствий предварительного считывания операнда, выполняемого в цепочке совмещения. команд с форматными кодами "0101"-"О!11" по нескор— ректированному адресу. Указанные дополнительные меры узко специфич— ны и не влияют на сущность предлагаемого изобретения, во избежЯ ие излишнего усложнения описания их реали— зация не отражена на чертежах. Для определенности предположим, что считывание операнда по сневерному адресу выполняется обычным образом, однако реакция процессора (выход в прерывание или т.п.) на возможные возникающие при этом ошибки запрещена признаком полной коррекции. Признак полной коррекции вырабатывается в течение всего интервала времени, начиная с такта процессора, непосредственно следующего за тактом выполнения микрокоманды обработки с микрооперацией "Загрузка" и кончая тактом, 57

58 ции "База-индекс" (поле "Первый вход")

"Регистр смещения" (поле "Второй вход ), "Второй адрес" (поле "Выход" ) и "Коррекция" (поле "Адрес базы-индекса ). Ha первый вход данных сум- 5 матора 8 через коммутатор 9 индекса передается содержимое регистра 11 базы-индекса (индекс команды записи).

На второй вход данных сумматора 8 через коммутаор 10 смещения передается содержимое регистра 27 смещения (смещение команды записи). Результат сложения с выхода сумматора 8 заносится в регистр 38 второго адреса.

По микрооперации "Коррекция" IS в поле "Адрес базы-индекса" в ре-. гистр 19 адреса базы-индекса с .первого выхода второго блока 22 регистров загружается адрес базы для команды записи, а предыдущее состояние ре- 20 гистра 19 адреса базы-индекса (адрес индекса для команды записи) запоминается во втором блоке 22 регистров. Содержимое ячейки индекса считывается из блока 7 местной памяти базы-индекса и заносится в регистр 11 базы-индекса, если по т риэнаку истинности не выполняется сброс регистра 11 базы-индекса. Признак истинности формируется в селекторе-мульти- 30 плексоре 18 базы-индекса по соответствующему сигналу с первого выхода блока 23 триггеров. Вторая микрокоманда микропрограммы полной коррекции содержит те же микрооперации, что и первая микрокоманда, только вместо микрооперации "Регистр смещения" в поле "Второй вход" задана микрооперация "Второй адрес". В результате выполнения зтой.микроко- 40 манды индексированный адрес суж иру-.. ется с содержимым ячейки базы и в регистре 38 второго адреса формируется скорректированный адрес операнда для команды записи, во втором блоке 22 регистров и блоке 23 триггеров хранятся адреса и соответствующие признаки истинности для индокса и базы команды записи, а на выходах регистра 19 адреса базы-индекса

50 и селекторе-мультиплексоре 18 базы.индекса формируется адрес и признак истинности для индекса следующей (третьей) команды.

При выполнении микропрограммы коррекции после цепочки совмещения, в которой предварительное считыва- ° ние операнда из блока 1 основной памяти было запрещено признаком полной коррекции, это предварительное считывание выполняется по скорректированному адресу в дополнительных микрокомандах. После завершения двух тактов предварительного считывания или для случая отсутствия предварительного считывания начинает выполняться последняя микрокоманда микропрограммы полной коррекции, аналогичная последней микрокоманде цепочки совмещения RX формата и содержащая те же микрооперации, эа исключением микроопераций поля "Продвиже- ние" (продвижение в блоке 2 обработки команд уже было выполнено при вы-. ходе в микропрограмму полной коррекции). Таким образом, для выполнения полной коррекции дополнительно затрачивается три такта процессора или при необходимости предварительного считывания операнда — пять тактов (микропрограмма заполнения буфера выполняется соответственно за семь или девять тактов).

Микропрограмма обработки операндов команды типа залиси выполняется одновременно с цепочкой совмещения для третьей команды и состоит из пяти микрокоманд. Перед началом выполнения первой микрокоманды обработки (в такте микрокоманды ожидания в обработке) информационное слово из блока 1 основной памяти и регистровый операнд из блока 4 местной памяти операндов считываются в арифметический блок 3. В первой микрокоманде обработки в пале "Арифметика" заданы микрооперации, по которым четыре байта в информационном слове замещаются регистровым операндом, и результирующее восьмибайтовое слово формируется на выходе данных арифметического блока 3. Микропрограмма обработки операндов команды залиси выполняется более чем за два такта, поэтому в первой микрокоманде обработки saдана микрооперация "Установка занятости". По этой микрооперации в одновременно выполняемой первой микрокоманде цепочки совмещения формируется адрес перехода к микрокоманде ожидания в выборке и цепочка совмещения зацикливается на этой микрокоманде до тех пор, пока не будет выполнена микрокоманда обработки с микроопераций "Сброс занятости".

113880 >

РО В >" <)pOI+i >1!51крОКО!<13нде GUp< 60->КИ ЗЯI

ДЯНЯ i гик!)00!!ер>ация 1d llHсь > по KQ торой содержимое pc!< HcTp,l 3> перво-G адреса (в последней микрэкомя11це це— почки совмещения по ь!икроопграц?ги

"1(онец Выборки" В ре1;!с ..р - 3» первогG адреса. был подгог::вле!.;:: .> c GIIOс <1Дс! ДЛя 1(ОМЯ НДЫ 3 ЯПИС И . <» !", 1- К 01 !— мутатор 3 адреса †:о>дя:ò-.:- ня,пи::с»

;l>H ВХО,-, ОХ>0 <3 С: »GI,НОИ .".3;.— .:, ПЯ «»П1»Э!1!ХХ?С!1а!Щ>1!Й 3«G>l KO " 1)ОГО П1 -..ТУпяе т у пз>явля!О!!Г?>и» я: и<»)» 3 я»п?» <. .?1 -. Ц?»»кх1 записи блока основной памяти зг

Всрща:-rc;« В четвертом Такт".= 5?икропро .-рям1;ы обработки,ilJ 5> !<Оман»дь> записи. тоетья микроком:-» >зг э>ог1;„»и>(рс>>рoã.раммы :.>с содержит микт <операций 1 четвер- Газ 1СПЕ

РЯЦНЮ СОРОС Зг 151 TOCTH,;10 KGro;>»

В >1<» II<>ч»<с» C -i 3,,1PI!Е H»лв, > —.,>> 1;: »TВ >1В P (-Я и, реход от мик ) Ок омг нды ожидг ния

В Вь!б-:.; <е к возможному предвари гельн омУ с ч?!т!»!тз Яви!О опе>за ВДЯ из бГ! Окс! l

-. cHo:-:":-.ой >за! =. TH:J?и ег>осредствснно

< lGC IE,,Нзй !ИКРОКО " 3 >ДЕ ЦЕ "IГЧКИ СОВ

1; Е! >Е -:, >.1<;, .1СC !Отp»>; Слу>>с..I » когда В;)И ВЫ1;!ЕНИН >i<. доп pOI pс.."!" !Ы 061>яоо ТI(И

КОМЯНДЬ1 3 =i!illÑÈ <1,!!>Ь .С . - . 31111CH ПО

1!Ядает В,диг>!Язон адреcо!з команд тге- «(! ье>0 -- перво: о уровней созмещени:;.,.-,Дрес за-!!.ñH. хранящ?!Йся 1 ре-.: ñòðå.: > !-,:.pо1 о 1>.(е>!ря>?,та . с.г;а >ниI а- г1:". .> г. кс<х .)» и 30 Ядр bc3 команды и !1,)Одзи . 55

01.-., -,!реса, 1а Выхо е В горого бло-«3 0 GPЯВнениЯ зы> ° с!ос> Тыва с .ТсЯ .ит ! .; <« lI С 0 Б: 3>(l E. 1 t 1! 51: 3 СХI И <.ДО Е С В Ч Е ТЧ И хе э 1 1 реса .ко,!яьдь1 и> 1,1,z< ?1>I?! ряве и

ЯДРе» У В p< ", H< TpP 1/ "ppBОГО Ядр<-С3 H Up\3ÎÂÐÑÌÅ>1 0 аДР=<. В P ÃH ò-! Е j > „1< р ВОI О а„(рЕ С Я !МЕНЬ»!1ХЕ И.15> раВЕ и

-. Я 1>Д HQ ИЗ У K 3: —.<3 ВНЬГК .>СЛ:. В? :- И 3ÄPeC

В 1 ЧЕТЧИ<" >) ПРСОБИН 70! О ЯДРЕСЯ ! е ь не адрес3:В сч"= ."=:<П<е .-: = адреса

КОМЯ I!ДЫ (i сl»<с я СИ . » Я .IH H Во ЗМОЖЕ1Я При

1!ЕрЕПОХIНЕНИИ С -1Е ГИКЯ .>О Г>роднину"Г<> O а,pccя и т!ерехо>>е чер 3 "!31< симан ьно ,Пост i>JIÊI»IÉ BJ) рес блок сl 1 Основ?1 ОЙ пя ,-„. «

»»

1 1H i и,» . 5 ."!ух!1»тип!1!а<к сHOM рс ги< .тре < . 0 ходя кОрре. (ции по мнк?зооперяции .эя "

lIHñb <Во Втором T3KIе выг!ол !ения !.!К?>опрограм?ы обработки) по сигналу 55

СО»!ЯДЕНИЯ УCTRH33..1!1ВЯЯТ Я TIPHЗНЯК

1! г ч =l 1ьн ОЙ Bbi60pi::и и и 3 ВыхОде

«!упьтиплексного регчс1 р«а 210 ко .Я коррекции Вырабатывается соотзетс-гвующий потенцла!Х, Этот потенциал ссхряняется до посл -дней микрокоманды од-новременно выпо lняемой цепочки совмещения. Б последней микрокоманде 11åfl по ч к и H o !AH K p o o I I B p 3 !!HI:. Фу як ц и О н ял ьный переход I. ко»в>утаторе 21 адреса коррекции вырабатывается Н3 первом Выход:=-. код адреса первой микрокоманды ми". по которому этот код адреса

В Олоке 1г? модификации адреса микрокоманды Выдается ня выход з качестве адреса следующей микрокоманды.

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

Рассмотрим отдельный случай выполнения команд, когда в микропрограм ме обработки операндов производится загрузка резух!ьтата в блок 15 мест:-ой памяти операндов, причем микроI1pGI p3i»li»I3 О6р36ОТКН I1bIlIOJIH5IPTC5 более чем за два такта, микрооперац ?я ""?ягрузкя указана. В последней

1!»1Kpo < )!!я! J.-. и?!кропрограмг!ы 06p3007-"

K?! (п 1;, г ь!икзо5<ома?- .дай ов?дания в обряб>) ТКЕ», а одновременно выполняемая цепочка совмеще?1ия не содержит предварительного c÷Hòûâ3HHH операнда ,.1з бг>ока оснознoi= памяти. Такая

cH!уация Возмож?!я„ когда на четвертом уровне совмещения Выполняется команда арифметического типа (схтожение, ;=.1,:,„;-читяние,,"!но(<ение и т,п,) 1 а ня третbc »I уровне — команда с форматнь1м .одом "1000"--"1011" или "0100".

Вс<е микропрограммы обработки операндов, в ко" îðûõ последняя микрокоманда содержит микрооперацию "Эагрузка,. используют вспомогательную микроопер .цию 0:poc конфликта", которая задается в микрокоманде, HeIIoсредстВенно предшествующей микро— команде записи. Микрокоманда обработки> содержащая микрооперацию

0прос конфликта, содержит также м?кро<)1-:".ðàöèþ "Сброс занятости и выполняется одновременно с микрокомац", дой ожидания з выборке. Если в этой микрокоманде обнаруживается, что ядрсс предстоящей зягрузки q формируемый на зыхсд" первого блока 6 регHGTpoe,. совпадает с адресом базы или инцекся команды третьего уровня совмещения, формируемьп! Ня

ВТОро!<1 ЗЫХОдЕ ВТО;)ОГО бПОКя рЕ

05 62 регистра 20 кода коррекции формируется сигнал управления преобразованием кода в первом шифраторе 25 адреса который присутствует в течение времени выполнений следующей микрокоманды (микрокоманда частичной коррекции). В следующем такте процессора выполняются микрокоманда ожидания в обработке и микрокоманда частичной коррекции, в которой заданы все микрооперации последней микрокоманды цепочки совмещения за исключением того, что в поле "Продвижение" нет микроопераций. Частичная коррекция алгоритмически представляет собой задержку на один такт операции суммирования индекса со смещением с тем, чтобы успел сформироваться результат на выходе арифметического блока 3 и можно было воспользоваться автоматической коррекцией путем изменения управляющих сигналов коммутатора индекса. Таким образом, при частичной коррекции дополнительно затрачивается один такт процессора.

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

Одновременная установка признаков приводит в коммутаторе 21 адреса коррекции к формированию кода адреса для наиболее приоритетной микропрограммы (начальной выборки, полной или частичной коррекции).

1 а

В мультиплексном регистре 20 кода. коррекции (фиг.2) для хранения признака начальной выборки используется триггер 49 начальной, выборки, установка которого производится при попадании адреса операнда в команде записи в диапазон адресов команд первого-третьего уровней (в этой ситуации вырабатывается сигнал на втором входе 55) в такте выполнения микрокоманды обработки, в которой задана микрооперация "Запись" (на разрешающий вход триггера 49. начальной выборки поступает сигнал установки по шине 60 микрооперации

"Запись" ).

Последняя микрокоманда цепочки

- о-совмещения выполняется обычным образом за исключением того, что функции микрооперации "База" (поле "Ад- 50 рес базы-индекса ) запрещены so втором шифраторе 26 адреса признаком частичной коррекции. В этом же такте в мультиплексном регистре 20 кода коррекции по микрооперации "Загруз- 55

tt ка устанавливается признак автоматической коррекции. По этому при"-наку на .- гходе мультиплексного

61 11388 гистров, на выходе первого .блока 24 сравнения вырабатывается сигнал, по которому в мультиплексном регистре 20 кода коррекции устанавливается признак полной коррекции. Дальнейшие действия (выход в микропрограмму полной коррекции) соответствует случаю, рассмотренному ранее.

Если в такте выполнения микрокоманды, содержащей микрооперацию 1р

"Опрос конфликта", обнаруживается, что адрес предстоящей загрузки совпадает с адресом индекса команды второго уровня совмещения, сформированным на выходе регистра 19 адреса базыиндекса, то по Сигналу с выхода первого блока 24 сравнения в мульти; плексном регистре 20 кода коррекции одновременно устанавливаются признаки полной и частичной коррекции.

По этим признакам в следующем такте процессора на выходе мультиплексного регистра 20 кода коррекции вырабатываются сигналы, по которым в коммутаторе 21 адреса коррекции фор — 5 мируется код адреса микрокоманды частичной коррекции, а во втором шифраторе 26 адреса блокируется выдача на выход сигнала, управляющего занесением в селектор-мультиплексор 18 базы-индекса, регистр 19 адреса базы-индекса, блок 23 триггеров и во второй блок 22 регистров. Следующий такт процессора является тактом одновременного выполнения последней микрокоманды цепочки совмещения и микрокоманды обработки, содержащей микрроперацию "Загрузка".

В этом такте по микрооперации

"Функциональный переход" на первом выходе коммутатора 21 адреса коррекции вырабатывается сигнал перехода к коррекции, по которому в блоке 14 модификации адреса микрокоманды формируется адрес микрокоманды частичной коррекции. т (iOi ЗНПК ПOÏН()й КГ)Р., РЕ(1ИГ! ХPН(>Т(TСR

-n

Т3 Ti)ж-ГЕР э ЭО,—,;1 >!>(,И КОРПЕКЦНИ, т с, "i -- .Ов;:;,: кс> 1 Оро 0 . ро;.f . Нонн"1 =. и и!—

1->а)(0,>П ." Н(>1ХO!1a и ГРРО Г 0 -.>НЕ,>Е; „: а

;:ттт-. т ->

Ц)1>! Г > ОИ ° 1т(>,; Э (» ;тт )Й )1 т>1 Н 1 (>> Гт тт j; -И >. О> П (т Kj —.т(> -i:.- : .-..> ...° i ртэ i" своа); ..) 1 и э, . час>1 и 1 >:>)., . « .> г. т! ттСТСКО>И КОРРЕКЦИИ Соо 1>Е 1. "..- >Е: Но., УС J.! i 0ÂÊa ИХ П ПОИ 3 В ОЦ:. . Г т.)! "H i 1.....- :: МИ

С В;>(ХОДОВ .. 00> 1 ueT CT e i. > т-) .. - -Р Г

И .->Е-,ВЯPTOT Î 3-(Я Те I> (7

".Отвеотыи элем(нт . - Ср 1>aa (ыва". в Ir а(ГИИ, К(-;! =.a 071>(О Б!) Е> ТЕ:> О (>Рт)» тт-— б 1 >)->B> Н Tl - т :», В 10)»j I)

С !1!Ã> P CO >.:.! К(ГЕ .:. ()а I; т:. .-11(,(>1:1! О(-(" >

>1.>(а((i „Ы Б": Р О Г 0 )r P 0 В(! и В П 0 сг((- > - Lй 1: .>I p:..) (>1(. андp. н,=,! (О 1> !.: >)в>ме—

1:(е1 ";j 1;.1 г>.ято. ": > к()де )б 07(ока ени> f r r: r»

\,,»Гт >,, т> Т >Нт I1)(OМЯ . !» > i!)I а >(> х(И *

1 3880 = полне! HH м. -! т:рОкома н>1ь! Оорабо тки >

c!)>(eprfiaÙeÉ микрОО((е„>ацию Опрос ко((>т).!(! (кта (на> т>(т и не 54 мик170(эпЕРаЦИН

>ОПроо КОТ(((71- »K f-. — раЗрЕШавщИЙ СИГэ на>(> т г. е, абла> овременно выдсляется ит. ация когда микрооперация

» 3 :,(;узк» .адана послед тей микрокома (д>е Обработки) такт (>ьптолнения ковор(и совладает с гактом выполнения .... с;-едней микрокоманды цегочки со Гтт(еше нк(т! и адр ес предстсящей з агрузки совпадает с адресо(! Индекса f. э пой ситуации одновременная предвариiei((ная установка триггеров 50 и пОлнОЙ j>" 01)ряк иве и частичной коррекции позволяя-. в микрспрограм: я сов еп(ения задер)кать на один такт

»Ь>-(0!IHe. rr Е "(KI(pOOI(epa>>HI(1 ОпаНИЮ МЕПТЕНИЯ И ИНЦЕКСа. КОтатЭЫй «ecбхс имо скорр>ектировя("ь путем орг.-низапии перехоца к микрокоман— де асти ной коррекции, в которой понт тряются эти микрооперации суммирования, Установка триггера з2 автома-. —.(" ЕСКОИ icc PPÅ Г(!.ГИ>-(= На ВОЕМЯ таКта ! ппол(я м=к->Око (анды частич=О-,-, -)т)- Е. ™ .И: -ОЗВОЛЯЕт ПРИ ГТ.,)ВтОРС :(ь Н, О „iaн-,,И > Е т1> C 11(т)>»1 ЕК Иро

-),т".В.- 1>»(К ОПЕК> -.:

1(ри совпадении адреса загрузки с )1(-,;асом базы или индекса команцы т()-.. "..e:-О у-)сíня (т- - шине 52 или! fi:::

"> э ,,т(;->т:.„-. -т-.;;: г>г>мещеФ вЂ” r>c ->— ... Г(;ГТ) ° ) r,): r т;-i 1 1 .,",:> f .".;)iif;!>j

i) fэ-..;».1->(Р,-НТ;„;:, О.>;.(»Т);,(=,11;>Эй -:1 ;>f . О>.

1,:;.PB,f,"-r> Э)((ЭЭМЕНт I h. СР >((ба> Т Ьэ!>В>Е)Е"т

В (" тr=i тj:.Ij! a (ал() Г ИЧНО(» Ц(т и (Гэ В(эТ)--Е (rjт! На>(Ы тт тт>jò(:> Г П 1 !. Е(>

Г .т,, -(:> iт.;е -)в н! >>р() 0 у)) -, т>!. 1 т= 1;.:-> и= (" (); i >1хрц;- ЭВ бло),"а, . О н " ак" P BL!"

) Оавенств- ацресов третьегO уровi()> - .;- Г1ИНИ:тн(э(т! F>ÎTBНЦ! c II) нa-:; чии соответс "вуюцего признака

,iIci COOTBPTCTByЮЩЕй IUH не 56 или 5/ истинности адресов

f" "1Ir!(И ЧНЬ(й >10 ".ЕНШ(аЛ,! ПО СИГНЯЛУ С

1 >1ход ".. эл> ме. - т..а ;ИЛИ 40 В тai«e выпол

-(Е (тття (ИТКроО!. Ерацин ОПРОС КтзифЛИКт» или Ьa! I):1: —;;:.a (сигналы на соотвстcTBóþöèõ и;ивах 64 .-ли гэ) сраба.-ывает со=:TBe ." В.(()щ(.(й элемент и 43, Ив!И(44, и -(epee элемент Y(IH 4!-7 устанавлиBa«TO)-.. триггер э0 полной коррекции. Ес) H Оь новременная устаI0;iKa три-.героя )0 и 31 полной и —:-:.a(=Инной КОРГ->ЕКЦИ(! ВЫЗВаНа ОЦНО1>Реметэнь(м сРабатыванием пеРвого и

В;"Oi.. 0! C Ээ"(Е(Ip B! OB И 42 И 43 HITCH ПЕрвого и "påòüåãî элементов И 42 и 44

Г аДРЕ С Ет В тОР01 0 И тт) ЕТЬЕ Г 0 ТГРОВНЯ

СОНГ(а)1Н>Ю ) тC ПОСКОЛЬК!> Это Воэ можно только в тахте выполнения микрооттерации "Опт)ос конфликта", в сэь!Сдэ»юп(см акт(е устa(>OBI(a т 1)иг =e—

pc1 -:О пол.-; ой коррекции будет j(сдт)>e (7;XI)reна ПО f"jjf(POOIIePaЦИИ .ЗЯ ГРУЗ К а

1138805 66

В этом такте организуется переход к микрокоманде частичной коррекции, и функции микрооперации "База" в поле ".Адрес. базы--индекса" запрещены, т.е. сохраняется состояние на шинах 62 и 63 равенства адресов третьего уровня и шинах 66 и 67 истинности адресов. В такте выполнения микрокоманды частичной коррекции триггер 51 частичной коррекции 10 будет уже сброшен, а по установленному триггеру 50 полной коррекции организуется переход к микропрограмме полной коррекции. Сброс триггеров

49 и 50 начальной выборки и полной коррекции производится сигналом перехода к коррекции на шестом входе

59 блока.

В коммутаторе 21 адреса коррекции (фиг.3) при установленном

20 признаке начальной выборки по потенциалу на шине 83 начальной выборки в узле 68 приоритета блокируется срабатывание элементов И 69 и 70, а в шифраторе 72 элементами ИЛИ 73 и 74 формируются два младших разряда кода адреса первой микрокоманды микропрограммы запоминания буфера, поступающие на шину 86 адреса коррекции. 30 !

При установленном признаке полной коррекции в отсутствии признака на— чальной выборки по потенциалу на шине 84 полной коррекции в узле 68 приоритета срабатывает элемент И 69, 35 а если на шине 85 частичной коррекции есть единичный потенциал, то срабатывает-также элемент И 70.

По потенциалу с выхода элемента И 69 (или элементов И 69 и И 70) в шиф- 40 раторе 72 элементами ИЛИ 73 и 74 формируются два младших разряда кода адреса первой микрокоманды микропро граммы полной коррекции (или код адре-. са. микрокоманды частичной коррекции);45

При появлении единичного потенциала на любом из входов шифратора 72 срабатывает элемент ИЛИ 75, по йотенциалу с его выхода разрешается срабатывание элемента И 76, и через элемент НЕ 78 блокируется срабаты вание элемента И 77. При выполнении микрооперации "Функциональный пере- . ход" на втором входе 80 блока возникает сигнал, по которому срабатыва- 55 ет элемент И 76 и на шине 87 перехода к коррекции вырабатывается сигнал перехода к коррекции. Код адреса и сигнал перехода формируются на выходе 81 блока. Если ни на одном из входов шифратора 72 нет единичных потенциалов, то по выходу элемента ИЛИ 75 через элемент НЕ 78 разрешается .срабатывание элемента

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

Во втором блоке 22 регистров индекса (фиг.4) по сигналу на управляющем входе 91 выполняется занесение кода адреса базы или индекса с входа 90 в первый регистр 88, предыдущее содержимое первого регистра 88 загружается во второй регистр 89 и формируется на первом выходе 92 буфера. Сигнал на управляющем входе 91 возникает при выполнении любой микрооперации в поле "Адрес базы-индекса"/ если в такте выполнения этой микрооперации отсутствует признак частичной коррекции — это используется для блокировки функций микрооперации

"База". При выходе в микропрограмму полной коррекции содержимое регистров 88 и 89 пооче1Ьдно выдается. на первый выход 92 буфера.

Для обеспечения возможности сравнения адресов хранящиеся в регистрах 88 и 89 коды адресов формируются на втором выходе 93 блока.

В блоке 23 триггеров (фиг.5) по сигналу на шине 102 занесения адреса выполняется занесение признака истинности базы или индекса с входа 97 в первый триггер 94, предыдущее содержимое которого заносится во второй триггер 95 и формируется на первом входе элемента

И 96. Сигнал на шине 102 занесения адреса возникает при выполнении любой микрооперации в поле "Адрес базыиндекса", если нет запрета выработо ки этого сигнала по признаку частичной коррекции. При выходе в ,микропрограмму полной коррекции по микрооперации "Коррекция" (поле Адрес базы-индекса") на соответствующей шине 101 возникает потенциал, по которому состояние триггера 95 через элемент И 96 передается на первый выход 99 буфера. Для обеспечения учета текущего состояния. признаков истинности при сравнении адреса загрузки с адресами базы и индекса!

) г >

P /

1 I 3880;) Г;-Гг(нсй К!)) )/:1:(Я 3,< 1f ÅÑ "! (И?

:-, ;.Не (-:ния ад

1 1,6!!OCi(0Jt >.К j Нг! ()) О () г.) (-" > ;/ Е (Я

)Л(: (- и 1 Я <>}:. ли 0:с)jтстдн( я Выходе элем r (. l: (1 ВЛ Я)(!(((0 " (У С

;- Е (1(- г. ИЯ г Д P P С Я гг ("! 136 B03ник .рH> прие.ме сто .< О В Я I-: H О " О (Р И 3

В (C! P O!i!f В Х ОД Уг

<г Д

="!rI.K )ДЕ

ЦЕ 1г< ) бдокя.

/ е 1 1.Д ::<11>(г-<)().B : /)В,-::;;>>.; г)...:

TblF?BНИ.O: i=< ÅНтЯ И - .. .:> 1(.,;... В Т":).:

° ..l!5 ЧЯЕ, Е/СС)! H Н/Я Ьг .! Е ..: ."*. (гг > 1 . 1 1!1 е/,>if!H" (/Г< (О P: i - = 1 . IIЯ .)ДЫ П:-i) ВО(O Э..(ЕМЕ. i /

ВЫ 1 Вкго;г ;;(!--,Hг ;; «;:В; K;):« t КОЦ

7« >

МИК»оог(ЕРЯ«<".(tt ЯЗВ -ИН, ЕКС В 10>;Е г<1ЕВ В«Ый В Ход,, 1 ОГ г-,,; Н;.,;г;.;;;.„/.- f QOr

:.ОOTВ/. Tt- ГВ) «ВIДИ(., l ...РOOП(Е()а(ГГ«.1 - ")И((1."

8-.> ?)т()ро,; (е>: J )я г 11) е 6 ядр ес;

1,<))ГГ(: 1 ii ) f: ДHii ii-! НО. < С OCT OH(ÍÈÈ П! И

H;iK-. 1! ОЛ f-i >H KOPPCK)г! /« PCJ« !, Pгl .«НИЧ—

«/1:й); ОТЕ(ПВ;ял -;я ПИНЕ 1)3 рн)iIBKB

=, Г) Гг /Я.../?(01. !/Я Зt)). II!OJ!. Hf!HE 1 ..: /.(КО, О;-()Г г;;;(Х),.(И() / Ю (. Я < Н)" «,-,;Hb; 6

) О; Цнй И .—;Р(; О: гг; ; 1/Н) П;:11)ЗВЯК Я Ч (Ст,-:Ч<

НЯ 31>1Х: t.: :1 г()И(Г)РЯТС . . 1) Т» КГ)? С и"

1,<(и .;,; t„./Э< ."() = Г(И/Х !.Рг rt.

1 г„ ;(0;. )PP /1!(1(1;Н: >ДИ?(?(г(?(г>)й( ((iiн1i1 I«ь .)яботкB c.H< гi

BfIpi СЯ I!B t:(I!H(<: 1> 26 реса заблокирсда).:а., гь(/(0)де элемента СПИ

НЫй,, 1.(НЯ ВЫХОДЕ г 7 гг ),ЕВО?1 П/)ТЕH.—

Ц?(ЯЛ .

Р, -"лг кторе-м) 1- -=" i.!ексоГ(- ) 8 Оа/

ЗЫ--ИНдЕК(.Я,фп?,81 уС ГаНОВКЯ В Едн::! i<(i! ОЕ ИЛИ Н) ЛЕВОЕ СОСТОЯНИЕ ТРИГГE

prB l 3 (,)Op;(Hp) )bb«P I о;Я Вь)ходе 1 4 1

ПОТЕВ))ИЯ1-. г,!ЭИЗНЯКЯ !ICТИННОС ГИ ПРО— ис-(О..(ит соотдетc TBO «но Ilp? наличии еди«ичного сигналя ента 1/) )И 156 I О игна:(у ня пин= 14/: за—

На Вь(ходе элемента яет еди?п(чнь:,.-. -.Игнал

Гдетст дующегD буфери;асса истинности по

138 в ходе Вь<полнения м)«((,)о(рог>)аммь. полной коррекции

1л при ;рабатыдании элементон 1(132

13 ),./Лемен(T/j 1 3/. срабатыдает !

10 (и) н -!.)Ig HG b)t! i- p. 1- (2 .Iик/г)ООперяции

<БЯ-) ОВН = (О(. -)ДЯ ЬЕ Я)).> ЯС TCH КОМС H Эй :; ..< 1 Ма "а В y.—.

,г.! -! 1 :> 1(Я ">);;Ода . !Pt (H НТЯ-, (() <"! r-9

С: )ОВ) (?(()ОВЯ?1 2;(1?(. = (КЫй Г!(>Тг- НЦИЯЛ,, K =!K It)l .(: "« : Tl!УЕТ ЕД%П ИЧН6(й Г(ОТЕН ,,;.;<Е)30 Илг(—,,г gВО>.0 РЯЗР?(ДОВ ХОДЯ .-;и(-ра(д:?-1 и но!(ер Ячейки базы не раВ г:, ? уЛК:, t. Ня ". НХСдЕ ЭЛЕМЕНта Г!Л?г! 13(1! .! -(:;((й 1 Отенциап, так кяк на ши—

t. О i (Е P Я ". Е и К «H(О Я 3 61 Н Я П Е P В OM

z! KO ; t 1/ >1 )Ис)/ТСТВуЮТ 1(Ег«уЛЕВЫЕ и )тон; иалb! =. ."(е !ент И 133 cpBáBTblьяе . Г(о сигналу на (((((1«е 1<,. ", МикроОп.- 0;t,(и?) 1H;IB(< с, ег пи HB В-"<)ром (i0г«НЕ - ОВ?(ЕЩЕНИН Н;-г;."0-ЯTCH! KCI" ЯНДЯ

> /

, .Ор)Ь(ата (В,/BЛЕ 1 г, -BÍB: ИЗа ВОр:(а) -;-..:::i ":.(Хо/.,-.- ).(емента Л 128 сформи-=. <,tr(HI>>If! 61?i IIOT PH> IIB I! . B)K BK

ЩИ!«P

1(у>1 О поте? цнал я щин(!+6 перно(О разряда форматного к )пя —. <. диничный потенциал<1/ и номер

Яг«Е)(К,(ИНДЕКСЯ HE ПЯВЕН H!)JIÐ (HB B6(,(0<(/) эпе?. !«T > 1/«1<((/1 " q Я е диг>?;В((й и() генциял, так кяк на щинях номера

)/чеЙки инде/ ..:B ?(а Hpp/90M Входе 1

8 ОКЕ i /! (/<Однфнкаанi« 1)г" <г,", (1(?(poK<3t!:-!.?!p;bI (фи-,.,8 1 ".IpH О Гсутстнии едини- ного сигналя на щи:-е 162 tpaeХО.," К КОРРЕКЦИИ (-;а ВЫХОДЕ ЭЛЕМ<.Н—

11388

69 та НЕ 151 формируется сигнал разрешения занесения в регистр 147 адреса. Старшие разряды адреса следующей микрокоманды заносятся в регистр 147 адреса по шине 159 старших разрядов адреса, младшие разряды формируются на выходах коммутаторов 148 и 149.

Если на шине 166 присутствует сигнал микрооперации "Функциональный переход" или "Переход по формату на выход коммутатора 148 передается

Ъорматньй код с второго входа 154, при отсутствии этих сигналов передаются разряды адресного поля текущей микрокоманцы с первого входа 153.

tI

В зависимости от кода в поле Условие" (сигналы на шине 165 поля "Условие") на. выходе коммутатора 149 в младший разряд адреса следующей микрокоманды передается нулевой или единичный потенциал (потенциал

"земля" -или потенциал с выхода элемента НЕ 152 — в соответствии с кодами "000" или "001" микрооперации 25

"Безусловный переход"), потенциал в младшем разряде выхода коммутатора 148 (по шине 160 младшего разря— ца адреса и по кодам микроопераций

"Функциональный переход" или Переход по формату") или потенциал с выхода триггера 150 занятости (по коду микрооперации "Условный переход").

Во втором блоке 40 сравнения (фиг.10) первой схемой 167 сравнения 35 выполняется формирование единичного сигнала на выходе в ситуации, когда адрес операнда для команды записи на четвертом уровне совмещения менЬше или равен адресу команды первого уровня, на выходе второй схемы 168 сравнения формируется единичный сигнал, когда адрес записи превышает адрес или равен адресу команды третьего уровня совмещения. При попа-45 дании адреса записи в диапазон адреса команд первого — третьего уровней совмещения формируются единичные сигналы на выходах обеих схем 167 и 168 сравнения, срабатывает элемент И 181, затем элемент ИЛИ 180, в результате на выходе 189 вырабатывается единичный сигнал. Если при модификации адресов команд первого и третьего уровней совмещения 55 происходит переполнение адреса команд. первого уровня, то срабатывает элемент И 184, так как в данной си05 70 туации на шине 190 нулевого разряда адреса команды присутствует единичный потенциал (адрес команды третьего уровня близок к максимально возможному адресу) и на шине

191 нулевого разряда продвинутого ацреса — нулевой потенциал (адрес команды первого уровня превышает

k максимально возможный адрес и по условию непрерывности адресов близок к минимально возможному), т.е. на выходе элемента ЯЕ 185 присутствует единичный потенциал. При таком размещении адресов (на выходе элемента И 184 — единичный потенциал) попадание адреса записи в диапазон адре-. сов команд фиксируется-элементами

И 182 и 183, которые срабатывают по выходным сигналам соответственно второй и первой схем 168 и 167 сравнения. Общий сигнал попадания предполагаемого адреса записи в диапазон адресов команд вырабатывается на выходе элемента ИЛИ 180 по сигналу с выходов элементов И 181 †1.

На выходе первой схемы 167 сравнения вырабатывается единичный сигнал, если на одном из входов элемента И-НЕ 172 присутствует нулевой потенциал, т.е. когда на вход элемента НЕ 179 с выхода (< ) первого элемента 169 сравнения поступает единичный сигнал (код в старшей тетраде адреса записи меньше кода в старшей тетраде продвинутого адреса команды), либо когда на оба входа элемента И-НЕ 174 поступают единичные сигналы с выхода (=) первого элемента 169 сравнения и с выхода (с ) второго элемента 170 сравнения (при равенстве кодов в старших тетрадах адресов код во второй тетраде адреса записи меньше кода во второй тетраде продвинутого адреса), либо когда на оба входа одного из элементов И-НЕ 173, 1?5 и 176 поступают единичные сигналы. Элементы И-НЕ

175 и 176 срабатывают, если адрес записи меньше продвинутого адреса в младших тетрадах. Элемент И-НЕ 173 срабатывает при полном равенстве адресов, когда вырабатываются единичные сигналы на выходах (=) всех элементов 169-171 сравнения и на выходах элементов И 177 и 178.

В первом блоке 6 регистров (фиг.11)

1 на входе 196 появляется сигнал управления занесением в регистры 192

ll38 и 193 адресов считывания при выполнении микрооперации "Функциональный переход и при отсутствии признака перехода к коррекции в последней микрокоманде цепочки совмещения: Адреса регистровых операндов команды третьего уровня совмещения но входу 195 блока заносятся в регис.тры

192 и 193 адресов считывания, Адрес первого регистрового операнда в первом регистре 192 адреса считывания явля тся также адресом. по которому происходит загрузка результата обработки операндов, этот адрес дополнительно заносится в регистр 19ч адреса загрузки. Адреса считыва.ния и загрузки формируются на выход

197 олока.

В арифметическом блоке 3 {фиг.i2) входные операнды, поступающие п", 2п входам 209 и 210 блока, заносятся в соответствующие регистры 198 и 199 операндов. Занесение в регистры 198 и 199 операндов управляется " è-ã- íàëàìè,,поступающими по шине 25

2 16 управления занесением и формируемыми по микрооперациям поля Ариф-.

805 72 метик а . Арифме тиче ская или лог иче ская обработка операндов, занесенных в регистры 198 и 199 операндов, выполняется в арифметических узлах

201-204, каждый из которых обрабатывает соответствующие тетрады операндов и формирует тетраду результата обработки. Вид обработки (сложение, вычитание и т.п.) определяется сигналами на шине 214 функции, формируемыми по микрооперациям поля "Арифметика . Распространение переноса при выполнении арифметических функций обеспечивается узлом 20б переносов. Результат обработки операндов в арифметических узлах 201-204 зaíîñèòся в регистр 200 записи, в первый ре—

-.Hñòð 198 операнда или во второй регистр 199 операнда в зависимости от сигналов занесения на шине 216 управления занесением, формируемых

ll по микрооперациям поля "Арифметика

Использование изобретения позволяет обеспечить повышение быстроцействия процессора на 137 на командах типа сложения-вычитания форматов и на 3Л на командах перехода.

1138805

1138805

1138805!

)38805

1138805

)138805

1138805

Счияа бание памяти/

Прием о регистр И

Прием// регистрУ/

Прием о регистр У2

Прием о регистр/92

Прием// регистр/94

Прием о регистр/9

Приемо регистр//

Приемо регистр2

Кайроопераии//

Загрузка

Загрузнаоюоиальные паююи

4и7

&вк 24 компаратород

Триггер 52

Триггер И

Прием о рееистр З8

Фиг/У НОГЛЬ. 1 ПИЛИ ОСНО иои Г ябяяи1 (Ю j3ECi СР1/3ОЫ дйфыкац ыя

p8cQ Осло&о ц юли / (p8BQcГпд 3с"":,:::: — -=-"г=— м (икр 0муопния (о з7 Й чиГпь4ани О с4о5нойпаиуп опт.",оенlд7Гчшпь} "

Ь ." Ф:, 6. -"и l " аиде

Т ООРОдяыlР 5й 7, до- .

;i „)ан//я(;";я",Р я7г-",,", ("у я)

1i мж Мание основ

;„"-.:"; паююм1 ,,ц ре гислруУб)

,,и .". жение -aasae2

1 IL,-,. ç ïüéàíàå индек) са X) 5-б аЯижение конан

a upa&uue(рарирооо ю A)

"", цшпьйание индекса

//ГШ

) . издание операн дапоад ecg /А ф кп7 Ожидания /7оод ижение

p à aíé. Счияыба,,. -. <8>

Фйдекшрооаиие

©X)++ZZ

1Щихционапьуый м ехоа

Я

"- =- - -. .. Жорржцад

4m

Ta îï ожиАииа од5аженце коман ндексиробаиие (/Х)+Ы

Сцыпы5ание оащ 1В ерема по дорианов оду

48-// родоиженае коканд баэирооание

Гчатьйание uade c жиФни

1ьйпрке(прин пиююеюа =Р

Составитель И.Мацуев

Редактор В.Данко Техред А.Бабннец Корректор М.Демчик

Заказ 10690/38 Тираж 710 . Подписное

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

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

Ф

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

Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций Процессор с совмещением операций 

 

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

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

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

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

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

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

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

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

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