Устройство для распаковки команд
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
3 СОВЕТСНИХОЦИАЛИСТИЧЕСНИХ УБЛИК Р 9/О ГОСУДАРСТВЕННЫИ НОМИТЕТПО ИЗОБРЕТЕНИЯМ И ОТНРЬГГИЯМОРИ ГННТ СССР КЕН 393ч" 3:11 ОПИСА ИЗОБРЕТЕНИЯ А ВТОРСНОМ ЕПЬСТВ СССР78.СР986.СР82ьство00, 19тво С(54) УСТРОЙСТВО ДЛЯ РАСПАКОВКИ КОМАНД (57) Изобретение относится к вычислительной технике и может быть использовано для распаковки командной информации в процессоре быстродействующей ЭВМ. Цель изобретения - ловышение быстродействия эа счет одновременной обработки нескольких команд. Устройство для распаковки содержит буферные регистры 1-3 команд, регистр 4 номеров команд, блок 5 указателей начала выборки, блок 6 памяти, блок 7 мультиплексоров, элемент И 8, груп" пу 9 элементов ИЛИ, Р-триггер 10, 11 элементов И. 1 з.п. фшы,1 табл.Изобретение относится к вычислительной технике и может быть использовано для распаковки командной информации в процессоре быстродейству 5ющей ЭВМ, в частности в процессоре,допускающем параллельное исполнениенескольких последовательно расположенных команд.цель изобретения - повышение быст родействия за счет одновременнойраспаковки нескольких команд.На фиг.1 представлена структурнаясхема устройства для распаковки команд (все функциональные схемы блоков для разрядности информационнойшины памяти, равной двойному слову,т.е. четырем полусловам); на фиг,2 функциональная схема блока указателей начала выборки; на фиг.3 - Функ" 20циональная схема блока мультиплексо"ров (для одного бита из каждого полуслова); на фиг.4 - Функциональнаясхема группы элементов ИЛИ; нафиг,5 - функциональная схема группы 25элементов И,Устройство для распаковки команд(фиг,1) содержит первый 1, второй 2и третий 3 буферные регистры команд,регистр 4 признаков команд, блок 5указателей начала выборки, блок 6,па"мяти, блок 7 мультиплексоров, элемент И 8, группу 9 элементов ИЛИ,0-триггер 10 группу 11 элементов И,вход 12 старших разрядов кода командустройства, вход 13 сброса устройства, вход 14 номеров команд устройства(сигналы приема команд в обрабатывающие устройства процессора), вход15 разрешения приема команд устройст"40ва, вход 16 синхронизации устройства,вход 17 младших разрядов кода командустройства, вход 18 режима распаковки устройства, выход 19 кода номеракоманды устройства, выход 20 распа-ковки команд устройства, выход 21блока 5, выходы 32 и 23 блока 3, выходы 24-26 блока 2, выход 27 элементов И 8, выходы 28-30 блока 6 памяти,выход 31 блока 7, вьиод 32 блока 9,выход 33,блока 4, выход 34 блока 11и выход 35 0-триггера 10,Блок 5 указателей начала выборки(фиг.2) содержит регистр 36, шифратор 37, реализованный на группе 38элементов И, содержащей с первого по55седьмой элементы И 39-45, и элементеИЛИ 46. Блок 7 мультиплексоров(фиг,3) содержит элементы И-ИЛИ 4752 и элементы И 53-55. Группа 9 элементов ИЛИ (Фиг.4) содержит элементы ИЛИ 56.1-56.4. Группа 11 элементов И(Фиг,5) содержит элементы И 57,1 57.4.В описании работы устройства использованы следующие обозначения ВК - формат команд длиной в одно полуслово; КХ, КБ, Б 1, Б и ЯКЕ - форматкоманд длиной в два полуслова; ББ, ББЕ " Формат команд длиной в три полуслова.Команды в памяти должны располагаться на границе полуслова (или четного байта), поэтому при обращении в память за командами значение младшего (31-го) разряда адреса команды всегда равно нулю, и в дальнейшем этот разряд не рассматривается. В начало новой ветви программы (после успешного перехода, смены состоянияпроцессора, или первоначальной загрузки программы) 30, 29, , 30-й 1 оя ш разряды адреса указывают номер полуслова, с которого начинается первая команда новой ветви программы.Два старших разряда каждой команды (О-й и 1-й) определяют ее формат,Так, если в 0-и и 1-и разрядах ко-, манды содержится код ОО, то командасостоит иэ одного полуслова, при кодах 01 нли 10 - из двух полуслов,при коде 1 1 - из трех полуслов.При разрядности информационной шины памяти, равной и полусловам, на ней могут содержаться от п/3 дои команд, при этом в младшем полуслове или в младших двух полусловах (а в начале ветви программы - когда адрес указывает на эти полуслова) могут содержаться не полные команды, а только начало следующей команды, а продолжение данной команды поступает при новом чтении из памяти.Распаковка команд организована таким образом, что из командной информации, принятой во второй буферный регистр 2 команд, в первый буферный регистр 1 команд всегда заносятся только все полные команды, независимо от их Форматов, а младшие два полуслова заносятся в третий буферный ,регистр 3 команд. Они будут участвовать в распаковке следующего блока информации, принятого из памяти (при наличии в предыдущем блоке неполной команды, т.е. остатка). Первый буферный регистр 1 команд содержит Зпполуслов (где и - разрядность информационной шины памяти в полусловах), которые распределены по командам следующим образом; первые и - 2 команды содержат по три полуслова, и - 1-я5 команда содержит два полуслова, а и-я команда - одно полуслово. При этом независимо от формата команды . на место первых и - 2 команд записываются по три, а на место и - 1-й команды - два последовательно расположенных полуслова, Однако в обрабатывающих устройствах используется лишь число битов, определяемое кодом операции, который всегда записывается на место старшего байта старшего полуслова. .Второй буферный регистр 2 команд содержит и полуслов и соответствует разрядности информационной шины памяти. Третий буферный регистр 3 команд содержит два полуслова и соответствует максимально возможному остатку в предыдущей распаковке.Блок 5 указателей начала выборки 25 вырабатывает признаки, указывающие с какого полуслова начинается командная информация в данном такте работы устройства, Если в предыдущем такте поступил признак начала ветви, тогда командная информация может начинаться с 1, 2 .,и-го полуслова из второго буферного регистра 2 команд в соответствии с значением младших разрядов адреса полусловаЕсли в предыдущем такте не поступил признак начала ветви, тогда командная информация может начинаться с первого или второго полуслова третьего буферного регистра 3 команд (регистра остатка) или с первого полуслова второго буФерного регистра 2 команд в соответствии с выработанным в предыдущем такте в блоке 6 памяти кодом адреса.Признаки, вырабатываемые блоком 5 указателей начала выборки, а также старшие два бита от каждого полуслова из третьего 3 и второго 2 буферных регистров команд (выходы 22 и 24) поступают в блок 6 памяти, представляющий собой программируемую логичес кую матрицу и вырабатывающий три группы управляющих сигналов. Группа управляющих сигналов,поступающая с выхода 29 в блок 7 мультиплексоров, указывает с какого полуслова начинается каждая команда и управляет занесением информационных полуслов из буферных регистров 2 и 3 команд в соответствующие командные полуслова буферного регистра 1 команд. Код адреса представляет собой признаки остатка и поступает с выхода 28 в блок 5 указателей начала выборки, Группа управляющих сигналов, поступающая с выхода 30, указывает на наличие 1,2 и-й команд в данном блоке командной информации и служит в качестве информационных входов для триггеров регистра 4 номеров команд при наличии высокого уровня на первом входе группы эле" ментов И (выход 35 0"триггера 10).Работу устройства рассмотрим на примере выборки командной информации при обработке некоторой последовательности команд.Предположим, что разрядность информационной пины памяти равняется четырем полусловам (64 бита), тогда первый буферный регистр 1 команд должен содержать девять полуслов (по три полуслова для первой и второй команд, два полуслова для третьей команды и одно полуслово для четвертой команды), регистр 4 номеров команд должен содержать четыре триггера, группа 9 элементов ИЛИ должна состоять из четырех элементов ИЛИ, группа 11 элементов И должна состоять иэ четырех элементов И, элемент И 8 должен быть шестивходовым, а на вход 17 блока 5 должны поступить 30-й и 29-й разряды адреса. Пусть обрабатывается новая ветвь программы, содержащая команды форматов КК, КХ, 88 8 1) 88юю причем 29-й и 30-й разряды находятся соответственно в состоянии "0" иРасположение командной информа" ции представлено в таблице.Сразу после определения необходимости перехода на новую ветвь программы обрабатывающие устройства процессора вырабатывают сигнал "Сброс", по которому П-триггер 10 наличия действительной информации в буферных регистрах 2 и 3 команд устанавливается в состояние "0", одновременно в регистре 4 сбрасываютмя все признаки наличия предварительно распакованных команд. Тем самым на элементе И 8 подготавливается формирование разрешающего импульса на выходе 27 для приема блока командной информации новой ветви программы в буферный регистр 2, а нулевое состоя5 146ние выхода 35 Р-триггера 10 запрещаетпередачу в регистр 4 номеров распакованных команд через группу 11 элементов И,Первое двойное спово команднойинформации новой ветви поступаетнаинформационный вход буферного регистра 2 команд и сопровождается единичным состоянием входов 18 и 15 атакже кодом 01 на входах 17, и 17(фиг.2).По тактовому импульсу 16 на выходе элемента И 8 формируется разрешающий импульс, по которому первое двойное слово командной информации эапи"сывается в буферный регистр 2 команд,предыдущее значение двух младшихполуслов с выхода 26 записываетсяв буферный регистр 3 команд, В-триггер 10 устанавливается в состояние"1" (Фиг.1). В регистре 4 номеровкоманд информация остается беэ изменения (все триггеры в состоянии "0"),так как предыдущий нулевой уровеньна выходе 35 П-триггера 10 формируетнулевые уровни на информационных входах 34 всех триггеров регистра 4(через группу 11 элементов И).На выходах блоков 5, 3 и 2 Формируются входные сигналы для блока 6памяти, а на выходах блока 6 Формируются активные линии в соответствиис таблицей кодирования, В соответствии с входными воздействиями на элементы И 39-45 и элемент ИЛИ 46(фиг.2), на выходе 21.4 блока 5 указателей начала выборки сигнал становится активным, Это означает, чтокоды старших двух битов первого ивторого полуслов из регистра 3, атакже старших двух битов первого полуслова из регистра 2 игнорируются(командная информация начинается совторого полуслова в регистре 2).Первой команде формата ЕК и второйкоманде формата КХ соответствуют коды ОО на выходах 24 я 24,1 и коды 01на выходах 24 и 24. Кя выходе блока 6 памяти будут активны выходы;28, (остаток равен нулю), 29, 29(вторая команда начинается с второгополуслова, третья команда - с третьего полуслова регистра 2) и 30,30 (признаки наличия: второй итретьей команд). Сигналы с выходов29 и 29 поступают в блок 7 мульти "плексоров (фиг.З). Сигнал с выхода29 разрешает перецачу второго, треть4157 50 15 20 25 30 40 его и четвертого полуслов регистра 2(выходы 25, 26 и 26 ) соответственно на место первого, второго и третьего полуслов второй команды (выХоды31, 31., 31 блока 7 мультиплексоров), активный выход 29 разрешаетпередачу третьего и четвертого полуслов регистра 2 (линия 6 и 26),соответственно ня место первого ивторого полуслов третьей команды (выходы 31. и 31 блока 7 мультиплексора),По следующему тактовому импульсу,при наличии единичного уровня, нявходе 15 устройства, информация, подготовленная на выходе 31 блока 7мультиплексоров (первые две команды),записывается в буферный регистр 1команд, номера команд, подготовленные на выходе 30 блока 6 памяти,че"рез группу 11 злеиентов И записываются в регистр 4 (тяк как передачаразрешается единичным состоянием выхода 35 В-триггера 10, который установится в состояние "0" только послеприхода. следующего сигнала "Сброс"и в дальнейшем будем считать чтопередача номеров команд через группуэлементов И разрешается), второедвойное слово командной информациизаписывается в буферный регистр 2команд, я значение младших двух полуслов первого двойного слова из буферного регистра 2 комянд запомина-,ется в буферном регистре 3 команд.В соответствии с входными воздействиями на элементы И,39-45 и элементИЛИ 46 (фиг.2) на сигнал выходе 21, 1блока 5 становится активным (командная информация начинается с первогополуслова в регистре 2),Третьей комянде формата БЯи четвертой команде Формата КЬ соответствуют коды 11 ня выходах 24, и 24 и 10 на выходах 24 и 24 я, Ня выходе блока 6 будут активны выходы:28 (остяток равен одному полуслову),29 З (первая коиянда начинается с первого полуслова регистра 2), 30(признак наличия первой командыАктивный сигнал с выхода 29 поступает в блок 7 мультиплексоров(фиг.З) и разрешает передачу первого, второго и третьего полуслов регистра 2 (выходы 25 25 и 25 на Фнг.З), соответственно на место перйого, второго и третьего полусловпервой команды (выходы 31, 31 и 31юф г з блока 7 мультиплексоров),Таким образом, в данный момент на выходе 20 устройства находятся .первая (формата КВ) и вторая (формата КХ) команды на месте второй и третьей команд буферного регистра 1 соответственно, а на вьгходе 19 устройства номера второй и третьей ко 10 манд. В то же время на информационных входах буферного регистра 1 и регистра 4 номеров команд подготовлена информация для следующей команды15 Формата ББ, После приема первой и второй команд обрабатывающими устройствами (в зависимости от конкретной реализации процессора это может произойти либо в одном, либо в двух разных тактах), сообщается признака 20 ми приема на входах 14,2 и 14.3 номе" ров команд устройства, которые через элементы ИЛИ 56 г и 56 (фиг,4) сбрасывают соответствующие триггеры реги. стра 4 номеров команд, Инверсные выходы 33 триггеров регистра 4 подготавливают на элементе И 8 прием следующего двойного слова командной информацииПо аналогии с изложенным и при30 выполнении соответствующих условий по следующему тактовому импульсу в буферный регистр 1 записывается третья распакованная команда формата ЯЯ на место первой команды, в ре гистр 4 - нокер первой команды, в регистр 2 - третье двойное слово командной информации, в регистр 3 третье и четвертое полуслова второго двойного слова командной информации, 40Так как четвертая команда формата КБ занимает младшее полуслово второго двойного слова и старшее полуслово третьего двойного слова, она не участвовала в предыдущей распаковке и 45 в обрабатывающие блоки поступила лишь третья команда формата БЯ, В данный момент начало четвертой команды находится во втором полуслове буферного регистра 3. В соответствии с входными воздействиями на элементы И 39-45 и элемент ИЛИ 46 (Фиг,2) сигнал на выходе 21.2 блока 5 становится активным (командная информация начинается с второго полуслова в регистре Э). Четвертой команде формата КБ, пятой команде Формата КК соответствуют коды 10 на выходах 22 З и 22, коды 00 на линиях 24 и 24 и коды 11 на выходах 24 и 24 ь. На выходе блока 6 будут активны выходы: 28 (остаток равен двум полусловам), 29, 29 (первая команда начинается с второго полуслова регистра Э, вторая команда начинается с второго полуслова регистра 2), 30, 30 г (признаки наличия первой и второй команд), Активные сигналы выходов 29й и 29 поступают в блок 7 мультиплексоров (Фиг. Э) и разрешают передачу второго полуслова регистра Э (линия 23), первого и второго полуслова регистра 2 (линии 25 и 25 г) соответственно на место первого, второго и третьего полуслов первой команды (выходы 31, 31 и 31 З блока 7 мультиплексоров).После приема третьей команды формата БЯ обрабатывающими блоками процессора и при выполнении соответствующих условий по следующему тактовому импульсу в регистр 1 записываются четвертая команда формата ВБ на место первой команды и пятая команда Формата КК на место второй команды, в регистр 4 - номера первой и второй команд, в регистр 2 - четвертое двойное слово командной информации, в регистр 3 - третье и четвер" тое полуслова третьего двойного слова командной информации. шестая команда Формата ББ занимает младшие два полуслова третьего двойного слова и старшее полуслово четвертого двойного слова, На это указывает код 001, записанный в регистр 36, и код 11 на линиях 22 и 22 г. На седьмую, восьмую и девятую команды форматов КК указывают коды00 00 00 на линиях 243, 24 1, 24., 24, 24 у и 24 з . Перечисленные коды, а также активный сигнал 21 З, выработанный блоком 5 в соответствии с записанной в регистре 36 информацией, поступают в блок 6 памяти. На выходе блока 6 будут активны выходы 281(остаток равен нулю), 29, 29, 29, 29 (первая команда начинается с первого полуслова регистра 3, вторая команда - с второго полуслова регистра 2, третья - с третьего полуслова регистра 2 и четвертая - с четвертого полуслова регистра 2), 30, 30 г, 30, 30 (признаки наличия первой второй, третьей и четвертой команд). Активные сигналы с выходов 291, 291, 29 у и 29 поступают в блок9 1467 мультиплексоров (Фиг.3) и разрешают передачу первого и второго полу"слов регистра 3 (выходы 32 и 23)и первого полуслова регистра 2 (вы"ход 251) соответственно на местопервого, второго и третьего полусловпервой команды (выходы 311, 31,31 ), второго, третьего и четвертогополуслов регистра 2 (выходы 25 у,125 З и 251) соответственно на местопервого, второго и третьего полусловвторой команды (выходы 31, 31- н31); третьего и четвертого полусловрегистра 2 (выходы 25 и 25) соответственно на место первого и второго полуслов третьей команды (выходы31 и 31); четвертого полуслова регистра 2 на место первого (и единственного) полуслова четвертой команды(выход 319).После приема четвертой и пятой команд в обрабатывающие блоки по следующему тактовому импульсу в буфер 1ный регистр 1 записываются шестая,седьмая, восьмая и девятая команды,в регистр 4 - номера первой, второй,третьей и четвертой команд, в регистр 2 - следующее двойное словокомандной информации, в регистр 3младшие два полуслова предыдущегодвойного слова иэ регистра 2,Процесс продолжается до поступления следующего импульса "Сброс",указывающего на необходимость перехода на новую ветвь программы. Формула изобретения1. Устройство для распаковки команд, содержащее первый и второй буферные регистры команц блок памяти, блок мультиплексоров, регистр номеров команд и эле 1 ьент И причем выход распакованных команд устройства соединен с выходом первого буферного регистра команд, информационный вход которого соединен с выходом блока мультиплексоров, первый и второй инФормационные входы которого соедине.- ны соответственно с первым и вторым, выходами второго буферного регистра команд, третий выход которого соединен с первым адресным входом блока памяти, первый выход кода микроопераций которого соединен с управляющим входом блока мультиплексоров, вход старших разрядов кода команд устрой" ства соединен с информационным входом второго буферного регистра ко 55ь ходами кода номера команды устройства, инверсные выходы регистра номеров команд соединены с остальными входами элемента И. 10манд, о т л и ч а ю щ е е с я тем,что, с целью повышения быстродейст вия за счет одновременной распаковкинескольких команд, оно содержит третий буферный регистр команд, группуэлементов И, группу элементов ИЛИ,0-триггер и блок указателей началавыборки причем вход разрешения приема команд устройства соединен с инФормационным входом 0-триггера и первым входом элемента И, второй входкоторого является входом синхронизации устройства, выход элемента И15 соединен с входами синхронизацииЙ-триггера, первого, второго и третьего буферных регистров команд, блокауказателей начала выборки и регистра.номеров команд, вход сброса устройства соединен с входом сброса Ф-триггера и с первыми входами элементовИЛИ группы, вторые входы которых соединены с соответствуюпдми разрядамивхода номеров команд устройства, 25 выходы элементов ИЛИ группы соединены с соответствующими входами сбросарегистра номеров команд, информационный вход третьего буферного регистракоманд соединен с вторым выходом второго буферного регистра команд, первый выход третьего буферного регистракоманд соединен с третьим информационным входом блока мультиплексоров,а второй выход третьего буферногорегистра команд соединен с вторым 35адресным входом блока памяти, третийадресный вход которого соединен с выходом блока указателей начала выборки, первый вход признаков которогосоединен с входом младших разрядовкода команд устройства, вход заданиярежима распаковки устройства соединенс вторым входом признаков. блока указателей начала выборки, третий входпризнаков которого соединен с выходом кода адреса блока памяти, прямойвыход П-триггера соединен с первымивходами элементов И группы, второйвыход кода микроопераций блока памятисоединен с соответствующими вторымивходами элементов И группы, выходыэлементов И группы соединены с соответствующими информационными входамитриггеров регистра номеров команд,прямые выходы которого являются вы12 Полуслово 2-е3-еДвойноеслово 2-е 3 к 4 к 3-е 4 к 4-е 6 к 5 к 6 к7 к 8 к 9 к 11 14641572. Устройство по п,1, о т л и - ч а ю щ е е с я тем, что блок указателей начала выборки содержит регистр и шифратор, причем вход синхронизации блока указателей начала выборки сое 5 динен с входом синхронизации регист" ра, первая, вторая и третья группы информационных входов которого соединены соответственно с первым, вторым и третьим входами признаков блока указателей начала выборки, выход которого соединен с выходом шифратора, вход которого соединен с прямым и инверсным выходами регистра. 15 1-е 4-е 1-е Предв. ветвь 1 к 2 к1464157 к рректор С.Шекмар едактор Н.Яцол ирак бб одпис аз 13 В город, ул, Гагарина, 1 оставитель В,Кри ехред М.Моргента ударственного комитета но ивобретенинм 113035, Москва, 3-35, Рауаскан н 1 11 Производственно-иадателъский комбинат Патент , открытиям лри ГКНТ СС д. 4/5
СмотретьЗаявка
4278785, 06.07.1987
ПРЕДПРИЯТИЕ ПЯ В-2667
ВЫРЛАН ИВАН ВАСИЛЬЕВИЧ, БОРШ ЮРИЙ МАТВЕЕВИЧ
МПК / Метки
МПК: G06F 9/00
Метки: команд, распаковки
Опубликовано: 07.03.1989
Код ссылки
<a href="https://patents.su/8-1464157-ustrojjstvo-dlya-raspakovki-komand.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для распаковки команд</a>
Предыдущий патент: Устройство для вычисления полинома -й степени
Следующий патент: Устройство динамического приоритета
Случайный патент: Способ крашения ковров из полиамидных волокон