Устройство для сдвига операндов

Номер патента: 1368874

Авторы: Заблоцкий, Самусев, Спасский, Шпаков

ZIP архив

Текст

(19) И)д) 4 С 06 Р 7/38 1 ОПИСАНИЕ ИЗОБРЕТЕНИЯ Ф ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССРПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИИ ВТОРСМОМУ СВИДЕТЕЛЬСТВУ(54) УСТРОЙСТВО ДЛЯ СДВИГА ОПЕРАНДОВ(57) Изобретение относится к вычислительной технике и может быть использовано в высокопроизводительных системах обработки информации. Цельюизобретения является расширение функциональных возможностей за счет выполнения арифметических сдвигов вправо. Поставленная цель достигаетсятем, что устройство для сдвига опе1368874 рандов содержит группу модулей 1сдвига, дешифратор нуля и преобразователь прямого кода в дополнительныйкод, Причем каждый модуль 1 сдвигавключает мультиплексоры 12 и 13,узел 14 односторонних сдвигов, схему Изобретение относится к вычислительной технике и может быть использовано в высокопроизводительных системах обработки информации.Цель изобретения - расширение5 функциональных возможностей за счет выполнения арифметических сдвигов вправо.На фиг.1 изображена схема устрой 1 О ства для сдвига операндов, на фнг.2- схема модуля сдвига.Устройство для сдвига операндов (фиг.1) содержит группу модулей 1 сдвига, дешифратор 2 нуля, преобразователь 3 прямого кода в дополнительный код, входы 4 величины сдвига устройства, информационный вход 5 устройства, выход 6 устройства, вход 7 типа сдвига устройства, группу входов20 8 номера модуля устройства, вход 9 знака устройства, входы 10 и 11 соответственно величины сдвига и разрешения сдвига модулей 1 сдвига группы.МОДуль 1 сДвига (фиг.2) содержит 25 мультиплексоры 12 и 13, узел 14 односторонних сдвигов, схему 15 сравнения, элемент НЕ 16, элемент И-ИЛИ 17 и 18, элементы И 19-22, группу элементов ИЛИ 23, .информационные входы 24 и 25 и управляющий вход 6 узла 14 односторонних сдвигов, управляющий вход 27 мультиплексоров 12 и 13, входы 28 и 29 установки в нуль и установки в единицу мультиплексора 12, входы 30 и 31 установки в нуль и установки в единицу мультиплексора 13,Модуль 1 сдвига предназначен для формирования части сдвинутого кода на группе разрядов выхода 6 устройст 40 ва с учетом кода величины сдвига, формируемого на входе 10, кода типа сдвига, устанавливаемого на входе сигнала ( Лог,0 ) равенства или нера 15 сравнения, элемент НЕ 16, элемент И-ИЛИ 17 и элементы И 19 и 20. Кроме того, каждый модуль 1 сдвига дополнительно содержит элемент И-ИЛИ 18, элементы И 21 и 22 и группу элементов ИЛИ 23 с соответствующими связями.2 ил. 2венства ("Лог.1") нулю всего кода величины сдвига, формируемого на входе 11, и кода настройки, установленного на входе 8. Кроме этого, модуль сдвига может быть использован как К-разрядный мультиплексор с управляющим входом, содержащим старшие разряды входов 10. При этом на младших разрядах входа 10 постоянно устанавливаются логические 0, на всех разрядах входа 8 постоянно устанавливается логическая "1", на входе 11 постоянно устанавливается логический 0, на входе / постоянно устанавливается код логического сдвига вправо, В этом случае на выход 6 передается код с группы разрядов входа 5, номер которой равен значению кода, установленного на старших разрядах входа 1 О, (К - целое число, 26 КсИ, И - количест во разрядов информационного входа 5 устройства) .Модуль 1 сдвига может быть.использован в качестве К-разрядного устройства логических и арифметических сдвигов с входным мультиплексором. В этом случае на младших разрядах входа 10 устанавливается код величины сдвига, на вход 7 - код типа сдвига (логического влево или логического или арифметического вправо). При этом при задании логического сдвига влево на младших разрядах входа 10 устанавливается дополнительный код величины сдвига, отличный от нулевого а на старших разрядах входа 10 устанавливается код со значением на единицу меньшим номера группы разрядов входа 5, На входе 11 устанавливается логическая " 1", а на всех разрядах1входа 8 - код МПри логических (арифметических) сдвигах вправо на всех разрядах входа8 устанавливается код М, а на входе10 устанавливаются коды без преобра- зований. При этом, для выполненияарифметических сдвигов вправо на вхо де 9 устанавливается код знака, а на входе 7 - соответствующий код типа сдвига. Элемент И 2 1 пропускает значение кода знака с входа 9 на вход 31, оно поступает также на выход г 10 группы элементов ИЛИ 23. В результате на всех разрядах входа 25 узла 14формируется значение знака и при сдвиге вправо код знака с входа 25 вдвигается в освобождаемые разряды 15слева на выходе 6.Мультиплексор 12 предназначен для передачи на вход 24 узла 14 требуемых групп сигналов входного сдвигаемого кода с входа 5 устройства под управ лением кода, устанавливаемого на старших разрядах входа 10, при установке логического "0" на входах 28 и 29. При установке на входе 28 логической "1" на всех разрядах входа 24, кроме крайнего левого разряда, устанавливается логический О". Значение сигнала на крайнем левом разряде входа 24 может задаваться сигналом с входа 29. При логическом "О" ("1") 30 на входе 29 на крайнем левом разряде входа 24 формируется логический "О" (11 1 11)Мультиплексор 13 предназначен для передачи на вход 25 узла 14 требуемых З 5 групп сигналов входного сдвигаемого кода с входа 5 устройства под управлением кода на старших разрядах входа 10 при установке логического "0" на входах 30 и 31. При установке на 40 входе 30 логической " 1" на всех разрядах входа 25 устанавливается логический "0" ("1") при установке на входе 31 логического "О" ("1").Номер группы сигналов, передавае мых на выход мультиплексора 12 с входа 5, равен значению кода, сформированного на старших разрядах входа 10. Номер группы сигналов, передаваемых на выход мультиплексора 13 с нхо да 5 на единицу больше значения кода, установленного на входе 10. При равенстве кода на старших разрядах входя 10 ( -в ,1),на выход передаются сигналы нулевой группы сигналов с входа 5. В данном случае номер группы сигналов равен номеру соответствующей группы разрядов входа 5,на которых эти сигналы сформированы.Указанная передача сигналов осуществляется только при установке логического "О" на входах 28-31,Узел 14 односторонних сдвигов предназначен для сдвига вправо кода, формируемого на входе 23, на величинуразрядов (бит), определяемую значениемкода на входе 26 узла, с вдвиганиемв освобождаемые слева разряды соответствующей правой части кода, сформированного на входе 25. На выходе узла14 формируется сдвинутый К-разрядныйкод. Узел 14 может быть построен аналогично известному. В устройстве имоделе сдвига выполняются следующиеоперации. ЦП - циклический сдвиг вправо, ЦЛ - циклический сдвиг влево, ЛПлогический сдвиг вправо, ЛЛ - логичес.кий сдвиг влево, АП - арифметическийсдвиг вправо. Обозначения ЦП, ЦЛ, ЛП,ЛЛ, АП соответствуют кодам соответственно 000, 010, 001, 011, 101, устанавливаемым на входе 7.Модуль 1 сдвига функционирует следующим образом.На входе 10 устанавливается кодвеличины сдвига, на входе 11 формируется сигнал логического "0" при равенстве значения кода на входе 1 О нулю и сигнал логической "1" в противном случае. На входах 7 и 9 формируется код соответственно типа сдвига изнака. На входе 8 устанавливается коднастройки, значение которого равнономеру (1.) модуля сдвига в устройстве.Для случаев, когда на выходах элементов И-ИЛИ 17, 18 и И 19, 22 формируется логический "0", код с младшихразрядов входа 10 транзитом передается на вход 26, элементы И 20 и 21 заблокированы, т,е. на их выходах устанавливается логический "0". Под воздействием кода, сформированного настарших разрядах входа 1 О, на входы24 и 25 осуществляется передача кода,установленного на группах разрядоввхода 5,При установке на входах 28 и 30логической "1", при логическом "О."на выходах элементов И 19 и 22, навсех разрядах входов 24 и 25 формируются логические "0". При этом, приустановке на выходе элемента И 19 логической "1" на всех разрядах входа25 устанавливается код знака черезэлемент И 21. Код знака устанавливается также на крайнем левом разряде88/4 1-1, если Б (1-1), если дскб 10 15 20 30 35 40 45 50 1.-М, если 1 М 55 5 136 входа 24 через элемент И 20 при формировании логической " 1" одновременно на выходах элементов И-ИЛИ 17 и 19. Это необходимо при выполнении в устройстве арифметических сдвигов вправо для формирования на всех разрядахвыхода 6 кода знака при М ). При этом код, на всех разрядах которого сформировано значение знака, с входа 25 вдвигается в (К) левых разрядов выхода 6, так как на входе 26 узла 14 сформирован единичный код с максимальным значением, равным (К), благодаря формированию на выходе элемента И 22 логической " 1". В крайний же правый разряд выхода 6 передается значение знака с крайнего левого разряда входа 24 узла 14.При М = ь на выходах элементов И-ИЛИ 17 и 22 устанавливается логический "О", а при арифметических сдвигах на выходах элементов И-ИЛИ 13 и 12 устанавливается логическая " 1" . В этом случае значение знака с входа 25 вдвигается в освобождаемые разряды сдвинутого1кода на выходе 6. При М с д модуль 1 сдвига функционирует как описано выше при формировании на выходах элементов И-ИЛИ 17,18 и И 19,22 логического "О".Преобразователь 3 предназначен для пропускания кода с входа 4 на выход беэ изменений при установке на входе 7 кода ЛП, АП и ЦП и для формирования на выходе дополнительного кода при установке на входе 17 кода ЦЛ или ЛЛ. При равенстве значения кода на входе 4 нулю на выходе дешифратора 2 формируется логический "О", В противном случае на выходе дешифратора 2 формируется логическая " 1".Для обеспечения работоспособности устройства вход 5 устройства необходимо соответствующим образом подключить к информационному входу каждого модуля 1 сдвига. Правило указанного подключения заключается в следующем, В каждом 1.-м модуле сдвига разряды 3-й группы разрядов информационного входа модуля сдвига соединяют с разрядами 1-й группы разрядов информационного входа устройства с сохранением порядка расположения разряда в группах разрядов, где Устройство работает следующим образом.Исходное состояние устройства может быть произвольным. Для осущест вления сдвига операнда код его устанавливается на входе 25 устройства. На входе 4 устройства устанавливается код величины сдвига. На входе 7 устройства устанавливается код типа сдвига - ЦП, ЦЛ, ЛП, АП, ЛЛ. Значение (М) кода величины сдвига может находиться в пределах Ос(М К+в)с(М), При этом значение М представляет собой значение части кода, формируемой на старших разрядах входа 4 и задающей К-кратные сдвиги. Значение щ представляет собой значение части кода, формируемой на младших разрядах входа 4 и задающей битные сдвиги.На выходе 6 устройства формируется сдвинутый код операнда, код которого установлен на входе 5. При равенстве М=О и ш=О на выходе дешифратора 2 формируется логический "О", который подается на вход 11 всех модулей 1сдвига. Если при этом на входе 7 ус-,тановлен код ЛЛ, выполняется передача транзитом с входа 5 на выход 6устройства. При установке на входе 7кодов ЦП, ЛП, АП, ЦЛ значение сигнала на выходе дешифратора 2 не влияетна функционирование устройства и .транзитная передача кода с входа 5на выход 6 обеспечивается благодаряпередаче нулевого кода с входа 4 навыход преобразователя 3 и входы 11модулей 1, а также кодам ЦП и ЦЛ навходе 7. Если М Ф О или шО, то на выхоДе дешифратора 4 устанавливается логическая "1" и устройство функционирует следующим образом.При циклическом сдвиге вправо в1каждом -м модуле сдвига на выход мультиплексора 12 передаются сигналы с а-й группы разрядов информационного входа устройства, где136887 а на выход мультиплексора 13 передаются сигналы б-й группы разрядов информационного входа, где 8Если щ=О, то узел 14 односторонних сдвигов 1-го модуля сдвига транзитом. передает код с входа 4, и, следовательно, с в-й группы разрядов входа 5 устройства на выход 6 устройства. Если щО, то код с входа 24 передается на выход 6 со сдвигом вправо на величину, равную (К-щ) бит, с вдвиганием в освобождаемые разряды соответствующей правой части кода с входа 25, и, следовательно, с г-й группы разрядов входа 5 устройства. В результате на выходе каждого модуля 1 сдвига формируется соответствующая часть циклически сдвинутого влево кода. Совокупность частей кода на выходе всех модулей сдвига образует полный код, сдвинутый циклически влевоПри логическом сдвиге вправо устройство функционирует так же, как при циклическом сдвиге вправо с тем отличием, что в модулях 1 сдвига, номера которых 1(М, осуществляется блокировка выходов мультиплексоров 12 и 13, а при д=М - только выхода мультиплексора 13, так как на выходе элемента И-ИЛИ 18 модулей 1 сдвига формируется единица.В результате на выходе 6 устройст. ва формируется логически сдвинутый вправо код.При логическом сдвиге влево устройство функционирует так же, как и при циклическом сдвиге влево с тем отличием, что в модулях 1 сдвига, но1)е)е Гмера которых 1(М) при щ=О.7 К 1 так как код с входа 4 передается транзитом на входы 10 модулей 1. В узле 14 односторонних сдвигов осуществляется сдвиг вправо на щ разрядов кода с а-й группы разрядов входа 5 с вдвиганием в освобождаемые раэря 15 ды соответствующей правой части кода с б-й группы разрядов, входа 5 устройства, В результате на выходах каждого модуля сдвига формируется требуемая часть сдвинутого циклически вправо кода. Совокупность частей кода на выходах всех модулей сдвига образует полный сдвинутый циклически вправо код.При циклическом сдвиге влево в25 преобразователе 3 осуществляется пре образование кода в дополнительный код. В результате на вход 1 О величины сдвига модулей 1 подается код и съ(7(и+1Кется блокировкаров 12 и 13 такментов И-ИЛИ 17гическая "1". В45номером 1=1М1 Гпри щ=О и 1= ( --3 к г-(М+1 при щФО осуществляется блокировка выхода только мультиплексора 12 с формированием на всех разрядах логического О, так как только на выходе элемента И-ИЛИ 17 формируется логическаЯ "1 н еВ результате на выходе 6 устройства формируется логически сдвинутыйвлево код.При арифметическом сдвиге вправо устройство функционирует так же, как и при логическом сдвиге вправо с тем б1 - (М+1) если 1 М+ЭИГкв (М+1-1) если тМ+9 1 Д- -М)щ, если щ=О, или (1 в в (М+1)7)7 М 30(К-щ), если тпО При этом в каждомт-м модуле сдвига при щ=О на выходмультиплексора 12.передаются сигналыв-й группы разрядов входа 5 устройст- З 5ва, где С 7 --, если 1 М 7х)И Я1 кКесли 1М))К а на вход мультиплексора 13 переДаются сигналы г-й группы разрядов, где с- -и+1),если сес 7м+К К М+1-1 1 если 1 - -М+1)К При щО номера в и г будут равны: с-(7(м.,если съ(7(м+)М МК КИ+1+11если 1(М+1) ))если 1 ( - 7 -М) .К при тпФО, осуществлявыходов мультиплексокак на выходах элеи 18 формируется ломодуле 1 сдвига сотличием, что в модулях сдвига номера которых .сМ , на выходах элементов И 19 и 22 формируется логическая " 1", благодаря чему на всех разрядах выхода этих модулей 4 юрмируется значение знакового входа 9 (описание модуля сдвига) . В модуле 1 сдвига, номер которого равен М, логическая единица формируется только на выходе элемента И 19, благодаря чему значение знака формируется на всех разрядах входа 25 узла 14. Эти значения знака вдвигаются в освобождаемые слева разряды сдвигаемого вправо кода, установленного на входе 24 узла 14 (описание модуля 1 сдвига) .В результате на выходах каждого модуля 1 сдвига формируется требуемая часть сдвинутого арифметически вправо кода.Формула изобретенияУстройство для сдвига операндов, содержащее группу модулей сдвига, дешифратор нуля, преобразователь прямого кода в дополнительный код, причем модуль сдвига содержит два мультиплексора, узел односторонних сдвигов, элемент НЕ, схему сравнения, два элемента И и первый элемент И-ИЛИ, причем вход величины сдвига устройства соединен с входом дешифратора нуля и с информационным входом преобразова-. теля прямого кода в дополнительный код, выход старших разрядов которого соединен с первыми входами схем сравнения модулей сдвига группы, первый вход первой группы первого элемента И-ИЛИ которых соединен с выходом дешифратора нуля, входи первого и второго разрядов типа сдвига устройства соединены соответственно с вторыми и третьими входами первой группы первых элементов И-ИЛИ модулей сдвига группы, информационные входи первого и второго мультиплексоров которых являются информационным входом устройства, входы номера модуля группы которого соединены с вторыми входами схем сравнения соответствующих модулей сдвига группы, выходы узлов одностороннего сдвига которых являются выходом устройства, вход типа сдвига которого соединен с входом разрешения преобразователя прямого кода в дополнительный код, причем в модуле сдвига выходи первого и второго мультиплексоров соединены соответственно с первым и вторым информационными входамиузла одностороннего сдвига, управляю щие входы первого и второго мультиплексоров соединены с первым входомсхемы сравнения, выход Меньше которой соединен с четвертым входом первой группы первого элемента И-ИЛИ, 10 выход "Больше" схемы сравнения соединен с первым входом второй группыпервого элемента И-ИЛИ, второй входвторой группы которого соединен спервым входом первого элемента И и с 15 выходом элемента НЕ, вход которогосоединен с третьим входом первойгруппы первого элемента И-ИЛИ, второйвход первой группы которого соединенс третьим входом второй группы пер вого элемента И-ИЛИ и с вторым входомпервого элемента И, о т л и ч а ю -щ е е с я тем, что, с целью расширения функциональных возможностей засчет выполнения арифметических сдвигов вправо, каждый модуль сдвигагруппы содержит третий и четвертыйэлементы И, второй элемент И-ИЛИ,игруппу элементов ИЛИ, причем входзнака устройства соединен с первыми 30. входами второго и третьего элементовИ модулей сдвига группы, первые входы элементов ИЛИ группы которых соединены с выходом младших разрядовпреобразователя прямого кода в дополЗ 5 нительный код, вход третьего разрядатипа сдвига устройства соединен стретьими входами первых элементов Имодулей сдвига группы, причем в модуле сдвига выход первого элемента.И-ИЛИ 40 соединен с входом установки в "О"первого мультиплексора, с вторым вхо.дом второго элемента И и с первымвходом четвертого элемента И, выходкоторого соединен с вторыми входами 45 элементов ИЛИ группы, выходы которыхсоединены с входом величины сдвигаузла односторонних сдвигов, выхоДвторого элемента И-ИЛИ соединен свторым входом четвертого элемента И, 50 с входом установки в 0 второгомультиплексора и с четвертым входомпервого элемента И, выход которогосоединен с третьим входом второгоэлемента И и с вторым входом третьего 55 элемента И, выходы второго и третьего элементов И соединены соответственно с входами установки в " 1" первого и второго мультиплексоров, первый вход первой группы первого элеКорректор М. Помо Редактор Е. Папп Заказ 297/51 Тираж 704 Подписное ВНИИПИ Государственного комитета СССР по делам изобретений и открытий 11335, Москва, Ж, Раушская наб д, 4/5Производственно-полиграфическое предприятие, г. Ужгород, ул, Проектная, 4 мента И-ИЛИ соединен с первым входом третьей группы первого элемента И-ИЛИ, второй вход третьей группы которого соединен с первым входом первой груп 5 пы второго элемента И-ИЛИ и с выходом 1 11Равно схемы сравнения, выходы"Больше" и "Меньше" которой соединены соответственно с первыми входами второй и третьей групп второго элемента 10 И-ИЛИ, вторые входы первой, второй и третьей групп которого соединены стретьим входом третьей группы и свторым входом первой группы первогоэлемента И-ИЛИ, третий вход первойгруппы которого соединен с четвертымвходом третьей группы первого элемента И-ИЛИ и с третьим входом третьейгруппы второго элемента И-ИЛИ, третьивходы первой и второй групп которогосоединены с выходом элемента НЕ.

Смотреть

Заявка

4063069, 29.04.1986

ПРЕДПРИЯТИЕ ПЯ М-5339

ЗАБЛОЦКИЙ ВЛАДИМИР НИКОЛАЕВИЧ, САМУСЕВ АНАТОЛИЙ АЛЕКСЕЕВИЧ, СПАССКИЙ ВИКТОР ЕВГЕНЬЕВИЧ, ШПАКОВ ЛЕОНИД ОРЕСТОВИЧ

МПК / Метки

МПК: G06F 7/38

Метки: операндов, сдвига

Опубликовано: 23.01.1988

Код ссылки

<a href="https://patents.su/7-1368874-ustrojjstvo-dlya-sdviga-operandov.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для сдвига операндов</a>

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