Устройство управления конвейерным вычислительным устройством
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике и предназначено для использования в высокопроизводительных цифровых системах обработки информации . Цель изобретения - повышение быстродействия . Указанная цель достигается благодаря сочетанию в его реализации принципа насыщения конвейера командами нескольких независимых программ с принципом конвейера без блокировки между командами независимых программ за счет введения индивидуального управления выдачей на обработку очередной команды каждой из программ. Для этого предлагаемое изобретение содержит коммутатор кодов условий, буферную память кодов условий, коммутатор условий, формирователь адреса, регистр адреса, память команд, регистр команд, дешифратор типа команды, регистр кода операций, регистр адреса первого операнда, регистр номера программы, регистр адреса второго операнда, регистр адреса результата, буферную память операндов , четыре буферных регистра, коммутатор операндов, блок пересыл,ок, блок распределения результатов. 3 з. п. ф-лы, 5 ил. ч сл с
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (м)5 G 06 F 9/00
ГОСУДАРСТВ EНН6! Й КОМИТЕТ
ПО ИЗОБРЕТЕНИЯМ И ОТКPЫТИЯМ
ПРИ ГКНТ СССР
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
1 (21) 4903704/24 (22) 21,01.91 (46) 30.07.92. Бюл. N. 28 (75) И, А. Степановская, Л. В. Караванова и
Э. Г. Прохорова (56) James Е.. Smith, Shlomoweiss, Nicholas
Y, Pang, А Simulation Study of Decoupled
Architecture Computers. - — lEETransactions
on Сотрмегз. ч. 6 — 35, No 8, 1986, Авторское свидетельство СССР
N 896623, кл. G 06 F 9/30, 1980. (54) УСТРОЙСТВО УПРАВЛЕНИЯ КОНВЕЙЕРНЫМ ВЫЧИСЛИТЕЛЬНЫМ УСТРОЙСТВ0М (57) Изобретение относится к вычислительной технике и предназначено для использования в высокопроизводительных цифровых системах обработки информации; Цель изобретения — повышение быстродействия, Указанная цель достигается
Изобретение относится к вычислительной технике и предназначено для использования в высокопроизводительных цифровых системах обработки информации.
Известно устройство управления скалярными вычислениями, в котором поток команд разделяется на два потока; в первом осуществляются операции обменов между регистровой и общей памятью и поддержка адресных операций — индексирование, операции с косвенной адресацией, второй поток предназначен для исполнительных операций и работает только с регистровыми данными, Целью разделения является со-. вмещение этих операций и уменьшение времени выполнения программы.
„„. Ж„„1751757А1 благодаря сочетанию в его реализации .принципа насыщения конвейера командами нескольких независимых программ с принципом конвейера без блокировки между командами независимых программ эа счет введения индивидуального управления выдачей на обработку очередной команды каждой из программ. Для этого предлагаемое изобретение содержит коммутатор кодов условий, буферную память кодов условий, коммутатор условий, формирователь адреса, регистр адреса, память команд, регистр команд, дешифратор типа команды, регистр кода операций, регистр адреса первого операнда; регистр номера программы, регистр адреса второго операнда, регистр адреса результата, буферную память операндов, четыре буферных регистра, коммутатор операндов, блок пересылок, блок распределения результатов. 3 э. и, ф-лы, 5 ил.
Однако для обеспечения такого разде- (Я ления необходим механизм проверки информационной независимости между командами двух потоков для блокировки эа- у висимых команд, возможно, на нескольких этапах конвейера, что приводит к усложнению реализации.
Наиболее близким к заявленному устройству является устройство управления конвейерным вычислительным устройством, содержащее память команд, первый и второй регистры кода операций, коммутатор условий, регистр адреса первого операнда, два буферных регистра, дешифратор типа команды и регистр команд.
Это устройство является конвейерным, производит одновременное решение N за175 i 757
40 дач, т.е. выполняет N программ, и содер>кит
N этапов обработки, причем A из них (и=-И-2) составляет этапы обработки в конвейерном вычислительном устройстве, К недостаткам данного устройства следует отнести ограниченность обрабатываемой. программной информации (запись результата команды в память операндов производится только по специальной комаиде записи: в двуместных арифметических и логических операциях один из операндов адресуется только как результат предыдущей команды, поэтому для двуместной команды, не использующей результат. предыдущей команды, приходится второй операнд получать как результат паразитной команды пересылки. передаваемой через конвейерное вычислительное устройство беэ преобразования на и тактов}. Кроме того, это устройство относится к классу синхронных устройств с блокировками, в которых i-я команда j-й программы олокирует не только (i+1) «о команду j-й программы, но и i-ю команду (j+1)-й программы, поэтому время выполнения любой команды любой программы выравнивается до и тактов, B результате программы с разными по длительности команда ли (арифметические операции с фиксированной запятой и с плавающей запятой, логические операции, операции пересылок и т.п,) выполняются с задер>кками для "коротких" команд, что снижает общую скорость выполнения программ тем сильнее, чем больше "коротких" команд содержит программа.
Недостатком данного устройства является также то, что заявки к памяти операндов обязательно должны быть удовлетворены за один такт. Это означает, что при реализации устройства лиоо тип памяти операндов ограничивается только регистровой памятью и конвейерное вычислительное устройство работает без остановок при наличии всех операндов всех программ в памяти операндов, либо для работы с произвольной памятью следует принять за рабочий такт максимальное время удовлетворения заявки к памяти. В последнем случае в соответствующее число раз увеличивается время выполнения программы, а в первом случае работе конвейерного вычислительного устройства должен предшествовать ре>ким загрузки регистровой памяти операндов.
Цель изобретения — повышение быстродействия.
Сущность изобретения состоит в следующем, Устройство управления просктируется как конвейерное устройство с блокировка20
25 ми между командами одной программы и без блокировок между командами разных программ, а именно i-я команда j-й программы бокирует (i+1)-ю команду j-й программы, но не блокирует команды других программ, Благодаря отказу в заявленном (конвейерном) устройстве управления от принципа блокировки между командами разных программ, принятого в прототипе и реализованного в виде синхронного конвейерного устройства с n+2 этапами обработки (в котором возникают паразитные передачи информации через конвейерное вычислительное устройство без ее изменения), в предлагаемом устройстве достигается повышение быстродействия, причем результирующая скорость выполнения команд любой программы не зависи1 от того, использует или нет текущая команда результат предыдущей команды, Принцип отказа от блокировки между командами разных программ в устройстве управления конвейерными вычислительными устройством предлагаемтся поддержать применением конвейерного вычислительного устройства с раздельными трактами обрабо.гки для разновременных арифметических и логических операций, результаты которых вырабатываются на разных звеньях конвейера.
Поставленная цель достигается эа счет того, что в устройство управления конвейерным вычислительным устройством, содержащее коммутатор условий, регистр адреса память команд, регистр команд, буферную память операндов, регистр кода операций, регистр адреса первого операнда, два буферных регистра и дешифратор типа команды, причем вход начальной установки устройства соединен с установочными входами регистра адреса, выход которого соединен с адресным входом памяти команд, выход которой соединен с информационным входом регистра команд, вход записи которого соединен с. входом записи регистра адреса и является тактовым входом устройства, выход поля кода операции регистра команд сОединен с входом дешифратора типа команды и информационным входом регистра кода операции, синхровход и вход записи которого соединены соответственно с тактовым входом устройства и первым выходом дешифратора типа команды, выход поля номера анализируемого условия регистра команд соединен с управляющим входом коммутатора условий, выход регистра адреса первого операнда соединен с первым адресным входом буферной памяти операнда, первый выход которого соединен с информационным
1751757
55 входом первого буферного регистра, первый информационный вход второго буферного регистра соединен с выходом регистра кода операции, синхровходы первого и второго буферных регистров и буферной памяти операндов соединены с тактовым входом устройства, введены коммутатор кодов условий, буферная память кодов условий, формирователь адреса, регистр номера программы, регистр адреса второго операнда, регистр адреса результата, третий и четвертый буферные регистры, коммутатор операндов, блок пересылок и блок распределения результатов, группа входов котороm соединена с группой входов устройства для подключения к группе выходов кода результата конвейерного вычислительного устройства, тактовый вход устройства соединен с синхровходом блока распределения результатов, первая и вторая группы управляющих выходов которого соединены соответственно с группой управляющих входов блока пересылок и группой управляощих входов коммутатора кодов условий, первая и вторая группы информационных выходов блока распределения результатов соединены соответственно с группой информационных входов блока пересылок и группой информационных входов коммутатора кодов условий, первый выход первой группы выходов коммутатора операндов является выходом устройства для подключения к входам операндов, кода операций конвейерного вычислительного устройства, второй, третий и четвертый выходы первой группы выходов коммутатора соединены соответственно с первым и вторым информационными входами и управляющим входом блока распределения результатов, первый и второй выходы второй группы выходов коммутатора операндов соединены соответственно с первыми управляющим и информационным входами блока пересылок, вторые управляющий и информационный входы которого явля отся входами устройства для подключения к выходам памяти операндов, выход устройства для подключения к входам памяти операндов является первым входом блока пересылок. второй и третий, четвертый и пятый выходы которого соединены соответственно с информационным входом и .входом управления записью буферной памяти операндов, первым и вторым управляющими входами формирователя адреса, тактовый вход устройства соединен с синхровходами блока пересылок, регистра номера программы, регистра адреса второго операнда, регистра адреса результата, формирователя адреса, буферной . памяти кодов условий и I0
40 синхровходами 1ретьего .и четвертого буферных регистров, выходы которых соединень; с первым и вторым информационными входами коммутатора операндов, третий и четвертый информационные входы которого соединены с выходоля первого буферного регистра и первым выходом второго буферНОГО реГистра, ВТороА выход котороГО соединен с управляющим входом коммутатора операндов, первый выход дешифратора типа команды соединены с входами записи регистров адреса первого операнда, номера программы, адреса второго операнда, адреса результата, втОрОй и тротий выход,цешифратор,"-. типа команды соединены соответственно с третьим и четвертым управляющими входами формирователя адреса выход которого соединеí о информационным входом регистра адреса, выход коммутатора кодов условий соединен с информационным входом буферной памяти кодов условий, выхо,ц которой соединен с информационным входом коммутатора условий, выход которого соединен с пятым управляющим входом формирователя адреса, шестой управляющий вход и информационный вход которого соединены с выходами признака конца команды и поля адреса перехода регистра команд соответственно, выход поля номера программы которого соединен с адресными входом буферной памяти кодов условий, информационным входом регистра номера программы и седьмым управляющим входом формирователя адреса, выходы полей адреса первого операнда, адреса второго операнда. адреса результата регистра команд соединены с информационными входами соответственно регистров адреса первого операнда, адреса второго операнда и результата, второй адресный вход буферной памятью операндов соединен с выходом регистра адреса второго операнда, выход регистра номера программы соединен с входом управления чтением буферной памяти операндов и вторым информационным входом второго бу-. ферного регистра, второй выход буферной памяти операндов соединен с информационным входом третьего буферного регистра, информационный вход четвертого буферного регистра соединен с выходом регистра адреса результата, Кроме того, блок пересылок содержит два коммутатора, группу элементов ИЛИ, группу регистров, группу блоков элементов
И, два регистра, блок элементов И, дешифратор, счетчик, элемент И, генератор импульсов, триггер, два элемента ИЛИ, шифратор, блок элементов задержки, блок
"пементов WIN. пичем группа управляю1751757
40
50 щих входов, первый и второй управляющие входы блока соединены с группой управляющих входов первого коммутатора, группа выходов которого соединена с входами соответствующих элементов ИЛИ группы, с информационными входами соответствующих элементов ИЛИ группы и с информационными входами соответствующих регистров группы, выход I-го (i=-1, N, где N— максимальное число одновременно выполняемых в конвейерном вычислительном устройстве программ) элемента ИЛИ группы соединен с входом записи I-го регистра группы, входом установки i-го разряда 1-го регистра группы и входом установки i-ro разряда первого регистра, выход которого соединен с первым входом блока элементов
И; BTopoA Bxop KOTopofo coo+MHGH c Bblxoдом дешифратора, вход которого соединен с выходо л счетчика, счетный вход которого соединен с выходом элемента И, первый и второй входы которого соединены соответ- ственно с выходом генератора импульсов и выходом триггера, единичный вход которого соединен с входом записи второго регистра, синхровходами регистров группы и синхровходом блока пересылок, первый и второй информационные входы и группа информационных входов которого соединены с группой информационных входов первого коммутатора, выход i-ro элемента И блока элементов И соединен с первым входом I-ro блока элемента И группы, с I-м входом первого элемента ИЛИ, i-м входом шифратора и входо л i-ro элемента задержки блока элементов задержки, выход которого соединен с входом сброса соответствующего разряда первого регистра, выход первого элемента
ИЛИ соединен с входом сброса триггера, выход i-ro; соединен с вторым входом соответствующего блока элементов И группы, выход которого соединен с i-м входом блока элементов ИЛИ, (И+1)-й вход которого соединен с выходом шифратора, выход блока элементов ИЛИ соединен с информационным входо л второго регистра, первая группа выходов которого соединен с группой входов второго элемента ИЛИ и группой информационных входов второго коммутатора, информационный вход и группа управляющих входов которого соединены соответственно с выходом второго элемента ИЛИ и второй группой выходов второго регистра, выходы второго коммутатора образу от выходы блока с первого по пятый, Кроме того, блок распределения результатов содержит три группы регистров, группу деи ифраторов и группу демультиплексоров, причем синхровход блока распределения результатов соединен с входами записи регистров групп с первой по третью, управляющий вход блока распределения результатов соединен с информационным входом первого регистра первой группы, первый и второй информационные входы блока распределения результатов соединены с первым и вторым информационными входами первого регистра второй группы, выход j-го ()= (, К вЂ” 7, К— число тактов, за которое выполняется самая длинная команда) регистра первой группы соединен с информационным входом (j+1)ro регистра первой группы и входом J-го дешифратора группы, выход которого соединен с управляющим входом j-го демультиплексора группы, информационный вход которого соединен с выходом j-ro регистра второй группы, первый и второй выходы демультиплексора соединены соответственно с информационным входом (J+1)-го регистра второй группы и первым информационным входом j-ro регистра третьей группы, выход (К-1)-го регистра первой группы соединен с входом (K — 1)-го дешифратора группы, выход которого соединен с управляющим входом (К вЂ” 1)-ro демультиплексора группы, информационный вход которого соединен с выходом (К-1)-ro регистра второй группы, первый и второй выходы (К вЂ” 1)-го демультиплексора соединены. соответственно с информационным входом К-ro регистра второй группы и с первым информационным входом (К вЂ” 1)-го регистра третьей группы, выход К-го регистра второй группы .соединен с первым информационным входом К-ro регистра третьей группы, группа входов блока распределения результатов соединены с вторыми информационными входами регистров третьей группы, выходы регистров третьей группы образуют первую и вторую группы выходов блока распределения результатов, Кроме того, формирователь адреса содержит два дешифратора, две группы элементов И, три группы элементов ИЛИ, группу счетчиков, группу блоков элементов
И, группу триггеров, блок элементов И, блок элементов ИЛИ, элемент ИЛИ, формирователь импульсов, причем первый и второй управляющие входы формирователя адреса соединены с информационным и стробирующим входами первого дешифратора, I-1 выход которого (i=1, N, N — число выполняемых одновременно программ) соединен с первым входом i-го элемента ИЛИ первой группы, выход которого соединен с единичHhlM входом соответствующего триггера группы, выход которого соединен с первым входом соответствующего блока элементов
1751757
И группы, выход которого соединен с вхо- дешифратор8типа команды, регистр9 кода дом соответствующего элемента ИЛИ:вто- операций, регистр 10 адреса первого оперой группы и соответствующим входом ранда, регистр 11 номера программы, реблока элементов ИЛИ, выход которого сое- гистр 12 адреса второго операнда, регистр динен с входом элемента ИЛИ и является 5 13 адреса результата, буферную память 14 выходом формирователя адреса, третий и операндов,""четыре буферных регистра 15четвертый управляющие входы которого со- 18; коммутатор 19 операндов, блок 20 переединены с первыми. входами элементов сылок, блок 21 распределения результатов, ИЛИ третьей группы и элементов И первой вход 22.1 синхронизации, вход 22.2 начальгруппы, выходы которых соединены. с вто- 10 . ной установки, рыми входамй соответствующих элементов При этом регистр 7 команд имеет выход
ИЛИ третьей групйы, выходы которйх сое- 23 прйзнака конца-команды перехода, выдинены с входами записи/счета соответст- ход 24 поля адреса-йерехода. выход 25 поля вующих счетчиков труппы, выходы которых: кода операции, выход 2фполя номера просоединены с вторыми входами соответСтву-. 15 граммы, выход 27 поля адреса первого опе;ющих блоков. элементов И группы, пятый ранда, вйход 28 поля адреса второго управля ощий вход формирователя адреса операнда, выход 29 поля адреса результата соединен с вторыми входами элементов И и выход 30 поля номера аналйзируемого первой группы, третьи входы которых сое-::. условия. динены с соответствующими выходами вто- 20 Кроме того. устройство содерйит выход рого дешифратора и йервыми вхбдами 31 для подключения к" входам операндов, блока элементов И, вторые входы которйх" . кода операции конвейерного вычислительсоединены с шестым управляющим входом",. ного устройства, группу входов 32.1 — 32.К формирователя адреса, седьмой управляю- для подключения"K-òðóïnå выходов кодов . щий вход которого соединен с входом вто- 25 результатов конвейерного вычислительного рого дешифратора, информационный вход устройства, выход 33 и вход 34 для подклюформирователя адреса соединен с инфор.:.. -чения к памяти операйдов. мационными входами счетчиков групйы, вы-:::. . Дешифратор 8 имеет выход 35 (призна. ходы блока элементов. И соединены с . ка команды -безусловного перехода), выход вторыми входами соответствующих злемен- 30 36 (признака команды условного перехода) .тов ИЛИ первой группы, синхровходформи-.. и выход 37 (признака иссполнительной ко- рователя адреса соединен с входом запуска" манды или команды пересылок). формирователя импульсов и первыми вхо-, - . - Блок 20 пересылок имеет группу управ дами элементов И второй группы; выходы. ляющих входов 38.1 — 38.К+2 (где К вЂ” максикоторых соединены с входами сброСа соот-. 35 мальное количество поступающих от ветствующих триггеров группы, выход эле- конвейерного вычислительнбго устройства мента ИЛИ соединен с входом останова " кодов результатов), группу информационформирователя импульсов, группа выходов . ных входов39.1 — 39,К+2, группы информацикоторого соединена с третьими входами со - - онных выходов 40.1, 40.2, 41,1, 41.2. ответствующихблоков.элементов Игруппы, 40 Блок 21 распределения результатов выходы элементов ИЛИ второй группы сое- имеет управляющий вход 42, первый 43 и динены с вторыми входами соответствую- второй 44.информационные входы. Блок 20 щих элементов И второй группы, . пересылок (фиг, 2) содержит коммутатор 45, синхровход формирователя адреса .соеди-: . группу из элементов ИЛИ 46.1, 46.N (где N— нен с синхровходамисчетчиков группы;вы- 45 максимальйое количествО одновременно ход i ro элемента ИЛИ первой группы . выполняемых программ s конвейерном вы-соединен с входом разрешения счета 1-го . числительномустройстве), группу из N регисчетчика группы. стров 47.1 — 47.N, группу из N блоков
Нафиг.1показанафункциональнаясхе- - элементов И 48.1-48М, регистр 49, блок ма устройства управления конвейерным вы- 50 элементов И 50, дешифратор 51, счетчик 52, числительным устройством; на фиг. 2 — блок . элемент И 53, генератор 54 импульсов, триг-,, пересылок; на фиг. 3 — распределения ре- гер55, элемент ИЛИ56,шифратор57, блок58 зультатов; на фиг.4 — формировательадре- элементов задержки, блок 59 элементов
Са; на фиг. 5 —. буферная память операндов.. ИЛИ,.регистр 60, элемент ИЛИ 61 и коммуустройство управления конвейерным 55 татор 62.. вычислительным устройством (фиг. 1) содер- Блок 21 распределения результатов жит коммутатор 1 кодов условий, буферную (фиг. 3) содержит группу регистров 63, группамять 2 кодов условий, коммутатор 3 усло- пу дешифраторов 64, rpynny регистров 65, вий, формирователь 4 адреса, регистр 5 ад- группу демультиплексоров 66 и группу региреса, память 6 команд, регистр 7 команд, строе 67. !
1751757
Формирователь 4 адреса (фиг. 4) содержит дешифратор 68, группу элементов И 69, группу элементов ИЛИ 70, группу счетчиков
71, группу блоков 72 элементов И, группу триггеров 73, группу элементов ИЛИ 74, 5 груйпу элементов И 75, группу элементов
ИЛИ 76, блок.77 элементов И, дешифратор
78; блок 79 элементов ИЛИ, элемент ИЛИ 80 и формирователь 81 импульсов.
Буферная память 14 операндов (фиг. 5)содержит дешифраторы 82, 83, группу блоков 84 регистров, две группы мультиплексоров 85, 86 и два блока 87, 88 элементов
ИЛИ.
Устройство работает следующим образом..
В начальный момент времени все запоминающие узлы и блоки устройства устанавливаются в нулевое состояние (цепи
20 начальной установки на чертежах не показаны), В регистр 5 адреса через вход 22.2 запишется адрес первой команды программы первоначальной загрузки (дпя этого используются входы асинхронной установки соответствующих разрядов регистра 5). По этому адресу из памяти 6 команд считывается соответствующая команда, и по текущему тактовому импульсу, поступающему на вход
22.1 синхронизации, считанная команда эа30 писывается в регистр 7 команд, В предложенном устройстве все команды условно делятся на команды передачи управления и остальные команды (исполнительные команды, команды пересылок и т.д,) Для идентификации типа команды в предлагаемом устройстве используется дешифратор 8 типа команды, Если записанная в регистр 7 команда является командой безусловной передачи
40 управления, при дещифрации кода операции, поступившего с выхода 25 поля кода операции, на выходе 35 дешифратора появляется единичный сигнал, который поступает нэ соответстующий управляющий вход 45 формирователя 4 адреса, В результате этого формирователь 4 адреса при условии поступления сигнала признака конца команды, поступающего либо с выхода 23 на его информационный вход с выхода 24 регистра 7, Если записанная в регистр 7 команда является командой условной передачи управления, то при дешифрации кода операции, поступающего с выхода 25 поля кода
55 регистра 7 для команды безусловного пере- 50 хода, либо с выхода 41,2 блока 20 для исйолнительной команды, вырабатывает в текущем такте на своем выходе адрес безусловного перехода (А,б.пер.), поступивший операции, на выходе 36 дешифратора 8 появляется единичный сигнал, который поступает на соответствующий управляющий вход формирователя 4 адреса. В зависимости от значения логического условия (О или
1), которое выбираешься с выхода коммутатора по коду номера анализируемого условия, поступающему с выхода 30 регистра 7 на управляющий вход коммутатора 3, формирователь 4 адреса, при условии поступления сигнала признака конца команды, вырабатывает в текущем такте на своем выходе либо адрес условного перехода (при логическом условии, равном 1), поступающий на его информационный вход с выхода 24 реги-. стра 7", либо (при логическом условии, равном О) адрес, знэчнеие которого равно увеличенйому нэ единицу коду адреса, полученному в формирователе 4 в предыдущем гакте.
И, наконец, если записанная в регистр
7 команда относится к остальным типам команд, то на выходе 37 дешифратора 8 появляется единичный сигнал, который разрешает запись информации в регистры
9-.13. При этом по приходу очередного тактового импульса в регистр 9 записывается. код операции, в регистр 10 — адрес первого операнда, в регистр 11 — номер программы, в регистр 12 — адрес второго операнда, а в регистр 13 — адрес результата. С приходом следующего тактового импульса в буферный регистр 15 записывается информация из регистра 9 и регистра 11, в результате чего в нем хранится информация о коде операции и номере программы. Считанные из буферной памяти 14 операнды записываются в этом же такте в буферные регистры 16 и 17, э в буферный регистр 18 записывается информация из регистра 13.
В зависимости от кода операции, поступающего нэ управляющий вход коммутатора 19 с выхода регистра 15, информация с выходов регистров 15 — 18 коммутируется либо на входы 38.К+1, 39,К+1, 39.К+1 блока 20 пересылок (для команд пересылок), либо на входы 42-44 блока 21 распределения результатов и выход 31 для передачи в конвейерное вычйслительное устройство (для исполнительных команд).
Блок 20 пересылок осуществляет распределение операндов, поступающих на его информационные входы 39,К+1,39K+2, и результатов (в том числе промежуточных), поступающих на его информационные входы
39.1 — 39.К, на его выходы 40 и ЗЗ. Кроме того, блок 20 пересылок осуществляет формирование сигнала признака конца команды по выходу 41.2 и передачу номера программы
13 по выходу 41,1 для управления формирователем 4 адреса.
Блок 21 распределения результатов осуществляет передачу кодов результатов, номеров программы и номеров регистра ре- 5 эультата па выходам 38,1, 38.К, 39,1-39.К для блока 20 пересылок и передачу кодов условий и номеров программы соответственно на информационный и управляющий
10 входы коммутатора 1 кодов условий
Коды условий (максимальное количество которых равно максимальному количеству одновременно выполняемых программ) поступают в буферную память 2 и по теку15 щему тактовому сигналу записываются в ее регистры, Считывание кодов условия из буферной памяти осуществляется по адресу, формируемому на выходе 26 паля номера программы регистра 7.
Блок 20 пересылок (фиг. 2) работает следующим образом.
На группу информационных входов
39.1 — 39,К блока 20 поступают коды результатов и коды номеров регистра результата с
25 выходом блока 21 распределения результатов, на информационные входы 39,К+1 и
39.К+2 поступают соответственно код операции, номер регистра результата, операнд, адреса операнда с выхода коммутатора 19 и операнд с входа 34 устройства. Все эти входы подключены к информационным входам коммутатора 45. На группу управляющих входов 38.1, 39.К+2 блока 20 пересылок поступают коды номеров программы с соот30
35 ветствующих выходов блока 21, коммутатора 19 и с входа 34 устройства, к которым подключены управляющие. входы коммутатора 45, Коммутатор осуществляет переключение К+2 его информационных входов к его N выходам, причем порядок подключения регламентируется кодом на его управляющих входах, При наличии ненулевой информации на его 1-м выходе (1=1, N} 1-й элемент ИЛИ 46
45, формирует единичный сигнал, разрешающий запись информации в i-м регистр 47,i, который записывается в него по текущему тактовому импульсу, и устанавливает в единицу i-й разряд регистра 49, импульсов, триггера 55, элемента ИЛИ 56, шифратора 57 и блока 58 элементов задержки с соответствующими связями, представляющая из себя приоритетную схему, которая функционирует следующим образом.
Выбор информации, которую необходи- 50 мо передать через блок 59 элементов ЙЛИ, . осуществляет совокупность регистра 49, блока 50 элементов И, дешифратора 51, счетчика 52, элемента И 53, генератора 54
По тактовому сигналу триггер 55 устанавливается в единичное состояние, разрешая тем самым прохождение импульса с генератора 54 через элемент И 53. Следует при этом отметить, что частота следования импульсов, вырабатываемых генератором
54, выбирается исходя из реализации возможности опроса блоков 48,1 — 48.N элементов И за период 7 следования тактовых импульсов, поступающих на вход 22.1, т.е. больше N/T.
Счетчик 52 совместно с дешифратором
51 начинает осуществлять распределение импульсов, поступающих с выхода элемента
И 53 до того момента, пока единичная информация на i-м выходе регистра.49 не совпадет с единичным импульсом, формируемым на i-м выходе дешифратора
51.
В этом случае на i-м выходе блока 50 элементов И появится единичный сигнал, который разрешает передачу информации -. через 1-й блок 48.I элементов И íà i-й вход блока 59 элементов ИЛИ, заблокирует передачу импульсов от генератора 54 через элемент И 53 за счет сброса триггера 55 сигналом с выхода элемента ИЛИ 56, сбросит в ноль через блок 58 задержки i-й разряд регистра 49 и позволит получить на выходе шифратора 57 код номера информации (являющийся кодом номера программы), передаваемый через -й блок 48.i элементов И.
В результате этого на выходе блока 59 элементов ИЛИ будет передаваться информация от одного из входов 39.1 — 39.К+2, со- . провождаемая номером программы, которая по очередному тактовому сигналу будет записана в регистр 60, Наличие ненулевой информации в регистре 60 свидетельствует об окончании выполнения команды, что реализуется с помощью элемента ИЛИ 61, на выходе которого формируется единичный признак конца команды.
В зависимости от типа команды пересылок операции передаются либо на выход 33, либо на выходах 41, либо на выход 40, что реализуется с помощью коммутатора 62; на управляющий вход которого поступает код операции. При этом,на выход 33 для всех операций обмена передается код операции, адрес операнда, номер программы, а для операций записи еще и операнд, на выход
40.1 передается операнд,- на выход 40.2— номер программы и номер регистра результата, на выход 41.1 — номер программы, на выход 41.2 — признак конца команды.
Блок 21 распределения результатов (фиг. 3) работает следующим образом, С выхода коммутатора 19 на вход 42 поступает код операции, на вход 43 — номер
1751757
63 и анализируются в дешифрэторах 64, ко- 5
10 этогО на выход каждого из регистров 67 передается результат (с признаком результа- 15 причем темп поступления названной ин- 20
При наличии в регистре 7 команды без- 25 счетчик 71.::, . 35
По номеру программы. который постурегистра результата, на вход 44. — номер программы.
Коды операции последовательно по тактовым импульсам записываются в регистры торые служат для определения длительности выполнения команды по коду операции.
В соответствии с этим дешифратор 64 позволяет передавать информацию через демультиплексор 56 либо с выхода регистра 65 на информационный вход соответствующего регистра 67, либо на информационный вход "нижнего" регистра 65. В результате тэ) выполнения команды, поступающий на
его информационный вход с одного из входов 32.1 — 32.К, сопровождаемый номером регистра результата и номером программы, формации согласован с длительностью выполйейия ком анды.
Формирователь 4 адреса (фиг, 4) работает следующим образом. условной передачи управления на соединенные между собой входы элементов ИЛИ
70 поступает единичный сигнал с выхода 35 дешифратора 8. В результате этого на выходах всех элементов ИЛИ 70 появятся единичные сигналы, которые разрешают запись адреса перехода с выхода 24 регист. ра 7.в счетчики 71. С прйходом тактового импульса адрес перехода записывается в I-й пает с выхода 26 регистра 7, дешифратор 68 формирует на своем I-м выходе единйчный сигнал, который передается на I-й выход блока 77 элементов И, поскольку на выходе
23 регистра 7., при наличии в нем команды безусловной или условной передачи управления, находится единичный сигнал, разрешающий передачу информации через блок
77 элементов И, В результате этого пройдя через I-й элемент ИЛИ 74, он установйт в единицу I-й триггер 73, подготовив тем самым I-й блок 72 элементов И к передаче информации с выхода I-ro счетчика 71.
Запустившийся по тактовому импульсу формирователь 81 последовательно формирует на своих выходах импульсы-, частота следования которых выбирается исходя из реалйзации возможности опроСа N блокОв
72 элементов И за период Т следования тактовых импульсов, Поступивший на соответствующий вход
l-го блока 72 элементов И импульс опроса с соответствующего выхода формирователя
81 разрешит передачу адреса перехода с выхода I-ro счетчика 71, который, с одной стороны, через блок 79 элементов ИЛИ поступит на выход формирователя 4 адреса, а с другой стороны, эта (ненулевая) информация, поступив на выходы I-го элемента ИЛИ
76 по очередному тактовому импульсу, вызовет установку в ноль I-ro триггера 73 (через I-й элемент И 75).
Кроме того, при прохождении ненулевой информации через блок 79 элементов
ИЛИ произойдет останов формирователя 81 импульсов посредством формирования единичного сигнала на выходе элемента ИЛИ
80.:
При наличии в регистре 7 команды условной передачи управления на соединенные между собой входы элементов И 69 поступает единйчный сигйал с выхода 36 дешифратора 8. В зависимости от значения логического условия (О или 1) выбранный дешифрэтором 68 1-й элемент И 69 пройустит на свой выход соответственно нулевой или единичный сигнал, который беспрепятственно проходит через I-й элемент ИЛИ 70.
Если на выход I-го элемента ИЛИ поступит единичный сигнал (" успешный переход"), то I-й счетчик 71 запишет адрес перехода с выхода 24 регистра 7. В этом случае дальнейшая работа формирователя 4 адреса будет совпадать с режимом формирования адреса при наличии команды безусловной передачи управления.
Если на выход 1-го элемента ИЛИ 70 поступит нулевой сигнал, а с выхода I-го элемента ИЛИ 74 поступит единичный сигнал, что соответствует тому, что в текущей команде I-й программы не произошел "успешный переход", то I-й счетчик 71 по тактовому импульсу осуществит наращивание своего содержимого на единицу., В дальнейшем формирователь 4 адреса будет функционировать так же, как и в режиме безусловной передачи управления, . И, наконец, если в регистре 7 записайэ какая-либо из других команд (команда пересылок, исполнительные команды), то на выходах 35, "6 дешифраторэ 8, на выходе 23 регистра 7 формируются нулеыве сигналы, В этом случае I-й счетчик 71 наращивает на единицу свое содержимое, если на 1-м выходе дешифратора 78 формируется единичный сигнал, на стробирующий и информационный входы которого поступают соответственно признаки конца команды и номер программы с вы