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

Иллюстрации

Показать все

Реферат

 

О П И С А Н И Е (11) 809169

ИЗОБРЕТЕНИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

Союз Советских

Социалистических

Республик (61) Дополнительное к авт. свид-ву— (22) Заявлено 03.05.78 (21) 2609518/18-24 с присоединением заявки №вЂ” (23) Приоритет— (51) М. Кл.з

G 06 F 7/38

Гаоудерстеенный комитет

СССР но делам изобретений и открытий (53) УДК 681.325..5 (088.8) Опубликовано 28.02.81. Бюллетень № 8

Дата опубликования описания 05.03.81 (72) Авторы изобретения

М. Э. Левитин, В. Н. Харитонов, И. Г. Гелькина и В

i

Киевский ордена Трудового Красного Знамени заво вычислительных и управляющих маш (7I) Заявитель (54) АРИФМЕТИЧЕСКОЕ УСТРОЙСТВО

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

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

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

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

При выполнении сложения-вычитания двоичных чисел с плавающей запятой, местная память устройства хранит операнды с плавающей запятой. Ячейки местной памяти

64-разрядные. В старших 8 разрядах хранится порядок, в младших 56 — мантисса операнда. Из местной памяти порядки первого и второго операндов поступают для сравнения на вход вычитателя порядков, входящего в состав блока выранивания. По знаку разности порядков определяется, какой из порядков больше. Мантисса операн809169 современных ЭВМ возникла необходимость обрабатывать двоичные числа с плавающей запятой расширенного формата (128-разрядные) (2) .

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

Цель изобретения — расширение функциональных воможностей устройства. да с меньшим порядком поступает на сдвигатель блока выравнивания, сдвигается вира во на величину разности порядков и подается в прямом коде на первый вход сумматора мантисс. Мантисса несдвинутого (большего) операнда поступает на, второй вход сумматора мантиссс. В зависимости от знака разности порядков и кода команды эта мантис са принимается в прямом или дополнительном коде. На сумматоре мантисс формируется промежуточная мантисса результата, которая может быть либо в прямом, либо в 10 дополнительном коде. В последнем случае выходы сумматора инвертируются на выходном преобразователе, входящем в состав оборудования сумматора мантисс с учетом единицы в младшем разряде. Далее результат нормализуется. Для этого произво15 дится анализ на наличие нулей в старших левых цифрах и сдвиг влево на величину этих цифр. Сигнал равенства или неравенства нулю цифр поступает со схемы анализа цифр на нуль на вход 4-разрядного шиф- 2О ратора, на котором формируется код денормализации мантиссы, равный числу старших нулевых шестнадцатиричных цифр. Промежуточная мантисса результата сдвигается влево на сдвигателе на величину кода денормализации и запоминается на регистре мантиссы результата.

Параллельно со сдвигом мантиссы корректируется порядок. Корректор порядка представляет собой 8-разрядный комбинационный сумматор. На первый вход корректора поступает предварительный порядок результата (порядок большего, несдвинутогого операнда), на второй вход (в младшие четыре его разряда) — код денормализации мантиссы с шифратора, остальнйе четыре разряда нулевые. Чроизводится вычита- 35 ние из предварительного порядка результата величины денормализации мантиссы, после чего порядок и мантисса результата записываются в местную память.

Принцип последовательного прохождения информации позволяет совместить во времени выполнение различных этапов нескольких команд сложения-вычитания двоичных чисел с плавающей запятой. Выделяются три основных этапа выполнения операции: этап считыьания операндов из местной 4> памяти, выравнивания порядков и суммирования мантисс, этап нормализации и этап записи в местную память результата операции. Одновременно с выполнением второго этапа первой команды выполняется первый этап второй команды, одновременно с выполнением третьего этапа первой команды выполняется второй этап второй команды и первый этап третьей команды. Такая организация системы позволяет одновременно выполнить три команды сложения и наиболее полно загрузить оборудование. Внедренная в устройстве разрядность всех узлов равна максимальной разрядности чисел с плавающей запятой, т. е. 64. Однако в

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

На чертеже приведена схема устройства.

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

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

При сложении-вычитании двоичных чисел с плавающей запятой и длиной мантиссы, в К раз превышающей разрядность устройства, равную и 16-ричных цифр, каждый операнд хранится в К ячейках местной памяти. Порядок операнда находится в старших восьми разрядах ячейки местной памяти с младшим адресом. В остальных раз809169 рядах этой ячейки находится старшее слово мантиссы операнда (и 16-ричных цифр).

Старшие восемь разрядов следующих К-1 ячеек местной памяти игнорируются, а в остальных разрядах каждой из этих ячеек находится одно слово мантиссы операнда.

Пусть К = 3, а п = 8. Обозначим через Пl порядок первого операнда, П2 — порядок второго операнда, Ml — 1, М2 — 1, МЗ вЂ” 1— три слова мантиссы первого операнда, М2 — 1

М2 — 2, МЗ вЂ” 2 — три слова мантиссы второго операнда.

Под управлением счетчика 2 операндов осуществляется последовательная выборка слов операндов. Так, при чтении из местной- памяти третьих слов операндов значение выхода счетчика 2 равно 10; при обращении ко вторым словам — 01; при чтении старших, первых слов операндов — 00. Работа счетчика 2 при обращении не к парам операндов, а к словам промежуточных результатов аналогична.

В блоке выравнивания 3 осуществляет- 20 ся подготовка операндов к суммированию: вычисляется разность порядков РП = П l — П2 и мантисса операнда с меньшим порядком поступает на сдвигатель, входящий в состав блока выравнивания (на чертеже не указан) для выравнивания весов операндов.

Организуется сдвиг мантиссы операнда с меньшим порядком вправо на величину разности порядков последовательно по словам, начиная со старшего, с учетом разрядов вдвинутых в слово из соседнего старшего слова.

В зависимости от знака разности порядков и кода команды на сумматоре 4 мантисс производится сложение или вычитание мантисс операндов. Сложение или вычитание мантисс производится начиная с младших слов. На первый вход сумматора поступает мантисса операнда после сдвига; на второй вход — мантисса несдвинутого операнда.

Вначале происходит суммирование слов

МЗ вЂ” 1 и MÇ вЂ” 2 и формируется X MÇ. Затем

Я MÇ передается в регистр 9 и далее в

ВЗУ1. Во время записи g MÇ в ВЗУ1 осуществляется сложение следующих двух слов мантисс операндов в М2 — 1 и М2 — "..

На первый вход узла 4 поступает мантисса операнда после сдвига, на второй вход— мантисса несдвинутого операнда. Мантиссы

М2 — 1 и Мl — 2 суммируются, на сумматоре

4 мантисс формируется K М2. Через регистр 9 мантиссы результата Я М2 записывается в местную память 1. Во время записи М2 в местную память происходит суммирование Ml — 1 и Ml — 2 на сумматоре 4 мантисс и формируется,» Мl.

После получения на сумматоре 4 мантисс старшего слова промежуточной мантиссы (XM1) по ее знаку можно судить о необходимости преобразования мантиссы в прямой код. Если знаковый разряд равен 1, то промежуточная мантисса получена в до30

55 полнительном коде и ее необходимо преобразовать в прямой код. Преобразование начинается с младших слов. Считанная из местной памятия: МЗ посылается на сумматор 4 мантисс, где инвертируется с учетом единицы дополнительного кода, а затем передается в регистр 9 мантиссы результата.

Одновременно с этим старшее слово промежуточной мантиссы X, Ml записывается в местную память. Затем аналогично преобразуется XM2. В это время преобразованная

1МЗ записывается в местную память. Аналогично преобразованию X МЗ и Е М2 преобразуется X, Ml. Во время преобразования в прямой код 7 Ml преобразованная 2 М2 записывается в местную память. После преобразования старшего слова промежуточной мантиссы 7. Мl последнее помещается в мест ную п а м ять.

Анализ на нормализацию производится одновременно с формированием или преобразованием слов промежуточной мантиссы ЕМЗ, ХМ2 и 2. М1.

Полученное на сумматоре 4 мантисс третье слово промежуточной мантиссы ЕМЗ анализируется на значимость схемой 6. Шиф ратор 7 выставляет код денормализации Е МЗ в пределах слова, т. е. внутри : MÇ (число старших нулевых 16-ричных цифр) . Шифратор 10 представляет собой два триггера, на которые переписывается значение счетчика 2 операндов. Так, при сложении третьих слов мантисс на шифратор 10 переписывается значение счетчика операндов 2, равное 10.

Таким образом, шифратор !О определяет величину денормализации третьего слова промежуточной мантиссы Е М3 в пределах операнда в предположении, что два старших слова промежуточной мантиссы X М2 и У Ml равны нулю. Если в процессе формирования суммы или ее преобразования окажется, что второе и первое слово промежуточной мантиссы результата равны нулю, то шифраторы 7 и 10 не изменят своего состояния.

Полученный код денормализации равен:

8 (число нулевых цифр Z M l) + 8(число нулевых цифрЕ М2) + р (число старших нулевых цифр внутриБ MÇ).

Если полученное на сумматоре 4 мантисс второе словое промежуточной мантиссы результата X М2 не равно нулю, то в результате анализа на шифраторе 7 выставляется новый код денормализацииУМ2 внутри слова, а на шифратор 10 переписывается значение счетчика 2 операндов, равное

01. Таким образом определяется код денормализации промежуточной мантиссы в предположении, что старшее слово Х М l = О. Он равен: 8 (число нулевых цифр K M 1 ) + р (число старших нулевых цифр .Е, М2). Это значение кода денормализации сохранится на шифраторах 7 и 10, если старшее слово промежуточной мантиссы P Ml получается

809169 равным нулю. При анализе старшего слова

Z Ml в случае его неравенства нулю, шифратор 7 выставляет величину денормализации X Ml внутри слова, а на шифратор 10 переписывается со счетчика операндов 2 код

00. Это и есть величина денормализации про- 5 межуточной мантиссы, полученной в результате сложения двух операндов длиной в три слова.

После анализа промежуточной мантиссы шифратор 7 вырабатывает сигнал величины сдвига для сдвигателя 5. Сдвиг влево ® промежуточной мантиссы результата на величину денормализации внутри слова производится следующим образом: записанные после суммирования (или преобразования) в прямой код слова результата подаются последовательно, начиная с младших, из местной памяти на сумматор 4 мантисс, сдвигаются на сдвигатель 5 с учетом разрядов вдвинутых в слово из соседнего младшего слова и последовательно записываются в местную память.

Рассмотрим следующие возможные случаи.

Два старших слова промежуточной мантиссы результата равны нулю, а третье— не равно нулю (М! = ЕМ2 = 0, МЗ АО).

После сдвига на величину денормализации внутри слова МЗ формируется отнормализованное слово мантиссы МЗн. Оно записывается на место старшего слова M l — 1, а в ячейки М2 — 1 и МЗ вЂ” 1 записываются нули.

Старшее слово промежуточной мантис- 30 сы результата равно нулю (; M l = О, ЕМ2 = О) . Осуществляется сдвиг двух слов . . 1М2 и - MÇ на величину денормализации внутриЕМ2. Полученное после сдвига старшее слово М2п записывается в ячейку Мl — 1 а МЗп — в ячейку М2 — 1, в ячейку МЗ вЂ” 1

ВЗУ! записывается ноль.

Старшее словом Ml промежуточной мантиссы результата не равно нулю. Величина сдвига определяется по анализу . Е Ml, три слова.Е MÇ,,ГМ2, Е Ml сдвигаются на 4в эту величину и соответственно записываются в ячейки MÇ- — 1, М2 — 1, Ml — 1 местной памяти.

Формирование порядка результата производится следующим образом: на первый вход корректора порядка, представляющего 45 собой 8-разрядный комбинационный сумматор, поступает предварительный порядок (порядок большего операнда). Три младших разряда второго входа корректора 8 соединены с выходом шифратора 7, с которого поступает величина денормализации внутри слова. Два соседних старших разряда второго входа корректора 8 соединены с выходом шифратора 10, на котором могут быть коды 10,0! или 00 — величина денормализации в пределах операнда. Оставшиеся два разряда второго корректора входа нулевые. Из предварительного порядка вычитается полный код денормализации, сформированный на втором входЕкорректора 8 и полученный порядок результата записывается в местную память.

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

Это дает возможность выполнять в устройстве сложение-вычитание двоичных чисел с плавающей запятой любой точности без увеличения разрядности устройства.

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

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

Источники информации, принятые во внимание при экспертизе

1. Дроздов Е., Комарницкий В. и Пятибратов А. Электронные вычислительные машины единой системы.M., «Машиностроение, 1976, с. 210 и 241.

2. Патент США № 3551665, кл. G 06 F 7/38, 1970 (прототип).

809169

Составитель Н. Слюсарев

Редактор H. Безродная Техред А. Бойкас Корректор H. Швыдкая

Заказ 17/58 Тираж 756 Подписное

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

113035, Москва, Ж вЂ” 35, Раушская наб., д. 4/5

Филиал ППП «Патент>, г. Ужгород, ул. Проектная, 4