Процессор с совмещением операций
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
СОЮЗ СОВЕТСНИХСОЦИАЛИСТИЧЕСНИХРЕСПУБЛИН 19) (11 4(51) С 06 Р 15 ОСУДАРСТВЕННЫЙ НОМИТЕТ ССПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИ ЗОБРЕТЕНИ ТЕЛЬСТ ВТОРИЧНОМУ С(56) 1. Патент Ве1107429, кл, С2. Патент США выми выходамигистров микроходом блокад данных, перющие входы и ка адреса, пео и второго ры и адресным счетч перво5В,И.Мацуев.Роговская ком ои памяти, в второй управл осн вый вых ве ритании опублик,1476, кл,69.40 к и тании 1582815,81 (прототип) .С СОВМЕШЕНИй блок основной памяти, регистр команд, счетчиккоманд, коммутатор команд, три буферных регистра, регистр форматногокода, первый блок регистров, блокместной памяти операндов, арифметический блок, два блока сравненрегистр адреса базы-индекса, бместной памяти базы-индекса, селектор-мультиплексор базы-индекса,регистр базы-индекса, коммутатор индекса, коммутатор смещения, суадреса, блок модификации адрес окоманды, первый блок памяти микрокоманд, первый регистр микрокоманды, регистр адреса микрокоманды, второй блок памяти микрокоманд, второйрегистр микрокоманды, регистры первого и второго адреса, счетчик адреса команды, счетчик продвижения адреса и коммутатор адреса, первый,второй, третий и четвертый входыданных, первый и второй управляющиевходы и выход которого соединенысоответственно с выходами счетчикапродвижения адреса, регистра первого адреса, регистра второго адреса,ия,лок мматор а микр 8)лико4 А,36172. 5, опублик, 1972,3. Патент Великобркл. С 4 А опублик. 1(54)(57) 1. ПРОЦЕССОРЕМ ОПЕРАЦИЙ, содержащ которого подключены соответо к выходу данных арифметичеслока, первым выходам первогоого регистров микрокоманды и входу данных регистра команд,синхровход и выход регистра командсоединены соответственно с первымвыходом первого регистра микрокоманды и входом данных коммутатора команд, управляющий вход и выход которого подключены соответственнок выходу счетчика команд и входуданных первого буферного регистра,выход первого буферного регистрасоединен с входами данных второго буферного регистра и регистра форматного кода и первыми входами данныхрегистра адреса базы-индекса, селектора-мультиплексора, базы-индекса и коммутатора смещения, вход данных и выход третьего буферного регистра подключены соответственнок выходу второго буферного регистра и входу данных первого блока регистров, синхровходы счетчика команд, регистра форматного кода, первого, второго и третьего буферныхрегистров соединены с первым выходомпервого регистра микрокоманды, а выход первого блока регистров подключен к первым входам данных первого блока сравнения, блока местнойпамяти базы-индекса и блока местнойпамяти операндов, первый и второй ходы данных и выход адреса записиленин обращением выполняется считыва-,ние блока 4 местной памяти операндовпо адресу считывания, поданному напервый вход данных, при этом считываемая информация формируется на выходе блока 4 местной памяти операндов. При нЯличии сигнала загрузкина входе управления обращением выполняется загрузка в блок 4 мес;нойпамяти операндов информации, поданной на второй его вход данных, причем загрузка выполняется по ацресу записи, поданному на первыи вход данныхблока 4 местной памяти операндов,Такт загрузки или считывания блока 4местной памяти операндов совпадаетс тактом процессора, при этом можетбыть загружено или считано четырехбайтовое слово. Выход блока 4 мес гной памяти операндов соединен с вторым входом данных арифметическогоблока 3,Блок 5 регистров адреса содержит трехбайтовые счетчик 35 адресакоманды, счетчик 36 продвижения 25адреса и регистры 37 и 38 первогои второго ацресов, кроме того, коммутатор 39 адоеса и второй блок 40сравнения,Счетчик 35 адреса команды предназ- оначен для хранения и модификацииадреса команды третьего уровня сонмещения. Выход счетчика 35 адреса команды соединен с установочным входомсчетчика 36 продвижения адреса, свторым входом данных второго блока 40сравнения и с четвертым входом данныхкоммутатора 39 адреса, а также с входом данных счетчика .33 команд.Счетчик 36 продвижения адреса предназначен для хранения и модификации адреса команд первого уровня совмещения, Выход счетчика 36 продвижения адреса соединен с первым входом данных коммутатора 39 адреса и с управляющим входом второго блока 40 сравнения. Регистры 37 и 38 первогои второго адресов предназначеныдля хранения вычисляемых и окончательно сформированных адресов операндов. 5 О Для команд четвертого уровня, результат выполнения которых записывается в блок 1 основной памяти, адрес записи хранится в регистре 37 первого адреса. Выход регистра 37 перво-Ы го адреса соединен с вторым входом данных коммутатора 39 адреса и с первым входом данных второго блока 40 сравнения. Выход регистра 38 второго, адреса соединен с вторым входом данных регистра 37 первого адреса и с третьим входом данных коммутатора 39 адреса. Выходы регистров 37 и 38 первого и второго адресов и выход счетчика 35 адреса команды, кроме того, соединены с вторыми входами данных коммутаторов 9 и 10 индекса и смещения. Коммутатор 39 адреса предназначен для выбора источника адреса блокаосновной памяти, при этом при подаче кода соответствующей микрооперации на его первый управляющий вход к выходу коммутатора 39 подключается информация, поданная на его первый, третий и четвертый входы данных, а при подаче кода микрооперации "Запись" на второй управляющий вход коммутагора 39 задается подключение к его выходу информации, поданной на второй вход данных коммутатора 39, Выход коммутатора 39 адреса подключен к адресному входу блока 1 основной памяти. Второй блок 40 сравнения предназначен цля обнаружения конфликта по записи в блок 1 основной памяти, т.е. такой ситуации, когда адрес операнда, предположительно являющийся адрссом записи результата команды четвертого уровня совмещения, попацает в диапазон адресов команд первого - третьего уровней. Выход в"орого блока 40 сравнения соединен с пятым входом данных мультиплексного регистра 20 коца коррекции.Первый блок 6 регистров предназначен для хранения адресов ячеек блока 4 местной памяти операндов, определяемых командой четвертого уровня в качестве исходных операндов и результата операции. Выход первого блока 6 регистров соединен с первыми входами данных блоков 4 и 7 местных памятей операндов и базы-индекса. Блок 7 местной памяти базы-индекса предназначен для хранения базовых и индексных компонент адресов операндов и выполняет операции считывания или загрузки в зависимости от отсутствия или наличия сигнала загрузки на входе управления обращением. Такт загрузки или считывания блока 7 местной памяти базы-индекса совпадает с тактом процессора., при этом загружается или считывается трех- байтовое слово, При отсутствии сиг17 11388 нала загрузки на входе управленияобращением блока 7 местной памятибазы-индекса выполняется считывание по адресу, поданному на первыйвход данных, при этом считываемаяинформация Формируется на выходеблока 7 местной памяти. При наличии сигнала загрузки на входе управления обращением выполняется загрузка в блок 7 местной памяти базы-индекса информации, поданной на ее второй вход данных, причем загрузкавыполняется по адресу, поданномуна первый вход данных блока 7 местной памяти. Выход блока 7 местнойпамяти базы-индекса соединен с входом регистра 11 базы-индекса,Сумматор 8 адреса предназначендля выполнения адресных операций базирования или индексирования путемсложения компоненты смещения адреса операнда с базой или индексом,кроме того, он используется для загрузки адреса команды, например,при выходе в прерывание программыили при выполнении команды перехода Разрядность сумматора 8 адреса -три байта, такт совпадает с тактомпроцессора. Выход сумматора 8 адреса соединен с входами данных регистров 37 и 38 первого и второго адресов и с установочным входом счетчика 35 адреса команды.Коммутатор 9 индекса предназначендля выбора первого слагаемого присуммировании адресных компонент,в частности в зависимости от кодана управляющем входе, на выход коммутируются либо три младших байтарезультата арифметического блока 3;либо содержимое одного из регистров фблока 5 регистров адреса, либо базаили индекс. Выход коммутатора 9индекса соединен с первым входомданных сумматора 8 адреса.Коммутатор 10 смещения предназна-чен для выбора второго слагаемого присуммировании адресных компонент,в частности, в зависимости от кода науправляющем входе, на выход коммутируются либо разряды смещения команды второго уровня, либо содержимоеодного из регистров блока 5 регистров адреса, либо содержимое регистра 27 смещения. Выход коммутатора 10смещения соединен с вторым входом . 55сумматора 8 адреса,Регистр 11 базы-индекса предназначен для запоминания на один такт 05 18процессора трех байт информации, считанной из блока 7 местной памяти базы-индекса, причем содержимое регистра 11 базы в индек может быть обнулено сигналом на синхровходе, если операция базирования или индексирования выполняться не должна. Выход регистра 11 базы-индекса соединен с первым входом данных коммутатора 9 индекса.Первый блок 12 памяти микрокоманд предназначен дпя хранения микропрограмм управления выполнением команд на первом и третьем уровнях совмещения и микропрограмм коррекции микропрограммы выборки команд, Время считывания первого блока 12 памяти микрокоманд соответствует такту процессора, при этом в каждом такте считывается одна микрокоманда. Выход первого блока 12 памяти микро- команд соединен с входом данных первого регистра 13 микрокоманд.Первый регистр 13 микрокоманд предназначен для хранения в течение одного такта процессора кода микро- команды, выполняемой в течение этого такта, Полноразрядный код микрокоманды состоит из логически самостоятельных групп разрядов или полей микрокоманды, Адресное поле микрокоманды предназначено для задания кода адреса следующей микрокоманды и формируется на втором выходе первого регистра 13 микрокоманд, на первом выходе которого формируется код совокупности микроопераций для данной микрокоманды. При этом может быть задано по одной микрооперации из восьми операционных полей (приведены только существенные микрооперации и их Функции, для упрощения последующих ссылок указано также сокращенное название полей и микроопераций).1, Поле формирования входного кода первого шифратора 25 адреса (поле "Первый вход"). Могут быть заданы коды микроопераций "База-индекс", "Второй адрес" или "Арифметический блок" (описание функций этих микроопераций приведено в характеристике назначения первого шифратора 25 адреса). 2, Поле управления выбором источника информации, подключаемой на второй вход сумматора 8 адреса черезкоммутатор 10 смещения (поле Второй вход").МИКрООПЕрацИя ОМЕщЕ 1 ЬЕст - ПО КОду этой микрооперации на управляющем входе коммутатора 10 смещения5 ЗаДаЕтСЯ ПОДКЛЮЧЕНИЕ К ВЬтХОДУ КОММУтатора 10 разрядов смещения ко Янгты второй уровня, поданных. - -,ег.вый вход данных коммутатора ;О, к,";е того по микрооперации "сОеще.Гтето задается также загрузка разряг,звсмещения в регисгр 27 смеще,ия.Микрооперация "Адрес команды"в коммутаторе 10 задается подключение к его выходу содертжимого счетчика 35 5адреса команды, поданного но соответ -ствующей шине второ о входа данньхкоммутатора 10,Микрооперация "Первый адресв коммутаторе 10 задается подключе Стние к его выходу содержимого регистра 37 и рвого адреса команды поданного йо соответствующей шине второго входа данных коммутатора О,1 Ыктстоопертация "Второй адрес" в коммутаторе О задается подтключение,го в 1,; тстцт." содержтсмого рет ттс гр;т 8ВТ 1 сР ОГО Я 1 сЗЕСсОДтОтО ПО СООтт -ВЕТССВ" тштЕЙ ШИНЕ ВТОРОГО ВХОДИ ДЯЕних коммутатора 30. 3 ОМикрооперация "Регистр смещенияВ КОМтоттатОрв 10 ЗапяЕтСЯ ОДКХПОтЕННР к его выходу содержимого ргисттт . т, ст е гтт т 1 тт сто т аттчот-тт т т третий351, Гсо.тЕ сугРЯВХ 1 Р тсИЯ т анв СЕ НЧРтс Ин ФормГЦ;т с 13 ь:.(Опа сумматора 8 ядрРссл . , сст,";=,К р О ОП Е ря цин т ПЕ р ВЫй адр Е С стВ горой а т и," с т Адрег команды за." даюГв не се ние в ре 1 нстт 1 3 Гте рвО ГО адр.с.-" з регистр 38 - :второго адре-,с;И В СттсттИК 35 ЭдтрЕСЯ Комявдсь С ООТВЕ 1 Г ТВЕННОПо. - .е управления сттлтывани ми выбосоом источника атггоеся блока 1сгс энной гтамЯтгт (лот 1 е "ПамЯттт") .,Код -ОляПамять в част:сОстиГОДНЕ ттСЗЯ НЯ ЛРРВЬГй УГРа ВЛЯЬтщий ВХОко.;утятсра 39 адреса,1 т 1 икр ООП Ерятцият 1 ст ОдтВ 1 Нуый адр еспо кОду этой мик 1 тооперяции Б коммутаторе 39 задается подключение к еговыходу содержимого счетчика Зб про,тгн 1 ЕЕНИЯ сДРЕСЯ т ПОДЯННОГО На ПЕР 55вь:" вход данных коммутатора 39,.тзкрооперац 11 я тВторои Ядрев коммутаторе 39 задается подключение к его выходу содержимого регистра 38 второго адреса, поданного на третий вход данных коммутатора 39,Микрооперацня "Адрес команды" - в коммутаторе 39 задается подключение к его выходу содержимого счетчика 35 адреса команды, поданного на четвертый вход данных коммутатора 39, По любой микг Ооперации поля "ПЯМять" задается считывание блока 1 основнойпамяти.5. Поле формирования входного ко- ЦЯ ВТОРОГО ШИфРЯТЗРЯ ЯДРЕСЯ (ПОЛЕ "Адрес базы в индек").Могут быть заданы коды микро- операций "Коррекцитя", "База" или "Индекс" (описантие основных функций этих микроопераций приведсно в характеристике назначения второго узла 2 б перекодировки), по микроотерации стт" нтсексзадается,дополнительная функция-нагрузка регистра 34 Форматногокода,б . Поле у 1 т па влс тия продвижением информации в блоке 2 обработки котт, . стт мг.нд (поле Продвижение ) .Микрооперации "Первое продвлже:с и Второе продвижение" задаетсяПРО,.ВИЖЕНЕ,СООТВЕТСТВЕННО В НЯЧЯ,Е ИЛИ В т.ОНЦЕ ТЯКта ПРОЦЕССОРЯ.7,. Поле управления занесениями, установками и модификациями (поле Установ",.1 т 1 икрозперация "Выборка" - задается несение разрядов счетчика 35 адреса ком :ды в счетчик Зб продвижение адреса и ь счетчик 33 команд.Еикрооперация "Конец выборки" задается занесение содержимого регистра 38 второго адреса в регистр 37 первого адреса.МИкрооперапия тМодификация" задается ;здификация 1 а плюс восемь счетчика Зб продвижения адреса:8. Поле управления способом формирования адреса следующей микро- КОМаНДЫ (ПОЛЕ тУС 11 ОВИЕтт) .1 н;крооГГерация "Безусловный переход - задястся кодами т 000 с и тт 001 тсполя Условия, причем оба кода задают занесение в блоке 14 модификации адреса микрокоманды адресного поля текушей микрокоманды в старшие разряды адреса следующей микрокоманДЫт В МЛЯЦШЕМ РЯЗРЯДР ЯДРЕСЯ ДЛЯ кода 000" или "001 т задается фоРМИРОВЯНИЕт СООТВЕТСТВЕННот НУЛЯ ил едитицт.21 11388Микрооперация "Условный переход" в блоке 14 модификации адреса микро- команды в старшие разряды адреса следующей микрокоманды задается занесение адресного поля текущей микро- команды, в младший разряд - занесение нуля или единицы в соответствии с состоянием признака занятости в блоке 14 модификации адреса микрокоманды,Микрооперация "Переход по формату" - в блоке 14 модификации адресапервой микрокоманды задается занесение форматного кода команды второгоуровня совмещения в младшую тетрадуадреса следующей микрокоманды и разрядов адресного поля текущей микрокоманды в соответствующие старшиеразряды адреса следующей микрокоманды. ЮМикрооперация "Функциональный переход - задается выполнение функцией микроопераций Переход по формату" кроме того задаются опрос состояния коммутатора 21 адреса коррекции и модификация счетчика 35адреса коканды,Второй выход первого регистра 13микрокоманд соединен с вторым управляющим входом блока 14 модификацииадреса микрокоманды, первый выход -с управляющими входами коммутатора 21адреса коррекции, коммутатора 10 смещения, с первым управляющим входомблока 14 модификации адреса микрокоманды, с первым входом первогошифратора 25 адреса, с вторым входом второго шифратора 26 адреса,вторым синхровходом регистра 27смещения, с синхровходами регистра 28команд, коммутатора 29 команд, счетчика 33 команд, трех буферных регистров 30-32, регистра 34 форматного кода, регистров 37 и 38 первогои второго адреса, счетчика 35 адреса команды, счетчика 36 продвиженияадреса, с первыми управляющими входами коммутатора 39 адреса и блока 1основной памяти.Блок 14 модификации адреса микро команды предназначен для формирования кода адреса первого блока 12памяти микрокоманд по коду адресного поля первого регистра 13 микрокоманд, по форматному коду из регист ра 34 Форматного кода и по признакузанятости в блоке 14 модификации адрес;: микрокоманды в соответ 05 22ствии с микрооперациями поля условия,кроме того, по коду адреса микропрограммы коррекции из коммутатора 21 адреса коррекции. Выход блока 14 модификации адреса микрокоманды соединен с адресным входом первого блока 12 памяти микрокоманд.Второй блок 15 памяти микрокомандпредназначен для хранения микропрограмм управления выполнением командна четвертом уровне совмещения (микро.программы обработки операндов). Время считывания второго блока 15 памяти микрокоманд соответствуеттакту процессора, при этом в каждомтакте считывается одна микрокоманда,Выход второго блока 15 памяти микрокоманд соединен с входом данных второго регистра 17 микрокоманд.Регистр 16 адреса микрокомандыпредназначен для хранения кода адреса второго блока 15 памяти микрокоманд, Формируемого по коду адресного поля второго регистра 17 микрокоманд или по коду операции командытретьего уровня совмещения в соответствии с отсутствием или наличиемразрешения функционального переходана первом выходе коммутатора 21адреса коррекции, Выход регистра 16адреса микрокоманд соединен с адресным входом второго блока 15 памятимикрокоманд,Второй регистр 17 микрокомандпредназначен для хранения в течениеодного такта процессора кода микрокоманды, выполняемой в течение этого такта.Код микрокоманды состоит из логически самостоятельных групп разрядов или полей микрокоманды. Адресное поле микрокоманды предназначено для задания кода адреса следующей микрокоманды и формируется на втором выходе второго регистра 17 микро- команд, на первом выходе которого формируется код совокупности микро- операций для данной микрокоманды.Для целей описания существенными являются следующие микрооперации и поля:поле "Арифметика" - предназначено для управления работой арифметического блока 3,микрооперация "Запись" - задается операция записи блока 1 основной памяти, при этом также задается в коммутаторе 39 адреса подключениерегистра 37 первого адреса и в мультиплексном регистре 20 кода коррекции - опрос наличия конфликта позаписи в блоке 1 основной памяти,микрооперация ЗАГРУЗКА - задаетсяоперация загрузки в блоке 4 местнойпамяти операндов и блоке 7 местнойпамяти базы-индекса, кроме того,в мультиплексном регистре 20 кадакоррекции задается опрос конфликта 1 цпо загрузке в базу или индекс (загрузка командой четвертого уровня вячейку блокаМестной памяти базы-индекса, используемую командойвторого или третьего уровня для формирования адреса операнда),микрооперация "Спрос конфл;:кта"в мультиплексном регистре 20 кодакоррекции задается предварительныйопрос конфликта по загрузке в базуили индекс, выполняемый в следующемтакте проЦессора,микроЮперации "Установка занятости" и "Сброс занятости" - в блоке 14модификации адреса микракоманды задается установка или сброс, соответственна признака занятости,.Второй вход второго регистра 17микракоманд соединен с вторым входамданных регистра 16 адреса микракаман-,ды, первый выход - с третьим управляющим входом блока 14 модификации адреса микракаманды, с вхацамз управления обращением блоков 4 иместныхпамятей операндов н базы-индекса. сгвходом кода операции арифметическогоблока 3, с синхравходам мультиплексного регистра 20 кода коррекции, свторьаи управляющими входами коммутатора 39 адреса и блока 1 основнойпамяти,Сслектор-мультиплексор 18 базы- индекса предназначен для определения станции, когда при базировании или индексировании в команде второго урав 45 ня задан нулевой адрес ячейки,соответственно, базы или индекса, кроме того, когда при выполнении микропрограммы коррекции повторно используемый адрес ячейки базы или и,-: - 5 О декса также является нулевым,.В такой ситуации в селекторе-мультиплексоре 18 базы-индекса вырабатывается нулевой признак истинности выполняемого базирования или индек- Б 5 сирования, задающий обнуление .содержимого регистра 11 базы-индекса и запрет анализа конфликта па загрузке в нулевую базу или нулевой индекс в мультиплексчом регистре 20 кода коррекции. Выход селектора-мультиплексора 18 базы-индекса соединен с синхровходом регистра 11 базы-индекса, с вторым входом данных мультиплексора регистра 20 кода коррекции и с вторым входом блока 23 триггерон,Регистр 19 адреса базы-индексапредназначен для хранения адресаячейки блока 7 местной памяти базыиндекса, с которым выполняется сравкение адреса загрузки в первом блоке 24 сравнения и который запоминается для сравнения при последующих загрузках и для обеспечения выполнения микропрограммы коррекции во втором блоке 22 регистров. Выход регистра 19 адреса баэы-индекса соединен с адресным входам блока 7 местной памяти базы-индекса, с вторым входам второго бока 22 регистрови с вторым входом данных первогоблока 24 сравнения.,"1 ультиплс;ксньй регисгр 20 кодаКОРРЕ 1 ИИ ПРЕД 1 аэнаЧЕН ДЛЯ фаРМБРОванпя признаков началь 11 ай выборки,пол:.ай, 1 астичнай н автоматической11 аррекции, Признак начал ной выборкифар 1 нруется при конфликте по записив блок 1 основной памяти, признакиполной частичной и автоматическойкоррекции - при кочфликте по загрузке в базу или ийдекс, Признаки частичной и автоматической коррекцииформируются 3 течение ОднОГО такта.процессора., признаки начальнойвыборки и полной коррекции продалкают формироваться до выхода в микроПраграММу Каррвхцин, СОВОКУПрпСТЬпризнаков задаст в коммутаторе 21адреса коррекции форми. звание соответствующего нача, . Нога адреса микропрограммы коррекц."1 и,в первом и второмщифраторах 25 и 2 б адреса - соответствующую модификацию микраоператй вырабатывае 1 ъ 1 Х полями "Перв;й вход" и пьдрес базы-индекса" совответственно, Выход мультип,лекс,1 ага регистра 20 кода коррекциисоединен с .,ходам данных каммутатара 2 1 адреса коррекции, с вторым входом первого в 1 ифратора 25 адреса и спервым входом второго шифратора 2 бадреса,Коммутатор 21 адреса коррекции предназначен для выделения наиболее11388 приоритетного из признаков начальной выборки, полной и частичнойкоррекции, для Формирования начального адреса микропрограммы, соответствующей наиболее приоритетному признаку,.и выдачи этого адреса вблок 14 модификации адреса микрокоманды, для формирования обобщенного признака перехода к коррекциии выдачи этого признака с целью Осброса признаков начальной выборкии полной коррекции в мультиплексномрегистре 20 кода коррекции и запретазанесения в регистр 27 смещения,кроме того, при отсутствии обобщенного признака перехода к коррекции,для Формирования признака переходапо коду операции, управляющегорегистром 16 адреса микрокомандыи занесением в первый блок 6 регистров. Второй выход коммутатора 2 1 адреса коррекции соединен с третьимвходом управления блока 14 модификации адреса микрокоманды, с четвертым входом данных.мультиплексногорегистра 20 кода коррекции и с первым входом запрета регистра 27 смещения. Первый выход коммутатора 21адреса коррекции соединен с управляющими входами регистра 16 адресамикрокоманды и первого блока 6регистров,сВторой блок 22 регистров предназначен для хранения адресов базовых и индексных ячеек, использованных 35 при формировании адресов операндов команд второго и третьего уровней совмещения, для выдачи хранящихся адресов в первый блок сравнения на сравнение с адресом загрузки и 40 в регистр 19 адреса базы-индекса при выполнении микропрограммы коррекции. Первый и второй выходы второго блока 22 регистров соединены с вторым входом регистра 19 адреса базы-индекса 45 и с управляющим входом первого блока 24 сравнения соответственно.Блок 23 триггеров предназначен для хранения признаков истинности адресов, хранящихся во втором блоке 22 5 О регистров для выдачи хранящихся признаков в мультиплексный регистр 20 кода коррекции с целью запрета анализа конфликта по загрузке в нулевую базу или нулевой индекс, а так же для выдачи признаков в селектор- мультиплексор 18 базы-индекса при выполнении микропрограммы коррек 0526ции. Первый и второй выходы блока 23 триггеров соединены соответственно с управляющим входом блока 18 анализа базы-индекса и с третьим входом данных мультиплексного регистра 20 кода коррекции,Первый блок 24 сравнения предназначен для обнаружения конфликта по загрузке информации командой четвертого уровня совмещения в ячейку базы или индекса команд второго или третьего уровней совмещения. Выход первого блока 24 сравнения ,соединен с первым входом данных мультиплексного регистра 20 кода коррекции.Первый шифратор 25 адреса предназначен для Формирования управляющих сигналов коммутатора 9 индекса в зависимости от кода в поле "Первый вход" первого регистра 13 микро- команд и признака автоматической коррекции в мультиплексном регистре кода коррекции:по коду микрооперации "База-индекс при отсутствии признака автоматической коррекции коммутатору 9 индекса. задается подключение регистра 11 базы-индекса,по кодам микроопераций Второй адрес" или "Арифметический блок" коммутатору 9 индекса задается подключение регистра 38 второго адреса или трех младших байт результата арифметического блока 3 соответственно;при одновременном наличии кода микрооперации "База-индекс" и признака автоматической коррекциИ вместо подключения соответствующего микро- операции "База-индекс" задается подключение, соответствующее микрооперации, "Арифметический блок". Выход первого шифратора 25 адреса соединен с управляющим входом коммутатора 9 индекса.Второй шифратор 26 адреса предназначен для управления выбором источника и занесения в селектор-мультиплексор 18 базы-индекса и в регистр 19 адреса базы-индекса и управления занесением во второй блок 22 регистров и в блок 23 триггеров в зависимости от кода в поле "Адрес базы-индекса" первого регистра 13 микрокоманд и признаков полной и частичной коррекции в мультй 1138805 28.адреса базы-индекса с выхоца вгорого блока 22 регистровно коду микрооперации "Базаили "Индекс" при отсутствии .признака полной коррекции задае вся коммутация адреса соответствующей компоненты в селектор-мультиплексор 18базы-индекса и в регистр 19 ацресабазы-индекса с выхода первого буферного регистра ЗО,При одновременном наличии кодамикрооперации "База" и признака полной коррекции вместо подключспия,соответствующего микрооперации "Ба -за", задается подключение, соответствующее"микрооперации КОРРЕК 1 ЦИ.По ходу любой микрооперации -Коррекция, База или Индекс при 25отсутствии признака частичной корРЕКЦИИ ЗадаЕтея ЭаНЕСЕНИЕ ПРИЗНаКаистинности в блоке 23риггеров свыхода селектора-и льтиплексора признаков истинности. занесение адреса во второй Олок 22 регистров с выхода регистра 19 адреса базы-индекса, а также занесение информации, коммутиг"емои по с оответствующиммикрооперацхям в електор мультиплек8 базы-инд кса и. в регистр 19адреса базы-индекса.Пр: одновременном нал нии кода1 В; 11микрооперации База и признакачастичной коррекции задается запретсзанесения в селе стог-мультиплексор18 базы-инцекса, в регистр 9 адресабазы"индекса во второй блок регистров 22 и в блок 23 триггеров,Вьгход второго шифратора 26 адреса соединен с третьим входом данных селектора-мультиплексора 18 базы- индекса. вторым входом цанных регистра 19 адреса базы-индекса, с первье.и входами второго блока 22 регистров М и блока 23 триггеров.Регистр 27 смещения предназначен для хранения компонента смещенияадреса операнда команды третьего уров 55 ня совмещения. Выход регистра 27 смещения соединен с третьим входом данных коммутатора 10 смещения. Культиплексный регистр кода корарекции (Фиг,2) содержит узел 41 ана- лиза уровня искажения, включающий элементы И 42-45 и элементы ИЛИ 46 и 47, регистр 48 уровня коррекции, включающий триггеры 49-52 начальной выборки, полной частичной и автоматической коррекции соответственно, выход 53 и входы 54-59 уровней коррекции шину 60 микроотерации Запись", шину 61 равенства адресов второго уровня, шины 62 и 63 равенства адресов третьего уровня, шины 64 и 65 микроопераций "Опрос конфликта" и "Загрузка" соответственно, шины 66 и 67 истинности адресов третьегоуровня.На схеме коммутатора ацреса коррекции (Фиг.З) изображены узел 68приоритета, состоящий из элементовИ 69 и 70 и элемента НЕ 71, шифратор 72, состоящий из элементовИЛИ 73-75, элементы И 76 и 77, элемент НЕ 78, входы 79 и 80 и выхоцы31 и 82 блока шины 83-85 начальнойвыборки полной и частичной коррекцИИ СООТВЕТСТВЕННО ШИНа 86 адрЕСакорре:"цт". и в и 87 герехода к коррекции,Нз схеме второго блока регистров(фиг.4) изображены регистры 88и 89 входы 90 и 91 и выхоцы 92и 9.5 бурера,На схеме блока триггеров (Фиг.5)изображены триггеры 94 и 95, элемент И 96, входь. 97 и 98 и выходы 99ч 100 буфера., шина 101 микрооперации "Коррекция" и шина 102 занесения адреса.На схеме первого шифратора адреса"Первый вход", Представленный наФиг,б пример реализации первого узлаперекодировки рассчитан на следующее кодирование микроопераций в полеПервый входкод "ОО" - микрооперация "Базаиндекс ,код "01 - микрооперация "Второйадрес,код "10" - микрооперация "Арифметический блок",На схеме второго шифратора адреса (Фиг.7) изображены преобразователь 112 кода, состоящий из элемен29 11388тов 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 занятости,35элементы НЕ 151 и 152; входы 153-157и выход 158 блока, шина 159 старшихразрядов адреса, шина 160 младшегоразряда адреса, шина 161 адреса кор-.40рекции, шина 162 перехода к коррекции,шины 163 ч 1,64 микроопераций "Установка занятости" и "Сброс занятости"соответственно, шина 165 поля "Условие" и шина 166 микроопераций "функ 11 И45циональный переход и "Переход.поФормату".На схеме второго блока сравнения(фиг, 10) изображены схемы 167 и 168сравнения, каждая из которых состоит50из элементов 169-171 сравнения, эле 05 30ментов И-НЕ 172-176, элементов И 177 и 178 и элемента НЕ 179, элемент ИЛИ 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 в 2 с арифметическо-логическими элементами 205, узел 206 переносов с элементами 207 и 208 группового переноса, входы 209-211 и выходы 212 и 213 блока, шина 214 функции, шина 215 входного переноса и шина 216 управления занесением. В соответствии с принятыми для элементов серий 133, 530 и 533 условными графическими обозначениями на фиг.12 арифметическо-логический элемент обозначен А 1. его вход переноса СО, выход последовательного переноса С 4, выходы группового переноса Р и С, первые информационные входы АО-АЗ, вторые информационные входы ВО-ВЗ, управляющие входы ЯО-ЯЗ и М, информационные выходы РО-РЗ, Элементгруппового переноса обозначен СЕР. его входного переноса СО, входы групповых переносов РО, СО - РЗ, СЗ, выходы переноса С 1-СЗ.Таблица функций арифметическологического элемента (АЬ) имеет видА минус Вминус Ас В минус 1 А В,4А плюс А В 1000 А плюс Ас Вплюс А 1 В 4 АВ А плюс Вплюс 1 А плюс В АФВ"= О 42 ГЗ П р и м е ч а н и я: 1, 4 - О, 1, 2, 31Р, - условие прохождения переноса через разряд,С.; - разрядный перенос.2. Выражения для Р, С, С 4, К:Й "со Рс Р 2 Р 3+ Ссс 2С 42 РЪ3Переключательные Функции для выходов элемента группового переноса (СКР) имеют вид:Р = Ро+Р 1+Р 2+Р 3,б ,5 дсРА б Р.гРЪС 1=СС 5 Р СС,СР,й,б Р,; Выполнение любой команды состоит из двух фаз - фазы выборки и фазы1. . обработки. На фазе выборки команды выполняется считывание информационного слова, содержащего команду, из блока 1 основной памяти, размещение ее в регистре 28 команд, Формирование адресов операндов в регистрах 37 и 38 первого и второго адресов и в первом блоке 6 регистров, считывание операндов из блока 1 основной памяти и из блока 4 местной памяти операндов в арифметический блок 3, На фазе обработки операндов " в зависимости от команды выполняется арифметическая или логическая об-. работка операндов в арифметическом блоке 3, результат обработки загружается в блок 4 .местной памяти операндов или записывается в блок 1основной памяти. Результатом операции может быть базовый или индексный адрес (база или индекс) - в этом случае результат загружается также в блок 7 местной памяти базы-индекса. Команды программы, как правило, выполняются строго последовательно, в соответствии с последовательностью их размещения по возрастающим адресам блока 1 основной памяти, причем на фазе обработки может находиться только одна команда программы, в то же время как на Фазе выборки находятся несколько следующих по порядку команд. Адрес очередной команды, подлежащей к фазе обработки, определяется содержимым счетчика 35 адреса команды, модификация которого выполняется в момент перехода команды от Фазы выборки к Фазе обработки на величину, равную длине этой команды в байтах.йСчйтывание команд из блока 1 основной памяти производится с опережением их реального выполнения таким образом, что в блоке 2 обработки команд одновременно на равных этапах (уровня совмещения) фазы выборки находится несколько команд, Фаза выборки каждой команды делится на три этапа, выполняемых на соответствующих уровнях совмещения операций. На первом уровне совмещения выполняется считывание информационного слова, содержащего команду из блока 1 основной памяти и занесение считанного информационного слова в регистр 28 команд. При переходе оче 11 арифметического блока соединены соответственно с выходом блока основной памяти, выходом и вторым входом данных блока местной памяти операндов, а вход управления обращением блока местной памяти операндов и вход кода операции арифметического блока подключены к первому выходу второго регистра микрокоманды, выход р;. - гистра адреса базы-индекса соединен с вторым входом данных первого блока сравнения и адресным входом блока местной памяти базы-индекса вход управления обращением, второй вход данных и выход которого подключены соответственно к первому выходу второго регистра микрокоманды,. выходу адреса записи арифметического блока и входу данных регистра ба:ыиндекса, выход и синхровхац которого соединены соответственно с первым входом данных коммутатора индекса и выходом селектора-мультиплексора базы-индекса, второй вход данных которого подключен к выходу регистра форматного кода вторые входы данных коммутаторов индекса и смещения подключены к выходам регистров первого и второго адреса и выходу счетчика адреса команды, я выходы коммутаторов индекса и смещения соединены соответственно с первым и 1вторым входами данных сумматора адреса, выход катара:.а подключен входам данных регистров первого и второго адреса и установочному входу счетчика адреса командь: третий вход данных коммутатора индекса соединен с выходом адреса записи арифметического блока, а управляющий вход коммутатора смещения подкггючен к первомувыходу первого регистра микракаманды, первый адресный вход, первый, второй и третий управляющие входы и выход блока модификации адреса микро- команды соединены соответственна с выходом регистра форматного кода, пер - вым и вторым выходами первого регистра микрокоманды, первым выходам второго регистра микрокомяпды и адресным входом первого блока памяти микрокоманд, выход кстарого подключен к входу данных первого регистра микракаманды, первый .:. второй входы данных и выход регистра адреса микрокоманды соединены соответственно с выходом третьего буферного регистра, вторым выходом второго ре 38805гистра микракоманды и адресным вхоцом второго блока памяти микрокоманд, выход которого подключен к входу данных второго регистра микрокоманды, управляющий вход,. первый и второй входы данных второго блока сравнения соединены с выходами соответственно счетчика продвижения адреса, регистра первого адреса и счетчика адреса команды, второй вход данных регистра первого адреса подключен к выходу регистра второго адреса, установочный вхоп счетчика продвиже - ния адреса соединен с выходом счетчика адреса команды. а синхровходы счетчиков адреса команды и продвиже - ния адреса и регистров первого и второго адреса подключены к первому выходу первого регистра микрокоманды, о т л и ч а ю щ и й с я тем, что, с целью повышения производительности, он содержит второй блок ре - гистров, блок триггеров, мультиплексный регистр кода коррекции коммутатор адреса коррекции, регистр смещения и два шифратора адреса, г-ри этом первый и второй входы и выход первого шиФратора адреса соединены соответственно с первым выходом .:ерваго регистра микрокаманды. вьходом мультиплексного регистра кода коррекции и управляющим входом коммутатора индекса, управляющий вход и вход данных коммутатора адреса кароекции подключены соответственна к первому выходу первого регистра микрокомянды и выходу мультиплекснаго регистра. кода коррекции, первый выход коммутатора адреса кор-. рекции соединеп с синхровходами первого блока регистров и регис-ря адреса микрокоманды, а второй выход коммутатора адреса коррекции подключен к второму адресному входу блока модификации адреса микро- команды, первому входу данных мульти,"лексного регистра кода коррекции и первому синхровходу регистра смещения, второй синхровход, вход данных и выход которого соединены соответственно с первым выходом первого регионра микрокоманды Бь 1 хадам пср ваго буферного регистра и третьим входом данных коммутатора смещения, первый и второй входы второго шифратора адреса подключены соответственно к выходу мультиплекснаго регистра кода коррекции и первому35 1138 полняются редной команды к Фазе обработки остальные команды, размещенные в блоке 2 обработки команд, продвигаются по уровням совмещения, что после некоторого очередного продвижения приводит к исчерпанию содержимого регистра 28 команд (освобождение первого уровня) и выполнению считывания из блока 1 основной памяти очередного информационного слова, содержащего команды, Адрес этого слова определяется содержимым счетчика Зб продвинутого адреса, которое модифицируется на плюс восемь (в соответствии с разрядностью информационного слова в регистре 28 команд, равной восьми байт) каждый раз, когда освобождается первый уровень.На втором уровне совмещения для команд ВХ формата выполняется индексирование адреса операнда и считывание из блока 7 местной памяти базы-индекса содежимого ячейки базы. Если команда второго уровня не является командой ВХ формата, то индек сирование выполняется но вместо сложения с содержимым индексной ячейки разряды смещения суммируются с нулевой информацией. Кроме того, на втором уровне совмещения Форматный З 0 код команцы запоминается в регистре 34 форматного кода.На третьем уровне совмещения содержимое ячейки базы суммируется с индексированным адресом и если это д необходимо, выполняется считывание операнда из блока 1 основной памяти по окончательно сформированному адресу, Кроме того, выполняетсл считыва" ние регистрового операнда из блока 4 местной памяти операндов. Если команда третьего уровня является командой ВВ Формата, то базирование адреса операнда и считывание операнда из блока 1 основной памяти не вы-Фаза обработки операндов соответствует четвертому уровню совмещения,Управление процессором осуществ ляется микропрограммам, размещенными в блоках 12 и 15 первой и второй памяти микрокоманд. Каждым тактом процессора управляет отдельная пара микрскоманд, одновременно считываемая 55 из блоков 12 и 15 первой и второй памяти в соответствующие регистры 13 и 17 микрскоманд, Адреса, по кото 805 збрым производится считывание каждой микрокоманды пары, формируются блоком 14 модификации адреса микрокоманды и регистром 1 б адреса микро- команды.Основные Функции выборки команд реализуются микропрограммами выборки из первого блока 12 памяти микро- команд, при этом, в основном, используются две микропрограммы выборки - микропрограмма заполнения буфера, предназначенная для начального заполнения уровней совмещения и микропрограмма совмещения, предназначенная для работы процессора в режиме совмещения операций. Отдельная микропрограмма коррекции используется для ускоренного повторного вычисления адреса операнда при обнаружении конфликта по загрузке в ячейку базы или индекса команды третьего уровня совмещения. Работа процессора всегда начинается с выполнения микропрограммы заполнения буфера, после чего выполняется микропрограмма совмещения. Микропрограмма совмещения имеет 14 входов в соответствии с четырнадцатью допустимыми Форматными кодами команд, Для каждой из четырех совокупностей форматных кодов команд, характеризующихся однотипными функциями выборки, в микропрограмме совмещения предусмотрена отдельная последовательность или цепочка микрокоманд, которая выполняет эти функции. Выполнение той или иной цепочки микро- команд задается форматным кодом, хранящимся в регистре 34 форматного кода. Отдельные цепочки предусмотрены цля команд КВ формата (в данную цепочку возможны четыре входа по Форматным кодам "0000-"0011") команд ЙХ Формата с предварительным считыванием операнда из блока 1 основной памяти (три входа, соответствующие форматным кодам "0101"- "0111"), команд ВХ, ВБ, 81 и Я форматов без предварительного считывания операнда из блока основной памяти (Форматные коды "0100","1000"- "1011") и команд ЯБ Формата (форматные коды "1101" и "1111"). Любая цепочка управляет действиями на всех уровнях Фазы выборки одновременно.Функции обработки операндов реализуются микропрограммами второгоблока 15 памяти микрокоманд. Для каждой команды процессора предусмотрен отдельный вход в соответствующую микропрограмму обработки операндов. При работе процессора в режиме сов мещения операций одновременно выпол-. няются цепочка микропрограммы совмещения, соответствующая форматному коду команды третьего уровня и микропрограмма обработки операндов, соот ветствующая коду операции команды четвертого уровня, причем время выполнения этих микропрограмм строго согласовано, Для обеспечения согласования в каждую цепочку совмещения 15 включена специальная микрокоманда. ожидания в выборке. Каждая микропрограмма обработки операндов завершается также микрокомандой ожидания в обработке. Если при одновременном выполнении некоторой цепочки совмещения и микропрограммыобработки операндов для некоторой команды вре - мя выполнения. цепочки совмещения оказывается больше, то после завершения выполнения микропрограммы обработки начинает выполняться микрокоманда ожидания в обработке,и переход к следующей микропрограмме обработки осуществляется только после эаверше- ЗО ния выполнения цепочки совмещения.Если же время выполнения конкретной микропрограммы обработки превышает минимальное время выполнения цепочки совмещения (минимальное время выполнения цепочки совмеще - ния может быть равным двум тактам для команд КК формата и команд КХ, КБ, 31 и 8. форматов беэ преД- варительного считывания операнда из блока 1 основной памяти), то в цепочке совмещения начинает выполняться микрокоманда ожидания в выборке. Количество тактов выполнения микрокоманды ожидания в выборке выбрано таким образом, чтобы завершающие микрокоманды микропрограммы обработки и цепочки совмещения выполнялись одновременно, Количество тактов выполнения микрокоманды ожидания в выборке регулируется признаком занятости в блоке 14 модификации адреса микрокоманды. В любой микропрограмме обработки операндов, время выполнения которой превышает 5 два такта (минимальное время выполнения цепочки совмещения), в первой же микрокоманде задана микрооперация "Установка занятости", В одновременно выполняемой первой микрокоманде цепочки совмещения задана микрооперация "Условный переход", по которой анализируется состояние признака занятости, причем по единичному состоянию признака занятости выполняется переход вмикро- команду ожидания в выборке (адресом перехода при нулевом состоянии признака занятости является адрес микрокоманды продолжения цепочки совмещения).В свою очередь, в микрокоманде ожидания в выборке задана микрооперация "Условный переход", по которой при единичном состбянии признака занятости осуществляется зацикливание этой микрокоманды ожидания, при нулевом . - выход на завершение цепочки совмещения. В течение всего периода выполнения длительной (превышающей.два такта) микропрограммы обработки одновременно выполняемая цепочка совмещения зациклена на микрокоманде ожидания в выборке. Это зацикливание продолжается до тех пор пока в предпоследней микрокоманде микропрограммы обработки не будет .задана микрооперация "Сброс занятости".Последней микрокомандой каждой микропрограммы обработки операндов является микрокоманда ожидания в обработке. Пердварительное считывание операнда из блока 1 основной памяти (для форматных кодов "0101"- "0111") осуществляется микропрограммой совмещения только при.нулевом состоянии признака занятости, поэтому в течение трех тактов предварительного считывания операнда микропрограмма обработки зацикливается при выполнении микрокоманды ожидания в обработке. Если в микропрограмме совмещения нет.предварительного считывания операнда из блока 1 основной памяти (для форматных кодов, отличающихся рт "0101"-"0111"), то после выхода из микрокоманды ожидания в выборке в результате обнуления признака занятости при одновременном выполнении длительной микропрограммы обработки или после перехода из первой микрокоманды цепочки совмещения по нулевому состоянию признака занятости при короткой микропрограмме обработки, выполняет1138 ся последняя микрокоманда цепочки совмещения, в которой задана микро- операция Функциональньй переход.В соответствии с этой микрооперацией форматный код команды второго5 уровня совмещения используется для перехода к соответствующей цепочке совмещения, а код операция команды третьего уровня - для перехода к соответствующей микропрограмме обработб ки операндов.Более подробно рассмотри:; работу процессора на примере выполнения последовательности команд ВХ форматав фазе выборки которых производится базирование и индексирование адреса операнда и, в некоторых случаях, считывание операнда из блока 1 основной памяти, причем первая выполняемая команда размещена в четырех младших байтах информационного слова.Последовательность действий начинается с выполнения микропрограммы заполнения буфера. В течение всего времени выполнения микропрограммы. заполнения буфера до микрокоманды с микрооперацяей Функциональный переход" в поле, "Условие" во втором регистре 17 микрокоманд сохраняется и выполняется зацикленная микрокоманда ожидания в обработке, не содержащая никаких существенных микроопераций. Первая микракоманда этой микропрограммы считывается из первого блока 12 памяти микрокоманд в первый регистр 13 микрокоманц, В первой микрокоманде заданы следующие микро- операции: "Адрес команды" в полец"Память,Выборка" в поле "Установ" и "Безусловный переход" в поле "Условие", В адресном поле первой микрокоманды задан адрес второй микрокоманды микропрограммы заполнения 5 буфера. По микраоперации "Адрес команды" в поле нПамять" содер;кимсе счетчика 35 адреса команды через коммутатор 39 адреса подается на апресный вход блока 1 основной памяти,кроме того запускается считываниеблока 1 основной памяти, По микрооперации "Выборка" разряды советчика 35адреса команды загружаются в счетчик 36 продвинутого адреса и ь счетчик 33. Содержимое адреснога поляпервой микрокоманды по микроогерации "Безусловный переход" заносит 805 0ся в олск 14 модификации адреса микроксманды и используется для фор-. мирования адреса следующей второй микракаманды заполнения буфера (в дальнейшем, если нет специальных указаний, предгалагается, что в поле "Условие" выполняемой микрокоманцы задана микросперация "Безусловный переход", опредегяющая переход к следующей микрокоманде, адрес которой задан адресным полем),Вторая микракоманда микропрограммы заполнения буфера содержит в поле Установ" микрасперацию "Модификация", пс которой содержимое счетчика 36 продвинутога адреса модифицируется на плюс восемь, После этого содержимое счетчика 36 продвянутогс адреса подготоавлено для считывания очередного информационного слова. блока 1 основной памяти, содержащего последующие каналы. Третья микрокоманда микропрограммы заполнения буфера не содержит микрсопераций и является микрокомандой ожидания, в те ение которой завершается считывание информационного слова блока 1 основной памяти 1 и занесение считанного слова в регистр 28команд.етвертая микрокоманда микропрограммы запал ения буфера задает микроаперации "Первое продвижение" (поле "Продвижение" ), Продвинутыи адрес(поле "Память" ) и индекс(поле Адрес базы-индекса ). По микроаперация "Первое продвижение" дьа старших байта первой команды из регистра 28 команд через коммутатор 29 команп загружаются в первый буферный регистр 30 (первое продвижение команды на второй уровень совмещения). Места расположения старших байтов команды в информационном слове регистра 28 команд определяется состоянием счетчика ЗЗ, с выхо,ца которого на управляющий вход коммутатора 29 команд поступают управляющие потенциалы, обеспечивающие коммутацию в соответствии с адресом первой выполняемой команды, После завершения продвжкеняя содержимое счетчика 33 модиФицируется на плюс единицу, в результате счетчик 33 оказывается подготовленным для следующего продвижения. С выхода первого буферного регистра 30 по микро- операции "Лндекс" форматный код первой команды загружается в регистр 34 форматного кода, а адрес ячейки индекса поступает в селектор- мультиплексор 18 базы-индекса н в регистр 19 адреса базы-индекса. Поскальку в одновременно выполняемой зацикленной микрокоманде ожидания в обработке не заданы микроаперации (т.е. нет микраопераций "Запись" или "Загрузка), на выходе мультиплексного регистра 20 кода коррекции формируются нулевые признаки начальной выборки, полной, частичной и автоматической коррекции, т,е. отсутствует перекодировка микроопераций в пер вом и втором шифраторах 25 и 26 адреса.Если адрес ячейки-индекса, поданный на вход селектора-мультиплексора 18 базы в индек не равен нулю, на выходе селектора в мультиплексо 18 оазы-индекса начинает вырабатываться потенциал, сохраняющийся да указания следующей микрооперации в поле "Адрес базы-индекса" и разрешающий 25 прием в регистр 11 базы-индекса из блока 7 местной памяти базы-индекса. Если адрес ячейки индекса нулевой, на выходе селектора-мультиплексора 18 базы-индекса вырабатывает ЗО ся потенциал, по которому содержимое регистра 11 базы-индекса обнуляется, и приема информации из блока 7 местной памяти базы-индекса нет. .Адрес ячейки индекса с выхода регист-З ра 19 адреса базы-индекса поступает на второй адресный вход блока 7 шестой памяти базы-индекса и выполняется считывание содержимого адресованной ячейки. По микрооперации Продвину О тый адрес 1 в пале "Память" содержимое счетчика 36 продвинутого адреса черезкоммутатор 39 адреса подается на адресный вход блока 1 основной памяти и запускается считывание блока 1 ос навной памяти. Пятая микрокоманда микропрограммы заполнения буфера не содержит микроапераций и является микрокамандой второго такта считывания,блока 1 основной памяти. Действия, 50выполняемые в процессоре для считывания команд, несущественны для це-.лей описания, в дальнейшем предполагается, что по мере исчерпания содержимого регистра 28 команд очередное 55 информационное слово считывается изблока 1 основной памяти по микрооперации "Продвинутыи адрес в поле"Память", которая задана в соответствующей микрокоманде цепочки совмещения, а считывание первого информационного слова в микропрограмме заполнения буфера выполняется па микрооперации "Адрес команды", в поле "Память",Шестая микрокоманда.микропрограммы заполнения буфера задает выполнение микроопераций "Первое продвижение" в поле "Продвижение", "База" в поле "Ацрес базы-индекса", "База- индекс"в поле Первый вход "Смещение" в поле "Второй вход, Второй адрес" в поле Выход" и Переход по формату 1 в поле "Условие". По микрооперации "Первое продвижение" два старших байта первой команды из первого буферного регистра 30 загружаются во второй буферный регистр 31, а в первый буферный регистр 30 заносятся два младших байта первой команды (втарое продвижение на второй уровень совмещения). После завершения продвижения счетчик 33 модифицируется на плюс единицу (в рассматриваемом примере размещения команды в четырех младших байтах регистра 28 команд после этой модифи - кации содержимое счетчика 33 становится нулевым, т.е. указывает на размещение следующих продвигаемых двух байт команды в старших байтах очередного информационного слова). По микрооперации "База-индекс" в поле "Первый вход содержимое ячейки индекса из регистра 11 базы-индекса через коммутатор 9 индекса подается на первый вход данных сумматора 8 (на выходе мультиплексного регистра 20 кода коррекции сохраняется нулевое состояние признаков, т,е. перекодировка микроопераций в первом шифраторе 25 адреса не выполняется). По микрооперации "Смещение" в поле "Второй вход" разряды смещения с выхода первого буферного регистра 30 через коммутатор 10 смещения подаются на второй вход данных сумматора 8, кроме того, загружаются в регистр 27 смещения. Запрет занесения в регистр 27 смещения отсутствует, поскольку по нулевому состоянию признаков на". чальной выборки и коррекции на первом выходе коммутаора 21 адреса коррекции отсутствует формирование обобщенного признака коррекции. В сумматоре 8 выполняется сложение разрядов смещения с индексом, результирующий ин 113880:дексированньй адрес по микрооперации"Втсрой адресв поле "Выход загружается в регистр 38 второго адреса.По микрооперации База" в поле "Адресбазы-индекса" потенциал, сФормированный на выходе селектора-мультиплексора 18 базы-индекса для ранее считанного индекса (признак истинности),запоминается в блоке 23 григ; оров,а на Выходе селекторамультиплексора 18 базы-индекса формируется новыйпотенциал, соответствующий адресувновь считываемой ячейки базы,Адрес ранее считанного индексас вьхода регистра 19 адреса базыиндекса, запоминается во втором блоке 22 регистров, а в регистр 19адреса базы в индек з;.ружается изпервого буферного регистра 30 адресвновь считываемой ячейки базы, Считывапие базы из блока 7 местнойпамяти базы-индекса завершается кначалу следующего такта процессора.Всли адрес считываемой ячейки базыпе равен нулю, то на выходе селек тора-мультиплексора 18 базы-индак - са отсутствует потенциал сброса ре-. :истра 1 оазы-индекса, и считанное нз блока 7 мест. ой памяти бзыиндекса содержимое сячейки оазы за гружается в регистр 11 базы-индекса По микрооперации "Переход по формату форматньй код первой команды из регистра 34 форматного кода в опон 14 модификации адреса микро 35 команды используется для формирования младшей тетрады гдреса следующей ь:икрокоманды, для формирования стари.их разрядов которого используется содержимое адресного поля выполняемой микрокоманды, Следующая, седьмаямикрокоманда микропрограммы заполнения буфера одновременно является первой микрокомандой цепочки совмещения, соответствующей форматному коду 45 первой выполняемой команды ,такое об"единение микропрограмм предпринято для сокращения объема пеовой памяти 12 микрокоманд),В седьмой микрокоманде ,для ряс в 50 сматриваемого примера выполнения последовательности команд ЯХ форма-.та) микропрограммы заполнения буфераили в первой микрокоманде цепочки совмещения для команд БЛ формата 5 ю ,:даны микрооперации Первое продви;.,;ние" (поле "Продвижение" ), "Индекс", (поле "Адрес базы в индек" ), "Базаиндекс" ;поле "Первьй вход"), "Второй адрес (поля Второй входи Выход ) иУсловный переход" (поле "Условие ). По микрооперации"Условный переход анализируетсянеобходимость выхода в микрокоманду ожидания в выборке,Этот анализ используется только при совместномвыполнении .:,елочки совмешения и микропрограммы обработки операндов., Привходе в цепочку совмещения из микропрограммы заполнения буфера признакзанятости в блоке 14 модификации адреса микрокоманды находится в нулевом состоянии (так как продолжаетсязацикливание микрокоманды ожиданияв обработке), поэтому вместо адресамикрокоманды ожидания в вьборкена выходе блока 14 модификации адреса микрокоманды формируется адресследую;пей, второй микрокоманды цепочки совмещения (последней микрокоманды микропрограммы заполнения буФера):По микроогерации "База-индекс" вполе "Первый вход" содержимое ячейки базы, считанное в предыдущеймикрокоманде в регистр 11 базы -инде;. а, чгргз коммутатор 9 индекса передается на первьй вход данныхсумматоре 8, на второй вход данныхкоторого по микрооперации "Второйадрес в поле "Второй вход" подается через коммутатор 10 смещения содержимое регистра 38 второго адреса(индексированньй адрес). В сумматоре 8 выполняется сложение базы и индексированного адреса, окончательно сформированньй адрес операнда загружается с выхода сумматора 8 в регистр 38 второго адреса по микрооперации "Второй адрес" в поле "Выход ) . По миирооперции "Первое продвижение в начале такта процессора в первый буферный регистр 30 через коммутатор 29 команд загружаются два старших байта второй выполняемой команды (первое продвижение второй команды на второй уровень совмещения), в тре ий буферньй регистр 32 из второго буферного регистра 31 два старших байта первой команды (продвижение первой команды на третий уровень совмещения) и счетчик 33 модифицируется на плюс единицу). По микро- операции "Индекс в поле "Адрес базы- индекса" в регистр 34 Форматного кода загружается форматньй код второй команды из первого буферного регистра 30, потенциал, сформированныйна выходе селектора-мультиплексора 18базы-индекса для базы, считываемой втакте выполнения предыдущей микрокоманды (признак истинности) запоминается в блоке 23 триггеров, а на выходе селектора-мультиплексора 18 базы-индекса формируется потенциал,соответствующий признаку истинности 10адреса вновь считываемой ячейки индекса. Адрес ранее считанной ячейкибазы с выхода регистра 19 адресабазы-индекса запоминается во второмблоке 22 регистров, а в регистр 19 15адреса базы-индекса загружается изпервого буферного регистра 30 адрес вновь считываемой ячейки индекса. Считывание индекса из блока 7местной памяти базы-индекса завершается к началу следующего тактапроцессора,Если адрес считываемой ячеикииндекса не равен нулю, то на выходеселектора-мультиплексора 18 базы -индекса отсутствует потенциал сброса регистра 11 базы-индекса, и считанное из блока 7 местной памяти базы-индекса содержимое ячейки индексазагружается в регистр 11 базы-индекса. Таким образом, после завершения выполнения первой микрокомандыцепочки совмещения КХ формата вовтором блоке 22 регистров и в блоке 23 триггеров хранятся адреса35базы и индекса и соответствующие импризнаки истинности для командыпродвинутой на третий .уровень совмещения, а на выходах селектора-мультиплексора 18 базы-индекса и регист 40ра 19 адреса базы-индекса сформированы соответственно признак истинности и адрес индекса для командывторого уровня совмещения.Если первая выполняемая команда 45 имеет форматный код "0101" - "0111"Э то в двух следующих микрокомандах микропрограммы заполнения буфера (вторая и третья микрокоманды соответствующей цепочки совмещения) 50 выполняются первый и второй такт предварительного считывания операнда команды третьего уровня совмещения из блока основной памяти. В частности, для этого случая в седьмой 55 микрокоманде микропрограммы заполнения буфера задается одна микрооперация "Второй адрес" в поле "Память, а в восьмой микрокоманде микро- операции не заданы, По микрооперации "Второй адрес" в поле Память" на адресный вход блока 1 основной памяти через коммутатор 39 адреса подается адрес операнда из регистра 38 второго адреса и запускается считывание блока 1 основной памяти, Восьмая микрокоманда выполняется в течение второго такта цикла считывания блока 1 основной памяти. Третий такт цикла считывания является последним тактом выполнения микро-. программы заполнения буфера (цепочка совмещения). Если первая выполняемая команда имеет форматный код "0100" или 1000"-"1011", то вместо перехода к двум микрокомандам считывания операнда из блока 1 основной памяти осуществляется прямой переход на последнюю микрокоманду цепочки. В этой микрокоманде заданы микрооперации "Фукнциональный переход" (поле "Условие" ), "Первое продвижение" (поле "Продвижение" ), "Конец выборки" (поле,"Установ"), "База-индекс" (поле "Первый вход"), "Смещение" (поле "Второй вход"), "Второй адрес" (поле "Выход" ) и "База" (поле "Адрес базы-индекса").ГПо микрооперации "Функциональный переход" форматный код команды из регистра 34 форматного кода подается в блок 14 модификации адреса микро- команды и используется для формирования входного адреса соответствующей цепочки совмещения, содержимое счетчика 35 адреса команды модифицируется на плюс четыре (в соответствии с длиной первой команды форма" та), в коммутаторе 2 1 адреса коррекции выдается сигнал опроса состояния обобщенного признака коррекции. Так как это состояние нулевое, на втором выходе коммутатора 21 адреса коррекции вырабатывается управляю Сщий сигнал,. по которому в регистр 16 адреса микрокоманды заносится код операции первой выполняемой команды из третьего буферного регистра 32, а в первый блок 6 регистров - второй байт этой памяти (адреса регистровых операндов задаются во втором байте команд Щ, ВХ или КБ форматов). Таким образом, в следующем такте процессора начинается выполнение микропрограммы обработки операндов с микрокоманды, считаннойПо микрооперации Конец выборки" адрес операнда из реи:тра 38 второго адреса загружается в регистр 3 ЛЕРВОГО аДРЕСа, И В ЛОСЛЕДУЮиХ .:.роксандах содержимое регистра 3 первого адреса может быть использова):о 1 ак адрес операнда микропро.)а.;.О, обраоо)ки операдов, в .О врс)5 Кдак реГис ) 38 )тор) о ац" ОЕС.; )ЗС 0)ЬЗУЕТ" 51 ИК,.)ОЛРОГРаММО 1)Перьи вход ТОР СИ 1 ЬХОДгО ;)Ь, 1 О ЛЮТ51ОГ) та 1 е, ак и в песо) ."Нк) Ок лма)де:крол,:о р д зало)еия буфера,и. а; СО ерж)1 м) Нчеики ц"Кса из реГ:с рл, базь11;д" кса че вез комму:декса зало"1 ина ется в О Оке три перов а на вд;ходе селектора:")льтиглексора 18 Оазы-и)ддкса дорми )у тся потенциал соо 1 ветс тВующий ад РОСУ В 1.ОВ: СЧ 1 т ВВЕ;Ой ЯЧЕЙКИ базы. Адрес ранее считанной ячейки индекса с Выхода реГистра 19 аДреса базыВо второй регистр 1 -11 крокоманд из блока 15 второй памяти микрокоманд по адресу, заданному кодом операции команды третьего уровня совеще)ния, По микрооперапи; Первое продвижение" два старших оайта втогой выполняемой команды из г:.ервого буфернсго регистра 30 загружаются во второй буферный регистр 31, в первый буферный регистр 30 через ком утатор 29 команд заносятся кз регис.ра 28 команд два младших байта вт:рой команды (второе продвижение второй команды на втогой уровень совмещеия) а счетчик 33 модифилируется на ПЛЮС аИИ 1 линдекса. запоминается во втором блоке 22 регистров,. а в регистр 19 ад - реса базы-индекса загружается из первого буферно о регистра 30 адрес. вновь считываемой ячейки базы, Если декса,Все четыре тпа цепочек совмещения5 шлоН 5;ются аналогвчным образом, Це 1 Очк ). Задаваемые форматны 1 и к одами101"- )011" отличаются о: цепочекзадаваемых форматными кодами "0110"5100 " в "0)", Только тем,последних отсутстьуют две микрокоманЗО цы предварительного считывания операнда из блока 1 основной памяти,еле к: йк формата также не содержат 1)редвари етьного считывания опера,)а, кроме того, в первой микрокоманде цепочки формата вместо микро- Оерации ПерВОе проДВижение (как в случаях команд к) Х, РЯ, ББ и Я Форматов) задана микрооперац."я Второе продвижение В поле "Продвижение", а в последней микрокоманде цепочки про-вижеИе .;Ообп.;е не задано.Перед выполнением первой микро- команды цепочки РК Формата сама команда й. Формата размещена ВО вто )5. буферно реГистре 31 (точно так же, как два старших байта команды ). ФОРМаТа ПОСЛЕ ВТОР 010 ПРОДВИЖЕНИЯ на второй уровень совмещения), а в первом буферном регистре 30 находятся два стар пих байта следующей команды, П)и вьполнеНии этой микрокоманды вместо первоначально о продвижения и затем загрузки регистра 34Форматного кода (для ВХ формататакая последовательность оправдана, поскольку в первом Оуферном этот адрес не равед нулю, то содержимое ячейки базы, считанное из блокаместной памяти базы-индекса,загружается з регистр 1)1 базы-индекса. После завершения вьполнения микрооперации "База" в полеАдрес базы-индекса" последней микрокоманды цепочки совмещения КХ Формата во втором блоке 22 регистров сохраняются адрес базы для кома.ндь третьего уровня совмещения и адрес индекса для команды второго уровнясовмещения. Адрес базы для командывторого уровня совмещения хранитсяв регистре 19 адреса базы-индекса,Соответствуюшие признаки истинностихранятся в блоке 23 триггеров и в селекторе-мультиплексоре 18 базы-ин49 11388регистре хранятся два младших байтакоманды КХ формата, и форматныйкод следующей команды может быть выделен только после дополнительногопродвижения) в первую очередь выполняется загрузка форматного кода следующей команды из первого буферного регистра 30 в регистр 34 форматного кода, после этого в концетакта процессора выполняется продви Ожение.Выборка команд ЯБ формата несущественна специфика цепочек совмещенния для этих команд состоит в том,что при их выполнении дважды осуществляется базирование, причем адреса операндов формируются в регистрах 37 и 38 первого и второго адресов, а микрооперации продвижениязадаются в поле "Продвижение" трех 20микрокоманд цепочки, чтобы обеспечить продвижение на шесть байтв соответствии с длиной команды,В рассматриваемом примере выполнения последовательности команд КХ формата после завершения выполнения микропрограммы заполнения буфера (т.е, и цепочки совмещения, соответствующей команде КХ формата) первая30 команда переходит на четвертый уровень совмещения - начинает выполняться первая микрокоманда микропрограммы обработки операндов. Рассмотрим случай, когда первая команда является командой типа загрузкиалгоритм которой состоит в том, что регистровый операнд в блоке 4 местной памяти операндов замещается содержимым четырехбайтного слова, считанного из блока 1 основной памяти, Вторая команда является командой типа записи, алгоритм которой состоит в замещении регистровым операндом из блока 4 местной памяти операндов четырех байт в восьмибайтовом информационном слове блока 1 основной памяти. Адресо блока 1 основной памяти для обеих команд является базируемым и индексируемым, кроме того, при выборке обеих команд выполняется цепочка совмещения ВХ формата, содержащая два дополнительных факта считывания операнда из блока 1 основной памяти - для команды записи необходимость 55 предварительного считывания следует из того, что в восьмибайтовом слове блока 1 основной памяти должны 05 50 быть замещены только четыре байта, остальные четыре байта не изменяются.Считывание операнда из блока 1 основной памяти для команды загрузки выполняется цепочкой совмещения в дополнительных микрокомандах: прием считанного операнда в арифметический блок 3 производится в третьем такте считывания, т.е. в такте выполнения последней микроко. манды цепочки совмещения, После вавершения выполнения этой микро- команды в первом блоке 6 регистров хранится адрес ячейки блока 4 местной памяти операндов, в которую производится загрузка информации, в первом регистре 13 микрокоманд хранится первая микрокоманда цепочки совмещения КХ формата с предварительным считыванием операнда, во втором регистре 17 микрокоманд - первая микро- команда микропрограммы обработки операндов для команды загрузки.Первая микрокоманда цепочки совмещения для команды записи полностью соответствует рассмотренной ранее микрокоманде (шестая микрокоманда микропрограммы заполнения буфера)Фв ней заданы микрооперации "Первое продвижение" (поле "Продвижение" ), "Индекс" (поле "Адрес базы-индекса"), "База-индекс" (поле "Первый вход"), "Второй адрес" (поле Второй вход и выход") и "Условный переход" (поле "Условие" ).Микропрограмма обработки операндов команды нагрузки состоит из двух микрокоманд - в первой микрокоманде в поле "Арифметика" заданы микрооперации передачи на выход адреса записи арифметического блока 3 четырех байт информации из восьмибайторого слова, поданного на первый вход дан-, ных арифметического блока 3, кроме того, в. первой микрокоманде задана микрооперация "Яагруука". Вторая микрокоманда является микрокомандой ожидания в обработке, и микро- .операции в ней не заданы. В такте одновременного выполнения первых,микрокоманд цепочки совмещения и микропрограммы обработки производятся следующие действия.На выходе адреса записи арифметического блока 3 формируются четыре байта информации, подлежащие загрузке в блок 4 местной памяти операндов" 1 1и в блок 7 местной намя ги базы.-индекся Рдрес ячеек б 11 окОВ 4 и 2 местнОЙпамятей операндов и ба.зы-индекса,В которые выполняется зягрузк, формируется на Выходе первого блока 6регистров. В блоке 2 Обработки коМЯНД ВЫГ 10 ДН 51 ЕТСЯ г 1 РОДВИжвгп.С,Иэ регистра 28 команд через коммутатор 29 команд в первый буфернг регистр 30 заносятся ДВЯ старпихбайта команды, сле,Дующей за к .мандОй ЗаПИСИ (ПЕРВОЕ ГгрздзижЕ 11 ие НЯвторой уровень третьей команды).В регистр 34 форматного кода заносится форматный код когганы э первогобуферного регистра 30,. Двя стярцьихбайта второй команды (команды записи) из второго Оуферног г;егистра 31заносятся в третий буферный регистр 32. Счетчик 33 модифицируетсяна плюс единицу, Содержимое ячейкибазы (команды заггис 11) 1 итанноев пред,11 ущей микрокоманде в регистр11 базы-индекса через комиутатор 911 ндекса перецяетс 11 на пгрвггй вход1 я и нъх " мм 1 т ОО а 8 11 Я э т оп 011 В х о гДанньгх которого через к)ч.1 у тор 1 0.:,рес операнда команды записи из рег гетра 38 в горого адреса, В суммато-ре 8 гэыпол:-гяется окончягсльное фор -гировяние адреса Оггег 1 а:паВыхода";ммятора 8 этот адрес загргжаетсяпег гетр 38 втор -О адреггя,138805 52- манды, сформированным на выходерегис;ра 11 базы-индекса, и с адре сами базы и инцекса команды записи,сформированньгми на втором выходевторого блока 22 регистров. При отсутствии сравнения на выходе первого блока 24 сравнения вырыбатывается нулевой потенциал, запрещающийработу мультиплексного регистра 20 10 кода коррекции, на выходе которогоформируются сигналы, соответствующиенулевому состоянию признаков коррекции и начальной выборки. Поскольку информация на выходе адресазаписи арифметического блока 3 форми.руется в конце текущего такта, фактическая загрузка в блоки 4 и 7местной памяти операндов и базыиндекса производится в следующемтакте,.Если в первом блоке 24 сравнения обнаружено совпадение адреса загрузки с адресом индекса третьей выполняемой команды, на выходе первого блока 24 сравнения вырабатъвеется сигнал., по которому В ;.уггъгипи 1 ексно:1 регистре 20 кодаКОВРЕ; Ц,И Прн НЯЛИЧИИ РаЗРЕЦ 1 ЯЮЩЕГОпотенциага нз выходе селектора в мультцгпггексоря 18 базы - индекса устанав - ЗОлизается признак автоматическоЙ коррекци:1, По ВДиничному сОстояниюпризнака автоматической коррекции11 ризЯк истин 11 ос 1 Оязь команды 35 записи с выхода сег ектзра-иуль гиплекг: Оря 1 8 базы - индекса загружается Б блок 23 триггеров,. а на вых 1 е се - .ггектора-мультигглексоря 18 баэыиндекса формируе гся потенциал,40 соответствующ;1 Й признак; ис гинности индекс.я третьей ъыполняемой команДы, Адрес базы кома:-:1 цы записи с ВыхоДЯ ре 111 с 1 Оа 19 адреса б 1 эь 1-инДекса запоминается БО втором блоке 2 рс - .Истров, в регистр 9 адреса баэыиндекса из перього о,ферного ре истра 30 загружается Ядре ир 1 декся третьей команды, Ес.г 1 э"От адрес не равен нулю, содержимое ячейки Ндекса после считывания из блока 7 местной памяти базы-индекса загружается в регистр 1. баБы индекса, В первом блоке 24 сравнения зь;лолняется сравнение адреса загрузх 11,. Сформированного на Вьгходепервого блока б регистров, с адресом и;1 декся третьсй ВъипОлпяемой коца коррекции в спедующем такте процессора формируется потенциал, упрЯвлююии 1 работой первого шифратора 2. адреса, В рассматриваемом примере установка. признака автомат.гческой коррекции после первого такта выполнения цепочки совмещени; микропрограммы обработки не влияет на работу процессора, поскольку во втором и третьем таг.тах цепочки совмещения предстоит считывание из блока 1 основной памяти дпя команды записи.Если отдельно рассмотреть случай, когда Вторая выполняемая команда является командой с форматным кодом 1000 - 011 или 0100 9 то в с.оответствующей цепочке совмещения для такой команды нет предварительного считывания оггера.нда и непосредственно после первой микрокоманды цепочки совмещения выполняется последняя микрокоманда, в которой прои водгится суммирование смещения с индексом, Поскольку в последней микроко53 11388 манде цепочки в поле "Первый вход" задан код микрооперации "База-ин- . декс", то по признаку автоматической коррекции в первом шифраторе 25 адреса этот код преобразуется в код микрооперации "Арифметический блок" и через коммутатор 9 индекса на первый вход данных сумматора 8 вместо содержимого регистра 11 базы- индекса передается информация с вы хода адреса записи арифметического блока 3. Признак автоматической коррекции вырабатывается только в течение одного такта процессора. непосредственно за тактом выполнения 15 микрокоманды обработки, в которой задана микрооперация "Загрузка",Если в этом следующем такте в микрокоманде совмещения в поле "Первый вход" задан код микроопе рации "База-индекс", то при адресном суммировании вместо считанной в регистр 11 базы-индекса нескорректированной адресной компоненты учитывается новое значение базы или 25 индекса, формируемое на выходе арифметического блока 3. Если между тактом выполнения микрооперации "Загрузка" и тактом адресного суммирования выполняется по крайней мере один про-З 0 межуточный такт, то этого оказывается достаточно для загрузки новой адресной компоненты в блок 7 местной памяти базы-индекса и ее считывания в регистр 11 базы-индекса, т.е. признак автоматической коррекции может быть сброшен, и микрооперация "База-индекс" поле "Первый вход") выполняется без перекодировки. Возвращаясь к случаю, когда вторая 40 команда является командой записи, рассмотрим дальнейшие действия. После такта выполнения микрокоманды обработки с микрооперацией "Загрузка" в цепочке совмещеииядля команды запи си выполняются два промежуточных такта считывания блока 1 основной памяти, поэтому в последнем тактесцепочки совмещения суммирование адресныхкомпонент производится обычным образом, без перекодировки. Если "в такте выполнения микрооперации "Загрузка" в первом блоке 24 сравнения обнаруживается совпадение адреса загрузки на выходе первого бло ка б регистров с адресом ячейки базы или индекса (команды записи) на втором выходе второго блока 22 ре 05 54гистров, то по сигналу с выхода первого блока 24 сравнения при наличии соответствующего разрешающего потенциала на втором выходе блока 23 триггеров в мультиплексном регистре 20 кода коррекции в следующем такте устанавливается признак полной коррекции. По этому признаку на выходе мультиплексного регистра 20 кода коррекции вырабатывается потенциал, управляющий работой второго шифратора 26 адреса и коммутатора 21 адреса коррекции. В рассматриваемом варианте реализации процессора для его упрощения опрос коммутатора 21 адреса коррекции выполняется сигналом, фор-. мируемым по микрооперации "Функциональный переход", с тем чтобы выход в микропрограмму коррекции осуществлялся только после завершения выполнения очередной команды на четвертом уровне совмещения перед началом выполнения следующей. Это подчинено общему правилу обработки критических или специальных ситуаций в процессоре возникающих при работе средств контроля и отладки оборудования и программ системы прерываний и т.п. (не показано).Единая организация перехода к микропрограммам обработки таких ситуаций, в частности к микропрограмме коррекции, приводит к необходимости предусмотреть дополнительные меры для предотвращения возможных .нежелательных последствий предварительного считывания операнда, выполняемого в цепочке совмещения. команд с форматными кодами "0101"-"О 11" по нескор - ректированному адресу. Указанные дополнительные меры узко специфич - ны и не влияют на сущность предлагаемого изобретения, во избежЯие излишнего усложнения описания их реализация не отражена на чертежах. Для определенности предположим, что считывание операнда по оневерному адресу выполняется обычным образом, однако реакция процессора (выход в прерывание или т.п.) на возможные возникающие при этом ошибки запрещена признаком полной коррекции. Признак полной коррекции вырабатывается в течение всего интервала времени, начиная с такта процессора, непосредственно следующего за тактом выполнения микрокоманды обработки с микро- операцией "Загрузка" и кончая тактом,1138805та И соединены с первым выходом коммутатора, выход третьего элементаИЛИ подключен к первому входу третьего элемента И и входу второгоэлемента НЕ, выход четвертого элемента И соединен с вторым выходомкоммутатора, выход второго элемента НЕ подключен к первому входу четвертого элемента И, а вторые входытретьего и четвертого элементов Исоединены с управляющим входом блока. выходу первого регистра микрокоманды, выход второго шифратора адреса соединен с третьим входом данных селектора-мультиплексора базы-индекса, первым входом блока триггеров, вторым входом данных регистра адреса базы-индекса и первым входом второго блока регистров, второй вход, первый и второй выходы которого подключены соответственно к выходу регистра адреса базы-индекса, управляющему входу первого блока сравнения и синхровходу регистра адреса базы-индекса, второй вход и первый выход блока триггеров соединены соответственно с выходом и управляющим . входом се.-ектора-мультиплексора базы-индекса, а синхровход, второй, третий, четвертый и пятый входы данных мультиплексного регистра кода коррекции подключены соответственно к первому выходу второго регистра микрокоманды, выходу селектора- мультиплексора базы-индекса, второму выходу блока триггеров и выходам первого и второго блоков сравнения,2. Процессор по п;1, о т л ич а ю щ и й с я тем, что коммутатор адреса коррекции содержит два элемента НЕ, четыре элемента И и три элемента ИЛИ., причем вход первого элемента НЕ соединен с входом данных коммутатора, а выход этого элемента НЕ подключен к первым входам первого и второго элементов И, вторые входы которых соединены с входом данных коммутатора, первые входы всех элементов ИЛИ подключены к выходу второго элемента И, вторые входы первого и третьего элементов ИЛИ соединены с входом данных коммутатора, а второй вход второго элемента ИЛИ и третий вход третьего элемента ИЛИ подключены к выходу первого элемента И, выходы первого и второго элементов ИЛИ и третьего элемен 3. Процессор по п.1, о т л и ч аю щ и й с я тем, что первый шифратор адреса содержит два элемента ИЛИ, элемент НЕ и элемент И, первый и второй входы которого соединены соответственно с первым входом шифратора и выходом элемента НЕ, входы и выход первого элемента ИЛИ подключены соответственно к второму входу шифратора и входу элемента НЕ, первый и второй входы и выход второго элемента ИЛИ соединены соответственно с выходом элемента И, вторым входом и выходом блока. 4. Процессор по п.1, о т л и ч аю щ и й с я тем, что, второй шифратор .адреса содержит два сумматора по модулю два, дешифратор, элемент ИЛИ и элемент НЕ, вход и выход которого соединены соответственно с выходом элемента ИЛИ и выходом дешифратора, первые и вторые входы обоих сумматоров по модулю два подключены соответственно к первому и второму входам шифратора, выходы обоих сумматоров по модулю два соединены с входом дешифратора и выходом шифратора, первый и второй входы элемента ИЛИ подключены соответственно к второму входу шифратора и первому выходу дешифратора, другие выходы которого соединены с выходом шифратора.Изобретение относится к вычисли- Известны процессоры с совмещением тельной технике и может быть исполь- операций, каждый из которых содержит зовано в быстродействующей ЭВМ. основную память, память микрокоманд,3катара; сурес; зля; - тс,: переход кЬНК а рат; ачтчт ; 0 .Г-,;,11 та;Па т-Ет И 1 Т ". Г Г БНСС;, -;ЗЕ. ОМ РМЕРЕ ЯВЛЯЕТСЯ таКТОМ ОптаРСР 1: ОГОВЫПОЛНЕНИЯ ПССЛЕДНЕЬ 1:ИКБО;(ОМа-Ы 1 тЕ -пачки совмещения для смнды записи 1 ПОСЛЕДНЕИ МИКРОКОМДНЦЬ 00:. 1 гатки ДЛЯ КотаНДЫ ЗаГРУЗКИ МИКРОт 1 аида о(идания в обработке, . Послед .": ИКРОКО.а:-тг;а ЦЕПОЧКИ СМЕЩЕИ1 цтта 1 ДЫ заПИСИ СОБПта . 1: 1 аст 1 ГО 1"регтнай ранее микроКмадат . о 1 яед 1 Л МИ 1 К 1 ОК 0 1 а 1 Да Мнк 1 011 Р а Г Р а 1,1Г.алнения буоет.а) в ней за;аты .1 икра 11апсаации Функци:.-",л 1 ь 1 й;тесе ад1 СГ 1; г 1 ОБ 1)тв.г 0 гт:,ние т,па 1 еПрсдвижепне) .1 гонецтт 11НИЕ ,10-ЕОРОт; Б,ап ) . ВГ;а 1, ПСС 1 Грсс СБЗь-ИНдакса 1 П 111 установленном признаке полсигн.: ту полной коррекции с выходамулт.,типлекснсга регистра 20 кодакаррекци-". Ба Бттром 11 ифратаре 26 адЭЕ а ос 1 ЦЕСТГЛНР:"С Я Пг ЕОбраоваНИРвходного 11 гдаф . Ормираватевыходе сигналов, ссТветствутощихьикроспепации арректия 1, По зтимсигналам в селектор-мультиплексор 18базы-индекса г первого выхода блока"Б 23 ТБ 1. герон Г,ередается состояниепризнак-, ис "иннасти для адреса индекСа 1(аавгтЫ тРЕтЬЕГО УРОВНЯ СОВМЕЩЕ- нил 1 Б примере - 1(атьанды записи), апредыдущее состояние Выхода селек.Орз-мул.титЛексара 18 базы-индекса (пр(Знак истинности адреса индекса для команды второго уровня ь.ов=;тещентя 1, е, для кома.нды, следуо 1 ейза командой записи) запОминается БЪ 1 блоке 23 триггеров,В регистр 19 адреса базы-индекса1 первого Выхода второго блока 22регистров загружается адрес индек;- т1 Е КИ та ЗИМ ."ПК 1 ООПЕаа 25 =чт.т,а - 1.-,ВЕЙСЯ СЛГЗПУтЩИ ПЕЙСТБИЯ, абабцтеньтсу признаку перехода1; КСР" 1: 1 И:1 0 к 011;1" го: Е .БДРЕСБча г. О 11 Б РЕ.О 1 Э Я 10 ЕСБ МИКОС1(011 ь наь: = нас.:т 1 ся (сд ап Бра пик коаНБЬ 1 гавЕГ а Б",: Я " авЕЕН 11 Я .;рс 1 алжае 1 ся зациклираВапне на микОт(0 Ма 1 де ахг Даия В .бр а Ьот ке(одтана:Ьттаса гтрсса 1 тОП 10 ПаМЫт(лнтсррек 11 ти и,Бл 1 з 1 КОдата. 1 1 а.1 1 ЕС,чЕП 1.кт П . "ДЗИя Н. Бкад бт,аха 1 лОдитта 1.-, аднч"Н 110 Ит( .(МаДЬ МИК,.1 ПСГРВММЫ 1(О 1 екти 1 т, 1 з; ;,-,; :, гз "тэ бга са для команды записи,. а предыдущее состояние регис;ра 19 адреса базы - ;гтгп".Са 1,1 ДЗгс С;1 ЕД)(щЕЙ КОМаНдЫ) заг 1 Ннает я Ба втарс . блоке 22рег"отрав, Вьпалиется про твижениеБ б 1. е Обрабатт(1 к 04 ант Яндексиравание адреса операнда для команды; следу:Ощей за. командаЙ записи завершается обычным образом, т,е, :ыпалняетс; Передача содерхМа 1 о ре и:"рв 1 1, базы-индекса через коммутатор :,т индскса на первый вход данпы; сумматора 8 разряды смещенияБыхаца перв с аурернага реГист ра 20 через камт;утатор 10 смещения передаются на Второй вход данных сумматора 8 индексированный адрес:выхода сумматора 8 загружается в регистр 38 Второго адреса. Вместе с тем. Б Згис-,е 2; сметения сохраняется смещение для команды записи, поскольку занесение в регистр 27 сыещепи запрещена сигна 1 Ом перехода к коррекции с и рвога выхода коммутатора 21 адреса коррекции ттит же сигна 1 аь 1 вьпголняется сброс признака алн ай к ори е кции Б мул ьтиплек с нам :Е; ИГ щч 70 (ада чара(ДИИ т, ттталу стеду;Вдега такта из алОК 7 местной Паия И ба ЗЫ - ИНДЕКС а ч БЕ БИС аЗЬ 1-ИгДЕКСа СЧ 1 ТЬБ;.-.Е Ся .01 ЕржиОеи 1 ейк Ндек" а для т,.андь 1 записи,В следутщем такте з 11 алняетсяпервая"Регистр смещения" (поле "Второйвход ), "Второй адрес" (поле "Выход)и "Коррекция" (поле "Адрес базы-индекса). На первый вход данных сумматора 8 через коммутатор 9 индексапередается содержимое регистра 11базы-индекса (индекс команды записи).На второй вход данных сумматора 8 через коммутаор 10 смещения передаетсясодержимое регистра 27 смещения (смещение команды записи). Результатсложения с выхода сумматора 8 заносится в регистр 38 второго адреса.По микрооперации "Коррекция" 15в поле "Адрес базы-индекса" в регистр 19 адреса базы-индекса с .первого выхода второго блока 22 регистровзагружается адрес базы для командызаписи, а предыдущее состояние регистра 19 адреса базы-индекса (адресиндекса для команды записи) запоминается во втором блоке 22 регистров. Содержимое ячейки индекса считывается из блока 7 местной памятибазы-индекса и заносится в регистр 11базы-индекса, если по тризнакуистинности не выполняется сброс регистра 11 базы-индекса. Признак истинности формируется в селекторе-мультиплексоре 18 базы-индекса по соответствующему сигналу с первого выходаблока 23 триггеров. Вторая микрокоманда микропрограммы полной коррекции содержит те же микрооперации,что и первая микрокоманда, тольковместо микрооперации "Регистр смещения" в поле "Второй вход" заданамикрооперация "Второй адрес". В результате выполнения этой.микрокоманды индексированный адрес суьщиру-ется с содержимым ячейки базы и врегистре 38 второго адреса формируется скорректированный адрес операнда для команды записи, во второмблоке 22 регистров и блоке 23 триггеров хранятся адреса и соответствующие признаки истинности для индоксаи базы команды записи, а на выходахрегистра 19 адреса базы-индекса50и селекторе-мультиплексоре 18 базы.индекса формируется адрес и признакистинности для индекса следующей(третьей) команды,При выполнении микропрограммыкоррекции после цепочки совмещения,в которой предварительное считыва-ние операнда из блока 1 основной памяти было запрещено признакомполной коррекции, это предварительное считывание выполняется по скорректированному адресу в дополнительных микрокомандах. После завершениядвух тактов предварительного считывания или для случая отсутствия предварительного считывания начинает выполняться последняя микрокоманда микропрограммы полной коррекции, аналогичная последней микрокоманде цепочки совмещения КХ формата и содержащая те же микрооперации, за исключением микроопераций поля "Продвиже-ние" (продвижение в блоке 2 обработки команд уже было выполнено при вы-.ходе в микропрограмму полной коррекции). Таким образом, для выполненияполной коррекции дополнительно затрачивается три такта процессора или принеобходимости предварительного считы"вания операнда - пять тактов (микропрограмма заполнения буфера выполняется соответственно за семь или девятьтактов). Микропрограмма обработки операндов команды типа залиси выполняется одновременно с цепочкой совмещения для третьей команды и состоит из пяти микрокоманд. Перед началом выполнения первой микрокоманды обработки (в такте микрокоманды ожидания в обработке) информационное слово из блока 1 основной памяти и регистровый операнд из блока 4 местной памяти операндов считываются в арифметический блок 3. В первой микрокоманде обработки в пале "Арифметика" заданы микрооперации, по которым четыре байта в информационном слове замещаются регистровым операндом, и реэультирующр восьмибайтовое слово формируется на выходе данных арифметического блока 3. Микропрограмма обработки операндов команды зучиси выполняется более чем за два такта, поэтому в первой микрокоманде обработки задана микрооперация "Установка занятости". По этой микрооперации в одновременно выполняемой первой микрокоманде цепочки совмещения формируется адрес перехода к микрокоманде ожидания в выборке и цепочка,совмещения зацикливается на этой микрокоманде до тех пор, пока не будет выполнена микрокоманда обработки с микроопераций "Сброс занятости".Ро в с(трой микрикслан,е обработки заДана гкр(тонераци 51 8 агНсь по ко торой содержимое регистр, 37 первогодре( а (в последней )Кроко)я це дев почки совмещения по микроопграции "1(онец выборки" в ре снср - 37 первого адреса, был поцгоговлг. г(ее опсаНДс ДЛЯ К Омг НДЫ 3 Я 1 ИСИ : ЕРС 3 КОМ мутатор 3 адреса в .оцаетсна,.писныи вхо,:, о;(0.(аОсноьнои паня и,;а гптНИХЯ(5 Щий ВХО(т КОХг;От" 0 гХт" Паз Т УПРЯВХЯЮЦи СИГНЯ ЗЯП 1:СИ; ЦИКХ записи блокг. 1 основной памяти згвспяается в четвеотом такт. 51)ткропро".ргм(ы Обрзботки,гпя кома)ды .",Яписи,ЕТЬЯ МИКРОКОМа Зг ЭС Гт(РОГ, ЭГтам - ;Ы .,;С СОДЕ 0111, МИКХЭОО 1"-РЯЦ) и;.ЕтзаР - . тая )п(ро 01 я)1 дя содерж)т:.икроопе РЯЦИЮ СОРОС Заннтзсти, ЛЭ КОТО-.гЙв гггпл у(е сов)е(хгеГтя ОсуЯств 1 яетсяПОР ЕХОД От г ИКР ОК ОМг НДЫ Ожидг НИЯг выбор(е к возможному предварихелт, -ном( считывангпо опер.энда из блока);ах 30 и .",;, ядрса ком.дг; и тродзинОг, (реса, 1 Я иыхое в горогс бло-. ка 10 с-ра В 1".ения эыС воя тыва ется (сиНЯЛ С 01 э.ЯДЕ ггЯ: ЕСХИ ).ДОСС В СЧЕТЧИ ке оэ г,реса - ,(оча)ды меньше или равен ЯДРЕ" УПЕГИСТтЭЕ т / ПЕРВОГО ЯДРЕ" СЯ И О,;(ОВЭСМЕ(1 О ЭД 5 ЕС В рЕГИСТ- РЕ(Е (ВО О а.ПЕС а (.,аНЬгЕ : -г РЯВЕ Н ся одно из указа.Нык .гсл:;вий и адрес т"В ( ЧЕТЧИ:(Е )0 Продз(Н ТО 0 адрС:ССГ ЕЬЕ ЯГ РЕСЯ 3 (СтЕЧуКо ; ЯДРЕСЯ КОМЯНДЫ (1 а(КЯЯ СИ".(ЯСИЯ ВОЗ)10 ЖНЯ ПРИ ЕРЕПОЛНЕНИИ С(ГЕ таИКЯ О 1 РСГДВ(НУТО 0 ядрсся и переходе чс".рез Я(сияпьно "С ,цос.т нный адрес схока 1 основной ПЯг -т , эг гятк/ . В;уХЬТИПХЕКСНОИ рОГИС:Трз с.0 Коца КОРРЕ;(ЦИИ ПО Мгц(РООПЕРЯЦИИ "За(ИСЬ (ЗО ВтоРОМ таКтЕ ВЫГ(ОЛ ЕНЯ : 1 к",ОпрОГраммы Обреботк, ПО сигналу 55 СО)1 ЯДЕНИЯ УСТЯНЯЗ(ИВЯЕТЯ ПРИЗНЯК Я Я:ьн Ой выбор(и и намультиплексного регчсгра 20 кода коррекции вырабатывается соответствующий потенциа 1, Этот потенциал сохраняется до посл-дней микрокоманды одновременно выпохняемой цепочки совмещения. Б последней микрокоманде пепечки по микрооперации Функциональный переход в ком)утаторе 21 адреса коррекции вырабатывается на перзом выходе код адреса первой микро- команды мит;ропрогргммы заполнения буфсра и си. нал перехода к коррекцииу по которому этот код адреса з Олоке 14 модификации адреса микро- команды выдается ня выход з качествеадреса следующей микрокоманды.Б результате процессор переходитк выполнению микропрограммы запол -нспия буфера,Рассмотрим отдельный случал выполнения команд, когда в микропрограм ме обработки операндов производится загрузка резухьтата в блок 4 местной памяти операндов, причем микропрограмма обработки выполняется более чем за два такта, микроопера- ЦИЯ .Я ГРУЗ К Я (гКЯЗ Я НЯ З ПОСХ 1 ЕДНЕИ г Икр О(.мс, НДЕ МИКрОПрОГр ЯММЫ ОорЯООТ ки ,1".(.гзп микэокомягдой Ожидания в об 1 аботке,(, а одновременно выполняемая цепочка совмещения не содержитпр:двгрительного считывания операнда:.з бпока т основной памяти., Такаяситуация возможна когда на четвертомуровне совмещения выполняется команда арифметического типа (сложение, 1,;ч:тане, умножение и т.п,) а на тр;Тьем уровне - команда с форматным кодом "100 У("1011" нли "0100".Все микропрограммы обработки операндов в которых последняя микрокоманда содержит микрооперацию "Загрузка ,. используют вспомогательную микрооперациО 0.рос конфЛикта", которая задается в микрокоманде, нетто( редстзенно предтествующей микрокоманде записи. Микрокоманда обработки, содержащая микрооперацию 0 прос конфликта, содержит также микрооперацию Сорос занятости и выполняется одновременно с микрокомац", дой ожидания в выборке. Если в этой микрокоманде обнаруживается, ЧТО ЯСДРСС ПРЕДСТОЯЩЕЙ ЗаГРуЗКиу форгмируе(ый на зыхсде первого блока 6 регистров, совпадает с адресом базы или индекса команды тпетьего уровня совмещения, формируемьж ня зтОрсм зыхОДе второГО бпокЯ ре "05 62регистра 20 кода коррекции формируется сигнал управления преобразованием кода в первом шифраторе 25 адреса, который присутствует в течение времени выполнений следующей микро- команды (микрокоманда частичной коррекции). В следующем такте процессора выполняются микрокоманда ожидания в обработке и микрокоманда частичной коррекции, в которой заданы все микрооперации последней микрокоманды цепочки совмещения за исключением того, что в поле "Продвижение" нет микроопераций. Частичная коррекция алгоритмически представляет собой задержку на один такт операции суммирования индекса со смещением с тем, чтобы успел сформироваться результат на выходе . арифметического блока 3 и можно было воспользоваться автоматической коррекцией путем изменения управляющих сигналов коммутатора индекса. Таким образом, при частичной коррекции дополнительно затрачивается один такт процессора.Вопросы, связанные с одновременным искажением нескольких ячеек базы или индекса, не требуют детального рассмотрения, поскольку, как правило, признаки начальной выборки полной, автоматической и частичной коррекции устанавливаются независимо и установка каждого из них говорит о необходимости коррекции на соответствующем уровне совмещения. Одновременная установка признаков приводит в коммутаторе 21 адреса коррекции к формированию кода адреса для наиболее приоритетной микропрограммы (начальной выборки, полной или частичной коррекции).1 аВ мультиплексном регистре 20 кода. коррекции (фиг.2) для хранения признака начальной выборки используется триггер 49 начально,выборки, установка которого производится при попадании адреса операнда в команде записи в диапазон адресов команд первого-третьего уровней (в этой ситуации вырабатывается сигнал на втором входе 55) в такте выполнения микрокоманды обработки, в которой задана микрооперация "Запись" (на разрешающий вход триггера 49. начальной выборки поступает сигнал установки по шине 60 микрооперации "Запись" ). Последняя микрокоманда цепочки- осовмещения выполняется обычным образом за исключением того, что функции микрооперации "База" (поле "Ад рес базы-индекса) запрещены во втором шифраторе 26 адреса признаком частичной коррекции. В этом же такте в мультиплексном регистре 20 кода коррекции по микрооперации "Загруз ка устанавливается признак автоматической коррекции, По этому признаку на выходе мультиплексного 61 11388гистров, на выходе первого .блока 24сравнения вырабатывается сигнал,по которому в мультиплексном регистре 20 кода коррекции устанавливаетсяпризнак полной коррекции, Дальнейшиедействия (выход в микропрограммуполной коррекции) соответствуетслучаю, рассмотренному ранее.Если в такте выполнения микрокоманды, содержащей микрооперацию 1 О"Опрос конфликта", обнаруживается,что адрес предстоящей загрузки совпадает с адресом индекса команды второго уровня совмещения, сформированнымна выходе регистра 19 адреса базыиндекса, то по Сигналу с выхода первого блока 24 сравнения в мульти;плексном регистре 20 кода коррекции одновременно устанавливаются признаки полной и частичной коррекции,По этим признакам в следующем тактепроцессора на выходе мультиплексного регистра 20 кода коррекции вырабатываются сигналы, по которым вкоммутаторе 21 адреса коррекции фор - 5мируется код адреса микрокомандычастичной коррекции, а во второмшифраторе 26 адреса блокируется выдавча на выход сигнала, управляющегозанесением в селектор-мультиплексор 18 базы-индекса, регистр 19 адреса базы-индекса, блок 23 триггерови во второй блок 22 регистров. Следующий тактпроцессора является тактом одновременного выполнения последней микрокоманды цепочки совмещения и микрокоманды обработки, содержащей микрроперацию "Загрузка".В этом такте по микрооперации"Функциональный переход" на первомвыходе коммутатора 21 ацреса коррекции вырабатывается сигнал переходак коррекции, по которому в блоке 14модификации адреса микрокомандыформируется адрес микрокоманды частичной коррекции.)3:,;узк.адана в последней микрокоманде Обгзяоотки, такт )ьгполнения когпорои совладает с гактом вьг)олнения Ос;-едней микрокомянды цег)очки со г)1 еп)ени 5 и ядр ес предстсяьтей зя" грузки совпадает с адресом индекса Б эгей ситуации Одновременная предвариельная установка триггеров 50 иГолнОЙ " Оррякиии и чястичОЙ.,я, Овещеьия задержать ня Один такт 5 гполнение микрооперяции по сумми -Ованию мешения и инцекса, котоэыйняобхс имо скорректирове"ь путеморгнизапии герехоца к микрокоманде )Истинной 1 оррекии. в которой понт.)ряются эти микрооперации суммирования, Установка триггера 52 автомаТИ ЕСКОИ КгРРЕКЦИИ На В 3 ЕЫЯ таКта.;п 1 оля мин роке) )ан) )ь чястич:.).,: к-)ьг)екци. - Озволяет при 5 овтор:р 1 совпадении адреса загрузки с и)е)30 я базы или индекса команды гретьего;гвсвня (ня шине 62 или)" гавенства адресов третьего уровНЯ. СПИИ:1 НЬй ПОТЕНЦ,".П) И ПРИ на;".ни 1 соответствуюцего признака:ь;,Оде, ЭЛЕМЕНть) ИЛИ 40 В Гак) Е ВЫПОЛ-е-)я микроогеряции Опрос кнфпикта ) или Загруз:.Я) (сигналы на соотвстствующих пиьах 64 )-ли 65) срабатывает соотве . .ь).ющий элемент и 43.,Р:,И 44, и через элемент ЛИ 47 устанавливается триггер 50 полнойкоррекции. Если Оцновреьенная уставе;-.ка триггеров 50 и 51 полной ичастпай коррекции вызвана оцновремягным срабатьв)анием первого ивго.01-0 эгементов И 42 и 43 или первого и .ретвего элементов И 42 и 44ЯДресе Второго и третьего уровняСОВГ 1 яд-ю Г) ) то поскольку это Воз можно только в тахте выполнения микэоо 1)ераци 3 "Опрос конфликта", в слсдуюшем 1 якте устянов)кя триг 5 е ра 50 полной коррекции будет гсдтвержцена по микрооперяции "Загрузка"В этом такте организуется переход к микрокоманде частичной коррекции и функции микрооперации "База" в поле ".Адрес. базы-индекса" запрещены, т.е. сохраняется состояние на шинах 62 и 63 равенства адресов третьего уровня и шинах 66 и 67 истинности адресов. В такте выполнения микрокоманды частичной коррекции триггер 51 частичной коррекции 10 будет уже сброшен, а по установленному триггеру 50 полной коррекции организуется переход к микропрограмме полной коррекции. Сброс триггеров 49 и 50 начальной выборки и полной 15 коррекции производится сигналом перехода к коррекции на шестом входе 59 блока.В коммутаторе 21 адреса коррекции (фиг.3) при установленном 20 признаке начальной выборки по потенциалу на шине 83 начальной выборки в узле 68 приоритета блокируется срабатывание элементов И 69 и 70, а в шифраторе 72 элементами ИЛИ 73 25 и 74 формируются два младших разряда кода адреса первой микрокоманды микропрограммы запоминания буфера, поступающие на шину 86 адреса коррекции, 30При установленном признаке полной коррекции в отсутствии признака на - чальной выборки по потенциалу на шине 84 полной коррекциив узле 68 приоритета срабатывает элемент И 69, 35 а если на шине 85 частичной коррекции есть единичный потенциал, то срабатывает. также элемент И 70. По потенциалу с выхода элемента И 69 (или элементов И 69 и И 70) в шиф раторе 72 элементами ИЛИ 73 и 74 формируются два младших разряда кода адреса первой микрокоманды микропрограммыы полной коррекции (или код адре-. са. микрокоманды частичной коррекции);45При появлении единичного потенциала на любом из входов шифратора 72 срабатывает элемент ИЛИ 75, по йотенциалу с его выхода разрешается срабатывание элемента И 76, и через 50 элемент НЕ 78 блокируется срабатывание элемента И 77. При выполнении микрооперации "Функциональный переход" на втором входе 80 блока возникает сигнал, по которому срабатывает элемент И 76 и на шине 87 перехода к коррекции вырабатывается сигнал перхода к коррекции, Код адреса и сигнал перехода формируются на выходе 81 блока. Если ни на одном из входов шифратора 72 нет единичных потенциалов, то по выходу элемента ИЛИ 75 через элемент НЕ 78 разрешается .срабатывание элемента И 77 и формирование сигнала на втором выходе 82 блока, по которому организуется переход по коду операции к соответствующей микропрограмме обработки,Во втором блоке 22 регистровиндекса (фиг.4) по сигналу на управляющем входе 91 выполняется занесениекода адреса базы или индекса с входа 90 в первый регистр 88, предыдущеесодержимое первого регистра 88загружается во второй регистр 89и формируется на первом выходе 92 буфера. Сигнал науправляющем входе 91возникает при выполнении любой микрооперации в поле "Адрес базы-индекса"если в такте выполнения этой микрооперации отсутствует признак частичнойкоррекции - это используется дляблокировки функций микрооперации"База". При выходе в микропрограммуполной коррекции содержимое регистров 88 и 89 пооче 1 Ьдно выдается. напервый выход 92 буфера,Для обеспечения возможностисравнения адресов хранящиеся в регистрах 88 и 89 коды адресов формируются на втором выходе 93 блока.В блоке 23 триггеров (фиг.5)по сигналу на шине 102 занесенияадреса выполняется занесение признака истинности базы или индексас входа 97 в первый триггер 94, предыдущее содержимое которого заносится во второй триггер 95 и формируется на первом входе элементаИ 96. Сигнал на шине 102 занесенияадреса возникает при выполнении любоймикрооперации в поле "Адрес базыиндекса", если нет запрета выработоки этого сигнала по признакучастичной коррекции. При выходе в,микропрограмму полной коррекции помикрооперации "Коррекция" (поле Адрес базы-индекса") на соответствующей шине 101 возникает потенциал,по которому состояние триггера 95через элемент И 96 передается на первый выход 99 буфера. Для обеспечения учета текущего состояния. признаков истинности при сравнении адресазагрузки с адресами базы и индексаг11 3880;) гик кои кре ла з;,;Осе клГ э).)есекия ад 1 ОСКО) КУ Кс аког" гЕС ).) М-: КТЯЬ ЛИ О-СТСТВГи . я выходе элем , 1;1);) вл яоце у с весе.Ия адреса .1 г 13 б возниквьх )де е 100 блока,Е 1 Е)Г гЬ) Я КОК ) .тывакио эле);ента )1 .;), ) ОГ,; в т ) С,П) ЧЯЕ, ЕС)И Я )г;"Е .. ": г;- .; Е П,г,ЬГйОГЕ: ): Я, : КЯ " ")Г(Ь Г=1) В) "О ) ГФ:Гвый к хо.;. ) С) ч э..с" к .,:ГО код 1 кОЦ МИКПО ПарагГЗ Я "И Е Е.7) Е:Е гг 1 еовый вход" , 10 Г",Я )э Ег.1ОО С ООТ ВЕТГ. ГЕ)УЕкй: 1: ." г) ООПЕг) а1 Л ".-.1) и),))ГОО Л ЕО ),)а)1 Е гдрЕ;:г)1-;)Й, и ня вьгходе1 l г) ЕВЕ)И ОТЕН -ЦГ)д).П .8 селекторе-)У)типексоре 8 базы.-индекса ,фи 8) Ус гановка в еди:".)11(КОЕ ИЛИ НУЛЕВОЕ СОСТОЯНИЕ ТОИГГЕ- ра 13), 1,)ормируюцего ка выходе 141 ПОТЕКИЯ 1. г 1 РИЗ)1 ЯКЯ ПС ГИННОСИ, ПРО исхое)ит соотетств" кно при наличии ЕЦИКИККОГО СИГКЯГЛЯента И 13 б )-оигка:ч ня пине 14-: за -На выходе элементаает е ЕикиНь:,.л .Игкялгветствуюце.о буфери;яка истинности пс18 в ходе выполнения К)лК.,)ОПРОГ;)ЯММЬ: ПОЛНОЙ КОРРЕКЦИИ:"к к)к )лс.утст 1)ует еци ичный Г;отенс)в о,ца оперзГП 1)и коер ячэгКи базы ке ран., е УГПО НЯ пяход элемента )1 И 13)л 1;. Ей ОТЬКЦИЯ ТЯК КЯК КЯ ШИ1:о;ера якейки базы ка перВОМ)е л" ле) ье п)тснкгиаль), ;,."Ее )ент И 133 срабатыг)яед. По сигналу кя гпНе 1 ч 3 микроОПЗОГ 1;И) .1 НЦЕкс", если ка р"г)ром Г П ) Г) Н Е " ) В Г 1 ЕЩЕ КИ Р г К Х 0 ГГ Л Т С 5 К ОЯ НГ Я.ог)1 Ятя ев узле 1 Г яна иза г)ор:ете .:.Г). г:.Хоге:лемекта Л 128 сФорми- ООВЕЕН Е-.ИЬ РЩКЬГ 1 10 ГСКЦПЯЛ; Я); КЯК а пике 14 ) нулевого Оязряца Формат)ого КОДЯ Улевой ГОТЗНЦиал Я ка Н 1)., . )О ПЕРВОЕ 0 РЯЗРЯЦЯ фоРМЯТНОГО к )и - Е)Диничнььй потенцлал 1 и комеР якейкк индекса ке еавен нулю (ня Вы)Ег;Е ЭПЕЛ Нтя ЛД)1 13 - ЕДИНК;НЬй по гекциал, так как на шлках номера )ейки иьдекся )а гервом входе 18 бЛОКЕ; Ь 1,ОдифгКЕ 1;ПЛ) ЯП" Гса)п.рокэм) )ьДыфиг. 8) три отсутствиьед)лкьНого сигнала на л)е 162 ГеоеХог ". К КСРРЕ КциИ Кс ВЫХОДЕ ЭЛР д 169 11388 та НЕ 151 формируется сигнал разрешения занесения в регистр 147 адреса, Старшие разряды адреса следующей микрокоманды заносятся в регистр 147 адреса по шине 159 старших разрядов адреса, младшие разряды Формируются на выходах коммутаторов 148 и 149.Если на шине 166 присутствует сигнал микрооперации Функциональный 1 О переход" или "Переход по формату" на выход коммутатора 148 передается Ьорматньй код с второго входа 154, при отсутствии этих сигналов передаются разряды адресного поля текущей микрокоманцы с первого входа 153. В зависимости от кода в поле условие" (сигналы на шине 165 поля "Условие") на. выходе коммутатора 149 в младший разряд адреса следующей микрокоманды передается нулевой или единичный потенциал (потенциал "земля"-или потенциал с выхода элемента НЕ 152 - в соответствии с кодами "000" или "001" микрооперации 25 "Безусловный переход"), потенциал в младшем разряде выхода коммутатора 148 (по шине 160 младшего разряца адреса и по кодам микроопераций "Функциональный переход" или "Переход по формату" ) или потенциал с выхода триггера 150 занятости (по коду микрооперации "Условный переход").Во втором блоке 40 сравнения (фиг.10) первой схемой 167 сравнения 35 выполняется Формирование единичного сигнала на выходе в ситуации, когда адрес операнда для команды записи на четвертом уровне совмещения менЬ- ше или равен адресу команды первого 4 О уровня, на выходе второй схемы 168 сравнения формируется единичный сигнал, когда адрес записи превышает адрес или равен адресу команды третьего уровня совмещения. При попадании адреса записи в диапазон адреса команд первого - третьего уровней совмещения формируются единичные сигналы на выходах обеих схем 167 и 168 сравнения, срабатывает элемент И 181, затем элемент ИЛИ 180, в результате на выходе 189 вырабатывается единичный сигнал. Если при модификации адресов команд первого и третьего уровней совмещения 55 происходит переполнение адреса команд, первого уровня, то срабатывает элемент И 184, так как в данной си 05 70туации на шине 190 нулевого разряда адреса команды присутствует единичный потенциал (адрес команды третьего уровня близок к максимально возможному адресу) и на шине 191 нулевого разряда продвинутого ацреса - нулевой потенциал (адрес команды первого уровня превышает максимально возможный адрес и по условию непрерывности адресов близок к минимально возможному), т.е. на выходе элемента ЯЕ 185 присутствует единичный потенциал. При таком размещении адресов (на выходе элемента И 184 - единичный потенциал) попадание адреса записи в диапазон адре-. сов команд Фиксируется. элементами И 182 и 183, которые срабатывают по выходным сигналам соответственно второй и первой схем 168 и 167 сравнения, Общий сигнал попадания предполагаемого адреса записи в диапазон адресов команд вырабатывается на выходе элемента ИЛИ 180 по сигналу с выходов элементов И 181-183.На выходе первой схемы 167 сравнения вырабатывается единичный сигнал, если на одном из входов элемента И-НЕ 172 присутствует нулевой потенциал, т.е. когда на вход элемента НЕ 179 с выхода () первого элемента 169 сравнения поступает единичный сигнал (код в старшей тетраде адреса записи меньше кода в старшей тетраде продвинутого адреса команды), либо когда на оба входа элемента И-НЕ 174 поступают единичные сигналы с выхода (=) первого элемента 169 сравнения и с выхода ( ( ) второго элемента 170 сравнения (при равенстве кодов в старших тетрадах адресов код во второй тетраде адреса записи меньше кода во второй тетраде продвинутого адреса), либо когда на оба входа одного из элементов И-НЕ 173, 15 и 176 поступают единичные сигналы. Элементы И-НЕ 175 и 176 срабатывают, если адрес записи меньше продвинутого адреса в младших тетрадах. Элемент И-НЕ 173 срабатывает при полном равенстве адресов, когда вырабатываются единичные сигналы на выходах (=) всех элементов 169-171 сравнения й на выходах элементов И 177 и 178.В первом блоке 6 регистров (фиг.11)1 на входе 196 появляется сигнал управления занесением в регистры 1921138и 193 адресов считывания при выполнении микрооперации функциональный переход и при отсутствии признака перехода к коррекции в последней микрокоманде цепочки совмещения: Адреса регистровых операндов команды третьего уровня совмещения но входу 195 блока заносятся в регистры 192 и 193 адресов считывания, Адрес первого регистрового операнда в пер вом регистре 192 адреса считывания явля тся также адресом. по которому происходит загрузка результата обработки операндов, этот адрес дополнительно заносится в регистр 19 ч 15 адреса загрузки. Адреса считыва.ния и загрузки формируются на выходе 197 олока.В арифметическом блоке 3 (Фиг,2) входные операнды, поступающие по 2 О входам 209 и 210 блока, заносятся в соответствующие регистры 198 и 199 операндов. Занесение в регистры 198 и 199 операндов управляется сигналами, поступающими по шине 25 2 1 о управления занесением и формируемым,. по микрооперациям попя Ариф " 805 72метика. Арифметическая или логическая обработка операндов, занесенных в регистры 198 и 199 операндов, выполняется в арифметических узлах 201-204, каждый из которых обрабатывает соответствующие тетрады операндов и Формирует тетраду результата обработки. Виц обработки (сложение, вычитание и т.п,) определяется сигналами на шине 214 Функции, Формируемыми по микрооперациям поля "Арифметика . Распространение переноса при выполнении арифметических Функций обеспечивается узлом 20 б переносов. Результат обработки операндов в арифметических узлах 201-204 заносится в регистр 200 записи, в первый регистр 198 операнда или во второй регистр 199 операнда в зависимости от сигналов занесения на шине 216 управления занесением, Формируемых11 по микрооперациям поля "АрифметикаИспользование изобретения позволяет обеспечить повышение быстроцействия процессора на 132 на командах типа сложения-вычитания Форматов и на 3 Л на командах перехода,1 О Наиболее близким к предлагаемому техническим решением является процессор с совмещением операций, содержащий блок основной памяти, блок местной памяти, арифметический блок, первый блок сравнения, блок регистров адреса с вторым блоком сравнения, блок обработки команд, два блоблок адреса и регистр микрокоманды, локальную память операндов, арифметический блок, коммутатор, .буфер команд, блок регистров адреса с узлом сравнения, блок компараторов,5 При выполнении загрузки информации в локальную память операндов или записи в основную память и при необходимости одновременного выполнения считывания из той или иной другой памяти на вход арифметического блока поступает адрес ячейки, в которую производится загрузка, или запись сравнивается с адресом считываемой ячейки в блоке компараторов или в узле сравнения соответственно, При сравнении адресов вместо считывания адресованной ячейки на вход арифметического блока передается записываемая информация 1 и Л: 20За счет такой передачи обеспеч - вается некоторое повышение быстродействияпроцессора, однако оно является незначительным из-за низкой степени совмещения операций в 25 данных процессорах, т.е. низкой вероятности возникновения конфликтной ситуации по одновременному считыванию-записи одной и той же ячейки (коммутация записываемых данных вместо считываемых выполняется редко), Кроме тогонедостатком данных процессоров является функциональная ограниченность технического решения, поскольку оно эффективнс только при одновременности выполнения операций считывания и записи - более или менее значительное фактическое запаздывание операции записи относительно алгоритмически последующих40 одной или нескольких операций считывания (что характерно для быстродействующих процессоров с совмещением операций) приводит к необходимости использовать другие техни 45 ческие решения, например повторное выполнение операций в режиме, когда фактическая последовательность действий совпадает с алгоритмической (отмена совмещений).50 ка памяти микрокоманд, блок адреса микрокоманды, регистр адреса микрокоманды, два регистра микрокоманды, сумматор адреса и два коммутатора. В известном процессоре второй блок сравнения в блоке регистров адреса и первый блок сравнения используются для отслеживания конфликтных ситуаций, когда запись или загрузка информации происходит в ту же ячейку блоков основнои или местной памяти, из которой ранее осуществлено считывание в блок обработки команд или на вход арифметического блока соответственно. При обнаружении кояфликта выполнение в процессоре операций повторяется, начиная с команды, следующей за командой, в которой производилясь запись, вызвавшая конфликт 13 .Такое повторение выполняется визвестном процессоре в режиме отмены совмещений и требует длительных действий по выполнению блока обработки команд, Высокая степень совмещения операций Приводит в известном процессоре к тому, что вероятность возникновения конфликтной ситуации по считыванию-записи повышается, поэтому его быстродействие является низким из-за относительно частых и длительных операций по заполнению блока обработки команд. Цель изобретения - повышение быстродействия процессора,Указанная цель достигается тем,что процессор с совмещением операций содержащий блок основной памяти, регистр команд, счетчик команд,коммутатор команд, три буферных регистра, регистр форматного кода,первый блок регистров, блок местнойпамяти опег:андов арифметический блокдва олока сравнения, регистр адресабазы-индекса, блок местной памятибазы-индекса, селектор-мультиплексор базы-индекса, регистр базы-индек.".а, коммутатор индекса, коммутатор смещения, сумматор адреса, блокмодификации адреса микрокоманды, первый блок памяти микрокоманд, первыйрегистр миквокомянды, регистр адресамикрокоманды, второй блок памяти микрокоманд, второй регистр микрокоманды, регистры первого и второго адреса, счетчик адреса команды, счетчикпродвижения адреса и коммутатор адресапервый, второй, третий и чет 1138805СчштбаниепамятияПрием орегисщрИприеморегисарУ/Приеи орегислрЮПрием орегистр АУЛПриеморегистр бПрием орегистр/УПриеморегистр дПриеи 8регистр КцйроопераиирЗагрузка Заерузаголо кальке парма4 и 7 Елок Я 4 коипаратородтриггер ХТриггер И Прием орееистр У 890/38 Тираж 710 ИИПИ Государственного ко по делам изобретений и13035, Москва, Ж, Раушская каз 106ВН Подписноемитета СССРткрытийаб., д. 4/5 ФПТП "Патент", г.ужгород, ул.Проектная,4 Составитель И.Мацуев дактор В.Данко Техред А.Бабинец Корректор М.Демч25 вертый входы данных, первый и второй управляющие входы и выход которого соединены соответственно свыходами счетчика продвижения адреса,регистра первого адреса, регистра 5второго адреса, счетчика адреса,первыми выходами первого и второго регистров микрокоманды и адресным входом блока основной памяти, вход данных, первый и второй управляющие 10входы и выход которого подключены соответственно к выходу данных арифметического блока, первым выходампервого и второго регистров микрокоманды и входу данных регистра команд, синхровход и выход регистракоманд соединены соответственно спервым выходом первого регистра микрокоманды и входом данных коммутатора команд, управляющий вход и выход 20которого подключены соответственнок выходу счетчика команд и входуданных первого буферного регистра,выход первого буферного регистрасоединен с входами данных второгобуферного регистра и регистра форматного кода и первыми входамиданных регистра адреса базы-индекса, селектора-мультиплексора, базыиндекса и коммутатора смещения, входданных и выход третьего буферногорегистра подключены соответственнок выходу второго буферного регистраи входу данных первого блока регистров, синхровходы счетчика команд, 35регистра форматного кода, первого,второго и третьего буферных регистров соединены с первым выходом первого регистра микрокоманды, а выходпервого блока регистров подключен 40к первым входам данных первого блокасравнения, блока местной памяти базы-индекса и блока местной памятиоперандов, первый и второй входыданных и выход адреса записи ариф-. 45метического блока соединены соответ 1ственно с выходом блока оперативнойпамяти, выходом и вторым входомданных блока местной памяти операндов, а вход управления обращениемблока местной памяти операндов и входкода операции арифметического блокаподключены к первому выходу второгорегистра микрокоманды, выход регистра адреса базы-индекса соединен с 55вторым входом данных первого блокасравнения и адресным входом блокаместной памяти базы-индекса, вход управления обращением, второй вход данных и выход которого подключены соответственно к первому выходу второго регистра микрокоманды, выходу адреса записи арифметического блока и входу данных регистра базы-индекса, выход и синхровход.которого соединены соответственно с первым вхоцом данных коммутатора индекса и выходом селектора-мультиплексора базы-индекса, второй вход данных которого подключен к выходу регистра форматного кода, вторые входы данных коммутаторов индекса и смещения подключены к выходам регистров первого и второго адреса и выхо-. ду счетчика адреса команды, а выходы коммутаторов индекса и смещения соединены соответственно с первым и вторым входами данных сумматора адреса, выход которого подключен к входам данных регистров первого и, второго адреса и установочному входу счетчика адреса команды, третий вход данных коммутатора индекса соединен с выходом адреса записи арифметического блока, а управляющий вход коммутатора смещения подключен к первому выходу первого регистра микрокоманды, первый адресный вход, первый, второй и третий управляющие входы и выход блока модификации адреса соединены соответственно с выходом 1регистра форматного кода, первым и вторым выходами первого регистра микрокоманды, первым выходом второго регистра микрокоманды и адресным входом первого блока памяти микрокоманд, выход которого подключен к входу данных первого регистра микрокоманды, первый и второй входы данных и выход регистра адреса микрокоманды соединены соответственно с выходом третьего буферного регистра, вторым выходом второго регистра микрокоманды и адресным входом второго блока памяти микрокоманд, выход которого подключен к входу данных второго регистра микрокоманды, управляющий вход, первый и второй входы данных второго блока сравнения соединены с выходами соответственно счетчика продвижения адреса, регистра первого адреса и счетчика адреса команды, второй вход данных регистра первого адреса подключен к выходу регистра второго адреса, установочный вход счетчика продвиженияадреса соединен с выходом счетчикаадреса команды, а синхравходысчетчиков адреса командсы ц продви -1138805 Цтиплексара базы-индекса, а синхроВход, второй, третий, четвертыйи пятый входы данных мультиплексно жения адреса и регистров первогои второго адреса подключены к первому Выходу первого регистра микрокамацды, содсржит второй 1 блок регистров, блок триггеров, 11 ультиплс ный регистр кода коррекции, кссмут,тор ад - реса коррекции, регистр смещения и два шифратора адреса, при этом первый и второй входы и В,1 ход ерво 1 а шифратора адреса ссединець соответственно с первым выходам первогорегистра микрокоманды Выходам муль -1 с типлекснаго регистра кадя коррекции и управляю 1 цим входом ксммутатсоаиндекса, упрявляющии Вход и вход данных коммутатора адреса коррекции 1 о,тключены соответственна к первому20 Выходу первого регистра микрако -мацды и ВыхаДУ мэльтиплекснога легистра кода коррекции, :ергый выходкоммутатора адреса коррекции сседи - нен с синхровходами первого блока регистров и регистра адреса микрокаманды а второй выход коммутаторааДРЕСС КОРРЕКЦИИ ПаДКЛЮ 1 ЕЦ К ВтаРЗМУя;рясном входу блока модифика -ции адрс са первому входу данных муль 1 Дтиплексцаго регистра кода коррекциии первому синхровхаду регистра сме -щения, второй си;1 хровход, вход в ,ацивыхс котсого саеди 1 ець 1 Бет ство нцо с пе ОБ 1 1 Выходам .СрВогс зсгистэа микрс 1(сма 1 цы вь 1 хадам ссер З- Ваго буфер:1 ого регистра и тресьим Вхо -дом данных коммутатора смещения первый и второй входы второго шифратораадреса подключены соответственно квыходу мультиплексного регистра кодакоррекции и первому выходу первогор.гистра мик 1 эсксэман,.;ь Быхс:д Втара 1" Оши 11 рятосэа адреса соединен с третьим НХС,13 "1 Дас 11 ЫХ СС. ЕК 1 Сес МУЛЬТИЛЛЕКсоря базы-индекса первым входамбл ка тсиггерсв,. вторым входом данных 1 эегистра а;реса базы-индекса первым входом второго блока регистров, второй вход,. псрвый и второй цыходы которого подключены соответственно к выходу регистра адреса баэы-индекса, управляющему входу первого блока сравнения и синхровходу ре - истра адреса базы-индекса, вгорай 55 вход и первый выход блсцса триггеровсоединены соотэетственно с выходоми управляющим входом селектора-мульга регистра кода коррекции подключены соответственна к первому выходувторого регистра микрокоманды, выхо - ду селектора-мультиплексора базы- индекса, второму выходу блока триггеров и выходя:1 первого и второго блоков сраз:ения.Кроме того коммутатор адреса коррекции содержит два элемента НЕ, четыре элемента И и три э:1 емента ИЛИ, причем вход первого элемента НЕ соединец с входом данных коммутатора, я выход этого элемента 11 Г подключен к первым входам первого и второго э 11 ементов И, вторь 1 е входы которых соединены с пхадсм данньх коммута,оря, первые входы всех элементов ИЛИподк.цючены к выходу второго элемен -та И, вторые входы первого и третьего элементов ИЛИ соединены сВходом данных коммутатора, а второйвход второго элемента ИЛИ и третийвход третьс го элемента ИЛИ подключень 1 Вьсхаду первого элемента И,выходы перв эга и второго элементов1 Л 11 и третьего элемента И соединеныс первым ьь 1 хсдом коиутятора, выходтретьего элемента ИЛИ подключен клерг;ому в,.аду третьего элемента Ии входу Второго элемента НЕ, выходче-.вертаго элемента И соединен с вторым выходом коммутатора, выход второгоэлемента НЕ подключен к первому входучетвертого элемента И,а. Вторые входытретьего и четвертого элементов И соединены с управляющим входом блока,При этом первый шифратор адресасодержит два элемента ИЛИ, элемент НЕи элемент И, первый и второй входыкатарога соединены соответственно спервым Входом шифратора и выходомэлемента НЕ, входы и выход первогоэлемента ИЛИ подключены соответственно к второму входу э 1 ис 1 эратора ивходу элемента НЕ,первый и второй входыи выход второго элемента ИЛИ соединенысоответственно с выходом элемента И,.вторым входом и выходом блока,Причем второй шифратор адреса содержит два сумматора по модулю два, дешифратор, элемент ИЛ 1 И и элемент НЕ, вход и выход которого соединены соответственно с ЗыхОдом эле мента ИЛИ и выходом дешифратара, первые и вторые входы обоих суммято11388 команд. 55Процессор с совмещением операцийсодержит (фиг.1) блок 1 основной памяти, блок 2 обработки команд, арифров по модулю два подключены соответственно к первому и второму входам шифратора, выходы обоих сумматоров по модулю два соединены с входом дешифратора и выходом шифратора, первый и второй входы элемента ИЛИ подключены соответственно к второму входу шифратора и первому выходу дешифратора, другие выходыкоторого соединены с выходом шифрато ра.Введение в процессор дополнительных блоков и узлов позволяет выде -лить уровень совмещения, на которомобнаружена конфликтная ситуация 15по загрузке одной командной информации в ячейку базы или индекса,предварительно использованную для. формирования адреса операнда последующей команды (уровень искажения),и после выделения выполнить, безотмены совмещения, кратковременнуюоперацию коррекции искажения, характер и длительность которой определяются только самим уровнем 25искажения, В частности, коррекция может состоять из одного или нескольких тактов повторного вычисления адреса операнда, либо может выполняться автоматически, вообще без потерь времени.Введение мультиплексного регистра кода коррекции позволяетвыделить уровень искажения и сформировать совокупность управляющих сиг 35налов коррекции, причем формированиеуправляющих сигналов выполняется заранее до фактического искажения(записи, загруЗки),Введение коммутатора адреса коррекции позволяет для каждой конкретной совокупности управляющих сигналов коррекции сформировать начальный адрес микрокрограммы, выполняющей соответствующую операцию коррекции, в результате чего выполняетсямикропрограмма с минимальным длявыделенного уровня количеством микроВведение второго блока регистров 50 и блока триггеров позволяет сохранить адреса базовых и индексных ячеек, фактически использованных для формирования адресов операндов на разных уровнях совмещения, причем последовательность размещения сохраняемых адресов во втором блоке регистров позволяет выполнить операцию корреко 1 Оции единым образом, независимо отуровня искажения,Введение первого шифратора адресапозволяет осуществить автоматическуюкоррекцию базовой или индексной компонент вычисляемого адреса операнда без дополнительных потерь временидля такого уровня искажения, когдазагрузка в соответствующую базовуюили индексную ячейку выполняется одновременно с использованием содержимого этой ячейки для формированияадреса. Автоматическая коррекция выполняется путем подключения загружаемых данных вместо соответствующейкомпоненты адреса,Введение второго шифратора адреса позволяет ускорить выполнениемикропрограммы коррекции путем заблаговременного Формирования адреса ячейки, которая будет использована при коррекции.Введение регистра смещения позволяет сохранить компоненту смещенияадреса операнда для обеспечениявозможности выполнения микропрограммы коррекции с повторным вычислением адреса операнда. На фиг.1 представлена блок-схема процессора с совмещением операций; на Фиг,2 - схема мультиплексного регистра кода коррекции; на Фиг.3 схема коммутатора адреса коррекции; на фиг.4 - схема второго блока регистров; на фиг.5 - схема блока триггеров; на фиг,б - схема первого шифратора адреса; на фиг.7 - схема второго шифратора адреса; на фиг.в - схема селектора-мультиплексора базы- индекса; на фиг.9 - схема блока модификации адреса микрокоманды; на фиг, 10 - схема второго блока сравнения; на фиг.11 - схема первого блока регистров; на фиг.12 схема арифметического блока; на фиг. 13 - временная диаграмма работы процессора на примере выполнения команд загрузки и записи; на фиг.14 алгоритм работы микропрограммы выборки на примере выполнения команд загрузки и записи 1 на фиг.15 алгоритм работы микропрограммы обработки операндов.11 1138805 12метический блок 3, блок 4 местной которой выполняетсяпамяти операндов, блок 5 регистров подается на адресныйадреса, первый блок 6 регистров, основной памяти.блок 7 местной памяти базы-индекса, Выход блока 1 оснсумматор 8 адреса, коммутатор 9 ин соединен с первым вдекса, коммутатор 10 смещения, ре- ческого блока 3 и вгистр 11 бЙзы-индекса, первый блок 12 ки команд с информацпамяти микрокоманд, первый регистр 13 данных регистра 28 кмикрокоманды, блок 14 модификации Блок 2 обработкиадреса микрокоманды, второй блок 15 10 чен для приема и пропамяти микрокоманд, регистр 16 адреса выполняемых процессомикрокоманды,второй регистр 17 микроко- совмещения и состоитманды, селектор-мультиплексор 18 ба- команд, коммутаторазы-индекса, регистр 19 адреса базы- буферных регистров 3индекса, мультиплексный регистр 20команд и регистра 34кода коррекции, коммутатор 21 адреса Регистр 28 команд пркоррекции, второй блок 22 регистров, приема и хранения воблок 23 триггеров, первый блок 24 информационного словсравнения, первый шифратор 25 адре- команды пеового уровса, второй шифратор 26 адреса, 20 Выходы регистра 28 крегистр 27 смещения, регистр 28 ко- с соответствующими иманд, коммутатор 29 команд, три бу- входами данных коммуФерных регистра 30-32, счетчик 33 манд. Коммутатор 29команд, регистр 34 форматного кода, начен для выбора изсчетчики 35 адреса команды, счет информационного словчик 36 продвижения адреса, регист - байт выполняемой комры 37 и 38 первого и второго адре- ся на втором уровнеса, коммутатор 39 адреса, второй мой на второй уровенблок 40 сравнения. ход коммутатора 29 кБлок основной памяти 1 предназ- входом данных первогначен для хранения программы процес- регистра 30. Первыйсора (команд и операндов для этих ные регистры 30 и 31команд) и выполняет операции считы - два байта каждый превания команд и операндов или записи хранения команд вторрезультатов выпогнения команд, при- совмещения. На выходчем запись и считывание производятся . ного регистра 30 пос35восьмибайтовыми информационными жения команды на втословами, Время считывания или запи- формируются разрядыси (цикла) блока 1 основной памяти (старшая тетрада код 30 40 мени трех тактов процессора 45 50 55 является несущественным, для определенности положим его равным вреОперация записи в блок 1 основной памяти задается сигналом микрооперации "Запись" на управляющем входе блока 1 основной памяти, операция считывания задается по сигналу любой микрооперации поля "Память" на втором управляющем входе блока 1 основной памяти 1. При выполнении записи информация, подлежащая записи, подается на вход данных блока 1 основной памяти. При выполнении операции считывания считываемая информация Формируется на выходе блока 1 основной памяти. Адрес ячейки блока 1 основной памяти, в которую производится запись или из считывание,вход блока 1овцой памятиходом арифметиблоке 2 обработ -ионным входомоманд.команд предназнадвижения команд,ром по уровнямиз регистра 2829 команд,0-32, счетчика 33форматного кода.едназначен длясьмибайтовогоа, содержащегоня совмещения.оманд соединенынформационнымитатора 29 кокоманд предназвосьмибайтногоа очередных двуханды, находящейили продвигаеь совмещения. Выоманд соединен со буферногои второй буфеРразрядностью подназначены дляого уровняе первого буферле первого поодвирой уровеньформатного кодаа операции)и разряды адреса индекса после второго или третьего продвижения на второй уровень - разряды смещения иадреса базы,1 Выход первого буферного регистра 30 соединен с входами данных второго буферного регистра 31 и регистра 34 форматного кода и первыми входами данных коммутатора 10 смещения, селектора-мультиплексора 18 базы-индекса, регистра 19 адреса базы-индекса и регистра 27 смещения. Выход второго буферного регистра 31 соединен с входом данных третьего буферного регистра 32, Третий буФерный регистр 32 предназначен для хранения двух старших байт команды третьего уровня совмещения, на его выходе формируются разрядыкода операции и адресов регистровых операндов для этой команды. Выход третьего буферного регистра 32 соединен с первым входом данных первого блока б регистров и с первым входом регистра 1 б адреса микрокоманды. Двух- разрядный счетчик 33 команд предназначен для указания места расположения в восьмибайтовом слове очередных двух байт команды, подлежащих 10 продвижению на второй уровень-совмещения. Счетчик 33 команды загружаетсяразрядами адреса команды и модифицируется на плюс единицу при каждом продвижении очередных двух байт. 15 Выход счетчика 33 команд соединен. с управляющим входом коммутатора 29 команд. Регистр 34 форматного кода предназначен для хранения тетрады форматного кода команды второго уров ня совмещения и загружается после первого продвижения команды на второй уровень. Выход регистра 34 форматного кода соединен с вторым входом данных селектора-мультиплек сора 18 базы индекса и первым адресным входом блока 14 модификации адреса микрокоманд,Арифметический блок 3 предназначен для приема операндов, поданных на первый и второй входы, и их арифметической и логической обработки в соответствии с кодом функции на входе кода операции арифметического блока 3, Результаты обработки, под лежащие записи в блок .1 основной памяти, или загрузка в блок 4 местной памяти операндов формируются, соответственно, на выходе данных и на выходе адреса записи арифметичес-, 40 кого блока 3.Время такта арифметического блока 3 соответствует времени такта процессора, причем операнды принимаются на входы в начале текущего такта, 45 результаты обработки вырабатываются на выходе адреса записи в течение следующего такта, а на выходе данных при записи в блок 1 основной памяти - в течение, как минимум, трех 50 тактов цикла записи. Разрядность арифметического блока 3 не является существенной, для определенности положим, что за один такт в арифметическом блоке 3 может быть обра ботано четырехбайтовое слово, а информация на первом входе данных и выходе данных (связь с блоком основной Блок 4 местной памяти операндов предназначен для хранения операндов команд процессора и выполняет операции считывания или загрузки информации в зависимости от отсутствия или наличия сигнала загрузки на входе управления обращением. При отсутствии сигнала загрузки на входе управ
СмотретьЗаявка
3500748, 15.10.1982
ПРЕДПРИЯТИЕ ПЯ М-5339
ЕЛИСЕЕВ АЛЕКСАНДР АЛЕКСАНДРОВИЧ, МАЦУЕВ ВИТАЛИЙ ИВАНОВИЧ, ПЕТУШКОВ АЛЕКСАНДР НИКОЛАЕВИЧ, РОГОВСКАЯ ТАТЬЯНА ИВАНОВНА
МПК / Метки
МПК: G06F 15/00
Метки: операций, процессор, совмещением
Опубликовано: 07.02.1985
Код ссылки
<a href="https://patents.su/47-1138805-processor-s-sovmeshheniem-operacijj.html" target="_blank" rel="follow" title="База патентов СССР">Процессор с совмещением операций</a>
Предыдущий патент: Устройство для отладки программ
Следующий патент: Устройство для моделирования сетей
Случайный патент: Устройство для определения расхода газа