
ЭВУ 2 семестр / Презентации ЭВУ в пдф / метода моховикова
.pdfщей запятой. При этом операнды, необходимые для выполнения микроопе-
раций, либо считываются из регистрового файла, либо передаются как ре-
зультат выполнения предыдущей микрооперации. После выполнения микро-
операций происходит формирование флагов и проверка корректности ре-
зультатов. В том случае, если результаты корректны, происходит отставка
(англ. 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