logo
КС-ZAO / Лекции ЦЭВМруский вариант11

Знаковые числа в дополнительном коде

Когда мы говорим о семействе ADSP-2100, "знаковый" относится к представлению в двоичном коде. Большинство операций процессоров семейства поддерживают или предполагают арифметические операции над числами, представленными в дополнительном коде. В семействе ADSP-2100 не используетcя двоично-десятичный формат, числа со знаком, обратный дополнительный код и коды с избытком n.

Представление дробных чисел в формате 1.15

Арифметические операции процессоров семейства ADSP-2100 оптимизированы для операций над числовыми значениями в дробном двоичном формате, обозначенном как 1.15 (один точка пятнадцать). В этом формате имеется один знаковый бит (самый старший бит) и пятнадцать бит, отведенных под дробную часть и представляющих значения от -1 до +1 минус один младший бит.

На рис. 10.1 показаны веса битов для чисел в формате 1.15. Ниже даются примеры чисел в формате 1.15 и их десятичные эквиваленты.

Число в формате 1.

15 Его десятичный эквивалент

0õ0001

0.000031

Ox7FFF

0.999969

OxFFFF

-0.000031

0õ8000

-1.000000

Рис.10.1. Веса битов для чисел в формате 1.15

Арифметические операции АЛУ

Во всех операциях АЛУ, за исключением примитивов знакового деления (DIVS), операнды и результаты представляются как простые двоичные последовательности из 16 бит. Различные биты (разряды) состояния представляют результаты в знаковом формате: код переполнения (AV) и флаг отрицание (AN).

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

Логика бита переноса (АС) базируется на арифметических операциях с беззнаковыми числами. Он устанавливается в тех случаях, когда перенос генерируется битом 16 (самым старшим битом). Бит АС более полезен для младших бит слова при операции с несколькими словами.