![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Архитектура IA-32 предполагает наличие не менее двух процессоров, даже если они интегрированы в одном блоке. В поздних моделях МП их называют не процессорами, а модулями обработки данных. Здесь речь идет, скорее, о множестве структур данных в зависимости от реализованных в процессоре "арифметик".
Основным модулем обработки данных является модуль обработки чисел с фиксированной запятой (точкой). В настоящее время – это целочисленная арифметика, обработка двоично-десятичных чисел и строк символов.
Дополнительным модулем является модуль обработки чисел с плавающей запятой (модуль обработки вещественных чисел).
В МП, начиная с Pentium MMX, используется дополнительный мультимедийный модуль обработки векторных данных.
Модуль обработки чисел с фиксированной запятой использует основной набор регистров общего назначения (РОНы) и следующие форматы данных:
1. Целые числа без знака:
· байт диапазон: от 0 до 255,
· слово диапазон: от 0 до 65 535,
· двойное слово диапазон: от 0 до 4 294 967 295.
2. Целые со знаком:
· знак и 7 бит диапазон: от (–128) до 127,
· знак и 15 бит диапазон: от (–32 768) до 32 767,
· знак и 31 бит диапазон: от (–от 2 147*109) до 2 147 *109.
3. Двоично-десятичные числа.
· неупакованный формат BCD – одна беззнаковая цифра в байте; цифровое значение определяется младшим полубайтом; старший полубайт должен быть нулевым при операциях умножения или деления; в других операциях старший полубайт может быть любым,
· упакованный формат BCD – две цифры в байте; цифра в старшем полубайте является более значимой; диапазон – от 0 до 99.
4. Близкий указатель – 32-битное смещение в сегменте.
5. Дальний указатель – 48-битный логический адрес; содержит селектор сегмента (16 бит) и смещение в сегменте (32 бита).
6. Строка – непрерывная последовательность байт, слов или двойных слов длиной до 4 Гбайт.
7. Битовое поле – непрерывная последовательность бит, в которой каждый бит рассматривается как независимая переменная. Битовое поле может начинаться с любого бита в любом байте и быть длиной до 32 бит.
8. Битовая строка – непрерывная последовательность бит; может начинаться с любого бита в любом байте и быть длиной до 4 Гбайт.
Модуль обработки чисел с плавающей запятой использует свой набор регистров общего назначения (РОНы), свои команды, свои форматы данных и свой регистр слова состояния FGU модуля (аналог регистра EFLAGS).
Особенностью модуля с плавающей запятой является то, что набор РОН (восемь 80-битных регистров) организован в виде стека. Указатель стека TOP расположен в регистре слова состояния FGU модуля. Стековая организация РОНов упрощает процедурное программирование, в частности передачу параметров через стек. Структура регистра общего назначения модуля FGU представлена на рис. 3.21.
Регистры содержат три поля: знака, порядка и мантиссы.
Знак – это знак числа и знак мантиссы. Для задания отрицательных значений мантиссы используется прямой код (0 – положительные значения, 1 – отрицательные).
Характеристика – это смещенный (нормализованный) порядок числа (10 бит), диапазон представления чисел: 2±1634 = 10±4932.
Мантисса – нормализованная дробь типа 1,a1,a2, ai…a63, где: аi – двоичная цифра, причем дробная часть мантиссы > 0.
Знак | Характеристика | Мантисса | ||
Рис.3.21. Структура регистра общего назначения FGU модуля |
Команды используют числа с плавающей запятой следующих форматов:
· обычной точности: знак – 1 бит, порядок – 8 бит, мантисса – 24 бита, первая цифра мантиссы (всегда 1) в поле команды не пишется; всего фиксируются 32 бита.
· двойной точности: знак – 1 бит, порядок – 11 бит, мантисса – 53 бита, первая цифра мантиссы (всегда 1) в поле команды не пишется.
· расширенной точности: знак – 1 бит, порядок – 15 бит, мантисса – 64 бита, включая первую цифру.
Числа с плавающей запятой в формате обычной и двойной точности при загрузке в модуль обработки автоматически преобразуются в формат расширенной точности. Промежуточные результаты вычислений могут записываться в память в формате расширенной точности. Это предотвращает потери точности при перекодировках чисел.
Дата публикования: 2014-11-03; Прочитано: 411 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!