Устройство для выборки команд
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
Союз Советски нСоциалистическихРеспублик п 726533 К АВТОРСКОМУ СВИДЕТЕЛЬСТВУпо делам каобретенкй н отнрытнй(54) УСТРОЙСТВО ДЛЯ ВЫБОРКИ КОМАНД 2зой,.считанной из соответствующего ре-гистра общего назначения с целью формирования исполнительного адреса длякоманд считьвания, записи или ветвления, .который с выхода адресного сумматорапоступает на вход регистра состоянияпрограммы и второй адресный выходустройства.Устройство иэ-за малой буферизации командных слов имеет ограниченные возможности.при работе с оперативной памятью, быстродействие которой меньше быстродействия центрального процессора. Кроме того, команды ветвления вызывают значительные перерывы в потоке дешифрируемых команд, связанные с вызовом из памяти первой команды новой ветви.Увеличение степени буферизации командных слов за счет введения буферной памяти команд, а также многократного использования команд, ранее вызванных в буферную память, позволяет сформировать командный поток с плотностью,одна о 1Изобретение может быть использованов области вычислительной техники, вчастности в командном блоке центрального процессора, который осуществляет подготовку команд для выполнения их исполнительными устройствами.3Известно устройство для выборкикоманд 1, содержащее регистр состояния программы, счетчик адреса программы, регистр адреса программы, соединен-,ные между собой соответствующим образом для выработки исполнительного адреса команд, который поступает с выходарегистра адреса программы на первыйадресный выод устройва, два регистра команд, которые предназначены ;дляприема командных слов иэ оперативной.памяти через информационный вход устройства и выдачиих на узел распаковки,который управляется счетчиком адресовкоманд и дешифратором распаковки,регистр смещения, регистры общего наэначенЬя, адресный сумматор, предназначенный для суммирования смещения с баЮ. Х. Сахин, А. 3. Сугатов, А. Н. Багаев и П. Н. Назаров72683 55 УУманда за такт процессора при работе спамятью меньшего быстродействия, чем ="процессор, и сократить во многих слу=чаях перерывы в потоке команд, связанные с ветвлениями. 5Наиболее близким по технической сущ 1ности к изобретению является устройство для выборки команд 2, содержащеебуфер команд из восьми адресуемых +р гтйистреови-, два- допОлнительных адресуе., 1 О . мых регистра которые используются приобработке команд условного. перехода,регистр верхней границы со схемой приращения, определяющий вместе с регистром верхней границы количество командных слоев в буфере команд и их расположение воперативной памяти, регистр считываниясо схемой приращения для считываниякомандных слов из буфера команд нарегистр операций, узел выделения команды, выделяющий команду из регистраопераций для последующих ее дешифра" ции и выдачи в исполнительные устройства, адресный сумматор для формированияадреса обращения к оперативной памятииз базового адреса и смещения, причембазовый адрес поступает на сумматориз одного из шестнадцати регистров общего назначения, которые как и устрой-.ство для выборки команд входят в сос- ЗОтав центрального процессора, а смещениезадано в дешифрируемой команде, рабо-"чий адресный регистр, вход которого соединен с -выходом адресного сумматора,а выход подключен к адресной шине уст- З 5ройства, к регистрам считывания верхней и нижйей"границ"для "ихустанЪвки -"-в"ходе выполнения команд ветвления, атакже к узлу анализа перехода на локальность в буфере команд, с помощью которо.е,рФейеттяитея иииопится" ии-и регистрах буфера команд команда, на- которуюпередается управление командой ветвлеййЗГ,"йЩфт"им входам уМа айвза йере Хода на локальность в буфере команд 45подключены выходы регистров верхней"инижней границ.Введение буфера"коматйЬиз воьми"1слов, а также указателей верхней и нижней границ, позволяет обеспечить при .ветвлениях быстрый доступ к командам, расположенным внутри буфера команд,Однако перерывы в потоке дешифрируеМых команд все же имеют место. Длякоманд условного перехода перерывысвязаны с отменой условнц расшифрованных команд, При обработке команд безфИЬййогб переМодб"юитжьЖжтЬ йереры 3ва в дешифрации складывается из двухвеличин. Первая обусловлена временемформирования адреса перехода. Втораязависит от условий, находится ли команда, на которую производится переход,в буфере команд. Если ответ положителен, команда считывается из буферакоманд без обращения в оперативнуюпамять, если отрицателен - очереднаякоманда считывается из оперативнойпамяти.Для ветвлений на команды, расположенные внутри буфера команд, времяформирования адреса перехода составляеч75% от полного времени выполнениякоманды безусловного перехода, что замедляет выполнение ветвления,Целью изобретения является повышение. быстродействия за счет уменьшениявремени выполнения ветвлений командами бузусловного перехода.Поставленная цель достигается тем,что в известное устройство для выборкикоманд, содержащее блок буферных регистров команд, информационный и адресныйвходы которого являются первым, и вторым входами устройства, выходы, блокабуферных регистров" команд соединены сгруппой входов первого коммутатора,выход которого соединен с входом регистрра команд и через дешифратор длиныкоманды с-первым входом второго коммутатора,выкод которого соединен с управляющим входом первого коммутатора, выход регистра команд является первымвыходом устройства и соединен черезрегистр индекса с первым входом первого сумматора адреса, второй вход и"выход которого являются третьим входом и вторым выходом устройства соответственно, регистры верхней и нижнейграницы введены регистр базы текущейпроцедуры, второй сумматор адреса, узеланализа перехода на локальность в буфере команд. Вход регистра базы текущейпроцедуры"является -четвертым входомустройства, второй входвторого коммутатора и первые входырегистров верхней инижней границ объединены и являются пятым входом устройства, Выход регистраверхней границы является третьим выходом устройства и соединен с первымивходами узла анализа перехода на локальность в буфере комайд и второго сумматора адреса, второй вход которого соединен с выходом регистра базы текущейпроцедуры. Выход второго сумматора адреса является четвертым выходом устройства,72853 10 5Выход регистра команды соединен стретьим входом второго коммутатора ивторыми входами регистров верхней инижней границ,Выход регистра нижнейграницы соединен с третьим входом узлаанализа перехода на локальность в буфере команд, выход которого является пятым выходом устройства и узел анализа перехода на локальность в буферекоманд содержит два сумматора иэлемент ИЛИ. Первые входы сумматоров соединены с первым и третьим входами узла, вторые входы. - со вторымвходом узла, а выходы через элементИЛИ - с выходом узла.Структурная схема устройства приведена на чертеже.Устройство содержит блок 1 буферныхрегистров, коммутатор 2, регистр 3считывания, сумматоры 4,5 адреса,регистр 6 команды, регистр 7: индекса,регистр 8 нижней границы, регистр 9верхней границы, регистр 10 базы текущей процедуры, дешифратор 11 длиныкоманды, узел 12 анализа перехода на25локальность в буфере команд.Узел 12 содержит сумматоры 13,14и элемент ИЛИ 15.Устройство работает следующим обра:30зом.Программы пользователя и опера-ционйой системы представляют собойсовокупность процедур, каждая из которыхобладает свойством повторной входимости.Доступ к командам и данным процедур35осуществляется через таблицы управляющих слоев - дескрипторов, каждый из которых описывает некоторую логическуюобласть памяти произвольной длины. В40общем случае дескриптор содержит базу -адрес начала массива некоторой процедуры, и количество-величину, определяющую размер массива.45Доступ к слову, расположенному внут ри массива, осуществляется путем индексирования соответствующего дескриптора.Сущность этой операции состоит в следующем. Команды считывания, записи и ветвления включают в себя информацию о рас 50положении дескриптора и смешение-индекс.Из дескриптора выделяется база и суммируется с индексом.Подученный таким образом исполнитель.ный адрес идентифицирует расположение5 стребуемого слова в оперативной памяти. Выполнению процедуры предшествуют анализ метки процедуры и занесений соответствующих дескрипторов в базовые регистры, чтобы обеспечить после дующим операциям считывания и записи доступ к параметрам процедуры, которые определены контекстом. Дескриптор ко-., мандного сегмента запускаемой процедуры выбирается иэ таблицы дескрипторов командных сегментов, а выделенная из него база поступает на регистр 10, После первой команды вьщеляется из метки процедуры и поступает в регистры 3, 8 и 9.Команды ветвления делятся на два типа - йепосредственные и динамические, Непосредственные команды передают управление на другие команды текущей процедуры, Динамические команды ветвления передают управление на команды других процедур, что равнозначно входу вновую процсдуру, Динамические командыветвления встречаются в потоке команд:намного. реже непосредственных команди в описании не рассматриваются, Всвязи с этим команда непосредственноговетвления включает в себя код операциии индекс - смещение относительно базытекущей процедуры. После входа в процедуру начинаетсяподкачка командных слов иэ оперативной, памяти в буферные регистры команд блока 1. Содержимое регистра 9 суммируется с базой текущей процедуры на сумматоре 5,Выработанный таким образом адресявдяется адресом первсго командногослова по оперативной памяти, Три мдвдшразряда регистра 9 определяют номер регистра блока 1, в который необходимо зписать вызываемое командное слово. После выдачи запроса в оперативную памятьсодержимое регистра 9 увеличивается н:единицу, и формируется адрес очередногскомандного слова. Когда разница междусодержимым регистра 9 и регистра 8достигнет восьми, содержимое регистоаначинает увеличиваться на единицу синхронно с содержимым рагистра 9,Вызванное иэ оперативной, памятикомандное слово и номер регистра блока1 поступают насоответствующие входы устройства. Дешифратор адреса регистра блока1 выбирает регистр, в который необходимопроизнести запись комвццного слова. Послеъзаписи командного слова в блок 1 начинвется формирование потока команд для. их дешифрации и выполнения, Все команды имеют длину кратную байту, и расположены в командном массиве вплотнуюдруг за другом. Длина командного словавосемь байтов.726533 7Содержимое регистра 3 представляетсобой шестиразрядное число. Три старшихразряда обозначают номер регистра блока1 в котором расположено начало команды, а три младших разряда - номер бай" та, с которого начинается команда. Коммутатор 2 выделяет четьре смежныхбайта, начиная с определяемого регистром 3, так что код операции командыоказывается сдвинутым влево. 10Большинство команд имеют длину отодного до четырех байтов, Команды сбольшей длиной обрабатываются за нес колько тактов. Дешифратор 11 в зависимости от кода операции вырабатывает 15длинукоманды, достигающую на входприращения регистра 3, вследствие чего указатель увеличивается на соответствующую величину, переходя, такимобразом, к выделению следующей командьь Разность между сОдержимыми "регистров 3 и 9 определяет необходимость вы" дачи- очередного запроса в оперативнуюпамять, создавая необходимый запаснерасшифрованных команд.Информация с выхода коммутатора 2поступает на регистр 6, с которого команды поступают на дешифрацию и выполнение,При дешифрации команд считыванияили записи исполнительный адрес формируется следующим образом.Иэ регистра 6 поле, означающее номер базового регистра, поступает длясчитывания соответствующей базы, которая затем поступает на сумматор 4. Поле регистра 6 означающее,смещение требуемой информации относительно базы,подается на регистр 7 с выхода которо 40го после необходимой задержки оно поступает на,сумматор 4.В результате суммирования вырабатывается исполнительный адрес, которыйпередается на соответствующий выход45устройства.При дешифрации команды ветвления(в частности, команды непосредственногоперехода) поле регистра 6, означающееиндекс перехода, поступает в сумматоры5013, 14 узла 12, где проверяется условие ВГ ИП НГ. (ВГ - значение регистра 9, ИП - индекс перехода, НГ - значение регистра 8). Результаты анализа через элемент ИЛИ 15 передаются на соот 55ветствующий выход устройства.Если неравенство выполняется, соот =мтствующие шесть младших разрядовиндекса перехода с выхода регистра 6 поступа 1 от на регистр 3 и ориентируютего на начало ветви, Если неравенствоце выполняется, регистры блока. 1 обнуляются, а индекс перехода передается с выхода регистра 6 дополнительно нарегистры 8,9. Подкачка в регистры блока 1 начинается с командного слова, вкотором находится первая команда ветви.Таким образом, в предложенное устройство при выполнении безусловногоперехода на команды, расположенныевнутри блока буферных регистров команд,отсутствует этап формирования адресаперехода, а все ветвление сводится лишьк передаче соответствующих разрядоврегистра команд ца регистр считывания.При этом время выполнения ветвлениясокращается в два раза,Устройство входит в состав центральных процессоров многопроцессорноговычислительного комплекса. Ф о р м у л а изобретения 1. Устройство для выборки команд, содержащее блок буферных регистров команд, информационный и адресный входы которого являются первым и вторым входами устройства, выходы блока буферных регистров команд соединены с груп- пой входов первого коммутатора, выход которого соединен с входом регистра команд и через дешифратор длины команды с первым входом второго коммутатора, выход которого соединен с управляю.щим входом первого коммутатора, выход регистра команд является первым выходом устройства и соединен через регистр индекса с первым входом первого сумматора адреса, второй вход и выход которого являются третьим входом и вторым вы.ходом устройства соответственно, регистры верхней и нижней границ, о т л ич а ю щ е е с я тем, что, с целью повышения быстродействия, в него введены регистр базы текущей процедуры, второй сумматор адреса, узел анализа переходана локальность в буфере команд. Вход регистра базы текущей процедуры является четвертым входом устройства, второй вход второго коммутатора и первые входы регистров верхней и нижней границ обьединецы и являются пятым входом устройства, выход регистра верхней границы является третьим выходом устройства и соединен с первыми входами узла анализа перехода на локальность в буфере команд и второго сумматора адреса, вто9 726533 10 рой вход которого соединен с выходом на локальность в буфере команд содеррегистра базы текущей процедуры, выход жит два сумматора и элемент ИЛИпричем, второго сумматора адреса является чет- первые входы первого и, второго сумматовертым выходом устройства, выход регист- ров соединены соответственно с первым ра команды соединен с третьим входом и третьим входами узла, вторые входы второго коммутатора и вторыми входами сумматоров соединены со вторым входом регистров верхней и нижней границ, вы- узла, выходы сумматоров через элементы ход регистра нижней границы соединен ИЛИ соединены с выходом узла. с третьим входом узла анализа перехода Источники информации, на локальность в буфере команд, выход 0принятые во внимание при экспертизе которого является пятым выходом уст. Патент США % 3959177, ройства. кл. 340-172.5, 1976 .2, Устройство по п. 1, о т л и ч а ю. Патент США М 3418638, щ е е с я тем, что узел анализа перехода кл. 340-172.5, 1968 (прототип). Составитель А. Багаевдактор Л. Утехина Техред Н. Ковалева Коррек Макаренко аказ 675/43 Тираж 7 ЦНИИПИ Государственн по делам изоб 113035, Москва, Ж1 Подписное го комитета СС(:Р ретений и открытий35, Раушская наб иал ППП Патент,.г. Ужгород, ул.Проектная, 4
СмотретьЗаявка
2569665, 18.01.1978
ПРЕДПРИЯТИЕ ПЯ А-3162
САХИН ЮЛИЙ ХАНАНОВИЧ, СУГАТОВ АНАТОЛИЙ ЗАХАРОВИЧ, БАГАЕВ АЛЕКСАНДР НИКОЛАЕВИЧ, НАЗАРОВ ЛЕОНИД НИКОЛАЕВИЧ
МПК / Метки
МПК: G06F 13/06
Опубликовано: 05.04.1980
Код ссылки
<a href="https://patents.su/5-726533-ustrojjstvo-dlya-vyborki-komand.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для выборки команд</a>
Предыдущий патент: Трехканальное мажоритарно-резервированное устройство
Следующий патент: Устройство для преобразования координат
Случайный патент: 825272