Введение

Печать

 

Самый ранний из описываемых микропроцессоров — 8086, был полностью 16-разрядным прибором, ориентированным на использование в универсальных вычислительных устройствах в качестве одиночного центрального процессорного устройства (CPU). Этот микропроцессор имел 16-разрядные внутренние регистры, 16-разрядные внутренние и внешние шины данных и мог адресовать до 1 Мб физической памяти. Производительность микропроцессора 8086 могла достигать 0,8 MIPS (млн. операций в секунду).

В 1982 году Intel внесла значительные усовершенствования в архитектуру x86 и выпустила новый микропроцессор Intel286. Он также был полностью 16-разрядным, однако, мог адресовать до 16 Мб физической памяти и имел специальный защищенный режим работы, в котором обеспечивались гибкие механизмы адресации, управления доступом к памяти, управления привилегиями и т.п. Система команд этого микропроцессора также была существенно расширена. Его быстродействие достигало уже 2,7 MIPS.

Еще большие нововведения в архитектуру x86 были воплощены в процессоре Intel386, который вышел в 1985 году. Это был полностью 32-разрядный микропроцессор, который имел 32-разрядные внутренние регистры и 32-разрядные шины данных. Адресное пространство микропроцессора Intel386 было по тем временам просто безграничным — 4 Гб. Были добавлены также: специальный страничный механизм и новый режим работы — V86, который обеспечивал совместимость данного микропроцессора с программами, написанными для предыдущих устройств серии. Внутренняя микроархитектура микропроцессора Intel386 также была уникальной — она впервые позволяла осуществлять параллельное выполнение нескольких действий (выборка команд и данных, декодирование команд, исполнение команд и т.п.), чем обеспечивалось увеличение быстродействия до 6 MIPS. Примерно в это же время была разработана новая ОС для персональных компьютеров, построенных на микропроцессорах x86 — Windows. С тех пор пара Windows–Intel настолько популярна и неразлучна, что для обозначения архитектуры x86 даже появился новый термин — Wintel.

Развитие микроэлектронных технологий позволило существенно повысить вместимость кристаллов электронных схем. В 1989 году появился микропроцессор Intel486. Он содержал интегрированное устройство вычислений с плавающей точкой (FPU) и внутреннюю КЭШ-память для данных и команд. Было также повышено быстродействие процессора (в т.ч. и за счет совершенствования микроархитектуры, которая позволяла еще более запаралелить выполнение многих действий внутри микропроцессора).

В 1993 году вышел первый микропроцессор семества P5. Микропроцессор Pentium имел значительно усовершенствованную микроархитектуру. Теперь устройство целочисленных вычислений имело два практически идентичных блока, в которых различные команды могли выполняться параллельно. Были усовершенствованы модули, отвечающие за выборку и декодирование команд, они стали более интеллектуальными и пытались прогнозировать действия процессора, осуществляя предвыборку и преддекодирование команд еще до получения результатов предыдущих команд. Устройство вычислений с плавающей запятой было существенно переработано для достижения большего быстродействия. Были внесены некоторые доработки и в программную архитектуру процессора: появилась поддержка страниц большого размера, режим V86 стал более гибким при обработке прерываний, а средства внутренней самодиагностики вышли из зачаточного состояния. Быстродействие первых процессоров Pentium могло достигать 100 MIPS.

C 1993 по 1997 гг. фирма Intel продолжала усовершенствование архитектуры своих процессоров. Был выпущен Pentium Pro — микропроцессор микроархитектуры P6, которая стала основой и для более поздних микропроцессоров. Уже не два, а четыре внутренних модуля параллельно осуществляли выполнение команд, предвыборка дополнилась многими интелектуальными функциями, такими как предсказание ветвлений и т.п. Внутренняя КЭШ-память стала двухуровневой, что позволило, с одной стороны, увеличить ее объем, а с другой обеспечить разумную стоимость микропроцессора. Новая расширенная система команд для обработки мультимедийной информации (MMX) была введена в новые модели микропроцессоров Pentium и Pentium Pro.

Современная индустрия микропроцессоров практически прекратила развивать 32-разрядные архитектуры x86 (получив здесь сильнейшего конкурента в лице архитектуры ARM) и переключилась на новый сегмент 64-разрядных архитектур. Последними из существенных нововведений 32-разрядного сегмента стали новые так называемые SIMD (или SSE) команды, впервые введеные в микропроцессоре Pentium III. Однако все эти усовершенствования и потрясающие возможности с программной точки зрения все равно базируются на стандартной архитектуре x86, которая существует уже более 30 лет.

Основные элементы архитектуры x86 последовательно описываются в следующих разделах.

  • Система команд – здесь содержится подробная информация обо всех командах процессоров архитектуры x86, в т.ч. и о расширенных наборах команд MMX, 3DNow!, и SIMD (SSE). Для каждой команды указаны выполняемые ей действия и возможные последствия ее применения в различных ситуациях, даны комментарии и рекомендации.

  • Внутренние регистры– содержит описание всех внутренних регистров процессоров. К ним относятся регистры общего назначения, сегментные регистры, регистры управления и отладки, системные регистры, регистры математического сопроцессора, а также некоторые регистры специального назначения

  • Механизмы адресации, управления памятью, поддержки многозадачности и защиты – посвящена описанию работы механизма адресации процессора в различных режимах. Также описан страничный механизм, механизм поддержки многозадачности и средства защиты, приведены форматы всех элементов системной архитектуры

  • Прерывания, исключения и особые ситуации – содержит подробное описание действий процессора по обработке прерываний и особых ситуаций. Приведены все возможные причины их генерации и протокол реакции процессора на их возникновение. Также описаны исключения математического сопроцессора и исключения для команд потоковой обработки SIMD (SSE).

  • Форматы данных– это описание всех применяемых в архитектуре x86 форматов данных. Здесь представлены как форматы для целочисленной арифметики, так и для арифметики с плавающей запятой, описание данных для команд MMX, 3DNow, SIMD (SSE).

  • Форматы команд– содержит информацию о кодировании команд. Здесь описаны все возможные форматы для кодов команд процессора, приведено назначение и правила кодирования отдельных полей.

 

С момента появления самого первого микропроцессора архитектуры x86 самые разнообразные фирмы по всему миру производят разработку совместимых устройств. Такие микропроцессоры, как правило, полностью копируют архитектуру приборов Intel и совместимы с программным обеспечением для них.

Микропроцессоры-клоны существуют для всех устройств серии x86. В различные периоды из них были наиболее известны: MII (Cyrix, IBM), K6 (AMD), Winchip (IDT) и некоторые другие. Специфика этих микропроцессоров в том, что они предназначались для применения в промышленном оборудовании и недорогих компьютерах средней производительности и не претендовали на лидерство в сфере мощных многопроцессорных сверхвысокопроизводительных систем. До определенного времени производители клонов лишь шли по стопам Intel, производя устройства максимально приближенные по своим характеристикам к приборам Intel и не содержащие никаких структурных расширений. Нововведением стал шаг фирмы AMD, которая разработала и реализовала в своих микропроцессорах новую расширенную систему команд 3DNow! Это расширение было поддержано и другими производителями. Intel, однако, не стала копировать разработки AMD и ввела в свои новые микропроцессоры другое расширение, называемое SIMD или SSE. Впоследствии большинство команд 3DNow! были реализованы в составе новых расширений SSE2 и SSE3, которые появились в процессорах Intel начиная с Pentium IV.

Как правило, фирмы производители заявляют о полной совместимости своих изделий с микропроцессорами Intel, однако, как показывает практика, поведение клонов может отличаться от поведения приборов Intel (например, в случае конкурирующих прерываний). Тем не менее, в подавляющем большинстве случаев все что изложено на данном сайте о процессорах Intel верно и для их аналогов производства других фирм.