Развитие вычислительной техники сопровождается совершенствованием центральных процессоров для персональных ЭВМ. Новые модели процессоров обладают не только улучшенной производительностью, но и новыми возможностями (новые регистры, новые наборы команд и прочие изменения в архитектуре). В то же время разработчики процессоров при проектировании новых моделей основываются на принципах преемственности или обратной совместимости, т.е. новая модель процессора разрабатывается на основе какой-либо существующей архитектуры. Таким образом, программный код для этой архитектуры должен без изменений выполняться и на новой модели процессора. Ряд моделей, полученных в результате последовательного совершенствования какой-либо архитектуры, образует семейство процессоров.
В настоящее время доминирующее положение на рынке центральных процессоров для ЭВМ занимает семейство IA-32 фирмы Intel. Это семейство открывают 16-разрядные процессоры 8086 и 8088 с 16/8-битной шиной данных и 20-битной шиной адреса. Второе поколение процессоров представлено процессором 80286, в котором шина адреса была расширена до 24 бит, что позволяло в особом режиме (protected mode - защищенный режим) адресовать до 16Мбайт физической памяти. Начиная с третьего поколения (Intel386) архитектура процессоров этого семейства стала 32-битной, а основным режимом работы - защищенный. В новых моделях усовершенствована работа с кэшем (Intel486), появились параллельные конвейеры (Pentium), появились новые архитектурные блоки (Pentium MMX), появился встроенный кэш второго уровня (P6). Эти изменения сопровождались также добавлением новых возможностей при работе в защищенном режиме: VME (Virtual Mode Extension) у Pentium, PAE (Physical Address Extension) у P6 и др.
Данное пособие описывает в первую очередь возможности 32-битных процессоров IA-32. Возможности новых процессоров даются в сравнении с базовой 32-битной моделью - Intel386. При описании той или иной возможности будет указываться, с какого поколения процессоров эта возможность доступна. Например:
- 286+ - возможность доступна, начиная с процессоров 80286;
- 386+ - возможность доступна, начиная с процессоров Intel386;
- 486+ - возможность доступна, начиная с процессоров Intel486;
- Pentium+ - возможность доступна, начиная с процессоров Pentium;
- P6+ - возможность доступна на процессорах Pentium Pro, Pentium II, Pentium III и более новых.
В семействе IA-32 декларируется программная совместимость моделей процессоров сверху вниз. Это значит, что код, написанный для 8086 должен работать и на 80386, и на Pentium 4. С другой стороны, программы, разработанные для более поздних процессоров, могут не работать на более ранних, если в них используются какие-либо специфические особенности новой модели.