Разделы:
Best links:
Программная модель арифметического процессора
Для целей управления режимами обработки исключительных ситуаций служат разряды масок, расположенные в младшем байте регистра управления CR (см. рис. 2.4).
Когда возникает исключительная ситуация, необходимо осуществить какие-либо корректирующие действия. В большинстве случаев достаточно бывает выполнить стандартные действия, которые АП производит без помощи ЦП. В особых ситуациях АП посылает сигнал запроса прерывания и корректирующие действия выполняет ЦП. Соответствующие разряды масок позволяют управлять режимами обработки исключительных ситуаций стандартным способом либо с привлечением центрального процессора.
Разряд РМ = 1 маскирует флаг РЕ, и исключительная ситуация, связанная с потерей точности, обрабатывается стандартным способом. Сопроцессор в качестве результата операции выдает округленное значение.
Разряд UM = 1 маскирует флаг UE, и в качестве результата операции выдается значение в ненормализованном виде.
Разряд ОМ = 1 маскирует флаг ОЕ, и исключительная ситуация, связанная с переполнением, обрабатывается стандартным образом.
Разряд ZM = 1 маскирует флаг ZE и в качестве результата деления на нуль выдает значение бесконечности. Знак бесконечности формируется как сумма по модулю 2 знаков делимого и делителя (напомним, что нуль в форматах вещественных чисел имеет знак «+» и «-»).
Разряд DM = 1маскирует флаг DE и, сопроцессор выполняет операцию с ненормализованным значением операнда.
Разряд IM = 1 маскирует флаг IE, и в качестве результата АП выдает значение NAN. Если операция оценивается как недействительная, когда оба участвующих в ней операнда имеют значение NAN, то в качестве результата выдается то из них, которое имеет большую мантиссу.
Описанные разряды масок могут быть установлены в «1» или сброшены соответствующей командой независимо друг от друга.
предыдущаяследующая© Copyright, 2009.
Для связи: info@dgs-srl.com.