Арифметическое устройство с плавающей точкой

Иллюстрации

Показать все

Реферат

 

Изобретение относится к вычислительной технике и может быть использовано для работы в составе мультипроцессора быстродействующих ЭВМ. Цель изобретения - повышение быстродействия устройства, предназначенного для выполнения операций с плавающей точкой над числами короткого, длинного и расширенного форматов (за исключением операций умножения и деления ) . Поставленная цель достигается тем, что в арифметическое устройство, содержащее три триггера знака, триггер вычитания, три регистра порядка , четыре регистра мантиссы, три коммутатора порядка,, пять коммутаторов мантиссы, сумматор-вычитатель порядков , сумматор-вычитатель мантисс, узел нормализации, первый сдвигатель, счетчик полутактов, триггер переполнения мантиссы, триггер переноса порядка, регистр команд, элемент ИЛИ и шесть элементов И, введены второй сдвигатель, сумматор по модулю два, вычитатель порядков, четвертый и пятый коммутаторы порядка, дешифратор управляющих сигналов, дешифратор полутактов, два триггера переноса мантиссы, восемь элементов И, четьфе -элемента НЕ и шесть элементов ИЛИ. 1 з.п. ф-лы, 11 ил., 3 табл. с В (Л

СОЮЗ СОВЕТСНИХ

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

РЕСГ1УБЛИН (5D 4 G 06 F 7/38

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

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

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

f10 ДЕJlAM 83OEi: ETEHMA И 0THPblTHA (21) 3869802/24-24 (22) 21.03.85 (46) 23.09.86. Бюл. - 35 (72) В.М. Борисова, В.Г. Моисеев и Л.Ф. Наумова (53) 681.325(088.8) (56) Авторское свидетельство СССР

Р 885993, кл. G 06 F 7/38, 1981.

Арифметико-логический процессор

ЕС 2060, Т02, М, 1977, с. 16, рис.3. (54) АРИФМЕТИЧЕСКОЕ УСТРОЙСТВО С

ПЛАВАЮЩЕЙ ТОЧКОЙ (57) Изобретение относится к вычислительной технике и может быть использовано для работы в составе мультипроцессора быстродействующих ЭВМ.

Цель изобретения — повышение быстродействия устройства, предназначенного для выполнения операций с плавающей точкой над числами короткого, длинного и расширенного форматов (за ис„. SU, 1259248 А 1 ключением операций умножения и деления). Поставленная цель достигается тем, что в арифметическое устройство, содержащее три триггера знака, триггер вычитания, три регистра порядка, четыре регистра мантиссы, три коммутатора порядка, пять коммутаторов мантиссы, сумматор-вычитатель порядков, сумматор-вычитатель мантисс, узел нормализации, первый сдвигатель, счетчик полутактов, триггер переполнения мантиссы, триггер переноса порядка, регистр команд, элемент

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

ИЛИ. 1 з.п ° ф-лы, 11 ил., 3 табл.

I 259248!

30

Сигна

Наименование сигнала

Прием знака первого операнда на триггер 1 знака

Прием знака второго операнда на триггер 2 знака

74

Запись знака результата на триггер 3 знака

Прием порядка первого операнда на регистр 4 порядка

Перепись на регистр 4 порядка с регистра б порядка

Запись константы "0" на регистр 4 порядка

78

Прием порядка второго операнда на регистр 5 порядка

Запись константы "0" на регистр 5 порядка

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

Целью изобретения является повышение быстродействия °

На фиг. 1 представлена структурнан схема устройства с плавающей точкой; на фиг. 2 — структурная схема узла управления нормализацией; на фиг- 3 — алогоритм выполнения операций сложения (вычитания) над длинными операндами; на фиг, 6-11 — алгоритм выполнения операций сложения (вычитания) над расширенными операндами.

Арифметическое устройство с плавающей точкой (фиг. 1) содержит три триггера 1-3 знака, три регистра

4-6 порядка, четыре регистра 7-10 мантиссы, три элемента И 11-13, пять коммутаторов 14-18 порядка, пять коммутаторов 19-23 мантиссы, триггер

24 переноса порядка, сумматор-вычитатель 25 порядков, вычитатель 26 порядков, два сдвигателя 27 и 28, узел 29 нормализации, сумматор-вычитатель 30 мантисс, сумматор 31 по модулю два, регистр 32 команд, счетчик 33 полутактов, дешифратор 34 полутактов, дешифратор 35 управляющих сигналов, семь. элементов ИЛИ 3642, одиннадцать элементов И 43-53, четыре элемента НЕ 54-57, два элемента ИСКЛЮЧАЮЩЕЕ ИЛИ 58-59, триггер

60 переполнения, триггер б 1 вычитания, два триггера 62 и 63 переноса мантиссы, трйггер 64 преобразования, вход 65 вида операции устройства, вход 66 первого операнда устройства, вход 67 второго операнда устройства, выход 68 результата устройства, первый и второй входы 69 и 70 узла 29 нормализации, старшие и младшие выходы 71 и 72 разрядов узла 29 нормализации и выходы 73- (16 дешифратора 35 управляющих сигналов.

Узел 29 нормализации (фиг.2) содержит группу элементов ИЛИ 1 17, элементы ИЛИ 1 18-123, коммутатор 124, элементы НЕ 125-127 и.шифраторы 128131.

Узлы обработки мантиссы имеют по

56 основных и четыре дополнительных

1 разряда. Сдвигатели имеют удвоенную разрядность. Узлы обработки порядка имеют по семь основных и одному дополнительному разряду.

Функционирование арифметического устройства с плавающей запятой при выполнении операции сложения (вычитания) с нормализацией над операндами длинного формата.

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

Перечень управляющих сигналов, вырабатываемых дешифратором 35 управляющих сигналов, приведен в табл.1.

Таблица 1

1259248

Продолжение табл. 1

Запись константы "14" на регистр 5 порядка

82

Передача на сумматор-вычитатель 25 порядков с регистра

5 порядка

Передача на сумматор-вычитатель 25 порядков кода количества сдвигов из узла 29 нормализации

84

Вычитание в сумматоре"вычитателе 25 порядков

Сложение в сумматоре-вычитателе 25 порядков

Прибавление единицы в младший разряд сумматора-вычитателя 25 порядков по цепи переноса

Вычитание в вычитателе 26 порядков

Прибавление единицы в младший разряд вычитателя 26 порядков по цепи переноса.Запись на регистр 6 порядка с коммутатора 18 порядка

Запись на регистр 6 порядка с сумматора-вычитателя 25 порядков

Прием мантиссы первого операнда (прием старшей части первого или второго операндов в операциях над операндами расширенного формата при выравнивании порядков) 91

92-1 Запись константы "0" на регистр 7 мантиссы (1-56) 92-2 Запись константы "0" на регистр 7 мантиссы (57-60) 92-3 Запись константы "1" на регистр 7 мантиссы (57-60)

93-1 Перепись на регистр 7 мантиссы (1-56) с регистра 9 мантиссы

93-2 Перепись на регистр 7 мантиссы (57-60) с регистра 9 мантиссы

94-1 Перепись на регистР 7 мантиссы (1-56) с регистра 10 мантиссы

Прием мантиссы второго операнда (прием младшей части первого или второго операндов в операциях над операндами расширенного формата при выравнивании порядков) 96-1 Перепись на регистр 8 мантиссы (1-56) с регистра 10 мантиссы

96-2 Перепись на регистр 8 мантиссы (57-60) с регистра 10 мантиссы

Перепись на регистр 8 мантиссы (1-56) с регистра 9 мантиссы

98-1 Запись константы "О" на регистр 8 мантиссы (1-56) 98

98-2 Запись константы "0" на регистр 8 мантиссы (57-60) 94-2 Перепись на регистр 7 мантиссы (57-60) с регистра 1О мантиссы

1259248

Продолжение табл, 1

Вычитание мантисс

t00 Сложение мантисс

101 Прибавление единицы в младший разряд сумматора-вычитателя

30 мантисс по цепи переноса

102 Запись на регистр 9 мантиссы с сумматора 3 1 по модулю два

103 Запись на регистры 9 и 10 мантиссы со сдвигателя 27

104 Запись на регистры 9 и 10 мантиссы со.сдвигателя 28

105 Запись на регистр 10 мантиссы с сумматора 3 1 по модулю два

106 Операция вычитания

107 Запись условия приведенного вычитания (сложения} на триггер 6 1 вычитания

108 Управление преобразованием мантиссы результата в прямой код при вычитании мантисс операндов длинного формата

109 Запись условия преобразования мантиссы результата в прямой код при вычитании мантисс операндов расширенного формата на триггер

64 преобразования

110 Запись переполнения мантиссы при сложении мантисс на триггер

60 переполнения

Запись переноса,из старшего разряда мантиссы при вычитании старших частей операндов расширенного формата на триггер 63 переноса мантиссы

112 Запись переноса из старшего разряда мантиссы при сложении (вычитании} младших частей операндов расширенного формата на триггер 62 переноса мантиссы

113 Управление сдвигом мантиссы вправо при переполнении мантиссы результата (вдвигаемый разряд переполнения мантиссы) 114 Запись переноса из старшего разряда сумматора-вычитателя 25 порядков на триггер 24 переноса порядка

1t5

Передача на сдвигатель 27 в операциях над операндами длинного формата при выравнивании порядков

Передача на сдвигатель 27 в операциях над операндами расши ренного формата при выравнивании порядков

116

Пример дешифрации управляющих сиг" налов для операций сложения (вычитания) над операндами длинного формата приведен в табл. 2 (7 — триггер).! 259248

Таблица 2

Ф сигналов

N -Y полу- Условие такта такта

73, 74, 76, 79, 82, 84, 86

87., 88, 91, 95, 115

82э 84в 86ю 871 88) 89э 103þ 107у

1 14, 1 15

78, 93-1, 93-2

T24=0

80, 96-1, 96-2

Т24=1

100

Т61=0

99, 108

Т61=1

Т61=0

100, 110

99, 108

75, 85, 90, 102

83, 84

82, 85, 113

77, 80, 86, 93-1, 93-2, 98-1, 98-2

83, 84, 104

82, 85, 103, 113

86, 90

T61=1

Т60=0

Т60=1

Т60=0

Т60=1

В такте выравнивания порядков (фиг.3-5) по информационным входам

66 и 67 первого и второго операндов на триггеры 1 и 2 знака через эле-. менты И 11 и 12 принимается знак со-. 45 ответственно первого и второго операндов. На регистры 4 и 5 порядка через коммутаторы 14 и 15 принимается порядок соответственно первого (П1) и второго (П2) операндов. На регистры 7 и 8 мантиссы через коммуттаторы 19 и 20 принимается мантисса соответственно первого и второго операндов. Далее определяется разность порядков П1-П2 П2-П1 соответственно на сумматоре-вычитателе 25 порядков и вычитателе 26 порядков.

Сумматор-вычитатель 25 порядков и вычитатель 26 порядков идентичны и построены по принципу сумматора комбинационного типа с групповым переносом. Действия вычитания в сумматоревычитателе 25 порядков и вычитателе

26 порядков выполняются в дополнительных кодах.

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

9 )25924

18 в зависимости от значения переноса из старшего разряда сумматоравычитателя 25 порядков ° При наличии этого переноса на элементе И 48 формируется. разрешение выдачи положительной разности с сумматора-вычитателя 25 порядков, а при отсутствии переноса из старшего разряда сумматора-вычитателя 25 порядков на элементах ИЛИ 38 и НЕ 55 вырабатывает- 10 ся разрешение выдачи положительной разности с вычитателя 26 порядков.

Кроме того, перенос из старшего разряда сумматора-вычитателя 25 порядков запоминается на триггере 24 пе- 15 реноса порядка и используется далее как признак большего порядка первого операнда при формировании управляющих сигналов на дешифраторе 35 управляющих сигналов. Сдвиг мантиссы 20 вправо при выравнивании порядков производится на сдвигателе 27) °

Данный сдвигатель предназначен для сдвига 112-разрядного числа (расширенный формат) за один машинный такт. 2

Для сдвига мантиссы операнда длинного формата с меньшим порядком на сдвигатель 27 через коммутатор 23 передается информация с регистра 7 мантиссы в старшую часть сдвигателя либо с 30 регистра 8 мантиссы в младшую часть сдвигателя. Выбор передачи информации с одного из этих регистров осуществляется в зависимости от значения переноса из старшего Разряда сум-35 матора-вычитателя 25 порядков. При наличии этого переноса на элементах

И 49 и ИЛИ 41 вырабатывается разрешение передачи на сдвигатель 27 с регистра 8 мантиссы, а при отсутствии40 этого переноса на элементах И 47 и

ИЛИ 40 вырабатывается разрешение передачи на сдвигатель 27 с регистра

7 мантиссы. На сдвигателе 27 обеспечивается сдвиг вправо 0-31 шестнад- 45 цатеричных цифр. С э" îé целью на управляющий вход сдвигателя 2? через коммутатор 18 подается количество сдвигов, определяемое положительной разностью порядков на сумматоре-вы- 50 читателе 25 порядков или на вычитателе 26 порядков.

В конце первого такта со старшей и младшей частей сдвигателя 27 ре-. зультат сдвига записывается соответ- g5 ственно на регистры 9 и 10 мантиссы независимо от сдвигаемого операнда, включая дополнительную шестнадцате8 10

pH HÓþ цифру, Во втором такте {фиг,3) осуществляется сложение (вычитание) мантисс на сумматоре-вычитателе 30 мантисс, В качестве сумматора-вычитателя мантисс используются сумматор-вычитатель комбинационного типа с пирамидой переносов. В сумматоревычитателе 30 мантисс осуществляются действия над числами, представленными в прямых кодах. Вычитание чисел производится в обратных кодах (всегда вычитается второе число}.

Условие выполнения сумматором-вычитателем 30 мантисс одного из действий (сложения или вычитания) определяется в предыдущем такте на основании анализа знака исходных операндов, а также типа заданной операции (сложение или вычитание) согласно формуле

ВЧ =ЗнЧ1 + ЗнЧ2 + ЗнЧ2 + В, где ЗнЧ1 — знак первого операнда", ЗнЧ2 — знак второго операнда ;

 — операция вычитания;

ВЧ„„ — вычитание приведенное. т

Реализация этой формулы осуществляется на элементе ИСКЛЮЧАЮЩЕЕ ИЛИ 58 с запоминанием результата с выхода этого элемента на триггере 61 вычитания. В зависимости от его состояния в данном такте на дешифраторе

35 управляющих сигналов формируется сигнал 99 вычитания мантисс (триггер

61 вычитания =1) или сигнал 100 сложения мантисс (триггер 61 вычитания = О) .

В начале такта сложения результат от сдвига операнда с меньшим порядком с регистра 9 мантиссы или с регистра 10 мантиссы переписывается. .. соответственно на регистр 7 мантиссы (1-60) (триггеры 24=0) или на регистр 8 мантиссы (1-60) (триггер

24=1). При переписи результата сдвига мантиссы с меньшим порядком на один из регистров 8 или 7 мантиссы на другом регистре сохраняется мантисса с большим. порядком, запомненная в начале предыдущего такта.

С выходов регистров 7 и 8 мантиссы информация поступает соответственно на первый и второй информационные входы сумматора-вычитателя 30 ман» тисс, где осуществляется сложение или вычитание мантисс.

Результат вычитания в сумматоревычитателе 30 мантисс может полу1259 читься в прямом или обратном коде.

Признаком прямого или обратного кода при действии приведенного вычитания является соответственно наличие или отсутствие переноса из старшего разряда сумматора-вычитателя 30 мантисс. В случае результата, выраженного в обратном коде, для операции сложения (вычитания) над длинными операндами преобразование результата 10 в прямой код осуществляется в данном такте. Сигнал преобразования мантиссы формируется на элементе И 51 при действии вычитания мантисс и отсутствии переноса из старшего разряда 15 сумматора-.вычитателя 30 мантисс.Преобразование осуществляется на сумматоре 3 1, на управляющий вход которого через элемент ИЛИ 42 поступает сигнал преобразования, а на информа- 20 ционный вход — результат вычитания с сумматора-вычитателя 30 мантисс.

В конце второго такта результат сложения (вычитания) мантисс записы" вается на регистр 9 мантиссы (1-60) через коммутатор 21.

Во втором такте формируется знак результата на элементе ИСКЛЮЧАЮЩЕК

ИЛИ 59 на первый вход этого элемента поступает знак первого перанда, кото- ЗО рый хранится на триггере 1 знака от предыдущего такта, а на второй вход этого элемента подается сигнал, сформированный в данном такте на элементе

И 52 при действии вычитания мантисс и отсутствии переноса из старшего разряда сумматора-вычитателя 30 мантисс.

В конце данного такта знак результата записывается на триггер 3 знака 40 через элемент И 13.

248 12 ется на регистр 6 порядка через коммутатор 17, В третьем такте (фиг.3) выполняется нормализация или сдвиг вправо на одну шестнадцатеричную цифру мантиссы промежуточного результата с соответствующей коррекцией порядка.

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

Сдвиг влево осуществляегся на сдвигателе 28. Данный сдвигатель предназначен для сдвига 116-разрядного промежуточного результата (расширенный формат с учетом дополнительной шестнадцатеричной цифры).

При нормализации промежуточного результата расширенного формата старшая часть результата (разряды 1-56) помещается на регистр 7 мантиссы (1-56),. причем на регистр 7 мантиссы (57-60) записывается нулевая информация, а младшая часть результата (разряды 57-116) — на регистр 8 мантиссы (1-60). При нормализации промежуточного результата длинного формата в начале такта нормализации результат сложения мантисс, полученный во втором такте, передается с регистра 9 мантиссы на регистр 7 мантиссы (1-60), на входном регистре

8 мантиссы (i 60) записывается нулевая константа, Далее информация с обоих регист,ров 7 и 8 мантиссы поступает соответственно на старшую и младшую части сдвигателя 28, В этом же такте порядок результата приравнивается к большему порядку, который хранится на одном их регистров 4 или 5 порядков от преды-:". дущего такта. С этой целью в начале данного такта на один из регистров

4 или 5 порядков, на котором хранится меньший порядок от предыдущего такта, записывается нулевая константа. С выхода регистров 4 и 5 порядков информация поступает на сумматор-вычитатель 25 порядков, где осуществляется сложение большего порядка с нулевой константой. В конце такта результат от сложения на сумматоре-вычитателе 25 порядков эаписываСдвигатель 28 представляет узел из двух ступеней. На первой ступени осуществляется сдвиг на 0,8, 16 и 24 шестнадцатеричных цифр влево, на второй ступени — сдвиг на 0-7 шестнадцатеричных цифр влево. Управление первой и второй ступенями сдвигателя

28 осуществляется с узла 29 нормализации соответственно по входам 71 и

72. В узел 29 (фиг, 2) по входам

69 и 70 подается та же информация, что и на данный сдвигатель, т.е. с .регистров 7 и 8 мантиссы. Далее в узле 29 определяется количество нулевых шестнадцатеричных цифр до старшей цифры, отличной от нуля, последовательно на четырех ступенях.

) 259248

На первой ступени реализуемой на элементах ИЛИ 117 (фиг. 2), производится анализ каждой шестнадцатеричной цифры на их равенство нулю.

Выходы первой ступени подаются

5 на вторую ступень на входы четырех восьмивходовых шифраторов I 28-131.

Причем на седьмой вход второго шифратора 129 через элемент ИЛИ 120 поступает либо результат анализа 10 дополнительной шестнадцатеричной цифры промежуточного результата длинного формата, регистр 7 мантиссы (57-60), либо результат анализа старшей шестнадцатеричной цифры младшей 15 части промежуточного результата расширенного формата, регистр 8 мантиссы (1-4). На первом выходе каждого из шифраторов определяется код количества нулевых значений шестнадцате- 20 ричных цифр до первой цифры, отличной от нуля, на втором выходе — признак (Р) наличия хотя бы одной зна чащей цифры из восьми.

На третьей ступени, реализуемой на элементах И 121-123 и НЕ 125-127 и использующей выходы каждого из четырех шифраторов второй ступени, выбирается старшая (приоритетная из четырех) группа, в которой появляется 30 признак P. Номер этой приоритетной группы на выходе 71 определяет количество сдвигов влево соответственно на 0,8, 16 и 24 шестнадцатеричных цифр для управления первой ступенью сдвигателя 28.

На четвертой ступени rio номеру приоритетной группы на коммутаторе

124 производится выбор одного из четырех трехразрядных кодов количества 40 нулевых цифр до первой отличной от нуля цифры в группах, являющегося младшей частью пятиразрядного кода количества сдвигов и используемого с выхода 72 для управления второй 45 ступенью сдвигателя 28. Кодирование двух старших разрядов пятиразрядного кода количества сдвигов производится на элементах ИЛИ 118 и 119,на входы которых поступают позиции сдвига 8, 16 и 24. Полностью пятиразрядный код количества сдвигов с выхода 72 узла

29 используется для коррекции порядка результата.

В конце третьего такта результат 55 сдвига влево со старшей и младшей частей сдвигателя 28 записывается соответственно на выходные регистры

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

Информация на регистре 9 мантиссы является мантиссой окончательного результата.

Для уменьшения порядка результата (ПР) на количество сдвигов (К) шестнадцатеричных цифр, при нормализации результата, в начале третьего такта больший порядок переписывается с регистра 6 порядка на регистр

4 порядка для передачи в сумматорвычитатель 25 порядков, а пятиразрядный код количества сдвигов через коммутатор 16 непосредственно поступает на сумматор-вычитатель 25 порядков, где осуществляется вычитание HP-К ° Результат вычитания запоминается на регистре 6 порядка и является порядком окончательного результата.

В случае действия сложения мантисс в предыдущем такте перенос, возникающий из старшего разряда сумматора-вычитателя 30 мантисс, является признаком переполнения мантиссы. Эточ признак в том же такте запоминается на триггере 60 переполнения и используется в данном такте для формирования сигнала 113 управления сдвигом при переполнении мантиссы на дешифраторе 35 управляющих сигналов.

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

Сдвиг мантиссы вправо осуществляется на сдвигателе 27 ° С этой целью в начале данного такта на регистр 7 мантиссы (1-60) переписывается мантисса промежуточного результата с регистра 9 мантиссы (1--60), а на регистр 8 мантиссы (1-60) записывается нулевая константа. По сигналу 113 управления сдвигом при переполнении мантиссы, поступающему через элементы ИЛИ 40 и 41, на управляющие входы коммутатора 23, разрешается выдача информации с обоих регистров 7 и 8 мантиссы соответственно в старшую и младшую части сдвигателя 27. Этот

16

Т а б а н ц а 3

73, 74, 76, 79 ° 82, 84, 86, 87, 88

82, 84, 86, 87, 88, 89, 107, 114

91, 95, 116

103, 116

91, 95, 116

10 Т24=1

103

l5 12592 же управляющий сигнал является вдвигаемым разрядом на сдвигателе 27 при переполнении мантиссы.

Количество сдвигов, равное одной шестнадцатеричной цифре, формируется также по сигналу -управления сдвигом при переполнении мантиссы, который поступает на второй вход элемента КШ1 37, на первый вход которого поступает младший разряд кода количе- 1О ства сдвигов в такте выравнивания порядков. По другим разрядам кода количества сдвигов при наличии сигнала 113 управления сдвигом при переполнении мантиссы выдается нулевая 15 информация.

В конце третьего такта при переполнении мантиссы информация с выходов старшей и младшей частей сдвигателя 27 записывается соответствен- 20 но на регистры 9 и 10 мантиссы.

Для операции сложения (вычитания) над длинными операндами информации на регистре 9 мантиссы является мантиссой окончательного результата. 25

При сдвиге мантиссы промежуточного результата вправо на одну шестнадцатеричную цифру порядок промежуточного результата увеличивается путем прибавления единицы иа сумматоревычитателе 25 порядков переноса по цепи в младший разряд большего порядка, переписанного в начале данного такта на регистр 4 порядка с регистра 6 порядка (на регистре 5 порядка записывается нулевая констан-. та) .

Результат сложения с сумматоравычитателя 25 порядков записывается на регистр 6 порядка и является порядком окончательного результата.

В конце третьего такта с триггера 3 знака, с регистра 6 порядка с регистра 9 мантиссы выдается результат по выходу 68 результата устройства.

Функционирование арифметического устройства при выполнении операций сложения (вычитания) над расширенными операндами по действиям в каждом машинном такте.

Пример дешифрации управляющих сигналов для операций сложения (вычитания) над операндами расширенного формата приведен в табл. 3.

1259248!

2 3

13 Т24 0

94-1, 94-2, 95

91, 96-1, 96-2

Т24=1

Т61=0

100

Táf=1

14 Т6 1=0

100

Tá1=1

90, 105, 112

17 Т24=0

78, 93-1, 95

T24= 1

80, 91 97

Т61=0

Т61=1

Т62-1

101

85, 98-2

18 Т61=0

101

75, 85, 90, 102

19 Т631

101

92-1, 92-2, 96-1, 96-2, 100, 109

100, 105, 112

20 Т63-1

101

21 Т62-1

101

92-3, 93-1, 98-1, 98-2, 100, 109

22 Т62=1

101, 100, 102

Т61=1

Т62=1

100, 92-3

99, 92-2

100, 110

99, 111

Продолжение табл. 3

1259248

Продолжение табл ° 3

12

25 Т60=0

83,84

82, 85, 77, 80, Т60=1

83, 84, 104

82ь 85 103 ° 113

86, 90

26 Т6 0=0

Т60=1

27

77, 81, 84, 92-2, 94-1, 98-1, 98-2, 100

84, 86, 90, 100, 102

30

Операция сложения (вычитания) над расширенными операндами выполняется

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

Каждое указанное действие выполняется за один машинный такт. Но между действиями, связанными с приемом операндов по информационным входам

66 и 67, производится пропуск в один «5 машинный такт ° Выдача результата по выходу 68 результата устройства осуществляется в нечетных тактах, поэтому .перед каждой выдачей производится также пропуск в один машинный такт. Таким образом, первые пять действий выполняются в первом, третьем, пятом, седьмом и девятом тактах (второй, четвертый, шестой и восьмой такты пропуска), а последние два действия — в тринадцатом и пят-. надцатом тактах (двенадцатый и четырнадцатый такты пропуска).

113

86 ° 92 2в 93 1в 96 1 ° 96 2

В алгоритме операций с расширенной разрядностью (фиг. 6-11) указываются номера тактов, в которых осуществляются перечисленные действия.

В первом такте для определения количества сдвигов при выравнивании порядков определяется разность порядков. В начале такта на триггеры

1 и 2 знака и регистры 4 и 5 порядка по информационным входам 66 и 67 соответственно принимаются знаки и порядки первого и второго операндов, входящие в состав старших частей. операндов. Дальнейшие действия по вычислению разности порядков и формированию количества сдвигов для управления сдвигателем 27 организуются аналогично действиям при выполнении операций сложения (вычитания) над операндами длинного формата.

В данном такте формируется вид действий (сложение, вычитание) над мантиссами в сумматоре-вычитателе

30 мантисс аналогично формированию этих действий для операций сложения (вычитания) над длинными операндами в первом такте (выравнивание порядков).

В третьем и пятом тактах осуществляется выравнивание порядков. В на21 125924 чале третьего такта на регистры 7 и

8 мантиссы по информационным входам бб и 67 принимаются соответственно старшая и младшая части первого операнда. По сигналу 116 управления

« передачей на сдвигатель 27 в операциях над расширенными операндами, который подается с дешифратора 35 управляющих сигналов через элементы

ИЛИ 40 и 41 на оба управляющих входа 10 коммутатора 23, старшая и младшая части первого операнда с выходов регистров 7 и 8 мантиссы через коммутатор 23 поступают соответственно на старшую и младшую части сдвига- 15 теля 27 для сдвига вправо на количество сдвигов, определенное в первом такте. Старшая и младшая части результата от сдвига вправо первого операнда записываются соответ- 20 ственно на регистры 9 и 10 мантиссы (с учетом дополнительной,шестнадцатеричной цифры) независимо от знака разности порядков, В начале пятого такта на регистры 7 и 8 мантиссы по информационным входам 66 и 67 принимаются соответ-. ственно старшая и младшая части второго опера-да. Далее действия на сдвигателе 27 в этом такте аналогич- 30 .ны действия в третьем такте.

Старшая и младшая части результата от сдвига вправо второго операнда записываются соответственно на регистры 9 и 10 мантиссы при условии д«

П1-П2 0. В случае П1-П2 <0 на регистрах 9 и 10 мантиссы сохраняется результат от сдвига вправо первого операнда, полученный в предыдущем такте. 40

В седьмом такте осуществляется сложение (вычитание) младших частей мантисс первого и второго операндов.

В случае .выравнивания первого операн,ца (П1-П2 <0) в третьем такте в на- 4« чале данного такта на входной регистр

7 мантиссы (1 — 60) переписывается младшая.часть первого операнда с реги"тра 10 мантиссы, а на регистр 8 мантиссы по информационному входу 67 «О принимается младшая часть второго операнда. Информация с регистров 7 и 8 мантиссы поступает соответственно на первый и второй информационные входы сумматора-вычитателя 30 мантисс,«« где осуществляется сложение (вычитание) младших частей. Мантисса результата младших частей запоминается

8 22 на регистре 10 мантиссы. Перенос из старшего разряда сумматора-вычитателя 30 мантисс фиксируется на триггере 6? и используется в следующем такте для формирования сигнала 101 прибавления единицы в младший разряд сумматора-вычитателя 30 мантисс по цепи переноса на дешифраторе 35 уп- . равляющих сигналов.

В случае выравнивания второго операнда (П1-П2 > О) в начале данного такта младшая часть второго операнда переписывается с регистра 10 мантиссы на регистр 8 мантиссы (1-60), а младшая часть первого операнда принимается на регистр 7 мантиссы по информационному входу 66. Дальшейшие действия в этом такте аналогичны действиям, описанным для случая выравнивания первого операнда.

В девятом такте производится сложение (вычитание) старших частей первого и второго операндов. В начале такта, если ранее выравнивается первый операнд, на регистр 7 мантиссы (1-56) переписывается старшая часть первого операнда с регистра

9 мантиссы, а старшая часть второго операнда принимается на регистр 8 мантиссы по информационному входу

67. Старшие части операндов и промежуточных результатов расширенного формата имеют 56 разрядов. А действия сложения (вычитания) над ними выполняются на 60-разрядном сумматоревычитателе 30 мантисс. Поэтому перед вычитанием на регистры 7 и 8 мантиссы (5?-60) записывается нулевая константа, перед сложением на регистр

8 мантиссы (57-60) запись.вается также нулевая константа, а на регистр 7 мантиссы (57-60) — константа " I" обеспечивающая прибавление единицы в младший (56-й) разряд результата старшей части по цепи переноса младшего (60-го) разряда сумматора-вычи- тателя 30 мантисс.

Далее информация с регистров 7 и

8 мантиссы подается соответственно на первый и второй информационные входы сумматора-вычитателя 30 мантисе. Кроме того, по цепи переноса в младший разряд сумматора-вычита теля 30 мантисс подается перенос, запомненный на триггере 62 в предыдущем такте. Результат сложения (выI читания) старших частей запоминается на регистре 9 мантиссы.

24

23

1259248

В начале такта, если ранее выравнивался второй операнд, на регистр

7 мантиссы принимается старшая часть первого операнда по информационному входу 66, а старшая часть второго 5 операнда переписывается на регистр

8 мантиссы (1-56) с регистра 9 мантиссы; Дальнейшие действия с мантис- сами в данном такте аналогичны действиям при выравнивании первого операнда.

В случае действия сложения мантисс перенос из старшего разряда сумматора-вычитателя 30 мантисс характеризует переполнение мантиссы промежуточного результата. Этот перенос запоминается на триггере 60 и используется в дальнейших действиях аналогично его использованию в операциях над длинными операндами в так- 20 те нормализации. В случае действия вычитания мантисс перенос из старшего разряда запоминается на триггере 63 и в следующем такте используется для формирования сигнала 101 прибавления единицы в младший разряд сумматора-вычитателя 30 мантисс по цепи переноса на дешифраторе 35 управляющих сигналов. Отсутствие переноса используется как условие преобразования мантиссы в прямой код в последующих тактах.

В данном такте формируются знак результата с запоминанием на триггере 3 знака и порядок результата 35 ,с запоминанием на регистре 6 порядка аналогично формированию знака результата и порядка результата для операций сложения (вычитания) над операндами длинного формата во втором такте (сложение).

В десятом такте осуществляется коррекция младшей части результата на перенос иэ старшего разряда, возникающий при вычитании старших ча- 4> стей в предыдущем такте. С этой целью в начале данного такта младшая часть результата с регистра 10 мантиссы переписывается на регистр 8 мантиссы (1-60), на регистре 7 ман-. 50 тиссы (1-60) устанавливается нулевая информация. Далее информация с обоих регистров 7 и 8 мантиссы поступает соответственно на первый и вто рой информационные входы сумматора- 55 вычитателя 3- мантисс для сложения с переносом, запомненным на триггере

63 в предыдущем такте и поступающим по цепи переноса в младший разряд сумматора-вычитателя 30 мантисс. Результат сложения скорректированной младшей части запоминается на регистре 10 мантисс. Перенос из старшего разряда сумматора-вычитателя 30 мантисс запоминается на триггере 62 и используется для формирования сигнала 101 прибавления единицы в младший разряд сумматора-вычитателя 30 мантисс по цепи переноса в следующем такте на дешифраторе 35 управляющих сигналов.

В одиннадцатом такте осуцествляется коррекция старшей части результата на перенос из старшего разряда, возникающий при коррекции младшей части результата в предыдущем такте °

Для этого в данном такте старшая часть результата, полученная в девятом такте, передается на регистр 7 мантиссы (1-56) с регистра 9 мантиссы, на регистр 7 мантиссы (5.7-60) записывается константа "1", а на регистре 8 мантиссы (1-60) устанавливается нулевая информация. Далее в сумматоре-вычитателе 30 мантисс осуществляются действия, аналогичные действиям в предыдущем такте. Результат скорректированной старшей части записывается на регистр 9 мантиссы

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

В тринадцатом такте осуществляется нормализация или сдвиг вправо на одну шестнадцатеричную цифру промежуточного результата. В начале такта на регистр 7 мантиссы (1 — 56) и на регистр 8 мантиссы (1-60) соответственно с регистров 9 и 10 мантиссы передаются старшая и младшая части результата, причем на регистр 7 мантиссы (57-60) записывается нулевая константа. Дальнейшие действия в данном такте аналогичны действиям, выполняемым в третьем такте (норма"

12592

25 лизация) при действии над операндами длинного формата. Тринадцатый такт заканчивается выдачей знака результата, порядка старшей части результата и мантиссы старшей части 5 ,результата на выход 68 результата устройства.

В пятнадцатом такте осуществляется передача мантиссы младшей части результата с регистра 10 на регистр 10

9 мантиссы через сумматор-вычитатель

30 мантисс, сумматор 31 по модулю два и коммутатор 21. Передача через сумматор-вычитатель 30 мантисс производится путем сложения мантиссы млад- шей части результата, переписанной в начале такта на регистр 7 мантиссы с регистра 10 мантиссы„ и нулевой информации, записанной на регистр 8 мантиссы также в начале так" та. В этом такте формируется порядок младшей части результата иэ по