Устройство для предварительной обработки операндов переменной длины

 

Изобретение относится к области вычислительной техники и может бьггь использовано в процессорах ЭВМ средней и высокой производительности. Цель изобретения - повьппение быстродействия . Устройство содержит регистр , блок управлений вычитанием адресов байтов, два блока вычитания адресов байтов, две памяти операндов, два дешифратора, два мультиплексора, два шифратора масок, два элемента И, элемент ИЛИ, триггер и элемент НЕ. Указанная цель достигается реализаi цией возможности размещения операндов различной длительности по целочисленW ным границам слой. 5 ил.

СОЮЗ СОВЕТСКИХ

СОЦИАЛИСТИЧЕСКИХ . РЕСПУБЛИК

А1

„„SU„, 1269147 др 4 G 06 F 15/20, 13/00

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

К А ВТОРСНОМ,Ф СВИДЕТЕЛЬСТВУ

ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3719951/24-24 (22) 06.04.84 (46) 07,11.86. Бюл. У 41 (72) Г.П, Лопато, А.П. Запольский, A.È. Подгорнов, P.Ñ. Мойса и я M.II. Орлова (53) 681.32(088.8) (56) Авторское свидетельство СССР

Р 767769, кл. G 06 F 15/00, 1977.

Авторское свидетельство СССР

Ф 648984, кл. С 06 F 15/00, 1976, (54) УСТРОЙСТВО ДЛЯ ПРЕДВАРИТЕЛЬНОЙ ОБРАБОТКИ ОПЕРАНДОВ ПЕРЕМЕННОЙ ДЛИНЫ (57) Изобретение относится к области вычислительной техники и может быть использовано в процессорах ЭВМ средней и высокой производительности.

Цель изобретения — повышение быстродействия. Устройство содержит регистр, блок управлений вычитанием ад ресов байтов, два блока вычитания адресов байтов, две памяти операндов, два дешифратора, два мультиплексора, два шифратора масок, два элемента

И, элемент ИЛИ, триггер и элемент НЕ.

Указанная цель достигается реализай2 цией воэможности размещения операндов g различной длительности по целочисленным границам слов. 5 ил.

С:

1269147 3

Изобретение относится к вычислительной технике и может быть использовано в процессорах ЭВМ средней и высокой производительности, Цель изобретения — повьпиение быстродействия.

На фиг.1 изображена схема устройства для предварительной обработки операндов переменной длины; на фиг,2 — схема блока управления вычитанием адресов байтов; на фиг.Э— . схема первого и второго блоков управления вычитанием адресов байтов на фиг.4 — схема вычитания адресов байтов памяти операндов на фиг.5 — схема перекомпоновки байтов в слове, Предлагаемое устройство (фиг.1) содержит регистр 1, информационный вход 2, первую 3 и вторую 4 памяти операндов, вход 5 старших разрядов адреса первого операнда, вход 6 старшего разряда адреса второго операнда, первый 7 и второй 8 шифраторы масок, вход 9 кода длины операндов, элемент ИЛИ 10, первый элемент

И 11, вход 12 признака конца, элемент HE 13, второй элемент И 14, вход 15 синхронизации, триггер 16, вход 17 сброса, блок 18 управления вычитанием адресов байтов, первый

19 и второй 20 блоки вычитания адI

pecos байтов, вход 21 модифицируемых разрядов адресов, вход 22 младших разрядов адреса первого операнда, вход 23 младших разрядов второ

ro операнда, первый 24 и второй 25 мультиплексоры, первый 26 и второй

27 дешифраторы, вход 28 признака обработки операндов, вход 29 признака приема и выдачи операндов, выход

30 признака конца предварительной обработки операндов, вход 31 признака выдачи операнда во внешнюю память, выход 32 первого операнда, выход 33 второго операнда.

Блок управления вычитанием адресов байтов (фиг.2) содержит дешифратор 34, сумматор 35 по модулю два и узел элементов ИЛИ 36.

Первый и второй блоки вычитания адресов байтов (фиг.3) содержат эле— менты И 37 и 38, элемент НЕ 39 и сумматоры 40-42 по модулю два.

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

Первый 19 и второй 20 блоки вычитания адресов байтов служат для вычитания единицы из адреса байта первого и второго операндов при обращении к памяти, Устройство работает следующим образом, Перед работой с данными переменной длины в регистр 1 заносятся значения двух младших разрядов адресов внешней памяти для каждого операнда, а также условие направления обработки, Так как данные в большинстве случаев занимают не одно слово, то на их обработку требуется не одна, а группа однотипных микрокоманд (группа микрокоманд считывания первого операнда, считывания второго операнда, микрокоманд арифметических действий над операндами, группа микрокоманд записи результата во внешнюю память).

Указателем выполнения первой микрокоманды в группе служит единичное состояние триггера 16.

Обработка,цанных начинается со считывания их из внешней памяти.

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

Для дальнейшей обработки в блоке арифметическо-логическом (БАЛ) устройством осуществляется выравнивание их по границам слов и разбиение на слова при записи их в первую 3 или во вторую 4 памяти операндов, В микрокоманде ПАМЯТЬ при считывании операнда из внешней памяти запись его в памяти операндов произво1 дится с отдельной адресацией каждого байта, в отличие от обычного исполнения микрокоманд, где память адресуется до слова. В первой микрокоманде считанное из внешней памяти слово пишется целиком — полностью в одно слово местной памяти (нет модификации адресов байтов — вычитания единицы из значения адреса местной памяти соответствующего байта).

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

Такая запись в память операндов компонует операнды по словам, но с

1269147 перемещенными байтами. Упорядочение байтов производится на мультиплексорах 24 и 25 в микрокомандах АРИФМЕТИ1

КА, при э том дополняются нулями н едостающие до слова байты с шифраторов 7 или 8.

В микрокомандах АРИФМЕТИКА модификация (вычитание) адресов отсутствует.

При записи результата во внешнюю 0 память (по адресу первого операнда) ,считывание из памяти операндов опять производится с модификацией адресов байтов и их перекомпоновкой на мультиплексоре 24. 15

На фиг.4 схематично показано вычитание адресов байтов памяти операндов и формирование слов в зависимости от направления обработки, значения двух младших разрядов адреса ОП край-20 него байта (младшего — для прямого направления обработки и старшего— для обратного направления обработки).

Для примера в памяти .операндов обрабатываемая информация размещается 25 с двадцатого слова.

В двадцать четвертое слово информация не записывается, она всегда перемещается в двадцать третье слово памяти операндов (длина операнда мо- 30 жет быть до шестнадцати байтов).

На фиг.5 показана перекомпоновка байтов внутри слов при выполнении ,микрокоманд АРИФМЕТИКА или записи результата во внешнюю память, 35

Первый 7 и второй 8 шифраторы масок представляют собой ППЗУ (программируемое постоянное запоминающее устройство) объемом памяти 256 4-разрядных слов каждая. Содержимое ППЗУ 4О для первого и второго операндов одинаковое. Адресами ППЗУ являются совокупность текущего значения длины операнда, значение двух младших разрядов адреса внешней памяти, тип выполняемой микрокоманды (ПАМЯТЬ или

АРИФМЕТИКА), направления обработки, а также состояние указателя выполнения первой или последующей микрокоманды в группе (триггер 16). 50

Для модификации текущих значений длин операндов можно также использовать ППЗУ (с другим содержимым), адресами для которых могут быть те же значения, что и для шифраторов масок (на фиг.1 не показаны).

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

Таким образом, для считывания первого операнда иэ внешней памяти необходимо четыре микрокоманды

ПАМЯТЬ. Считанное из внешней памяти первое слово пишется полностью в память операндов по адресу двадцатого слова (пишется и младший "чужой" байт информации). Единичное состояние триггера 16 запрещает модификацию адресов байтов памяти операндов, Синхроимпульсом первой микрокоманды в группе, поступающим по входу 15, этот триггер сбрасывается, разрешая модификацию адресов байтов.

Считанные иэ внешней памяти три старших байта второго слова записываются в три старших байта заданного в микрокоманде двадца Fb первого слова, а младший третий байт записывается в двадцатое слово местной памяти на место третьего "чужого байта.

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

При считывании последнего четвертого слова по входу 12 выдается сигнал конца обработки, по которому в конце микрокоманды устанавливается в единичное состояние триггер 16.

При считывании второго .операнда запись в память операндов производится, начиная с двадцать восьмого слова, аналогично считыванию первого операнда. По окончании считывания второй операнд расположен целиком в двух смежных словах памяти операндове

В первой микрокоманде АРИФМЕТИКА, как и в последующих, значения младших разрядов адресов операндов через дешифраторы 26 и 27 управляют перекомпоновкой байтов операндов. Для

5 12691 первого операнда третий байт передается на место нулевого байта, а нулевой, первый, и второй байты первой памяти 3 операндов передаются соответственно на место первого, второго, и третьего байтов, Для второго операнда второй и третий байты слова второй памяти 4 операндов засыпаются соответственно на место нулевого и первого байтов, а нулевой и первый — 10 на место второго и третьего. Получен,ный в БАЛ результат пишется в память операндов на место первого операнда без перекомпоновки.

Во время второй микрокоманды АРИФ- 15

МЕТИКА шифратор 8 масок, задает нулевое значение нулевого байта на выходе вторîro мультиплексора 25 маской 0111 через стробирующий вход мультиплексоров. В следующей микро- 20 команде АРИФМЕТИКА задается нулевое значение всего слова второго операнда.

В первой микрокоманде записи результата во внешнюю память по маске 25 записи, равной 1110, из двадцатого слова памяти операндов пишутся первый, второй и третий байты результата в нулевой, первый и второй байты слова внешней памяти после пе- 30 рекомпоновки байтов на первом мультиплексоре 24.

Во второй микрокоманде записи во внешнюю память по маске 1111 три младших байта берутся из двадцать первого слова местной памяти, а старший байт благодаря вычитанию адресов берется иэ двадцатого слова, после перекомпоновки записывается в третий байт слова, а три младших .байта (пер-40 вый, второй и третий) записываются . и нулевой, первый и второй байты слова.

В третьей микрокоманде слово для записи выдается иэ частей двадцать 45 второго и двадцать третьего слов памяти операнда с перекомпановкой.

В четвертой микрокоманде записи во внешнюю память в результате вычитания адреса записывается нулевой 50 байт двадцать третьего слова по маске 0001.

Такая реализация обращения к памяти операндов при обработке данных переменной длины наряду с их внут- 55 ренними перемещениями позволяет размещать данные по целочисленным rpaницам слов °

47

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

Устройство для предварительной обработки операндов переменной длины, содержащее первый и второй шифраторы масок, первую и вторую памяти операндов, регистр„ причем информационный вход регистра подключен к информационному входу устройства и к информационным входам первой и второй памятей операндов, старшие разряды адресных входов которых подключены соответственно к входам старших раз-. рядов адреса первого операнда устройства и к входам старших разрядов адреса второго операнда устройства, первые входы первого и второго шифраторов масок подключены к входу кода длины операндов устройства, о т— л и ч а ю щ е е с я тем, что, с целью повышения быстродействия, в него введены триггер, два элемента И, элемент НЕ, элемент ИЛИ, два дешифратора и два мультиплексора, блок управления вычитанием адресов байтов, содержащий дешифратор, сумматор по

Модулю два и узел элементов ИЛИ, кроме того, устройство содержит первый и второй блоки вычитания адресов байтов, каждый иэ которых содержит два элемента И, элемент НЕ и три сумматора по модулю два, причем вход сброса устройства подключен к первому входу элемента ИЛИ, второй вход которого подключен к выходу первого элемента И, первый вход которого подключен к входу синхронизации устройства и к первому входу второго элемента И, второй .вход которого соединен с выходом элемента

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

7 динены с первым входом сумматора б по модулю два блока управления вычитанием .адресов байтов, с выходом регистра и младшими разрядами информационного входа дешифратора, старшие разряды информационного входа которого соединены с выходом сумматора по модулю два блока управления вычитанием адресов байтов, второй вход которого соединен с входом признака выдачи 10 операнда во внешнюю память устройства и с первым информационным входом первого дешифратора, второй информационный вход которого соединен с выходом регистра и с информационным входом 15 второго дешифратора, стробирующий вход которого соединен со стробирующим входом первого дешифратора, с входом признака обработки операндоз устройства и входом записи регистра, 20 выход дешифратора через блок элементов ИЛИ соединен с первьщи входами первого сумматора по модулю два и первого элемента И каждого блока вычитания адресов байтов, второй вход . которого соединен с выходом элемента НЕ одноименного блока вычитания адресов байтов и первым входом второго элемента И одноименного блока вычитания адресов байтов, второй вход 30 которого соединен с выходом первого элемента И одноименного блока вычитания адресов байтов и с первым входом второго сумматора по модулю два

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

1269147

1269147

1269!47

ИП Аl Й7ф 00щя07у

IЧ- бьиад уа ю ле саа 8 ЮгХ

Составитель Ю. Ланцов

Техред M.Ходанич Корректор М.Максимишинец

Редактор А. Шишкина

Заказ 6038/52 Тираж 671 Подписное

ВНИИПИ Государственного комитета СССР по делам изобретений и открытий 113035, Москва, Ж-35, Раушская наб., д. 4/5

Производственно-полиграФическое предприятие, г. Ужгород, ул. Проектная, 4

Устройство для предварительной обработки операндов переменной длины Устройство для предварительной обработки операндов переменной длины Устройство для предварительной обработки операндов переменной длины Устройство для предварительной обработки операндов переменной длины Устройство для предварительной обработки операндов переменной длины Устройство для предварительной обработки операндов переменной длины Устройство для предварительной обработки операндов переменной длины Устройство для предварительной обработки операндов переменной длины 

 

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

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

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

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

Изобретение относится к микропроцессорной технике и может быть использовано при проектировании микропроцессорных систем и микро-ЭВМ с высокими показателями надежности

Изобретение относится к вычислительной технике

Изобретение относится к вычислительной технике и может быть применено в системах телеобработки и сетях ЭВМ, построенных на базе технических средств Единой Системы (ЕС) ЭВМ для обмена информацией между абонентами и ЭВМ или электронными вычислительными машинами по каналам передачи данных

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

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

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

Изобретение относится к радиотехнике

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

Изобретение относится к внутреннему представлению элементов пользовательского интерфейса

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

Изобретение относится к вычислительной технике, в частности к устройствам, обеспечивающим возможность единой реализации операций, которые являются общими как для обработки в режиме ядра, так и для обработки в пользовательском режиме

Изобретение относится к обработке мультимедийных данных в вычислительной среде
Наверх