SU1702367A1 - Устройство дл распаковки команд - Google Patents
Устройство дл распаковки команд Download PDFInfo
- Publication number
- SU1702367A1 SU1702367A1 SU904806337A SU4806337A SU1702367A1 SU 1702367 A1 SU1702367 A1 SU 1702367A1 SU 904806337 A SU904806337 A SU 904806337A SU 4806337 A SU4806337 A SU 4806337A SU 1702367 A1 SU1702367 A1 SU 1702367A1
- Authority
- SU
- USSR - Soviet Union
- Prior art keywords
- command
- output
- input
- address
- control unit
- Prior art date
Links
Landscapes
- Complex Calculations (AREA)
Abstract
Изобретение относитс к вычислительной технике и может быть использовано дл распаковки командной информации в конвейере команд процессоров с сокращенным набором команд. Цель изобретени - расширение области применени за счет организации выполнени команд переходов и повышение быстродействи за счет сокращени потерь времени при выполнении команд переходов. Устройство содержит счетчик адресов команд, первый и второй буферные регистры команд, первый и второй мультиплексоры, блок управлени , первый и второй элементы ИЛИ, первый и второй триггеры, регистр хранени следующего адреса, мультиплексор выбора адреса. Достижение цели обеспечиваетс путем реализации опережающего формировани одного из возможных адресов следующей команды при выполнении условных переходов . 10 фиг. И
Description
Изобретение относитс к вычислительной технике и может быть использовано дл распаковки командной информации в конвейере команд процессоров с сокращенным набором команд
Известно устройство, содержащее блок регистров команд, блок управлени выборкой команд и блок управлени , причем информационный вход устройства соединен с информационным входом блока регистров команд, выход которого вл етс информационным выходом устройства, первый выход блока управлени соединен с управл ющим входом блока регистров команд первый выход блока управлени выборкой команд вл етс адресным выходом
устройства, мультиплексор, дешифратор и блок хранени команд перехода, содержащий регистр сдвига, элемент задержки, элемент НЕ,элемент ИЛИ, две группы элементов И, группу сумматоров по модулю два, две группы регистров, группу элементов ИЛИ, блок управлени выборкой команд содержит элемент И, три элемента ИЛИ, сумматор по модулю два, параллельный накапливающий сумматор, два мультиплексора и счетчик, а блок управлени содержит группу элементов ИЛИ, группу элементов И, элемент ИЛИ и регистр сдвига, причем первые входы сумматора по модулю два группы блока хранени команд перехода соединены с выходами счетчика параллельного наХ|
О
ю со о
VI
капливэющего сумматора, элемента И и первым выходом блока управлени выборкой команд, входы адреса перехода устрой- сгва соединены с первыми входами элементов И первой группы, с входами элемента ME и элемента задержки, с информационными входами регистров первой и второй групп блока .хранени команд перехода , выход элемента ИЛИ и выходы элементов ИЛИ группы которого соединены с первыми группами информационных входов первого и второго мультиплексоров, с первыми управл ющими входами первого и второго мультиплексоров и с первым входом первого элемента ИЛИ блока управлени выборкой команд, вторые группы информационных входов первого и второго мультиплексоров которого соединены с группой входов адреса команд устройства, вторым входом первого элемента ИЛИ, с вторым и третьим управл ющим входами первого и второго мультиплексоров блока управлени выборкой команд, инверсный вход элемента И соединен с разр дным выходом регистра сдвига блока управлени , выходы элементов ИЛИ группы которого соединены с первым выходом этого блока, первый и второй входы элемента ИЛИ, установочные входы регистра сдвига и первые входы элементов И группы которого соединены с установочным входом устройства, первый и второй входы сумматора по модулю два блока управлени выборкой команд соединены с первым и вторым входами элемента ИЛИ этого блока и с выходом мультиплексора , первый и второй входы которого соединены соответственно с информационным входом устройства и с выходом дешифратора , группа входов которого соединена с группой выходов параллельного накапливающего сумматора блока управлени выборкой команд, выход первого элемента ИЛИ которого соединен с первым входом третьего элемента ИЛИ этого блока и с входом запуска блока регистров команд, а в блоке управлени выборкой команд выходы первого и второго мультиплексоров соединены соответственно с первым входом счетчика и входом параллельного накапливающего сумматора, разр дный выход которого соединен с вторыми входами счетчика и третьего элемента ИЛИ, выход которого соединен с пр мым входом элемента И, выходы сумматора по модулю два и второго элемента ИЛИ соединены с третьей группой информационных входов второго мультиплексора , а в блоке управлени вторые входы элементов И группы соединены с соответствующими выходами регистра сдвига, выходы элементов И группы соединены с первыми входами элемента ИЛИ группы, вторые входы которого соединены с выходом элемента ИЛИ и с соответствующим установочным входом регистра сдвига,
а в блоке хранени команд перехода выходы регистра сдвига соединены с вторыми входами соответствующих элементов И первой группы, выходы которых соединены с первыми управл ющими входами регистров
0 первой и второй групп, вторые управл ющие входы последних соединены с выходами соответствующих элементов И второй группы и с соответствующими входами элемента ИЛИ, выходы регистров первой груп5 пы соединены с вторыми входами соответствующих сумматоров по модулю два группы, выходы которых соединены с входами соответствующих элементов И второй группы, выход каждого регистра второй
0 группы соединен с соответствующими входами всех элементов ИЛИ группы, выход элемента НЕ : соединен с вторыми управл ющими входами всех регистров первой группы, выход элемента задержки соединен
5 с входом регистра сдвига.
Кроме того, блок регистров команд содержит группу регистров, информационные входы которых соединены с информационным входом блока и с первыми выходами
0 предыдущих регистров группы, а первый управл ющий вход каждого из регистров группы соединен с управл ющим входом блока и с вторым выходом предыдущего регистра группы, вход запуска блока соединен с вто5 рыми управл ющими входами регистров группы, а выход блока соединен с выходами первого регистра группы, выходами первых тридцати двух разр дов и вторым разр дом выходом второго регистра группы.
0 Известно также устройство, содержащее первый и второй буферные регистры команд, первый, второй и третий мультплек- Соры, счетчик адресов команд, D-триггер полуслова , первый и второй D-триггеры
5 формата, D-триггер блокировки, первый, второй и третий элементы ИЛИ, с первого по дев тый элементы И, первый и второй элементы НЕ и элемент НЕ-И, причем выходы первого, второго и третьего мультиплек0 соров вл ютс выходами первого, второго и третьего полуслов устройства. В устройстве имеютс также выход признака типа адресации команд устройства, выход адреса команды устройства, выход запрета выдачи
5 команды устройства, выход запроса следу ющего слова команды. Информационный вход буферного регистра команд вл етс входом команд устройства. В устройств имеютс также первый синхровход уст рои ства, вход разрешени приема команды vr
второго буферного регистра б команд, первый информационный выход которого вл етс выходом 35 команды устройства, первым адресным выходом 37 которого вл етс первый выход счетчика 7 адресов, который своим входом подключен к выходу мультиплексора 9 выбора адреса,, который первым информационным входом подключен к выходу 36 адреса команды перехода второго буферного регистра 6, вторым ин- формационным входом подключен к адресному входу 14 устройства, управл ющим входом подключен к седьмому выходу 28 блока 2 управлени , шестой вход 27 которого подключен к второму управл ющему вхо- ду счетчика 7 адресов, подключенного первым 37 и вторым 38 выходами к первому и второму входам регистра 10 хранени следующего адреса, выход которого вл етс вторым адресным выходом 39 устройства, а управл ющий вход регистра 10 хранени соединен с восьмым выходом 29 блока 2 управлени , дев тый выход 30 которого соединен с входом установки первого триггера 11, выход которого вл етс выходом 40 признака готовности команды устройства и подключен к восьмому входу блока 2 управлени , вход сброса первого триггера 11 соединен с выходом первого элемента ИЛИ, первый вход которого подключен к один- надцатому выходу 32 блока управлени , второй вход подключен к входу 19 сброса признака готовности команды устройства, третий вход соединен с входом 17 начальной установки устройства, который соеди- нен с вторым входом второго элемента ИЛИ 8, первый вход которого подключен к дес тому выходу 31 блока 2 управлени , выход второго элемента ИЛИ 8 соединен с входом сброса второго триггера 12, вход установки которого подключен к входу 18 сигнала невыполнени команды перехода выход второго триггера вл етс выходом 41 признака невыполнени команды перехода, к которому подключен седьмой вход блока 2 управлени , шестой и дев тый входы которого соединены соответственно с выходом 34 признака команды перехода второго буферного регистра 6 и вторым выходом 38 счетчика 7 адресов команд, а двенадцатый выход 33 вл етс выходом запроса командной информации устройства.
Первый буферный регистр 1 служит дл приема и временного хранени командной информации.
Блок 2 управлени предназначен дл управлени работой устройства.
Первый мультиплексор 3 служит дл организации пересылки командной информации в старшую половину второго буферного
регистра 6 из старшей (или из младшей) половины первого буферного регистра 1.
Второй мультиплексор 4 служит дл организации пересылки командной информации в младшую половину второго буферного регистра 6 из младшей (или из старшей) половины первого буферного регистра 1.
Первый элемент ИЛИ 5 предназначен дл объединени сигналов, сбрасывающих в нулевое состо ние первый триггер 11.
Второй буферный регистр 6 служит дл формировани и временного хранени команды .
Счетчик 7 адресов команд служит дл адресации команд в оперативной пам ти.
Второй элемент ИЛИ 8 предназначен дл объединени сигналов, сбрасывающих в нулевое состо ние второй триггер 12,
Мультиплексор 9 выбора адреса служит дл организации пересылки адресной информации из пол адреса второго буферного регистра 6 команд или с входа 14 адресной информации устройства.
Регистр 10 хранени следующего адреса предназначен дл временного хранени адреса команды, следующей за командой, сформированной во втором буферном регистре 6 команд.
Первый триггер 11 служит дл запоминани признака готовности команды, наход щейс во втором буферном регистре 6 команд, второй триггер 12 -дл запоминани признака невыполнени команды перехода.
Блок 2 управлени может быть реализован в виде микропрограммного автомата в соответствии с алгоритмом, приведенным на фиг.2 и 3.
Блок 2 управлени (фиг.4) содержит счетные триггеры 42i - 42з, дешифратор 43, четырехканальный распределитель 44 импульсов , блок 45 формировани сигналов возбуждени пам ти автомата и блок 46 формировани управл ющих сигналов.
Счетные триггеры 42i - 42з выполн ют функции пам ти автомата.
Дешифратор 43 декодирует состо ни атомата at.
Распределитель 44 импульсов формирует четыре синхросерии, используемые дл синхронизации работы блока 2 управлени .
Блок 45 формировани сигналов возбуждени пам ти автомата обеспечивает выполнение переходов пам ти автомата из состо ни ai в состо ние aj соответствии с алгоритмом, приведенным на фиг.2 и 3. Этот блок строитс в соответствии со следующими логическими выражени ми:
Т1 a0X1v aiX1l/-aiX1X2 2L ci3X4i a/4
a5X6 aefa7«eX1X2na9X1XZ aeX1: Т2 8iX1X2faiX1X2X3 /a3« aife5 a7i аоХ1Х2 agX1X2X3i/aoX1X2;
13 1X2X3. Т 4 a7jtsX1X2X7«-boX1X2X4X7 aX1 aoX1X VaoXVagX1X2 ,
Блок 46 формировани управл ющих сигналов формирует управл ющие сигналы в соответствии со следующими логическими выражени ми:
ВЫХОД 22 S3 6-aiX1X2X3j a2 -a5X6:
Выход 23 Y4 азХ4;,
ВЫХОД 24 V4 Y5VY12 за/а9Х1Х 2; 3.
Выход 25
ВЫХОД 26 YSk y YSk-YH aiX1X2X3ta2, a.-,-X6 S Va XScagX
ВЫХОД 27 YJ V2,Y10
a0X biX1X2 aaX1X2VagX X2 ariXIX2X7: ВЫХОД 28 aoXH/aiX1X2 aaX1X2 /39X1X2;
Выход 29 Y9
Выход 30 Y9
Выход 31 Ґ3 31X1X2X3 2;
ВЫХОД 32 .. ,
а1Х1Х2/ааХ1Х2иаэХ1Х aiXVa,. эсХ1;
ВЫХОД 33 Y3VY6 3iX1X2X3 - 32 S5X6;
Основные принципы работы устройства заключаютс в следующем.
В устройстве используютс команды 1 только двух форматов, причем разр дность i команд короткого формата адвое меньше разр дности команд длинного формата, Ко- 1 манды перехода имеют только длинный формат. Форматы команд приведены на фиг.5.
Командна информаци зыбнраэтс из пам ти, ширина которой равна разр дности команды длинного формата.
Дл увеличени производительности при выполнении команд переходов используетс механизм предсказани правильного адреса ветвлени , основанный на следующих фактах: свыше 50% условных переходов выполн етс ; переходы по счет- чику выполн ютс в п-1 случа х из rv безусловные переходы выполн ютс всегда. Поэтому в случае по влени в потзке команд команды перехода следующа комз - да всегда выбираетс по адресу перехода. Если на этапе выполнени команды обнаруживаетс , что переход не должен выполн тьс , тогда отмен етс выполнение команд, выбранных после команды перехода , и в счетчик адресов команд запыхаетс адрес команды, следующей по пор дку за командой перехода.
Рассмотрим работу устройства чз примере распаковки последовательности коБ
10
5
0
5
0 5
0 15 50 55
манд, расположенных в пам ти, как показано на фиг.6.
Временные диаграммы сигналов 22-33 блока 2 управлени и сигналов логических условий 15 (Х1). 20(Х5), 2-1(Х6), 34(Х7), 38(Х4), 40(ХЗ), 41(Х2) приведены на фиг. 7-10 и соответствуют двенадцати тактам распаковки последовательности команд, изображенной на фиг.6. Временные диаграммы, приведенные на фиг.9, м 10, соответствуют выполнению и невыполнению команды перехода, разметенной ло адресу А+4. На временных диаграммах приведены также сигналы 18,19, последовательность состо ний микропрограммного зтомата (авт.) и состо ние счетчика 7 адресов командной информации (СтАК). При изображении временных диаграмм были приж ты следующие допущени : конвейер команд состоит из двух ступеней -- устройства дл распаковки команд и устройства исполнени команд; кажда из выполн емых команд требует двух тактов дл исполнени ; неопределенна информаци помечаетс символами XX.
Дл облегчени воспри ти временных диаграмм сигналы запроса командной информации , (выход 33) помечены адресами запрашиваемой информации, При этом следует учитывать то обсто тельство,что младший разр д 38 счетчика 7 не поступает в пам ть командной информации.
Перед началом работы по сигналу начальной установки, подаваемому на вход 17 устройства, приводитс в исходное состо ние з0 блок 2 управлени и сбрасываютс в ноль триггеры 11 и 12. Затем на вход 14 подаетс начальный адрес А (четный) выполн емой программы, а на вход 15- активный потенциал запуска устройства. Блок управлени провер ет наличие этого сигнала (условна вершина Х1) и переходит в состо ние a i (такт 1-й), выполн операторную вершину (Y1). При этом сигнал на выходе 28 блока управлени разрешает прохождение начального адреса А через мультиплексор 9 выбора адреса на вход счетчика 7 адресов команд,а сигнал записи ( 9ыход 27 блока управлени ) производит запись начального адреса в счетчик. После анапмза условных вершин Х1 (проверка наличи сигнала запуска), Х2 (проверка признака невыполнени команды перехода) и ХЗ (проверка признака готовности команд) блок-управлени переходит в состо ние аз (выполн етс операторна вершина Y3). Прк этом блок 2 управлени (такт 2-й) выда- птг.игналы запроса командной информации ( ь;ход 33), а затем записывает полученное с nose а первый буферный регистр 1 по сиг НИЛУ за-iwcn (выход 22) и увепичивает содертройства , вход признака типа.команд устройства , вход адреса команд устройства и второй синхровход устройства.
Однако известные устройства имеют большие потери времени при выполнении команд переходов.
Наиболее близким к предлагаемому по технической сущности вл етс устройство, содержащее счетчик адресов командной информации , регистр адреса пам ти, первый и второй буферные регистры команд, -ре- тистр адреса общих регистров, блок управлени выборкой команд, выход обращени которого соединен с первым входом регистра адреса пам ти и входом счетчика адресов командной информации, выход которого соединен с первым выходом устройства, первый и второй выходы смещени первого буферного регистра команд соединены с вторым выходом устройства, первый вход которого соединен с входом второго буферного регистра команд, первый, второй и третий адресные входы и выход индекса первого буферного регистра команд соединены соответственно с первым, вторым и третьим адресными вхЬдами и входом индекса регистра адреса общих регистров, выход которого соединен с третьим выходом устройства, четвертый выход которого соединен с выходом команды первого буферного регистра команд. Кроме того, устройство содержит блок управлени , элемент ИЛИ, элемент И, первый, второй и третий мультиплексоры , первые, вторые, третьи и четвертые информационные входы которых соединены соответственно с первым, вторым , третьим и четвертым информационными входами второго буферного регистра команд,группа выходов формата команды которого соединена с группой входов формата команды блока управлени , первый, второй и третий управл ющие выходы которого соединены соответственно с управл ющими входами первого, второго и третьего мультиплексоров, выходы которых соедине- Hti соответственно с первым, вторым и третьим информационными входами первого буферного регистра команд, группы разрешающих входов которого соединены с группой разрешающих выходов блока уп: равлени и группой входов элемента ИЛИ, выход которого соединен с первым входом элемента И, выход которого соединен с п тым выходом устройства, второй вход элемента И соединен с вторым выходом блока управлени выборкой команд, первый вход которого соединен с информационным выходом блока управлени , управл ющий вход которого соединен с управл ющим выходом блока управлени выборкой команд.
группа выходов увеличени значени блока управлени соединена соответственно с группой входов счетчика полуслов, первый и второй выходы которого соединены соот- ветственно с первым и вторым разрешающими входами блока управлени , а третий выход счетчика полуслов соединен с третьим разрешающим входом блока управлени и с разрешающим входом блока управлени
0 выборкой команд, вход сброса которого и вход сброса счетчика полуслов соединены с вторым входом устройства, третий вход которого соединен с входами счета счетчика полуслов и блока управлени выборкой ко5 манд.
Однако с помощью такого устройства невозможно формирование адреса перехода .
Цель изобретени - расширение обла0 сти применени за счет организации выполнени команд переходов и повышение быстродействи путем сокращени потерь времени при выполнении команд переходов при предсказании правильного адреса вет5 влени .
Поставленна цель достигаетс тем. что в устройство, содержащее счетчик адресов команд, первый и второй мультиплексоры, первый и второй буферные регистры ко0 манд, причем вход командной информации устройства подключен к информационному входу первого буферного регистра команд, первый информационный выход которого подключён к первому информационному
5 входу первого мультиплексора и второму информационному входу второго мультиплексора , второй информационный выход первого буферного регистра подключен к второму информационному входу первого
0 мультиплексора и к первому информационному входу второго мультиплексора, выходы первого и второго мультиплексора, выходы первого и второго мультиплексоров подключены соответственно к первому и
5 второму информационным входам второго буферного регистра команд, первый информационный выход которого вл етс выходом команды устройства, первым адресным выходом которого вл етс первый выход
0 счетчика адресов команд, дополнительно введены блок управлени , первый и второй элементы ИЛИ, первый и второй триггеры, регистр хранени следующего адреса и мульти- плексор выбора адреса, который первым ин5 формационным входом подключен к второму информационному выходу второго буферного регистра, вторым информационным входом подключен к адресному входу устройства, управл ющим входом подключен к седьмому выходу блока управлени , а
буферного регистра, вторым информационным входом подключен к адресному входу устройства, управл ющим входом подключен к седьмому выходу блока управлени , а выходом соединен с входом счетчика адресов , подключенного первым и вторым управл ющими входами соответственно к п тому и шестому выходам блока управлени , первым и вторым выходами к первому и второму входам регистра хранени следующего адреса, выход которого вл етс вторым адресным выходом устройства, а управл ющий вход регистра хранени следующего адреса соединен с восьмым выходом блока управлени , дев тый выход которого соединен с входом установки первого триггера, выход которого вл етс признаком готовности команды устройства ш подключен к восьмому блока управлени , вход сброса первого триггера соединен с выходом первого элемента ИЛИ, первый вход которого подключен к одиннадцатому выходу блока управлени , второй вход подключен к входу сброса признака готовности команды устройства, третий вход соединен с входом начальной установки устройства, который соединен с вторым входом второго элемента ИЛИ, первый вход которого подключен к дес тому выходу блока управлени , выход второго элемента 14ЛИ соединен с входом сброса второго триггера, вход установки которого подключен к входу сигнала невыполнени команды перехода, выход второго триггера вл етс признаком невыполнени команды перехода устройства, к которому подключен седьмой вход блока управлени , пустой и дев тый входы которого соединены соответственно с выходом признака команды перехода второго буферного регистра и вторым выходом счетчика адресов команд, первый выход блока управлени соединен с входом записи первого буферного регистра команд, второй выход соединен с управл ющими входами первого и второго мультиплексоров, третий у. четвертый выходы соединены соответственно с первым и вторым вхойами записи второго буферного регистра команд, первый и второй входы соединены соответственно с первым и вторым выходами признаков формата команды первого буферного регистра, третий , четвертый и п тый входы вл ютс соответственно входами запуска, синхронизации и начальной усганонки устройства , а двенадцатый выход подключен к выходу запроса командной информации устройства .
На фиг.1 представлена схема прздлага- емого устройства; на фмг.2 и 3 т алгоритм
работы блока управлени ; на фиг.4 - схема блока управлени ; на фиг.5 - форматы команд; на фиг.6 - пример расположени команд в пам ти; на фиг, 7-10 - временные
диаграммы, по сн ющие работу устройства .
Устройство дл распаковки команд (фйг.1) содержит первый буферный регистр 1 команд, блок 2 управлени , первый 3 и
0 второй 4 мультиплексоры, первый элемент ИЛИ 5, второй буферный регистр 6 команд, счетчик 7 адресов команд, второй элемент 1АЛ1А 8, мультиплексор 9 выбора адреса, регистр 10 хранени следующего адреса, пер5 вый 11 и второй 12 триггеры, вход 13 командной информации, адресный вход 14,, вход 15 запуска, вход 16 синхронизации, вход 17 начальной установки, вход 18 сигнала невыполнени команды перехода, вход
0 19 сброса признака готовности команды, первый 20 и второй 21 выходы признаков формата команды, группу выходов 22-33 блока управлени , выход 34 признака команды перехода, выход 35 команды, выход
5 36 адреса команды перехода, первый адресный выход 37, выход 38 младшего разр да счетчика адресов, второй адресный выход 39. выход 40 признака готовности команды, выход 41 признака невыполнени команды
0 перехода, причем первый выход 22 блока управлени 2 соединен с входом записи первого буферного регистра 1 команд, второй выход 23 - с управл ющими входами первого 3 и второго 4 мультиплексоров, тре5 тми 24 и четвертый 25 выходы - соответственно с первым и вторым входами записи второго буферного регистра команд 6, п - гый выход 26 - с первым управл ющим входом счетчика адресов 7, первый и второй
0 входы блока управлени 2 - соответственно с первым 20 и вторым 21 выходами признаков формата команды первого буферного регистра 1, третий четвертый и п тый входы вл ютс соответственно входами 15 запу5 ска, 16 синхронизации и 17 начальной установки устройства, вход 13 командной информации которого подключен к информационному входу первого буферного регистра 1, первый информационный выход
0 которого подключен к первому информационному входу первого мультиплексора 3 и второму информационному входу второго мультиплексора4, второй информационный выхо$ первого буферного регистра 1 подВ ключей к второму информационному входу первого мультиплексора 3 и первому информационному входу второго мультиплексора 4, выходы первого 3 и второго 4 мультиплек- соров подключены соответственно к перво- му и второму информационным входам
жимое счетчика адресов на единицу (выход 26). Содержимое счетчика становитс равным А+1. Анализиру , равен ли единице младший разр д (выход 38) счетчика адресов (условна вершина Х4), блок управлени переходит в состо ние 3-й), организу пр мую передачу командной информации из первого буферного регистра 1 во второй буферный регистр 6 через первые входы мультиплексоров 3 и 4 (выполн етс операторна вершина Y4). При этом блок управлени формирует соответствующие управл ющие сигналы: управлени мультип- лексорами (выход 23), записи в старшую (выход 24) и младшую (выход 25) половины второго буферного регистра 6. Анализ выхода 20 признака формата команды (условна вершина Х5) показывает, что перва команда имеет короткий формат и, следовательно, готова дл передачи из второго буферного регистра дл дальнейшей обработки. Блок управлени переходит в состо ние а, а затем в состо ние as. При переходе из состо- ни а в состо ние SB выполн етс операторна вершина Y9, При этом содер- жимое счетчика 7 адресов (адрес первого полуслова второй команды А+1) записываетс в регистр хранени следующего адреса сигналом с выхода 29 и сигналом с выхода 30 устанавливаетс в 1 триггер 11 - при- знак готовности команды к дальнейшей обработке .
Проверка условных вершин Х1 (наличие сигнала запуска), Х2 (признак невыполнени команды), Х7 (признак команды перехо- да - выход 34 второго буферного регистра 6) и Х4 (проверка, равен ли единице младший разр д счетчика 7) приводит к переходу в состо ние ад (выполн етс операторна вершина Y11), При этом содержимое счетчи- ка адреса увеличиваетс на единицу по сигналу , формируемому на выходе 26 блока управлени , и становитс равным А+2.
Если следующа ступень конвейера команд готова к обработке команды, наход - щейс во втором буферном регистре 6, и признак готовности команды (выход 40 устройства ) равен единица, то происходит перезапись информации из второго буферного регистра 6 и регистра 10 хране- ни в соответствующие регистры следующей ступени конвейера. Одновременно следующа ступень конвейера сбрасывает признак готовности команды (триггер 11) в О по входу 19 устройства (такт 3-й), сигна- лизиру блоку управлени о том, что можно продолжать распаковку командной информации . Признак готовности команды провер етс блоком 2 управлени в условных вершинах Х2.
После проверки условных вершин Х1 (наличие сигнала запуска), Х2 (признак невыполнени команды перехода) и ХЗ (признак готовности команды) блок управлени переходит в состо ние as (выполн етс операторна вершина Y12). При этом осуществл етс пересылка первой половины второй команды из младшей половины первого буферного регистра 1 в старшую половину второго буферного регистра 6 по единичному сигналу управлени мультиплексорами 3 и 4 (выход 23) и запись в старшую половину второго буферного регистра 6 (выход 24). Анализ выхода 21 признака формата команды (условна вершина Х6) указывает на то, что в первый буферный регистр 6 была записана старша часть команды длинного формата и поэтому надо выбрать следующее слово командной информации, в котором содержитс втора половина этой команды, Блок управлени переходит в состо ние ае (выполн етс операторна вершина Y6).
При этом формируютс сигналы (такт 4-й) запроса командной информации (выход 33), записи слова командной информации, полученной из чейки с адресом А+2, в первый буферный регистр 1 (выход 22) и увеличени содержимого счетчика адресов команд на единицу (выход 26). Содержимое счетчика 7 адресов после выполнени операторной вершины Y6 равно А+3. Затем блок управлени (такт 5-й) переходит в состо ние а (выполн етс операторна вершина Y7). Управл ющие сигналы этой вершины осуществл ют запись содержимого старшей половины первого буферного ре- гистрз в младшую половину второго буферного регистра (единичный сигнал на выходе 23 и сигнал с выхода 25 блока управлени ). После оперативной вершины Y7 вы- полн етс операторна вершина Y9 (выполн етс переход в состо ние as), во врем выполнени которой происходит запись содержимого счетчика 7 адреса в регистр 10 храненни следующего адреса (сигналом с выхода 29) и установка признака готовности команды в 1 (сигналом с выхода 30). Анализ условных вершин Х1, Х2, Х7, Х4 приводит к выполнению операторной вершины Y11 (переход в состо ние аэ), сигнал которой (выход 26) увеличивает содержимое счетчика адресов на единицу. Содержимое счетчика адресов становитс равным А+4. После того как будет сброшен признак готовности команды от следующей ступени конвейера команд, выполн етс операторна вершина Y12 (переход в состо ние as), сигналы которой записывают содержимое младшей половины первого буферного регистра в старшую половину
второго буферного регистра (выходы 23 и 24 блока управлени ). Анализ выхода 21 признака формата команды (условна вершина Х6) показывает, что распаковываема команда имеет короткий формат. Блок управлени переходит в состо ние а& и выполн ет операторную вершину Y9 (запись в регистр 10 хранени адреса А+4 и установка признака готовности команды). После этого в результате анализа условных вершин Х1, Х2, Х7 и Х4 микропрограммный автомат блока управлени переходит в состо ние ai (без выполнени операторных вершин), к анализу условных вершин Х1, Х2 и ХЗ. В такте 7-м признак готовности команды ХЗ (выход 40) равен единице - продолжает выполн тьс предыдуща команда, поэтому нет перехода в состо ние аз. Если триггер 11 признака готовности команд сброшен в О, (выход 40), блок управлени выполн ет операторную вершину Y3 (такт 8-й), формирует сигналы запроса командной информации (выход 33), записи в первый буферный регистр (выход 22) и увеличени содержимого счетчика адресов команд (выход 26).
Содержимое счетчика адресов команд становитс равным А+5, а очередное слово командной информации, выбранное из чейки пам ти с адресом А+4, записываетс в первый буферный регистр 1. Анализ услов- - ной вершины Х4 (четный ли адрес в счетчике адресов) приводит к выполнению операторной вершины Y4 (переход в состо ние ). Сигналы, формируемые блоком управлени во врем выполнени операторной вершины Y4 (выходы 23,24 и 25 блока управлени ), осуществл ют пр мую пересылку содержимого первого буферного регистра 1 во второй буферный регистр 6. Анализ выхода 20 признака формата команд (условна вершина Х5) показывает, что в первом буферном регистре 1 команд, а следовательно, и во втором буферном регистре) находитс команда длинного формата. Блок управлени выполн ет операторную вершину Y8 (переход в состо ние а), в которой наращиваетс на единицу содержимое счетчика адресов команд (сигнал с выхода 26 блока управлени ). В результате содержимое счетчика адресов становитс равным А+6, адресу следующую команду. После выполнени операторной вершины Y9 (переход в состо ние ав) блок управлени анализирует условные вершины Х1, Х2 и Х7. Анализ условной вершмны Х7 (проверка признака команды условного перехода - выход 34 второго буферного регистра 6) приводит к выполнениюоператорной вершины Y10(ne- реход в состо ние ai), так как во втором буферном регистре находитс команда перехода . Во врем выполнени операторной вершины Y10 по сигналу с выхода 27 блока управлени в счетчик 7 адресов с выхода 36 второго буферного регистра 6 заноситс адрее перехода А+9. После того, как по входу 19 устройства будет сброшен в ноль признак готовности команды, блок 2 управлени выполн ет операторную вершину Y3 (переход в состо ние аз): запрашивает слово
0 командной информации по адресу А+8 (младший разр д адреса пам ти команд соответствует не младшему разр ду счетчика 7 адресов команд, а следующему разр ду), записывает это слово в первый буферный
5 регистр 1 и увеличиваетс содержимое счетчика адресов команд на единицу (содержимое его становитс равным А+10). Анализ младшего разр да счетчика адресов (условна вершина Х4) показывает, что начало ко0 манды, на которую был совершен переход (в нашем случае вс команда), находитс во второй половине слова и, следовательно, в младшей половине первого буферного регистра . Блок 2 управлени осуществл ет за5 пмсь этой информации в старшую половину второго буферного регистра 6, формиру соответствующие сигналы (выходы 23 и 24 блока управлени ) при выполнении операторной вершины Y5 (переход в состо0 ние as). Анализ формата команды (условна вершина Х 6 провер ет выход 21 признака формата команды) показывает, что распаковываема команда имеет коротких формат, и блок управлени переходит к выполнению
5 операторной вершины Y9 и так далее.
Рассмотрим, как работает устройство в случае невыполнени команды перехода (фмг.10). Этот факт определ етс на этапе выполнени анализа услови перехода в за0 вершающей фазе исполнени команды. При этом сигнал от блока микропрограммного управлени , поданный на вход 18 устройства , устанавливает триггер 12 признака невыполнени команды перехода (такт
5 11-й). Блок управлени анализирует этот сигнал в одной из условных вершин Х2 (в зависимости оттого, какую ветвь алгоритма обрабатывает микропрограммный автомат блока управлени ) и производит перезапись
0 адреса А+6 команды, следующей за командой перехода, в счетчик 7 адресов (выполн етс операторна вершина Y2). В данном конкретном случае анализ Х2 выполн етс при переходе микропрограммного автомата
5 из состо ни as в состо ние аа. Адрес А+6 поступает на вход. 14 устройства из регистра хранени следующего адреса той ступени конвейера, на которой производитс выполнение команд. Одновременно с формированием сигналов (выходы 27 и 28 блока
управлени ), обеспечивающих перезапись содержимого счетчика адресов, выполн етс сброс триггера 11 (с выхода 32 блока управлени ). Это необходимо сделать, так как команды, выбранные начина с адреса перехода, не должны выполн тьс (неправильно выбрана ветвь программы). Действи блока управлени при переходе из состо ни за,в состо ние аз: запрос командной информации по адресу А+6, запись этой информации в первый буферный регистр , наращивание счетчика адресов на единицу. Кроме этих действий, в операторной вершине Y3 всегда выполн етс сброс триггера 12 признака невыполнени коман- ды перехода сигналом с выхода 31 блока управлени . Дальнейша работа устройства аналогична описанной выше.
Окончание работы устройства выполн етс по команде Останов, котора убирает активный потенциал запуска устройства. Анализ наличи сигнала запуска в одной из условных вершин Х1 приводит микропрограммный автомат блока управлени к выполнению операторной вершины Y13 и переходу блока управлени в исходное состо ние ас (Конец). При выполнении операторной вершины Y13 сигнал с выхода 32 блока управлени сбрасывает триггер 11 признака готовности команды в нулевое со- сто ние.
Использование в устройстве дл распаковки команд блока управлени , первого и второго элементов ИЛИ, первого и второго триггеров, регистра хранени следующего адреса и мультиплексора выбора адреса позвол ет по сравнению с прототипом расширить функциональные возможности за счет выполнени команд переходов на этапе распаковки и повысить быстродействие.
Допустим, кажда команда переходит/) этапов формировани и исполнени . На каждом этапе команда обрабатываетс за один такт. Если потребуетс организовать в программе К раз возврат, то есть цикл с использованием команды типа перехода по счетчику, то при применении устройства- прототипа, в котором отмен етс совмещение в случае команды перехода, потери на отмене совмещени будут составл ть n k тактов. В предлагаемом устройстве потери будут в n тактов. Таким образом, потери в предлагаемом устройстве сокращаютс в k раз.
Claims (1)
1.ШШ
TO-AT- X/
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU904806337A SU1702367A1 (ru) | 1990-03-26 | 1990-03-26 | Устройство дл распаковки команд |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU904806337A SU1702367A1 (ru) | 1990-03-26 | 1990-03-26 | Устройство дл распаковки команд |
Publications (1)
Publication Number | Publication Date |
---|---|
SU1702367A1 true SU1702367A1 (ru) | 1991-12-30 |
Family
ID=21503998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU904806337A SU1702367A1 (ru) | 1990-03-26 | 1990-03-26 | Устройство дл распаковки команд |
Country Status (1)
Country | Link |
---|---|
SU (1) | SU1702367A1 (ru) |
-
1990
- 1990-03-26 SU SU904806337A patent/SU1702367A1/ru active
Non-Patent Citations (1)
Title |
---|
Авторское свидетельство СССР № 1107123, кл. G 06 F 9/46, 1983. Авторское свидетельство СССР № 1251075,кл. G 06 F 9/00, 1985. Авторское свидетельство СССР № 972507, кл. G 06 F 9/00, 1981. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0061096B1 (en) | Data processing system for parallel processing | |
US4187539A (en) | Pipelined data processing system with centralized microprogram control | |
JPS59117666A (ja) | ベクトル処理装置 | |
JPS6028015B2 (ja) | 情報処理装置 | |
EP0220682B1 (en) | Data processing system | |
JPH1185512A (ja) | 命令圧縮格納および命令復元機能を有するデータ処理装置 | |
US5019969A (en) | Computer system for directly transferring vactor elements from register to register using a single instruction | |
JP2000200196A (ja) | 拡張命令語を有する中央処理装置 | |
JPH0410108B2 (ru) | ||
US4430708A (en) | Digital computer for executing instructions in three time-multiplexed portions | |
JPS62115542A (ja) | 情報処理装置 | |
SU1702367A1 (ru) | Устройство дл распаковки команд | |
JPH0683615A (ja) | 命令セットエミュレーションを行う計算機 | |
JPS6211736B2 (ru) | ||
US3430209A (en) | Memory utilization apparatus and method | |
US20020156992A1 (en) | Information processing device and computer system | |
JPH0793152A (ja) | マイクロプロセッサ制御装置 | |
JPH0222413B2 (ru) | ||
JP2901247B2 (ja) | 掃出し制御方式 | |
JP2812610B2 (ja) | パイプライン制御方式 | |
JP2583614B2 (ja) | ベクトル演算装置 | |
SU690472A1 (ru) | Селекторный канал | |
JPH03263265A (ja) | ベクトル処理装置 | |
JP2716563B2 (ja) | データ書込み制御方式 | |
JP2895892B2 (ja) | データ処理装置 |