Изобретение относится к вычислительной технике, в частности к выполнению арифметических операций в высокопроизводительных многорегистровых вычислительных устройствах.
Цель изобретения - расширение функциональных возможностей конвейерного вычислительного устройства за счет обеспечения возможности выполнения операции деления в коде золотой 1-пропорции.
На чертеже представлена функциональная схема разряда конвейерного вычислительного устройства.
Конвейерное вычислительное устройство содержит п+10 разрядов. Каждый разряд конвейерного вычислительного устройства состоит из первого регистра 1, входы 11 и 12 первого и второго разрядов которого соединены соответственно с входами ak и bk разрядов первого и второго операндов конвейерного вычислительного устройства, входы 1зи 14третьего и четвертого разрядов первого регистра 1 соединены с первыми и вторыми входами Pk и Pk-1 переноса данного разряда конвейерного вычислительного устройства, входы 1s и 1е пятого и шестого разрядов первого регистра 1 соединены с первым и вторым входами Sk-iK , Sk-2K л промежуточных сумм данного разряда конвейерного вычислительного устройства, вход 1т седьмого разряда первого регистра 1 соединен с первым входом fli признака кода операции разряда конвейерного вычислительного устройства, входы 1в, 1э и 1 ю восьмого, девятого и десятого разрядов первого регистра 1 соединены соответственно с первым, вторым, третьим входами Sk-з, Sk-4, Sk-5 сумм разряда конвейерного вычислительного устройства, вход 1ц одиннадцатого разряда первого регистра 1 соединен с вторым входом П2 признака кода операции разряда конвейерного вычислительного устройства, вход 1i2 двенадцатого разряда первого регистра 1 соединен с выходом Sk+1 суммы последующего седьмого по счету, начиная с данного разряда конвейерного вычислительного устройства, входы 1i3, 114 тринадцатого, четырнадцатого разрядов первого регистра 1 соединены соответственно с первым и вторым входами Си и С2 знаков суммы разряда конвейерного вычислительного устройства, девятый 2 и десятый 3 элементы И, одноразрядный двоичный сумматор 4, шифратор 5 промежуточных сумм, четвертый 6 и первый 7 элементы И, первый элемент ИЛИ 8, пятый 9, третий 10, второй 11, шестой 12 и седьмой 13 элементы И, второй 14, третий 15, четвертый 16 и пятый 17 элементы ИЛИ, одиннадцатый 18, восьмой 19 и двенадцатый 20 знамен ты j/l
шестой элемент ИЛИ 21, элемент НЕ 22, второй регистр 23, тринадцатый 24 и четырнадцатый 25 элементы И, выход суммы данного разряда конвейерного вычислмтельного устройства соединен с входом двенадцатого разряда первого регистра 1 предыдущего седьмого по счету, начиная с данного разряда конвейерного вычислительного устройства, выход суммы седьмого
разряда конвейерного вычислительного устройства соединен с первым входом переноса и с первым входом знака суммы первого разряда конвейерного вычислительного устройства, выход суммы восьмого
разряда конвейерного вычислительного устройства соединен с вторым входом знака суммы второго разряда конвейерного вычислительного устройства, выход шестого элемента ИЛИ 21 второго разряда конвейерного вычислительного устройства соединен с выходом разряда частного конвейерного вычислительного устройства. Устройство может выполнять, кроме поразрядного суммирования чисел, представленных в двоичном коде, коде золотой 1-пропорции или 1-коде Фибоначчи, также деление в коде золотой 1-пропорции.
Деление в коде золотой 1-пропорции выполняется в устройстве в прямом коде
без восстановления остатка по следующему правилу. 1. Вычесть из делимого делитель, Если результат отрицателен, то старшая цифра частного (с весом ои0) равна нулю. Если результат положителен или равен нулю, то старшая цифра частного равна единице. Полученная разность есть первый остаток. 2. Увеличить предыдущий остаток в «1 раз, 3. Если предыдущий остаток отрицателен, то добавить делитель, умноженный
на а , если положителен или равен нулю, - вычесть делитель. При этом образуется очередной остаток, знак которого определяет очередную цифру частного по правилам, аналогичным по пункту 1. При этом делитель
должен быть нормализован.
Вычитание делителя осуществляется с помощью прибавления дополнительного кода отрицательного значения делителя. В этом случае признаком положительного или
равного нулю числа является равенство друг другу обоих знаковых разрядов. При сдвиге . числа (остатка), представленного в дополнительном коде, влево на один разряд старший знаковый разряд (теряемый при сдвиге)
должен прибавляться к разряду с весом си0. Справа к коду приписывается нуль. В устройстве прибавление старшего знакового разряда осуществляется одновременно со сложением делителя и остатка.
Конвейерное вычислительное устройство работает Следующим образом,
На входы ГН и Па первого разряда устройства подаются управляющие сигналы, задающие режим работы устройства при обработке данной пары операндов. Если Г11П2 11, то выполнятся суммирование двоичных кодов (АдВ + ВдВ), если ГЬПа 01, то выполняется суммирование кодов золотой I- пропорции или 1-кодов Фибоначчи (Аэ + В3), если ГНГ12 00, выполняется суммирование остатка, поступающего по цепи обратной связи, с положительным (умноженным на ) или отрицательным (в зависимости от знака Ci, €2 остатка) значением делителя.
Таким образом, если начинается выполнение операции деления, на входы первого
регистра 1 устройства ak (к 1,2, 3п +10)
подается делимое, на входы первого регистра 1 устройства bk (к 1, 2, 3 п + 10)
подается дополнительный код отрицательного значения делителя, а на управляющие входы ПчП2 подается код операции суммирования кодов золотой 1-пропорции ГИП2 01. Одновременно на входы 5k и bk-1 второго регистра 23 устройства подаются соот- ветственно дополнительный код отрицательного значения делителя и положительное значение сдвинутого вправо на один разряд делителя. На тактовые входы первого регистра 1 синхронизирующие сигналы подаются постоянно, на тактовые входы второго регистра 23 - только тогда, когда начинается выполнение новой операции деления и на его информационные входы подаются цифры делителя. При продолжении выполнения операции деления на каждом седьмом такте работы конвейера на управляющие входы ГНПг устройства должны подаваться сигналы ГНП2 00, при этом происходит суммирование очередного остатка от деления, поступающего (со сдвигом влево на один разряд) по цепи обратной связи, с отрицательным значением делителя (если знаки этого остатка Ci Са) или с положительным значением делителя (если Ci 02), а также суммируется со старшим знаковым разрядом Ci, который подается на первый вход pk(k 1) переноса первого разряда устройства (тем самым осуществляется коррекция при сдвиге остатка).
Таким образом, в первом разряде устройства фактически производится коррекция, так как на входы ak, bk-1. bk операндов подаются нули, а суммируются только старший разряд суммы, поданный на первый вход pk(k 1) переноса, и этот же старший разряд суммы, поступивший на вход Sk+1 по цепи обратной связи. При выполнении операции деления конвейерное вычислительное устройство занимает каждый седьмой такт, поэтому в промежутке между этими тактами устройство может выполнять операции суммирования.
При выполнении операции деления операнды подаются начиная с второго разряда устройства, при выполнении остальных операций - начиная с первого разряда устройства.
0 Для примера рассмотрим работу к-го
(k 1, 2, 3п+10) разряда конвейерного
вычислительного устройства.
Пусть на f-м такте осуществляется прием k-x разрядов операндов А и В на входы
5 ak и bk первого и второго разрядов первого регистра 1 (если выполняется операция суммирования) или k-1-x разрядов операндов А и В на входы ak и bk первого и второго разрядов первого регистра 1, а также раэря0 дов bk-1 и bk-2 делителя на входы первого и второго разрядов второго регистра 23 (если начинается операция деления).
Кроме того, тактирование второго регистра 23 осуществляется только тогда, когда
5 начинается выполнение новой операции деления. Одновременно из предыдущего k-1- го разряда устройства на выходе с третьего по одиннадцатый первого регистра 1 поступают соответственно перенос из k-2-го раз0 ряда в k-й разряд рь перенос из (к-1)-го разряда в к-М-й разряд pk-м, двз разряда промежуточной суммы Sk-ik , Sk-2 1, первый управляющий сигнал Hi, разряды суммы Sk-з, Sk-4, Sk-5, второй управляющий
5 сигнал П2, из последующего k+6-rx разряда устройства на вход двенадцатого разряда первого регистра 1 поступает разряд суммы Sk-t-1, из предыдущего k-1-ro разряда устройства на входы тринадцатого и четырнадца0 того разрядов первого регистра 1 поступают разряды знаков суммы Ci и С2.
В зависимости от сигналов Пч и П2 на входы одноразрядного двоичного сумматора 4 через четвертый 16 и пятый 17 элементы
5 ИЛИ поступают либо ak и bk (П2 1. т. е. производится операция суммирования или начинается операция деления), либо Sk-1 (разряд остатка) и разряд делителя (П2 О, т. е. производится операция деления). Фор0 жирование разряда делителя происходит в зависимости от цифр знаков суммы CiC2 посредством выбора одного из разрядов делимого bk-2 или Ьы, хранящихся во втором регистре 23, с помощью восьмого 19, две5 надцатого 20, тринадцатого 24, четырнадцатого 25 элементов И, шестого элемента ИЛИ 21 и элемента НЕ 22. При этом если Ci С2, выбирается разряд дополнительного кода отрицательного значения делителя В, если Ci f C2, то выбирается разряд Bk-2
умноженного на аГ1 положительного значения делителя В. В свою очередь, остаток в каждом такте деления сдвигается на один разряд влево по конвейерному вычислительному устройству с помощью обратной связи, соединяющей выход суммы (k+6)-ro разряда устройства с входом Sk-1 данного k-ro разряда устройства.
После выбора слагаемых осуществляется суммирование либо в золотом 1-коде или l-коде Фибоначчи (ГН 0), либо в двоичном коде (Di 1). Если ГИ 1, то выход суммы Ck однозарядного ., двоичного сумматора 4 Преходит через четвертый элемент И 6 и третий элемент ИЛИ 15 и поступает на выход суммы k-ro, разряда устройства, аналогично выход переноса hk одноразрядного двоичного сумматора 4 через первый элемент И 7 и первый элемент ИЛИ 8 поступает на первый вход переноса следующего kt1-ro разряда устройства. Если происходит суммирование в избыточном коде (ГН 0), то вычисленные в одноразрядном двоичном сумматоре 4 разряды суммы Ск и переноса nk, а также разряды промежуточной суммы Sk-1 , Sk-2k1 из пятого и шестого разрядов первого регистра 1 поступают на шифратор 5 промежуточных сумм, где формируется перенос в k+2-й разряд pk+2 и разряды суммы Skk, Sk-ik, Sk-2. В то же время с помощью второго 11, шестого 12 и седьмого элементов И и второго элемента ИЛИ 14 производится, если это возможно, свертка разрядов суммы Sk-5, Sk-4, Sk-з (набор 011 заменяется набором 100), поступающих из восьмого, девятого и десятого разрядов первого регистра 1. Через третий элемент И 10 и третий элемент ИЛИ 15 полученный результат проходит на выход суммы k-ro разряда конвейерного вычислительного устройства.
Аналогично формируется первый перенос в последующий k-И-й разряд устройства с помощью пятого элемента И 9 и первого элемента ИЛИ 8. На k-И-м такте содержимое узлов k-ro разряда конвейерного вычислительного устройства передается на соответствующие входы k+1-го разряда конвейерного вычислительного устройства, а именно разряд переноса с выхода первого элемента ИЛИ 8 подается на первый вход переноса k+1-го разряда устройства, информация с выходов шифратора 5 промежуточных сумм передается соответственно на второй выход переноса, первый и второй входы промежуточных сумм, первый вход суммы k+1-го разряда устройства, прямой выход седьмого разряда первого регистра 1 соединен с первым управляющим входом k+1-го разряда устройства, с выходов шестого и седьмого элементов И 12 и 13 информация поступает на второй и третий входы сумм k+1-rvo разряда устройства, прямой выход одиннадцатого разряда первого регистра 1 поступает на второй управляющий вход
k+1-ro разряда, прямые выходы тринадцатого и четырнадцатого разрядов первого регистра 1 соединены соответственно с первым и вторым разрядами множителя k+1-го разряда устройства, выход суммы k-ro разряда
0 конвейерного вычислительного устройства подается на вход двенадцатого разряда первого регистра 1 k-6-ro разряда конвейерного вычислительного устройства.
Описанные преобразования повторя5 ются для каждого разряда устройства. В слу- чае избыточного кода результат суммирования принимается следующим образом: с выхода суммы четвертого разряда устройства снимается старший разряд пе0 реполнения, с выхода суммы пятого разряда - младший разряд переполнения, с выхода суммы шестого разряда - старшая первая цифра результата и т. д., с выхода суммы n+5-ro разряда n-я цифра результата.
5 Результат деления снимается с выхода разряда частного второго разряда конвейерного вычислительного устройства: на девятом такте работы устройства в режиме деления формируется цифра частного с ве0 сом сп°, через семь тактов (на шестнадцатом) формируется цифра частного с весом d 1 и т. д., n-разрядое частное вычисляется за (7п+2) тактов. Для приведения частного к минимизированной форме представления
5 при необходимости нужно произвести его свертку.
Формула изобретения Конвейерное вычислительное устройство, содержащее в каждом разряде однораз0 рядный двоичный сумматор, семь элементов И, три элемента ИЛИ, первый регистр и шифратор промежуточных сумм, причем выход переноса одноразрядного двоичного сумматора соединен с первым
5 входом первого элемента И, выход которого подключен к первому входу первого элемента ИЛИ, выход второго элемента И соединен с первым входом второго элемента ИЛИ, выход которого подключен к первому входу
0 третьего элемента И, выход которого соединен с первым входом третьего элемента ИЛИ, выход которого соединен с выходом суммы данного разряда устройства, входы разрядов первого и второго операндов кон5 вейерного вычислительного устройства соединены соответственно с входами первого и второго разрядов первого регистра, входы третьего и четвертого разрядов которого соединены с первым и вторым входами переноса данного разряда конвейерного
вычислительного устройства, входы пятого и шестого разрядов первого регистра соединены с первым и вторым входами промежуточных сумм данного разряда конвейерного вычислительного устройства, вход седьмого 5 разряда первого регистра соединен с первым входом признака кода операции конвейерного вычислительного устройства, входы восьмого, девятого и десятого разрядов первого регистра соединены соответст- 10 венно с первым, вторым и третьим входами сумм разряда конвейерного вычислительного устройства, выход третьего разряда первого регистра соединен с первым входом одноразрядного двоичного сумматора, вы- 15 ход суммы которого подключен к первому входу шифратора промежуточных сумм и к первому входу четвертого элемента И, выход которого соединен с вторым входом третьего элемента ИЛИ, выход переноса од- 20 поразрядного двоичного сумматора соединен с вторым входом шифратора промежуточных сумм, выход четвертого разряда первого регистра соединен с первым входом пятого элемента И, выход кото- 25 рого подключен к второму входу первого элемента ИЛИ, выход которого соединен с первым входом переноса следующего разряда конвейерного вычислительного устройства, выходы пятого и шестого разрядов 30 первого регистра соединены соответственно с третьими и четвертыми входами шифратора промежуточных сумм, прямой выход седьмого разряда первого регистра соединен с вторыми входами первого и етверто- 35 го элементов И и с первым входом признака кода операции следующего разряда конвейерного вычислительного устройства, инверсный выход седьмого разряда первого регистра соединен с вторыми вхо- 40 дами третьего и пятого элементов И, прямой выход восьмого разряда первого регистра соединен с первыми входами второго и шестого элементов И, инверсный выход восьмого разряда первого регистра соединен с 45 nepBoiM входом седьмого элемента И, второй вход которого соединен с вторым входом второго элемента И и подключен к прямому выходу девятого разряда первого регистра, инверсный выход которого соеди- 50 нен с вторым входом шестого элемента И, выход десятого разряда первого регистра соединен с вторым входом второго элемен- та ИЛИ, выходы шифратора промежуточных сумм соединены соответственно с вторым 55 входом переноса, с первым и вторым входами промежуточных сумм и с первым входом суммы следующего разряда конвейерного вычислительного устройства, выходы шестого и седьмого элементов И соединены соответственно с вторым и третьим входами сумм следующего разряда конвейерного вычислительного устройства, отличающееся тем, что, с целью расширения функциональных возможностей за счет выполнения операции деления в золотых I- кодах, оно дополнительно содержит в каждом разряде второй регистр, семь элементов И, три элемента ИЛИ, один элемент НЕ, причем входы первого и второго разрядов второго регистра соединены соответственно с входами разрядов отрицательного и положительного, сдвинутого на один разряд, значений второго операнда данного разряда конвейерного вычислительного устройства, выход первого разряда второго регистра соединен с первым входом восьмого элемента И, первые входы девятого и десятого элементов И соединены соответственно с выходами первого и второго разрядов первого регистра, вход одиннадцатого разряда которого соединен с вторым входом признака кода операции разряда конвейерного вычислительного устройства, вход двенадцатого разряда первого регистра соединен с выходом суммы последующего восьмого по счету от данного разряда конвейерного вычислительно о устройства, входы тринадцатого и четырнадцатого разрядов первого регистра соединены соответственно с первым и вторым входами знака суммы данного разряда конвейерного вычислительного устройства, прямой выход одиннадцатого разряда первого регистра соединен с вторым входом признака кода операции следующего разряда конвейерного вычислительного устройства и с вторыми входами девятого и десятого элементов И, выходы которых соединены соответственно с первыми входами четвертого и пятого элементов ИЛИ, выходы которых соединены соответственно с вторым и третьим входами одноразрядного двоичного сумматора, второй вход четвертого элемента ИЛИ соединен с выходом одиннадцатого элемента И, второй и третий входы пятого элемента ИЛИ соединены соответственно с выходами досьмого и двенадцатого элементов И, второй вход восьмого элемента И соединен с выходом шестого элемента ИЛИ и с входом элемента НЕ, выход которого соединен с первым входом двенадцатого элемента И, второй вход которого соединен с выходом второго разряда второго регистра, инверсный выход одиннадцатого разряда первого регистра соединен с первыми входами одиннадцатого, тринадцатого и четырнадцатого элементов И, прямой выход двенадцатого разряда первого регистра соединен с вторым входом одиннадцатого элемента
11 169360112
И, прямые выходы тринадцатого и четыр-предыдущего седьмого по счету, начиная с надцатого разрядов первого регистра сое-данного разряда конвейерного зычисли- динены соответственно с первым и вторымтельного устройства, выход суммы седьмого входами знака суммы следующего разрядаразряда конвейерного вычислительного ус- конвейерного вычислительного устройства, 5тройства соединен с первым входом пере- а также с вторым и третьим входами четыр-носа и с первым входом знака суммы надцатого элемента И, инверсные выходы три-первого разряда конвейерного вычисли- надцатого и четырнадцатого разрядов первоготельного устройства, выход суммы восьмого регистра соединены соответственно с вторымразряда конвейерного вычислительного ус- и третьим входами тринадцатого элемента И, 10тройства соединен с вторым входом знака выход которого связан с первым входом шее-суммы второго разряда конвейерного вы- того элемента И Л И, второй вход которого сое-числительного устройства, выход шестого динен с выходом четырнадцатого элемента И,элемента ИЛИ второго разряда конвейерно- выход суммы данного разряда конвейерногого вычислительного устройства соединен с вычислительного устройства соединен с вхо- 15выходом разряда частного конвейерного дом двенадцатого разряда первого регистравычислительного устройства.
название | год | авторы | номер документа |
---|---|---|---|
Конвейерное операционное устройство | 1985 |
|
SU1254470A1 |
Конвейерный сумматор | 1983 |
|
SU1137460A1 |
Конвейерное устройство для выполне-Ния АРифМЕТичЕСКиХ ОпЕРАций НАдМНОжЕСТВОМ чиСЕл | 1979 |
|
SU849205A1 |
Устройство для кусочно-линейной аппроксимации | 1989 |
|
SU1742831A1 |
Устройство для деления чисел | 1981 |
|
SU1056183A1 |
УСТРОЙСТВО ДЛЯ ПАРАЛЛЕЛЬНОГО ДЕЛЕНИЯ ЧИСЕЛ | 1991 |
|
RU2010311C1 |
Вычислительное устройство | 1988 |
|
SU1545215A1 |
Устройство для кусочно-линейной аппроксимации | 1988 |
|
SU1624479A1 |
ДЕЛИТЕЛЬ НА НЕЙРОНАХ | 2003 |
|
RU2249846C1 |
Устройство для деления чисел | 1990 |
|
SU1795456A1 |
Изобретение относится к вычислительной технике, в частности к выполнению арифметических операций в высокопроиз.1-l-J-I.I I I А 1Л Ifl . «, № {№Щт1ҐгР ь, SL -ЈЈ водительных многорегистровых вычислительных устройствах Целью изобретения является расширение функциональных возможностей конвейерного устройства за счет обеспечения возможности выполнения операции деления в кодщ золотой .-пропорции. С помощью устройства осуществляется в неавтономном режиме вычисления суммирование двоичных кодов, Г-кодов Фибоначчи, золотых i-кодов, а также деление золотых -кодов. Конвейерное вычислительное устройство в каждом разряде содержит два регистра 1 и 23. одноразрядный двоичный сумматор 4, шифратор 5, элементы ИЛИ 8, 14-17, 21, элементы И 2. 3, 6, 7. 9-13, 18-20, 24,25 и один элемент НЕ 22. 1 ил. S., О о CJ о а
Устройство для деления кодов "золотой" пропорции | 1986 |
|
SU1361544A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Авторское свидетельство СССР № 1137640, кл | |||
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Авторы
Даты
1991-11-23—Публикация
1989-11-28—Подача