IA-32

редактировать
Эта статья о 32-битном поколении микропроцессорной архитектуры Intel. Для архитектуры x86 в целом см. X86.

IA-32 (сокращение от « Архитектура Intel, 32-разрядная », иногда также называемая i386) - это 32-разрядная версия архитектуры набора команд x86, разработанная Intel и впервые реализованная в микропроцессоре 80386 в 1985 году. IA-32 первое воплощение x86, поддерживающее 32-битные вычисления; в результате термин «IA-32» может использоваться как метоним для обозначения всех версий x86, которые поддерживают 32-разрядные вычисления.

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

Исторически 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 и дистрибутив Debian Linux. Несмотря на название IA-32 (и вызывающее некоторую потенциальную путаницу), 64-битная эволюция x86, которая возникла у AMD, не будет называться «IA-64», это имя вместо этого принадлежит архитектуре Intel Itanium.

СОДЕРЖАНИЕ

  • 1 Архитектурные особенности
  • 2 режима работы
  • 3 См. Также
  • 4 ссылки

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

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

32-битная целочисленная способность
Все регистры общего назначения (GPR) расширяются с 16 бит до 32 бит, и все арифметические и логические операции, операции преобразования  памяти в регистр, регистры в память и т. Д. Могут работать непосредственно с 32-битными целыми числами. Вставки и всплывающие подсказки в стеке по умолчанию имеют 4-байтовые шаги, а несегментированные указатели имеют ширину 4 байта.
Более общие режимы адресации
Любой GPR может использоваться как базовый регистр, а любой GPR, кроме ESP, может использоваться как индексный регистр в ссылке на память. Значение индексного регистра можно умножить на 1, 2, 4 или 8 перед добавлением к значению базового регистра и смещению.
Дополнительные сегментные регистры
Предусмотрены два дополнительных сегментных регистра FS и GS.
Большее виртуальное адресное пространство
Архитектура IA-32 определяет 48-битный формат сегментированного адреса с 16-битным номером сегмента и 32-битным смещением внутри сегмента. Сегментированные адреса отображаются на 32-битные линейные адреса.
Пейджинг по запросу
32-битные линейные адреса - это виртуальные адреса, а не физические адреса; они переводятся на физические адреса через таблицу страниц. В процессорах 80386, 80486 и оригинальных процессорах Pentium физический адрес составлял 32 бита; в процессорах Pentium Pro и более поздних версиях расширение физического адреса допускало 36-битные физические адреса, хотя размер линейного адреса по-прежнему составлял 32 бита.

Режимы работы

Рабочий режим Требуется операционная система Тип выполняемого кода Размер адреса по умолчанию Размер операнда по умолчанию Типичная ширина георадара
Защищенный режим 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 бит
Нереальный режим 16-битная операционная система реального режима или загрузчик, или 32-битный загрузчик 16-битный код реального режима 32 бит 16 бит 16 или 32 бит

Смотрите также

использованная литература

Последняя правка сделана 2023-04-04 03:20:54
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте