Устройство для сдвига операндов
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Номер патента: 1633391
Автор: Самусев
Текст
(С) С 06 Р 7/38 ОСУДАРСТВЕННЫЙ КОМИТЕТО ИЗОБРЕТЕНИЯМ И ОТНРЫТИРИ ГКНТ СССР Р сс5,1 сп с сАНИЕ ИЗОБРЕТЕНИЯ К АВТОРСКОМУ СВИДЕТЕЛЬСТВ 458143/241.07.887.03.91,.А.Самусе81.325(08вторское739, кл .орское с041, ко. цо 1 тех ЗОВс 1 НО ЛЛЯ и Га ДНОИНЛсСегральнлх с сокра 1 ение д свидетельст Г 0 б Г 7/38 илетельство Г 06 Р 7/38 достигается ро"ство л.я ждиее блок 1преобрачоват полните 1 нлй КОЛс Ма С КИ, ментов 11, им связен, 2 а,о ССС 1985 ГГСР,15 Я СДВИГА 01 ВРА 11,1108 относится к влислиИКГс 1 с 11 ссКЕт О 11 т 1 с ИГ ИОЬострое ия устро" ств спвиОВ Н ИЛЕ бО.1 сИХ ИНхем. Ц л, и о 5 р те пняппаратрнпх 1 асргт. 1,ел.б ЛГОЛаря тоиу, Что уот -Гс 1 Н 11;1 ОПЕРсН;ОВ 5 СОДЕвОсНОСТОРОЦНЕГО СДВИГа,ЕЛс 4 ПР 51 1 О ГО КО,с 1 В ЛОко;, 11 ярмровгтгь 3элемент 11 2, блок 5 элеГ Г.т Нс Вуг Ор;ццясИИНп. А-Л 1,1, 5 ил.Изобретение относится к вычислительной технике и может быть использовано для построения устростя сдвига двоичных кодов я виде больших ин 5тегральных схем (БИС).11 слью изобретения является сокращение аппаратурных затрат,На Фиг.1 представлена схема устройства для сдвига операндов; нафиг.2 - структурная схема блока одностороннего сдвига; на фиг.З - структурная схема формирователя кода маски; на фиг.4 - Функциональная схемапреобразователя двоичного кода я 5единичный код; на Фиг.5 - структурнаясхема узла группового сдвига.Устройство (Фиг,1) содержит блок1 одностороннего сдвига, элемент И 2,формирователь 3 кода маски, преобразователь 4 прямого кода я дополнительный,блок 5 элементов И, знаковый вход6, информационный вход 7, вход 8задания типа сдвига, вход 9 разрядазадания арифметического сдвига входа 258 задания типа сдвига, вход 10 задания типа сдвига блока 1 одностороннего сдвига, вход 11 разряда заданиянаправления сдвига входа 8 заданиятипа сдвига, знаковый вход 12 блока 30одностороннего сдвига, первый ивторой выходы 13 и 14 Формирователя3 кода маски, второй вход 15 блокирования блока 1 одностороннего сдвига,вход 16 задания величины сдвига, вход17 задания величины сдвига блока 1одностороннего сдвига, выход 18.Блок 1 одностороннего сдвига(фиг.2) содержит узел 19 групповогосдвига, узел 20 разрядного сдвига,первую группу элементов И 21, первыйэлемент НЕ 22, вторую группу элементов И 23, группу элементов ИЛИ 21,элемент ИЛИ 25, второй элемент НЕ 26,входы 27 и 28 задания величины сдвига 45узлов 19 и 20 соответственно, выход29 узла 19, выходы 30 К старших разрядов выхода 29 узла 19, выходы 31(Б-К) младших разрядов выхода 29 узла 19, выходы 32 (К) старших разрядов выхода 29 узла 19, выходы 33 элементов И 23 группы, выходы 34 элементов ИЛИ 24 группы, входы 35 старшихразрядов первого входа блокировкиблока 1 односторонних сдвигов, выход5536 элемента НЕ 22, выходы 37 элементов И 21 группы, выход 38 элементаИЛИ 29, вход 39 разряда задания циклического сдвига входа 10 блока 1 односторонних сдвигов, первый вход 40блокировки узла 19, вход 41 старшегоразряда входа 40 блокировки узла 19,второй вход 42 блокировки узла 19,вход 43 старшего разряда входа 42 блокировки узла 19,Формирователь 3 кода маски (Фиг.З)содержит преобразователь 44 двоичногокода в единичный код, коммутатор 45.Преобразователь 44 двоичного кодав единичный код (Фиг,4) содержит первый элемент ИЛИ 46, первую группу элементов И 47, вторую группу элементовИ 48, второй элемент ИЛИ 49, группуэлементов ИЛИ 50, третий элементИЛИ 51, первый и второй элементы И 52и 53, выход 54 преобразователя 44 двоичного кода в сдиничный код.Узел 19 группового сдвига (Фиг,5)содержит группу модулей 55 сдвига,первый и второй инормационные входы56 и 57 и выход 58 модуля 55 сдвига.Цифры и буквы около жгутов управляющих и информационных входов узловна Фиг.1-5 обозначают номера разрядов.Блок 1 сдвига предназначен для осуществления сдвига я одну сторону(вправо) кода, установленного на входе 7, соответствующего маскирования(обнуления) разрядов слева или справа и распространения кода знака, установленного на входе 12, в освобождаемых разрядах слева в соответствиис заданными управляюгими кодами навходах 15, 17, 1 О и выходе 13.Узел 19 предназначен для осугествления циклического сдвига в однусторону (вправо) кода, установленного на входе 7, на величину, раянуюМфК, где М - значение кода на входе27, маскирования соответствующего ко-,личества групп по К разрядов я группе справа или слева на выходе 29 подуправлением и в соответствии с кодоммаски, установленным на входе 40, идля Формирования кода знака на соответствующем количестве групп слевапо К разрядов в группе под управлением и в соответствии с кодом, установленным на входе 42. При этом крайняя правая группа из К разрядов выхода 29 никогда не маскируется,на ееразрядах не устанавливается код знака. 1Узел 19 (фиг,5) содержит модули55 сдвига, которые по структуре ифункционированию (реализзояаны на муль5 1633391 типлексорах) аналогичны узлу односторонних сдвигов я известном устройстве с тем отличием, что содержат дополнительно первый и второй К-разрядные входы блокировки, соединенные соответствующими входами мультиплексоров, т,е, первый и второй входыблокировки 1-го (при отсчете слеванаправо) мультиплексора в модуле 5510 соединены с 1-ми разрядами первого в 40 и второго 42 входов блокировки со- г ответственно (для приведенного примера на Фиг.5 и1 = (- -- 1) = 7).МК 15 При установке ца первом входе блоки - р о в к и логич еск ой еди цицы нл выход е мультиплексора устанавливается логический нуль, если ца втором входе блокировки установлен логический 20 нуль, или логическая единица, если навтором входе блокировки установленалогическая единица. Прц установкена втором входе блокировки логической единицы цл выходе мультиплексора устанавливается логическая единица независимо от кодов цл входах 7и 40. При установке цл входах блокировки логического нуля цл выход мультиплексора передается код с М-го информационного входа, где И - значениекода на входе 27,В узле 19 -й разряд первого ивторого входа блокировки каждого модуля 55 соединяется с 1-и разрядомсоответственно первого и второго яхо -дов 40 и 42 блокировки уэлл 19.Узел 19 (Фиг, 5) Функционирует следующим образом. При устлцояке нлвходах 42 и 40 нулевого кодл на яыходе 29 Формируется циклически сдвинутый вправо код относительно кода,установленного на входе 7, цл величину,равную МК, где М - значение кодл,установленного на входе 27, а ". = 8. 45Если при этом я 1-и разряде входа 42установить логическую единицу, то яв 1-й группе разрядов (при отсчетеслева направо по К разрядов в группе)выхода 29 установится нулевой код. 50Если при этом в -и разряде в. да 42установить логическую единицу, то вэтой же г-й группе разрядов выхода 29установится единичный код.Узел 20 предназначен для Форарования на выходе 18 сдя 1 нутого вправо кода относительно кода цл первоминФормационном входе (выходах 31 и37) на величину (О - г с (К), где в - значение кода, установленного нл входе 28, с ядвига нием я ос яобожда емые разряды соответствующей части кода, установленного нл входах 34, Структура узла 20 аналогична структуре второго узла сдвига в известном устройстве.Преобразователь 4 идентичен по назначению структуре и Функгонироанию преобразователю кода известноо устройства.Формирователь 3 предназначен дляИфор мир ов а ция --- р а зр яд ног о к одаК маски ца выходе 13 и ( - 1)-разМКрядного кода маски на выходе 14 с учетом кода величины сдвига цл входе 16 и кода типа сдвига цл входе 10.Преобразователь 44 Фуцкционирует следующим образом. При установке нл разрядах (О/2) входа 16 кодл И, ца разрядах (3/5) входя 16 нулевого кода, а на входах 39 и 11 - логической единицы на разрядах (О/И) (О = К - й 7) выхода 54 устанавливается логическая единица, л цл остальных разрядах - логический ноль. При этом если нл разрядах (3/5) входа 16 будет установлен любой це нулевой код, то логическая единица установит - ся на разрядах (О/М) яьгходл 54, Если на входе 11 будет установлен логический ноль, то независимо от значения кода на разрядах (3/51 входа 16 логическая единица устлцовится нл разрядах (О/И) яьгходл 54, Если нл входе 39 установлен логический ноль, то ца всех разрядах выходя 54 установится логический ноль. Код с рлэрядоя (О/6) выхода 54 передается нл выход 14 Формирователя 3. Код с выхода 54 транзитом через коммутатор 45 передается ца выход 13 при установке на входе 11 логического нуля илц ца яыход 3 передается трацспонировлццый код с выхода 54 при установке на входе 11 логичес кой едищгды. Транс понирова ние э аключается в данном случае я обратном расположении рлзрядоя кода относительно разрядов яиходл 13.Устройство (Фиг . 1 ) Луцкционирует следующим обра зом,В исходном состояцц ца входе 7устанавливается сдвигаем, и двоичныйкод, На выходс 16 устанавливаетсявеличины сдяцгл, л входе Ятанавливается код типа сдвига, Возможны следуюие типы сдвига с установкой на входах 9, 11 и 39 разрядов соответствуюгих кодов: логический сдвиг вправо (ЛП) прц коде 001; логический сдвиг влево (Ш 1) при коде 011; арифметический сдвиг вправо (АП) при коде 101; циклический сдвиг вправо (Пг 1) при коде 000; циклический сдвиг влево (ЦЛ) при коде 010.На входе 6 устанавливается код знака при арифметическом сдвиге вправо. При этом параллельно на нулевом разряде входа 7 также устанавливается код знака н силу принятого способа кодирования арифметических операндов в универсальных цифроньм вычислительных машинах.На ныходе 16 Формируется сдвинутый код в соответствии с заданной величиной и типом сдвига.Для определенности положим Н = 68, К = 8, на входе 7 устанавливается код 11110000111100001111000011110000 11110000111100001111000000000000, на входе 16 устанавливается код 0101010, т.е. со значением, равным 26. Рассмотрим функционирование устройства прц всех типах сднигя. Код знака ня входе 6 равен логической единице,При коде 001 (ЛП) ня входе 8 на выходе элемента И 2 устанавливается нуль, запираюцй блок 5 элементов И. В результате на входе 15 устанавливается нулевой код. Ня выходе 13 на разрядах (О/7) сформируется код 11100000. На вход 17 транзитом лере- дается код 011010 с входа 16.При этом на разряды входа 27 (Фиг. 2) передается код М = 011 со значением, равным 3, а на разряды входа 28 код г = 010 со значением, равным 2. Так как ца входе 42 узла 19 установлен нулевой код, то он не влияет на формирование сдвинутого кода на ньгходе 29, На разрядах (О/2) выхода 13 и входа 40 сформированы логические единицы, под действием которых в трех группах разрядов слева (т.е. в нулевой, первой и второй слева группах разрядов) выхода 29 (при количестве разрядов в группе, равцом К = 8) сформируется логический ноль, т.е. в разрядах (О/23) выходя 29 установится логический ноль. В остальныеразряды будет передана оставшаяся часть циклически сдвинутого кода, установленного на входе 7, так как на 10 15 20 25 30 35 40 45 50 55 разрядах (3/7) входа 40 установленлогический нуль, т.е. на нгходе 9сформируется код 0000 0000 0000 00000000 0000 111 0000 1111 0000 11110000 1111 ОООО 1111 ОООО,ИНулевой код с ( --- 1) седьмогоК разряда выхода 13 устанавливается ця входе элемента НЕ 2, ня выходе 36 которого устанавливается логическая единица, отпираюя я груп и у эл емецт он И 21.В результате код с выходя 29 устанавливается ця рязряпях первого информационного входя узла 20. тяк как ца входе 39 установлена логическая единица, ця выходе элемента НЕ 26 устанавливается логический ноль, который с логическим нулем ца другом входе элемента ИЛИ 25 обеспечи - вает Формирование лгцческого нуля на входе группы элементов И :3. В результате ца выходах 33 формируется нулевой код. Так кяк ца входе 12 также сформирован логический цОль то гя выходах 34 уста цягливяется нулевой код. В узле 20 осугестнгяется сдвиг вправо на пг = 2 бит (разряда) со сдвиганием н освобогдяемые разряды на два крайних пряных бита кода, установленного ця нгхолях 34.В результате ця выходе 18 Формируется код 00 ОООО ОООО ОООО 0000 0000 0000 1111 ОООО 1111 0000 1111 0000 1111 0000 1111 00, т.е. осуггествляется логический сдвиг вправо ца величину 26 бит (разрядов).При коде 011 (ЛЛ) ця входе 8 на выходах 12 и 15 устанавливаются нулевые коды. На выходе 13 устанавливается код 0000 1111 (если бы н было равно нулю, то на выходе 13 сформировался бы код 00000111). Ня входе 17 Формируется дополнительный код от кода, установленного ня входе 16, т.е. код 100110. При этом ца разря - дах входа 27 (Фиг.2) устацязливается код М = 100 со значением, рявным 4, а ца разрядах входа 28 - код н = 110 со значением, равцыг 6. тяк кяк ня входе 42 узла 19 сформирован нулевой код, то он не влияет ца Формирование кода на выходе 29. Тяк как ня Н( -- 1) седьмом разряде входя 40 К установлен логический ноль, то кряняя правая группа из К = 8 разрядов10 выхода 29 не маскируется, а четвертая, пятая и щестая группы разрядовмаскируются, так как в разрядах (4/6)выхода 13 установлены логические еди 5ницы. Логическая единица с седьмогоразряда выхода 13 устанавливается навходе элемента НЕ 22,В результате на выходах 37 устанавливается нулевой код.Таким образом, на выходе 29 формируется код 1111 ОООО 1111 ОООО1111 0000 0000 0000 ОООО ОООО ОООО0000 0000 0000 1111 ОООО, а на выходах 31 и 37 установится код 1111 150000 1111 0000 1111 ОООО ОООО ОООО0000 0000 0000 0000 ОООО ОООО 00000000 0000.Так как на входе 11 установленалогическая единица, то код с выходов 2032, равный 1110000, передается навыходы 34, поскольку на входе 12установлен логический ноль.В узле 20 осуществляется сдвигвправо на н = 6 бит (разрядов) свдвиганием в освобощаемые разрядыслева соответствуюгей части кода свыходов 34.В результате на выходе 18 Формируется код 11 ОООО 1111 ОООО 1111 300000 1111 ОООО ОООО ОООО ОООО ОООО0000 0000 0000 ОООО ОО, т.е. осугествляется логический сдвиг влево навеличину 26 бит (разрядов).При коде 101 (АП) на входе 8 устроство функционирует так ке, как ипри ЛП, с тем отличием, что на выход элемента И 2 будет передан кодзнака с входа 6. Если код знакаявляется нулевым, то Функционирование устройства ничем не отличаетсяот Функционирования при ЛП. В рассматриваемом примере код знака является единичным. В этом случае навход 15 будет передан код с выхода 4514, в котором в разрядах (О/) сформированы логические единицы, под действием которых в трех группах разрядов (Фиг,2) слева (т,е, в нулевой,первой и второй слева группах оаэрядов) выхода 29 (при количестве разрядов в группе, равном К = 81 сформируется логическая единица, т,е.в разрядах (О/23) выхода 29 устанологическая единица, соответствуюная коду знака,На выходе 29 сформируется код1111 1111 1111 1111 1111 1111 11110000 1111 0000 1111 ОООО 1111 ОООО 1111 0000, который установится напервом информационном входе узла 20,Под действием логической единицына входе 12 на выходах 34 сформируется единичный код.В результате сдвига в узле 20 навыходе 18 сформируется код 1111111111 11111111 11111111 1111111111110000 11110000 11110000 111100001111 00, т,е. осуществляется арифметический сдвиг вправо на 26 разрядов.При коде 000 (ЦП) на входе 8 устройство функционирует так яе, как ипри ЛП, с тем отличием, что на выходе13 Формируется нулевой код. В результате в узле 19 маскирования разрядовне происходит и на выходе Формируетсякод 1 111 0000 1111 ОООО ОООООООО11110000 11110000 11110000 1111 ОООО11110000. так как на входе 39 (фиг.2)установлен логический ноль, то на выходе 38 установится логическая единица и код 111 0000 с выходов 32 будетпередан на выходы 34,В результате сдвига и узле 20 навыходе 18 сформируется код ОО 1111000011110000 ОООООООО 1111 ОООО 1111000011110000 11110000 1111 ОО, т.е. осуществляется циклический сдвиг вправона 26 разрядов.При коде 010 (Я) на входе 8 устройство Функционирует так ке, кзк и при ЛЛ, с тем отличием, что на выходе 13 Формируется нулевои код. В результате в узле 19 группы разрядов кода на выходе 29 не маскируются, а на выходе 36 устанавливается логическая единица, обеспечиваюная передачу кода с выходов 30 на выходы 37. В результате код 11110000 11110000 11110000 00000000 11110000 1111000011110000 11110000, сформированный на выходах 31 и 37, сдвигается в узле 20 на несть разрядов вправо с вдвиганием в освобождаемые разряды слева соответствующей части кода 11110000. На выходе 18 формируется код 11 ОООО 1111 ОООО 111 0000 11110000 ОООООООО 11110000 11110000 11110000 11, т,е, осугествляется циклический сдвиг влево на 26 разрядов.Следует отметить, что эа счет реализации Формирователя кода маски в виде комбинационной схемы (вотличие от ПЗУ в прототипе) улучнается технологичность устройства.Формула из обр ет ения1, Устройство для сдвига операндов, содержащее блок односторонних сдвигов, элемент И, формирователь кода маски, преобразователь прямого кода в дополнительный код и блок элементов И, причем информационный вход устройства соединен с информационным входом блока одностороннего сдвига, выход которого соединен с выходом устройства, знаковый вход которого соединен с перным входом элемента И, второй вход которого соединен с нхо дом задания арифметического сдвига входа задания типа сдвига устройства, выход элемента И соединен со знаковым входом блока одностороннего сдвига, первый вход блокировки которого 20 соединен с первым выходом формирователя кода маски, перньп и второй входы разрядов управляюЧего входа которого соединены с входаи разрядов задания направления сдвига и циклического сдвига входа задания типа сдвига устройства соответственно, нходы разрядов задания направления сдвига и циклического сдвига входа задания типа сдвига устройства соединены с со ответствующими входами разрядов входа типа сдвига блока одностороннего сдвига, вход задания величины сдвига которого соединен с ньмодом преобразователя прямого кода в дополнительный код, вход разрешения которого соединен с входом разряда задания направления сдвига входа задания типа сдвига устройства, вход задания величины сдвига которого соединен с ин формационными входами преобразователя прямого кода н дополнительный код и формирователя кода маски, выход элемента И соединен с первым входом блока элементов И, о т л и ч а ю щ е - 45 е с я тем, что, с цепью сокращения аппаратурных затрат, второй выход формирователя кода маски соелинен с вторым входом блока элементов И, выход которого соединен с вторю входом блокировки блока одностороннего сдвига.2. Устройство по п,1, о т л и - ч а ю щ е е с я тем, что блок одно 55 стороннего сдвига содержит узел группового сдвига, узел разрядного сдвига и вторую группы элементов И, группу элементов ИЛИ, первый и второй элементы НЕ, элемент ИЛИ, причем ин -формационный вход блока одностороннего сдвига соединен с информационнымвходом узла группового сдвига, выходы(И-К) (где И = 2, 1 С = 2, 1) 4,0 С. с 1) младших разряЛов ныхоЛакоторого соединены с входами соотнетстнующх разрядон первого информаионного входа узла разрядного сднига,входы К старших разрядов первого информационного входа которого соединены с выходами соответствуюих элементов И первой группл, первые входыкоторых соединены соответственно свыходами К старшх разрядов выхода узла группового сдвига, ньхол,К)-гостарших разрядов ньхода которого соединены с первыми нхолами соотнетстнчющих элементов И второй группы, выходы которых соединены с первыми входами соответствующих емето И 1 И группывыходь которых соединены с входами соотнетствующих разрядон второго информационного входа узла разрялного сдвига,выход которого является выходом 6 лока одностороннего сдвига, входы младших и старших разрядон входа задаявеличины сдвига к отор ого со е иенысоответственно с нходами разрядон задания величины сдвига узла разрядного сдвига и узла группового сдвига,входы старших разрялон перного и второго входов блокиронки которого соединены с входом логического нуляустройства, входы млалгх разрялонпервого и второго входов блокировкиузла группового сднга соединены свходами соотнетстнуюгих разрялон первого и второго входов блокировки 6 лока одностороннего сднига соответственно, вход старшего разряда первоговхода блокировки которого соединен свходом первого элемента НЕ, ньхолкоторого соединен с вторыми входамиэлементов И первой группы, вторыевходы элементов И второй группы соединены с выходом элемента И 11, первый вход которого соединен с входомразряда задания направления сдвигавхода задания типа сдвига блока одностороннего сдвига, второй вход элемента ИЛИ соединен с выходом второгоэлемента НЕ, вход которого соединенс входом разряда заданиякпического сдвига входа задания тина сдвигаблока одностороннего сдвига, знаковый вход которого соединен с вторыми входами элементов 111 И группы.3, Устройство по и,1, о т л и ч а ю щ е е с я тем, что Формирователь кода маски содержит преобразователь двоичного кода в единичный5 код и коммутатор, причем информационный вход Формирователя кода маски соединен с инФормационным входом преобразователя двоичного кода в единичный код, выходы разрядов которого соединены с входами соответствующих разрядов первого инФормациоцного коммутатора, выход которого является первым выходом Формирователя кода маски, первый и второй входы разрядов управляюшего входа которого соединены соответственцо с входом задания режима и входом разрешенияпреобразователя двоичного кода в единичный код, выходы младших разрядовкоторого соединены соответственно свыходами разрядов второго выхода Формирователя кода маски, выходы разрядов преобразователя двоичного кодав единичный код соединены перекрестно с входами разрядов второго инФормационного входа коммутатора, управляющий вход которого соединен с входом задания режима преобразователядвоичного кода в единичный код,,)2,20 2 Ю Ю,М 5220,28 3 Ю, ФФ,3 Ц 19.27,тЮЧ т Я.27 да 4 ХЯ,О Ц 19,27, 35 43,51, 5 иа 1 В,И, Ю,Ч 2,5 О 5 В Ю 18,2 б,т Юг, Ю 5 Щж гб,л 42,5 О,5 В 9,17,25 ЗЗ В 49,5 17, 75, ЯЗ 41, 49, 5 9.ПЛ 2 Ь,ЗЗ, Ч 1, Ю д й , 24.Ж,4.4 Ю,16,г,я,ж ааяг ав Составитель А. КлюевТехред М.Дидык актор С.Пекар ор ВГирняк ушская н оизводственно-издательский комбинат "Патент", г. Ужгород, ул. Гаг Заказ 617 Тираж 393 ВНИИПИ Государственного комитета по и 113035, Москва, Ж, М ие. 502 У ное открьггиям при ГКНТ СС д. 4/5
СмотретьЗаявка
4458143, 11.07.1988
ПРЕДПРИЯТИЕ ПЯ М-5339
САМУСЕВ АНАТОЛИЙ АЛЕКСЕЕВИЧ
МПК / Метки
МПК: G06F 7/38
Опубликовано: 07.03.1991
Код ссылки
<a href="https://patents.su/9-1633391-ustrojjstvo-dlya-sdviga-operandov.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для сдвига операндов</a>
Предыдущий патент: Устройство для сравнения двоичных чисел
Следующий патент: Последовательный сумматор
Случайный патент: Гидроударник прямого действия