Процессор с совмещением операций Советский патент 1985 года по МПК G06F15/00 

Описание патента на изобретение SU1138805A1

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

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

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

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

2. Процессор по n.-l, о т л ичающийся тем, что коммутатор адреса коррекции содержит два элемента НЕ, четыре элемента И и три элемента ИЛИ., причем вход первого элемента НЕ соединен с входом данных коммутатора, а выход этого элемента НЕ подключен к первым входа первого и второго элементов И, вторые входы которых соединены с входом данных коммутатора, первые входы все элементов ИЛИ подключены к выходу второго элемента И, вторые входы первого и третьего элементов ИЛИ соединены с входом д;анных коммутатора, а второй вход второго элемента ИЛИ и третий вход третьего элемента ИЛИ подключены к выходу первого элемента И, выходы первого и второго элементов ИЛИ и третьего элемен8805

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

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

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

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

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

название год авторы номер документа
Микропрограммный процессор 1980
  • Елисеев Александр Александрович
  • Крупин Владимир Александрович
  • Ленкова Валентина Мироновна
  • Петушков Александр Николаевич
SU868766A1
Вычислительное устройство с совмещением операций 1989
  • Анейчик Владимир Анатольевич
  • Елисеев Александр Александрович
  • Лиокумович Ирина Исааковна
  • Роговская Татьяна Ивановна
  • Третьяк Татьяна Михайловна
SU1716528A1
Управляющая векторная вычислительная система 1982
  • Прангишвили Ивери Варламович
  • Бабичева Елена Владимировна
  • Малюгин Владимир Дмитриевич
  • Соколов Владимир Владимирович
  • Денисенко Сергей Васильевич
  • Вейц Александр Вениаминович
  • Иванов Александр Иванович
  • Шкатулла Анатолий Иванович
  • Зверков Борис Семенович
  • Зрелова Татьяна Ивановна
  • Левертов Яков Анатольевич
  • Тодуа Джондо Альпезович
  • Гоголадзе Омар Васильевич
  • Вепхвадзе Анзор Николаевич
  • Гудушаури Гмаи Шалвович
  • Голубев Александр Павлович
  • Березенко Александр Иванович
  • Корягин Лев Николаевич
SU1120340A1
Устройство центрального управления процессора 1983
  • Никитин Анатолий Иванович
  • Зак Лариса Семеновна
  • Цуканов Юрий Петрович
  • Мегель Клавдия Ивановна
  • Засоко Александр Борисович
  • Маликова Надежда Михайловна
  • Нестерова Людмила Григорьевна
  • Игнаткин Николай Александрович
SU1136177A1
Устройство для управления и микродиагностики 1981
  • Ткачев Михаил Павлович
  • Харченко Вячеслав Сергеевич
  • Тимонькин Григорий Николаевич
  • Барбаш Иван Панкратович
  • Ткаченко Сергей Николаевич
SU968815A1
Устройство для сопряжения памяти с процессором 1982
  • Никитин Анатолий Иванович
SU1136176A1
Процессор с микропрограммным управлением 1975
  • Ростовцев Игорь Кириллович
  • Кондратьев Анатолий Павлович
  • Ленкова Валентина Мироновна
  • Ковалев Олег Семенович
  • Переверзева Бэлла Шепселевна
  • Елисеев Александр Александрович
  • Беляева Марина Александровна
  • Шандлер Инесса Григорьевна
  • Лиокумович Ирина Исааковна
  • Раецкий Александр Мустафович
  • Ковшик Тамара Ивановна
  • Гриневская Лариса Михайловна
SU525956A1
Процессор с микропрограммным управлением 1983
  • Соловьев Алексей Алексеевич
  • Курбатов Борис Юрьевич
  • Барашко Виктор Сергеевич
  • Еремин Алексей Тимофеевич
  • Власов Феликс Сергеевич
  • Румянцев Владимир Ильич
SU1149273A1
Перестраиваемый микропрограммный процессор 1981
  • Харченко Вячеслав Сергеевич
  • Благодарный Николай Петрович
  • Плахтеев Анатолий Павлович
  • Тимонькин Григорий Николаевич
  • Ткаченко Сергей Николаевич
SU983713A1
Микропрограммный процессор 1981
  • Харченко Вячеслав Сергеевич
  • Плахтеев Анатолий Павлович
  • Благодарный Николай Петрович
  • Тимонькин Григорий Николаевич
  • Ткаченко Сергей Николаевич
SU980095A1

Иллюстрации к изобретению SU 1 138 805 A1

Реферат патента 1985 года Процессор с совмещением операций

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

Формула изобретения SU 1 138 805 A1

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

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

3 .

блок адреса и регистр микрокоманды, локальную память операндов, арифметический блок, коммутатор3 буфер команд, блок регистров адреса с узлом сравнения, блок компараторов. При вьтолнении загрузки информации в локальнун) память операндов или записи в основную память и при необходимости одновременного выполнения считывания из той или иной другой пмяти на вход арифметического блока поступает адрес ячейки, в которую производится загрузка, или запись сравнивается с адресом считываемой ячейки в блоке компараторов или в узле сравнения соответственно. При сравнении адресов вместо считывания адресованной ячейки на вход арифметического блока передается записываемая информация 1J и 2j .

За счет такой передачи обеспечивается некоторое повьшение быстродействия процессора , однако оно является незначительным из-за низкой степени совмещения операций в данных процессорах, т.е. низкой вероятности возникновения конфликтной ситуации по одноБременно 5у считыванию-записи одной и той же ячейки (коммутация записываемых данных вместо считываемых выполняется редко) . Кроме TorOjнедостатком данных процессоров является функциональная ограниченность технического решения поскольку оно эффективно только при одновременности выполнения операций считывания и записи - более или менее значительное фактическое запаздывание операции записи относительно алгоритмически последующих одной или нескольких операций считывания (что характерно для быстродействуюн(их процессоров с совмещением операций) приводит к необходимости использовать другие технические решения, например повторное выполнение операций в режиме, когда фактическая последовательность действий совпадает с алгоритмической (отмена совмещений),

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

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

конфликт З .

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

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

Указанная цель достигается тем, что процессор с совмещением операций, содержащий блок основной памяти, регистр команд, счетчик команд,

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

базы-индекса, блок местной памяти базы-индекса, селектор-мультиплексор базы-индекса, регистр базы-индекса, коммутатор индекса, коммутатор смещения, сумматор адреса, блок

модификации адреса микрокоманды, первьш блок памяти микрокоманд, первый регистр микрокоманды, регистр адреса микрокоманды, второй блок памяти микрокоманд, второй регистр микрокоманды, рхзгнстры первого и второго адреса, счетчик адреса команды, счетчик продвижения адреса и коммутатор адреса . первьй, второй, третий и четвертый входы данных, первый и второй управляющие входы и выход которого соединены соответственно с выходами счетчика продвижения адрес регистра первого адреса, регистра второго адреса, Счетчика адреса, первыми выходами первого и второго гистров микрокоманды и адресным вхо дом блока основной памяти,вход данных, первый и второй управляющие входы и выход которого подключены с ответственно к выходу данных арифметического блока, первым выходам первого и второго регистров микрокоманды и входу данных регистра команд, синхровход и выход регистра команд сординены соответственно с первым выходом первого регистра мик команды и входом данных коммутатора команд, управляющий вход и выход которого подключены соответственно к выходу счетчика команд и входу данных первого буферного регистра, выход первого буферного регистра соединен с входами данных второго буферного регистра и регистра форматного кода и первыми входами данных регистра адреса базы-индек1са, селектора-мультиплексора,базыиндекса и коммутатора смещения, вхо данных и выход третьего буферного регистра подключены соответственно к выходу второго буферного регистра и входу данных первого блока регист ров, синхровходы счетчика команд, регистра форматного кода, первого, второго и третьего буферных регист ров соединены с первым выходом перв го регистра микрокоманды, а выход первого блока регистров подключен к первым входам данных первого блок сравнения, блока местной памяти базы-индекса и блока местной памяти операндов, первьм и второй входы данных и выход адреса записи арифметического блока соединены соответ I ственно с выходом блока оперативной памяти, выходом и вторым входом данных блока местной памяти операн дов, а вход управления обращением блока местной памяти операндов и вх кода операции арифметического блок подключены к первому выходу второго регистра микрокоманды, выход регистра адреса базы-индекса соедине вторым входом данных первого блока сравнения и адресным входом блока местной памяти базы-индекса, вход 56 управления обращением, второй вход данных и выход которого подключены соответственно к первому выходу второго регистра микрокоманды, выходу адреса записи арифметического блока и входу данных регистра базы-индекса, выход и синхровход. которого соединены соответственно с первым входом данных коммутатора индекса и выходом селектора-мультиплексора базы-индекса, второй вход данных которого подключен к выходу регистра форматного кода, вторые входы данных коммутаторов индекса и смещения подключены к выходам регистров первого и второго адреса и выхо-ду счетчика адреса команды, а выходы коммутаторов индекса и смещения соединены соответственно с первым и вторым входами данных сумматора адреса, выход которого подключен к входам данных регистров первого и, второго адреса и установочному входу счетчика адреса команды, третий вход данных коммутатора индекса соединен с выходом адреса записи арифметического блока, а управляющий вход коммутатора смещения подключен к первому выходу первого регистра микрокоманды, первый адресньй вход, первый, второй и третий управляющие входы и выход блока модификации адреса соединены соответственно с выходом регистра форматного кода, первым и вторым выходами первого регистра микрокоманды, первым выходом второго регистра микрокоманды и адресным входом первого блока памяти микрокоманд, выход которого подключен к входу данных первого регистра микрокоманды, первый и второй входы данных и выход регистра адреса микрокоманды соединены соответственно с выходом третьего буферного регистра, вторым выходом второго регистра микрокоманды и адресным входом второго блока памяти микрокоманд, выход которого подключен к входу данных второго регистра микрокоманды, управлякмций вход, первый и второй входы данных второго блока сравнения соединены с выходами соответственно счётчика продвижения адрека адреса команды, второй вход данных регистра первого адреса подключен к выходу регистра второго адреса, установочный вход счетчика продвижения адреса соединен с выходом счетчика адреса команды, синхровходы счетчиков адреса коман.ды и продвижения адреса и регистров первого и второго адреса подключены к перво му выходу первого регистра микрокоманды, содьржит BTopofi боток регистр блок триггеров, мультипх еКскый регистр кода коррекции, ксу.мутдтор а реса коррекции, регистр смещения и два шифратора адреса, при этом первый и второй входы и Б1-1ХОД iiepBoro ш фpaтopa адреса соединены соответственно с первым выходом первого регистра микрокоманды, выходом муль типлексного регист-эа кода коррекции и управляющим входом коммутатор индекса, управляющий вход и вход да ных коммутатора адреса коррекции под ключены соот5етстве)1но к первому выходу первого регистра микрокомаьды и выходу мультиплексного реги ра кода коррекции, первый выход коммутатора адреса коррекции соединен с синхровходами первого блока регистров и регистра адреса микро; :оманл,Ы; а второй выход коммутатора адреса коррекции подключен к втором а/ ресному входу блока модификации адреса, первому входу даь:ных мул типлексного регистра кода коррекции и первому синхровходу регистра г.,ения, второй синхроБХОд, вход данных и выхс;д которого соеди;(екы соот ветстБСнно с первь; i выходом первого регистра микрокоманды, выходом первого буферного регистра и тре btSM в дом данных коммутатора смещения, пер вьй и второй входы второго 1 1ифратор адреса подключены соответственно к выходу мультиплексного регистра кода коррекции и первому выходу первого регистра микрокоманды, выход BTopoi o шифратора адреса соединен с третьим входом данных селектора-мультиплексора базы-индекса, первым входом бхгока триггеров, вторым входом данных регистра адреса ба- ы-индекса и первым входом второго блока регистров, второй вход, первьй и второй выходы которого подключены соответственно к выходу регистра адреса базЫ Индекса, управляющему входу перво го блока сравнения я синхровходу регистра адреса базы-индекса; второй вход и первый выход блока триггеров соединены соотзетственно с выходом и управляющим входом селектора- гуль05Втиплексора базы-индекса, а синхровход, второй, третий, четвертьп и пятьй входы данных мультиплексного регистра кода коррекции подключены соответственно к первому выходу второго регистра микрокоманды, выходу селектора-мультиплексора базыиндекса, второму вьгходу блока триггеров и выходам первого и второго блоков сравнения. Кроме того, коммутатор адреса коррекции содержит два элемента НЕ, четыре элемента И и три элемента ИЛИ, пpичe i вход первого элемента НЕ соединен с входом данных ком1чутатора, а выход этого элемента НЕ подключен к первым входам первого и второго элементов И, вторые входы которых соединены с входом данных коммутатора, первые входы всех элементов ИЛИ подключены к выходу второго элемента И, вторые входы первого и третьего элементов ИЛИ соединены с входом данных коммутатора, а второй вход второго элемента ИЛИ и третий вход третьего элемента ИЛИ подключены к выходу первого элемента И, выхо;:;ы первого и второго элементов ИЛМ и третьего И соединены с nepBbLM выходом KOMNr/TSTOpa, выход третьего элемента ИЛИ подключен к первому входу третьего элемента И и входу второго элемента НЕ, выход четвертого элемента И соединен с вторым выходом коммутатора , выход второго элемента НЕ подключен к первому входу четвертого элемента И,а вторые входы третьего и четвертого элементов И соеди- , иены с управляющим входом блока. При этом первый шифратор адреса содержит два элемента ИЛИ, элемент НЕ и элемент И, первый и второй входы которого соединены соответственно с первым входов шифратора и выходом элемента НЕ, входы и выход первого элемента ИЛИ подключены соответственно к второму входу ипифратора и входу элемента НЕ,первый и второй входы и выход второго элемента ИЛИ соединены соответственно с выходом элемента И, вторым входом и выходом блока. Причем второй шифратор адреса содержит два сумматора по модулю два, дешифратор, элемент ИЛИ и элемент НЕ, вход и выход которого соединень соответственно с выходом элемента ИЛИ и выходом дешифратора, перу.ые и вторые входы обоих сумматоров по модулю два подключены соответственно к первому и второму входам шифратора, выходы обоих суммато ров по модулю два соединены с входом дешифратора и выходом шифратора, первый и второй входы элемента ИЛИ подключены соответственно к второму входу шифратора и перв му выходу дешифратора, другие выход которого соединены с выходом шифрат ра. Введение в процессор дополнитель ных блоков и узлов позволяет выделить уровень совмещения, на котором обнаружена конфликтная ситуация по загрузке одной командной информации в ячейку базы или индекса, предварительно использованную для . формирования адреса операнда последующей команды (уровень искажения), и после выделения выполнить, без отмены совмещения, кратковременную операцию коррекции искажения, характер и длительность которой определяются только самим уровнем искажения. В частности, коррекция м жет состоять из одного или нескольких тактов повторного вычисления ад реса операнда, либо может выполнять ся автоматически, вообще без потерь времени. Введение мультиплексного регистра кода коррекции позволяет выделить уровень искажения и сформи ровать совокупность управляющих сиг налов коррекции, причем формировани управляющих сигналов выполняется за ранее до фактического искажения (записи, загрузки). Введение коммутатора адреса коррекции позволяет для каждой конкрет ной совокупности управляющих сигналов коррекции сформировать начальный адрес микрокрограммы, выполняющей соответствующую операцию 15Ъррек ции, в результате чего вьшолняется микропрограмма с минимальным для вьщеленного уровня количеством микр команд. Введение второго блока регистров и блока триггеров позволяет сохрани адреса базовых и индексных ячеек, фактически использованных для форми вания адресов операндов на разных уровнях совмещения, причем последовательность размещения сохраняемых адресов во втором блоке регистров позволяет выполнить операцию коррек 510 ции единым образом, независимо от уровня искажения. Введение первого шифратора адреса позволяет осуществить автоматическую коррекцию базовой апи индексной компонент вычисляемого адреса операнда без дополнительных потерь времени для такого уровня искажения, когда загрузка в соответствующую базовую или индексную ячейку вьшолняется одновременно с использованием содержимого этой ячейки для формирования адреса. Автоматическая коррекция выполняется путем подключения загружаемых данных вместо соответствующей компоненты адреса. Введение второго шифратора адреса позволяет ускорить выполнение микропрограммы коррекции путем заблаговременного формирования адреса ячейки, которая будет использована при коррекции. Введение регистра смещения позволяет сохранить компоненту смещения адреса операнда для обеспечения возможности вьтолнения микропрограммы коррекции с повторным вычислением адреса операнда. На фиг.1 представлена блок-схема процессора с совмещением операций; на фиг.2 - схема мультиплексного регистра кода коррекции; на фиг.З схема коммутатора адреса коррекции; на фиг.А - схема второго блока регистров,- на фиг.5 - схема блока три1- геров; на фиг.6 - схема первого шифратора адреса; на фиг.7 - схема второго шифратора адреса; на фиг.8 схема селектора-мультиплексора базыиндекса; на фиг.9 - схема блока модификации адреса микрокоманды; на фит.10 - схема второго блока сравнения; на фиг.11 - схема первого блока регистров , на фиг. 12 схема арифметического блока; на фиг.13 - временная диаграмма работы процессора на примере вьтолнения команд загрузки и записи; на фиг.14 алгоритм работы микропрограммы выборки на примере выполнения команд загрузки и записи} на фиг.15 алгоритм работы микропрограммы обработки операндов. Процессор с совмещением операций содержит (фиг.1) блок 1 основной памяти, блок 2 обработки команд, арифметическип блок 3, блок 4 местной памяти операндов, блок 5 регистров адреса, первьй блок 6 регистров, блок 7 местной памяти базы-индекса сумматор 8 адреса, коммутатор 9 ин декса, коммутатор 10 смещения, регистр 11 базы-индекса, первый блок памяти микрокоманд, первый регистр микрокоманды, блок 14 модификации адреса микрокоманды, второй блок 1 памяти микрокоманд, регистр 16 адре микрокоманды,второй регистр 17 микро манды, селектор-мультиплексор 18 б зы-индекса, регистр 19 адреса базы индекса, мультиплексный регистр 20 кода коррекции,коммутатор 21 адрес коррекции, второй блок 22 регистров блок 23 триггеров, первый блок 24 сравнения, первый шифратор 25 адреса, второй шифратор 26 адреса, регистр 27 смещения, регистр 28 команд, коммутатор 29 команд, три буферных регистра 30-32, счетчик 33 команд, регистр 34 форматного кода счетчики 35 адреса команды, счетчик 36 продвижения адреса, регистры 37 и 38 первого и второго адреса, коммутатор 39 адреса, второй блок 40 сравнения. Блок основной памяти 1 предназначен для хранения программы процес сора (команд и операндов для этих команд) и выполняет операции считывания команд и операндов или записи результатов выполнения команд, причем запись и считывание производятс восьмибайтовыми информационными словами. Время считывания или записи (цикла) блока 1 основной памяти является несущественным, для определенности положим его равным времени трех тактов процессора. Операция записи в блок 1 основно памяти задается сигналом микроопера ции Запись на управляющем входе блока 1 основной памяти, операция считывания задается по сигналу любой микрооперации поля Память на втором управляющем входе блока 1 основной памяти 1. При выполнении записи информация, подлежащая записи, подается на вход данных блока 1 основной памяти. При выполнении операции считывания считываемая информация формируется на выхо де блока 1 основной памяти. Адрес ячейки блока 1 основной памяти, в которую производится запись или из которой выполняется считывание, подается на адресный вход блока 1 основной памяти. Выход блока 1 основной памяти соединен с первым входом арифметического блока 3 и в блоке 2 обработки команд с информационным входом данных регистра 28 команд. Блок 2 обработки команд предназначен для приема и продвижения команд, выполняемых процессором по уровням совмещения и состоит из регистра 28 команд, коммутатора 29 команд, буферных регистров 30-32, счетчика 33 команд и регистра 34 форматного кода. Регистр 28 команд предназначен для приема и хранения восьмибайтового информационного слова, содержащего команды первого уровня совмещения. Выходы регистра 28 команд соединены с соответствующими информационными входами данных коммутатора 29 команд. Коммутатор 29 команд предназначен для выбора из восьмибайтного информационного -слова очередных двух байт выполняемой команды, находящейся на втором уровне или продвигаемой на второй уровень совмещения. Выход коммутатора 29 команд соединен с входом данных первого буферного регистра 30. Первый и второй буферные регистры 30 и 31 разрядностью по два байта каждый предназначены для хранения команд второго уровня совмещения. На выходе первого буферного регистра 30 после первого продвижения команды на второй уровень формируются разряды форматного кода (старшая тетрада кода операции) и разряды адреса индекса после второго или третьего продвижения на второй уровень - разряды смещения и адреса базы. Выход первого буферного регистра 30 соединен с входами данных второго буферного регистра 31 и регистра 34 форматного кода и первыми входами данных коммутатора 10 смещения, селектора-мультиплексора 18 базы-индекса, регистра 19 адреса базы-индекса и регистра 27 смещения. Выход второго буферного регистра 31 соединен с входом данных третьего буферного регистра 32. Третий буферный регистр 32 предназначен для хранения двух старших байт команды третьего уровня совмещения, на его выходе формируются разряды кода операции и адресов регистровых операндов для этой комавды. Выход третьего буферного регистра 32 соед нен с первым входом данных первого блока 6 регистров и с первым входом регистра 16 адреса микрокоманды. Дв разрядный счетчик 33 команд предназ начен для указания места расположения в восьмибайтовом слове очередных двух байт команды, подлежащих продвижению на второй уровень - совме щения . Счетчик 33 команды загружает разрядами адреса команды и модифицируется на плюс единицу при каждом продвижении очередных двух байт Выход счетчика 33 команд соединен, с управляющим входом коммутатора 29 команд. Регистр 34 форматного кода предназначен для хранения тетрады форматного кода команды второго уро ня совмещения и загружается после первого продвижения команды на второй уровень. Выход регистра 34 форматного кода соединен с вторьм входом данных селектора-мультиплексора 18 базы индекса и первым адресным входом блока t4 модификации адреса микрокоманд. Арифметический блок 3 предназначен для приема операндов, поданных первый и второй входы, и их арифметической и логической обработки в соответствии с кодом функ;ции на входе кода операции арифметического блока 3. Результаты обработки, подлежащие записи в блок ,1 основной памяти, или загрузка в блок 4 местной памяти операндов формируются, соответственно, на выходе данных и на выходе адреса записи арифметического блока 3. Время такта арифметического блока 3 соответствует времени такта пр цессора, причем операнды принимаются на входы в начале текущего такта результаты обработки вырабатываются на выходе адреса записи в течение следующего такта, а на выходе данны при записи в блок 1 основной памяти - в течение, как минимум, трех тактов цикла записи. Разрядность арифметического блока 3 не является существенной, для определенности положим, что за один такт в арифметическом блоке 3 может быть обработано четырекбайтовое слово, а инф мация на первом входе данных и выхо де данных (связь с блоком основной памяти) формируется в виде восьмибайтовых слов. В соответствии с кодом, поданным на вход кода операции арифметического блока 3, могут быть заданы следующие операции арифметического блока 3: формирование первого операнда (и, независимо, второго операнда) либо в соответствии с информацией, поданной из блока 1 оперативной памяти 1 на первьй вход данных арифметического блока 3, либо в соответствии с результатом выполнения операции арифметического блока 3 в предыдущем такте процессора, либо в соответствии с операндом, поданным из блока 4 местной памяти операндов на второй вход данных арифме гического блока 3, выполнение одной из арифметическо-логических функций по обработке (сложение, вычитание, И, ИЛИ и т.д.) сформированных операндов, формирование информации, подлежащей записи в блок 1 основной памяти в соответствии с результатом вьшолнения операции арифметического блока 3 в текущем такте процессора. Если арифметическому блоку 3 задано формирование информации, подлежащей записи, то эта информация запоминается в арифметическом блоке 3 и хранится до задания нового формирования. Сформированный после приема из блока 1 основной памяти или блока 4 местной памяти операндов или по результату выполнения операции второй операнд выдается на выход адреса записи арифметического блока 3. Заполненная информация, подлежащая записи в блок 1 основной памяти, вьщается на выход данных арифметического блока 3. Выход адреса записи,арифметического блока 3 соединен с третьим входом данных коммутатора 9 индекса и вторыми входами данных блока 4 местной памяти oneрандов и блока 7 местной памяти базы-индекса. Выход данных арифметического блока 3 подключен к входу данных блока 1 основной памяти. Блок 4 местной памяти операндов предназначен для хранения операндов команд процессора и выполняет операции считывания или загрузки информации в зависимости от отсутствия или наличия сигнала загрузки на входе управления обращением. При отсутствии сигнала загрузки на входе управления обращением выполняется считыв ние блока 4 местной памяти операндо по адресу считывания, поданному.на первый вход данных, при этом считываемая информация формируется на вы ходе блока 4 местной памяти операндов. При нЗличии сигнала загрузки на входе управления обращением выпо няется загрузка в блок 4 месгной памяти операндов информации, поданной на второй его вход данных, причем загрузка выполняется по адресу писи, поданному на первый вход данн блока 4 местной памяти операндов. Такт загрузки или считывания блока местной памяти операндов совпадает с тактом процессора, при этом может быть загружено или считано четырекбайтовое слово. Выход блока 4 местной памяти операндов соединен с вто рым входом данных арифметического блока 3, Блок 5 регистров адреса содержит трехбайтовые счетчик 35 адреса команды, счетчик 36 продвижения адреса и регистры 37 и 38 первого и второго адресов, кроме того, коммутатор 39 адреса и второй блок 40 сравнения. Счетчик 35 адреса команды пред ва начен для хранения и модификации адреса команды третьего уровня совм щения. Выход счетчика 35 адреса команды соединен с установочным входо счетчика 36 продвижения адреса, с вторым входом данных второго блока сравнения и с четвертым входом данн коммутатора 39 адреса, а также с вх дом данных счетчика ,33 команд. Счетчик 36 продвижения адреса предназначен для хранения и модификации адрзса команд первого уровня совмещения. Выход счетчика 36 продвижения адреса соединен с первым входом данных коммутатора 39 адреса и с управляющим входом второго блока 40 сравнения. Регистры 37 и 38 первого и второго адресов предназначены для хранения вычисляемых и окончател но сформированных адресов операндов Для команд четвертого уровня, результат выполнения которых записывается в блок 1 основной памяти, адрес записи хранится в регистре 37 первого адреса. Выход регистра 37 перво Го адреса соединен с вторь м входом данных коммутатора 39 адреса и с пер вым входом данных второго блока 40 сравнения. Выход регистра 38 второго, адреса соединен с вторым входом данных регистра 37 первого адреса и с третьим входом данных коммутатора 39 адреса. Выходы регистров 37 и 38 первого и второго адресов и выход счетчика 35 адреса команды, кроме того, соединены с вторыми входами данных коммутаторов 9 и 10 индекса и смещения. Коммутатор 39 адреса предназначен для выбора источника адреса блока 1 основной памяти, при этом при подаче кода соответствующей микрооперации на его первьш управляющий вход к выходу коммутатора 39 подключается информация, поданная на его первый, третий и четвертый входы данных, а при подаче кода микрооперации Запись на второй управляющий вход коммутатора 39 задается подключение к его выходу информацил, поданной на второй вход данных KOMiiyTaTopa 39. Выход коммутатора 39 адреса подключен к адресному входу блока 1 основной памяти. Второй блок 40 сравнения предназначен для обнаружения конфликта по записи гз блок 1 основной памяти, т.е. такой ситуации, когда адрес операнда, :предположительно являющийся адресом записи результата команды четвертого уровня совмещения, попадает в диапазон адресов команд первого - третьего уровней. Выход ворого блока 40 сравнения соединен с пятым входом данных мультиплексного регистра 20 кода коррекции. Первый блок 6 регистров предназначен для хранения адресов ячеек блока 4 местной памяти операндов, определяемых командой четвертого уровня в качестве исходных операндов и результата операции. Выход первого блока 6 регистров соединен с первыми входами данных блоков 4 и 7 местных памятей операндов и базы-индекса. Блок 7 местной памяти базы-индекса редназначен для хранения базовых индексных компонент адресов операнов и выполняет операции считывания ли загрузки в зависимости от отсуттвия или наличия сигнала загрузки а входе управления обращением. акт загрузки или считывания блоа 7 местной памяти базы-индекса совадает с тактом процессора, при этом агружается или считывается трехайтовое слово. При отсутствии сигнала загрузки на входе управления обращением блока 7 местной памяти базы-индекса выполняется считывание по адресу, поданному на первый вход данных, при этом считываемая информация формируется на выходе блока 7 местной памяти. При наличии сигнала загрузки на входе управ ления обращением вьшолняется загруз ка в блок 7 местной памяти базы-индекса информации, поданной на ее вт рой вход данных, причем загрузка вьшолняется по адресу, поданному на первьш вход данных блока 7 местной памяти. Выход блока 7 местной памяти базы-индекса соединен с входом регистра 11 базы-индекса. Сумматор 8 адреса предназначен для выполнения адресных операций ба зирования или индексирования путем сложения компоненты смещения адреса операнда с базой или индексом, кроме того, он используется для загрузки адреса команды, например, при выходе в прерывание программы или при выполнении команды перехода,, Разрядность сумматора 8 адреса три байта, такт совпадает с тактом процессора. Выход сумматора 8 адреса соединен с входами данных регист ров 37 и 38 первого и второго адресов и с установочным входом счетчика 35 адреса команды. Коммутатор 9 индекса предназначе для выбора первого слагаемого при суммировании адресных компонент, в частности в зависимости от кода на управляющем входе, на выход коммутируются либо три младших байта результата арифметического блока 3 либо содержимое одного из регистров блока 5 регистров адреса, либо база или индекс. Выход коммутатора 9 индекса соединен с первым входом данных сумматора 8 адреса. Коммутатор 10 смещения предназна чен для выбора второго слагаемого п суммировании адресных компонент, в частности, в зависимости от кода управляющем входе, на выход коммути руются либо разряды смещения коман ды второго уровня, либо содержимое одного из регистров блока 5 регист ров адреса, либо содержимое регист ра 27 смещения. Выход коммутатора смещения соединен с вторым входом сумматора 8 адреса. Регистр 11 базы-индекса предназ начен для запоминания на один такт процессора трех байт информации, считанной из блока J местной памяти базы-индекса, причем содержимое регистра 11 базы-индекса может быть обнулено сигналом на синхровходе, если операи ия базирования или индекси- . рования выполняться не должна. Выход регистра 11 базы-индекса соединен с первым входом данных коммутатора 9 индекса. Первый блок 12 памяти микрокоманд предназначен дйя хранения микропрограмм управления выполнением команд на первом и третьем уровнях совмещения и микропрограмм коррекции микропрограммы выборки команд. Вре- мя считывания первого блока 12 памяти микрокоманд соответствует такту процессора, при этом в каждом такте считывается одна микрокоманда. Выход первого блока 12 памяти микрокоманд соединен с входом данных первого регистра 13 микрокоманд. Первый регистр 13 микрокоманд предназначен для хранения в течение одного такта процессора кода микрокоманды, вьтолняемой в течение этого такта. Полноразрядный код, микрокоманды состоит из логически самостоятельных групп разрядов или полей микрокоманды. Адресное поле микрокоманды предназначено для задания кода адреса следующей микрокоманды и формируется на втором выходе первого регистра 13 микрокоманд, на первом выходе которого формируется код совокупности микроо.пераций для данной микрокоманды. При этом может быть задано по одной микрооперации из восьми операционных полей (приведены только существенные микрооперации и их функции, для уп рощения последующих ссылок указано также сокращенное название полей и микроопераций). 1 . Поле формирования входного кода первого шифратора 25 адреса (поле Первьй вход). Могут быть заданы коды микроопераций База-индекс, Второй адрес или Арифметический блок (описание функций этих микроопераций приведено в характеристике назначения первого шифратора 25 адреса). 2, Поле управления выбором источника информации, подютючаемой на второй вход сумматора 8 адреса через 19 коммутатор 10 смещения (поле Вто рой вход ) . Микрооперация Смещение - по к ду этой микрооперации на управляющ входе коммутатора 10 смещения задается подключение к вь.осдду комм тора 10 разрядов смещения 1 оманды второй уровня, поданных кг первьй вход данных коммутатора 10, кр..г;е того, по микрооперации Смещек зе задается также загрузка разрядоа смещения в регистр 27 смещеьия. Микрооперация Адрес команды в коммутаторе 10 задается подключе к его вьгходу содержимого счетчика адреса команды, поданного гю соотв ствующей шине второго входа данных коммутатора 10. Микрооперация Первьш адрес в коммутаторе 10 задается подключе кие к его выходу содержимого регис ра37 первого адфеса команды, поданного по соответствующей шине вт рого входа данных коммутатора iO. Микрооперация Второй адрес J7 когфчутаторе 10 задается подключе к его выходу содержимого регистра второго адреса,, поданного по соответсггвуюш.ей иине второго входа дан ных коммутатора 10, Микрооперация Регистр смещ.ения в комь;утаторе 10 задается подключение к его выходу содерхдамого регист ра 2/ ,е1НЯ 5 по,::ганного н;а третий вход даниьге комг-гуга-гоуг 10. 3„ Поле у-лравлеч51Я занесением ин формации с вылогш сумматора 8 адреса (поле Выход), Ккк р о о п е р а ции Ле р в ьй адр ее, Второй адрес и Адрес команды за дают занесение в регистр 37 первого адресй, 3 регистр 38 - второго адр Cv т-1;1и 1 счетчик 35 адреса кома.ндь соответстзенно, 4. Поле управлетшя считыванием и выбором источника адреса блока 1 ос t:; о в н о и п амя ти (пол е Пл мя т ь ) .. Код поля Память в частности подается на первый управляющий вход к о м м у т а т о р а 39 адреса. Микрооперация Продвннутьм адрес по коду этой микрооперации в кo гмyтатсре 39 задается подключение к ег выходу содерлимого счетчика 36 иродвшкгмия адреса, поданного на первьм вход данных комм:/татора 39, Микрооперация Второй адрес в коммутаторе 39 задается под805ключение к его выходу содержимого регистра 38 второго адреса, поданного на третий вход данных коммутатора 39. гШкрооперация Адрес команды - в коммутаторе 39 задается подключение к его выходу содерлшмого счетчика 35 адреса команды, поданного на четвертый вход данных коммутатора 39. По любой микрооперации поля задается считывание блока 1 основной памяти. 5.Поле формирования входного кода второго шифратора адреса (поле .Адрес базы-индекса) . Могут быть заданы коды микроопераций Коррекция, База или Индекс (описание основных функций этих микроопераций приведено в характеристике назначения второго узла 26 перекодировки), по микрооперации Индекс задается дополнительная функция-нагрузка регистра 34 форматного кода. 6.Поле управле-шя продвижением информации в блоке 2 обработки команд (поле Продвижение). Микрооперации Первое продвиженпз и Второе продвил :ение1 задается продвижение,соответственно , в начале или в конце тракта процессора. 7.Поле управления занесениями, установкаг-й- и модификациями (поле Установ). Микрооперация Выборка - задается занесение разрядов счетчика 35 адреса команды в счетчик 36 продвижение адреса и в счетчик 33 команд. Микрооперация Конец выборки задается занесение содержимого регистра 38 второго адреса в регистр 37 первого адреса, МЛКрооперация Модификация задается модификация на плюс восемь счетчика 36 продвижения адреса, 8.Поле управления способом формирования адреса следующей микрокоманды (поле Условие ) . К крооперация Безусловный перекод - задается кодами 000 и 001 поля Условия5 причем оба кода задают занесение в блоке 14 модификации адреса « икрокоманды адресного поля тект,1цей микрокоманды в старшие разряды адреса следз ющей микрокоманЫ; в младшем разряде адреса для ода 000 или 001 задается ормирование, соответственно, нуля ли едиьицы. Микрооперация Условный переход в блоке 14 модификации адреса микро команды в старшие разряды адреса сл дующей микрокоманды задается занесение адресного поля текущей микрокоманды, в младший разряд - занесение нуля или единицы в соответствии с состоянием признака занятости в блоке 14 модификации адреса микрокоманды. Микрооперация Переход по формату - в блоке 14 модификации адреса первой микрокоманды задается занесе ние форматного кода команды второго уровня совмещения в младшую тетраду адреса следующей микрокоманды и раз рядов адресного поля текущей микрокоманды в соотЕвтствующие старшие разряды адреса следующей микрокоман ды , Микрооперация Функциональный пе реход задается выполнение функцией микроопераций Переход по форм ту, кроме того, задаются опрос сос тояния коммутатора 21 адреса коррекции и модификация счетчика 35 адреса командь Второй выход первого регистра 13 микрокоманд соединен с вторым управ ляющим входом блока 14 модификации адреса микрокоманды, первый выход с управляющими входами коммутатора адреса коррекции, коммутатора 10 см щения, с первым управляющим входом блока 14 модификации адреса микрокоманды, с первым входом первого шифратора 25 адреса, с вторым входом второго шифратора 26 адреса, с вторым синхровходом регистра 27 смещения, с синхровходами регистра команд, коммутатора 29 команд, счет чика 33 команд, трех буферных регистров 30-32, регистра 34 форматно го кода, регистров 37 и 38 первого и второго адреса, счетчика 35 адреса команды, счетчика 36 продвижения адреса, с первыми управляющими входадми кoм гyтaтopa 39 адреса и блока основной памяти, Блок 14 модификации адреса микро команды предназначен для формирования кода адреса первого блока 12 памяти микрокоманд по коду адресного поля первого регистра 13 MTiKpo команд, по форматному коду кз регист ра 34 форматного кода и по признаку занятости в блоке 14 модификации адрес., микрокоманды в соответствии с микрооперациями поля условия, кроме того, по коду адреса микропрограммы коррекции из коммутатора 21 адреса коррекции. Выход блока 14 модификации адреса микрокоманды соединен с адресным входом первого блока 12 памяти микрокоманд. Второй блок 15 памяти микрокоманд предназначен для хранения микропрограмм управления выполнением команд на четвертом уровне совмещения (микропрограммы обработки операндов). Время считывания второго блока 15 памяти микрокоманд соответствует такту процессора, при этом в каждом такте считывается одна микрокоманда.. Выход второго блока 15памяти микрокоманд соединен с входом данных второго регистра 17 микрокоманд,Регистр 16 адреса микрокоманды предназначен для хранения кода адреса второго блока 15 памяти микрокоманд, формируемого по коду адресного поля второго регистра 17 микрокоманд или по коду операции команды третьего уровня совмещения в соответствии с отсутствием или наличием разрешения функционального перехода на первом выходе коммутатора 21 адреса коррекции. Выход регистра 16 адреса микрокоманд соединен с адресным входом второго блока 15 памяти микрокоманд. Второй регистр 17 микрокоманд предназначен для хранения в течение одного такта процессора кода микрокоманды, выполняемой в течение этого такта. Код микрокоманды состоит из логически самостоятельных групп разрядов или полей микрокоманды. Адресное поле микрокоманды предназначено для задания кода адреса следукнцей микрокоманды и формируется на вторим выходе второго регистра 17 микрокоманд, на первом выходе которого ормируется код совокупности микроопераций для данной микрокоманды. ля целей описания существенными являются следующие микрооперации и поля: поле Арифметика - предназначено ля управления работой арифметического блока 3, микрооперация Запись - задается операция записи блока 1 основной памяти, при этом также задается ком№7таторе 39 адреса подключение регистра 37 первого адреса и в муль плексном регистре 20 кода коррекции - опрос наличия конфликта по записи в блоке 1 основной памяти микрооперация ЗАГРУЗКА - задается операция загрузки в блоке 4 местной памяти опе андов и блоке 7 местной памяти базы-индекса, кроме того, в мультиплексном регистре 20 кода коррекции задается опрос конф.пикта по загрузке в базу или индекс (загрузка командой четвертого; уровня ячейку блока 7 местной памяти базы-индекса, используемую командой второго или третьего уровня для фор мирования адреса операнда), микрооперация Опрос конфликта в мультиплексном регистре 20 кода коррекции задается предварительный опрос конфликта по загрузке з базу или индекс, выполняемый в следующем такте процессора, микра эперации Установка занятос ти и Сброс занятости - в блоке модификации адреса микрокоманды зад ется установка или сброс, соответст векно признака занятости. Второй вход второго регистра 17 микрокоманд соединен с BTOPBLM входо данных регистра 16 адреса микрокоман ды, первый выход - с третьим управля ющим входом блока 14 модификации адреса микрокоманды, с входами управле ния обращениег блоков 4 и 7 местных памятей операндов и базы-индекса, с входом кода операпии арифметического блока 3, с сцнхровходом мультиплексного регистра 20 кода коррекции, с BTOpbHvffl управляющими входами коммутатора 39.адреса и блока 1 основной памяти. Селектор-мультиплексор 18 базыиндекса предназначен для определения станции, когда при базировании РШИ .индексировании в команде второго уро ня задан нулевой адрес ячейки, соответственно, базы или индекса, кр ме того, когда при вьлолнении микропрограммь коррекции повторно используемьй адрес ячейки базы или ккдекса также является нулевым, Б такой ситуации в селекторе-муль типлексоре 18 базы-индекса вьфабатывается нулевой признак истинности выполняемого базирования или индексирования, задающий обнуление .содержимого регистра 11 базы-индекса и за прет анапиза конфликта по загрузке в нулевую базу или нулевой индекс в мультиплексном регистре 20 кода коррекции. Выход селектора-мультиплексора 18 базы-индекса соединен с синхровходом регистра 11 базы-индекса, с вторым входом данных мультиплексора регистра 20 кода коррекции и с вторым входом блока 23 триггеров . Регистр 19 адреса базы-индекса предназначен для хранения адресаячейки блока 7 местной памяти базыиндекса; с которым выполняется сравнение адреса загрузки в первом блоке 24 сравнения и которьш запоминается для сравнения при последующих загрузках и для обеспечения выполнения микропрограммы коррекции во втором блоке 22 регистров. Выход регистра 19 адреса базы-индекса соединен с адресньи- входом блока 7 местной памяти базы-индекса, с вторым входом второго блока 22 регистров и с вторым входом данных первого блока 24 сравнения. Мультиплексньй регистр 20 кода коррекции предпазь.ачйн для формирования лризналов начальной выборки, полЕюй, частичной и автоматической коррекции. Признак начал ной выборки формируется при конфликте по записи в блок 1 основной памяти, признаки 11ОЛНОЙ,, частичной и автоматической коррекции - при конфликте по загрузке Е базу или индекс. Признаки частичной и автоматической коррекции формируются 3 теченне одного такта процессо.ра, признаки начальной выборки и полной коррекции продолжают формироваться до выхода в микропрограмму коррекции Совокупность признаков задает в комЕ- утаторе 21 адреса коррекции формиуова ние соответствующего начального адреса микроnporpaM№ii коррекции,в первом и втором шифраторах 25 и 26 адреса - соответствующую модификацию микроопе- ращ-1Й, вырабатываемых полями Пергь.й )зход и Адрес базы-индекса соответственно. Выход мультнплексього регистра 20 кода кoppeкщiи соединен с входом данных коммутатора 21 адреса коррекции, с зторъы входом первого штратора 25 адреса и с первым вхо.цом второго шифратора 26 адреса, Коммутатор 21 коррекции предназначен для вьщеления наиболее 25n приоритетного из признаков начальной выборки, полной и части ной коррекции, для формирования начального адреса микропрограммы, соответствующей наиболее приоритетному признаку,.и выдачи этого адреса в блок 14 Модификации адреса микрокоманды, для формирования обобщенного признака перехода к коррекции и выдачи этого признака с целью сброса признаков- начальной выборки и полной коррекции в мультиплексном регистре 20 кода коррекции и запрета занесения в регистр 27 смещения, кроме того, при отсутствии обобщенного признака перехода к коррекции, для формирования признака перехода по коду операции, управляющего регистром 16 адреса микрокоманды и занесением в первьй блок 6 регист ров. Второй выход коммутатора 21 ад реса коррекции соединен с третьим входом управления блока 14 модифика ции адреса микрокоманды, с четвертым входом данных-мультиплексного регистра 20 кода коррекции и с первым входом запрета регистра 27 сме щения . Перзьй выход коммутатора 21 адреса коррекции соединен с управляющими входами регистра 16 адреса микрокоманды и первого блока 6 регистров. Второй блок 22 регистров предназ начен для хранения адресов базовых и индексных ячеек, использованных при формировании адресов операндов команд второго и третьего уровней совмещения, для вьщачи хранящихся адресов в первый блок сравнения на сравнение с адресом загрузки и в регистр 19 адреса базы-индекса пр выполнении микропрограм ы коррекции Первый и второй выходы второго блок 22 регистров соединены с вторым вхо дом регистра 19 адреса базы-индекса и с управляющим входом первого блока 24 сравнения соответственно. Блок 23 триггеров предназначен для хранения признаков истинности а ресов, хранящихся во втором блоке 2 регистров для вьщачи хранящихся при знаков в мультиплексный регистр 20 кода коррекции с целью запрета анализа конфликта по загрузке в нулевую базу или нулевой индекс, а также для выдачи признаков в селектормультиплексор 18 базы-индекса при вьшолнении микропрограммы коррекции. Первый и второй выходы блока 23 триггеров соединены соответственно с управляющим входом блока 18 анализа базы-индекса и с третьим входом данных мультиплексного регистра 20 кода коррекции. Первьй блок 24 сравнения предназначен для обнаружения конфликта по загрузке информации командой четвертого уровня совмещения в ячейку базы или индекса команд второго или третьего уровней совмещения. Выход первого блока 24 сравнения .соединен с первым входом данных мультиплексного регистра 20 кода коррекции. Первьй шифратор 25 адреса предназначен для формирования управляющих сигналов KOMNryTaTopa 9 индекса в зависимости от кода в поле Первый вход первого регистра 13 микрокоманд и признака автоматической коррекции в мультиплексном регистре кода коррекции: по коду микрооперации База-индекс при отсутствии признака автоматической коррекции коммутатору 9 индекса задается подключение регистра 11 базы-индекса, по кодам микроопераций Второй адрес или Арифметический блок коммутатору 9 индекса задается подключение регистра 38 второго адреса И.ПИ трех младших байт результата арифметического блока 3 соответственпри одновременном наличии кода микрооперации База-индекс и признака автоматической коррекции вместо подключения,, соответствующего микрооперации База-индекс задается подключение, соответствующее микрооперации, Арифметический блок . Выход первого шифратора 25 адреса соединен с управляющим входом коммутатора 9 индекса. Второй шифратор 26 адреса предназначен для управления выбором источника и занесения в селектор-мультиплексор 18 базы-индекса и в регистр 19 адреса базы-индекса и управления занесением во второй блок 22 регистров и в блок-23 триггеров в зависимости от кода в поле Адрес базы-индекса первого регистра 13 микрокоманд и признаков полной и частичной коррекции в мультйплексном регистре 20 кода к.оррек, ции: по коду микрооперации Коррекция в поле Адрес базы-индекса задается коммутация в селектормультиплексор базы-индекса с выхода блока 2j триггеров и н регистр .адреса базы-индекса с выхода второго блока 22 pefHCTpoBj по коду микрооперации База или Индекс при отсутствия .признака полной коррекцг-ш зад,ается коммутация адреса соответствующей компоненты в селектор-мультиплексор 18 базы-индекса и в регистр 19 адреса базы-индекса с выхода пер.вого буферного регистра 30, При одновременном на.пичии кода микрооперации База и признака пол ной коррекции вместо подключения, соответствующего микрооперации База, задается подключение, соответствующее микрооперации КОРРЕКЦИЯ. По ходу любой микрооперации Коррекция, База или Индекс пр отсутствии признака частичной коррекции задается занесение признака истинности в блоке 23 триггеров с выхода селехтора-му.пьтклле.ксора при са во второй блок 2i регистров с выхода регистра 19 адреса базы-инде са, г также занесенр1е информации, коммутируемой по соответствующим микрооггерацмям в селектор-мультипле сор 1S базы-индекса и в регистр 19 адресг баэы-и;5декса. При одновременном наличии кода микрооперации Ваза и признака частично.й коррекции задается запрет занесения в селектор -мультип.лексор 18 базы-.ин.декса S в регистр И) адрес .базы-индекса, зо второй блок регист ров 22 и в блок 23 триггеров. Вьгход второго шифратора 26 адреса соединен с третьим входом данных селектора-мультиплексора 18 базыиндекса, вторьпч входом данных регис ра 19 адреса базы-индекса, с лервьевходами второго блока 22 регистров и- блока 23 триггеров. Регистр 27 смещения предназначен для хранения компонента смещения адреса операнда команды третьего ур ня совмещения. Выход регистра 27 с щения соединен с третьим входом дан ных коммутатора 10 смещения. 0528 Мультиплексньш регистр кода коррекции (фиг.2) содержит узел 41 анаЛИЗ а уровня искажень:я,, включающий элементы И 42-45 и элементы ИЛИ 46 и 47, регистр 48 уровня коррекции, включающий триггеры 49-52 начальной выборки, полной частичной и автоматической коррекции соответственно, выход 53 и входы 54-59 уровней коррек1щи5 шину 60 микрооперации Запись, шину 61 равенства адресов второго уровня, шины 62 и 63 равенства адресов третьего уровня, шины 64 и 65 микроопераций Опрос конфликта и Загрузка соответственно; шины 66 и 67 истинности адресов третьего уровня, На схеме коммутатора адреса коррекции (фиг.З) изображены узел 68 приоритета, состоящий из элементов И 69 и 70 и элемента НЕ 71, шифратор 72, состоящий из элементов ИЛИ 73-75, элементы И 76 и 77, элемент НЕ 785 входы 79 и 80 и выходы 81 и 82 блока.шины 83-85 начальной выборки, полной и частичной коррекции соответственно,, ип-гна 86 адреса корре и..и-г и хина 87 перехода к корр в.к ции. На схеме второго блока регистров () изображены регистры 88 и 89, входы 90 и 91 и выходы 92 и 93 буфера. На схеме блока триггеров (фиг.5) изображены триггеры 94 и 95, элемент И 96., входы 97 и 98 и выходы 99 и 100 буфера, шина 101 микрооперации Коррекция и шина 102 занесения адреса. На схеме первого шифратора адреса (фиг.6) изображены элемент-И ШЗ, элеенты ИЛИ 104 и 105, элемент НЕ 106, ходы 107 к 108 и выход -109 узла, азрядные шины 110 и 111 поля Первый вход. Представленный на иг,6 пример реализации первого узла ерекодировки рассчитан на следуюее кодит ование микроопераций в поле Первьй код 00 - микрооперация Базаиндекскод О Г микроопераиия Второй адрес, код 10 - микрооперация Арифметический блок. На схеме второго шифратора адреа (фиг.7) изображены преобразоваель 112 кода, состояа1ий из элементов 113 и 11.4 сложения (сумматоров) по модулю два, дешифратор 115, элемент ИЛИ 116, элемент НЕ 117, входы 118 и 119 и выход 120 узла, разрядные шины 121 и 122 поля Адрес базы-индекса, шины 123 и .124 признаков полной и частичной коррекции соо ветственно, кодовая шина 125 и шина 126 занесения адреса. Представленньш на фиг.7 пример реализации второго узла перекодировки рассчитан на следующее кодирование микроопераций в поле Адрес базы-индекса : код 00 - отсутствие микроопераций, код 01 - микрооперация База, код 10 - микрооперация Коррекция, код 1 - микрооперация Индекс. На схеме селектора-мультиплексора базы-индекса (фиг.8) изображены узел 127 анализа формата, состоящий из элемента И 128, элемента ИЛИ 129 и элемента НЕ 130, триггер 131, элементы И 132 и 133, элементы ИЛИ 134136. Входы 137-140 и выход 141 блока шины 142 и 143 микроопераций База и Индекс соответственно, шина 144 занесения адреса, шины 145 и 146 нулевого и первого разрядов кода операции соответственно. На схеме блока модификации адреса микрокоманды (фиг.9) изображены регистр 147. адреса, коммутаторы 148 и 149, триггер 150 занятости, элементы НЕ 151 и 152j входы t53-157 и выход 158 блока, шина 159 старших разрядов адреса, шина 160 младшего разряда адреса, шина 161 адреса коррекции, шина 162 перехода к коррекци шины 163 и 1,64 микроопераций Установка занятости и Сброс занятости соответственно, шина 165 поля Условие -и шина 166 микроопераций Функциональный переход и Переход- по формату. На схеме второго блока сравнения (фиг,10) изображены; схемы 167 и 168 сравнения, каждая из которых состоит из элементов 169-171 сравнения, элементов И-НЕ 172-176, элементов И 177 и 178 и элемента НЕ 179, элемент ИЛИ 180, элементы И 181-184, элемент НЕ 185, входы 186-188 и выход 189 узла, шины 190 и 191 нулевых разрядов адреса команды и продвинутого адреса соответственно. Процессор реализован на интегральных миросхемах серий 133, 533 и 530. Поэтому на фиг.1-15 использованы условные графические обозначения некоторых модификаций, используемых элементов. В частности, на фиг. 10 элемент сравнения обозначен ( ), для этого элемента разряды сравниваемой информации (АО-АЗ и ВО-ВЗ), входы расши- . рения (, и ), выходы (, и ). На схеме первого блока регистров (фиг.11) изображены регистры 192 и 193 адресов считывания, регистр 194 адреса загрузки, входы 195 и 196 и выход 197 блока. На схеме арифметического блока (фиг.12) изображены регистры 198 и 199 операндов, регистр 200 записи, арифметические узлы 201-204 с арифметическо-логическими элементами 205, узел 206 переносов с элементами 207 и 208 группового переноса, входы 209-211 и выходы 212 и 213 блока, шина 214 функции, пшна 215 входного переноса и шина 216 управления занесением. В соответствии с принятыми для элементов серий 133, 530 и 533 условными графическими обозначениями на фиг.12 арифметическо-логический элемент обозначен AL его вход переноса СО, выход, последовательного переноса С45 выходы группового переноса Р и G, первые информационные входы АО-АЗ, вторые информационные входы ВО-ВЗ, управляннцие входы SO-S3 и М, информационные выходы FO-F3. Элемент группового переноса обозначен GRP его входного переноса СО, входы групповых переносов РО, GO - РЗ, G3, выходы переноса С1-СЗ. Таблица функций арифметическологического элемента (AL) имеет вид

C1-(C,nQ CoPo Pг QoPlPг з C,,,i .b. Переключательные функции для выхо дов элемента группового переноса (GRP) имеют вид: Р РО+Р1+Р2+РЗ, OjQoq, i ,.,,.G,, j 0 ., Процессор работает по программе, размещенной в блоке основной памяти (фиг.1) и представляющей собой последовательность команд и операндов для этих команд. Некоторые операнды хранятся в блоке 4 мастной памяти операндов (регистровые операнды. Команды Программы, вьптолняемой процессором, могут иметь разную длину. Длина команды (количество байт блока 11 основной памяти, занимаемое командой) определяется форматным кодом, представляющим собой стар шую тетраду кода операции команды, и может быть равной двум, четъфем или шести байт. В дальнейшем для оп ределенности предполагается, что ко манды, их коды операции (и форматные коды) и специфика ик выполнения полностью соответствует принятым в ЕС ЭВМ. В частности, форматным ко дам 0000 - 0011 (в двоичном пре ставлении) соответствуют команды формата длиной два байта, обрабатывающие регистровые операнды, размещенные в блоке 4 местной памяти one рандов. Форматным кодам соответствуют команды RX, RS, S1 и форматов длиной четыре байта. Для команд RX формата с форматными ко- да14и один из операндо является регистровым, второй размещен в блоке 1 основной памяти в яче ке, адрес которой вычисляется при помощи базирования и индексирования Для команд RS, S1 и S форматов с форматными кодами 1000 - 1011 адрес операнда в блоке 1 основной памяти является только базируемым Форматным кодам 1101 и 1111 соответствуют команды SS формата длиной шесть байт, обрабатывающие операнды, размещенные в блоке 1 основной памяти в ячейках с базируемыми адресами. При базировании или индексировании нулевой адрес ба зы или индексы рассматриваются как отсутствие соответствукщей компонен ты адреса операнда Выполнение любой команды состоит из двух фаз - фазы выборки и фазы обработки. На фазе выборки команды выполняется считьшание информационного слова, содержащего команду, из блока 1 основной памяти, размещение ее в регистре .28 команд, формирование адресов операндов в регистрах 37 и 38 первого и второго адресов и в первом блоке 6 регистров , считьшание операндов из блока 1 основной памяти и из блока 4 местной памяти операндов в арифметический блок 3. На фазе обработки операндов в зависимости от команды выполняется арифметическая или логическая обт работка операндов в арифметическом блоке 3, результат обработки загружается в блок 4 .местной памяти операндов или записывается в блок 1 основной памяти. Результатом операции может быть базовый или индексный адрес (база или индекс) - в этом случае результат загружается также в блок 7 местной памяти базы-индекса. Команды программы, как правило, выполняются строго последовательно, в соответствии с последовательностью их размещения по возрастающим адресам блока 1 основной памяти, причем на фазе обработки может находиться только одна команда программы, в то же время как на фазе выборки находятся несколько следующих по порядку команд. Адрес очередной команды, подлежащей к фазе обработки, определяется содержимым счетчика 35 адреса команды, модификация которого выполняется в момент перехода команды от фазы выборки к фазе обработки на величину, равную длине этой команды в байтах. Считывание команд из блока 1 основной памяти производится с опережением их реального выполнения таким образом, что в блоке 2 обработки команд одновременно на равных этапах (уровня совмещения) фазы выборки находится несколько команд. Фаза выборки каждой команды делится на три этапа, выполняемых на соответствунвцих уровнях совмещения операций. На первом уровне совмещения вьшолняется считывание информационного слова, содержащего команду из блока 1 основной памяти и занесение считанного информационного слова в регистр 28 команд. При переходе очередной команды к фазе обработки остальные команды, размещенные в блоке 2 обработки команд, продвигаются по уровням совмещения, что после некоторого очередного продвижения приводит к исчерпанию содержимого регистра 28 команд (освобождение первого уровня) и вьшолнению считывания из блока 1 основной памяти очередного информационного слова $ содержащего команды. Адрес этого слова определяется содержимым счетчика 36 продвинутого адреса, которое модифицируется на плюс восемь (в соответствии с разрядностью информационного слова в регистре .28 команд, равной восьми байт) каждьм раз, когда освобождается первьй уровень.

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

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

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

Управление процессором осуществляется микропрограммами, размещенны vffi в блоках 12 и 15 первой и второй памяти микрокоманд. Каждым тактом процессора управляет отдельная пара микрокоманд, одновременно считываема из блоков 12 и 15 первой и второй памяти в соответствующие регистры 13 и 17 микрокоманд. Адреса, по которым производится считывание каждой микрокоманды пары, формируются блоком 14 модификации адреса микрокоманды и регистром 16 адреса микрокоманды.

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

Микропрограмма совмещения имеет 1 входов в соответствии с четырнадцать допустимьми форматными кодами команд. Для каждой из четырех совокупностей форматных кодов команд, характеризующихся однотипными функциями выборки, в микропрограмме совмещения предусмотрена отдельная последовательность или цепочка микрокоманд, которая вьшолняет эти функции. Вьшолнение той или иной цепочки микркоманд задается форматным кодом, храняпдамся в регистре 34 форматного кода. Отдельнь е цепочки предусмотрены для команд RR формата (в данную цепочку возможны четыре входа по форматньм кодам 0000- 001Г) команд RX формата с предварительным считыванием операнда из блока 1 основной памяти (три входа, соответствующие форматным кодам 0101 0111),, команд RX, RS, S1 и S форматов без предварительного считывания операнда из блока основной .памяти (форматные коды 0100,) и команд SS формата (форматные коды 1101 и 1111). Любая цепочка управляет действиями на всех уровнях фазы выборки одновременно.

Функции обработки операндов реализуются микропрограм1-1ами второго блока 15 памяти микрокоманд. Для каждой команды процессора предусмот рен отдельньш вход р соответствующую микропрограмму обработки операндов. При работе процессора в режиме совмещения операций одновременно выполт няются цепочка микропрограммы совмещения, соответствующая форматному коду команды третьего уровня и микро программа обработки операндов, соответствующая коду операции команды четвертого уровня, причем время вьшолнения этих микропрограмм строго согласовано. Дпя обеспечения согласования в каждую цепочку совмещения включена специальная микрокоманда, ожидания р выборке. Каждая микропрограмма обработки операндов завершается также микрокомандой ожидания в обработке. Если при одновременном выполнении некоторой цепочки совмещения и микропрограммы обработк операндов для некоторой команды время выполнения цепочки совмещения ока зывается больше, то после завершения выполнения микропрограммы обработки начинает вьшолняться микрокоманда ожидания в обработке,и переход к сле дующей микропрограмме обработки осуществляется только после завершения выполнения цепочки совмещения. Если же время вьтолнения конкрет ной микропрограммы обработки превышает минимальное время выполнения цепочки совмещения (минимальное время выполнения цепочки совмещения может быть равным двум тактам для команд RR формата и команд RX, RS, 51 и S. форматов без пред варительного считывания операнда из блока 1 основной памяти), то в цепочке совмещения начинает вьшолняться микрокоманда ожидания в выборке. Количество тактов выполнения микрокоманды ожидания в выборке выбрано таким образом, чтобы заверш щие микрокоманды микропрограммы обработки и цепочки соЁмещения вьшолнялись одновременно. Количество тактов выполнения микрокоманды ожидания в выборке регулируется призна ком занятости в блоке 14 модификации адреса микрокоманды. В любой микропрограмме обработки операндов, время вьтолнения которой превышает два такта (минимальное время выполнения цепочки совмещения), в первой же микрокоманде задана микрооперация Установка занятости. В одновременно выполняемой первой микрокоманде цепочки совмещения задана микрооперация Условный переход, по которой анализируется состояние признака занятости, причем по единичному состоянию признака занятости выполняется переход в микрокоманду ожидания в выборке (адресом перехода при нулевом состоянии признака занятости является адрес микрокоманды продолжения цепочки совмещения). В свою очередь, в микрокоманде ожидания в выборке задана микрооперация Условный переход, по кото- рой при единичном состбянии признака занятости осуществляется зацикливание зтой микрокоманды ожидания, при нулевом .- выход на завершение цепочки совмещения. В течение всего периода выполнения длительной (превышающей-два такта) микропрограммы обработки одновременно выполняемая цепочка совмещения зациклена на микрокоманде ожидания в выборке. Это зацикливание продолжается до тех пору пока в предпоследней микрокоманде микропрограммы обработки не будет задана микрооперация Сброс занятости. Последней микрокомандой каждой микропрограммы обработки операндов является микрокоманда ожидания в обработке. Пердварительное считывание операнда из блока 1 основной памяти (для форматных кодов ) осуществляется микропрограммой совмещения только при нулевом состоянии признака занятости, поэтому в течение трех тактов предварительного считывания операнда микропрограмма обработки зацикливается При выполнении микрокоманды ожидания в.обработке. Если в микропрограмме совмещения нет предварительного считьюания операнда из блока 1 основной памяти (для форматных кодов, отличающихся QT ), то после выхода из микрокоманды ожидания в выборке в результате обнуления признака занятости при одновременном вьшолнении дпительной микропрограммы обработки или после перехода из первой микрокоманды цепочки совмещения по нулевому состоянию признака занятости при короткой .кропрограмме обработки, выполняет39ся последняя микрокоманда цепочки совмещения, в которой задана микрооперация Функциональньй переход. В соответствии с этой микрооперацией форматньй код команды второго уровня совмещения используется для перехода к соответствующей цепочке совмещения, а код операции команды третьего уровня - для перехода к со ответствующей микропрограмме обрабо ки операндов. Более подробно рассмотрим, работу процессора на примере выполнения последовательности команд RX формата,, в фазе выборки которых производится базирование и индексирование адреса операнда и, в некоторых случаях, считывание операнда из блока 1 основной памяти, причем первая выполняемая команда размещена в четырех младших байтах информаци онного слова. Послёдоватепьность действий начинается с выполнения микропрограммь заполнения буфера. В течение всего времени выполнения микропрограммы, заполнения буфера до микрокоманды с микрооперацией Функциональньй переход в поле, Условие во втором регистре 17 микрокоманд сохраняется и вьшолняется зацикленная микрокоманда ожида ния в обработке, не содержащая никаких существенных микроопераций. Первая микрокоманда этой микропрограммы считывается из первого блока 12 памяти микрокоманд в первый регистр 13 микрокоманд. В первой микрокоманде заданы следующие микро операции: Адрес команды в поле Память ,Выборка в поле Уставов и Безусловньй переход в поле Условие. В адресном поле первой микрокоманды задан адрес второй мик рокоманды михсропрограммы заполнения буфера. По микрооперации Адрес команды в поле Память содер;кимое счетчика 35 адреса команды через коммутатор 39 адреса подается на ад ресньй вход блока 1 основной памяти кроме того, запускается считывание блока 1 основной памяти. По микрооп рации Выборка разряды счетчика 35 адреса команды загружаются в счетчик 36 продвинутого адреса и в счет чик 33. Содержимое адресного поля первой микрокоманды по MisKpooneрации Безусловньй переход заносит 0540 ся в блок 14 модификации адреса микрокомандь и используется для фор- a poвaния адреса следующей второй микрокоманды заполнения буфера (в дальнейшем, если нет специальных указаний, предполагается, что в поле Условие вьтолняемой микрокоманды задана микрооперация Безусловньй: переход, определяющая переход к следующей микрокоманде, адрес которой задан адресным полем). Вторая микрокоманда микропрограмм)1 заполнения буфера содержит в поле Установ микроопера;гию Модификация,, по которой содержимое счетчика 36 продвинутого адреса модифицируется на плюс восемь. После этого содержимое счетчика 36 продвинутого адреса подготоавлено для считывания очередного информационного слова блока 1 основной памяти, содержащего последующие каналы. Третья микрокоманда микропрограммы заполнения буфера не содержит микроопераций и является микрокомандой ожидания, в течение которой завершается считывание информационного слова, блока 1 основной памяти 1 и занесе- , ни-Э- считанного слова в регистр 28 команд. Четвертая микрокоманда микропрограммы заполнения буфера задает микрооперации Первое продвижение (поле Продвижение), Продвинутьй адрес (поле Память) и Индекс (поле Адрес базы-индекса). По мккрооперащи Первое продвижение два старших байта первой команды из регистра 28 команд через ком1 гутатор 29 команд загружаются в первьй буферный perjiCTp 30 (первое продвижение команды ка второй уровень совмещения) . Место расположения старших байтов команды в и)5формационном слове регистра 28 команд определяется состоянием счетчика 33, с выхода которого на управляющий вход коммутатора 29 комавд поступают управляющие потенциалыJ обеспечивающие комкутаилю Б соответствии с адресом первой вьтолняемой команды. После завершения продвижения содержимое счетчика 33 модифицируется на плюс единицу, в результате счетчик 33 оказывается подготовленным для следующего продвижения. С выхода первого буферного регистра 30 по микрооперации Индекс форматный код пер41вой команды загружается в ре- гистр 34 форматного кода, а адрес ячейки индекса поступает в селектормультиплексор 18 базы-индекса и в ре гистр 19 адреса базы-индекса. Поскол ку в одновременно выполняемой зацикленной микрокоманде ожидания в обработке не заданы микрооперации (т.е. нет микроопераций Запись или Загрузка), на выходе мультиплексного регистра 20 кода коррекции формируются нулевые признаки начальной выборки, полной, частичной и автоматической коррекции, т.е. отсутствует перекодировка микроопераций в первом и втором шифраторах 25 и 26 адре са. Если адрес ячейки-индекса, поданньш на вход селектора-мультиплексора 18 базы-индекса не равен нулю, на выходе селектора-мультиплексора 18 ба зы-индекса начинает вырабатываться потенциал, сохраняющийся до указания следующей микрооперации в поле Адрес базы-индекса и разрешающий прием в регистр 11 базы-индекса из блока 7 местной памяти базы-индекса. Если адрес ячейки индекса нулевой, на выходе селектора-мультиплексора 18 базы-индекса вырабатывае ся потенциал, по которому содержимое регистра 11 базы-индекса обнул ется, и приема информации из блока 7 местной памяти базы-индекса нет. .Адрес ячейки индекса с выхода регист ра 19 адреса базы-индекса поступает на второй адресный вход блока 7 шестой памяти базы-индекса и выполняетс считывание содержимого адресованной ячейки. По микрооперации Продвинутый адрес в поле Память содержимо счетчика 36 продвинутого адреса чере коммутатор 39 адреса подается на ад ресный вход блока 1 основной памяти и запускается считывание блока 1 основной памяти. Пятая микрокоманда микропрограммы заполнения буфера не содержит микроопераций и является микрокомандой второго такта считывания .блока 1 основной памяти.Действия выполняемые в процессоре для считывания команд, несущественны для це-. лей описания, в дальнейшем предпола гается, что по мере исчерпания содер жимого регистра 28 команд очередное информационное слово считываетсяиз блока 1 основной памяти по микроопе рации Продвинутый адрес в поле 0542 Память, которая задана в соответствующей микрокоманде цепочки совмещения, а считывание первого информационного слова в микропрограмме заполнения буфера выполняется по микрооперации Адрес команды, в поле Память. Шестая микрокоманда микропрограммы заполнения буфера задает выполнение микроопераций Первое продвижение в поле Продвижение, База в поле Адрес базы-индекса, Базаиндекс, в поле Первый , Смещение в поле Второй вход, Второй адрес в поле Выход и Переход по формату в поле Условие. По микрооперации Первое продвижение. два старших байта первой команды из первого буферного регистра 30 загружаются во второй буферный регистр 31, а в первый буферньм регистр 30 заносятся два младших байта первой команды (второе продвижение на второй уровень совмещения). После завершения продвижения счетчик 33 модифицируется на плюс единицу (в рассматриваемом примере размещения команды в четырех младших байтах регистра 28 команд после этой модификации содержимое счетчика 33 становится .нулевым, т.е. указывает на размещение следующих продвигаемых двух байт команды в старших байтах очередного информационного слова). По микрооперации База-индекс в поле Первьй вход содержимое ячейки индекса из регистра 11 базы-индекса через коммутатор 9 индекса подается на первьм вход данных сумматора 8 (на выходе мультиплексного регистра 20 кода коррекции сохраняется нулевое состояние признаков, т.е. перекодировка микроопераций в первом шифраторе 25 адреса не выполняется). По микрооперации Смещение в поле Второй вход разряды смещения с выхода первого буферного регистра 30 через Коммутатор 10 смещения подаются на второй вход данных сумматора 8, кроме того, загружаются в регистр 27 смещения. Запрет занесения в регистр 27 смещения отсутствует, поскольку по нулевому состоянию признаков на- . чальной выборки и коррекции на первом выходе коммутаора 21 адреса коррекции отсутствует формирование обобщенного признака коррекции. В сумматоре 8 выполняется сложение разрядов смещения с индексом, результирующий инA3декс}5рованный адрес по микроопераци Второй адрес в поле Выход загру жается в регистр 38 второго адреса. По микрооперации База в поле Адр базы-индекса потенциал, сформирова ньй на выходе селектора-мультиплексора 18 базы-индекса для ранее считанного индекса (признак истинности запоминается в блоке 23 триггеров, а на выходе селектора-мультиплексора 18 базы-индекса формируется новьй потенциал, соответствующий адресу вновь считываемой ячейки базы. Адрес ранее считанного индекса с выхода регистра 19 адреса базыиндекса, запоминается во втором бл ке 22 регистров, а в регистр 19 адреса базы-индекса загружается из первого буферного регистра 30 адрес вновь считываемой ячейки базы. Считывание базы из блока 7 местной памяти базы-индекса завершается к началу следующего такта процессора. Если адрес считываемой ячейки базы не равен ргулю, то на выходе селек ора-мультиплексора 18- базы-индекса Огсутствуат потенциал сброса регистра 11 базьг-индекса, и считанное из блока 7 местной памяти базыиндекса содержимое сячейки базы загружается в регистр 11 базы-индекса По микрооперации Переход по формату форматный код первой команды из регистра 34 форматного кода в блок 14 модифика1 ии адреса микрокоманды используется для формирования младшей тетрады агфеса следующе микрокоманды, для формирования стар ших разрядов которого используется содеряммое адресного поля выпо1П1яемой микрокоманды. Следующая, седьм микрокоманда микропрограммы заполне ния буфера одновременно является первой микрокомандой цепочки совмещ ния, соответствующей форматному код первой вьшолняемой команды (такое объединение микропрограмм предприня то для сокращения объема первой памяти 12 микрокоманд), В седьмой микрокоманде (для рассматриваемого примера выполнения последовательности команд RX формата) микропрограммы заполнения буфер или в первой микрокоманде цепочки совмещения для команд RX формата заданы микрооперации Первое продви :;.;.ение (поле Продвижение) , Индек (поле Адрес базы-индекса), База0544индекс (поле Первьш вход), Второй адрес (поля Второй вход и Выход) и Условный переход (поле Условие). По микрооперации Условный перекод анализируется необходимость выхода в микрокоманду ожидания в выборке о Этот анализ используется только при совместном выполнении iieпочки совмещения и микропрограммы обработки операндов При входе в цепочку совмещения из микропрограммы заполнения буфера признак занятости в блоке 14 модификации адреса микрокоманды находится в нулевом состоянии (так как продолжается зацикливание микрокоманды ожидания в обработке), поэтому вместо адреса микрокоманды ожидания в выборке на выходе блока 14 модификации адреса микрокоманды формируется адрес следующей, второй микрокоманды цепочки совмещения (последней микрокомандь микропрограммы заполнения буфера) По микроопераиди База-индекс в поле Первый вход содержимое ячейки базы, считазшое в предыдущей микрокоманде в регистр 11 базыиндекса,, через коммутатор 9 индекса передается нг первья вход данных сумматора 8, на второй вход данных которого по микрооперации Второй адрес в поле Второй вход подается через коммутатор 10 смещения содержимое регистра 38 второго адреса (индексированный адрес). В сумматоре 8 выполняется сложение базь и индексированного адреса, окончательно сформированньй адрес операнда загружается с выхода сумматора 8 Б регистр 38 второго адреса (по микрооперации Второй адрес в поле Выход) . По M iKpoonepnHH Первое продвижение в начале такта процессора в первый буферный регистр 30 через коммутатор 29 команд загружаются два старших байта второй выолняемой команды (первое продвижение торой команды на второй уровень совещения), в треттлй буферньй регистр 32 з второго буферного регистра 31 ва старших байта первой команды (провижение первой команды на третий ровень совмещения) и счетчик 33 модиицируется ка плюс единицу). По микроперации Индекс в поле Адрес базындекса в регистр 34 форматного коа загружается форматньй код второй команды из первого буферного ре гистра 30, потенциал, сформированный на выходе селектора-мультиплексора базы-индекса для базы,считываемой в такте выполнения предьщущей микроко манды (признак истинности) запомина ется в блоке 23 триггеров, а на вых де селектора-мультиплексора 18 базы-индекса формируется потенциал, соответствующий признаку истинности адреса вновь считываемой ячейки индекса. Адрес ранее считанной ячейки базы с выхода регистра 19 адреса базы-индекса запоминается во втором блоке 22 регистров, а в регистр 19 адреса базы-индекса загружается из первого буферного регистра 30 адрес вновь считьгоаемой ячейки индекса. Считывание индекса из блока 7 местной памяти базы-индекса завершается к началу следующего такта процессора. Если адрес считываемой ячейки индекса не равен нулю, то на выходе селектора-мультиплексора 18 базыиндекса отсутствует потенциал сброса регистра 11 базы-индекса, и считанное из блока 7 местной памяти ба зы-индекса содержимое ячейки индекс загружается в регистр 11 базы-индек са. Таким образом, после завершения выполнения первой микрокоманды цепочки совмещения RX формата во втором блоке 22 регистров и в блоке 23 триггеров хранятся адреса базы и индекса и соответствующие им признаки истинности для команды, продвинутой на третий .уровень совме щения, а на выходах селектора-мультиплексора 18 базы-индекса и регист ра 19 адреса базы-индекса сформированы соответственно признак истин ности и адрес индекса для команды второго уровня совмещения. Если первая выполняемая команда име.ет форматньй код 0101 - 0111 то в двух следующих микрокомандах микропрограммы заполнения буферЕ (вторая и третья микрокоманды соответствующей цепочки совмещения) выполняются первьй и второй такт предварительного считьшания операнд третьего уровня совмещения из блока ОСНОВНОЙ памяти. В частности, для этого случая в седьмой микрокоманде микропрограммы заполнения буфера задается одна микроопе рация Второй адрес в поле Память, а в восьмой микрокоманде микрооперации не заданы. По микрооперации Второй адрес в поле Память на адресный вход блока 1 основной памяти через коммутатор 39 адреса подается адрес операнда из регистра 38 второго адреса и запускается считывание блока 1 основной памяти. Восьмая микрокоманда выполняется в течение второго такта цикла считывания блока 1 основной памяти. Третий такт цикла считывания является последним тактом вьшолнения микропрограммы заполнения буфера (цепочка совмещения). Если, первая выполняемая команда имеет форматный код 0100 или , то вместо перехода к двум микрокомандам считывания операнда из блока 1 основной памяти осуществляется прямой переход на последнюю микрокоманду цепочки. В этой микрокоманде заданы микрооперации Фукнциональный переход (поле Условие), Первое продвижение (поле Продвижение), Конец выборки (поле.Установ), База-индекс (поле Первый вход), Смещение (поле Второй вход), Второй адрес (поле Выход) и База (поле Адрес базы индекса). Г : . По микрооперации Функциональный II переход форматный код команды из регистра 34 форматного кода подается в блок 14 модификации адреса микрокоманды и используется для формирования входного адреса соответствующей цепочки совмещения, содержимое счётчика 35 адреса команды модифицируется на плюс четьфе (в соответствии с длиной первой команды форма, та), в коммутаторе 21 адреса коррекции выдается сигнал опроса состояния обобщенного признака коррекции. Так как это состояние нулевое, на втором выходе коммутатора 21 адреса коррекции вырабатывается управляющий сигнал, по которому в регистр 16 адреса микрокоманды заносится код операции первой выполняемой команды из третьего буферного регистра 32, а в первый блок 6 регистров второй байт этой памяти (адреса регистровых операндов задаются во втором байте команд RR, RX или RS форматов). Таким образом, в следующем такте процессора начинается выполнение микропрограммы обработки операндов с микрокоманды, считанной 47 во второй регистр 17 микрокоманд и блока 15 второй памяти микрокоманд по адресу, заданному кодом опергпдии команды третьего уровня совмеш.ения. По микрооперации Первое продв жение два старших байта второй выполняемой команды из первого буферного регистра 30 загр т;ч-аютск во вто рой буферный регистр 31,; в первый буферный регистр 30 через коммутато 29 команд, заносятся rs регкстра 28 команд два «.шадших байта второй команды (второе продвижение второй команды на второй уровень совмещения) ., а сгетчик 33 модифицируется плюс единицу. По микрооперации Конец выборки адрес операнда из регистра 38 второго адреса загружается в регистр первого адреса, и в последую дях м;1Крокомаидах содержимое регистра первого адреса может быть использовано как адрес операнда микропрограммной обработки операк,п,ов, в то ьрамя регистр 38 ETOpriro адР е с,::: и с п oj i ь з у е т с я ми к рои р ог р а мм ой .;овг С:;ш,е1П1я дли адресных .;ычислений Микрооперации (поле Адрес базы-1 :ндекса) , База-индекс (поле Первый пход), Смещение (noj;c В т о р ой в X од,) и 1 т о р о и ад рее (nojii Выясд) выподншются точю та -ice, как и в :iiecTo микрокоманде ;4incponi Oi pa;--iM;M sanOj-HeHHw буфера, г.е, сол1,с;ржимое ячейки 1-:идекса из р Г;-1С1-ра 1 базы-м идскса через коммутатор 9 и.декса ;;одагтся на первый вход дамнил сумматора 3, разряды CMeiiieasiH с выхода первого буфергшго регисчра 30 через ;(оммугатор 10 смещешич , ;ia второй вход даи1;ь х сумматора 8 к одновременно загружаючся в регистр 27 смещения, о сумматоре 3 1;ыполняется сложение разрядов смещения с индексом, и резу:1Ьгау сложения загружается в 38 второго адреса, Состо гн1-:е признака истльшос ти дл ранее считанного индекса с выход.а селек7ора-мультиплексора 8 базыиндекса запоминается в блоке. 23 триггеров, а на аьходе селекторамультиплексора 18 базы-индекса форм руется потенциал5 соответствугаций а ресу вновь считьшаемой ячейки базы Адрес ранее считанной ячейки индекс с выхода регистра 19 адреса базы805 8индекса запоминается во втором блоке 22 регистровJ а в регистр 19 адреса базы-индекса загружается из первого буферного регистра 30 адрес вновь считываемой ячейки базы. Если этот адрес не равен нулю, то содержимое ячейки базы, считанное из блока 7 местной памяти базы-индекса, загружается а регистр 11 базы-индекса. После завершения выполнения микрооперации База. в поле Адрес базы-индекса последней микрокоманды цепочки совмещения RX формата во втором блоке 22 регистров сохраняются адрес базы для команды третьего уровня совмещения и адрес индекса для команды второго уровня совмещения. Адрес базы для команды второго уровня, совмещения хранится в регистре 19 адреса базы-индекса. Соответствующие признаки истинности хранятся в блоке 23 триггеров и в селекторе-мультиплексоре 18 базы-индекса . Все четыре типа цепочек совмещения выпоатняются аналог)..чныг; образом. Цепочки, задаваемые форматнььми кодами и 1 П отличаются от цепочек, задаваемых форматными кодами Ч000 - 10i1, только тем, что в последних отсутствуют две микрокоманды предварительного считывания опе1)анда из блока 1 .основной памяти, ЦепочК} RR формата также не содержат предварительно1о считывания операнда, кроме того, в первой микрокоманл.е цепочки формата вместо микрооперации Первое продвижение (как в случаях команд RX, PvS, SS и S форматов) задана микрооперация Второе продвижение в поле Продвижение ; а в последней микрокоманде цепочки продвижение вообще не задано. Перед выпо1П}ением первой микрокоманды цепочки RR формата сама команда RR формата размещена во втором буферном регистре 31 (точно так же, как два старших байта команды RX формата после второго продвижекия на второй уровень совмещения), а в первом буферном регистре 30 находятся два Старших байта следующей команды. При вьпюлненки этой микрокоманды вместо первоначального продвижения и затем загрузки регистра 34 форматного кода (для RX формата такая последовательность оправдана, поскольку в первом буферном регистре хранятся два младших байта команды RX формата, и форматный код следующей команды может быть вы делен только п-осле дополнительного продвижения) в первую очередь вьшол няется загрузка форматного кода сле дующей команды из первого буфернЪго регистра 30 в регистр 34 форматного кода, после этого в конце такта процессора выполняется продви жение. Выборка команд SS формата несущественна специфика цепочек совмеще ния для этих команд состоит в том, что при их выполнении дважды осуществляется базирование, причем адр са операндов формируются в регистрах 37 и 38 первого и второго адресов, а микрооперации продвижения задаются в поле Продвижение трех микрокоманд цепочки, чтобы обеспечить продвижение на шесть байт в соответствии с длиной команды. В рассматриваемом примере вьшолнения последовательности команд RX формата после завершения выполнения микропрограммы заполнения буфера (т.е. и цепочки совмещения, соответ ствующей команде RX формата) первая команда переходит на четвертый уровень совмещения - начинает выпол няться первая микрокоманда микропрограммы обработки операндов. Рассмотрим случай, когда первая команда является командой типа загрузки алгоритм которой состоит в том, что регистровьй операнд в бл ке 4 местной памяти операндов замещается содержимым четырехбайтного слова, считанного из блока 1 основной памяти. Вторая команда является командой типа записи, алгоритм которой состоит в замещении регистровым операндом из блока 4 местной памяти операндов четырех байт в вос мибайтовом информационном слове блока 1 основной памяти. Адрес блока 1 основной памяти для обеих команд является базируемым и индек сируемым, кроме того, при выборке обеих команд вьшолняется цепдчка со мещения RX формата, содержащая два дополнительных факта считывания опе ранда из блока 1 основной памяти для команды записи необходимость предварительного считывания следует из того, что 9 восьмибайтовом слове блока 1 основной памяти должны быть замещены только четыре байта, остальные четыре байта не изменяются. Считывание операнда из блока 1 основной памяти для команды загрузки выполняется цепочкой совмещения в дополнительных микрокомандах: прием считанного операнда в арифметический блок 3 производится в третьем такте считывания, т.е. в такте выполнения последней микрокоманды цепочки совмещения. После равершения выполнения этой микрокоманды в первом блоке 6 регистров хранится адрес ячейки блока 4 местной памяти операндов, в которую произво- дится загрузка информации, в первом регистре 13 микрокоманд хранится первая микрокоманда .цепочки совмещения RX формата с предварительным считыванием операнда, во втором регистре 17 микрокоманд - первая микрокоманда микропрограммы обработки операндов для команды загрузки. Первая микрокоманда цепочки совмещения для команды записи полностью соответствует рассмотренной ранее микрокоманде (шестая микрокоманда микропрограммы заполнения буфера) в ней заданы микрооперации Первое продвижение (поле Продвижение), Индекс (поле Адрес базы-индекса), База-индекс (поле Первый вход), Второй адрес (поле Второй вход и выход) и Условный переход (поле Условие). Микропрограмма обработки операндов команды нагрузки состоит из двух микрокоманд - в первой микрокоманде в поле Арифметика заданы микрооперации передачи на выход адреса записи арифметического блока 3 четырех байт информации из восьмибайтодаого слова, поданного на первый вход данных арифметического блока 3, кроме того, в первой микрокоманде задана микрооперация Загрхэка. Вторая микрокоманда является микрокомандой ожидания в обработке, и микрооперации в ней не заданы. В такте одновременного выполнения первых микрокоманд цепочки совмещения и микропрограммы обработки производятся следующие действия. На выходе адреса записи арифметического блока 3 формируются четыре байта информации, подлежащие загрузce в блок 4 местной памяти операндов

51

и D блок 7 местной памяти базы-индекса. Адрес ячеек блоков 4 и 7 местной памятей операндов и базы-индекса, в которые вьтолняется загрузк1, формируется на выходе первого блока 6 регистров. В блоке 2 обработки команд выполняется продзижекис. Из регистра 28 команд через коммутатор 29 команд в первый буферп -я г регистр 30 заносятся два старглих байта команды, следующей за рсомандой записи (первое продзил ение на второй уровень третьей команды). В регистр 34 форматного кода заносится форматный код команды из первого буферного регистра 30, Два стариих байта второй команды (команды записи) из второго буферного регистра 31 заносятся 3 третий буферный регистр 32. Счетчик 33 модифицируется на плюс единицу. Содержимое ячейки базы (команды записи), считанное в пред1,дущей микрокоманде в регистр 11 базы-индекса5 через ком:4утатор 9 и};декса передается на первьп вход цапных сумматора 8, на второй вход .даннь1х которого через 10 смеягеиия гередается иидексгфованньй адрес операнда команды записи из реглстра 38 второго адреса. В сумматоре. 8 выполняется окончательное Формирование адреса операьда, с выхода сумматора 8 этот адрес загружается п регистр 38 вторпго адреса ,

Признак истинности базы команды записи с выхода ceлeктopa- ryльтиплeкt:opa 18 базы-индекса загружается в блок 23 триггеров; а на выходе селектора-мультиплексора 18 базыиндекса формируется потени;иал, соответствующий признаку исгинности индекса третьей выполняемой команды, Андрее базы команды записи с выхода регистра 19 адреса базы-индекса запоминается во втором блоке 22 регистров, в регистр 19 адреса базыиндекса из первого буферного регистра 30 загружается адрес индекса третьей команды. Если этот адрес не равен нулю, содержимое ячейки индекса после считывания из блока 7 местной памяти бгзь;-индекса загружается в регистр 11 базы индекса. В первом блоке 24 сравнения ;зылолняется сравнение адреса загрузхк, сформт1рова:-шого на выходе первого блока 6 регрстроз, с адресом индекса третьей вьшолпяемой ко880552

манды, сформированным на выходе регис;ра П базы-индекса, и с адресами базы и индекса команды записи, сформированными на втором выходе 5 второго блока 22 регистров. При отсутствии сравнения на выходе первого блока 24 сравнения вырыбатывается нулевой потенциал, запрещающий работу мультиплексного регистра 20

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

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

0 такте.

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

5 первого блока 24 сравнения вырабатывается сигнал, по которому в мультиплексном регистре 20 кода KoppevipsH при наличии разрешающего потенциала из выходе селектора-мультиплексора 13 базы-индекса устанавливается признак автоматической коррекции,. По единичному состоянию признака автоматической коррекции на выходе мультиплексного регистра кода коррекции в следующем такте процессора формируется потенциал. Управляющий работой первого шифратора 25 адреса. В рассматриваемом примере установка признака автомат:тческой коррекции после первого такта

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

Если отдех/ьно рассмотреть случай, когда вторая вьтолняемая команда является командой с форматным кодом или 0100, то в соответствующей цепочке совмещения для такой команды нет предварительного считывания операнда и непосредственно после первой г-шкрокоманды

цепочки совмещения выполняется последняя микрокоманда, в которой прои . водится суммирование с индексом. Поскольку в последней микрокоманде цепочки в поле Первьй вход задан код микрооперации База-ин- деке, то по признаку автоматической коррекции в первом шифраторе 25 адреса этот код преобразуется в код микрооперации Арифметический блок и через коммутатор 9 индекса на первый вход данных сумматора 8 вместо содержимого регистра 11 базыиндекса передается информация с выхода адреса записи арифметического блока 3. Признак автоматической коррекции вырабатывается только в течение одного такта процессора непосредственно за тактом выполнения микрокоманды обработки, в которой, задана микрооперация Загрузка. Если в этом следующем такте в микрокоманде совмещения в поле Первьй вход задан код микрооперации База-индекс, то при адресном суммировании вместо считанной в регистр 11 базы-индекса нескорректированной адресной компоненты учитывается новое значение базы или индекса, формируемое на выходе арифметического блока 3, Если мезвду тактом выполнения микрооперации Загрузка и тактом адресного суммирования выполняется по крайней мере один про межуточный такт, то этого оказывается достаточно для загрузки новой адресной компоненты в блок 7 местной памяти базы-индекса и ее считывания в регистр 11 базы-индекса, т.е. признак автоматической коррекции может быть сброшен, и микрооперация База-индекс Хполе Первый вход) вьтолняется без перекодировки. Возвращаясь к случаю, когда вторая команда является командой записи, рассмотрим дальнейшие действия. После такта вьтолнения микрокоманды обработки с микрооперацией Загрузка в цепочке совмещения для команды записи выполняются два промежуточных такта считывания блока 1 основной памяти, поэтому в последнем тактесцепоки совмещения суммирование адресных компонент производится обычным обра зом, без перекодировки.

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

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

определенности предположим, что считывание операнда по Неверному адресу вьтолняется обычным образом, однако реакция процессора (выход в прерывание или т.п.) на возможные возникающие при этом ошибки запрещен признаком полной коррекции. Признак полной коррекции вырабатывается в течение всего интервала времени, начиная с такта процессора, непосредственно следующего за тактом выполнения микрокоманды обработки с микрооперацией Загрузка и кончая тактом ции База-индекс (поле Первый вход Регистр смещения (поле Второй вход), Второй адрес (поле Выход и Коррекция (поле Адрес базы-индекса) , На первый вход данных сумматора 8 через коммутатор 9 индекса передается содержимое регистра 11 базы-индекса (индекс команды записи) На второй вход данных сумматора 8 че рез коммутаор 10 смещения передается содержимое регистра 27 смещения (сме щение команды записи). Результат сложения с выхода сумматора 8 заносится в регистр 38 второго адреса. По микрооперации Коррекция в поле Адрес базы-индекса в регистр 19 адреса базы-индекса с .перво го выхода второго блока 22 регистров загружается адрес базы для команды записи, а предыдущее состояние регистра 19 адреса базы-индекса (адрес индекса для команды записи) запоминается во втором блоке 22 регистров . Содержимое ячейки индекса считывается из блока 7 местной памяти базы-индекса и заносится в регистр базы-индекса, если по признаку истинности не выполняется сброс регистра 11 базы-индекса. Признак исти ности формируется в селекторе-мульти плексоре 18 базы-индекса по соответ ствующему сигналу с первого выхода блока 23 триггеров. Вторая микрокоманда микропрограммы полной коррекции содержит те же микрооперации что и первая микрокоманда, только вместо микрооперации Регистр смеще ния в поле Вдорой вход задана микрооперация Второй адрес. В ре7 зультате выполнения этой- микрокоманды индексированный адрес суммируг ется с содержимым ячейки базы и в регистре 38 второго адреса формируется скорректированный адрес операн да для команды записи, во втором блоке 22 регистров и блоке 23 триггеров хранятся адреса и соответствзто щие признаки истинности для индекса и базы команды записи, а на выходах регистра 19 адреса базы-индекса и селекторе-мультиплексоре 18 базы-индекса формируется адрес и признак истинности для индекса следующей (третьей) команды. При вьшолнении микропрограммы коррекции после цепочки совмещения, в которой предварительное считьшание операнда из блока 1 основной памяти было запрещено признаком полной коррек1даи, это предварительное считывание вьшолняется по скорректированному адресу в дополнительных микрокомандах. После завершения двух тактов предварительного считывания или для случая отсутствия предварительного считьтания начинает вы- полняться последняя микрокоманда микропрограммы полной коррекции, аналогичная последней микрокоманде цепочки совмещения RX формата и содержащая те же микрооперации, за исключением микроопераций поля Продвижение (продвижение в блоке 2 обработки команд уже бьшо выполнено при выходе в микропрограмму полной коррекции) . Таким образом, для выполнения полной коррекции дополнительно затрачивается три такта процессора или при необходимости предварительного считывания операнда - пять тактов (микропрограмма заполнения буфера выполняется соответственно за семь или девять тактов). Микропрограмма обработки операндов команды типа записи выполняется однрвременно с цепочкой совмещения для третьей и состоит из пяти микрокоманд. Перед началом выполнения первой микрокоманды обработки (в такте микрокоманды ожидания в обработке) информационное слово из блока 1 основной памяти и регистровьй операнд из блока 4 местной памяти операндов считываются в арифметический блок 3. В первой микрокоманде обработки в пале Арифметика заданымикрооперации, по которым четыре байта в информационном слове замещаются регистровым операндом, и результирующ восьмибайтовое слово формируется на выходе данных арифметического блока 3.. Микропрограмма обработки операндов коман;}ы выполняется более чем за два такта, поэтому в первой микрокоманде обработки задана микрооперация Установка занятости. По этой микрооперации в одновременно выполняемой первой микрокоманде цепочки совмещения формируется адрес перехода к микрокоманде ожидания в выборке и цепочка,совмещения зацикливается на этой микрокоманде до тех пор, пока не будет вьшолнена микрокоманда обработки с микроопераций Сброс занятости Во второй микрокс)г.шр;де обработки дана ш к р о оп е р а i щя 3 а гт и с , п о торой содержимое регистра 3/ пер.вог адреса (в последней микрокомагще це почки совмещения: по микрооперации Конец выборки в раггимре 37 перво го адреса, был прдготовле -; адрес опе ранда для команды записи) через ком мутатор 39 адреса подается на .v/д-оес ный вход блока 1 основной памяти„ на упрнвляющий вход ко орого поступает управляющ}ш сигнал зап1;с:и. Цикл запис блока 1 основной- памяти завер1аается в четвертом тактЯ микропро граммы обработки для команды записи Третья м1;-псрокомг;- Д этой- г-гикрстзрогра ыы ПС содержи 1 микроопераций; четвер тая микрокоманда содержит ьшкрооперах.ию Сброс занятости , по которой в цепочке совмещения осугдествляется пгреход от микрокоманды одачдания и выборке к возможному предварительному считыванию операнда из блока 1 оснонной памяти или непосредственно л последней гккрокоманде цепочки сов г-;е1; ;ег1 :я,, ;-ассмотрим случаи, логда хтри выропчении микропрограммы обработки алл команда записи адрес sain-;cH попадает в диапазон адресов команд тре тьего -- .-гервого уровней совмещеник. Ддрес записи., хранящийся Б регистре 37 первого операнда 5 сравнивается с адресг кг . :-ПС-Я в счетчиках 35 и 36 адреса командгч к продвипучого адреса. На выходе второго бло ка 40 сравнения вырабатывается сигпал совпаденияJ если адрес в счетчике 35 а.дреса. команды ь :еньше или раве адресу Б регистре 37 первого адреса и одновременно адрес в регистре 37 первого адреса меньше раве адресу i; счетчике 36 продвкпутого адреса,, кроме того, если соблюдается одно из указанпык условий к адрес в счетчи:- :е 36 про.цвинутого адреса ченьнге адреса з счетчике 35 адреса команды (такая ситуация возможна при переполнении счетчика 36 продвинутог aii.peca и переходе через ;.1аксима.пъни доступный адрес блока основной памяти). В мультиплексном регистре 20 кода коррекции по о операции Запись (so втором такте выгшлпения ;чикропрограмгф- обработки) по 55 ка

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

сом базы или индекса команды третьего уровня совмещения 5 формир-уегЫм на втором выходе второго блока ре560коррекции вырабатьшается соответствующий потенциал. Этот потенциал ссхраняется до последней микрокоманды одновременно выполняемой цепочки совмещения., В последней микрокоманде цепочки по микрооперации Функциональный переход в коммутаторе 21 адреса коррекции вырабатыБается на первом выходе код адреса первой микрокоманды микропрограммы заполнения буфера- и сигнал перехода к коррекции, по которому этот код адреса в блоке 14 модификации адреса микрокоманды вьщается на выход в качестве адреса следующей микрокоманды. В результате процессор переходит к выполнению микропрограммы заполнепия буфера. Рассмотрим отдельный случай выполнения команд, когда в микропрограмме обработки операндов производится загрузка результата в блок 4 местной памяти операндов, причем микропрограмма обработки выполняется более чем за два тактаj микрооперация Загрузка указана в последней микрокоманде микропрограммы обработ-хи (п1::р.д микрокомандой о; гИдания в обработке), а одновременно выполняемая цепочка совмещения не содержит предварительного считывания операнда из б.пока 1 осноБНой памяти. Такая сигуация возможна., когда на четвертом уровне совмещения выполняется команда арифметического типа (сложение, вычлтаниеJ умножение и T,n.)j а на третьем уровне - команда с форматнымтч од ом или 0100. Все микропрогра «-1ы обработки операвдов, в которых последняя микрокоманда содержит микрооперацию Загрузка, используют вспомогательную микроопер,гцию Г/прос конфликта, которая задается в микрокоманде, непосредственно предшествующей микрокоманде записи. Микрокоманда обработки, содержащая микрооперацию Опрос конфликта, содержит также Микрооперацию Сброс занятости и выполняется одновременно с микрокоман,ои олшдания в выборке. Если в этой г-шкрокоманде обнаруживается, то адрес предстоящей загрузки, ормируемьй на выходе первого бло6 регистров,, совпадает с адре61 1

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

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

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

880562

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

10 частичной коррекции, в которой

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

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

Q для наиболее приоритетной микропрограммы (начальной выборки, полной или частичной коррекции).

в мультиплексном регистре 20 кода.

коррекции (фиг.2) для хранения признака начальной выборки используется триггер 49 нaчaл ьнofjJ выборки, установка которого производится при попадании адреса операнда в команде записи в диапазон адресов команд 0 первого-третьего уровней (в этой ситуации вырабатывается сигнал на втором входе 55) в такте вьшолнения микрокоманды обработки, в которой задана микрооперация Запись 5 (на разрешающий вход тр1иггера 49 начальной выборки поступает сигнал установки по шине 60 микрооперации Запись). Признак полной коррекции хранитс в триггера 50 полной коррекции уссановка KO-ropt)ro ароизйоднтся ,сиг HartoM п выхода второго элеме1 га ИЛИ --, Ииизнакр -1асткчяой и автоivja-Ическоя коррекции ; o;ИfУlЧ; l в три fepax 51 и Ъ7. часгмччоя :; i,s гочатической коррекции соотяе :: ,, установка их производится сиг-а-.ами с выходов сооТветст;: е:;ио .:sp;:,j;i./ н четвертог о Л ч ; л:- . Че-гвертый злемент ;i - - срабатывает ситуацииJ когда oд :oвpe e: нo ирисут С7ч;;у(()т рязре |Гаю1Ц)-1С сигнал -; jj iiiKie b1 равенства оиресоз второго роЕг1я (совпадение адреса загр;зки с адресом индекса кс манды второго уройня 3 тахте зьгйолнеикя пеов:/ й микоокомаиды цепочкк созмел1, т-ли Li Г ослед ;о1цих микpoкof4aa.i,..X5 за ис1,.. последней, или с адресом о;Я--;;--1 л;оманды Бторого уровня в следд1ей ннкрокомакде цепочки совме1цеьия па, пяток входе 58 блока едииК-;::- 0 СОСГ U lie ирИЗНака ИСЧИИЮС7Н ,.- а.д -оаса кодекса t лео ,bix микр -.... :ч ,Лл с.д;роса .; 1 С а1-1ДЬ; .;;.., у;л.:)ВЬл в Г|0.л:д:, ьчич; ;.ч4о1-л;;;,л: u,eju:ij i С .л меивнил,; к га и1и;;е , Miijro;.i:cpaLu-iii За1-рузка 3 такте ,.гнелля иккрокома ндь обработки, ,): :кс 7ч :к:;Л ота ; гикроолаоатгкя, Tpiv; ; ,,р ;2 aBTOi iarj-i-;ec:ajH коррекГЛ J- г гаБли:;7а,;ТГ- -олько н.а яремл гьлл:,/ ;:е;;.1Л ггаду:.и;е/О такт; , При 5г: /;аэ1 ог-ат;/--;ескок i-оррекдлн ;-С}1о. I-.&3 :.стсл 3 cj:y4ae . когда зьгполаяйтся .1з;г:ниа,:;;,ьлай -гюимеще.пя л ,лзч ;,:-1атичеикая лоррокдня jipOH .1Г-ГГ ;; ЯЗИ С у.чМЛ р,:У-;.Я:ЯИ СМе,йЛИЯ с :срро--;т яру мьы нндзлсо.; 3 лосладней ;л..чьл: окзмагд;- дело .:я-;. jloH сразнении 3 и.-лз ой 3 талте ло-зладчей ;и:кроко ;-(,з.н,з:ы целоЛсн созлчещОЛШ азто;-ити- чйглз..;: KopDCKp-;;; в :;леду;о дам такте лр;;-л;1о.ц;зтся всегда, если зт(5т cjzeду;о1 ;лй так;ом :дг r-ep43jr ;и :poкo a;:дfc следу-оп;ей v3if34Ki ;:ов е ;4енкя, содержзлцей лика .а,-л Л СХЕОЖСИаЯ ЯК11,екО1:р ОЗ :1ННОГО с За.-;ой, Тервый элемент Л 42 срабатывает в ситуации аналогичной длтя летвер ЛЗо оле.;-;елта И 45 (,пр;-:сутствуют разремшюугне си1налы на лине 6 равгн с;тпа адресов второго у юлгя и па пя тол оходе 58 блока; , но и такчв вы564полнения миЧрокоманды обработки; содерл ащей ьшкроопера1Л 1ю Опрос ко1- флякта (на ишне 64 микрооперация Опрос KOHclinKKTa - разрешающий сигкал) 5 То е, заблаговре55енно вьщеляется ситуация5 когда микрооперация Заг1;узка задана в гюследней микро-команде обработки, такт вьшолнения корорсй совпадает с тактом выполнеНИН госледней микрокоманды цепочки сосмешзния и адрес предстоящей за-грузки совпадает с адресом индекса В этой ситуацир одновременная предварительная установка три:ггеров 50 и 5; полной коррекции и частичной коррекции позволяет в мнкрОПрограмме совмещения задержать -на один такт выглзлнелие микрооперации по суммированию смещения и индекса, который необходимо скорректировать, путем организации перехода к микрокоманде ластичной коррекции, в которой повторяются эти микрооперации суммирова1п-1я. Установка триггера 52 автоматической коррекции на время такта вьстолле ля микроко анды частичной коррекции позволяет при ловторзо ч о Л11чК|:)Овании у -гесть скооректирозангрй кодекс При совладении адреса загрузки с адресом базы или индекса команды третьего уровгш (на ишне 62 или 63 с-авенства. адресов третьего уровня-- едии-ичный потенциа.л) и при на.:лчии соответствующего признака пстикности (на соответствующей шине 66 или 67 истинности адресов еди;;,-гчгго1Й потенциал) по сигналу с выхода элемента ИЛИ 46 в такте выполчекия микрооперации Опрос конАшикта или Загрузка (сигналы на соответствующих лннах 64 шш 65) срабатывает соответствующий эл-емент И 43, ШШ 44, и через элемент ИЛИ 47 ус танавливается трлггер 50 пои1ной коррекции. Если одновременная уста- мовка триггеров 50 и 51 полной и астйЧ1 ой коррекции вызвана одновременнь м срабатыБанием первого и второго элемеягов И 42 и 43 или первого и ретьего элементов И 42 и 44 (адреса, второго и третьего уровня совпадают)j тс поскольку это возможно только в такте вьтолнения микрооперации Опрос конфликта, Б следующем такте установка триггеа 50 полной коррекции будет подтверждена по NiHKpoonepauHH Загрузка. 65 В этом такте организуется переход к микрокоманде частичной коррекции и функции микрооперации База в поле Адрес базы-индекса запрещены, т.е. сохраняется состояние на шинах 62 и 63 равенства адресов третьего уровня и шинах 66 и 67 истинности адресов. В такте вьшолнения микрокоманды частичной коррекции триггер 51 частичной коррекции будет уже сброшен, а по установленному триггеру 50 полной коррекции организуется переход к микропрограмме полной коррекции. Сброс триггеров 49 и 50 начальной выборки и полной коррекции производится сигналом пер хода к коррекции на шестом входе 59 блока. В коммутаторе 21 адреса коррекции (фиг.З) при установленном признаке начальной выборки по потен циалу на шине 83 начальной выборки в узле 68 приоритета блокируется срабатывание элементов И 69 и 70, а в шифраторе 72 элементами ИЛИ 73 и 74 формируются два младших разряд кода адреса первой микрокоманды мик ропрограммы запоминания буфера, поступающие на шину 86 адреса коррекции . При установленном признаке полно коррекции в отсутствии признака начальной выборки по потенциалу на шине 84 полной коррекциив узле 68 приоритета срабатывает элемент И 69 а если на шине 85 частичной коррекции есть единичньй потенциал, то срабатываете, также элемент И 70. По потенциалу свыхода элемента И 6-9 (или элементов И 69 и И 70) в шифраторе 72 элементами ЩШ 73 и 74 формируются два младших разряда код адреса первой г-шкрокоманды микропро j граммы полной коррекции (или код ад са шкрокомащ1,ы частичной коррекции При появлении единичного потенциа ла на любом из входов шифратора 72 срабатывает элемент ИЛИ 75, по Йотенциалу с его выхода разрешается срабатывание Элемента И 76, и через элемент НЕ 78 блокируется срабатывание элемента И 77. При выполнении микрооперации Функциональный переход на втором входе 80 блока возни кает сигнал, по которому срабатьтает элемент И 76 и на шине 87 перехода к коррекции вырабатывается сигнал пер.хода к коррекции. Код ад 5 реса и сигнал перехода формируются, на выходе 81 блока. Если ни на одном из входов шифратора 72 нет единичных потенциалов, то по выходу элемента ИЛИ 75 через элемент НЕ 78 разрешается .срабатьгеание элемента И 77 и формирование сигнала на втором выходе 82 блока, по которому организуется переход по коду операции к соответствующей микропрогр.амме обработки. Во втором блоке 22 регистров индекса (фиг.4) по сигналу на управляющем входе 91 выполняется занесение кода адреса базы или индекса с входа 90 в первый регистр 88, предьщущёе содержимое первого регистра 88 загружается во второй регистр 89 и формируется на первом выходе 92 буфера. Сигнал на управляющем входе 91 возникает при выполнении любой микрооперации в поле Адрес базы-индекса / если в такте вьшолнения этой микрооперации отсутствует признак частичной коррекции - это используется для блокировки функций микрооперации База. При выходе в микропрограмму полной коррекции содержимое регистров 88 и 89 поочередно вьздается на первьй выход 92 буфера. Для обеспечения возможности сравнения адресов хранящиеся в регистрах 88 и 89 коды адресов формируются на втором выходе 93 блока. В блоке 23 триггеров (фиг.5) по сигналу на шине 102-занесения адреса выполняется занесение признака истинности базы или индекса с входа 97 в первый триггер 94, предьщущёе содержимое которого заносится во второй триггер 95 и формируется на первом входе элемедта И 96. Сигнал на шине 102 занесения адреса возникает при вьшолнении любой микрооперации в поле Адрес базыиндекса, если нет запрета выработки этого сигнала по признаку частичной коррекции. При выходе ;«1кропрограмму полной коррекции по микрооперации Корре1 ция (поле Адрес базы-индекса) на соответствующей шине 101 возникает потенциал, по которому состояние триггера 95 через элемент И 96 передается на первый выход 99 буфера. Для обеспечения учета текущего состояния признаков истинности при сравнении адреса загрузки с адресами базы и индекса

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

Если на шине 166присутствует сигнал микрооперации Функциональньш переход юти Переход по формату на выход коммутатора 148 передается форматньй код с второго входа 154, при отсутствии этих сигналов передаются разряды адресного поля текущей микрокоманды с первого входа 153. В зависимости от кода в поле Уеловие (сигналы на шине 165 поля Условие) на. выходе коммутатора 149 в младший разряд адреса следующей микрокоманды передается нулевой или единичньш потенциал (потенциал земля -или потенциал с выхода элемента НЕ152 - в соответствии с кодами 000 или 001 микрооперации Безусловньй переход), потенциал в младшем разряде выхода коммутатора 148 (по шине 160 младшего разрда адреса и по кодам микроопераций . Функциональньй переход или Переход по формату) или потенциал с выхода триггера 150 занятости (по кду микрооперации Условный переход

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

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

в результате на выходе 189 вырабатывается единичньш сигнал. Если при модификации адресов команд первого и третьего уровней совмещения происходит переполнение адреса коман первого уровня, то срабатьшает элемент И 184, так как в данной ситуации на шине 190 нулевого разряда адреса команды присутствует единичный потенциал (адрес команды третьего уровня близок к максимально возможному адресу) и на шине 191 нулевого разряда продвинутого адреса - нулевой потенциал (адрес команды первого уровня превышает максимально возможный адрес и по условию непрерывности адресов близок к минимально возможному), т.е. на выходе элемента НЕ 185 присутствует единичньй потенциал. При таком размещении адресов (на выходе элемента И 184- единичньй потенциал) попадание адреса записи в диапазон адре-. сов команд фиксируется-элементами И 182 и 183, которые срабатывают по выходным сигналам соответственно второй и первой схем 168 и 167 сравнния. Общий сигнал попадания предполагаемого адреса записи в диапазон адресов команд вырабатывается на выходе элемента ИЛИ 180 по сигналу с выходов элементов И 181-183.

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

В первом блоке 6 регистров (фиг.1 на входе 196 появляется сигнал управления занесением в регистры 192

711

и 193 адресов считывания при выполне НИИ микрооперации Функциональный пе реход и при отсутствии признака перехода к коррекции в последней г шкрокоманде цепочки совмещения; Адреса регистровых операндов команды третьего уровня совмещения по входу 195 блока заносятся в регистры 192 и 193 адресов считывания. Адрес первого регистрового операнда в первом регистре 192 адреса считыванрш является тагсже адресом, по которому происходит загрузка результата обработки операндов, этот адрес дополнительно заносится в регистр 194 адреса загрузки. Aji,peca считывания и загрузки формируются на выходе 197 блока.

В арифметическом блоке 3 (фиг.12) входные операнды, поступающие по входам 209 и 210 блока, заносятся в соответствующие регистры 198 и 199 операндов. Занесение в регистры 198 и 199 операндов управляется сигналами, поступающими по шине 216 управления занесением и формируемым,; по микрооперациям поля Ариф0572

метика. Арифметическая или логическая обработка операндов, занесенных в регистры 198 и 199 операндов, выполняется в арифметических узлах 201-204, кажд.ьй из которых, обрабатывает соответствующие тетрады операндов и формирует тетраду результата обработки. Вид обработки (сложение, вычитание и т.п.) определяется сигналами на шине 214 функции, формируемыми по 1 дакрооперациям поля Арифметика. Распространение переноса при выполнении арифметических функций обеспечивается узлом 206 переносов. Результат обработки операндов в арифметических узлах 201-204 заносится в регистр 200 записи, в первьй регистр 198 операнда или во второй регистр 199 операнда в зависимости

от сигналов занесения на шине 216 управления занесениемэ форг- нруемых по шкpooпepaциям поля Арифметика.

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

79

Ш

ФигЗ

Фиг.5

J W6103W5

///

i07 Фаг.6

1

Фиг7

109

108

т

т

189

Фиг.Ш

W

197

Фиг.11

т

20i к б Считтданче памяти 1 Прием 6 регистр 30 Прием 6 регистр31 Прием 6 регистр 3Z Прием д регистр 192 Прием в регистрШ Прием Л регистр iff . Прием f регистр ПриенВ pesucmpZ Микрооперация Загрузка За грума SMалмые паняти лок 21, кампаратароаТриггер S2 Триггер SO Прием S регистр 38 ттыдание осноёСциты ание ocHoL памяти 1 HQU. понятий . f/fi ре 8Ucmpi/56) (no регистр,у 55)1 1ойддижеиие команд С -штыоание индек1са /х адреса оснодноа памяти I (регастрЗб) Продвижение команд Базиробанае (фор ожидания Ч для с -/ить1дан/2я миродание. /А) жиодной памяти C umbiLiaHiie индекса ZX 5-6 Такт ожидания родбижение команд ндексирооание читыбание fasbi 1В череш по форматному iodj/ родбижение команд Базиробание читшбание индекса

Шданиё- дс

J оы5орке{пр11знак

- антаат нет

(Считывание операн dajio ecyJA

WaкmoжMaнпГЛ

..«-™.;

А --

Ч

Продоижеиие команд. Считыдаиие $азы 2в Индексиробание

(Рдикционамнйш перехоа

Документы, цитированные в отчете о поиске Патент 1985 года SU1138805A1

Печь для непрерывного получения сернистого натрия 1921
  • Настюков А.М.
  • Настюков К.И.
SU1A1
Патент Великобритании № 1107429, кл, G 4 А, опублик
Приспособление к индикатору для определения момента вспышки в двигателях 1925
  • Ярин П.С.
SU1969A1
Аппарат для очищения воды при помощи химических реактивов 1917
  • Гордон И.Д.
SU2A1
0
  • Ханс Дизелькёттер
  • Федеративна Республика Германии
  • Иностранна Фирма Фарбенфабрикен Байер А. Г.
  • Федеративна Республика Германии
SU340172A1
Контрольный висячий замок в разъемном футляре 1922
  • Назаров П.И.
SU1972A1
Переносная печь для варки пищи и отопления в окопах, походных помещениях и т.п. 1921
  • Богач Б.И.
SU3A1
Очаг для массовой варки пищи, выпечки хлеба и кипячения воды 1921
  • Богач Б.И.
SU4A1
Приспособление для изготовления в грунте бетонных свай с употреблением обсадных труб 1915
  • Пантелеев А.И.
SU1981A1

SU 1 138 805 A1

Авторы

Елисеев Александр Александрович

Мацуев Виталий Иванович

Петушков Александр Николаевич

Роговская Татьяна Ивановна

Даты

1985-02-07Публикация

1982-10-15Подача