Устройство для распаковки команд Советский патент 1982 года по МПК G06F9/00 

Описание патента на изобретение SU972507A1

1

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

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

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

Недостатками устройства ЯВЛЯРЭТСЯ использование большого объема оборудования и низкое быстродействие уст ройства при заполнении буферных регистров командной информацией.

г Цель изобретения - сокращение

объема оборудования и повышение быстродействия.

Поставленнс1Я цель достигается тем, что в устройство, содержащее

4Q счетчик адресов командной информации, регистр адреса памяти, первый и второй буферные регистры команд, регистр адреса общих регистров, блок управления выборкой команд, выход обращения которого соединен с первым

15 входом регистра адреса памяти и входом счетчика адресов командной информации, выход которого соединен с вторым, входом регистра адреса памяти, выход Которого соединен с первым вы20ходом устройства, первый и второй выходы смещения первого буферного регистра команд соединены с вторым выходом устройства-, первый вход которого соединен с входом второго буфер25ного регистра команд, первый, второй и третий адресныевыходы и выход индекса первого буферйого регистра команд соединены cooTBeiственно с первым, вторым и третьим адресными вхо30дами и входом индекса регистра адреса

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

На фиг. 1 представлена структурна схема устройства для распаковки команд; На фиг. 2 - функциональная схема блока управления выборкой команд; на Фиг. 3 - функциональная схема счетчика полуслов; на фиг. 4 - функциональная схема блока управления.

Устройство для распаковки команд Сфиг. 1) содержит сче.тчик 1 адресов командной информации, регистр 2 адреса памяти, блок 3 управления выборкой команд, первый буферный регистр 4 команд, второй буферный р егистр

5 команд, регистр б адреса общих регистров, первый мультиплексор 7, второй мультиплексор 8, третий мультиплексор 9, счетчик 10 полуслов, блок 11 управления, элемент ИЛИ 12, элемент И 13, первый вход 14 устройства, второй вход 15 устройства (импульс Сброс), третий вход 16 устройства (импульс Счет, первый выход 17 устройства, второй выход 18 устройства, третий выход 19 устройства, четвертый выход 20 устройства, пятый выход 21 устройства, выходы пятый, шестой, седьмой и восьмой второго буферного регистра 5 команд соответственно 22 - 25, выходы/ первого, второго и третьего разрядов счетчика 10 полуслов соответственно 26 - 28f первый, второй и третий выходы блока 3 управления выборкой команд соответственно 29-31, первый 32, второй 33, третий 34, четвертый 35, пятый 36, шестой 37, седьмой 38, восьмой 39, девятый 40 и десятый 41 выходы блока 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, группу элементов ИЛИ 54.1-54.14 (на фиг.4 показана только часть элементов ИЛИ группы).

Блок 11(фиг. 4 предназначен для приема кодов форматов команд, находящихся во втором, буферном регистре 5 команд, и формирования на соответствующих выходах управлякяцих сигналов в зависимости от значения кода счетчика 10 полуслов, кода формата распаковываемой команды и подаваемой с блока-3 управления выборкой команд информации о неполном занесении распаковываемой команды в первый буферный регистр 4 команд. Блок 11 выполняет двухуровневые комбинационные логические функции и позволяет реализовать И-ИЛИ, НЕ-ИЛИ и их эквиваленты. Блок 11 функционирует в соответствии с таблицей его кодирования. Первый уровень логики составляет группа элементов И 52,i52.20 (изображены на фиг. 4 не полностью Л , соединенные с любым

из входов (таблица кодирования) че- / рез инверторы прямого (обратного кода эходных сигналов 53.1.-53.13. Второй логический уровень образует группа, элементов ИЛИ 54.1.-54.14 (по одному на :выход логической матРИ1№5, каждый из которых может быть выборочно связа.н с любым из элементов И группы И 52 Стаблица кодирования .

В описании использованы слёдуювдие обозначения, принятые в системе командЭВМ: RR - формат команды длиной в одно полуслово (два байта); RX, RS, S1 , S - форматы команд длиной в два полуслова (четыре байта); SS - формат команды длиной в три полуслова (шесть байтов); адрес

регистра первого операнда; адрес регистра второго операнда; В адрес первого регистра базы; адрес второго регистра базы; смещение адреса первого регистра базы;

D,j- смещение адреса второго регистра базы; BT.- адрес регистра числа для индексации адреса второго регистра базы.

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

название год авторы номер документа
Устройство для распаковки команд 1987
  • Вырлан Иван Васильевич
  • Борш Юрий Матвеевич
SU1464157A1
Устройство для распаковки команд 1984
  • Дворецкий Борис Михайлович
  • Назьмов Ростислав Борисович
SU1251075A1
Устройство для распаковки команд 1990
  • Катаев Олег Валентинович
  • Чирский Алексей Степанович
SU1702367A1
Система ввода-вывода для микропрограммируемой ЭВМ 1988
  • Балабанов Александр Степанович
  • Булавенко Олег Николаевич
  • Кулик Светлана Ивановна
SU1667084A1
Устройство для буферизации команд 1976
  • Шкляр Виктор Борисович
  • Мойса Ромуальд Станиславович
  • Самарский Александр Стефанович
  • Реморова Римма Александровна
SU610109A1
Устройство выборки команд процессора 1986
  • Орлов Сергей Александрович
  • Поляков Анатолий Святославович
  • Некрасов Геннадий Федорович
SU1410028A1
Микропрограммный процессор 1978
  • Аноприенко Валентин Иосифович
  • Калашник Александр Григорьевич
  • Сирота Николай Антонович
  • Харитонов Василий Наумович
SU744587A1
Устройство для управления буфер-НОй пАМяТью 1979
  • Гольдреер Леонид Вениаминович
  • Кизуб Виктор Алексеевич
  • Седов Николай Петрович
SU840903A1
Устройство выборки команд процессора 1987
  • Орлов Сергей Александрович
  • Поляков Анатолий Святославович
  • Некрасов Геннадий Федорович
  • Сазонов Александр Савельевич
SU1481758A1
Микропрограммное устройство для управления и обмена данными 1983
  • Супрун Василий Петрович
  • Кривоносов Анатолий Иванович
  • Корниенко Иван Иосифович
  • Тимонькин Григорий Николаевич
  • Ткаченко Сергей Николаевич
  • Харченко Вячеслав Сергеевич
  • Никольский Сергей Борисович
SU1129601A1

Иллюстрации к изобретению SU 972 507 A1

Реферат патента 1982 года Устройство для распаковки команд

Формула изобретения SU 972 507 A1

- - значение входа несущественно; А - выход активный; . - выход неактивный..

Распаковка команд организована так, что из командной информации, принятой во второй буферный регистр 5 команд/ в первый - буферный регистр 4 команд всегда заносится только одна команда независимо от ее формата которая затем может быть выдана на обработку. Если в процессе раСпаковки команд окажется, что во второмбуферном регистре 5 команд находится только часть команды, то эта част команды загружается в соответствующую часть первого буферного регистра 4 команд, после чего производится обращение к оперативной памяти и недостающая командная информация считыва- ется во второй буферный регистр 5 команд, из которого недостающая часть команды заносится в соответствующую часть первого буферного регистра 4 команд. После этого полностью сформированная команда может быть вьадана на обработку.

Работу устройства рассмотрим на примере выборки командной информации при обработке некоторой последовательности команд.

Предположим, что второйбуферный регистр 5 команд имеет 64 разряда (0-63 разряда - 4 полуслова), а первый буферНЕЛй регистр команд 4 должен быть рассчитан на максимальную длину формата команды, т„е. на 48 разрядов или три полуслова. Таким образом, у нас во втором буферном регистре 5 команд в исходном (начальном) состоянии всегда будет находиться, как минимум, одна команда для ее вьщеления. Пусть мы обрабатываем последовательность команд RX, RR, SS, RS. По начальной выборке значение счет.чика адреса команд из счетчика 1 через регистр 2 адреса памяти выдается на первый выход 17 устройства.Пс5 этому адресу из памяти считывается двойное слово, которое поступает на первый вход 14 устройства и записывается во второй буферный .регистр 5 команд, на второй вход устройства 15 поступает импулбс Сброс, по которому сбрасывается в нулевое состояние (код 000) счетчик полуслов 10, а блок 3 управления выборкой команд на своем втором выходе 30,устанавливает разрешающий потенциал, который подается на второй вход элемента И 13.

Таким образом, первое полуслово распаковываемой команды формата RX оказалось в первом полуслове второго буферного регистра 5 команд.. С выхода 2 2 второго буферного регистра 5 команд два старших разряда (О и 1) определяющие формат команды. Подаются на первый вход блока 11, который функционирует в соответствии с таблицей его кодирования.

В рассматриваемом случае команде формата RX сЬответствует вторая строка таблицы кодирования, которая указывает, что на первом 32 выходе блока 11 будет код 00 и первое полуслово распаковываемой команды с выхода второго буферного регистра команд

5передается через мультиплексор 7 на первый вход первого буферного регистра 4 команд, а на, выходе 33 блока 11 будет код 01, что обеспечивает передачу второго полуслова распаковываемой команды с второго выхода второго буферного регистра команд 5 через мультиплексор 8 на второй вход

первого буферного регистра 4 команд. Первое и второе полуслова распаковываемой команды принимаются в первый буферный регистр команд 4 при наличии сигналов разрешения приема на четвертом 35 и пятом 36 выходах блока 11.

На входы 39 - 41 счетчика 10 полуслов подаются соответственные сигналы, разрешающие увеличение текущего значения счетчика Hai+l, +2 и +3. На четвертый вход счетчика с второго 15 входа устройства поступает сигнал сброса счетчика 10 полуслов в нулевое состояние, а с третьего

входа 16 устройства поступает импульс Счет, по которому производится увеличение текущего значения счетчика полуслов 10 на величину, определяемую соответствующим разрешающим сигналом на одном из входов 39, 40 или 41. Значение первого (младшего) разряда выдается на первый выход 26 счетчика 10 полуслов, второго - на второй выход 27, третьего - .на третий выход 28.

При выполнении команды формата RX производится увеличение значения счетчика на +2. Одновременно с этим на выходе элемента ИЛИ 12 появляется команда, которая проходит на выход

элемента И 13 как команда, разрешающая использование выделенной команды для дальнейшей обработки. Выделенная .команда с выхода первого буферного регистра 4 команд может полностью или частично f например, код операции быть выдана на четвертый выход 20 vcтpoйcтвa. Распакованная , команда всегда полностью находится на первом буферном регистре команд 4.

Адрес R, (разряды 8-11. - первый адресный выход блока 4), индекс Х (разряды 12-15 - второй адресный выход блока 4 и адрес Ъ ( разряды 16-19 - третий адресный выход блока 4) могут пересылаться в регистр

6адреса общих регистров, с которого могут вьвдаваться на третий 19 выход устройства. Смещение 1) выдается из 20-31 разрядов (первый выход смеще.ния)первого буферного регистра 4 ко;манд на второй выход 18 устройства. Информация, снимаемая с выходов 18 .и 19 устройства необходима для адресной арифметики, которая может производиться на общем арифметическом устройстве процессора (не.показано).

По окончании действий, заданных командой формата RX или частичного ее выполнения (определяется конкретной реализацией процессора) на третий 16 вход устройства, поступает импульс Счет, который в счетчике полуслов 10 устанавливает код 010.

Начинает распаковываться следующая команда формата RR, которая полностью находится в третьем полуслове (разряды32-47 второго буферного регистра 5 команд, а поэтому не требуется обращение к памяти. При выполнении команды формата RR третье полуслово с третьего выхода второго буферного регистра 5 команд через Мультиплексор 7 пересылается на первый вход первого буферного регистра

4команд. В результате полного ( или частичного выполнения) команды формата RR в счетчике 10 полуслов устанавливается код 011(девятая строка таблицы кодирования),.

Начало следующей команды фоомата SS находится в четвертом полуслове второго буферного регистра 5 команд (шестнадцатая строка таблицы кодирования ). При выполнении команды формата SS четвертое полуслово с четвертого выхода второго буферного регистра 5 команд мультиплексор 7 пересылается на первый вход первого буферного регистра 4 команд/ а на седьмом выходе 38 блока 11 устанавливается значение кода (отличное от нуля), которое заносится в двухразрядный регистр 45 признаков. С выходи регистра 45 признаков записанная информация поступает на пятый вход 31 блока 11, а также через элемент ИЛИ 44 устанавливает в единичное значение триггер остатка 43 и формирует на втором выходе 30 блока 3 управления выборкой команд запрещающей сигнал, а на первом выходе 29 - формируется команда, позволяклцая Произвести обращение к памяти за следующим двойным словом командной информации, которое поступает на первый вход 14 устройства и записывается во второй буферный регистр

5команд. Одновременно на второй вход 15 устройства поступает импульс Сброс, по которому в счетчике 10 полуслов устанавливается код 000 и на втором выходе 30 блока 3 управления выборкой команд устанавливается разрешающий потенциал. Продолжается выполнение команды формата SS в соответствии с девятнадцатой строкой таблицы кодирования блока 11. При

этом первое и второе полуслова вто рого буферного регистра 5 команд через мультиплексоры 8 и 9 соответственно передаются на второй и третий входы первого буферного регистра

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

0 на пятом 21 выходе устройства. В результате полного (или частичного)) выполнения команды фсчрмата SS в счетчике 10 полуслов по импульсу Счет устанавливается код 010, а на третьем 31 выходе блока 3 управления выборкой команд устанавливается код 00.

Начало следующей команды формата RS находится в третьем полуслове второго буферного регистра 5 команд, т.е. команда формата RS полностью находится в нем однннадцатая строка таблицы кодирования блока 11). В результате полного (нлн частичного

5 выполнения команды формата RS в счетчике 10 полуслов устанавливается код 100, который означает, что во втором буферном регистре 5 команд кет командной информации. С третьего 28 выхода счетчика 10 полуслов сиг0нал поступает на второй вход блока 3 управления выборкой команд, где формируется сигнал, позволянюшй выдать на первый выход 17 устройства модифицированный на восемь адрес па мяти, по которому производится считывание из памяти следующего двойного слова командной информации на первый 14 вход устройства и продолжается процесс распаковки команд с

0 учетом длины их форматов.

Если выполняемая команда окажется командой перехода, то, чтобы изОежать лишних обращений к памяти,блокируется на втором входе 16 устройства прием импульса Счет и выдача адреса в регистр 2 адреса памяти (на фиг. 1 не показано).

Прием информации- во второй буферный регистр 5 команд и запись распакованных команд в первый буферный регистр 4 команд производится по синхросигналам (не показано).

Предлагаемое устройство позволяет уменьшить объем оборудования в 3,5

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

0

ганизация буферных регистров.

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

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

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

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

Источники информации, I принятые во внимание при экспертизе

1.Патент ФРГ № 2704560,

кл. G Об F 9/12, опублик. 1978.

2.Авторское свидетельство СССР № 610109, кл.С 06 F 9/00, 1976 (прототип).

Фиг.1

uz.Z

Фиг.З

ФагЛ

SU 972 507 A1

Авторы

Голован Александр Кузьмич

Заблоцкий Владимир Николаевич

Радкевич Александр Леонидович

Даты

1982-11-07Публикация

1981-05-21Подача