 
        
        - •6. Модель прикладного выполнения в системной среде Intel®Itanium™
- •6.1. Режимы набора инструкций
- •6.1.1. Выполнение набора инструкций в среде IntelItanium.
- •6.1.2. Выполнение набора инструкций ia-32
- •6.1.3. Переключения наборов инструкций
- •6.1.3.1. Инструкция jmpe
- •6.1.3.2. Инструкция перехода к ia
- •6.1.4. Переключения режимов работы ia-32
- •6.2. Модель состояния прикладных регистров ia-32
- •6.2.1. Регистры общего назначения ia-32
- •6.2.2. Указатель инструкций ia-32
- •6.2.3. Сегментные регистры ia-32
- •6.2.3.1. Сегменты данных и кода
- •6.2.3.2. Сегментный дескриптор и целостность среды
- •6.2.3.2.1. Защищенный режим.
- •6.2.3.2.2 Режим vm86
- •6.2.3.2.2 Реальный режим
- •6.2.3.3. Проверки целостности среды ia-32 во время выполнения
- •6.2.4. Прикладной ia-32 регистрEflag
- •6.2.5. Ia-32 регистры с плавающей точкой
- •6.2.5.1. Ia-32 стек регистров с плавающей точкой
- •6.2.5.2. Специальные случаи
- •6.2.5.3. Регистры управления с плавающей точкой ia-32.
- •6.2.5.4. Ia-32 среда с плавающей точкой
- •6.2.6. Ia-32 регистры ммх технологии
- •6.2.7. Ia-32 регистрыSse
- •6.3. Обзор моделей памяти
- •6.3.1. Упорядочивание памяти
- •6.3.2. Сегментация ia-32
- •6.3.3. Самомодифицирующийся код
- •6.3.4. Взаимодействия упорядочивания памяти.
- •6.4. Использование кодом ia-32, регистров Itanium
- •6.4.1. Механизм стека регистров
- •6.4.2. Alat
- •6.4.3. Влияние NaT/NaTValна инструкцииIa-32
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виртуальных адресов, причем управление памятью используется для всей памяти и ссылок ввода/вывода. 







