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

 

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

СО(ОЗ СОВЕ ТСНИК

СОЦИАЛИСТИЧЕСКИХ

РЕСПУБЛИК (5)> 4 С 06 Р 7/38

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

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

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ

К А ВТОРСМОМУ СВИДЕТЕЛЬСТВУ (2 1) 4063069/24-24 (22) 29.04 ° 86 (46) 23.01.88. Бюл. М 3 (72) В.H. Заблоцкий, А.А. Самусев, В.Е. Спасский и Л.О. Шпаков (53) 681.325(088.8) (56) Патент США Ф 3887799, кл. 235-164, опублик. 1975.

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

Ф 1330626, кл. G 06 F //38, 05.02.86.. SU„„1368874 А1 (54) УСТРОЙСТВО ДЛЯ СДВИГА ОПЕРАНДОВ (57) Изобретение относится к вычислительной технике и может быть использовано в высокопроизводительных системах обработки информации. Целью изобретения является расширение функциональных возможностей за счет выполнения арифметических сдвигов вправо. Поставленная цель достигается тем, что устройство для сдвига one1368874 рандов содержит группу модулей 1 сдвига, дешифратор нуля и преобразователь прямого кода в дополнительный код. Причем каждый модуль 1 сдвига включает мультиплексоры 12 и 13, узел 14 односторонних сдвигов, схему

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

Цель изобретения — расширение

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

На фиг.1 изображена схема устрой10 ства для сдвига операндов, на фиг.2схема модуля сдвига.

Устройство для сдвига операндов (фиг.1) содержит группу модулей 1 сдвига, дешифратор ? нуля, преобразователь 3 прямого кода в дополнительный код, входы 4 величины сдвига устройства, информационный вход 5 устройства, выход 6 устройства, вход 7 типа сдвига устройства, группу входов

8 номера модуля устройства, вход 9 знака устройства, входы 10 и 11 соответственно величины сдвига и разрешения сдвига модулей 1 сдвига группы.

Модуль 1 сдвига (фиг.2) содержит мультиплексоры 12 и 13, узел 14 односторонних сдвигов, схему 15 сравнения, элемент НЕ 16, элемент И-ИЛИ 17 и 18, элементы И 19-22, группу элементов ИЛИ 23, .информационные входы

24 и 25 и управляющий вход 26 узла

14 односторонних сдвигов, управляющий вход 27 мультиплексоров 12 и 13, входы 28 и 29 установки в нуль и установки в единицу мультиплексора 12, входы 30 и 31 установки в нуль и установки в единицу мультиплексора 13, Модуль 1 сдвига предназначен для формирования части сдвинутого кода на группе разрядов выхода 6 устройст40 ва с учетом кода величины сдвига, формируемого на входе 10, кода типа сдвига, устанавливаемого на входе сигнала (Лог.О") равенства или нера15 сравнения, элемент HF. 16, элемент

И-ИЛИ 17 и элементы И 19 и 20. Кроме того, каждый модуль 1 сдвига дополнительно содержит элемент И-ИЛИ 18, элементы И 21 и 22 и группу элементов

ИЛИ 23 с соответствующими связями.2 ил.

2 венства ("Лог. 1") нулю всего кода величины сдвига, формируемого на входе

11, и кода настройки, установленного на входе 8. Кроме этого, модуль сдвига может быть использован как К-разрядный мультиплексор с управляющим входом, содержащим старшие разряды входов 10. При этом на младших разрядах входа 10 постоянно устанавливаются логические 0", на всех разрядах входа 8 постоянно устанавливается логическая "1", на входе 11 постоянно устанавливается логический 0, на входе / постоянно устанавливается код логического сдвига вправо. В этом случае на выход 6 передается код с группы разрядов входа 5, номер которой равен значению кода, установленного на старших разрядах входа 10, (К вЂ” целое число, 26K N, N — количест во разрядов информационного входа 5 устройства).

Модуль 1 сдвига может быть.использован в качестве К-разрядного устройства логических и арифметических сдвигов с входным мультиплексором.

В этом случае на младших разрядах входа 10 устанавливается код величины сдвига, на вход 7 — код типа сдвига (логического влево или логического или арифметического вправо). При этом при задании логического сдвига влево на младших разрядах входа 10 устанавливается дополнительный код величины сдвига, отличный от нулевого, а на старших разрядах входа 10 устанавливается код со значением на единицу меньшим номера группы разрядов входа 5. На входе 11 устанавливается логическая " 1", а на всех разрядах

I входа 8 — код М

При логических (арифметических) сдвигах вправо на всех разрядах входа

1368874

8 устанавливается код M, а на входе

10 устанавливаются коды без преобра зований. При этом, для выполнения арифметических сдвигов вправо на вхо- 5 де 9 устанавливается код знака, а на входе 7 — соответствующий код типа сдвига. Элемент И ? 1 пропускает значение кода знака с входа 9-на вход

31, оно поступает также на выход г 10 группы элементов ИЛИ 23. В результате на всех разрядах входа 25 узла 14 ! формируется значение знака и при сдвиге вправо код знака с входа 25 вдвигается в освобождаемые разряды 15 слева на выходе 6.

Мультиплексор 12 предназначен для передачи на вход 24 узла 14 требуемых групп сигналов входного сдвигаемого кода с входа 5 устройства под управ- 20

1 лением кода, устанавливаемого на старших разрядах входа 10, при установке логического "О" на входах 28 и

29. При установке на входе 28 логической "1" на всех разрядах входа

24, кроме крайнего левого разряда, устанавливается логический 0". Значение сигнала на крайнем левом разряде входа 24 может задаваться сигналом с входа 29. При логическом "0" ("1") ЗО на входе 29 на крайнем левом разряде входа 24 формируется логический "0" (" 1")

Мультиплексор 13 предназначен для передачи на вход 25 узла 14 требуемых З5 групп сигналов входного сдвигаемого кода с входа 5 устройства под управлением кода на старших разрядах входа 10 при установке логического "О" на входах 30 и 31. При установке на 40 входе 30 логической " 1" на всех разрядах входа 25 устанавливается логический "О" ("1") при установке на входе 31 логического "0" ("1").

Номер группы сигналов, передавае- 45 мых на выход мультиплексора 12 с входа 5, равен значению кода, сформированного на старших разрядах входа

10. Номер группы сигналов, передаваемых на выход мультиплексора 13 с вхо- 5р да 5 на единицу больше значения кода, установленного на входе 10. При равенстве кода на старших разрядах входя 10 () — вЂ,1), на выход передаются сигналы нулевой группы сигналов с входа 5 . В данном случае номер группы сигналов равен номеру соответствующей группы разрядов входа 5, на которых эти сигналы сАормированы.

Указанная передача сигналов осуществляется только при установке логического "0" на входах 28-31.

Узел 14 односторонних сдвигов предназначен для сдвига вправо кода, Аормируемого на входе 23, на величину разрядов (бит), определяемую значением кода на входе 26 узла, с вдвиганием в освобождаемые слева разряды соответствующей правой части кода, сформированного на входе 25. На выходе узла

14 Аормируется сдвинутый К-разрядный код. Узел 14 может быть построен аналогично известному. В устройстве и моделе сдвига выполняются следующие операции. ЦП вЂ” циклический сдвиг вправо, ЦЛ вЂ” циклический сдвиг влево, ЛПлогический сдвиг вправо, ЛЛ вЂ” логичес. кий сдвиг влево, АП вЂ” арифметический сдвиг вправо. Обозначения IUI, ЦЛ, ЛП, ЛЛ, АП соответствуют кодам соответственно 000, 010, 001, 011, 101, устанавливаемым на входе 7.

Модуль 1 сдвига функционирует следующим образом.

На входе 10 устанавливается код величины сдвига, на входе 11 Аормируется сигнал логического "0" при равенстве значения кода на входе 1О нулю и сигнал логической "1" в противном случае. На входах 7 и 9 формируется код соответственно типа сдвига и знака. На входе 8 устанавливается код настройки, значение которого равно номеру (i) модуля сдвига в устройстве.

Для случаев, когда на выходах элементов И-ИЛИ 17, 18 и И 19, 22 Аормируется логический "О", код с младших разрядов входа 10 транзитом передается на вход 26, элементы И 20 и 21 заблокированы, т,е. на их выходах устанавливается логический "0". Под воздействием кода, сформированного на старших разрядах входа 1(), на входы

24 и 25 осуществляется передача кода, установленного на группах разрядов входа 5.

При установке на входах 28 и 30 логической "1", при логическом "О." на выходах элементов И 19 и 22, на всех разрядах входов 24 и 25 формируются логические "О". При этом. при установке на выходе элемента И 19 логической "1" на всех разрядах входа

25 устанавливается код знака через элемент И 21. Код знака устанавливается также на крайнем левом разряде

5 136 входа 24 через элемент И 20 при формировании логической " 1" одновременно на выходах элементов И-ИЛИ 17 и 19.

Это необходимо при выполнении в устройстве арифметических сдвигов вправо для формирования на всех разрядах ! выхода 6 кода знака при M )i. При этом код, на всех разрядах которого сформировано значение знака, с входа

25 вдвигается в (К-1) левых разрядов выхода 6, так как на входе 26 узла

14 сформирован единичный код с максимальным значением, равным (К-1), благодаря формированию на выходе элемента И 22 логической " 1". В крайний же правый разряд выхода 6 передается значение знака с крайнего левого разряда входа 24 узла 14.

IIp@ M = i на выходах элементов И-ИЛИ

17 и 22 устанавливается логический "О", а при арифметических сдвигах на выходах элементов И-ИЛИ 13 и 12 устанавливается логическая " 1" . В этом случае значение знака с входа 25 вдвигается в освобождаемые разряды сдвинутого

I кода на выходе 6. При М <1 модуль 1 сдвига функционирует как описано выше при формировании на выходах элементов И-ИЛИ 17,18 и И 19,22 логического "0 .

Преобразователь 3 предназначен для пропускания кода с входа 4 на выход беэ изменений при установке на входе

7 кода ЛП, АП и ЦП и для формирования на выходе дополнительного кода при установке на входе 17 кода ЦЛ или

ЛЛ. При равенстве значения кода на входе 4 нулю на выходе дешифратора 2 формируется логический "О", В противном случае на выходе дешифратора 2 формируется логическая " 1".

Для обеспечения работоспособности устройства вход 5 устройства необходимо соответствующим образом подключить к информационному входу каждого модуля 1 сдвига. Правило указанного подключения заключается в следующем, В каждом i-м модуле сдвига разряды

3-й группы разрядов информационного входа модуля сдвига соединяют с разрядами 1-й группы разрядов информационного входа устройства с сохранением порядка расположения разряда в группах разрядов, где

88/4

1-1, если i j

N (j -1), если

i-М если i M

Устройство работает следующим образом.

Исходное состояние устройства может быть произвольным. Лля осущест-вления сдвига операнда код его устанавливается на входе 25 устройства.

На входе 4 устройства устанавливается код величины сдвига. На входе 7 устройства устанавливается код типа сдвига — ЦП, ЦЛ, ЛП, АП, ЛЛ. Значение (М„) кода величины сдвига может находиться в пределах О (М К+в)6(М-1), При этом значение М представляет собой значение части кода, формируемой на старших разрядах входа 4 и задающей К-кратные сдвиги. Значение m представляет собой значение части кода, формируемой на младших разрядах входа

4 и задающей битные сдвиги.

На выходе 6 устройства формируется сдвинутый код операнда, код которого установлен на входе 5. При равенстве

М=О и m--Î на выходе дешифратора 2 формируется логический "О", который подается на вход 11 всех модулей 1 сдвига. Если при этом на входе 7- ус-, тановлен код ЛЛ, выполняется передача транзитом с входа 5 на выход 6 устройства. При установке на входе 7 кодов ЦП, IIII, АП, ЦЛ значение сигнала на выходе дешифратора 2 не влияет на функционирование устройства и . транзитная передача кода с входа 5 на выход 6 обеспечивается благодаря передаче нулевого кода с входа 4 на выход преобразователя 3 и входы 11 модулей 1, а также кодам -ЦП и ЦЛ на входе 7.

Если М Ф О или m g О, то на выхоДе дешифратора 4 устанавливается логическая "1" и устройство функционирует следующим образом.

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

О... — — 1

Н)

К (М-i) если icM

Ф.7

M+i, если i () -(-М), и i (J †-(М+1)) при mpO, осуществляется блокировка выходов мультиплексоров 12 и 13 так как на выходах элементов И-ИЛИ I7 и 18 формируется логическая 1". R.ìîäóëå 1 сдвига с (1)-Г -М+1),если i(j — Г-М+1) номером i l— - Г-М при ш=О и i=(4-fM+i-1, если i((-) -М+1) -(М+1)) при шф0 осуществляется блокировка выхода только мультиплексора

При m/0 номера в и r будут равны: 50 12 с формированием на всех разрядах логического "0", так как только на

Все ) Ki

i-())- -(M+1) ),если Ь(Ч-Г-(М+1)) выходе элемента И-ИЛИ 17 формируется логическаЯ "1н е

M+1+i, » те() (-(М+)))

В результате на выходе 6 устройст1Nt

Ва формируется логически сдвинутый г= К

i— - (1-Г-M),если i)(! — Г-М) влево код.

При арифметическом сдвиге вправо

M+1, если те()-(-М). устройство функционирует так же, как и при логическом сдвиге вправо с тем а на вход мультиплексора 13 передаются сигналы г-й группы разрядов, где

1368874 8 а на выход мультиплексора 13 пере- Если m=0, то узел 14 односторонних даются сигналы б-й группы разрядов сдвигов z-ro модуля сдвига транзитом. информационного входа, где передает код с входа ?4, и, следовательно, с в-й группы разрядов входа б 5 устройства на выход 6 устройства.

) Если m/0, то код с входа 24 передаетвЂ(М+1-i), если ыМ+1, (,М ся на выход 6 со сдвигом вправо на величину, равную (К-m) бит, с вдвигатак как код с входа 4 передается транзитом на входы 10 модулей 1. В

10 нием в освобождаемые разряды соответствующей правой части кода с входа узле 14 односторонних сдвигов осу25, и, следовательно, с r-й группы ществляется сдвиг вправо на ш разряраэрядов входа 5 устройства. В редон кода с а-й группы разрядов входа зультате на выходе каждого модуля 1

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

При логическом сдвиге вправо уствыходах всех модулей сдвига образует полный сдвинутый циклически вправо при циклическом сдвиге вправо с тем

При цикли отличием, что в модулях 1 сдвига, нори циклическом сдвиге влево в преобразователе 3 осуществляется пре

25 мера которых icN, осуществляется о разование кода в дополнительный мультиплексора 13, так как на выходе ны сдвига модулей 1 подается код элемента И-ИЛИ 18 модулей 1 сдвига ()))(-M) m, если m=0, или ())(f — (М+1) 30 Формируется единица.

В результате на выходе 6 устройст° (К-ш), если m О< При этом в каждом ва формируется логически сдвинутый

i-м модуле сдвига при m=0 на выход вправо код. мультиплексора 12.передаются сигналы

При логическом сдвиге влево уств-й группы разрядов входа 5 устройст- З5 ройство функционирует так же, как и ва, где при циклическом сдвиге влево с тем отличием, что в модулях 1 сдвига, но. Nã () (М) ° если i () (N) мера хоторнх i () -(-)О при и=0

1368874 отличием, что в модулях сдвига номеf ра которых icM на выходах элементов

И 19 и 22 формируется логическая "1", благодаря чему на всех разрядах выхода этих модулей формируется значение знакового входа 9 (описание модуля сдвига) . В модуле 1 сдвига, номер которого равен М, логическая единица формируется только на выходе элемента И 19, благодаря чему значение знака формируется на всех разрядах входа 25 узла 14. Эти значения знака вдвигаются в освобождаемые слева разряды сдвигаемого вправо кода, установленного на входе 24 узла 14 (описание модуля 1 сдвига) .

В результате на выходах каждого модуля 1 сдвига формируется требуемая часть сдвинутого арифметически вправо кода.

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

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

И-ИЛИ которых соединен с выходом дешифратора нуля, входи первого и второго разрядов типа сдвига устройства соединены соответственно с вторыми и третьими входами первой группы первых элементов И-ИЛИ модулей сдвига группы, информационные входи первого и второго мультиплексоров которых являются информационным входом устройства, входы номера модуля группы которого соединены с вторыми входами схем сравнения соответствующих модулей сдвига группы, выходы узлов одностороннего сдвига которых являются выходом устройства, вход типа сдвига которого соединен с входом разрешения преобразователя прямого кода в дополнительный код, причем в модуле сдвига выходи первого и второго мультиплексоров соединены соответственно с первым и вторым информационными входами узла одностороннего сдвига, управляю5 щие входы первого и второго мультиплексоров соединены с первым входом схемы сравнения, выход Меньше которой соединен с четвертым входом первой группы первого элемента И-ИЛИ, 10 выход "Больше" схемы сравнения соединен с первым входом второй группы первого элемента И-ИЛИ, второй вход второй группы которого соединен с первым входом первого элемента И и с

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

З0 входами второго и третьего элементов

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

40 соединен с входом установки в "О" первого мультиплексора, с вторым входом второго элемента И и -с первым входом четвертого элемента И, выход которого соединен с вторыми входами

45 элементов ИЛИ группы, выходы которых соединены с входом величины сдвига узла односторонних сдвигов, выход второго элемента И-ИЛИ соединен с вторым входом четвертого элемента И, 50 с входом установки в 0 второго мультиплексора и с четвертым входом первого элемента И, выход которого соединен с третьим входом второго элемента И и с вторым входом третьего

55 элемента И, выходы второго и третьего элементов И соединены соответственно с входами установки в " 1" первого и второго мультиплексоров, первый вход, первой группы первого эле1368874

Составитель А. Клюев

Техред М.Ходанич

Корректор М. Помо

Редактор Е. Папп

Заказ 297/51 Тираж 704 Подписное

ВНИИПИ Государственного комитета СССР по делам изобретений и открытий

113()35, Москва, Ж-35, Раушская наб., д. 4!5

Производственно-полиграфическое предприятие, г. Ужгород, ул. Проектная, 4 мента И-ИЛИ соединен с первым входом третьей группы первого элемента И-ИЛИ, второй вход третьей группы которого соединен с первым входом первой груп5 пы второго элемента И-ИЛИ и с выходом

lI 11

Равно схемы сравнения, выходы

"Больше" и "Меньше" которой соединены соответственно с первыми входами второй и третьей групп второго элемента 10

И-ИЛИ, вторые входы первой, второй и третьей групп которого соединены с третьим входом третьей группы и с вторым входом первой группы первого элемента И-ИЛИ, третий вход первой группы которого соединен с четвертым входом третьей группы первого элемента И-ИЛИ и с третьим входом третьей группы второго элемента И-ИЛИ, третьи входы первой и второй групп которого соединены с выходом элемента HF..

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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