Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЭВУ 2 семестр / Презентации ЭВУ в пдф / метода моховикова

.pdf
Скачиваний:
35
Добавлен:
31.05.2015
Размер:
4.4 Mб
Скачать

щей запятой. При этом операнды, необходимые для выполнения микроопе-

раций, либо считываются из регистрового файла, либо передаются как ре-

зультат выполнения предыдущей микрооперации. После выполнения микро-

операций происходит формирование флагов и проверка корректности ре-

зультатов. В том случае, если результаты корректны, происходит отставка

(англ. retirement) микроопераций, а результаты помещаются в регистровый файл. Если же результаты выполнения микрооперации некорректны (напри-

мер, был неверно предсказан переход, или необходимые данные не были во-

время получены), эта микрооперация отправляется на повторное исполнение.

3.4.Микроархитектура Core

Вотличие от процессоров архитектуры NetBurst, в архитектуре Core 2

ставка делается не на повышение тактовой частоты, а на улучшение других параметров процессоров, таких как кэш, эффективность и количество ядер.

Рассеиваемая мощность этих процессоров значительно ниже, чем у настоль-

ной линейки гиперконвейерных процессоров. С параметром TDP (от англ. thermal design point – величина, показывающая, на отвод какой тепловой мощности должна быть рассчитана система охлаждения процессора), равным

65 Вт, процессор Core 2 имеет наименьшую рассеиваемую мощность из всех настольных чипов, в том числе на ядрах Prescott (Intel) с TDP, равным 130 Вт,

и на ядрах San Diego’s (AMD) с TDP, равным 89 Вт.

Особенностями процессоров Intel Core 2 являются: 1) EM64T (поддерж-

ка архитектуры EM64T) – расширение архитектуры x86 с полной обратной совместимостью; 2) технология поддержки виртуальных x86 машин

Vanderpool (en) – виртуализация с аппаратной поддержкой, не отличаясь принципиально от программной, обеспечила производительность, сравни-

мую с производительностью невиртуализованной машины, что дало виртуа-

лизации возможность практического использования и повлекло ее широкое распространение; 3) NX-бит – антивирусная технология, предотвращающая

«заражение» компьютера некоторыми типами вредоносного программного

21

обеспечения, искусственно вызывающего ошибку вида «переполнение буфе-

ра»; 4) набор инструкций SSSE3 – четвертое расширение системы команд,

предшественник SSE3. Кроме того, впервые реализованы следующие техно-

логии: LaGrande Technology (усовершенствованная технология), SpeedStep

(EIST) и Active Management Technology (iAMT2).

4. Программная модель процессора

4.1. Режимы работы процессора

Процессор может работать в одном из двух режимов и переключаться между ними достаточно быстро, как в ту, так и в другую сторону:

Real Mode (RМ) – режим реальной адресации, соответствующий ра-

боте системы с CPU 8086, используется только в MS DOS. Область адресов,

доступных системе (1 Мбайт), не защищена. Реализованы двадцать адресных линий, режим однопользовательский. Однако при этом работают 32-битовые регистры CPU (центрального процессора). По умолчанию используются все имеющиеся команды, длина операндов 16 бит. Для работы с 32-разрядными операндами и использования дополнительных режимов адресации применя-

ют специальный префикс переадресации. 32-разрядный адрес не превышает границы сегмента 64 Кбайт (0000H–FFFFH), в противном случае констатиру-

ется особая ситуация – 13Н. Для обеспечения доступа к адресному простран-

ству шириной до 1 Мбайт в работе участвуют линии А [19/02], BEO#-BE3#.

Исполнительный адрес всегда соответствует физическому, страничный ме-

ханизм отключен. Все сегменты могут находиться в состоянии записи, счи-

тывания или выполнения.

В реальном режиме микропроцессор работает как очень быстрый про-

цессор 8086 с возможностью использования 32-битных расширений. Меха-

низм адресации, размеры памяти и обработка прерываний (с их последова-

тельными ограничениями) МП Intel386 в реальном режиме полностью совпа-

дают с аналогичными функциями МП 8086. В отличие от 8086 микропроцес-

соры 286+ в определенных ситуациях генерируют исключения, например,

22

при превышении предела сегмента, который для всех сегментов в реальном режиме – 0FFFFh.

Имеется две фиксированные области в памяти, которые резервируются в режиме реальной адресации:

область инициализации системы

область таблицы прерываний

Ячейки от 00000h до 003FFH резервируются для векторов прерываний.

Каждое из 256 возможных прерываний имеет зарезервированный 4-байтовый адрес перехода. Ячейки от FFFFFFF0H до FFFFFFFFH резервируются для инициализации системы.

Protected Mode (РМ) – режим виртуальной адресации (защищенный

режим). Этот режим является основным режимом работы микропроцессора.

Ключевыми особенностями защищенного режима являются: виртуальное ад-

ресное пространство, защита и многозадачность.

В защищенном режиме программа оперирует адресами, которые могут относиться к физически отсутствующим ячейкам памяти, поэтому такое ад-

ресное пространство называется виртуальным. Размер виртуального адресно-

го пространства программы может превышать емкость физической памяти и достигать 64 Тбайт. Для адресации виртуального адресного пространства ис-

пользуется сегментированная модель, в которой адрес состоит из двух эле-

ментов: селектора сегмента и смещения внутри сегмента. С каждым сегмен-

том связана особая структура, хранящая информацию о нем, – дескриптор.

Кроме «виртуализации» памяти на уровне сегментов существует возмож-

ность «виртуализации» памяти при помощи страниц – страничная трансля-

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

обеспечивает 36-битную физическую адресацию памяти (64 Гбайт).

Встроенные средства переключения задач обеспечивают многозадач-

ность в защищенном режиме. Среда задачи состоит из содержимого регист-

ров МП и всего кода с данными в пространстве памяти. Микропроцессор

23

способен быстро переключаться из одной среды выполнения в другую, ими-

тируя параллельную работу нескольких задач. Для некоторых задач может эмулироваться управление памятью как у процессора 8086. Такое состояние задачи называется режимом виртуального 8086 (Virtual 8086 Mode). О пре-

бывании задачи в таком состоянии сигнализирует бит VM в регистре флагов.

При этом задачи виртуального МП 8086 изолированы и защищены как от друг друга, так и от обычных задач защищенного режима.

Защита задач обеспечивается следующими средствами: контроль преде-

лов сегментов, контроль типов сегментов, контроль привилегий, привилеги-

рованные инструкции и защита на уровне страниц. Контроль пределов и ти-

пов сегментов обеспечивает целостность сегментов кода и данных. Програм-

ма не имеет права обращаться к виртуальной памяти, выходящей за предел того или иного сегмента. Программа не имеет права обращаться к сегменту данных как к коду и наоборот. Архитектура защиты микропроцессора обес-

печивает 4 иерархических уровня привилегий, что позволяет ограничить за-

даче доступ к отдельным сегментам в зависимости от ее текущих привиле-

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

рукций). Функции страничной трансляции обеспечивают дополнительные механизмы защиты на уровне страниц.

Виртуальная адресация – это способ организации доступа к информа-

ции, при котором большая ее часть располагается не в физическом оператив-

ном запоминающем устройстве (ОЗУ), а в устройствах внешней памяти

(УВП), откуда она периодически подкачивается в ОЗУ (swapping), что созда-

ет иллюзию расширения его размеров.

При включении ПЭВМ первоначально принимает RM. Для перевода в РМ используют системные команды LMSW, SMSW. При установке бита PF

= 1 в MSW CPU переходит в РМ, в котором реализуется доступ к 4 Гбайт ОЗУ в 32-битовом адресном физическом пространстве исполнительных адре-

24

сов. Доступ к 64 Тбайт памяти реализуется в виртуальном (логическом) ад-

ресном пространстве.

Предусмотрена защита по многоуровневому принципу операционной системы и прикладных задач. Реализуется мультипрограммность.

Для обратного перевода из РМ в RM команды LMSW, SMSW не исполь-

зуются. Система должна быть перезагружена либо аппаратно («холодный» старт), либо программно-аппаратно – через порты 60Н, 64Н контроллера

8042 командой вывода out и далее через внутренний сигнал RC и узел Shut down к входу Reset I386 («теплый» старт осуществляется нажатием клавиш).

Для осуществления программного перехода из РМ в RM может быть ис-

пользована команда MOV CR0 (LCR0).

Кроме того, существуют и некоторые другие режимы работы процессо-

ра, в их числе – Virtual 8086 Mode – режим виртуального процессора 8086,

для краткости обычно именуемый режимом V86, является подрежи-

мом защищенного режима. Впервые он появился в микропроцессоре 80386.

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

щих в защищенном режиме.

Программный переход в режим V86 может быть осуществлен только из защищенного режима. Из режима V86 возможен выход в защищенный режим. Представляется важным отметить, что возможен аппаратный переход из режима V86 в режим управления системой (это происходит при поступле-

нии сигнала SMI), а также программный возврат в режим V86 из режима управления системой.

Далее рассмотрим Protected Mode 86 (V86) – режим виртуальной ад-

ресации 86, который устанавливает исполнительную среду I86 внутри за-

щищенной многозадачной среды PM CPU I386. При этом поддерживается исполнение всех программ, написанных для предыдущих поколений. Перво-

начально в рамках V86 оборудование формирует 20-разрядный линейный ад-

рес по системе, аналогичной RM. Однако благодаря включению механизма

25

страничной адресации и системе двухуровневой защиты, линейный адрес шириной в 1 Мбайт может быть разбит на 256 страниц по 4 Кбайт каждая, и

размещен в физическом адресном пространстве до 4 Гбайт. В этом объеме физической памяти можно в окнах по 1 Мбайт расположить множество ко-

пий MS DOS или других операционных систем и их программ, представ-

ляющих отдельные виртуальные машины, работающие в мультизадачном режиме. Вход и выход в режим V86 возможен посредством перезагрузки ре-

гистра флагов (бит 17), либо при переключении с задачи на задачу с привле-

чением сегмента состояния задачи (TSS), либо в процедуре прерывания (ко-

манда IRET), либо при использовании команды POPF.

Теперь кратко опишем следующий режим работы процессора –

Page Protected Mode – режим страничной адресации. Это альтернативный режим управления памятью, позволяющий разделить крупные массивы ин-

формации на более компактные блоки размером по 4 Кбайт. Аппаратно для реализации режима в CPU I386 дополнительно включается страничный ме-

ханизм, транслирующий линейный адрес в физический. Переход из RM в Page М программный: командами LMSW, SMSW, MOV CR0, MOV CR3. Об-

ратный переход осуществляется либо перезагрузкой, либо программным пу-

тем (манипуляция 31-м битом регистра CR0).

Неофициальный режим Big Real Mode, или Unreal Mode, который поддерживают все 32-разрядные (и не только) процессоры, позволяет адресо-

вать ко всему 4 GB пространству памяти. В этом режиме инструкции испол-

няются так же, как и в реальном режиме, но с помощью дополнительных сегментарных регистров FS и GS программы получают доступ к данным во всей физической памяти.

Unreal mode – режим работы процессора 80386, который активно ис-

пользовался в некоторых приложениях MS-DOS в начале 1990-х гг., в том числе в некоторых играх, которые отчасти актуальны по сей день. Возник как недокументированная возможность (возможно, просто баг) процессора.

26

System Management Mode (SMM) – особый режим системного управ-

ления

В этом режиме процессор выходит в иное, изолированное от остальных режимов пространство памяти. Этот режим используется в служебных и от-

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

щим аппаратным средствам (эмуляция клавиатуры и мыши PS/2 для USB).

Режим системного управления предназначен для выполнения некото-

рых действий с возможностью их полной изоляции от прикладного про-

граммного обеспечения и даже операционной системы. Переход в этот ре-

жим возможен только аппаратно. Когда процессор находится в режиме SMM,

он выставляет сигнал SMIACT#. Этот сигнал может служить для включения выделенной области физической памяти (System Management RAM), так что память SMRAM можно сделать доступной только для этого режима. При входе в режим SMM процессор сохраняет свой контекст в SMRAM (контекст сопроцессора не сохраняется) по адресу SMM Base и передает управление процедуре, называемой обработчиком System Management Interrupt, по адресу

SMM Base+8000h (по умолчанию SMM Base содержит значение 30000h). Со-

стояние процессора в этот момент точно определено: EFLAGS обнулен (кро-

ме зарезервированных битов), сегментные регистры содержат селектор 0000,

базы сегментов установлены в 00000000, пределы – 0FFFFFFFFh.

Следует отметить, что в режиме SMM не предусмотрена работа с пре-

рываниями и особыми случаями: прерывания по IRQ и SMI# замаскированы,

пошаговые ловушки и точки останова отключены, обработка прерывания по

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

IDT и разрешить прерывания, выставив флаг IF в регистре EFLAGS. Преры-

вания по NMI будут разблокированы автоматически после первой же коман-

ды IRET.

27

При возврате из SMM (по инструкции RSM) процессор восстанавливает свой контекст из SMRAM. Обработчик может программно внести изменения в образ контекста процессора, тогда процессор перейдет не в то состояние, в

котором произошло SMI. Если SMI было получено во время выполнения ин-

струкции HLT, то дальнейшие действия при выходе из SMM определяются значением поля "Auto HALT Restart": процессор может снова вернуться к ин-

струкции останова или перейти к выполнению следующей команды. Если

SMI произошло при выполнении инструкции ввода-вывода, то в зависимости от значения поля "I/O Instruction Restart" возможен рестарт инструкции ввода вывода.

Эти особенности режима системного управления позволяют использо-

вать его для реализации системы управления энергосбережением компьютера или функций безопасности и контроля доступа.

Рассмотрев все режимы работы процессора, перейдем к рассмотре-

нию графов переходов между этими режимами (рис. 7).

Рис. 7. Графы переходов между режимами работы процессора

После инициализации процессор находится в реальном режиме. Процес-

сор может быть переведен в защищенный режим установкой бита 0 (Protect Enable) в регистре CR0:

MOV

MOV

28

EAX,00000001h

или AX,0001h

MOV CR0,EAX

LMSW AX

Второй вариант «достался в наследство» от 16-разрядной архитектуры

80286, для совместимости с которой ее регистр MSW (Machine Status Word)

отображается на младшее слово регистра CR0.

Вернуться в режим реального адреса процессор может по сигналу

RESET, или сбросив бит PE:

MOV EAX,00000000h

MOV CR0,EAX

Режим системного управления изолирован от других режимов. Процес-

сор переходит в этот режим только аппаратно: по низкому уровню на контак-

те SMI# или по команде с шины APIC. Никакой программный способ не пре-

дусмотрен для перехода в этот режим. Процессор возвращается из режима системного управления в тот режим, при работе в котором был получен сиг-

нал SMI#. Возврат происходит по команде RSM. Эта команда работает толь-

ко в режиме системного управления и в других режимах не распознается, ге-

нерируя исключение #6 (недействительный код операции).

Для процессоров х86-64 вышеперечисленные режимы объединены поня-

тием legacy mode; кроме того, появился новый режим long mode с двумя под-

режимами:

64-битный режим (64-bit mode) –режим полной поддержки 64-

битной виртуальной адресации и 64-битных расширений регист-

ров. В этом режиме используется только плоская модель памяти

(общий сегмент для кода, данных и стека). По умолчанию разряд-

ность адреса составляет 64 бита, а операндов (для большинства инструкций) – 32 бита, однако префиксом (REX) можно заказать

64-битные операнды. Имеется новый способ адресации данных – относительно указателя инструкций. Режим предназначен для ис-

пользования 64-битными ОС при запуске 64-битных приложений –

29

он включается операционной системой для сегмента кода кон-

кретной задачи;

режим совместимости (compatibility mode) позволяет 64-битным ОС работать с 32- и 16-битными приложениями. Для приложений процессор выглядит как обычный 32-битный со всеми атрибутами защищенного режима, сегментацией и страничной трансляцией.

64-битные свойства используются только операционной системой,

что отражается в процедурах трансляции адресов, обработки ис-

ключений и прерываний. Режим включается операционной систе-

мой для сегмента кода конкретной задачи.

Вместо резюме по данной теме можно сказать следующее:

Современные представители семейства х86 являются 32-битными про-

цессорами; в новых моделях появилось 64-битное расширение. История 32-

битных процессоров Intel (архитектуры IA-32) началась с процессора 80386.

Он вобрал в себя все черты своих 16-битных предшественников 8086/88 и 80286 для обеспечения совместимости с громадным объемом программного обеспечения (ПО), существовавшего на момент его появления. Существуют понятия разрядности адреса и разрядности данных. Разрядность адреса оп-

ределяет, сколько битов (16, 32 или 64) используется в регистрах, форми-

рующих адрес данных или инструкций, расположенных в памя-

ти. Разрядность данных определяет, сколько битов используется в инструк-

циях, оперирующих словами. Каждому режиму работы процессоров соответ-

ствует своя разрядность, применяемая по умолчанию. При необходимости для каждой исполняемой инструкции разрядность адреса или/и операнда мо-

жет изменяться с помощью специальных префиксов (байтов перед кодом ин-

струкции).

32-битные регистры процессоров позволяют непосредственно адресо-

вать до 4 Гбайт памяти, что во времена появления процессора 80386 можно было считать «почти бесконечностью». Встроенный блок управления памя-

30