Арифметическое устройство

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

Авторы: Грибков, Илюшечкин, Кошелев, Степукова

ZIP архив

Текст

72) Авторы изобретен и 71) Заявитель 4) АРИФМЕТИЧЕСКОЕ УСТРОЙСТВО пле ми Изобретение относится к вычислительнойтехнике и может быт, использовано при по.строении цифровых вычислительных машин.Известно арифметическое устройство, содержащее арифметикологический блок, вход.ные буферные регистры, регистры общегоназначения, схемы управления 11.Однако известное устройство обладает низ.ким быстродействием,Наиболее близким к предлагаемому являет.ся арифметическое устройство, содержащее арифметико логический блок, умножитель, норма.лизатор (сдвигатеЪь), блок деления, две группырегистров общего назначения, мультиплексор,три буферных регистра, причем выход первогобуферного регистра соединен со входами первой и второй группы регистров общего назна.чения, выходы которых соединены соответственно с первыми входами второго и третьего бу.ферных регистров, выход второго буферногорегистра соединен с первыми информационнывходами арифметико-логического блока, умножителя, блока деления и нормализатора, вторыевходы которых соединены с выходом мультнксора, а выходы - с первым информационным входом первого и вторыми информацион.ными входами второго и третьего фуберныхрегистров, выход третьего буферного регистрасоединен с первым информационным входом 5мультиплексора, управляющие входы арифме-.тико. логического блока, умножителя, блокаделения, нормализатора и мультиплексора соединены с соответствующими управляющими шинами устройства 2 .Недостатком указанного устройства является. то, что для быстрого выполнения с его помощьюопераций деления необходим специальный блокделения, который имеет достаточно большойобъем оборудования и тем самым увеличивает 1 ф .аобщин объем арифметического устройства,Цель изобретения - уменьшение оборудо.валия арифметического устройства.Для достижения поставленной цели арифметическое устройство, содержащее арифметикологический блок, умножитель, нормализатор, двегруппы регистров общего назначения, мульти.вибратор, три буферных регистра, причем выходпервого буферного регистра соединен со входамипервой и второй группы регистров общего назна. чения, выходы которых соединены с первыми ин формационными входами соответственно второгои третьего буферных регистров, выход второго буферного регистра соединен с первыми информационными входами арифметико.логического блока, умножителя и нормализатора, вторые информационные входы которых соединены с выходом мультиплексора, а выходы соединены с информационной шиной устройства, которая соединена с первым информационным входом первого буферного регистра и вторыми инфор. мационными входами второго и третьего буфер. ных регистров, выход третьего буферного ре. гистра соединен с первым информационным входом мультиплексора, управляющие входы арифметико-логического блока, умножителя, иормализатора, мультиплексора и буферных регистров соединены с соответствующими управ. ляющими шинами устройства, содержит блок постоянной памяти, вспомогательный регистр .и блок формирования адреса, информационный вход которого соединен с выходом первого буферного регистра, управляющий вход блокаформирования адреса соединен с соответствующей управляющей шиной устройства, а выход подклю-,чен ко входу блока постоянной памяти, первыйвыход которого соединен со вторым инфор.мационным входом первого буферного регистра, а второй выход - со входом вспомгательного регистра, выход которого подключен ко второму информационному входу мультиплексора,На фиг. 1 показана структурная схема ариф.метического устройства; на фиг, 2порядокхранения необходимых констант в блоке постоянной памяти; на фиг. 3 - блок-схема алго.ритма деления чисел,Устройство содержит арифметнкологическийблок 1, умножитель 2, нормализатор (сдвига.тель) 3, первая и вторая группы 4 и 5 регистров общего назначения, первый, второй и третий буферные регистры б, 7 и 8, мультиплексор 9, блок 10 постоянной памяти, блок 11 формирования адреса, вспомогательный регистр 12,информационную шину 13 и управляющие шины 14 - 23.Снижение количества оборудования арифме.тичеекого устройства удается обеспечить эа счетреализации в устройстве алгоритма деления наоснове полиномивльной аппроксимации функ.ции 1/х, нри этом конструируется поливомс минимальным числом операций умножения.Равномерно загружая умножитель 2, норма.лнзатор 3 и арифметико.логический блок 1при реализации этого алгоритма удается путемвведения некоторого дЬполнительиого оборудования, которое значительно меньше оборудо.вания специального делителя, выполнять деле. ние за время меньшее, чем на специальномпоследовательно параллельном делителе.Рассмотрим обоснование алгоритма деленияна основе полиноминальной аппроксимации,Требуется вычислить частное у/х, где числох нормировано, т. е, 2х(1. Знаменательх представим в видехр а+ Ь10 при этом частное у/х можно вычислить по формуле Х =-И , (2) Числа а и Ь выбираются таким образом,чтобы выполнялось условие/а Ь/й 2 (3)При этом число а принимает лишь конечг 0 ное число значений в зависимости от х, а всезначения а " занесены в блок постоянной памяти. Ниже будет показано,.как по х выбиратьразбиение (1), А теперь, считая, что разбиение(1) уже выбрано и выполняется условие (3),д покажем. как вычислить, частное у/х по формуле (2)Очевидно, основная трудность состоит в вычислении выражения (1+г); гдег=а Ь30Построим при / г/6 2 многочлен шестойстепени М 6 (г), приближающий функцию+С 2+С( И 1где с; (1= О, 16) и Г - неизвестные покачисла;77 - .многочлен Чебышева, т. е.Т(щ) =64 а - И 2 а +%агв40 Тогда соотношения (4) трансформируютсяв систему линейных уравнений:с =-2 47;Ос с= О24с 1 4 с=722уО16с фс 4= 7 ф 2 Гс 1+с.= Осу + с= 72 С01,из которой легко находимГ=-(2 47,2 ф+7 2-.я24)и о- -С=2 (2-7 2727 24) "а"СЬ=(2 -72 я 4 И 2 -7 я 4+885993 20 Или, в десятичной записи Преимущество. разбиения х = а + Ь перед разбиением х = 3.+(Э - состоит в том,что величины а 1 имеют очень простую дво.ичную запись длиной не более байта, вслед.ствие чего умножение любого числа на аьФ 1может быть произведено быстрее, чем на пол.поразрядное 32 разрядное число. Таким обра.зом, для вычисления частного по формуле(9) достаточно четырех полноразрядныхумножений, двух умножений на байтовые множители и нескольких сложений,Вычислительный.йроцесс (8) можно еще немного упростить, если перейти к переменнойСО= а+ г,Очевидно,)т=т - а -ц. р1,003434717681ц = 1,0000074980322,000001692405Очевццно, что если числа р, ц, е, т, цзаранее занесены в блок 10 постоянной памяти,то вычисление Й 6(гш) .при произвольнойможет быть произведено по формулами -и)+р2пз и+ ц(12)и и+ 8и и+ип - и ти 8= и ити =пд+оОчевидно, что Й 6 г Р ир и что для ВЬ 1 числения Й 6(со) но схеме (12) достаточно трехумножений и шести сложений,Для того, чтобы получать величину Ж вместо величины х без дополнительных арифметических операций, следует держать в блоке 10постоянной памяти вместо значений д значения Ю=д + аг и вычислять величину Ьпо о ле ф РмуЬ= +дОчевидно, что тогдаС 1-Ь =О ф+ С) +аг) =2.+:Ю Приведенное обоснование и полученные формулы показывают воэможность реализащии операции деления на умножителях и сумматорах-вычитателях. 8Для практического выполнения приведенногоалгоритма деления имеет смысл произвестиего масштабирование,Прежде всего, в блоке 10 постоянной памя.3 ти вместо величин а должны содержаться-ялвеличины 2 а, а вместо величин р, ц, а, т,о - соответственно величины 2 р, 2 ц, 2 8,2 т, 2 аПоскольку результаты всех арифметических1 О операций не должны превосходить по абсолютнойвеличине единицу, то промасштабированный алгоритм (12) выглядит следующим образом:2 Э= 2 а 2 Ь2 п,=2 Ж+ 2 р15 2 и= 2 "п 2 фа 2 -а2 п=2 пя+2 ц9(13)2 Ь = 2 ХФ 2 и2 п=2 п +Г Б-2-з.-22 п=2 п +2 п26 з.2 п 2 и+27-а -я2 пй 2 2 п 2 пт4г п 9=2 п 8+2 озч Посла выполнения алгоритма (13) промас.аштабированное частное 2 у/х вычисляется ,по формуле2 у/х - 22 а у 2 п 9Все операнды для любой операции в арифметическом устройстве хранятся в регистрах,входящих в группы регистров 4 и 5 общегоназначения и в трех буферных регистрах 6, 7и 8. Кроме того, однобайтовый операнд можетхраниться в дополнительном регистре 12 итакже использоваться в операциях,Арифметико-логический блок 1 умножитель 2 и нормализатор 3 представляют из себякомбинационные схемы, Выход каждого комбинационного блока представляет собой трехста.бильный выход, позволяюшмй все выходы соединить между собой. Управление работой уст.ройства осуществляется по системе шин 14 -23,Устройство работает следующим образом.Выполнение арифметических и логическихопераций. Эти операции выполняются блоком 1.Операция начинается с записи в регистры 7 и8 исходных операндов. В регистры 7 и 8 опе.ранды могут бьць записаны либо из.любыхдвух регистров группы 5 или 4, двг чего поуправляющим шинам 19 или 17 подаютсясоответствующие номера регистров, либо свыходов блока 1 или умножителя 2, илинормализатора 3, или со входа 13 устройства.Одновременно по управляющей шине 16.зз подается код операции, например операции суммирования.Через такт работы устройства на выходеблока 1 устанавливается значение суммы. Этот93 1 Осылается в регистр 7 и нормализуется в норма.лизаторе 3, после чего помещается в регистры6 н 7 и в одну из групп 4 или 5. Помещениев регистр 6 нормализованного дешпеля обеспечивает на входах блока 11 соответствующие раз.ряды делителя, После этого начинается этапполучения обратной величины от делителя,На первом и нулевом тактах работы устройства по реализации получении обратной функции во вспомогательный регистр 12 помещаются числа "+5", ".4", обеспечивающие с помощьюнормалвзатора 3 и двух сдвигов в нем выде.ление из делителя разрядов с двадцать седьмогопо первый, что означает получение 2. Послеэтого формируется адрес сг который подаетсяв блок 10 постоянной амяти йобеспечиваетсчитывание величины 2 а е записью ее вовспомогательный регнстр 12 и считывание,ващщщы 2 д + 2 гв в регистр б,Величина 2 о + 2 га переписвшается в регистргруппы 4, а опуда в регистр 8, после чего выл и.е, , .выполщвуя операцйя умножения сумвш на ве.личину 2 а, хранимую во вспомогательномпиа,Последующие вычисления выпоатяются всоответствии с блок-схемой алгоритма, приве:денного на фиг. 3. На протяжении всейпоследующей рвбоаы ущюйства блок 11генерирует адреса "К+1", "К+2",., "К+15" чтобеспечивает послед иую подачу в ре.гистр б констант. р, ,Гс 1, 2 , 2 т, 2 ци последовательную щщвчу масштабных величин, указывающих чжло щвигов прн работеиормалнзатора 3.На двадтвтв пятом тазгте работы устройсвваопять происходит обращеттие к блоку 10 постоянной т аюпи по адресуаР Этим петм вторачиое считываще константы " а .После получения величины 2" 1 х происхо.дит увшожение на нее делимого, которыйвыбирается иэ одного регжтра группы 4. Рв.зулвтат последнего умножения с выходаумножителя 2 есть реэулвтвт операции деления,который актупает на шпву 13 к может бытьзаписан в регистры 6, 7 и 8. На этом рабатаустройства прн выполнении операции делааяэвквнчивается.. Блок 11 формирования адреса работает еледующим образом,На стадии второго. такта работы арифметического устройства на вход блока 11 поступают тридцатый; двадцать девятый, двадцатьвосьмой и двадцать седьмой двоичные разрядых, по которым определяется айрес блока 10постоянной памяпт в птщенах 0-8, т. е, реа.лизуется формула0:ОдРЕС =Х"-О%ч 2 Е,Выполнение операции деления, Операция деления выполняется на основе метода полино. миальной аппроксимации и опирается на приведенные выше операции: суммирование, вычитание, сдвиг, нормализация, умножение. Кроме того, дополнительно на введенном оборудовании. выполняются операции формирования адреса.и обращения к блоку 10 постоянной памяти эа необходимыми константами алгоритма деления, .ззОпишем кратко всю операцию деление. Исходные операнды, делимое и делитель, хранятся в любых регистрах групп 4 и 5. Делитель по 8859результат может быть выбран по ппще 13 нзустройства либо записан в регистр группы 4или 5. Для записи в группу 4 или 5 регистров результат сначала записывается в регистр 6,а затем в нужный регистр группы 4 или 57 3номер регистра и сигнал записи подаются поуправляющим шинам 19 или 17,Выполнение операции умножения. Один изсомножителей подается на умножитель 2 иэрегистра 7, другой либо из вспомогательного регис1 Ютра 12, либо по байтам из регистра 8 через мультиплексор 9. Для этого по шине 23 подаетсякод, обеспечивающий нужное подключение мультиплексора к регистру 8 или к вспомогательномурегистру 12. Умножитель 2 обеспечивает на выходе старшие 32 разряда произведения, Результатпроизведения на байт можно через такт работьГустройства как и предыдущем случае считатьс выхода умножителя 2.Для использования умножителя 2 для: получения произведения двух 32.разрядных чисел2 Етребуется четыре такта работы, промежуточныепроизведения на байты последовательно суммиру 1 отся и хранятся во внутреннем регистреумножителя 2. Перед новым обращением кумножителю 2 вНутренний регистр обнуляеиясоответствующим сщ налом.Выполнение операции сдвига; Сдвиг осуществляется нормализатором 3 над операндом,записанным в регистре 7. Число двоичных сдвигов подается либо по шине 14, либо с ввтхада .ЗОмультиплексора 9, т, е. число сдвигов можетопределять любой байт операнда регистра 8или баит вспомогательного регистра 12, Местопоступления числа двоичных сдвигов определяется сигналом, поступающим по шинам 14 ипи23, Результат сдвига получается на выходенормалиэатора 3 через такт работы устройства.Выполнение операции нормализации, Операциявыполняется нормализатором 3, при этом" пошине 14 поступает соответствующий код оне. 4 брации. Нормализуемый оператор поступает изодного регистра 7 или.8. Мштисса нормали.зованного числа получается на выходе нормализатора 3 через такт, после чего ее можно считать, еще через такт можно считывать порядок 4%нормализованного числа,885993 50 Я где п 1 =0,1 - двадцать седьмой двоичный раз.ряд числа х,Выработкой адреса достигается. доступ кблоку 10 постоянной памяти для выборки 2 а"и 2 д+2 га=2 д,Предварительно в нулевом и первом цикле,в которых производится подготовка к операции .деления, устанавливается по выходу блока 11адрес "К" = 10 что позволяет на вспомогатель.ном регистре 12 иметь число "+5", определяю-щее число логических сдвигов влево делителях. В первом цикле это число "+5" подается че.рез мультиплексор 9 на вход нормализатора 3.Таким образом, в первом цикле обеспечиваетсясдвиг делителя х на пять разрядов влево, чемдостигается вычислениев маштабе 2Параллельно сдвигу влево на 5.разрядовв блок 11 подается "1", которая добавляется к"К", после чего по адресу "К+1", выбираетсяна вспомогательный регистр 12 число "4", которое во втором цикле через мультиплексор 9обеспечивает арифметический сдвиг числа 23на 4 разряда вправо, после чего на выходенормализатора 3 получаем 2 ф.Оборудование, которое введено в арифметическое устройство вместо специального блокаделителя, требует 16 интегральных микросхем,что меньше как по числу, так и по потребляемой мощности оборудования специальногоблока делителя,Кроме того, введенное оборудование позволяет обходиться простыми методами контроляи диагностики, например побайтовым контролемпо четности, Специальный блок деления. будучиустройством, производящим арифметическиеоперации и сдвиги (при последовательно.параллельном способе деления на основе вычитания),требует контроля арифметических операций.Контрольное оборудование в этом смысле значительно увеличивает общее оборудование какнри дублировании вычитателя, так и при сверт.ке по модулю три. В последнем случае можетувеличиваться время цикла нри выполнении де.лен ия.В специальном блоке делителя требуется 31такт вычитания - сдвиг при делении и при на.хождении обратной величины.В предлагаемомарифметическом устройстве деление выпол.,няется за 30 тактов, а выполнение обратнойвеличины эа 26 тактов.Таким образом, в предлагаемом арифметическом устройстве операция деления выполня.ется за то же время, что и в известном, операция вычисления обратной величины - за времяна 10% меньше, чем в известном, при этомколичество оборудования, обеспечивающего опе.рацию деления и вычисления обратной велнчи. 12ны по крайней мере на 50% меньше, чем количество оборудования деления в известном устройстве (без учета управления специального делителя),Формула изобретения Арифметическое устройство, содержащее 1 О арифметико-логический блок, умножитель, нормализатор, две группы регистров общегоназначения, мультиплексор, три буферных регистра, причем выход первого буферного регис.тра соединен со входами первой и второй.группы регистров общего назначения, выходыкоторых соединены с первыми инофрмацион.ными входами соответственно второго и тре.тьего буферных регистров, выход второго буферного регистра соединен с первыми инфор.2 о мационными входами арнфметико.логическогоблока, умножителя и нормалнэатора, вторыеинформационные входы которых соединеныс выходом мультиплексора, а выходы соедцне.ны с информационной шиной устройства, кото. И рая соединена с первым информационным входом первого буферного регистра и вторымиинформационными входами второго и третье.го буферных регистров, выход третьего буферного регистра соединен с первым информаци. щ онным входом мультиплексора, управляющиевходы арифметико- логического блока, умно.жителя, нормализатора, мультиплексора, ибуферных регистров соединены с соответствующими управляющими шинами устройства, о тл и чаю щ ее с я тем,что,сцельюсокращения количества оборудования, оно содержитблок постоянной памяти, вспомогательным регистр и блок формирования адреса, информа.ционный вход которого соединен с выходомпервого буферного регистра, управляющийвход блока формирования адреса соединен ссоответствующей управляющей шиной устрой.ства, а выход подключен ко входу блокапостоянной памяти, первый выход которогосоединен со вторым информационным входомпервого буферного регистра, а второй выход -со входом вспомогательного регистра, выходкоторого поключен ко второму информацион.ному входу мультиплексора,Источники информации,принятые во внимание при экспертизе1. Каган Б. М, Электронные вычислительныемашины и системы. М."Энергия", 1979,с. 235.2. Экспресс. информация, Сер, ВТ. 1976, й 2,с. 6 - 11 (прототип)

Смотреть

Заявка

2881147, 11.02.1980

ПРЕДПРИЯТИЕ ПЯ Г-4677

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

МПК / Метки

МПК: G06F 7/38

Метки: арифметическое

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

Код ссылки

<a href="https://patents.su/9-885993-arifmeticheskoe-ustrojjstvo.html" target="_blank" rel="follow" title="База патентов СССР">Арифметическое устройство</a>

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