Устройство для управления параллельным выполнением команд в электронной вычислительной машине
Иллюстрации
Показать всеРеферат
1. УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ ПАРАЛЛЕЛЬНЫМ ВЫПОЛНЕНИЕМ КОМАНД В ЭЛЕКТРОННОЙ ВЫЧИСЛИТЕЛЬНОЙ МАШИНЕ, содержащее регистр операций, щифратор кода режима, блок адресации, блок буферной памяти, стек дешифрированных адресов, блок указателей стека дешифрированных адресов, стек свободных адресов, блок указателей стека свободных адресов, формирователь кода операций, формирователь синхронизирующих сигналов, коммутатор адресов , блок буферной памяти команд, блок восстановления и распределитель тактовых импульсов, первый вход и выход которого подключены соответственно к первому управляющему входу устройства и к первому входу блока восстановления, группа входов шифратора кода режима соединена с первым выходом блока восстановления, с управляющими выходами блока буферной памяти команд, блока указателей стека дешифрированных адресов, блока указателей стека свободных адресов, первый выход шифратора кода режима соединен с управляющими входами регистра операций, стека дешифрированных адресов, первым управляющим выходом устройства, с первым входом блока указателей стека дешифрированных адресов и с первым входом блока указателей стека свободных адресов , выход формирователя синхронизирующих сигналов соединен с управляющими входами формирователя кода операций, коммутатора адресов, с вторым входом блока указателей стека свободных адресов и с вторым входом блока указателей стека дешифрированных адресов, адресный вход стека дешифрированных адресов подключен к выходу коммутатора адресов и к первым входам блока адресации и блока буферной памяти команд, выход стека дешифрированных адресов подключен к первому входу коммутатора адресов, второй вход которого соединен с выходом стека свободных адресов, первый и второй адресные входы котороС го соединены соответственно с пер- g вым и вторым выходами блока указате (Л лей стека свободных адресов, третий вход которого подключен к второму выходу блока восстановления, второй вход которого соединен с вторым управляющим входом устройства, информационный вход блока буферной памяти подключен к первому информационному входу устройства и к первому .информационному выходу устройства, выход блока буферной памяти подключен к второму информационному выходу устройства, выход блока адресации соединен с первым адресным выходом устрюйства и с адресным входом блока буферной памяти, второй вход блока адресации соединен с третьим управляющим входом устройства, третий вход блока адресации и информационный вход стека свободных адресов подключены к второму информационному входу устройства, четвертый вход блока адресации и второй управляющий выход устрюйства подключены к информационнгаиу выходу блок. буферной памяти команд, второй вход которого соединен с выходом формирователя кода операций, управляющий вход является четвертым управляющим входом устрой
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (19) (11) 3(51) С 06 F 9 36
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К ABTOPCHOMY СВИ4ЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3508276/18-24 (22) 03.11.82 (46) 07.03.84. Вюл. 9 9 (72) В,M.Яконлев, Г,И,Кузнецов, A.Ñ.Äeìíè÷åíêî, О.Н,Лобкова, Л.Н,Акимов и Я.А.Хетагуров (53) 681,326(088 ° 8) (56) 1. Патент США Р 3725876, кл. 340-1725, опублик. 1973, 2, Авторское свидетельство СССР
)) 556440, кл. Cj 06 Т 9/20, 1976 (прототи и) . (54) (57) 1. УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ
ПАРАЛЛЕ ЛЬНЫМ ВЫПО ЛНЕ НИ ЕМ КОМАНД В
ЭЛЕКТРОННОЙ ВЫЧИСЛИТЕЛЬНОЙ MALlHHE содержащее регистр операций, шифратор кода режима, блок адресации, блок буферной памяти, стек дешифриронанных адресов, блок указателей стека дешифрированных адресов, стек свободных адресов, блок указателей сте— ка свободных адресов, формирователь кода операций, формиронатель синхрониэирующих сигналов, коммутатор адресов, блок буферной памяти команд, блок восстановления и распределитель тактовых импульсов, первый вход и выход которого подключены соответственно к первому управляющему входу устройства и к первому входу блока восстановления, группа входов шифратора кода режима соединена с первым выходом блока восстановления, с управляющими выходами блока буферной памяти команд, блока указателей стека дешифрированных адресов, блока указателей стека свободных адресон, первый выход шифратора кода режима соединен с управляющими входами регистра операций, стека дешифрированных адресов, первым управляющим выходом устройства, с первым входом блока указателей стека дешифрированных адресов и с первым входом блока укаэателей стека свободных адресов, выход формирователя синхрониэирующих сигналов соединен с управ-ляющими входами формирователя кода операций, коммутатора адресов, с вторым входом блока указателей стека свободных адресов и с вторым входом блока указателей стека дешифрированных адресов, адресный вход стека дешифрированных адресов подключен к выходу коммутатора адресов и к пер вым входам блока адресации и блока буферной памяти команд, ныход стека дешифрированных адресов подключен к первому входу коммутатора адресов, второй вход которого соединен с выходом стека свободных адресов, первый и второй адресные входы которого соединены соответственно с первым и вторым выходами блока указателей стека свободных адресон, третий вход которого подключен к второму выходу блока восстановления, нторой вход которого соединен с вторым управляющим входом устройства, информационный нход блока буферной памяти подключен к первому информационному входу устройстна и к первому информационному выходу устройства, вмход блока буферной памяти подключен к второму информационному выходу устройстна, выход блока адресации соединен с первым адресным ныходом устройства и с адресным входом блока буферной памяти, второй вход блока адресации соединен с третьим управляющим входом устройства, третий вход блока адресации и информационный вход стека свободных адресов подключены к второму информационному входу устройства, четвертый вход блока адресации и второй управляющий выход устройства подключены к информационному выходу блока, буферной памяти команд, второй вход которого соецинен с ныходом формирователя кода операций, управляющий вход является четвертым управляющим входом устрой1078429 ства, нход регистра операций янляется третьим информационным вход устройства, выход регистра операций соединен с информационным входом формирователя кода операций, с управляющими входами формирователя син— хрониэирующих сигналов, шифратора кода режима и с вторым входом распределителя тактовых импульсов, третий вход которого соединен с вторым выходом шифратора кода режима, выход распределителя тактовых импульсов подключен к тактовым входам шифратора кода режима и Формирователя синхронизирующих сигналон, причем формирователь синхрониэирующих сигналов содержит триггеры, элемен— ты ИЛИ и группы элементов И, первые нходы которых подключены к тактовому входу формирователя синхронизируюцих сигналов, вторые входы соединены с управляющим входом форми— ронателя синхрониэирующих сигналон, первый вход каждого элемента ИЛИ соединен с управляющим входом формирователя синхронизирующих сигналов, входы, начиная с второго, соединены с выходами элементов И соответствуюцей группы, выходы каждого предыдущего и последующего элементов ИЛИ, кроме первого, соединены соответственно с первым и вторым входами соответствующего триггера, выходы триггеров и первого элемента ИЛИ соединены с выходом формирователя синхрониэируюцих сигналов„ О т л и ч а ю щ е е с я тем, что, с целью повышения производительности, н него введены блок буферной памяти подгoToBHTBJIbHbIx команд, стек ссылок, -,.егистр ссылок и коммутатор указателей стека дешифрированных адресон, первый вход и выход которогo подклю.-ены соотнетственно к информационному ныходу блока указателей стека дешифрированных адресов и к адресно лу входу стека дешифрированных
:-дре:Jâ,. информационный выход блока, .,::за..:. лей стека дешифрированных адресо ",:длнен с первым входом ре: ис. ра ссылок, выход коммутатора укаэате..ей стека дешифриронанных адрес Он .о кл вч; —.н к адресному входу стека ссылок, п 1JRbIE ВхОд и выход кОтО— рого соед" нены соответственно с первым выходом вторым входом p-::-=..гистра ссылок, зторой выход которого подключен к второму входу коммутатора указателей стека дешифриронанных адресов, упр: †.нляющий вход которого соединен с выходом Формирователя синхрониэирующих сигналов, с управляющим входом регистра ссылок и с вторым входом стека ссылок, второй выход которого, тр-. гий выход регистра ссылок и управляющий выход блока буферной памяти подготовительных команд соединены с группой входон шифратора кода режима, первый и второй входы блока буферной памяти подготовительных команд соединены соответственно с выходом формиронателя кода операций и с ныходом коммутатора адресов, третий выход подключен к пятому входу блока адресации и к второму адресному выходу устройства, а управляющий вход является пятым управляющим входом устройства, 2. Устройстно по H. 1, о т л и ч а ю ц е е с я тем, что формиронатель кода операций содержит шифратор и коммутатор, первый вход которого является информационным входом формирователя, второй вход коммутатора и вход шифратора соединены с управляюцим входом формиронателя, выход шифратора подключен к третьему входу коммутатора, выход которого является выходом формирователя.
3. Устройство по п. 1, о т л и ч а ю щ е е с я тем, что блок восстановления содержит два триггера и два элемента И, входы первого элемента И и первый вход первого триггера соединены с вторым входом блока, выход первого элемента И является первым выходом блока, первый выход первого триггера соединен с первым нходом второго триггера, выход которого соединен с первым входом второго элемента И и с вторым выходом блока, вторые входы нторогo триггера и нторогo элемента И соединены с первым входом блока, выход второго элемента И подключен к второму выходу блока и второму входу перного триггера, третий вход которого соединен с егo.вторым выходом.
4, Устройство по п. 1, о т л и ч а ю щ е е с я тем, что блок адресации содержит регистр, два дешифратора и три коммутатора, входы первого иэ которых являются соответственно первым и вторым входами блока, входы второго коммутатора являются соответственно четвертым и пятым входами блока, выход первого коммутатора подключен к выходу блока и через первый дешифратор к перному входу регистра, второй вход регистра соединен с выходом второго дешифратора, вход которого нвляется третьим входом блока, выход регистра подключен к перному входу третьего коммутатора, второй вход которого соединен с выходом второго коммутатора, выходы второго и третьего коммутаторон соединены с выходом блока.
1078429
Изобретение относится к вычислительной технике и может быть использовано в электронных вычислительных машинах (ЭВМ) с внутренним языком высокого уровня.
Известно устройство, которое управляет связью между блоками оперативной памяти и арифметическим бло— ком, осуществляемой через два быстродействующих регистра блока буферной памяти, являющихся верхними ячейками стека, содержащее регистр операций, блок управления, блок адресации и блок буферной памяти, ин— формационный вход и выход которого соединены соответственно с информа- 15 ционным входом и первым информационным выходом устройства, адресный вход — с выходом блока адресации, вход и выход регистра операций соединены соответственно с первым входом 2р устройства и с первым управляющим входом блока управления, второй управляющий вход которого соединен с первым управляющим входом устройства.
Устройство входит в состав высокопроизводительной вычислительной машины со стековой системой команд, обеспечивающей уменьшение длины программ и упрощение программирования по сравнению с адресной системой команд j1j .
Эффективность ЭВМ с поточной обработкой команд в большей мере зависит от распределения быстродействующих регистров, используемых для быстрого доступа к промежуточным результатам, так как планирование параллельного выполнения независимых команд происходит за счет резервирования различных быстродействующих регистров для операндов, вызываемых из блока оперативной памяти, а также под результаты параллельно выполняемых команд.
В известном устройстве только g5 два быстродействующих регистра блока буферной памяти, являющихся верхними ячейками стека, связаны с арифметическим блоком. Поэтому известное
yñTðoéñòüo не в состоянии обеспечить параллельную обработку нескольких команд и, следовательно, не позволяет организовать параллельное выполнение команд по принципу поточной линии.
55 наиболее близким к изобретению по технической сущности является устройство, содержащее регистр операций, блок адресации, блок буферной памяти, стек дешифрованных адре- 60 сов, блок указателей стека дешифрованных адресов, стек свободных адресов, блок указателей стека свободных адресов, формирователь кода операции, коммутатор адресов, буферную 65 память команд, блок восстановления и блок управления, В устройстве производится динамическое отображение стекового формата команды во внутренний адресный формат команды непосредственно перед выполнением команды, при этом вся работа по поддержанию стековой дисциплины использования ячеек буферной памяти производится не над сами ми ячейками, а над их адресами.
Вся буферная память рассматривается как ресурс ячеек, назначаемых в стековую память под результаты очередных команд и возвращаемых обратно после использования в качестве операндов в последующих командах. Использование под результат операции только свободной ячейки буферной памяти позволяет синхронизировать логически связанные команды, когда результат одной используется в последующей как операнд, Применение этого устройства в стековой ЭВМ дает воэможность организовать обработку информации по принципу поточной линии 2) .
Иедостатками описанного устройства, не позволяющими полностью совместить в стековой ЭВМ выборку операндов с обработкой операндов в арифметико-логических исполнительных блоках, являются последовательный характер загрузки команд в исполнительные блоки в результате применения общего буфера для всех команд и несоответствие очередности выполнения сформированных устройством команд вызова операндов иэ оперативной памяти последовательности обработки операндов.
Последовательность команд стековой ЭВМ представляет собой строку бесскобочной польской записи, заданную в машинной форме. Одной из особенностей выражения, представленного в польской записи, является воэможность образования групп из более чем двух операндов и знаков операций. Иапример, выражение
М =а+ b (с+ x(к+rn)) в польской записи имеет вид хаЪ дк +ч+ +
B машинную форму эти группы трансформируются в виде последовательностей соответственно команд вызова операндов из блока оперативной памяти и безадресных арифметических команд, поступающих на вход блока управления. В результате соответствия последовательностей команд на входе и выходе известного устройства команды одного вида, соответствующие группам в польской записи, поступают к исполнительным устройствам ЭВМ. Таким образом, группирование операндов при задании.
107Г429 арифметического выра»<ения н бе=c><обочной форме мо»<ет приводить к неравной загрузке исполнительных устройств стековой ЭВИ. При этом если появляется очередь команд (одна команда и более) к одному из устройств, например устройству вызова операндов„ а другие, например арифметические устройства, недогружены, то наличие общей очереди в буферной памяти команд препятствует поступлению следующих команд в эти устройства, что приводит к увеличению времени их простоя.
Кроме того,,очередность выборки операндов из блока оперативной па- 15 мяти, установленная известным устройством, не "îîòâåòñòâóåò порядку их загрузки в арифметические устройства. Например, для представленного выполнения вырах<ения в польской записи
x <> Ъ с д к<>)+ <+ + порядок выборки операндов из оперативной памяти прямо противоположен порядку выполнения арифметических действий над этими операндами, Если последовательность выдачи команд в исполнительные блоки стековой ЭВМ будет организована блоком управления таким образом„ чтобы по-. рядок выполнения команд вызова опе" рандов соответстновал последовательности обработки операндов в арифметических блоках,. то загруженность этих устройств будет более равномер-ной, а эффективность их использования наибольшей.„ При этом повышается производительность работы вычисли— тельной системы в целом.
Цель изобретения — повышение про- 40 .;.-) нодительности.
Поставленная цель достигается тгм„ :;то в устройство, содержа>>>ее регис-, операций, >яифратор кода реж<:,ма, .".. Ок адресации, блок буферной †.-..мят. ;„ 1 к дешифрированных адресов) бл", "., . вЂ,а.телей стека дешифрирована«!".>есов, стек свободных адресов, бло):. указателей стека свободных адресов. фор,"»ирователь кода операций,. формирова <е я-.; синхронизирующих сиг— палов, коммутатор адресов,, блок буферной памяти команд, блок восстанОвления 1« распределитель тактОвых импульсов„. первый вход и выход кото> рого подкп>нч:- ы соответственно к первому управляющему входу устрой<>тва и к перво ) входу блока восстановления гp>)ïëа вхо> он шифратОра кОда режима соединена с первым выходом 60 блока восста>>овлен>><я - управляющими выхопами блока буферной:;>амяти кома-!;q, бло;а указа та п<в»- -.тека дешиФри>з<)ванных а„чюесоэ, блока 1/казателей сте а с в Об")дных в«дре сон „пер вый выход )яифратора кода режима соединен с управляющими входами регистра операций, стека дешифрированных адресов, первым управляющим выходом устройства, с первым входом блока указателей стека дешифрированных адресов и с первым входом блока указателей стека свободных адресов, выход формирователя синхронизирующих сигналов соединен с управляющими входами формирователя кода операций, коммутатора адресов, с вторым входом блока указателей стека свободных адресов и с вторым входом блока указателей стека дешифрированных адресов, адресный вход стека дешифрированных адресов подключен к выходу коммутатора адресов и к первым входам блока адресации и блока буферной памяти команд, выход стека дешифрированных адресов подключен к первому входу коммутатора адресов, второй вход которого соединен с выходом <.тека свободных адресов, первый и второй адресные входы которого соединены соответственно с первым и вторым выходами блока указателей стека свободных адресов, третий вход которого подключен к второму выходу блока восстановления, второй вход .<Оторого соединен с вторым управляющим входом устройства, информацион >ый вход блока буферной памяти подключен к первому информационному входу устройства и к первому информа— ционному выходу устройства, выход блока буферной памяти подключен к второму информационному выходу устройства, выход блока адресации соединен с первым адресным выходом устройства и с адресным входом блокаа буферной памяти, второй вход блока адресации соединен с третьим управляющим входом устройства, третий вход блока адресации и информационный вход стека свободных адресгв подключены к второму информациг,нному входу устройства, четвертый вход блока адресации и второй управляющий выход устройства подключены к информационному выходу блока буферной памяти команд, второй вход которого соединен с выходом форми— рователя кода операций, управляющий вход является четвертым управляющим входом устройства, вход регистра операций является третьим информационным входом устройства, выход регистра операций соединен с информацион— ным входом формирователя кода операций, с управляющими входами формирователя синхронизирующих сигналов, шифратора кода режима и с вторым входом распределителя тактовых импульсов, третий вход которого соединен с вторым выходом шифратора кода режима, выход распределителя тактовых импульсов подключен к тактовым
1078429 входам шифратора кода режима и фор— мирователя синхронизирующих сигналов, причем формирователь синхронизирующих сигналов содержит триггеры, элементы ИЛИ и группы элемен— тов Й, первые входи которых подклю— чени к тактовому входу формирователя синхронизирующих сигналов, вторые входы соединены с управляющим входом формирователя синхронизирующих сигналов, первый вход каждого элемента ИЛИ соединен с управляющим входом формирователя синхронизирующих сигналов, входы, начиная с второго, соединены с выходами элементов И соответствующей группы, выходы каждого предыдущего и последующего элементов ИЛИ, кроме первого, соединены соответственно с первым и вторым входами соответствующего триггера, выходы триггеров и первого элемен — 20 та ИЛИ соединены с выходом формирователя синхронизирующих сигналов, введены блок буферной памяти подготовительных команд, стек ссылок, регистр ссылок и коммутатор указателей 25 стека дешифрированных адресов, первый вход и выход которого подключены соответственно к информационному выходу блока указателей стека дешифрированных адресов и к адресному 30 входу стека дешифрированных адресов, информационный выход блока указателей стека дешифрированных адресов соединен с первым входом регистра ссылок, выход. коммутатора указателей стека дешифрированных адресов подклю35 чен к адресному входу стека ссылок, первые вход и выход которого соединены соответственно с первым выходом и вторым входом регистра ссылок, выход которого подключен к 4О второму входу коммутатора указателей стека дешифрированных адресов, управляющий вход которого соединен с выходом формирова еля синхронизи— рующих сигналов, с управляющим вхо- 45 дом регистра ссылок и с вторым входом стека ссылок, второй выход ко—
Topo1 о, третий выход регистра ccb! лок и управляющий выход блока буферной памяти подготовительных ко- 50 манд соединены с группой входов шифратора кода режима, первый и второй входы блока буферной памяти подготовительных команд соединены соответственно с выходом формирова- 55 теля кода операций и с выходом коммутатора адресов, третий выход подключен к пятому входу блока адресации и к второму адресному выходу
Ъ устройства, а управляюший вход является пятым управляющим входом устройства.
Формирователь кода операций в. устройстве содержит шифратор и коммутатор, первый вход которого явля- 65 ется и н форма цион ним входом формирователя, второй вход коммутатора и вход шифратора, соединены с управляюшим входом формирователя, выход шифратора подключен к третьему входу коммутат. ра, выход KoTopoI явля- ется выходом формирователя.
Блок восстановления содержит два триггера и два элемента И. входы первого элемента И и первый вход первого триггера соединены с вторым входом блока, выход первого элемента И является первым выходом блока, первый выход первого триггера соединен с первым входом второго триггера, выход которого соединен с первым входом второго элемента И и с вторым выходом блока, вторые входы второго триггера и второго элемента И соединены с первым входом блока, выход
HTopoI элемента И подключен к второму выходу блока и к второму входу первого триггера, третий вход которого соединен с его вторым выходом.
Блок адресации в устройстве содержит регистр, два дешифратора и три коммутатора, входы первого из котогнх являются соответственно первым и вторым входами блока, входы второго коммутатора являются соответственно ° етвертым и пятым входами блока, выход первого коммутатора подключен к выходу блока и через первый дешифратор к первому входу регистра, второй вход регистра соединен с выходом второго дешифратора, вход которого является третьим входом блока, выход регистра подключен к первому входу третьего коммутатора, второй вход которого соединен с выходом второго коммутатора, выходы второго и третьего коммутаторов соединены с выходом блока.
На фиг. 1 представлена схема устройства; на фиг. 2 — схема формирователя кода операций; на фиг. 3 схема блока восстановления; на фиг. 4 — схема блока адресации; на фиг. 5 — схема распределителя тактовых сигналов; на фиг. б — схема формирователя синхронизирующих сигналов.
Устройство содержит регистр 1 операций, блок 2 управления, формирователь 3 кода операций, блок 4 буферной памяти команд, стек 5 дешифрированных адресов, блок 6 указателей стека дешифрированных адресов, стек 7 свободных адресов, блок 8 указателей стека свободных адресов, коммутатор 9 адресов, блок 10 восстановления, блок 11 адресации, блок 12 буферной памяти, стек 13 ссылок, регистр 14 ссылок, коммутатор 15 указателей стека дешифрированных адресов, блок 1Г> буферной памяти подготовительных команд, входы 17-24, выходы 25-30, распределитель 31 тактовых импульсов, шифра1078429 тор 32 кода режима, флрмирлва.тель 3 синхронизирующих с»»гналов, счетчик 34 верхней границы,, сч"-тч»»»< 35 нижней границы, узел 36 сравнения, счетчик 37 верхней границы, счетчик 38 нижней границы,. Узел 39 сравнения, шифратор 40, коммутатор 41, элементы И 42,. триггеры 43 и 44, элемент И 45, дешифраторы 46 и 47,. регистр 48, коммутаторы 49 — 51, триггер 52, элементы И 53 и 54, счетчик 55, дешифра.— тор 56, элемент И 57, элемент ИЛИ 5 триггер 59, элемент И 60, счетчик 6 дешифраторы 62 и 63, группу элементов И 64 ... 65„ элемент ИЛИ 66, группу элементов И 07 ... 68, эле— мент ИЛИ 69, группу элементов И 70 ... 71, элемент ИЛИ 72, группу триггерлн 73.
Устройство работает леду»ощим образом.
Исполнительные адреса лперандов, операнды и промежуточные результаты вычислений хранятся в блоке 12 буфе
L»oA памяти, Блок 12 буферной памят выпол н ен на бь:стродей с тную»цих р е— гистрах и янляется вершиной стека, расположенного в блоке оперативной памяти. При переполнении блока 12 буферной памяти выполи яется откачка части егл согержимс>гп в продол>»<ение стека, расположенного в блоке оперативной памяти,, а при опустошении под»<ачка обратно из б лка лперат::зной памяти в блок 12.
Обращен»»я в блок 12 буферной мяти производя:с.я с выхода блока 11 вход >аще.ния пn считыванHþ операндов из вер шины стека для выпллнения команд 1О ступают с в.хлда блока 4 буферной
L амяти команд, с выхода блока 16 —:уферной памяти плдготовитегьных кс> канд и с входа 20 устройства. С вхс> да 20 устройства поступаю= ;- <же чере:> блок 11 адресации обращения по з"виси результа ов команд с входа 2> у тройстна H 6J»n»< 12,, Обращение в блок 12 буферной памя:и = îäåð ни. адрес F÷åé»и или сч» тывания, р и
3-
Б блоке 11 адресации ví 1» натор заполненнлсти, соответстн,пз»»ий ячей-. ке, к которой производится обращение, устанавливается в одно из Л»> : сос55 тояний, например единичнле, при обращении в блок 12 по "-аписи„ когда в ячейку записынается результат команды. Индикатор эаполненнос LN ячейки переводится н нулевое состояние после выполнения :ом н,гы, в которой она использовалас..--. н качестве операнда, адреса освободившихся ячеек поступают с вход"- >8 устройства на входы сте>ла. 7 .:нлбогных адресе- и блока 1) адрес"аци»., 65 вся буферная память рассматривается как ресурс ячеек, назначаемых н ко::»анды. !»с> характеру использонания в ко»ландах ячейки блока 12 буферной памяти могут находиться в трех состояниях: свободные (незанятые) ячейки; ячейки стека-списка операндов; ячейки операндов сформированных арифметических команд и кс> ланд записи, В соответствии с принимаемыми состояниями ячейки блс>ка 12 буферной памяти используют три динамически меняющиеся по размерам группы.
При появлении на входе устройства команды вызова операнда исполнительный адрес операнда заносится в снобс>дную ячейку буферной памяти, а номер этой ячейки переходит из списка свободных ячеек н стек †спис операндов, При формиронании арифметической команды, использующей ячейку в качестве операнда, номер этой ячейки исключается из стека-списка операн— дон, а для результата команды назначается новая свободная ячейка, ко— торая при этом заносится н стек.
Кn.-.äà исполнительный блок, получивший команду, выбирает из ячейки операнд, ее номер снова попадает в список свободных ячеек. назначение для результатов команд только свободнь»х ячеек дает нозможность параллельно обрабатывать независимые команды, синхронизировать зависимые команды и является харак:ерным отличием от обычного стека.
Для хранения списков номеров ячеек блока 12 буферной памяти в у "Tpn»ënòâe служат дне малоразрядные памяти, Первая память — стек 5 дешифрирс>ванных адресов — содержит номера ячеек блока 12 буферной памяти, за— витых на момент дешифрации очередной команды. Эти номера размещены в порядке стековой дисциплины обработки команд. Вторая память — стек 7 свободных адресов — содержит номера всех использованных в дачный момент ячеек блока 12 буферной па— мяти. Còå»< 7 свободных адресов используется по принципу очереди.
Управ:>ение записью и считыванием номеров в стеке 7 снободных адресов производится при помощи блока 8 указателей стека свободных адресов.
Сформ»лрованные арифметические команды и команды записи хранятся в бло:<е 4 буферной памяти команд.
Ячейки блока 12 буферной памяти, образующие стек-список операндов, в свою очередь могут находиться в трех состояниях в отношении использnBания в командах загрузки операндов; ячейки стека-списка ис1078429
10 полнительных адресов; ячеики сфор— миронанных команд вызова операндов; ячейки операндов (ячейки с резу |ьта— тами команд загрузки) .
Номер ячейки блока 12 буферной памяти, назначенной под исполнительный адрес операнда, поступаюший в стек-список операндов, заносится одновременно и н стек-список исполнительных адресов. При формиронании арифметической команды, использую- 10 щей ячейку стека-списка исполнитель— ных адресов в качестве операнда, номер этой ячейки исключается из стека— списка исполнительных адресов и назначается н команду вызова операнда, поступающую в блок 16 буферной памяти подготовительных команд.
Если блок 16 освобождается прежде, чем будет сформирована оче.>едная арифметическая команда, н него за- 20 носится. . дежурная команда вызова операнда с ячейкой, назначенной из вершины стека-списка исполнительных адресов, Таким образом, если в блоке 12 буферной памяти хранится по 25 крайней мере один адрес операнда, то память блока 16 никогда не будет свободной. Поэтому перестановка адресов вызова операндов не приводит к простоям блока оперативной памяти. 30
Результат команды нызова операнда заносится в ту ><е ячейку блока 12 буферной памяти, в которой хранился исполнительный адрес операнда, при этом индикатор занятости этой ячейки устанавливается в единичное зна3S чение.
Для организации в устройстве стековой дисциплины использования исполнительных адресов операндов н командах вызова операндов служит
40 стек 13 ссылок, В стеке 13 ссылок хранится список ячеек стека 5 дешифрированных адресов, занятых номера— ми адресов в блоке 12 буферной памяти. Между ячейками стека 13 ссылок 45 и стека 5 дешифрированных адресов устанавливается следующее соответствие.
Ячейка стека 13 ссылок с тем же номером, что и ячейка стека 5 дешифрированных адресов, занятая номером адреса операнда блока 12 буфер— ной памяти, содержит признак принадлежности ячейки стеку-списку исполнительных адресов, ссылку-номер следующего элемента списка, признак первого элемента списка. Биты при— знака принадлежности и признака первого элемента принимают единичное значение соответственно, когда но- 60 мер адреса операнда в блоке 12 буферной памяти, записанный в ячейку стека 5 дешифрированных адресов, принадлежит стеку-списку исполнительных адресов и когда ноМер адре- $5 са операнда является первым элементом списка . дрес ячейки стека 5 дешифрированных адресов, в которой записан номер последнего на момент формирования команды элемента стека-списка исполнительных адресов, хранится н регистре 14 ссылок.
Управление записью и считыванием информации в стеке 5 дешифрированных адресов и в стеке 13 ссылок осуществляется по общему адресному входу через коммутатор 15 с регистра 14 ссылок или из блока 6 указателей стека дешифрированных адресов.
Для очередной команды, поступающей н стековом формате с входа 19 устройства на регистр 1 операций, по коду операции определяется принадлежность к одному из двух следуюших классон команд: командам вызова операндов иэ памяти и командам арифметическим, логическим и записи н оперативную память.
Для команды вызова операнда назначается одна ячейка блока 12 буферной памяти для размещения сначала адреса операнда, а затем операнда после его выборки из оперативной па— мяти.
Номер назначенной н команду вызова операнда ячейки блока 12 буферной памяти поступает с выхода стека 7 свободных адресов через коммутатор 9 адресов, управляемый формирователем ЗЗ, на вход стека 5 дешифрированных адресов и через блок 11 адресации на адресный вход блока 12 буферной памяти, на информационный вход которого подается исполнительный адрес операнда с входа 21 устройства. >дрес, по которому производится запись в стек 5 дешифрированных адресов, поступает из блока 6 указателей стека дешифрированных адресов через коммутатор 15, управляемый формирователем 33. Одновременно с записью информации в ячейку стека 5 дешифрированных адресов в соответствующую ячейку стека 13 ссылок записываются адрес и бит признака первогс элемента списка исполнительных адресов иэ регистра 14 ссылок, а также бит признака принадлежности списку из формирователя 33. i pec, по которому сделана запись в стек 5 и в стек 13 иэ блока 6, и бит признака первого элемента, соответствующий следующему еще не поступившему на вход устройства адресу операнда, иэ формирователя 33 записываются в регистр 14 ссылок.
Пустая буферная память блока 16 формирует сигнал на вход шифратора 32. В результате, если в устройстве в данный момент еще не формируется команда, устанавливается режим подготовки команды вызона операн) 078429
12 да, для которой ячейка блока 12 буферной памяти назначается из вершины стека-списка исполнительных адресов. Перед началом режима опрашивается бит признака первого элемента списка, записанный на регист— ре 14 ссылок. Единичное значение бита признака свидетельствует о на— личии элементов в списке и является сигналом к началу режима. адрес по- . следнего элемента списка в стеке 5 10 дешифрированных адресов, записанный на регистре 14 ссылок, поступает с выхода регистра 14 через коммутатор 15 на адресный вход стека 5 де— шифрированных адресов и стека 13 15 ссылок, адрес с выхода стека 5 дешифриpoBBHHb1x адресов поступает на вход блока 16 буферной памяти подготовительных команд через коммутатор 9 адресов, управляемый формирователем 33. Код операции вызова операнда поступает на вход блока 16 из формирователя 3 кода операций, управляемого формирователем 33. адрес и бит признака первого элемента списка с первого выхода стека 13 ссылок запи— сываются в регистр 14 ссылок, В результате из стека-списка исполнитель— ных адресов исключается последний 30 элемент и заносится в очередь команд вызова операндов.
Для арифметической, логической команд или команды записи„ поступившей на регистр 1 операций, назначают-35 ся ячейки блока 12 буферной памяти, в которых находятся операнды, а для арифметической и логической команды, кроме того, и ячейка, в которую будет помещен результат. Код операции 40 передается с выхода регистра 1 через формирователь 3 кода операций на вход блока 4 буферной памяти команд, Вомера назначенных в команду ячеек операндов блока 12 буферной памяти поступают на вход блока 4 буферной памяти команд из стека 5 дешифрированны.": адресов через коммутатор 9 адоесоэ, управляемый формирователем 33. адрес, по которому в этот момент о уществляется считывание из стека 5, поступает из блока 6 указавЂ,åëåé стека дешифрированных адресов через коммутатор 15. ðåñ ячейки блока 12 буферной памяти, назначен— ной под результат арифме ической команды, I;оступает на вход блока 4 буферной памяти команд через коммутатор 9 адресов из стека 7 свободных адресов.
Использование под результат толь- 60 ко сэободной ячейки блока 12 оказывается существеннь1м г:ри синхронизации лог:-.чески связанных команд, ког— да результатT одной используется в последующей как гнеранд, 65
Одновременно с формированием арифметической команды или команды замены о, yi ествляется формирование ко