Изобретение относится к вычислительной технике, в частности, к устройствам для буферизации команд, и может быть использовано при построении процессора цифровой вычислительной машины среднего быстродействия. Известно устройство для буферизации команд (1J, содержащее счетчики команд, коммутаторы счетчиков команд, регистров команд, сброса, блок памяти, счетчик, дешифратор, схему сравнения, триггер, регистр заявок, элементы И, ИЛИ, генератор, триггер занятости памяти, коммутатор управляющих сигналов и схему задержки. Недостатком устройства является низкая степень буферизации командной информации, чго обусловливает его низкую эффективность. Наиболее близко к изобретению по технической сущности и достигаемому положительному эффекту устройство для буферизации команд 2|, содержащее блок наращивания адресов командной информации, регистр адреса памяти, выход которого соединен с первым выходом устройства; регистр кода операции и регистр непосредственного байта, выходы которых соединены соответственно со входом дешифратора кода операции и с первым входом регистра адреса общих регистров; первый буферный регистр команд, первый выход которого соединен со входами регистра кода операции и регистра непосредственного байта; второА буферный регистр команд, первый выход которого соединен с первым входом первого буферного регистра команд; третий буферный регистр команд, первые вход и выход которого соединены соответственно со входом устройства и первым входом второго буферного регистра команд. При этом вторые выходы первого и второго буферных регистров команд соединены соответственно со вторым и третьим входами регистра адреса общих регистров, третьи выходы первого и второго буферных регистров команд соединены со вторым выходом устройства, первый выход блока наращивания адресов командной информации соединен с первым входом регистра адреса памяти, а выход регистра адреса общин регистров - с третьим выходом устройства. Недостатком устройства является использование большого объема оборудования. Цель изобретения - сокращение оборудования. Поставленная цель достигается тем, что устройство содержит блок анализа заполнения буфера, блок управления продвижением информации, блок управления выборкой команд, причем первый выход блока управления выборкой
команд соединен с четвертым входом решстра адреса общих регистров и с чстверт -лм выходом устройства, liTopoH выход блока упрйвлсния выборкой команд соеди1 еи с первыми входами блока уп1)агЗ.(еиия продзижеписм и ;фор мации и блока и;,раи1,ивания адресов команд-, ной информации и со вторым входом регистра адреса ламяти. 1 торой оыход блока наращивания HApecfjB командной информации соединен со втор,ымй зжодами первого и второго буферных региетроЕ и с гшрвым входом блока анализа загголнеиия буфера. Второй, третий н четвертый входьг блока а.чалнза заполнения буфера соединены с четвертыми выходами соoTBereTsensio первого и второго буферных регпетров команд и со вторым выходом третьего &/фер.;ОГО per.iiCTpa . Перзьгй выход де-. шифратора кода операций cof-jjjiucn со вторым входом блока наращивапия адресов коь апдной киформацни и пятым вкодец блока еизлмза заподтанш буфера, выход которого соединен со вторым входом блока .5еиия родвк спиам «пформацил и с первым вкодом блока М1рявлеиия выборкой команд. Второй вход блока уярйвлспкя выборкой команд соединен со вторым выходом дешифратора кода операций, а ицлод блока .упразлеиш продвижеиием информа дни соед1 лек с Tperbiif.sH входами первого и второго буферных регистров команд и со йторым сходом фетьего буферного реПастра комавд..
С1руятуриая схема устройства приведен а на чертеже.
Уетро;1стзс ддя буферизации комгигд содержит вход I.. третий 2, второй 3 п первый 4 буферные регистр-Ы , команд, регистр 5 адреса сбщих регистров, еиходьг 6, 7, регистр 8 кода операции, регистр 9 непосредственного байта,дешифратор 10 кодя операции, иыход И. блок 12 управлеиня вьтборкой команд, блок 13 управления продвижением ннформации, бдок 14 наращива ия адресов команд ой информации, регистр 18 адреса памятг, выход (б, блок S7 .анализа заподнения буфера,
В описании (-кпользованы сдедуюш.ие обозначения, принятые 3 е гстсйе ЭВМ/см.., например, «Процессор ЭВМ ЕС-1020 под ред. А. М. Ларионова, М., «Статистика, 1975, с. 6, рнс. 1.2/:RR -- формат команды длиной в одно полуслово ..-(два байта); RX, R1, RS - форматы команд длиной в два подуслова .(четьлре байта); SS - формат команды .длиной в гри пОиПуслова (шесть байтов); R: - адрес perHCtpa первого операн.да; Иг - адрес регистра второго операнда; В( ---.адрес первого регестра базы; В а - адрес второго регистра базы; DI - сгаещен.ие адреса «ерпого регистра базы; D2 - смеигение адреса второго регистра базы; Xi - число для нвдексацни адреса второго регистра базы.
Буферизация организована так, что первое полуслово выиолняемой -команды всегда находатся в первом буферном регистре команд 4 и крмаиДа чаще всего по,)ьчость о на.ходится в буферных регистрйх команд., Недс-стаюиии-, часть загругкается при дал.Ь(.ей.1ей выборке, когда в устройство попадаем ашдуйщ.ая комаида и уже ие требуется ее предварительная выборка. Для упр01иения анализируется необходимость только одной следующей команды т.е., если следующая комаида находится в б ферных регистрах команд 2-4 и есть место для последующего двойного слова, из памяти предварительная гыборка не производится.
В блоке 17 аналлза запо/пгения буфера учитываютея:.
зиачения п -- 2 и п - i разрядов счетчика
адреса команд из блока 14 наращивания адресов комаидной инфор.мацци;
длина выиолняемой команды в полусловах, вырабатываемая в дешифраторе 10 кода операции;
длина следующей команды, оиределяер«-5ая
Е блоке 17 анализа заполнения буфера по двум а-аршим разрядам с.1едующей команды из буфер ых регистров команд 2-4. Только в одном из 36 возможных случаев размещения, когда гюследовательно обрабатываются две команды
SS, в буферных регистрах 2-4 ие будет места для следующего двойного слова из памяти. Предварительная выборка в этом случае блокируется. Чтобы избежатьлишних обращений к памяти в случае команд переходов сигналом, вырабатываемым в дешифраторе 10
иода операции, предварительная выборка так.же блокируется.. .
Работу устройства рассмотрим на,примере
выборки ко.маидной информации при обработFS иекоторой поа едовательности команд.
Предположим, что буферные регистры 2-1-4 имеют 32 разряда (О-31 разряды с ОД,2,3 байтами), адрес памяти - 24 разряда (8-31 разряды). Пусть В памяти, начинаяС. адреса с нуле5ым значением 29-го разряда и единичным значением 30-го, раСпс ложена поСуТедовательйость конаид RX, RR, SS, RS. По начальной выборке блок 12 управления Bbt6opкон команд вырабатывает сигнал- выдачи- значения счетчика адреса команд из блока 14 наращивания адресов командной информация регистр 15 адреса памяти на выход 16.
iio нулевому значению 29-го разряда адреса памяти (начало команды расположено в четном, слове двойного слова памяти) первой посылкой по входу 1 во все три буферных регястра команд 2 Ч- 4 сигналом из блока 13
управления продвижением- информации одноврерленно заносится четное слово информации,
второй посылкой - нечетное слово только в
третий буфернь1Й регистр-команд 2 и второй
буферный регистр команд 3.
Таким образом, первое полуслово выполняемой команды RX оказалось е первом бу{|)ерком регистре 4, начиная со второго байта (по состЬянию счетчика адреса команд из блока 14 наращивания адресов командной информации;, а второе полуслово - во втором буферном регистре ко.манд 3, начиная с нулевого байта. Поэтому в регистр 8 кода операции и регистр 9 непосредственного байта выдается ииформацг-ш cooi-ветственно из второго и третьего байтов первого буферного регистра команд 4. Адрес RI и индекс Х иересььтаются затем в
регистр 5 адреса общих регистров. Из второго буферного регнстра комаьл 3 (разряды 03), по состоянию счетчяка адреса команд выдает, ш адрес В в регистр б адреса общих регистров, из которого выдается индекс или адрес по сигналу, выдаваемому на выход И блоком 12 управления выборкой команд. Смещение D выдается из разрядоБ второго буферного регистра команд 3 на выход 7. Адресная арйф/йетика прО:,злод;п-с5; на общем арнфмети: ческом устройстве процессора (не показано). 1осле выдачи информации,. нeoб. для адресной арифметикн, содержимое 1зторого буферного регистра команд 3 продвигается в первый буферный регистр конспд 4, каращН вается на длину вьтолияеной команды содержимое счетчика адреса команд в блоке 14 наращивания адресов командной информации. По шончанин действий, заданных з коде операции ког зандь РК, начинает; выполняться следующая команда RR, которая нолностыо находится во втором н третьем байтах первого буферного рег;;стра 1юглан.д 4, Поэтому во вр$мя обработки колэнды RX не 1;оиадсбилась предварительная obidop iia. Блок 17 анализа заполнения буфера во об(эаботки команды RR определяет, что следующая команда полностыз отсутствует в буферных регистрах 2-4, с чем Чзыдается сигнал в блок 13 управления продзижением информации. Выдается также сигнал о необходимости предваритолышй выборки - в блок 12 управления выбсраой КОМНЕЩ, который увеличивает адрес в .счетчике адреса кор.Ганд на 8, чтобы получить адрес следующего двойного слова, и управляет его выдачей на выход 16. Так как следующая команда полностью отсутствует в буферных регистрах 2-4. то блок 13 управления продвижения информации организует занесение двойного слова в буферные регистры команд 2-4 аналогично начальной выборке. Начало следующей команды SS будет находиться в нулевом байте первого буферного регистра команд 4, п1)этому выдача.в регистр 8 кода операции и в регистр 9 непосредственного байта осуществляется соответственно..из нулевого и первого байтов, а адрес В г и смещение Di выдаются из второго и третьего байтов регистра. Адрес В и смещение Di выдаются из нулевого и первого байта второг.о буферного регистра команд 3. Необходимо отметить, что адреса базы и смещение могут выдаваться -и со второго и третьего байтов этого регистра. Перед предварительной выборкой по сигналу из блоаа 12 управления выборкой команд, блок 13 уг1равления продвижением информацг и пересылает полезный остаток в первьш буферный регистр команд 4. Так как по опредеаению блока 17 анализа заполнения буфера следующая команда RS частично находится ff первом буферном регистре команд 4, занесение следующего двойного слова ко ландкой информации при первой игк-ьмке будет выполнено в третий 2 и второй Л буферные регистры команд четным словом, .; при второй гюсьи ке - тольКО в третий буферный регистр 2 нечетным словом, как н при дальиейнюй выборке. Принимая, среднюю длину команды 8 два нoлycJ Oвa, можно предположигь. что предвар{ггель:ю выбранной будет каждая вторая кошнда, т S. обращений к на.мяти будет в два рчза меньи1е, чем при отсутствий буферизации, следовательно, и время выборки каждой командь уменьшится в два раЗа, что лает при сравнительно небольших затратах на буферизацию значительное увеличение быстродействия процессора. Формула изобрвтекик . Устройство для буферизации команд,-содержащее блок наращивания адресрв командной кнфорнации, регистр адреса памяти, выз(,од которого соединен с первым выходом устройстпя регистр кода операции и регистр непосредстьеш-ого байта, выходы которых соединены ссответстгскло со входом дешифратора кода онерацни и с первым входом регистра адреса общнх. регистров, первый буферный регистр команд, iiepBbiA выход которого соединен со входами регистра кода операции н регистра непосредствекь-ого байта, второй буферный регистр команд., первый выход которого соединен с nepBbiJvi входом первого буферного регистра команд, третий буферный регистр команд, первые зкод и sHxo/j которого соединены соот л;:тсгь :й.:::. : У;;-;сдэ.; устройства к первым входов второго буферного регистра команд, причегл вторые вьгходы первого и второго буферных регистров команд соединены соответственно со вторы.м и трст;зим входами регистра адреса общнх регистров, третьи, выходы первого и второго буферных регистров команд соединены со вторым выходом устройства, первый выход блока наращивания адресов командной инф.орманки соединен с первым входом регистра адреса памяти, а выход регистра адреса общнх регистров соединен с третьим выходом устройства, отличающеесяTQW, что, с целью сокращения оборудования, оно содержит блок, анализа заполнения буфера, блок управления продвижением информации, блок управления выборкой команд, причем первый выход блока управления выборкой команд соединён с четвертым входом регнстра адреса общих регистров и с четЕ ертым выходом устройства, второй выход блока управления выборкой команд соединен с первыми входами блока управления продвижением информации и блоV3. наращивания адресов командной информация, и со вторым входом регнстра адреса памяти, второй выход блока наращивания адресов командной информации соединен со вторыми входами первого и второго буферных регистров команд и с первым входом блока анализа заполнения буфера, вто)ой, третий и четвер.тый входы которого соединены с четвертыми ш ходами соответственно первого и второго буферных регистров команд и со вторым выходом третьего буферного регистра команд, нор
вый выход дешифратора кода операций соединен со вторым входом блока наращивания адресов командной информации и пятым входом блока анализа заполнения буфера, выход которого соединен со вторым входом блока управленняГвыборкой , второй вход которого соединен со вторым выходом дешифратора кода операции, а выход блока управления продвижением информации соединен с третьими
входами первого и второго буферных регистров команд и со вторым входом третьего буферного регистра команд.
Источники информации, принятые во внимание при экспертизе:
1.Авторское свидетельство СССР № 438990, кл. С 06 р|П973.
2.Патент Великобритании № 1081985, кл. С 4 А, 1970.
название | год | авторы | номер документа |
---|---|---|---|
Устройство для управления буфер-НОй пАМяТью | 1979 |
|
SU840903A1 |
Устройство для распаковки команд | 1981 |
|
SU972507A1 |
Процессор | 1976 |
|
SU670935A1 |
Система ввода-вывода для микропрограммируемой ЭВМ | 1988 |
|
SU1667084A1 |
Устройство предварительной выборки команд | 1983 |
|
SU1107123A1 |
Устройство центрального управления процессора | 1983 |
|
SU1136177A1 |
Устройство для выборки команд | 1978 |
|
SU726533A1 |
Устройство для распаковки команд | 1984 |
|
SU1251075A1 |
Микропрограммный процессор | 1978 |
|
SU744587A1 |
Устройство буферизации команд процессора | 1983 |
|
SU1092506A1 |
Авторы
Даты
1978-06-05—Публикация
1976-07-23—Подача