Набор команд Intel 64
Набор команд IA-32 разрабатывался для 32-разрядных процессоров с 32-разрядной шиной данных. В дальнейшем разрядность шины данных была увеличена до 64 бит, а затем появились и 64-разрядные процессоры с 64-разрядной шиной данных.
При реализации наборов команд для таких процессоров возможны два подхода:
· сохранение набора команд IA-32 с дополнительными командами обработки 64-разрядных данных;
· разработка собственного набора команд, ориентированного на эффективное использования разрядности процессора и шины данных.
Второй подход реализован в наборе команд IA-64 для процессора Itanium и рассматривается в следующем разделе, а первый подход рассматривается ниже.
Первоначально расширенный набор команд для 64-разрядных приложений был разработан фирмой AMD и получил название набора x86-64, поскольку дополнительные команды были введены только для набора x86. В дальнейшем фирма AMD назвала этот набор команд и основанную на нем архитектуру технологией AMD64.
Фирма Intel позаимствовала этот набор команд (впервые в процессоре Intel Pentium 4 Processor Extreme Edition) и дало ему название Intel 64.
|
|
В набор Intel 64, помимо команд набора x86, включены команды для работы с учетверенными словами (64 бита), например, команды преобразования и перемещения.
Набор команд 64-разрядного процессора Itanium называют набором IA-64. В этот набор входят следующие группы команд:
· команды работы со стеком регистров;
· команды операций над целыми данными, включающие следующие подгруппы команд: арифметические команды, логические команды, команды сдвига и операций над битами (кроме того, к этой группе относятся команды, ускоряющие операции на 32-битовыми данными и адресами).
· команды сравнения и команды, которые выполняются при заданном условии (команды условного выполнения);
· команды доступа к памяти для обмена данными между регистрами и памятью;
· команды передачи управления (это команды условного перехода, цикла, вызова и возврата из процедуры, а также вызова режима выполнения команд IA-32);
· мультимедийные команды, выполняющие операции на 64-битовыми данными в параллельном режиме;
· операции перемещения между файлами регистров;
· операции над строками;
· операции перемещения на привилегированном уровне.
В процессоре Itanium используется единое, однородное (несегментируемое) адресное пространство с адресами физической памяти от 0 до 250 (1126 Гбайт) и логической памяти от 0 до 264 (18447 Тбайт). Память можно адресовать порциями в 1, 2, 4, 8, 10 и 16 байт. Для ускорения обмена данными между памятью и процессорами используется упреждающая загрузка команд и данных и предсказание переходов.
Процессор Itanium поддерживает как операционные системы с множественным адресным пространством (в которых есть как совместно используемые разными задачами области памяти, так и защищенные друг от друга области памяти), так и операционные системы с единым адресным пространством, которые более совместимы с системой адресации процессора.