Скачиваний:
57
Добавлен:
16.04.2013
Размер:
480.26 Кб
Скачать

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

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

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

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

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

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

Архитектура 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. Выполнение набора инструкций в среде IntelItanium.

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

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

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

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

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