Intel IA-32

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 23:52, 21 октября 2018.
(перенаправлено с «IA-32»)
Intel IA-32
Дизайнер Intel Corporation
Биты 32-bit
Представлен 1985 год
Версия i386
Расширения MMX
Открыто Нет
Регистры
32 бита
Общее назначение 32 бита
FPU (Floating Point Unit) 32 бита
Intel IA-32 (сокращение от «Intel Architecture, 32-bit», иногда также называемое i386) – это 32-разрядная версия архитектуры набора инструкций x86, разработанная Intel и впервые реализованная в Intel 80386 в 1985 году, показанный на рисунке 1. IA-32 является первым воплощением x86, поддерживающим 32-разрядные вычисления, в результате термин «IA-32» может использоваться в качестве метонима для обозначения всех версий x86, поддерживающих 32-битные вычисления.

Рисунок 1 – Intel 80386



Альтернативные названия

В различных директивах языка программирования IA-32 по-прежнему иногда называют архитектурой «i386». В некоторых других контекстах некоторые итерации ISA IA-32 иногда обозначаются как i486, i586 и i686, ссылаясь на наборы инструкций, предлагаемые Intel 80386, микроархитектурами P5 и P6 соответственно. Эти обновления предлагали множество дополнений наряду с базовым набором IA-32, то есть с плавающей запятой и расширениями MMX.[Источник 1]

Истоки появления

Intel была исторически крупнейшим производителем процессоров IA-32, причем вторым по величине поставщиком был AMD. В 1990-х годах VIA, Transmeta и другие производители чипов также выпускали совместимые с IA-32 процессоры (например, WinChip). В современную эпоху Intel по-прежнему выпускает процессоры IA-32 под платформой микроконтроллеров Intel Quark, однако с 2000-х годов большинство производителей (включая Intel) почти полностью перешли на реализацию процессоров на основе 64-битного варианта x86, x86-64. x86-64 по спецификации предлагает устаревшие режимы работы, которые работают на ISA IA-32 для обратной совместимости.

Даже учитывая современную распространенность x86-64, по состоянию на 2018 год версии IA-32 с защищенным режимом многих современных операционных систем все еще сохраняются, например Microsoft Windows и дистрибутив Ubuntu Linux. Несмотря на то, что имя IA-32 (и вызывает некоторую потенциальную путаницу), 64-разрядная эволюция x86, которая возникла из AMD, не будет известна как «IA-64», которое вместо этого принадлежит архитектуре Intel Itanium.[Источник 2]

Архитектурные особенности

Первичной определяющей характеристикой IA-32 является наличие 32-разрядных регистров процессора общего назначения (например, EAX и EBX), 32-разрядных целочисленных арифметических и логических операций, 32-разрядных смещений в сегменте в защищенном режиме и перевод сегментированных адресов на 32-битные линейные адреса. Дизайнеры воспользовались возможностью, чтобы сделать другие улучшения. Ниже приводятся некоторые из наиболее значительных изменений.

Рисунок 2 – Intel Pentium

32-битная целая функция

Все регистры общего назначения (GPR) расширяются от 16 бит до 32 бит, а все арифметические и логические операции, операции с памятью и регистром и памятью и т.д. Могут работать непосредственно с 32-битными целыми числами. Толкает и поставляет по стеку по умолчанию 4-байтные шаги, а несегментированные указатели имеют ширину 4 байта.

Более общие режимы адресации

Любой GPR может использоваться как базовый регистр, и любой GPR, отличный от ESP, может использоваться в качестве индексного регистра в ссылке на память. Значение регистра индекса может быть умножено на 1, 2, 4 или 8 перед добавлением к значению базового регистра и смещению.

Дополнительные сегментные регистры

Предусмотрены два дополнительных сегментарных регистра, FS и GS.

Большее виртуальное адресное пространство

Архитектура IA-32 определяет 48-битный сегментированный формат адреса с 16-разрядным номером сегмента и 32-битным смещением внутри сегмента. Сегментированные адреса сопоставляются с 32-битными линейными адресами.

Пейджинг спроса

32-битные линейные адреса - это виртуальные адреса, а не физические адреса; они переводятся на физические адреса через таблицу страниц. В Intel 80386, Intel 80486 и исходных процессорах Intel Pentium (представлен на рисунке 2) физический адрес составлял 32 бита; в процессорах Intel Pentium Pro и более поздних версиях расширение физического адреса допускало 36-битные физические адреса, хотя размер линейного адреса был еще 32 бита.[Источник 3]

Процессоры данной архитектуры

Ниже представлен список процессоров Intel, в которых использовалась данная архитектура.

Рисунок 3 – Intel Pentium 4

  • 8086
  • 8088
  • 80286
  • 80386DX
  • 80386SX
  • 80386SL
  • i486DXn
  • i486SXn
  • i486SL
  • Pentium
  • Pentium MMX
  • Pentium Pro
  • Pentium II,
  • Pentium II Xeon
  • Celeron (Covington)
  • Celeron (Mendocino)
  • Pentium III,
  • PIII-Coppermine
  • Celeron (Coppermine)
  • Pentium III Xeon
  • Pentium 4 (рисунок 3)

Рабочий режим

Рабочий режим Требуемая операционная система Тип кода, запуска Размер адреса по умолчанию Размер операнда по умолчанию Типичная GPR ширина
Защищенный режим 32-разрядная операционная система или загрузчик 32-битный код защищенного режима 32 бита 32 бита 32 бита
16-разрядная версия операционная система защищенного режима или загрузчика, или 32-разрядный загрузчик 16-битный код защищенного режима 16 бит 16 бит 16 или 32 бит
Режим виртуального 8086 16- или 32-разрядная операционная система защищенного режима 16-битный код реального режима 16 бит 16 бит 16 или 32 бит
Реальный режим 16-разрядная версия операционная система реального режима или загрузчика, или 32-разрядный загрузчик 16-битный код реального режима 16 бит 16 бит 16 или 32 бит

Источники

  1. FAQ по пpоцессоpам семейства x86 // iXBT [1997–2018]. Дата изменения: 24.02.2001. URL: https://www.ixbt.com/cpu/faq/cpufaq.shtml (Дата обращения: 24.09.2018).
  2. Микроархитектура процессоров Intel Itanium 2 // Лаборатория Параллельных информационных технологий НИВЦ МГУ [2018]. Дата изменения: 01.01.2001. URL: http://parallel.ru/russia/MSU-Intel/Itanium2.html (Дата обращения: 24.09.2018).
  3. Классификация x86-процессоров: опыт создания с нуля // iXBT [1997–2018]. Дата изменения: 20.01.2010. URL: https://www.ixbt.com/cpu/x86-cpu-classification.shtml (Дата обращения: 24.09.2018).