Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Arch_2004.doc
Скачиваний:
385
Добавлен:
04.06.2015
Размер:
2.18 Mб
Скачать

4.4. Архитектура 32-разрядного микропроцессора

В 1985 году фирма Intel выпустила 32-разрядный микропроцессор, ставший родоначальником семейства IA-32. Развитие этого семейства прошло ряд этапов, среди которых можно выделить следующие: реализация блока обработки чисел с плавающей запятой непосредственно на кристалле МП (микропроцессор I386), введение MMX-технологии обработки данных с фиксированной точкой по принципу SIMDsingl instruction multi data (один поток команд – множество потоков данных) в микропроцессоре Pentium MMX и развитие этой технологии на числа с плавающей запятой (SSE – streaming SIMD Extention), появившееся впервые в МП Pentium III [4]. Однако основные черты этой архитектуры вплоть до настоящего времени остаются неизменными.

32-разрядный микропроцессор (рис.4.6) существенно отличается от 16-разрядного. Некоторые из этих отличий чисто количественные, другие носят принципиальный характер.

Главное внешнее отличие – увеличение разрядности шины данных и шины адреса до 32 бит. Это, в свою очередь, связано с изменениями в разрядности внутренних элементов микропроцессора и в механизме выполнения некоторых процессов, например, формирования физического адреса.

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

В блоке сегментных регистров произошли существенные изменения. К используемым в реальном режиме четырем регистрам CS, DS, SS и ES добавлены еще два: FS и GS . Хотя разрядность регистров этого блока осталась прежней (каждый по 16 бит), в формировании физического адреса оперативной памяти они используются по-другому. При работе микропроцессора в так называемом защищенном режиме они предназначаются для поиска дескриптора (описателя) сегмента в соответствующих системных таблицах, а уже в дескрипторе хранится базовый адрес и атрибуты сегмента. Формирование адреса в этом случае выполняет блок сегментации диспетчера памяти.

Если помимо сегментов память разбита еще и на страницы, то вычисление физических адресов выполняет блок управления страницами.

Начиная с микропроцессора I486, в состав кристалла микропроцессора входит блок обработ­ки чисел с плавающей запятой, включающий в себя восемь 80-разрядных регистров для представления порядков и мантисс таких чисел.

На кристалле микропроцессора располагается также внутренняя кэш-память, которая представляет собой особым образом организованную быстродействующую буферную память, предназначенную для хранения наиболее часто используемой информации (команд и данных). В различных моделях микропроцессоров объем кэш-памяти составляет от 8К байт до 512К байт.

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

С этой возможностью неразрывно связаны средства защиты памяти, которые обеспечивают контроль над неразрешенными взаимодействиями между отдельными программами. Они включают в себя защиту при управлении памятью и защиту по привилегиям.

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

ЭА = (base) + (index)•∙ scale + disp,

где (base) – значение базового регистра; (index) – значение индексного регистра; scale – величина масштабного множителя; disp – значение смещения, закодированного в самой команде.

Отметим, что в 32-разрядной архитектуре эффективный адрес обычно называют смещением (offset), в то же время отличая его от смещения, кодируемого в самой команде (displacement).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]