Устройство для выборки команд

 

Е 726533

ИЗОВРЕТЕ Н ИЯ

Союз Советски н

Социалистических

Ресттублик

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (6I ) Дополнительное к авт. свил-ву (22) Заявлено 18.01.78(21) 2569665/18-.24 (5 ) ) Щ. ф(л с присоединением заявки,%

G06 F 13/06

Государственник комитет

СССР (23 ) П риори тет(53 ) Уд К 68 1.32 5, (088.8) до делам изобретений и открытий

Опубликовано05.04.80. Бюллетень J% 13

Дата опубликования описания 10,04.80

Ю. Х. Сахин, А. 3. Сугатов, А. H. Багаев и П. Н. Назаров (72) Авторы изобретения (7I) Заявитель (54) УСТРОЙСТВО ДЛЯ ВЫБОРКИ КОМАНД

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

Известно устройство для выборки команд 1), содержащее регистр состояния программы, счетчик адреса программы, регистр адреса программы, соединен- ные между собой соответствующим образом для выработки исполнительного адреса команд, который поступает с выхода регистра адреса программы на первый адресно выход устройства, два регистра команд, которые предназначены ;для приема командных слов иэ оперативной. памяти через информационный вход устройства и выдачи их на узел распаковки, который управляется счетчиком адресов команд и дешифратором распаковки, регистр смешения, регистры общего назначения, адресный сумматор, предназначенный для суммирования смешения с ба2 зой,.считанной из соответствующего pe= гистра общего назначения с целью формирования исполнительного адреса для команд считывания, записи или ветвления, .который с выхода адресного сумматора поступает на вход регистра состояния программы и второй адресный выход устройства.

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

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

72653

l1 манда за такт процессора при работе с памятью меньшего быстродействия, чем

="процессор, и сократить. во многих слу=чаях перерывы в потоке команд, связанные с ветвлениями. 5

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

" "+рЖ йистреови,— два- допОлнительных адресуе -, 10 . мых регистра, которые используются при обработке команд условного. перехода, регистр верхней границы со схемой приращения, определяющий вместе с регистром верхней границы количество команд- 15 ных слоев в буфере команд и их расположение в оперативной памяти, регистр считывания со схемой приращения для считывания командных слов из буфера команд на регистр операций, узел выделе. ия коман- 20 ды,- -выделяющий команду из регистра операций для последующих ее дешифрации и выдачи в исполнительные устройства, адресный сумматор для формирования адреса обращения к оперативной памяти из базового адреса и смещения, причем базовый адрес поступает на сумматор из одного из шестнадцати регистров общего назначения, которые как и устрой-. ство для выборки команд входят в состав центрального процессора, а смещение задано в дешифрируемой команде, рабочий адресный регистр, вход которого сое "динен с -выходом адресного сумматора, а выход подключен к адресной шине уст- ЗБ ройства, к регистрам считывания верхней и нижйеи"границ "для "их установки

-" в ходе выполнения команд ветвления, а

" также к узлу анализа перехода на локальность в буфере команд, с помощью кото- 40 рере,бррейеттяитея ;" иииопится" ия-и регистрах буфера команд команда, на- которую передается управление командой ветвлеМйЗГ," к Яз" им входам ужа айвза пере хода на локальность в буфере команд 4 подключены выходы регистров верхней и нижней границ.

Введение буфера» коМатйЬ из во ьми

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

Однако перерывы в потоке дешифрируемых команд все же имеют место. Для команд условного перехода перерывы связаны с отменой условнц расшифрованных команд. При обработке команд без фИЬййог@ перехиода юить ьЖжтЬ йереры3 4 ва в дешифрации складывается из двух величин. Первая обусловлена временем формирования адреса перехода. Вторая зависит от условий, находится ли команда, на которую производится переход, в буфере команд. Если ответ положителен, команда считывается из буфера команд без обращения в оперативную память, если отрицателен — очередная команда считывается из оперативной памяти.

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

75 Ь от полного времени выполнения команды безусловного перехода, что замедляет выполнение ветвления.

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

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

5

Выход регистра команды соединен с третьим входом второго коммутатора и вторыми входами регистров верхней и нижней границ. Выход регистра нижней границы соединен с TpBThHM входом узла 5 анализа перехода на локальность в буфере команд, выход которого является пятым выходом устройства и узел анализа перехода на локальность в буфере команд содержит два сумматора и элемент ИЛИ. Первые входы сумматоров соединены с первым и третьим входами узла, вторые входы. — со вторым входом узла, а выходы через элемент

ИЛИ вЂ” с выходом узла.

Структурная схема устройства приведена на чертеже.

Устройство содержит блок 1 буферных регистров, коммутатор 2, регистр 3 считывания, сумматоры 4,5 адреса, регистр 6 команды, регистр 7- индекса, регистр 8 нижней границы, регистр 9 верхней границы, регистр 10 базы текушей процедуры, дешифратор 11 длины команды, узел 12 анализа перехода на

25 локальность в буфере команд.

Узел 12 содержит сумматоры 13,14 и элемент HIM 15.

Устройство работает следующим обра:30 зом.

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

Доступ к командам и данным процедур

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

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

43

Доступ к слову, расположенному внут ри массива, осушествляется путем индексирования соответствуюшего дескриптора°

Сушность этой операции состоит в следуюшем. Команды считывания, записи и ветв ления включают в себя информацию о рас50 положении дескриптора и смешение-индекс.

Из дескриптора выделяется база и суммируется с индексом.

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

5а требуемого слова в оперативной памяти.

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

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

3, 8 и 9.

Команды ветвления делятся на два типа — йепосредственные и динамические.

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

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

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

1 поступают на соответствуюшие входы устройства. Дешифратор адреса регистра блока

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

726533

Содержимое регистра 3 представляет собой шестиразрядное число. Три старших разряда обозначают номер регистра блока

1 в котором расположено начало коман ды, а три младших разряда — номер бай" та, " которого начинается команда. Коммутатор 2 выделяет четыре смежных байта, начиная с определяемого регистром 3, так что код операции команды оказывается сдвинутым влево. in

Большинство команд имеют длину от одного до четырех байтов, Команды с большей длиной обрабатываются за несколько тактов. Дешифратор 11 в зависимости от кода операции вырабатывает i5 длину команды, достигающую на вход приращения регистра 3, вследствие чего указатель увеличивается на соответствующую величину, переходя, таким образом, к выделению следующей коман- 20 дыв Разность между сОдержимыми регистр ров 3 и 9 определяет необходимость вы дачи- очередного запроса в оперативную память, создавая необходимый запас нерасшифрованных команд.

Информация с выхода коммутатора 2 поступает на регистр 6, с которого команды поступают на дешифрацию и выполнение.

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

Иэ регистра 6 поле, означающее номер базового регистра, поступает для считывания соответствующей . базы, кото- >5 рая затем поступает на сумматор 4. Поле регистра 6 означающее,смещение требуемой информации относительно базы, подается на регистр 7„c выхода которо40 го после необходимой задержки оно поступает на.сумматор 4.

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

45 устройства.

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

13, 14 узла 12, где проверяется условие ВГ ИП НГ. (Вà — значение регист ра 9, ИП вЂ” индекс перехода, Нà — значение регистра 8). Результаты анализа через элемент ИЛИ 15 перед аются насоот-55 ветствующий выход устройства.

Если неравенство выполняется, соот"" =в6тствуюшие шесть клладших разрядов индекса перехода с выхода регистра 6 поступают на регистр 3 и ориентируют его на начало ветви. Если неравенство не выполняется, регистры блока. 1 обнуляются, а индекс перехода передается с выхода регистра 6 дополнительно на регистры 8,9. Подкачка в регистры блока 1 начинается с командного слова, в котором находится первая команда ветви.

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

При этом время выполнения ветвления сокращается в два раза.

Устройство входит в состав центральных процессоров многопроцессорного вычислительного комплекса.

Формула изобретения

1. Устройство для выборки команд, содержащее блок буферных регистров команд, информационный и адресный входы которого являются первым и вторым входами устройства, выходы блока буферных регистров команд соединены с группой входов первого коммутатора, выход которого соединен с входом регистра команд и через дешифратор длины команды с первым входом второго коммутатора, выход которого соединен с управляю.щим входом первого коммутатора, выход регистра команд является первым выходом устройства и соединен через регистр индекса с первым входом первого сумматора адреса, второй вход и выход которого являются третьим входом и вторым вы.ходом устройства соответственно, регистры верхней и нижней границ, о т л ич а ю ш е е с я тем, что, с целью повышения быстродействия, в него введены регистр базы текущей процедуры, второй сумматор адреса, узел анализа перехода на локальность в буфере команд. Вход регистра базы текущей процедуры является четвертым входом устройства, второй вход второго коммутатора и первые входы регистров верхней и нижней границ обьединены и являются пятым входом устройства, выход регистра верхней границы является третьим выходом устройства и соединен с первыми входами узла анализа перехода на локальность в буфере команд и второго сумматора адреса, вто9 726533 10 рой вход которого соединен с выходом на локальность в буфере команд содеррегистра базы текущей процедуры, выход жит два сумматора и элемент ИЛИ причем, второго сумматора адреса является чет- первые входы первого и, второго сумматовертым выходом устройства, выход регист- ров соединены соответственно с первым ./ ра команды соединен с третьим входом > и третьим входами узла, вторые входы второго коммутатора и вторыми входами сумматоров соединены со вторым входом регистров верхней и нижней границ, вы- узла, выходы сумматоров через элементы ход регистра нижней границы соединен ИЛИ соединены с выходом узла. с третьим входом узла анализа перехода Источники информации, на локальность в буфере команд, выход >о принятые во внимание при экспертизе которого является пятым выходом уст- 1. Патент США ¹ 3959177, ройства. кл. 340-172.5, 1976 . 2. Устройство по п. 1, о т л и ч а ю- 2. Патент США № 3418638, щ е е с я тем, что узел анализа перехода кл. 340-172.5, 1968 (прототип).

Составитель А. Багаев

Редактор JI; Утехина Техред Н, Ковалева Корректор Ю, Макаренко

Заказ 675/43 Тираж 751 Подписное

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

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

Филиал ППП Патент, r. Ужгород, ул. Проектная, 4

Устройство для выборки команд Устройство для выборки команд Устройство для выборки команд Устройство для выборки команд Устройство для выборки команд 

 

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

Изобретение относится к вычислительной технике и может быть использовано для организации межмашинного обмена в распределенных вычислительных комплексах и сетях ЭВМ

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

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

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

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

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

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

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