Устройство для сдвига операндов
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Номер патента: 1481741
Автор: Самусев
Текст
СОЮЗ СОВЕТСКИХСОЦИАЛИСТИЧЕСКИХРЕСПУБЛИК Г 7/3 ГОСУДАРСТВЕННЫЙ КОМИТЕТПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМПРИ ГКНТ СССР ЕТВУ ОПИ 9 тельство ССС г 7/38, 1986. льство СССР Г 7/38, 1985, льство СССР 7/38, 1980,А ВТОРСКОМ(57) Изобртельной техзовано в высвычислительнизобретенияратурных заоперандов, смутатор 2, пда в дополникода маскиорганизацию2 табл. осптся к вычислижет быть испольительных цифровых х и системах. Целью сокращение аппаойство для сдвига блок 1 сдвига, комтель 3 прямого код, формирователь 4 И 5, имеет новую з. и. флы, 5 ил.,тение отнике и мокопроизводых машинаявляетсятрат. Устрдержащеереобразовательный кои элементсвязей. 3Изобретение относится к области вычислительной техники и может быть использовано в высокопроизводительных цифровыхвычислительных машинах и системах,Целью изобретения является сокращениеаггпаратурных затрат.На фиг. 1 изображена структурная схе.ма устройства для сдвига операндов; нафиг. 2 - структурная схема блока сдвига,первый вариант; на фиг. 3 - то же, второй вариант; на фиг, 4 - структурная схема первого узла одностороннего сдвига;на фиг. 5 - структурная схема второгоузла одностороннего сдвига,Устройство (фиг. 1) содержит блок 1сдвига, коммутатор 2, преобразователь 3прямого кода в дополнительный код, формирователь 4 кода маски, элемент И 5,информационный вход 6 устройства, знаковый вход 7 устройства, первый информационный вход 8 коммутатора 2, выход 9коммутатора 2, выход 10 устройства, вход 11задания арифметического сдвига устройства, вход 12 задания циклического сдвигаустройства, вход 13 задания направлениясдвига устройства, вход 14 задания величины сдвига устройства, информационныйвход 15 формирователя 4 кода маски, выход 16 элемента И 5, вход 17 блокировки блока 1 сдвига, вход 18 задания величины сдвига блока 1 сдвига.Блок 1 сдвига по первому варианту(фиг. 2) содержит первый узел 19 одностороннего сдвига, второй узел 20 одностороннего сдвига, мультиплексор 21, информационный вход 22 мультиплексора 21,второй информационный вход 23 узла 19одностороннего сдвига, второй информационный вход 24 узла 20 одностороннегосдвига, первый информационный вход 25узла 20 одностороннего сдвига, входы 26и 27 соответственно старших и младшихразрядов входа 8 задания величины сдвига блока 1.Блок 1 сдвига по второму варианту(фиг. 3) содержит группу элементов И 28,мультиплексор 29, первый узел 30 одностороннего сдвига, вход 31 блокировки узла 30одностороннего сдвига, вход 32 У/К-горазряда входа 17 блока 1 сдвига, входы 33разрядов, кроме двух старших, входа 17блока 1 сдвига, вход 34 старшего разряда входа 31 блокировки узла 30 односторонних сдвигов, вход 35 (Х/К - 1)-го разрядавхода 17 блока 1 сдвига, первый вход 36группы элементов И 28, первый информационный вход 37 мультиплексора 29, второй узел 38 односторонних сдвигов, первыйинформационный вход 39 узла 38 односторонних сдвигов, второй информационный вход 40 узла 38 одностороннихсдвигов.Первый узел 19 (30) односторонних сдвигов (фиг. 4) содержит модули 41 сдвига,первый и второй информационные входы 42 и 43 и выход 44 модуля 41 сдвига соответственно, второй узел 20(38) односторонних сдвигов (фиг, 5) содержит модули 45 сдвига, первый и второй информационныевходы 46 и 47 и выход 48 модуля 45 сдвигасоответственно.Цифры и буквы около жгутов разрядовинформационных входов на фиг. 1 - 5 и около управляющих разрядных входов означают номера разрядов или количест во разрядов.Модуль 41(45) сдвига (фиг. 4 и 5) поструктуре аналогичен узлу односторонних сдвигов устройства для сдвига операндов. На выходе 44 модуля 41 формируется 1 сдвинутый код относительно кода установленного на входе 42 на величину, определяемую кодом на входе 26. В освобождаемые разряды (в рассматриваемом примере - слева) вдвигается соответствующая (правая) часть кода, установленного на вхо де 43. Каждый модуль 41 определеннымобразом подключается разрядами входов 42 и 43 и выхода 44 к разрядам входов соответственно 6, 23 и 25. То есть(Ь+т К)-й разряд входа 6 соединяется с 1-ым разря.2 дом входа 42 5-го модуля 41, где 5=0, 1,,( -- -1), а 1=0, 1 (К - 1). Аналогично осуществляется связь разрядов входа 25 с разрядами выходов 44 модулей 41. Таким же образом осуществляется связь разрядов входа 23 с разрядамивхода 43 модулей 41 30 с тем отличием, что 1=1 - (К - 1). На выходе узла 19(30) формируется сдвинутый код относительно кода, установленного на входе 6 на величину, равную М К, где Мзначение кода на входе 26, а К равно 8. В освобождаемые разряды (слева) 35 в узле 19(30) вдвигается соответствующаячасть кода с входа 23, причем имеется возможность маскировать группы разрядов на выходе благодаря связи 17(31). При единичном коде на входе 17 (31) на выходе формируется нулевой код независимо от значений кодов на входах 6 и 23. При нулевом коде на входе 17(31) ни один разряд выхода не маскируется, т, е. не обнуляется, В остальных случаях установленный на 5-ом разряде входа 17(31) логический 0(1), 45 передается на вход блокировки 5-го мультиплексора всех модулей 41, на выходе которого и, следовательно, на 5-ом (при отсчете слева направо) разряде выхода всех модулей 41 устанавливается переданная информация (лог леский О). Но так как 5-ые 50 разряды всех модулей 41 образуют группу соседних разрядов (байт) с номером 5, то в 5-ую группу разрядов выхода передается информация (логический О), где 5=0, 1, ( -- 1). Описанные структуры и функциокнирование узла 19 на фиг. 4 соответст вуют конкретному случаю, когда - -=К, т. е.,йнапример, У=64, К=8.Узел 20(38) (фиг. 5) построен на модулях 45 сдвига, аналогичных модулям 41сдвига, разряды входов и выхода которых соединены с разрядами входов 24 и 25 и выхода 10 (фиг. 5). Узел 20(38) сдвига предназначен для формирования на выходе 10 сдвинутого вправо кода относительно кода на входе 25 на величину М(0(МК - 1) ), где М - значение кода, установленного на входе 27, с вдвиганием в освобождаемые разряды соответствующей части кода, установленного на входе 24. Мультиплексор 21 является И(К-входовым. Мультиплексор 29 является двухвходовым. При логическом и арифметическом сдвиге вправо на входах 32 и 35 (фиг. 3) формируется логическая 1, на входах 33 - логический О. В результате на вход 40 передается код с выхода 9, а на разряды входа 39 - код с входа 36, То есть на информационных и управляющих входах узлов 30, 38 формируются те же коды, что и на входах узлов 19 и 20 (фиг. 2) при тех же типах сдвигов.При циклических сдвигах, в отличие от сдвигов вправо (логического и арифметического), на входе 32 формируется логический 0, В результате на вход 40 передается код с входа 37, т. е. код последней не выдвинутой группы бит в узле 30 для вдвигания в узле 38 той его части, которая выдвигается в узле 38, что необходимо для правильного выполнения циклических сдвигов.При логическом сдвиге влево на входах 33 формируется код маски, при котором предотвращается передача информации с входа 6 на выход узла 30, кроме группы бит, передаваемой на вход 36 (благодаря логическому 0 на входе 34), Предотвращение передачи этой группы на первый информационный вход узла 38 осуществляется с помощью группы элементов И 28 благодаря установке на входе 35 логического 0. На входе 32 устанавливается логический 0, благодаря чему код с входа 37 передается на вход 40. Этот код является тем кодом, который необходимо вдвигать в узле 38 для получения правильно сдвинутого влево двоичного кода на выходе 10.Формирователь 4 кода маски предназначен для формирования - -разрядного койКда маски с учетом кода величины сдвига, направления сдвига и типа сдвига. Формирователь 4 может быть построен на логических элементах или на элементах постоянных запоминающих устройств (ПЗУ), например, типа КР 556 РТ 11 или КР 556 РТ 17. В зависимости от используемого блока 1 ПЗУ формирователя 4 необходимо по-разному кодировать. При использовании блока 1 на фиг. 2 колировка и функционирование формирователя 4 осуществляются в соответствии с табл. 1 (при У=64, /г=8).При использовании .блока 1 на фиг. 3 кодировка и функционирование формирова 6теля 4 осуществляются ь соотг ветствиитабл. 2 (при %=64, К=8).По таблице 2 видно, что для формирования требуемых сигналов на (- 8) -омразряде входа 17 формирователя достаточно в формирователь 4 для блока(фиг. 3)ввести элемент И, первый и второй входы которого соединены с входами 12 и 13,а выход элемента И соединен с -" - м разрядом входа 17. Остальные разряды входа 71 О необходимо соединить с выходом ПЗУ, вкотором ( " 1) -ый разряд кодируетсяинверсным значением по сравнению с ПЗУв формирователе 4 для блока на фиг. 2(табл. 1),Устройство (фиг. 1) функционирует следующим образом.В исходном состоянии на входе 6 (фиг. 1)устанавливается сдвигаемый код. На входе 7устанавливается код знака. На входе 14устанавливается код всличины сдвига. На20 входах 11 - 13 задает я код гипа сдвига.Возможны следующие типы сдвига риустановке соответствующих кодов на входах 11 - 13: логический сдвиг вправо (ЛП)при коде 111; арифметический сдвиг вправо (АП) при коде О 1; циклический сдвигвправо (ЦГ 1) при коде 101; цикл нескинсДвиг влево (ЦЛ) при коде 100; логиче. -кий сдвиг влево (ЛЛ) при коде 1 О.На выходе 1 О формируется соответствующим образом сдвинуты 11 кодПри ЛП на выходе 16 формируетсялогическая 1, блокирующая коммутатор 2.В результате на выходе 9 формируетсянулевой код. На входе 17 форм 1 етскод маски в соответствии с табл. 1 и,1 и 2,т. е. нулевой код маски (маска отсутствует). На вход 18 передается код с входа 14. В результате в блоке 1 осуществляется сдвиг вправо двоичного кода, установленного на входе 6 с заполнением освобождаемых разрядов логическим О , таккак логический 0 устанавливается и на40 входе 23, и на входах 24 и 40 (описание блоков 1 на фиг, 2 и 3). При АП устройствофункционирует так же, как и при ЛП, с темотличием, что на входе 11 устанавливаетсялогический 0. В результате на выходе 6формируется логический 0 и на выход 945 передается с входа 7 код знака для вдвигания в освобождаемые разряды.При ЦП устройство функционирует также, как и при ЛП, с тем отличием, что навходе 1 устанавливается логическая 1,а на выходе 16 устанавливается логический0 0. В результате на выход 9 передаетсякод (без крайнего левого разряда) с входа 6для вдвигания соответствующей его правойчасти в освобождаемые разряды, что необходимо для формирования циклически сдви 55 нутого вправо кода. При этом, при использовании блока 1 (фиг. 3) на (ф=8) -омразряде входа7 формируется логический0, под управлением которого на вход 40(фиг. 3) передается код с входа 37. Аналогично и при ЦЛ. Однако при ЦЛ на входе 18 формируется дополнительный код от кода на входе 14 благодаря. установке на входе 13 логического 0. Во всех описанных случаях на ( - - - 1)-ом разряде входа 17 (фиг. 3)Иформируется логическая 1 (табл. 2), благодаря чему код с входа 36 передается на разряды входа 39.При ЛЛ устройство функционирует так же, как и при ЦЛ, с тем отличием, что на разрядах (О/7) входа 17 формируется код маски в зависимости от кода величины сдвига и от используемого блока 1 (в соответствии с табл. 1 или 2). Для определенности рассмотрим для случая ЛЛ конкретный пример сдвига двоичного кода = в 111111111111111010101010101010 11110000111100001111000011111111 на величину 29, заданную двоичным кодом И = в 0111 при К=8, У=64, Сдвинутый код должен быть равен 010111100001111 0000111100001111111100000000000000000000 000000000. На выходе 9 устанавливается код К = 11111111111111 Г 1010101010101010 11110000111100001111000011111111, так как на входе 11 установлена логическая 1, а на выходе 16 - логический 0. На входе 17 в соответствии с табл. или 2 формируется код 00001111 или 000011100. На входе 18 формируется дополнительный код от кода Ы, равный Мт,где М=100, а т=011, Код М устанавливается на разрядах входа 26 (фиг. 2), а т - на разрядах входа 27. На входе 25 (фиг. 2) формируется код 11110000111100001110000 1 1 1 111000000000000000000000000 00000000 (описание узла 19). На вход 24 передаются (К - 1) младших разряда М-го байта (группы из К бит) (при отсчете со стороны направления сдвига, т. е. справа налево, начиная с нуля) кода на выходе 9, т. е, подчеркнутого байта 10101010 кода Я. В узле 20 (фиг. 2) осуществляются сдвиги вправо на ог бит с вдвиганием кода, установленного на входе 24. То есть на выходе 10 формируется код 01011110000111100001111000011111111 00000000000000000000000000000.В блоке 1 на (фиг. 3) на выходе узла 30 формируется код 1110000111100001 1 1 100001 1 1 1 1 1 1 100000000000000000000000010101010, Подчеркнутая одной четтой часть кода передается на выход (фиг. 3) с выхода 9, а часть кода, подчеркнутая двумя чертами, передается с входа 6 и представляет собой код того же подчеркнутого байта кода Й, передаваемого на вход 24 блокана фиг. 2. Это связано с тем, что на выходе 9 устанавливается тот же код, что и на входе 6, а при сдвиге на М К разрядов вправо в узле 30 на разрядах входа 36 всегда устанавливается код М-го байта, а на разрядах входа 37 - (К - 1) младших разрядов М-го байта (груп 8пы из К бит) (при отсчете со стороны направления сдвига, начиная с нуля) кода на входе 6 и, следовательно, кода на выходе 9.На разрядах входа 39 (фиг. 3) формируется нулевой код. На вход 40 передается код с входа 37. В результате сдвигов в узле 38 на выходе 10 формируется код 010 1110000111100001111000011111111 00000000,00000000,00000000,00000.Фор яула изобретения1, Устройство для сдвига операндов,содержащее блок сдвига, коммутатор, пргоб 15 разователь прямого кода в дополнительныйкод, формирователь кода маски и элемент И, причем информационный вход устройства соединен с первым информационным входом блока сдвига, вход задания величин сдвига которого соединен с выходом преобразовате ля прямого кода в дополнительный код,информационный вход которого соединен соответствующими разрядами с информационным входом формирователя кода маски и с входом задания величин сдвига устрой ства, первый вход задания режима формирователя кода маски соединен с входом разрешения преобразователя прямого кода в дополнительный код, с первым входом элемента И и с входом задания направления сдвига устройства, вход задания арифмети. З 0 ческого сдвига которого соединен с вторымвходом элемента И, выход которого соединен с входом блокировки коммутатора, от.личающееся тем, что, с целью сокращения аппаратурных затрат, входы разрядов, кроме старшего, информационного входа устройЗ 5 ства соединены соответственно с входами разрядов первого информационного входа коммутатора, входы разрядов второго информационного входа которого соединены со знаковым входом устройства, выход коммутатора соединен с вторым информаци онным входом блока сдвига, вход блокировки которого соединен с выходом формирователя кода маски, второй вход задания режима которого соединен с третьим входом элемента И и с входом задания циклического сдвига устройства, вход задания арифметического сдвига которого соединен с управляющим входом коммутатора, выход блока сдвига является выходом устройства.2. Устрой:тво по и. 1, отличающееся тем,что блок сдвига содержит первый и второй узлы одностороннего сдвига и мультиплексор, причем первый и второй информационные входы блока сдвига соединены соответственно с первым и вторым информационными входами первого узла одностороннего сдвига, выход которого соединен с 55 первым информационным входом второго узла одностороннего сдвига, выход которого соединен с выходом, блока сдвига, входы младших разрядов входа задания величины сдвига которого соединены с входами разрядов входа задания величины сдвига второго узла одностороннего сдвига, второй информационный вход которого соединен с выходом мультиплексора, входы разрядов информационного входа которого соединены с входами соответствующих разрядов второго информационного входа блока сдвига, входы старших разрядов входа задания величины сдвига которого соединены с входами разрядов управляюшего входа мультиплексора и с входами разрядов входа задания величины сдвига первого узла одностороннего сдвига, вход блокировки которого соединен с входом блокировки блока сдвига.3. Устройство по п. 1, отличающееся тем, что блок сдвига содержит первый и второй узлы одностороннего сдвига, мультиплексор, группу элементов И, причем первый и второй информационные входы блока сдвига соединены соответственно с первым и вторым информационными входами первого узла одностороннего сдвига, выходы У - К (У=2, К=2, 1)4, 01) младших разрядов которых соединены с входами соответствующих разрядов первого информационного входа второго узла одностороннего сдвига, входы К старших разрядов первого информационного входа которого соединены с выходами соответствующих элементов И группы, первые входы которых соединены с выходами К старших разрядов первого узла односторонних сдвигов, выходы (К - 1)-х старших разрядов которого соединены соответственно с входами разрядов первого информационного входа мультиплексора, выхОд которого соединен с вторым информационным входом второго узла одностороннего сдвига, выход которого соединен с выходом блока сдвига, входы младших и старших разрядов входа задания величин сдвига которого соединены с вхздам разрядов входа задания величины сдвига соответственно второго и первого узлов одностороннего сдвига, входы К-го и (Л/К - 1)- го разрядов входа блокировки блока сдвига соединены соответственно с управляющим входом мультиплексора и с вторыми входами элементов И группы, входы разрядов второго информационного входа мультиплексора соединены соответственно с входами 10 (К - 1) -х младших разрядов второго информационного входа блока сдвига, входы разрядов, кроме двух старших, входа блокировки которого соединены с входами соответствуюших разрядов входа блокировки первого узла одностороннего сдвига, вход старшего разряда входа блокировки которого соединен с входом нулевого потенциала устройства. 4 Устройство по пп, 1 2 отли - 20 чающееся тем, что первый узел одностороннего сдвига содержит Л/К модулей сдвига (Л=64, К=8), причем вход 1-го разряда первого информационого входа 1-го модуля сдвига соединен с входом )+,1 - 251)У/К-го (Ц=1 - Л/К) разряда первого и- формационного входа первого узла одностороннего сдвига, вход Р-го разряда второго информационного входа 1-го модуля сдв- га (Р=1 - М/К - 1) соединен с входом +(Р - 1)Л/К-го разряда второго информаЗ 0 ционного входа первого узла одновибраторного сдвига, вход задания величь: сдвига которого соединен с входами зада 1 я вс.личины сдвига модулей сдвига, выход -го разряда )-го модуля сдвига является выходом (+(1 - 1)Л/К-го разряда вьхода уз ла одностороннего сдв а вход б ок ро ккоторого соединен с входами блокровк модулей сдвига.Таблица 11481741 7 о 7,15 Л 31,ЗУ,Ч 755 БЗ 1, УЧ 75 Б Ч 7, ЯЗ 7,гЗ,7 Ыо б 1 Чгв Зв ЮВ ВЖБг 41 Б,7 Чо Бг,ж чв,зв,зо, ггзч а 41 51 з,гбгюз 7.Ч 5,5 з,в 7 о 51 зг 1,гя,лчв .Б 7ч г гг 1 Ю Б 15 Ч 1 г го гвзюччбгю 741 ч 1 ггогвзбффгбоо7 ччзб гв го, 1 г 7417 З,11, 19,г 7.З,ЧЗ 51.53 чз,л;г 7,ю /у 7О 7 г,1 о. 1 В, гв зччг,вал41 о7 чгзчгб 7 В ю 7 7 41 оН го комитет Москва, Ж льский ком Редактор Л. ГратиллоЗаказ 2690/49ИИПИ ГосударственнП 3035,роизводственно-изда Составитель А. КлюевТехред И. Верес КТираж 669 П а по изобретениям и отк - 35, Раушская наб. бинат Патент, г. Ужг рректор А. Обручардписноеытиям при ГКНТ СССд. 4/5род, ул. Гагарина, 1 О
СмотретьЗаявка
4321480, 26.10.1987
ПРЕДПРИЯТИЕ ПЯ М-5339
САМУСЕВ АНАТОЛИЙ АЛЕКСЕЕВИЧ
МПК / Метки
МПК: G06F 7/38
Опубликовано: 23.05.1989
Код ссылки
<a href="https://patents.su/8-1481741-ustrojjstvo-dlya-sdviga-operandov.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для сдвига операндов</a>
Предыдущий патент: Операционное устройство
Следующий патент: Арифметико-логическое устройство
Случайный патент: Устройство для стабилизации усилия прижима сварочных губок к упаковочным автоматам