Устройство для предварительной обработки операндов переменной длины
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Номер патента: 1269147
Авторы: Запольский, Лопато, Мойса, Орлова, Подгорнов
Текст
СОЮЗ СОВЕТСКИХСОЦИАЛИСТИЧЕСКИРЕСПУБЛИК 147 4 С 06 Е 1 5 /20, 1 3 /00 САНИЕ ИЗОБРЕТЕНИЯ К А ВТОРСНОМУ СВИДЕТЕЛЬСТВУ 41ЗапольскиМойса и ельство ССС 15/00, 1977 ьство СССР 15/00, 1976 ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССРПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИИ(54) УСТРОЙСТВО ДЛЯ ПРЕДВАРИТЕЛЬНОЙОБРАБОТКИ ОПЕРАНДОВ ПЕРЕМЕННОЙ ДЛИНЫ (57) Изобретение относится к области вычислительной техники и может быть использовано в процессорах ЭВМ средней и высокой производительности. Цель изобретения - повышение быстродействия. Устройство содержит регистр, блок управлений вычитанием адресов байтов, два блока вычитания адресов байтов, две памяти операндов, два дешифратора, два мультиплексора, два шифратора масок, два элемента И, элемент ИЛИ, триггер и элемент НЕ. Указанная цель достигается реализацией воэможности размещения операндов различной длительности по целочислен" ным границам слов. 5 ил.Изобретение относится к вычислительной технике и может быть использовано в процессорах ЭВМ средней ивысокой производительности,Цель изобретения - повьпцение быстродействия.На фиг.1 изображена схема устройства для предварительной обработкиоперандов переменной длины; нафиг,2 - схема блока управления вычитанием адресов байтов; на фиг.Э -. схема первого и второго блоковуправления вычитанием адресов байтов на фиг.4 - схема вычитания адресов байтов памяти операндов нафиг.5 - схема перекомпоновки байтовв слове.Предлагаемое устройство (фиг.1)содержит регистр 1, информационныйвход 2, первую 3 и вторую 4 памятиоперандов, вход 5 старших разрядовадреса первого операнда, вход 6старшего разряда адреса второго операнда, первый 7 и второй 8 шифраторы масок, вход 9 кода длины операндов, элемент ИЛИ 10, первый элементИ 11, вход 12 признака конца, элемент НЕ 13, второй элемент И 14,вход 15 синхронизации, триггер 16,вход 17 сброса, блок 18 управлениявычитанием адресов байтов, первый19 и второй 20 блоки вычитания адресов байтов, вход 21 модифицируемых разрядов адресов, вход 22младших разрядов адреса первого операнда, вход 23 младших разрядов второго операнда, первый 24 и второй 25мультиплексоры, первый 26 и второй27 дешифраторы, вход 28 признакаобработки операндов, вход 29 признака приема и выдачи операндов, выход30 признака конца предварительнойобработки операндов, вход 31 признака выдачи операнда во внешнюю память,выход 32 первого операнда, выход 33второго операнда.Блок управления вычитанием адресов байтов (фиг.2) содержит дешифратор 34, сумматор 35 по модулю два иузел элементов ИЛИ 36,Первый и второй блоки вычитанияадресов байтов (фиг,3) содержат элементы И 37 и 38, элемент НЕ 39 и сумматоры 40-42 по модулю два.Блок управления вычитанием адресов байтов служит для указания байта в слове, из адреса местной памятикоторого необходимо вычесть единицу.11 ервый 19 и второй 20 блоки вычитанияадресов байтов служат для вычитанияединицы из адреса байта первого ивторого операндов при обращении кпамяти,Устройство работает следующим образом,Перед работой с данными переменнойдлины в регистр 1 заносятся значениядвух младших разрядов адресов внешнейпамяти для каждого операнда, а такжеусловие направления обработки, Таккак данные в большинстве случаев занимают не одно слово, то на их обработку требуется не одна, а группа однотипных микрокоманд (группамикрокоманд считывания первого операнда, считывания второго операнда,микрокоманд арифметических действийнад операндами, группа микрокомандзаписи результата во внешнюю память),Указателем выполнения первой микрокоманды в группе служит единичноесостояние триггера 16.Обработка,цанных начинается сосчитывания их из внешней памяти.Операнд может начинаться с любогобайта слова на что указывает значение двух младших разрядов адреса,Для дальнейшей обработки в блокеарифметическо-логическом (БАЛ) устройством осуществляется выравнивание их по границам слов и разбиениена слова при записи их в первую 3или во вторую 4 памяти операндов,В микрокоманде ПАМЯТЬ при считывании операнда из внешней памяти запись его в памяти операндов произво 1дится с отдельной адресацией каждогобайта, в отличие от обычного исполнения микрокоманд, где память адресуется до слова. В первой микрокоманде считанное из внешней памяти 5 1 О 15 20 25 30 35 40 дификации адресов байтов - вычитания единицы из значения адреса местнойпамяти соответствующего байта).Все последующие слова в зависимос 50 ти от младших разрядов адреса внешнейпамяти могут писаться в местную память с модификацией адресов байтов,т,е. эти слова могут бьггь записаныпо частям в два смежных слова памятиоперандов (заданное и предыдущеемладшее),Такая запись в память операндовкомпонует операнды по словам, но с слово пишется целиком - полностью 45 в одно слово местной памяти (нет моперемещенными байтами. Упорядочениебайтов производится на мультиплексорах 24 и 25 в микрокомандах АРИФМЕТИКА, при этом дополняются нулями недостающие до слова байты с шифраторов 7 или 8,В микрокомандах АРИФМЕТИКА модификация (вычитание) адресов отсутствует.При записи результата во внешнюю 0память (по адресу первого операнда),считывание из памяти операндов опятьпроизводится с модификацией адресовбайтов и их перекомпоновкой на мультиплексоре 24. 15На фиг.4 схематично показано вычитание адресов байтов памяти операндов и формирование слов в зависимости от направления обработки, значениядвух младших разрядов адреса ОП край него байта (младшего - для прямогонаправления обработки и старшего -для обратного направления обработки),Для примера в памяти .операндов обрабатываемая информация размещается 25с двадцатого слова.В двадцать четвертое слово информация не записывается, она всегдаперемещается в двадцать третье словопамяти операндов (длина операнда может быть до шестнадцати байтов).На фиг.5 показана перекомпоновкабайтов внутри слов при выполнении,микрокоманд АРИФМЕТИКА или записирезультата во внешнюю память, 35Первый 7 и второй 8 шифраторы масок представляют собой ППЗУ (программируемое постоянное запоминающее устройство) объемом памяти 256 4-разрядных слов каждая, Содержимое ППЗУ 40для первого и второго операндов одинаковое, Адресами ППЗУ являются совокупность текущего значения длины операнда, значение двух младших разрядов адреса внешней памяти, тип выполняемой микрокоманды (ПАМЯТЬ илиАРИФМЕТИКА), направления обработки,а также состояние указателя выполнения первой или последующей микрокоманды в группе (триггер 16). 50Для модификации текущих значенийдлин операндов можно также использовать ППЗУ (с другим содержимым),адресами для которых могут быть теже значения, что и для шифраторов 55масок (на фиг.1 не показаны).Работу устройства рассмотрим напримере выполнения команды десятичного сложения. Принимаем, что длина первого операнда двенадцать байтов, значение двух младших разрядов адреса внешней памяти равно 10, длина второго операнда семь байтов и два младших разряда адреса второго операнда равны 01.Таким образом, для считывания первого операнда иэ внешней памяти необходимо четыре микрокоманды ПАМЯТЬ. Считанное из внешней памятипервое слово пишется полностью в память операндов по адресу двадцатого слова (пишется и младший "чужой" байт информации), Единичное состояние триггера 16 запрещает модификацию адресов байтов памяти операндов, Синхроимпульсом первой микрокоманды в группе, поступающим по входу 5, этот триггер сбрасывается, разрешая модификацию адресов байтов,Считанные иэ внешней памяти три старших байта второго слова записываются в три старших байта заданного в Микрокоманде двадцать первого слова, а младший третий байт записывается в двадцатое слово местной памяти на место третьего "чужого байта.В третьей микрокоманде считывания иэ внешней памяти запись в двадцать второе и двадцать первое слова памяти операндов производится аналогично. В двадцать третье слово записывается только три старших чужих байта, а третий младший байт записывается в третий байт двадцать второго слова местной памяти. Таким образом, первый операнд размещается в трех словах памяти операндов.При считывании последнего четвертого слова по входу 12 выдается сигнал конца обработки, по которому в конце микрокоманды устанавливается в единичное состояние триггер 16.При считывании второго операнда запись в память операндов производится, начиная с двадцать восьмого слова, аналогично считыванию первого операнда. По окончании считываниявторой операнд расположен целиком в двух смежных словах памяти операндовеВ первой микрокоманде АРИФМЕТИКА, как и в последующих, значения младших разрядов адресов операндов через дешифраторы 26 и 27 управляют пере- компоновкой байтов операндов. Для3 12691 первого операнда третий байт передается на место нулевого байта, а нулевой, первый, и второй байты первой памяти 3 операндов передаются соответственно на место первого, второго, и третьего байтов, Для второго операнда второй и третий байты слова второй памяти 4 операндов засыпаются соответственно на место нулевого и первого байтов, а нулевой и первый - 10 на место второго и третьего, Получен,ный в БАЛ результат пишется в память операндов на место первого операнда без перекомпоновки.Во время второй микрокоманды АРИФ МЕТИКА шифратор 8 масок, задает нулевое значение нулевого байта на выходе второго мультиплексора 25 маской 0111 через стробирующий вход мультиплексоров. В следующей микро команде АРИФМЕТИКА задается нулевое значение всего слова второго операнда.В первой микрокоманде записи результата во внешнюю память по маске 25 записи, равной 1110, из двадцатого слова памяти операндов пишутся первый, второй и третий байты результата в нулевой, первый и второй байты слова внешней памяти после пе рекомпоновки байтов на первом мультиплексоре 24.Во второй микрокоманде записи во внешнюю память по маске 1111 три младших байта берутся из двадцать первого слова местной памяти, а старший байт благодаря вычитанию адресов берется из двадцатого слова, после перекомпоновки записывается в третий байт слова, а три младших .байта (первый, второй и третий) записываются й нулевой, первый и второй байты слова.В третьей микрокоманде слово для записи выдается иэ частей двадцать 45 второго и двадцать третьего слов памяти операнда с перекомпановкой,В четвертой микрокоманде записи во внешнюю память в результате вычитания адреса записывается нулевой 5 О байт двадцать третьего слова по маске 0001.Такая реализация обращения к памяти операндов при обработке данных переменной длины наряду с их внут ренними перемещениями позволяет размещать данные по целочисленным границам слов47Формула изобретения Устройство для предварительной обработки операндов переменной длины, содержащее первый и второй шифраторы масок, первую и вторую памяти операндов, регистр причем информационный вход регистра подключен к информационному входу устройства и к информационным входам первой и второй памятей операндов, старшие разряды адресных входов которых подключены соответственно к входам старших раз-. рядов адреса первого операнда устройства и к входам старших разрядов адреса второго операнда устройства, первые входы первого и второго шифраторов масок подключены к входу кода длины операндов устройства, о т - л и ч а ю щ е е с я тем, что, с целью повышения быстродействия, в него введены триггер, два элемента И, элемент НЕ, элемент ИЛИ, два дешифратора и два мультиплексора, блок управления вычитанием адресов байтов, содержащий дешифратор, сумматор по Модулю два и узел элементов ИЛИ, кроме того, устройство содержит первый и второй блоки вычитания адресов байтов, каждый иэ которых содержит два элемента И, элемент НЕ и три сумматора по модулю два, причем вход сброса устройства подключен к первому входу элемента ИЛИ, второй вход которого подключен к выходу первого элемента И, первый вход которого подключен к входу синхронизации устройства и к первому входу второго элемента И, второй .вход которого соединен с выходом элемента НЕ, вход которого подключен к второму входу первого элемента И и к входу признака конца обработки устройства, выходы элемента ИЛИ и второго элемента И соединены соответственно с входами установки в единицу и в ноль триггера, прямой выход которого соединен с вторыми входами первого и второго шифраторов масок и выходом признака конца предварительной обработки операндов устройства, инверсный выход триггера соединен с первым стробирующим входом дешифратора, второй стробирующий вход которого соединен с входом признака приема и выдачи операнда устройства и третьими входами первого и второго шифраторов масок четвертые входы которых сое 12697динены с первым входом сумматорапо модулю два блока управления вычитанием .адресов байтов, с выходом регистра и младшими разрядами информационного входа дешифратора, старшие разряды информационного входа которого соединены с выходом сумматора по модулю два блока управления вычитанием адресов байтов, второй вход которого соединен с входом признака выдачи 1 О операнда во внешнюю память устройства и с первым информационным входом первого дешифратора, второй информационный вход которого соединен с выходом регистра и с информационным входом 15 второго дешифратора, стробирующий вход которого соединен со стробирующим входом первого дешифратора, с входом признака обработки операндоз устройства и входом записи регистра, 20 выход дешифратора через блок элементов ИЛИ соединен с первьщи входами первого сумматора по модулю два и первого элемента И каждого блока вычитания адресов байтов, второй вход 25 . которого соединен с выходом элемента НЕ одноименного блока вычитания адресов байтов и первым входом второго элемента И одноименного блока вычитания адресов байтов, второй вход 30 которого соединен с выходом первого элемента И одноименного блока вычитания адресов байтов и с первым входом второго сумматора по модулю два 147 8одноименного блока вычитания адресовбайтов, выход второго элемента И каждого блока вычитания адресов байтовсоединен с первым входом третьегосумматора по модулю два одноименногоблока вычитания адресов байтов, вторые входы первого, второго и третьего сумматоров по модулю два первогои второго блоков вычитания адресов байтов соединены соответственно с входом младшего разряда адреса второго операнда устройства, входмодифицируемого разряда адресовоперандов устройства соединен с входом элемента НЕ каждого блока вычитания адресов байтов, выходы первого,второго и третьего сумматоров по модулю два каждого блока вычитания адресов байтов соединены с младшимиразрядами адресного входа одноименнойпамяти операндов, выходы первой и вто.рой памятей операндов соединены соответственно с информационными входамипервого и второго мультиплексоров,управляющие входы которых соединенысоответственно с выходами первогои второго дешифраторов, выходы первого и второго шифраторов масок соединены соответственно со стробирующимивходами первого и второго мультиплексоров, выходы которых являются соответственно выходом первого операнда устройства и выходом второго операнда устройства.126947 Составитель Ю, ЛанцовШишкина Техред М.Ходанич Корректор И.Иаксимишин еда Тираж 67арственногозобретений иа, Ж, Рау одписно изводственно-полиграФическое предприятие, г. Ужгород, ул. Проектная,Заказ 6038/52 ВНИИПИ Гос по делам 113035, Мос/Ч- бьдад уаюю 7 ле сааю 8 1 П комитета СССР открытий шская наб., д.
СмотретьЗаявка
3719951, 06.04.1984
ПРЕДПРИЯТИЕ ПЯ М-5339
ЛОПАТО ГЕОРГИЙ ПАВЛОВИЧ, ЗАПОЛЬСКИЙ АЛЕКСАНДР ПЕТРОВИЧ, ПОДГОРНОВ АНАТОЛИЙ ИВАНОВИЧ, МОЙСА РОМУАЛЬД СТАНИСЛАВОВИЧ, ОРЛОВА МАРИЯ ПЕТРОВНА
МПК / Метки
МПК: G06F 13/10
Метки: длины, операндов, переменной, предварительной
Опубликовано: 07.11.1986
Код ссылки
<a href="https://patents.su/8-1269147-ustrojjstvo-dlya-predvaritelnojj-obrabotki-operandov-peremennojj-dliny.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для предварительной обработки операндов переменной длины</a>
Предыдущий патент: Устройство для вычисления систем логических функций
Следующий патент: Устройство для моделирования систем массового обслуживания
Случайный патент: Штамп для резки профилей