4.1. Программная модель пользователя
4.1. Программная модель пользователя
64-разрядный микропроцессор фирмы Intel ITANIUM (Itanium II) представляет RISC-процессор, имеющий большое число внутренних регистров, фиксированный формат машинной команды и ряд других особенностей, характеризующих процессоры данного вида. Фиксированный формат машинной команды позволяет эффективно организовать конвейер команд за счет однотипности действий процессора. Большое число регистров и особенности их использования позволяют свести до минимума количество обращений к оперативной памяти. Это приводит к увеличению быстродействия процессора.
Архитектурно Itanium не похож на 32-разрядные процессоры предыдущих поколений (имеются в виду процессоры фирмы Intel). Itanium поддерживает программную модель и систему команд 32-разрядных процессоров (IA-32 архитектура). В любой момент процессор может выполнять либо базовый поток команд Itanium, либо поток команд IA-32. Для переключения с одного потока команд на другой есть специальные команды. Команда jmpe (команда IA-32) переключает процессор на базовый поток команд, а команда br.ia (базового потока – «branch IA») – на поток IA-32. При выполнении потока IA-32 процессор ассоциирует часть своих внутренних регистров с регистрами процессора класса Pentium III (смотри разд. 4.5), переходя на программную модель 32-разрядного процессора. Операционную систему (ОС), предназначенную для Itanium, можно написать в одном из трех вариантов:
— поддерживает только поток команд IA-32;
— поддерживает только базовый поток команд;
— поддерживает микширование потоков.
На Itanium можно использовать ОС: Windows 95, 98, 2000,…XP… Команды базового потока совсем не похожи на хорошо известный Ассемблер 16- и 32-разрядных процессоров. Например, привычный для нас фрагмент кода на обычном Ассемблере
| cmp eax, ebx jne m1 add ebx, 7 jmp m2 m1: add ebx,10 m2: ……… | ; сравнить содержимое регистров ; если не равно – прыжок на m1 ; если равно – прибавить к ebx 7 ; прыжок на m2 ; если не равно – прибавить к ebx 10 |