Бесконечность
Сопроцессор имеет средства в виде специальных битовых значений для представ-
ления бесконечности. Формат регистра стека сопроцессора, содержащего значе-
ние бесконечности, приведен на рис.
0|
11
10000
64 63
1|
11
10000
ооо|
0
000|
64 63 О
Рис.
Представление значения бесконечности в регистре стека сопроцессора
Из рисунка видно, что значение бесконечности может иметь знак, при этом зна-
чения мантиссы и характеристики фиксированы. Именно в этом отличие значе-
ния бесконечности от остальных специальных значений.
Форматы данных 465
Среди причин, приводящих к формированию значения бесконечности, можно
выделить переполнение и деление на нуль. При формировании значения беско-
нечности в некотором регистре стека в
регистра
фор-
мируется специальное значение
Нечисла
К нечислам относятся такие битовые последовательности в регистре стека сопро-
цессора, которые не совпадают ни с одним из рассмотренных ранее форматов зна-
чений. Нечисло должно иметь единичную мантиссу и любую характеристику, кроме
которая зарезервирована для значения бесконечность. Различают
типа
нечисел:
it SNAN (Signaling Non a Number) — сигнальные нечисла;
(Quiet Non A Number) — спокойные (тихие)
нечисло — битовое значение с единичным значением полей харак-
теристики и мантиссой, первый бит которой, следующий за первым единичным
значащим битом, равен нулю (рис. 17.15, а). Сопроцессор реагирует на появление
этого числа в регистре стека возбуждением исключения недействительной опера-
ции. Программисты могут формировать эти числа в регистре стека
например, чтобы искусственно возбудить в нужной ситуации ука-
занное исключение. Очевидно, что именно по этой причине данные числа называ-
ются сигнальными. Если снять маску у флага недействительной операции в реги-
стре CWR, то будет вызван обработчик, который выполнит заданные программистом
действия.
79
б х
79
в 1
78 64 63
11
11ХХХ
78 64 63
11
11000
0
ххх
0
000
64 63 О
Рис.
Представление нечисел в регистре стека сопроцессора
Спокойное нечисло — битовое значение с единичным значением полей характе-
ристики и мантиссой, первые два бита которой равны единице (рис. 17.15, б).
Сопроцессор самостоятельно не формирует сигнальных чисел, но в качестве
реакции на определенные исключения он может формировать спокойные нечис-
ла, например нечисло вещественной
(рис. 17.15, б). Веществен-
ная неопределенность формируется как маскированная реакция сопроцессора на
исключение недействительной операции (см. раздел «Исключения сопроцессора
и их
Другие спокойные нечисла могут формироваться после выпол-
нения команд, в которых хотя бы один из операндов был спокойным нечислом.
Это может породить «цепную реакцию», ведущую к
результату. По-
этому в процессе вычислений рекомендуется периодически контролировать ре-
зультаты исполнения команд на предмет появления спокойных нечисел.
466 Глава
Архитектура и программирование сопроцессора
При формировании нечисла в некотором регистре стека в соответствующем теге
регистра TWR формируется специальное значение (10).
Do'stlaringiz bilan baham: |