Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MProc / M9 / Архитектура часть 6..doc
Скачиваний:
42
Добавлен:
16.04.2013
Размер:
480 Кб
Скачать

6. Модель прикладного выполнения в системной среде Intel® Itanium™

Этот раздел описывает модель выполнения для лучшего видения прикладным программистом, использующим архитектуру Itanium, связанную с кодами IA-32, которые работают в системной среде Itanium. Основные свойства охватывают следующее:

  • Схемы состояний IA-32 регистров – целочисленных, сегментных, с плавающей точкой, технологии ММХ и потокового расширения SIMD (SSE).

  • Изменения наборов инструкций

  • Обзор IA-32 модели памяти и адресации

Этот раздел не охватывает детали модели прикладного IA-32 программирования, инструкции и регистры IA-32. Детальнее модели прикладного IA-32 программирования описаны в «Architecture Software Developer’s Manual».

Архитектура Itanium может поддерживать (в контексте операционной системы базирующейся на Itanium) 32-битные приложения следующих режимов: 16-битного реального, 16-битного виртуального 8086 и 16-/32-битного защищенного режима. Приложение IA-32 действительно поддерживается особенностями операционных систем определенных инфраструктурой поддерживающей эти особенности операционной системы.

6.1. Режимы набора инструкций

В любой момент времени, в любой точке, процессор может выполнять либо инструкции IA-32, либо инструкции Itanium. Поле PSR.is (определенное в разделе 3.3.2 «Регистр состояния процессора (PSR)» во втором томе) указывает текущий выполняемый набор инструкций, здесь 1 указывает, что выполняется набор инструкций IA-32, а 0 указывает, что выполняется набор инструкций Itanium. Три специальных инструкции и прерывания определены для переключения процессора между наборами инструкций IA-32 и Itanium, как это показано на рис.6.1.

  • jmpe (инструкция IA-32) скачок на Itanium инструкцию и переключение на набор инструкций Itanium.

  • br.ia переход на IA-32 инструкцию и переключение на набор инструкций IA-32.

  • rfi (инструкция Itanium) «возврат из прерывания» задает возврат либо к набору инструкций IA-32, либо к набору инструкций Itanium в зависимости от того, откуда было вызвано прерывание.

  • Прерывания переключают процессор на набор инструкций Itanium для всех условий прерывания.

Инструкции jmpe и br.ia поддерживают низкозатратный механизм переключения управления между наборами инструкций. Эти примитивы обычно включаются в «пустышки» или «заглушки», которые выполняют требуемый вызов соглашений о связях и редактировании, для вызова динамических и статических подключаемых библиотек.

jmpe

br.ia

rfi

Перехваты, исключения, программные прерывания

Набор инструкций IA-32

Набор инструкций Intel Itanium

Прерывания

Системная среда Intel Itanium

Рис.6.1. Модель переключения набора инструкций

6.1.1. Выполнение набора инструкций в среде Intel Itanium.

Пока процессор выполняет набор инструкций Itanium (PSR.is=0):

  • Инструкции Itanium загружаются, декодируются и выполняются процессором.

  • Инструкции Itanium могут обращаться к целому содержимому прикладного регистра Itanium или IA-32. Это включает IA-32 сегментные дескрипторы и селекторы, основные регистры, физические регистры с плавающей точкой, регистры ММХ технологии и SSE регистры. (Описание схемы состава регистров дано в разделе 6.2).

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

  • Могут быть сгенерированы 264 виртуальных адресов, причем управление памятью используется для всей памяти и ссылок ввода/вывода.