Устройство для распаковки команд
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
)5 6 06 Е 9/00 ИСАН ИЗСБ ЕТЕН К РСКОМУ СВ ЕЛЬСТВ ительно для в, 10 фиг ГОСУДАРСТВЕННЫЙ КОМИТЕТПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМПРИ ГКНТ СССР(71) Научно-исследовательский институтмногопроцессорных вычислительных систем при Таганрогском радиотехническоминституте им, В.Д. Калмыкова(56) Авторское свидетельство СССРКг 1107123, кл. 0 06 Е 9/46, 1983.Авторское свидетельство СССРК. 1251075, кл, О 06 Е 9/00, 1985.Авторское свидетельство СССРК. 972507, кл, 6 06 Е 9/00, 1981,(54) УСТРОЙСТВО ДЛЛ РАСПАКОВКИ КОМАНД(57) Изобретение относится к вычислной технике и может быть использова Изобретение относится к вычислительной технике и может быть использовано для распаковки командной информации в конвейере команд процессоров с сокращенным набором команд,Известно устройство. содержащее блок регистров команд, блок управления выборкой команд и блок управления, причем информационный вход устройства соединен с информационным входом блока регистров команд, выход которого является информационным выходом устройства, первый выход блока управления соединен с управляющим входом блока регистров команд, первый выход блока управления выборкой команд является адресным выходом распаковки командной информации в конвейере команд процессоров с сокращенным набором команд. Цель изобретения - расширение области применения за счет организации выполнения команд переходов и повышение быстродействия за счет сокращения потерь времени при выполнении команд переходов, Устройство содержит счетчик адресов команд, первый и второй буферные регистры команд, первый и второй мультиплексоры, блок управления, первый и второй элементы ИЛИ, первый и второй триггеры, регистр хранения следующего адреса, мультиплексор выбора адреса. Достижение цели обеспечивается путем реализации опережающего формирования одного из возможных адресов следующей команды при выполнении условных перехоустроиства, мультиплексор, дешифратор и блок хранения команд перехода, содержащий регистр сдвига, элемент задержки, элемент НЕ,элемент ИЛИ, две группы элементов И, группу сумматоров по модулю два, две группы регистров, группу элементов ИЛИ, блок управления выборкой команд содержит элемент И, три элемента ИЛИ, сумматор по модулю два, параллельный накапливающий сумматор, два.мультиплексора и счетчик, а блок управления содержит группу элементов ИЛИ, группу элементов И, элемент ИЛИ и регистр сдвига, причем первые входы сумматора по модулю два группы блока хранения команд перехода соединены с выходами счетчика параллельного на 20равления блока управления соединен с входом записи первого буферного регистра команд, выход второго разряда поля мест- ного управления блока управления соединен с управляющими входами первого и 5 второго мультиплексоров, вцходц третьего и четвертого разрядов поля местного управления блока управления соединены соот- ветственно с первым и вторым входами записи второго буферного регистра команд, 10 выход пятого разряда поля местного управления блока управления соединен с входомзаписи-счета счетчика адресов команд, первый и второй входы условий блока управления соединены соответственно с выходами 15 первого и второго признаков формата команды первого буферного регистра, входы запуска, синхронизации и начальной установки блока управления соединены соответственно с входами запуска, 20 1 синхронизации и начальной установки устройства, выход поля внешнего управления блока управления подключен к выходу запроса командной информации устройства, с третьего по шестой входы условий блока управления соединены соответственно с выходом признака команды перехода второго буферного регистра команды, с выходом второго триггера, с выходом первого триггера и с вторым информационным выходом счетчика, выходы с шестого по одиннадцатыйй разрядов поля местного управления блока управления соединены соответственно с входом синхронизации счетчика адресов команд, с управляющим входом мультиплексора выбора адреса, с входом записи регистраадреса, с входом установки в "Ч" первого триггера, с вторым входом второго элемента ИЛИ, с третьим входом первого элемента ИЛИ.1702367 шхер АУ, 7 ум-р I/ Ъср 4 ФО Оу СР 4 ф фрФиг,У1702367 7 сус г я 7 су,с.7. у иг Редактор Л,Веселовск ехред М,Моргентал Корректор М.Демчи Го КНТ СС Производственно-издательский комбинат "Патент", г. Ужгор 101 Га Заказ 454 ВНИИТираж арственного комитета по из 113035, Москва. Ж, Ркапливающего сумматора, элемента И и первым выходом блока управления выборкой команд, входы адреса перехода устройства соединены с первыми Входами элементов И первой группы, с входами элемента НЕ и элемента задержки, с информационными входами регистров первой и , второй групп блока хранения команд перехода, выход элемента ИЛИ и вьходы элементов ИЛИ группы которого соединены с первыми группами информационных Входов первого и второго мультиплексоров, спервыми управляющими входами первого и второго мультиплексоров и с первым вхо-дом первого элемента ИЛИ блока управления выборкой команд, вторые группы информационных входов первого и второго мультиплексоров которого соединены с группой входов адреса команд устройства, вторым входом первого элемента ИЛИ, с ВТОРЫМ И тРЕтЬИМ УПРаВЛЯЮЩИМ ВХОДаМИ первого и второго мультиплексоров блока управления выборкой команд, инверсный вход элемента И соединен с разрядным выходом регистра сдвига блока управления, выходы элементов ИЛИ группы которого соединены с первым выходом этого блока, первый и второй входы элемента ИЛИ, установочные входы регистра сдвига и первые входы элементов И группы которого соединены с установочным входом устройства, первый и второй входы сумматора по модулю два блока управления выборкой команд соединены с первым и вторым входами элемента ИЛИ этого блока и с выходом мультиплексора, первый и Второй Входы которого соединены соответственно с информационным входом устройства и с Выходом дешифратора, группа входов которого соединена с группой выходов параллельного накапливающего сумматора блока управления выборкой команд, выход первого элемента ИЛИ которого соединен с первым входом третьего элемента ИЛИ этого блока и с входом запуска блока регистров команд, а в блоке управления выборкой команд выходы перВого и второго мультиплексоров соединены соответственно с первым входом счетчика и входом параллельного накапливающего сумматора, разрядный выход которого соединен с вторыми входами счетчика и третьего элемента ИЛИ, выход которого соединен с прямым входом элемента И, выходы сумматора по модулю два и второго элемента ИЛИ соединены с третьей группой информационных входов второго мультиплексора, а в блоке управления вторые входы элементов И группы соединены с соответствующими выходами регистра сдвига, выходы элементов И группы соединены с первыми входами элемента ИЛИгруппы, вторые входы которого соединены свыходом элемента ИЛИ и с соответствующим установочным входом регистра сдвига,5 а В блоке хранения команд перехода выходырегистра сдвига соединены с вторыми входами соответствующих элементов И первойгруппы, выходы которых соединены с первыми управляющими входами регистров10 первой и второй групп, вторые управляющие входы последних соединены с выходами соответствующих элементов И второйгруппы и с соответствующими входами элемента ИЛИ, выходы регистров первой груп 15 пы соединены с вторыми входамисоответствующих сумматоров по модулюдва группы, выходы которых соединены свходами соответствующих элементов И второй группы, выход каждого регистра второй20 группы соединен с соответствующими входами всех элементов ИЛИ группы, выходэлемента НЕ: соединен с вторыми управляющими входами всех регистров первойгруппы, выход элемента задержки соединен25 с входом регистра сдвига.Кроме того, блок регистров команд содержит группу регистров, информационныевходы которых соединены с информационным входом блока и с первыми выходами30 предыдущих регистров группы, а первый уп.равляющий вход каждого из регистров группы соединен с управляющим входом блокаи с вторым выходом предыдущего регистрагруппы, вход запуска блока соединен с вто 35 рыми управляющими входами регистровгруппы, а выход блока соединен с выходамипервого регистра группы, выходами первыхтридцати двух разрядов и вторым разрядомвыходом второго регистра группы,40 Известно также устройство, содержащее первый и второй буферные регистрыкоманд, первый, второй и третий мультплекСоры, счетчик адресов команд, О-триггер полуслова, первый и второй О-триггеры45 формата, О-триггер блокировки, первый,.второй и третий элементы ИЛИ, с первогопо девятый элементы И, первый и второйэлементы НЕ и элемент НЕ-И, причем выходы первого, второго и третьего мультиплек 50 соров являются выходами первого, второгои третьего полуслов устройства. В устройстве имеются также выход признака типа адресации команд устройства, выход адресакоманды устройства, выход запрета выдачи55 команды устройства, выход запроса следующего слова команды, Информационныйвход буферного регистра команд являешьсявходом команд устройства. В устройствеимеются также первый синхровход устроиства, вход разрешения приема команды усвторого буферного регистра 6 команд, первый информационный выход которого является выходом 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 служит для организации пересылки командной информации в старшую половину второго буферного 5 10 15 20 25 30 35 40 45 50 55 регистра 6 из старшей (или из младшеи) половины первого буферного регистра 1,Второй мультиплексор 4 служит для организации пересылки командной информации в младшую половину второго буферного регистра 6 из младшей (или из старщей) половины первого буферного регистра 1,Первый элемент ИЛИ 5 предназначен для объединения сигналов, сбрасывающих в нулевое состояние первый триггер 11.Второй буферный регистр 6 служит для формирования и временноо хранения команды.Счетчик 7 адресов команд служит для адресации команд в оперативной памяти.Второй элемент ИЛИ 8 предназначен для объединения сигналов, сбрасывающих в нулевое состояние второй триггер 12,Мультиплексор 9 выбора адреса служит для организации пересылки адресной информации из поля адреса второго буферного регистра 6 команд или с входа 14 адресной информации устройства.Регистр 10 хранения следующего адреса предназначен для временного хранения адреса команды, следующей за командой, сформированной во втором буферном регистре 6 команд.Первый триггер 11 служит для запоминания признака готовности команды, находящейся во втором буферном регистре 6 команд, второй триггер 12 - для запоминания признака невыполнения команды перехода.Блок 2 управления может быть реализован в виде микропрограммного автомата в соответствии с алгоритмом, приведенным на фиг.2 и 3.Блок 2 управления (фиг,4) содержит счетные триггеры 421 - 424, дешифратор 43. четырехканальный распределитель 44 импульсов, блок 45 формирования сигналов возбуждения памяти автомата и блок 46 формирования управляющих сигналов.Счетные триггеры 421 - 424 выполняют функции памяти автомата.Дешифратор 43 декодирует состояния атомата аьРаспределитель 44 импульсов формирует четыре синхросерии, используемые для синхронизации работы блока 2 управления,Блок 45 формирования сигналов возбуждения памяти автомата обеспечивает выполнение переходов памяти автомата из состояния а в состояние а соответствии с алгоритмом, приведенным на фиг.2 и 3. Этот блок строится в соответствии со следующими логическими выражениями:Т 1 = а Х 1 вХ 1 ках 1 Х 2 в 1 аХ 4 а3 = аа М 7 Й 3 дХХ 2 Х 3;Т 4 = а 7 адх 1 Х 2 Х 71 вах 1 Х 2 Х 4 Х 7 аахвваХ 1 Х 2Ь аохчах 1 Х 2,Блок 46 формирован 4 я управляющихсигналов форМирует управляющие сигналы 5в соответствии со следующими логическимивыражениями: У 3 Ъ б-а Х 1 Х 2 ХЗ/ав ааХ 6;23 = У 4 = азХ 4;24 = У 4 "Уб"У 12 = агавахх 2 хз,25 = азХ 4 аб;26 = УЗУбгУбУ 1 = аХ 1 Х 2 ХЗа 2, аа Хб "а 4 хбвааХХ 2 хаХ 7: Выход Выход Выход Выход Выход- УфУ 2 У 10 =а ох 17 аХ 1 Х 2 аах 1 Х 2 Гга ХХ 2 агх Х 2 Х 7;28 = У 1 вУ 2 = ах 1 аХ 1 Х 2 ггх 1 Х 2 вгвХхг,Выход Выход 29= У 9=а 7:ЗО=-У 9=а 7;31 = УЗ = а 1 Х 1 Х 2 ХЗаз;32 =,2 УЗ= 20 Выход Выход Выход Выход аХ 1 Х 2/аах 1 Х 2 равхХ 2 аХ 1 ьг Х 1 эвх 1; ВЫХОД 33 = УЗУУб - аХХ 2 ХЗаг;ггахб Рассмотрим работу устройства ча пр 4.мере распаковки пос 7 едоватальност ко -Основные принципь работы устройствазаключаются в следующем,В устройстве используются команды 30Только двух форматов, причем разрядностькоманд короткого формата вдвое меньшеразрядности команд длинного формата, Команды перехода имею 1 только длингпйформат, Форматы команд првед:-,ны на 35фиг.5,Командная информация выбирается изпамяти, ширина которой равна разрядностикоманды длинного формата.Для увеличения производительности 40при выполнении команд переходов используется механизм предсказания гравиыо.го адреса ветвления, основанный наследующих фактах: свьше 50 Д условныхпереходов выполняется; переходь; го счетчику выполняются в ислу аях из п безусловные переходы выполняются всгда,Поэтому в случае оявлеия в потоке команд команды перехода следующая (оманда всегда выбирается по адресу .е,.входа. 50Если на этапе выполнения командь Обнаруживается, что переход не должен вьполняться, тогда отменяется выполнениекоманд, выбранных после команды перехода, и в счетчик адресов команд загрух(аетс 55адрес команды, следующеи по гпрядку закомандоЙ перехода. манд, расположенных в памяти, как показано на фиг,б,Зременнье диаграммы сигналов 22-33 блока 2 управления и сигналов логических условий 15 (Х 1), 20(Х 5), 21(Х 6), 34(Х 7), 38(Х 4), 40(ХЗ), 41(Х 2) приведены на фиг, 7-10 и соответствуют двенадцати тактам распаковки последовател ьности команд, изображенной на фиг,6. Временные диаграммы, приведеннье на фиг.9, и 10, соответствуют выполнению и невыполненио команды перехода, размещенной по адресу А+4. На временных диаграммах приведены также сигналы 8,19, поседовательность состояний микропрограммного автомата (авт,) и состояние счетчика 7 адресов командной информации (ОТАК), При иэображеии временных диаграмм были приняты следующие допущения; конвейер команд состолт из двух ступенейустройства для распаковки команди устройства исполнения команд; каждая из вы-олняе 4 ьх команд требует двух тактов для исполнения:, неопределенная информация помечается символами ХХ.,Для облегчения восприятия временных диаграмм сигналь запроса командной инфоомации (выход 33) гОмечены адресами запрашиваемой информации, При атом следует учитывать то обстоятельство, что младший разряд 38 счетчика 7 не поступает в ам комадной информации,Перед началом рабозы по слгналу начальной установки, подаваемому на вход 17 усройства, приводится в исходное состояние а блок 2 управления и сбрасываются в ноль триггеры 11 и 12, Затем на вход 14 подаеся начальный адрес А(четный) выполяемол программы, а на вход 15 - активный потециал запуска устройства. Блок управления проверяет наличие этого сигнала (условная вершина Х 1) и переходит в состояние а такт 1-й), выполняя операторную вершину(У 1), При этом сигнал на выходе 28 блока управления разрешает прохождение начального адреса А через мульплплексор 9 выбора адреса на вход счет ика 7 адресов команд,а сигнал записи , выход 27 блока управления) производит запись начального адреса в счетчлк. После анализа условньо;. вершин Х 1 (проверка на,:ьрия сигала запуска), Х 2 (проверка признака невып;лнения команды перехода) и ХЗ (гроверка признака готовности команд) блок.управленля пеоеходит в состояние аз (вьполняетсв операторная вершлна 73). Прл этом блок 2 управления (такт 2-й) выдает сйг;-алы запроса команднои информации ВЬХОд а 3)., а ЗаТСМ ЗаГИСЫВаЕТ ПОЛУЧЕННОЕ слово в первый буферныл регистр 1 по сигнал. записи (вьхад 23 и увеличивает содер.которого соединена с группой входов фор 45 50 тройства, вход признака типа команд устройства, вход адреса команд устройства и второй синхровход устройства.Однако известные устройства имеют большие потери времени при выполнении команд переходов.Наиболее близким к предлагаемому по технической сущности является устройство, содержащее счетчик адресов командной информации, регистр адреса памяти, первый и второй буферные регистры команд, регистр адреса общих регистров, блок управления выборкой команд, выход обращения которого соединен с первым входом регистра адреса памяти и входом счетчика адресов командной информации, выход которого соединен с первым выходом устройства, первый и второй выходы смещения первого буферного регистра команд соединены с вторым выходом устройства, первый вход которого соединен с входом второго буферного регистра команд, первый, второй и третий адресные входы и выход индекса первого буферного регистра команд соединены соответственно с первым, вторым и третьим адресными входами и входом индекса регистра адреса общих регистров, выход которого соединен с третьим выходом устройства, четвертый выход которого соединен с выходом команды первого буферного регистра команд, Кроме того, устройство содержит блок управления, элемент ИЛИ, элемент И, первый, второй и третий мультиплексоры, первые, вторые, третьи и четвертые информационные входы которых соединены соответственно с первым, вторым, третьим и четвертым информационными входами второго буферного регистра команд, группа выходов формата команды мата команды блока управления, первый, второй и третий управляющие выходы которого соединены соответственно с управляющими входами первого, второго и третьего мультиплексоров, выходы которых соединены соответственно с первым, вторым и третьим информационными входами первого буферного регистра команд, группы разрешающих входов которого соединены с группой разрешающих выходов блока управления и группой входов элемента ИЛИ, выход которого соединен с первым входом элемента И, выход которого соединен с пятым выходом устройства, второй вход элемента И соединен с вторым выходом блока управления выборкой команд. первый вход которого соединен с информационным выходом блока управления, управляющий вход которого соединен с управляющим выходом блока управления выборкой команд,5 10 15 20 25 30 35 группа выходов увеличения значения блока управления соединена соответственно с группой входов счетчика полуслов, первый и второй выходы которого соединены соответственно с первым и вторым разрешаю-, щими входами блока управления, а третий выход счетчика полуслов соединен с третьим разрешающим входом блока управления и с разрешающим входом блока управления выборкой команд, вход сброса которого и вход сброса счетчика полуслов соединены с вторым входом устройства, третий вход которого соединен с входами счета счетчика полуслов и блока управления выборкой команд.Однако с помощью такого устройства невозможно формирование адреса перехода.Цель изобретения - расширение области применения за счет организации выполнения команд переходов и повышение быстродействия путем сокращения потерь времени при выполнении команд переходов при предсказании правильного адреса ветвления,Поставленная цель достигается тем, что в устройство, содержащее счетчик адресов команд, первый и второй мультиплексоры, первый и второй буферные регистры команд, причем вход командной информации устройства подключен к информационному входу первого буферного регистра команд, первый информационный выход которого подключен к первому информационному входу первого мультиплексора и второму информационному входу второго мультиплексора, второй информационный выход первого буферного регистра подключен к второму информационному входу первого мультиплексора и к первому информационному входу второго мультиплексора, выходы первого и второго мультиплексора, выходы первого и второго мультиплексоров подключены соответственно к первому и второму информационным входам второго буферного регистра команд, первый информационный выход которого является выходом команды устройства, первым адресным выходом которого является первый выход счетчика адресов команд, дополнительно введены блок управления, первый и второй элементы ИЛИ, первый и второй триггеры, регистр хранения следующего адреса и мульти-, плексор выбора адреса, который первым информационным входом подключен к второму информационному выходу второго буферного регистра, вторым информационным входом подключен к адресному входу устройства, управляющим входом подключен к седьмому выходу блока управления, абуферного регистра, вторым информационным входом подключен к адресному входу устройства, управляющим входом подключен к седьмому выходу блока управления, а выходом соединен с входом счетчика адресов, подключенного первым и в.горым управляющими входами соответственно к пятому и шестому выходам блока уг равления, первым и вторцм выходами к первому и второму входам регистра хранения следующего адреса, выход которого является вторым адресным выходом устройства, а управляющий вход регистра хранения следующего адреса соединен с восьмым Выходом блока управления, девятый ВьХод которого соединен с входом установки первого триггера, выход которого являет" я признаком готовности команды устройства и подключен к восьмому вду блока управления, вход сброса первого триггера соедлнен с выходом первого элемента ИЛИ, первый вход которого подключен к одиннадцатому выходу блока управления, второй вход подключен к входу сброса признака готовности команды устройства, третий Вход соединен с входом начальной установки устройства, который соединен с вторьм входом второго элемента ИЛИ, первый вход которого подключен к десятому выходу блока управления, выход второго элемента ИЛИ соединен с входом сброса второго триггера, вход установки которого подключен к входу сигнала невыполнения команды перехода, выход второго триггера является признаком невыполнения команды перехода устройства, к оторому подключен седьмой входблокауправления, шестой и девятый входы которого соединень 1 соответственно с. Выходом признака команды перехода Второго буферного регистра и вторым выходом счетчика адресов команд, первый выход блока управления соединен с входом записи первого буферного регистра команд, второл Выход соединен с управляющими Входами первого и второго мультиплексоров, третий и четвертый выходы соединены соответственно с первым и вторым нхоцами записи второго буферного регистра команд, первый и второй входы соединены соответственно с первым и вторым выходами признаков форма га команды первого буферного регистра, третий, четвертый и пятьй входь 1 являются соответственно входами запуска, синхронизации и начальной установки устройства, а двенадцатый выход подключен к выходу запроса командной информации устройства,На фиг.1 представлена схема предлагаемого устройства; на фиг.2 и 3 - алгоритм работы блока управления, на фиг.4 - схема блока управления; на фиг,5 - форматы команд; на фиг.б - пример расположения команд в памяти; на фиг, 7 - 10 - временные диаграммы, поясняющие работу устройстваУстройство для распаковки команд (фиг.1) содержит первый буферный регистр 1 команд, блок 2 управления, первый 3 и Второй 4 мультиплексоры, первый элемент ИЛИ 5, второй буферный регистр 6 команд, счетчик 7 адресов команд, второй элемент ИЛИ 8, мультиплексор 9 выбора адреса, регистр 10 хранения следующего адреса, перВый 11 и второй 12 триггеры, вход 13 командной информации, адресный вход 14 Вход 15 запуска, вход 16 синхронизации, вход 17 начальной установки, вход 18 сигнала невыполненля команды перехода. вход 19 сброса признака готовности команды, первый 20 и второй 21 выходы признаков формата команды, руппу выходов 22 - 33 блока управления, выход 34 признака команды перехода, выход 35 команды, выход 36 адреса команды перехода, первый адресный выход 37, выход 38 младшего разряда счетчика адресов, второй адресный выход 39, выход 40 признака готовности команды, нь.ход 41 признака невыполнения команды перехода, причем первцй вцход 22 блока управления 2 соединен с входом записи первого буферного регистра 1 команд, второй выход 23 - с управляющими входами первого 3 и второго 4 мультиплексоров, третий 24 и четвертый 25 выходы - соответственно с первым и вторым входами записи второго буферного регистра команд б, пятый выход 26 - с первым управляющим входом счетчика адресов 7, первый и второй входы блока управления 2 - соответственно с первым 20 и Вторым 21 выходами признаков формата команды первого буферного регистра 1, третий четвертый и пятый входы являются соответственно входами 15 запуска, 16 синхронизации и 17 начальной установкл устройства, вход 13 командной информации которого подключен к информационному входу первого буферного регистра 1, первый информационный выход которого подключен к первому информационному входу первого мультиплексора 3 и вторсму информационному входу второго мульт иплексора 4 второй информационный Выход первого буферного регистра 1 подл учен к в орому инбормационному входу первоо мультиплсксора 3 и первому информационному входу второго мультиплексора 4, выходы первого 3 и второго 4 мультиплексоров подключены соответственно к первому и второму информационным входамкимое счетчика адресов на единицу (выход 26). Содержимое счетчика становится равным А+1. Анализируя, равен ли единице младший разряд (выход 38) счетчика адресов(условная вершина Х 4), блок управления переходит в состояние а.(такт З-й), организуя прямую передачу командной информации из первого буферного регистра 1 во второй буферный регистр 6 через первые входы мультиплексоров 3 и 4 (выполняется операторная вершина У 4). При этом блок управления формирует соответствующие управляющие сигналы: управлениямультиплексорами (выход 23), записи в старшую(выход 24) и младшую (выход 25) половины второго буферного регистра 6. Анализ выхода 20 признака формата команды (условная вершина Х 5) показывает, что первая команда имеет короткий формат и, следовательно, готова для передачи из второго буферного регистра для дальнейшей обработки. Блок управления переходит в состояние а 7, а затем в состояние аз, При переходе из состояния а 7 в состояние ав выполняется операторная вершина У 9, При этом содержимое счетчика 7 адресов (адрес первого полуслова второй команды А+1) записывается в регистр хранения следующего адреса сигналом с выхода 29 и сигналом с выхода ЗО устанавливается в "1" триггер 11 - признак готовности команды к дальнейшей обработке,Проверка условных вершин Х 1 (наличие сигнала запуска), Х 2 (признак невыполнения команды), Х 7(признак команды перехода - выход 34 второго буферного регистра 6) и Х 4 (проверка, равен ли единице младший разряд счетчика 7) приводит к переходу в состояние ад (выполняется операторная вершина У 11), При этом содержимое счетчика адреса увеличивается на единицу по сигналу, формируемому на выходе 26 блока управления, и становится равнь 1 м А+2.Если следующая ступень конвейера команд готова к обработке команды, находящейся во втором буферном регистре 6, и признак готовности команды (выход 40 устройства) равен единице, то происходит перезапись информации из второго буферного регистра 6 и регистра 10 храненля в соответствующие регистры следующей ступени конвейера, Одновременно следующая ступень конвейера сбрасывает признак готовности команды (триггер 11) в "0" по входу 19 устройства (такт З-й), сигнализируя блоку управления о том, что можно продолкать распаковку командной информации, Признак готовности команды проверяется блоком 2 управления в условных вершинах Х 2. После проверки условных вершин Х 1(наличие сигнала запуска), Х 2 (признак невыполнения команды перехода) и ХЗ (признак готовности команды) блок управления 5 переходит в состояние а 5(выполняется операторная вершина У 12), При этом осуществляется пересылка первой половины второй команды из младшей половины первого буферного регистра 1 в старшую половину вто рого буферного регистра 6 по единичномусигналу управления мультиплексорами 3 и 4 (выход 23) и запись в старшую половину второго буферного регистра 6 (выход 24), Анализ выхода 21 признака формата коман ды (условная вершина Х 6) указывает на то,что в первый буферный регистр 6 была записана старшая часть команды длинного формата и поэтому надо. выбрать следующее слово командной информации, в котором 20 содержится вторая половина этой команды,Блок управления переходит в состояние а 6 (выполняется операторная вершина У 6),При этом формируются сигналы (такт4-й) запроса командной информации (выход 25 33), записи слова командной информации,полученной из ячейки с адресом А+2, в первый буферный регистр 1 (выход 22) и увеличения содержимого счетчика адресов команд на единицу (выход 26). Содержимое 30 счетчика 7 адресов после выполнения операторной вершины У 6 равно А+3. Затем блок управления (такт 5-й) переходит в состояние а 7 (выполняется операторная вершина У 7). Управляющие сигналы этой 35 вершины осуществляют запись содержимого старшей половины первого буферного регистра в младшую половину второго буферного регистра (единичный сигнал на выходе 23 и сигнал с выхода 25 блока управ ления). После оперативной вершины У 7 выполняется операторная вершина У 9 (выполняется переход в состояние аз), во время выполнения которой происходит запись содержимого счетчика 7 адреса в ре гистр 10 храненния следующего адреса(сигналом с выхода 29) и установка признака готовности команды в "1" (сигналом с выхода 30), Анализ условных вершин Х 1, Х 2, Х 7, Х 4 приводит к выполнению операторной 50 вершины У 11 (переход в состояние а 9), сигнал которой (выход 26) увеличивает содержимое счетчика адресов на единицу.Содеркимое счетчика адресов становится равным А+4. После того как будет сброшен 55 признак готовности команды от следующейступени конвейера команд, выполняется операторная вершина У 12 (переход в состояние аз), сигналы которой записывают содержимое младшей половины первого буферного регистра в старшую половину10 20 второго буферного регистра (выходы 23 и 24 блока управления). Анализ выхода 21 признака формата команды (условная вершина Х 6) показывает, что распаковываемая команда имеет короткий формат. Блок управления переходит в состояние ав и выполняет операторную вершину У 9 (запись в регистр 10 хранения адреса А+4 и установка признака готовности команды). После этого в результате анализа условных вершин Х 1, Х 2, Х 7 и Х 4 микропрограммный автомат блока управления переходит в состояние а 1(без выполнения операторных вершин), к анализу условных вершин Х 1, Х 2 и ХЗ. В такте 7-м признак готовности команды ХЗ (выход 40) равен единице - продолжает выполняться предыдущая команда, поэтому нет перехода в состояние аз. Если триггер 11 признака готовности команд сброшен в "О", (выход 40), блок управления выполняет операторную вершину УЗ (такт 8-й), Формирует сигналы запроса командной информации (выход 33), записи в первый буферный регистр (выход 22) и увеличения содержимого счетчика адресов команд (выход 26).Содержимое счетчика адресов команд становится равным А+5, а очередное слово командной информации, выбранное из ячейки памяти с адресом А+4, записывается в первый буферный регистр 1. Анализ условной вершины Х 4 (четный ли адрес в счетчике адресов) приводит к выполнению операторной вершины У 4 (переход в состояние э 4), Сигналы, Формируемые блоком управления во время выполнения операторной вершины У 4 (выходы 23, 24 и 25 блока управления), осуществляют прямую пересылку содержимого первого буферного регистра 1 во второй буферный регистр 6, Анализ выхода 20 ггризнака формата команд(условная вершина Х 5) показывает, что в первом буферном регистре 1 команд, а следовательно, и во втором буферном регистре) находится команда длинного формата. Блок управления выполняет операторную вершину УВ (переход в состояние а 7), в которой наращивается на единицу содержимое счетчика адресов команд (сигнал с выхода 26 блока управления). В результате содержимое счетчика адресов становится равным А+6, адресуя следующую команду. После выпслнения операторной вершины У 9 (переход в состояние ав) блок управления анализирует условные вершины Х 1, Х 2 и Х 7. Анализ условной вершины Х 7 (проверка признака команды условного перехода - выход 34 второго буферного регистра 6) приводит к выполнениюоператорной вершины У 10(переход в состояние а 1), так как во втором буферном регистре находится команда перехода, Во время выполнения операторной вершины У 10 по сигналу с выхода 27 блока управления в счетчик 7 адресов с выхода 36 второго буферного регистра 6 заносится адрес перехода А+9. После того, как по входу 19 устройства будет сброшен в ноль признак готовности команды, блок 2 управления выполняет операторную вершину УЗ (переход в состояние аз): запрашивает слово командной информации по адресу А+8 (младший разряд адреса памяти команд соответствует не младшему разряду счетчика 7 адресов команд, а следующему разряду), записывает зто слово в первый буферный регистр 1 и увеличивается содержимое счетчика адресов команд на единицу (содержимое его становится равным А+10). Анализ младшего разряда счетчика адресов (условная вершина Х 4) показывает, что начало команды, на которую был совершен переход(в нашем случае вся команда), находится во второй половине слова и, следовательно, в младшей половине первого буферного регистра, Блок 2 управления осуществляет запись этой информации в старшую половину второго буферного регистра 6, формируя соответствующие сигналы (выходы 23 и 24 блока управления) при выполнении операторной вершины У 5 (переход в состояние аь), Анализ формата команды (условная вершина Х 6 проверяет выход 21 признака формата команды) показывает, что распаковываемая команда имеет коротких формат, и блок управления переходит к выполнению операторной вершины У 9 и так далее.Рассмотрим, как работает устройство в случае невыполнения команды перехода(фиг,10). Этот факт определяется на этапе выполнения анализа условия перехода в завершающей фазе исполнения команды. При этом сигнал от блока микропрограммного управления, поданный на вход 18 устройства, устанавливает в" 1" триггер 12 признака невыполнения команды перехода (такт 11-й), Блок управления анализирует этот сигнал в одной из условных вершин Х 2 (в зависимости от того, какую ветвь алгоритма обрабатывает микропрограммный автомат блока управления) и производит перезапись адреса А+6 команды, следующей за командой перехода, в счетчик 7 адресов(выполняется операторная вершина У 2). В данном конкретном случае анализ Х 2 выполняется при переходе микропрограммного автомата из состояния ав в состояние а 2. Адрес А+6 поступает на вход,14 устройства из регистра хранения следующего адреса той ступени конвейера, на которой производится выполнение команд, Одновременно с формированием сигналов (выходы 27 и 28 блокауправления), обеспечивающих перезапись содержимого счетчика адресов, выполняется сброс триггера 11 (с выхода 32 блока управления). Это необходимо сделать, так как команды, выбранные начиная с адреса перехода, не должны выполняться (неправильно выбрана ветвь программы). Действия блока управления при переходе иэ состояния а 2,в состояние аз. запрос командной информации по адресу А+6, запись этой информации в первый буферный регистр, наращивание счетчика адресов на единицу. Кроме этих действий, в операторной вершине УЗ всегда выполняется сброс триггера 12 признака невыполнения команды перехода сигналом с выхода 31 блока управления, Дальнейшая работа устройства аналогична описанной выше,Окончание работы устройства выполняется по команде "Останов", которая убирает активный потенциал запуска устройгтва. Анализ наличия сигнала запуска в одной из условных вершин Х 1 приводит микропрограммный автомат блока управления к выполнению операторной вершины У 13 и переходу блока управления в исходное состояние а (" Конец" ). При выполнении операторной вершины У 13 сигнал с выхода 32 блока управления сбрасывает триггер 11 признака готовности команды в нулевое состояние.Использование в устройстве для распаковки команд блока управления, первого и второго элементов ИЛИ, первого и второго триггеров, регистра хранения следующего адреса и мультиплексора выбора адреса позволяет по сравнению с прототипом расширить функциональные возможности за счет выполнения команд переходов на этапе распаковки и повысить быстродействие,Допустим, каждая команда переходит и этапов формирования и исполнения. На каждом этапе команда обрабатывается за один такт, Если потребуется организовать в программе К раз возврат, то есть цикл с использованием команды типа перехода по счетчику, то при применении устройства- прототипа, в котором отменяется совмещение в случае команды перехода, потери на отмене совмещения будут составлять и 1 тактов. В предлагаемом устройстве потери будут в и тактов. Таки образом, потери в предлагаемом устройстве сокращаются в 1 раз,Формула изобретения Устройство для распаковки команд, содержащее счетчик адресов команд, первый и второй мультиплексоры, первый и второй буферные регистры команд, причем вход команды устройства подключен к информаци 5 10 20 25 сокращения потерь времени при выполне 30 35 40 45 50 55 онному входу первого буферного регистра команд, первый информационный выход которого подключен к первому информационному входу первого мультиплексора, второй информационный выход первого буферного регистра подключен к второму информационному входу первого мультиплексора и к первому информационному входу второго мультиплексора, первый информационный выход первого буферного регистра команд соединен с вторым информационным входом второго мультиплексора, выходы первого и второго мультиплексоров. подключены соответственно к первому и второму информационным входам второго буферного регистра команд, первый информационный выход которого является выходом команды устройства, первый информационный выход счетчика адресов команд подключен к первому адресному выходу устройства,о т л и ч а ю щ е е с я тем, что, с целью расширения области применения эа счет организации выполнения команд переходов и повышения быстродействия за счет нии команд переходов, устройство дополнительно содержит блок управления, первый и второй элементы ИЛИ, первый и второй триггеры, регистр хранения следующего адреса и мультиплексор выбора адреса, причем второй информационный выход второго буферного регистра соединен с первым информационным входом мультиплексора выбора адреса, второй информационный вход которого подключен к входу адреса устройства, выход мультиплексора выбора адреса соединен с информационным входом счетчика адресов, первый и второй информационные выходы которого подключены соответственно к первому и второму информационным входам регистра хранения следующего адреса, выход которого является вторым адресным выходом устройства, выход первого триггера является признаком готовности команды устройства, вход установки в "0" первого триггера соединен с выходом первого элемента ИЛИ, первый вход которого подключен к входу признака сброса готовности команды устройства, вход начальной установки устройства соединен с вторым входом первого элемента ИЛИ и с первым входом второго элемента ИЛИ, выход второго элемента ИЛИ соединен с входом установки в "О" второго триггера, вход установки в "1" которого подключен к входу признакя невыполнения команды перехода устройства. выход второго триггера является выходом признака невыполнения команды перехода устройства. выход первого разряда поля честного уп
СмотретьЗаявка
4806337, 26.03.1990
НАУЧНО-ИССЛЕДОВАТЕЛЬСКИЙ ИНСТИТУТ МНОГОПРОЦЕССОРНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ ПРИ ТАГАНРОГСКОМ РАДИОТЕХНИЧЕСКОМ ИНСТИТУТЕ ИМ. В. Д. КАЛМЫКОВА
КАТАЕВ ОЛЕГ ВАЛЕНТИНОВИЧ, ЧИРСКИЙ АЛЕКСЕЙ СТЕПАНОВИЧ
МПК / Метки
МПК: G06F 9/00
Метки: команд, распаковки
Опубликовано: 30.12.1991
Код ссылки
<a href="https://patents.su/15-1702367-ustrojjstvo-dlya-raspakovki-komand.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для распаковки команд</a>
Предыдущий патент: Устройство для сложения и вычитания чисел по модулю
Следующий патент: Устройство приоритета
Случайный патент: Устройство для смены штампов