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

Номер патента: 972507

Авторы: Головань, Заблоцкий, Радкевич

ZIP архив

Текст

ощ 972507 ОПИСАНИЕИЗОБРЕТЕНИЯК АВТОРСКОМУ СВИДЕТЕЛЬСТВУ Союз СоветскихСоциалистическихРеслублик(61) Дополнительное к авт, свид-ву(22) Заявлено 210581 (21) 3292105/18-24 Р 1 М К з 6 06 Г 9/00 с присоединением заявки Мо -Государственный комитет СССР по делам изобретений н открытийОпубликовано 0711.82, Бюллетень М 41 Дата опубликования описания 07.11,82А.К.Голован, В,Н.Эаблоцкий и А.Л.Радкевич(71) Заявитель 54) УСТРОИСТВО ДЛЯ РАСПАКОВКИ КОИАНД Изобретение относится к вычислительной технике и может быть исполь зовано для распаковки командной ин формации в процессоре вычислительной машины среднего быстродействия и при построении мультиблочных и мультипроцессорных систем обработкиданных.Известно устройство обработки дан ных, в котором для выполнения подготовки машинных команд имеется про" цессор первичной обработки команд, содержащий буфер команд, два компаратора, три мультиплексора, микропрограммную память управления состоянием и адресную арифметику ( 11.Недостатком устройства является использование большого объема оборудования.Наиболее близким по технической сущности является устройство для распаковки команд, содержащее блок наращивания адресов командной информации, регистр адреса памяти, первый и второй буферные регистры команд, регистр адреса общих регистров, блок управления выборкой ко 21Недостатками устройства являются использование большого объема обору дования и низкое быстродействие уст- ройства при заполнении буферных регистров командной информацией.5 Цель изобретения - сокращениеобъема оборудования и повышение быстродействия.поставленная цель достигаетсятем, что в устройство, содержащее счетчик адресов командной информации, регистр адреса памяти, первый и второй буферные регистры команд, регистр адреса общих регистров, блок управления выборкой команд, выход обращения которого соединен с первым входом регистра адреса памяти и входом счетчика адресов командной инФормации, выход которого соединен с вторым входом регистра адреса памяти, выход которого соединен с первым выходом устройства, первый и второй выходы смещения первого буферного регистра командсоединены с вторым выходом устройства; первый вход которого соединен с входом второго буфер ного регистра команд, первый, второйи третий адресные выходы и выход индекса первого буферйого регистра команд соединены соответственно с первым, вторым н третьим адресными вхо дами и входом индекса регистра адресаобщих регистров, выход которого соединен с третьим выходом устройства, четвертый выход которого соединен с выходбм команды первого буферного регистра команд, дополнительно введены счетчик полуслов, блок управления, 5 элемент ИЛИ, элемент И, первый, второй и третий мультиплексоры, первые, 1 вторые, третьи и четвертые информа,ционные входы которых соединены соответственно с первым, вторым, третьим 1 О и четвертым информационными выходами второго буферного регистра команд, группа выходов формата команды которого соединена с группой входов формата команды блока управления, первый, второй и третий управляющие выходы которого соединены соответственно с управляющими входами первогоУ второго и третьего мультиплексоров, выходы которых соединены соответственно с первым, вторым и третьим информационными входами первого буферного регистра команд, группа разрешающих входов которого соединена с группой разрешающих выходов блока управления и группой входовэлемента ИЛИ, выход которого соединен с первым вхадом элемента И, выход которО- го соединен с пятым выходом устройства, а второй вход элемента И соединена с вторым выходом блока управле- ния выборкой команд, первый вход которого соединен с информационным выходом блока управления, управляющий вход которого соединен с управляющим выходом блока управления выборкой команд, группа выходов увеличения значения блока управления соединена соответственно с группой входов счетчика полуслов, первый и второй выходы которого соединены соответственно с первым и вторым разрешающими вхо. входами блока управления, а третий выход счетчика полуслов соединен с третьим разрешающим входом блока управления и с разрешающим входом бло ка управления выборкой команд, вход сброса которого и вход сброса счетчика полуслов срединены с вторым входом устройства, третий вход которого соединен с входами счета счетчика Полуслов и блока управления вы- . боркой команд.На Фиг. 1 представлена структурная схема устройства для распаковки команд; на фиг, 2 - Функциональная схема блока управления выборкой команд; на Фиг. 3 - Функциональная схема счетчика полуслов; на Фиг. 4 - Функциональная схема блока управления.Устройство для распаковки команд 60 (Фиг. 1) содержит счетчик 1 адресов командной инФорнации, регистр 2 адреса памяти, блок 3 управления выбор" кой команд, первый буферный регистр 4 команд, второй буФерный регистр 5 команд, регистр 6 адреса общих регистров, первый мультиплексор 7,второй мультиплексор 8, третий мультиплексор 9, счетчик 10 полуслов,блок 11 управления, элемент ИЛИ 12,элемент И 13, первый вход 14 устройства, второй вход 15 устройства ( импульс "Сброс" ), третий вход 16 устройства (импульс "Счет" ), первый выход 17 устройства, второй выход 18устройства, третий выход 19 устройства, четвертый выход 20 устройства,пятый выход 21 устройства, выходыпятый, шестой, седьмой и восьмойвторого буферного регистра 5 командсоответственно 22 - 25, выходы, первого, второго и третьего разрядовсчетчика 10 полуслов соответственно26 - 28, первый, второй и третий выходы блока 3 управления выборкой команд соответственно 29-31, первый32, второй 33, третий 34, четвертый35, пятый 36, шестой 37, седьмой 38,восьмой 39, девятый 40 и десятый 43выходы блока 11.Блок 3 управления выборкой команд(фиг. 2) содержит элемент ИЛИ 42,триггер 43 остатка, элемент ИЛИ 44,регистр 45 признаков,Счетчик 10 полуслов (фиг, 3 содержит три Э-триггера, обозначенныхсоответственно 46.1 - первый (младший), 46.2 - второй и 46.3 - третийразряды счетчика 10 полуслов, элемент И 47, элемент И-ИЛИ 48, элемент И 49, элементы ИЛИ 50 и 51.Блок 11 ( Фиг. 4 ) представляетсобой программируемую логическуюматрицу и содержит группу элементовИ 52.1-52.20 (на фиг. 4 показанатолько часть элементов И группы),инверторы прямого (,обратного) кодавходных сигналов 53,1-53.13, группуэлементов ИЛИ 541-54,14 (на. Фиг.4показана только часть элементов ИЛИгруппы).Блок 11(фиг. 4) предназначен дляприема кодов форматов команд, находящихся во втором, буферном регистре 5 команд, и формирования на соответствующих выходах управляющих сигналов в зависимости от значения кода счетчика 10 полуслов, кода формата распаковываемой команды и подаваемой с блока 3 управления выборкой команд информации о неполномзанесении распаковываемой командыв первый буферный регистр 4 команд.Блок 11 выполняет двухуровневые комбинационные логические функции и позволяет реализовать И-ИЛИ, НЕ-ИЛИи их эквиваленты, Блок 11 функционирует в соответствии с таблицей егокодирования. Первый уровень логикисоставляет группа элементов И 52.152.20 (изображены на Фиг. 4 неполностью ), соединенные с любым(по одному на .выход логической матрицьф каждый из которых может бытьвыборочно связан с любым из элементов И группы И 52 (таблица кодирования . В описании использованы следую щие обозначения, принятые в системе команд ЭВМ: ЙЙ - Формат команды длиСтрокаМ Входы матрицы позиционные обозначения на фиг. 4).А. 01001 00 .А А.Ай. Ае 10 001 00 .А А. АА ААА АеА 010 00 А. ее .э Ае. 00 010,.А 000 01..А 17 А000 10..А,.А. 000 11. ..А .АА 19 100 00120- истинное значение входа;- дополнение значения входа;значение входа несущественно;выход активный;выход неактивный. и н вАп Примечание. ф 11 ффф 0 фф ной в одно полуслово (два байта); ЙХ, Й 5, 51, 5 - форматы команд длиной в два полуслова (четыре байта);55 - формат команды длиной в три полуслова (шесть байтов); Й - адрес 5 регистра первого операнда; Й- адрес регистра второго операнда; В - адрес первого регистра базы; В - адрес второго регистра базы; 3 - смещение адреса первого регистра базы; 0 Э.- смещение адреса второго регистра базы; В, - адрес регистра числа для индексации адреса второго ре гистра базы. Выходы матрицыоперации) быть выдана на четвертый выход 20 устройства. Распакованная команда всегда полностью находится на первом буферном регистре команд 4.Ацрес В (разряды 8-11 - первый1адресный выход блока 4), индекс Х (разряды 12-15 - второй адресный выход блока 4 и адрес В (разряды 16-.19 - третий адресный выход блоф ка 4) могут пересылаться в регистр6 адреса общих регистров, с которого могут выдаваться на третий 19 выход устройства, Смещение Э выдается из 20-31 разрядов (первый выход смеще 65;ния)первого буферного регистра 4 коРаспаковка команд организованатак, что иэ командной информации,принятой во второй буферный регистр5 команд, в первый, буферный регистр4 команд всегда заносится только одна команда независимо от ее Форматакоторая затем может быть выдана наобработку, Если в процессе распаковки команд окажется, что во втором.буферном регистре 5 команд находится только часть команды, то эта частькоманды загружается в соответствующую часть первого буферного регистра4 команд, после чего производится обращение к оперативной памяти и недостающая командная информация считывается во второй буферный регистр 5 команд, из которого недостающая частькоманды заносится в соответствующуючасть первого буферного регистра 4команд. После этого полностью сформированная команда может быть выданана обработку,Работу устройства рассмотрим напримере выборки командной информациипри обработке некоторой последовательности команд.Предположим, что второй буферныйрегистр 5 команд имеет 64 разряда( 0-63 разряда - 4 полуслова), а первый буферный регистр команд 4 долженбыть рассчитан на максимальную длинуформата команды, т,е. на 48 разрядовили три полуслова. Таким образом,у нас во втором буферном регистре 5команд в исходном ( начальном) состоянии всегда будет находиться, какминимум, одна команда для ее выделения. Пусть мы обрабатываем последовательность команд ВХ, Кй, 5, Й 5,По начальной выборке значение счет-.чика адреса команд из счетчика 1 через регистр 2 адреса памяти выдается на первый выход 17 устройства.Пбэтому адресу из памяти считываетсядвойное слово, которое поступает напервый вход 14 устрОйства и записывается во второй буферный регистр 5команд, на второй вход устройства 15поступает импулвс "Сброс", по которому сбрасывается в нулевое состояние (код 000) счетчик полуслов 10,а блок 3 управления выбоцкой командна своем втором выходе 30,устанавливает разрешающий потенциал, который подается на второй вход элемента И 13 Таким образом, первое полуслово распаковываемой команды Формата ВХ оказалось в первом полуслове второго буферного регистра 5 команд., С выхо. да 22 второго буферного регистра 5 команд два старших разряда (О и 1) определяницие формат команды, подаются на первый вход блока 11, который функционирует в соответствии с таблицей его кодирования. 5 10 15 20 25 30 35 40 45 В рассматриваемом случае команде формата ВХ сОответствует вторая стро. ка таблицы кодирования, .которая указывает, что на первом 32 выходе блока 11 будет код 00 и первое нолуслово распаковываемой команды с выхода второго буферного .регистра команд 5 передается через мультиплексор 7 на первый вход первого буферного регистра 4 команд, а на выходе 33 блока 11 будет код 01; что обеспечивает передачу второго полуслова распаковываемой команды с второго выхода второго буферного регистра команд 5 через мультиплексор 8 на второй вход первого буферного регистра 4 команд. Первое и второе полуслова распаковываемой команды принимаются впервый буферный регистр команд 4 при наличии сигналов разрешения приема на четвертом 35 и пятом 36 выходах блока 11. На входы 39 - 41 счетчика 10 полуслов подаются соответственные сигналы, разрешающие увеличение текущего значения счетчика на +1, +2 и +3. На четвертый вход счетчика с второго 15 входа устройства поступает сигнал сброса счетчика 10 полуслов в нулевое состояние, а с третьего входа 16 устройства поступает импульс "Счет", по которому производится увеличение текущего значения счетчика полуслов 10 на величину, определяемую соответствующим разрешающим сигналом на одном из входов 39, 40 или 41. Значение первого (младшего ) разряда выдается на первый выход 26 счетчика 10 полуслов, второго - на второй выход 27, третьего в .на третий выход 28.При выполнении команды формата КХ производится увеличение значения счетчика на +2. Одновременно с этим на выходе элемента ИЛИ 12 появляется команда, которая проходит на выход элемента И 13 как команда, разрешающая использование выделенной команды для дальнейшей обработки. Выделенная. команда с выхода первого буферного регистра 4 команд может полностью или частично ( например, код.манд на второй выход 18 устройства. Информация, снимаемая с выходов 18 .и 19 устройства необходима для адресной арифметики, которая может производиться иа общем арифметическом устройстве процессора (не,показано).По окончании действий, заданных командой формата ВХ или частичного ее выполнения (определяется конкретной реализацией процессора) на третий 16 вход устройства, поступает импульс "Счетф, который в счетчике полуслов 10 устанавливает код 010.Начинает распаковываться следующая команда Формата ВВ, которая полностью находится в третьем полуслове (разряды 32-47) второго буферного регистра 5 команд, а поэтому не требуется обращение к памяти. При выполнении команды формата КВ третье полуслово с третьего выхода второго буферного регистра 5 команд через Мультиплексор 7 пересылается на первый вход первого буферного регистра 4 команд, В результате полного (,или частичного выполнения)команды формата РВ в счетчике 10 полуслов устанавливается код 011(девятая стро-ка таблицы кодирования),15 тьем 31 выходе блока 3 управлениявыборкой команд устанавливаетсякод 00.Начало следующей команды фоРматаР 5 находится в третьем полуслове второго буферного регистра 5 команд,т.е. команда формата В 5 полностьюнаходится в нем(одиннадцатая строкатаблицы кодирования блока 11). В рЕзультатв полного (или частичного)выполнения команды Формата В 5 в счет 25чике 10 полуслов устанавливается. код 100, который означает, что вовтором буферном регистре 5 команднет командной информации, С третьего28 выхода счетчика 10 полуслов сигнал поступает на второй вход блока3 управления выборкой команд, гдеформируется сигнал; позволяющий выдать на первый выход 17 устройствамодифицированный на восемь адрес памяти, по которому производится считывание из памяти следующего дзойного слова командной информации иапервый 14 вход устройства и продолжается процесс распаковки команд с40 учетом длины их Форматов.если выполняемая команда окажетсякомандой перехода, то, чтобы избежать лишних обращений к памяти,блокируется на втором входе 16 уст 45 ройства прием импульса "Счетф и выдача адреса в регистр 2 адреса памяти ( на фиг. 1 не показано).Прием информации. во второй буферный регистр 5 команд и запись рас 50 пакованных команд в первый буферныйрегистр 4 команд производится по сиихросигналам ( не показано),Предлагаемое устройство позволяетуменьшить объем оборудования в 3,555 раза за счет упрощения схемы управления распаковкой команд, так как иенужны узел анализа заполнения буфера,.узел продвижения информации, регистркода операции и регистр непосредственного байта, а также упрощается ОР-.ганиэация буферных регистров. 65 Начало следующей команды фоомата 55 находится в четвертом полуслове второго буферного регистра 5 команд (шестнадцатая строка таблицы кодирования). При выполнении команды формата 55 четвертое полуслово с четвертого выхода второго буферного регистра 5 команд мультиплексор 7 пересылается на.первый вход первого буферного регистра 4 команд, а на седьмом выходе 38 блока 11 устанавливается значение кода (отличное от нуля), которое заносится в двух- разрядный регистр 45 признаков. С выхода регистра 45 признаков записанная информация поступает на пятый вход 31 блока 11, а также через элемент ИЛИ 44 устанавливает в единичное значение триггер остатка 43 и формирует на втором выходе 30 блока 3 управления выборкой команд запрещающей сигнал, а на первом выходе 29 - формируется команда, позволяющая произвести обращение к памяти за следующим двойным словом командной информации, которое поступает на первый вход 14 устройства и записывается во второй буферный регистр 5 команд. Одновременно на второй вход 15 устройства поступает импульс "Сброс", по которому в счетчике 10 полуслов устанавливается код 000 и на втором выходе 30 блока 3 управления выборкой команд устанавливается разрешающий потенциал. Продолжается выполнение команды формата 55 в соответствии с девятнадцатой строкой таблицы кодирования блока 11. При этом первое и второе полуслова второго буферного регистра 5 команд через мультиплексоры 8 и 9 соответственно передаются на второй и третий входы первого буферного регистра4 команд, Таким образом, в первомбуферном регистре 4 команд оказаласьполностью размещенной команда Формата 55, которая может быть .выданана обработку по сигналу, появившемусяна пятом 21 выходе устройства. В результате полного (или частичноговыполнения команды формата 55 в счетчике 10 полуслов по импульсу фСчетф устанавливается код 010, а на треПредлагаемое устройство поэвойяет повысить также и быстродействие про ектируемого процессорапо сравнению с известным за счет обеспечения воэможности приема за один такт во второй буферный регистр команд двойногослова командной информации из оперативной памяти и за счет использованияв схеме управления распаковкой команды программируемой логической матрицы, позволяющей значительно упроститьсхему управления и уменьшить времяраспаковки команды для дальнейшей ееобработки,. Формула издбретенияУстройство для распаковки команд, содержащее счетчик адресов командной 5 информации, регистр адреса памяти, первый и второй буферные регистры команд, регистр адреса общих регистров, блок управления выборкой команд, выход обращения которого соединен с первым входом регистра адреса памяти и входом счетчика адресов командной информации, выход которого соединен с вторым входом регистра адреса памяти, выход которого соединен с первым выходом устройства, первый и второй выходы смещения первого буферного регистра команд соединены с вторым выходом устройства, первый вход которо-, го соединен с входом второго буферного регистра команд, первый, второй ЗО и третий адресные вы уды и выход индекса первого буферного регистра команд соединены соответственно с первым, вторым и третьим адресными входами и входом индекса регистра ад 35 реса общих регистров, выход которого соединен с третьим выходом устройст-. ва, четвертый выход которого соединен с выходом команды первого буферного регистра команд, о т л и ч а ю щ е - 40 е с я тем, что, с целью сокращения оборудования и повышения быстродействия, оно дополнительно содержит счетчик полуслов, блок управления, элемент ИЛИ, элемент И, первый, второй и третий мультиплексоры, первые, вторые, третьи и четвертые информационные входы которых соединены соответственно с певым, вторым, третьим и четвертым информационными выходами второго буферного регистра команд, группа выходов Формата команды которого соединена с группой входов формата команды блока управления,первый, второй и третий управляющие выходы которого соединены соответственно с управляющими входами первого, второго и третьего мультиплексоров, выходы которых соединены соответственно с первым, вторым и третьим инФормационными входами первого буферного регистра команд, группа разрешающих входов которого соединена сгруппой разрешающих выходов блокауправления и группой входов элементаИЛИ, выход которого соединен с первым входом элемента И, выход которого соединен с пятым выходом устройства, а второй вход элемента И соединен с вторым выходом блока управления выборкой команд, первый входкоторого соединен с информационным выходом блока управления, управляющий вход которого соединен с управляющим выходом блока управления выборкой команд, группа выходов увеличения значения блока управления соединена с группой входов счетчика 1 полуслов, первый и второй выходы которого соединены соответственно с первым и вторым разрешающими входами блока управления, а третий выход счетчика полуслов соединен с третьим разрешающим входом блока управления и с разрешающим входом блокауправления выборкой команд, входсброса которого и вход сброса счетчика полуслов соединены с вторымвходом устройства, третий вход которого соединен с входами счета счетчика полуслов и.блока .управления выборкой команд.Источники информации,принятые во внимание при экспертизе1. Патент ФРГ Р 2704560,кл. С 06 Г 9/12, опублик. 1978.2Авторское свидетельство СССР9 610109, кл.б 06 Г 9/00, 1976972507 рректор В.Вутяга Составитель Г.ПонамареваРедактор А.Козориз Техред Т.Маточка одннсн Тираж 731 ПГосударственного комитета СССделам изобретений и,открытийМосква, Ж, Раушская наб д з 8518/41 ВНИ

Смотреть

Заявка

3292105, 21.05.1981

ПРЕДПРИЯТИЕ ПЯ М-5339

ГОЛОВАН АЛЕКСАНДР КУЗЬМИЧ, ЗАБЛОЦКИЙ ВЛАДИМИР НИКОЛАЕВИЧ, РАДКЕВИЧ АЛЕКСАНДР ЛЕОНИДОВИЧ

МПК / Метки

МПК: G06F 9/00

Метки: команд, распаковки

Опубликовано: 07.11.1982

Код ссылки

<a href="https://patents.su/9-972507-ustrojjstvo-dlya-raspakovki-komand.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для распаковки команд</a>

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