Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МПСслайды / МПС-15-18 / Микропроцессоры семейства х86 фирм Intel и AMD.ppt
Скачиваний:
62
Добавлен:
23.02.2015
Размер:
2 Mб
Скачать

Регистры управления CR1,CR2, CR3

• Регистр CR1 в процессорах Р6 и более ранних моделях не используется (резерв).

CR2 — содержит 32-разрядный базовый адрес страницы, при обращении к которой зафиксирована ошибка при страничной адресации;

CR3 — содержит базовый адрес таблицы каталога страниц

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

PCD=1 запрещает загрузку содержимого страницы в кэш-память; при значении PCD=0 такая загрузка разрешена;

PWT=1 реализуется режим сквозной записи (write-through), при установке PWT=0 реализуется режим обратной записи (write-back).

Следует отметить, что биты PCD, PWT влияют на работу кэш- памяти только при страничной адресации (когда в регистре CR0 установлены значения PE=PG=1). В этом случае они определяют режим работы как внутренней кэш-памяти (L1), так и внешней — 2- го уровня (L2).

Регистр CR4

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

VME=1 разрешает реализацию виртуальных прерываний в режиме виртуального 8086;

PVI=1 разрешает реализацию виртуальных прерываний в защищенном режиме;

TSD=1 разрешает выполнение команды RDTSC (чтение содержимого таймера реального времени) только программам с максимальным уровнем приоритета 0, при TSD=0 эта команда может выполняться программой с любым уровнем приоритета;

DE=1 –вызывает исключение #UD в случае обращения к

регистрам отладки DR4,DR5, которые отсутствуют в процессорах Pentium, P6; при DE=0 при обращении к эти регистрам реализуется обращение к регистрам DR6, DR7;

PSE=1 расширяет размер адресуемых страниц до 4 Мбайт, при значении PSE=0 сохраняется размер страниц 4 кбайт;

 

Регистр CR4

Бит РАЕ=1 обеспечивает расширение разрядности

 

физического адреса до 36 бит;

МСЕ=1 разрешает реализацию исключения машинного контроля

 

#МС;

PGE=1 определять глобальные страницы (часто

 

используемые или используемые несколькими процессорами путем

 

установки бита глобальности G=1 в указателе страницы или

 

раздела; при очистке буфера страничной трансляции TLB командой

 

MOV CR3 адреса глобальных страниц сохраняются;

РСЕ =1 разрешает выполнение команды RDPMC (чтение

 

содержимого счетчиков, характеризующих эффективность работы

 

процессора), программой с любым уровнем привилегий; при значении

 

РСЕ=0 эта команда может выполняться только программой с

 

максимальным уровнем привилегий 0).

OSFXCR=1 — разрешает выполнение команд FXSAVE/FXRSTOR,

 

используемых для сохранения/восстановления состояния регистров блоков

 

Микропроцессорные системы. Лекция 16. Регистровые структуры МП IA-32

 

FPU), MMX, SSE при переключении задач.

Регистры системных адресов GDTR, IDTR, LDTR. TR

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

В защищенном режиме адресное пространство делится на: глобальное – общее для всех задач и локальное – отдельное для каждой задачи.

GDTR — регистр таблицы глобальных дескрипторов (GDT),

IDTR — регистр таблицы дескрипторов прерываний (IDT),

LDTR — регистр таблицы локальных дескрипторов (LDT),

TR — регистр сегмента состояния задачи (ТSS).

Микропроцессорные системы. Лекция 16. Регистровые структуры МП IA-32

Регистры отладки DR0-DR7

Предназначены для аппаратной отладки.

Регистры DR0-DR3 служат для задания линейных адресов четырех точек прерываний.

Адрес, формируемый текущей программой, сравнивается с адресами в DR0-DR3 и при совпадении генерируется исключение с номером 1.

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

DR7 называется регистром управления отладкой. В нем для каждого из DR0-DR3 имеются поля, управляющие условиями генерирования

прерываний

Микропроцессорные системы. Лекция 16. Регистровые структуры МП IA-32

Внутренняя кэш-память

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

В процессе работы отдельные блоки информации копируются из основной памяти (ОЗУ) в кэш-память.

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

Если необходимая информация в кэш-памяти отсутствует, то она выбирается из основной памяти и одновременно заносится в кэш-память. Такой случай называют кэш- промахом.

Микропроцессорные системы. Лекция 16. Регистровые структуры МП IA-32

Кэш-память L1.

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

В процессорах Р6 используется отдельная внутренняя кэш- память для команд и данных объем по16 кбайт.

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

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

Кэш-память уровня L2

• Помимо внутренней кэш-памяти (уровень L1) в системах, реализуемых на базе процессоров Р6 используется общая кэш-

память команд и данных (уровень L2), которая

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

Для обращения к кэш-памяти L2 служит отдельная шина, которая работает с тактовой частотой МП.

Емкость кэш-памяти уровня L2 для различных моделей

процессоров Р6 составляет 256 кбайт, 512 кбайт или 1 Мбайт.

Структура кеш-памяти

31

 

 

12 11

5 4

 

 

 

 

Адрес

 

В МП Р6 кеш-память

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ассоциативного типа состоит

 

 

TAG

 

 

SET

 

BYTE

 

 

 

 

 

 

 

 

 

из строк длиной по 32 байт.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

19

0 255

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

tag0

 

L0

 

 

 

 

 

 

 

 

 

 

В кеш-памяти команд строки

 

 

 

 

tag1

 

L1

 

 

 

 

 

 

 

S0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

объединены в 128 наборов

 

 

 

 

tag2

 

L2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

tag3

 

L3

 

 

 

 

 

 

 

 

 

 

 

S0-S127 по 4 строки в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

tag0

 

 

L0

 

 

 

 

 

 

 

 

 

 

 

каждом (L0,L1,L2,L3).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

tag1

 

 

L1

 

 

 

 

 

 

S2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

tag2

 

 

L2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

tag3

B31

L3

B1

B0

 

 

 

 

 

 

 

В кеш-памяти данных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

содержится 256 наборов S0-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

tag0

 

L0

 

 

 

 

 

 

 

S127

S255 по две строки (L0-L1).

 

 

 

 

tag1

 

L1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

tag2

 

L2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

tag3

 

L3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Микропроцессорные системы. Лекция 16. Регистровые структуры МП IA-32

Адресация кэш-памяти

осуществляется с помощью 32 разрядов адреса, которые делятся на три поля: TAG, SET, BYTE.

Поле SET определяет номер выбираемого набора.

Поле TAG сравнивается с содержимым полей тегов (tag0-tag3) в строках выбранного набора. При совпадении с содержимым тега фиксируется кэш- попадание и производится выборка из этой строки операнда, адресуемого полем BYTE.

Если совпадение не обнаружено, то фиксируется кэш-промах. В этом случае из основной памяти выбирается строка (32 байт), адресуемая разрядами А31-5 адреса, которая размещается в одной из строк набора, определяемого полем SET.

Старшие разряды адреса А31-12 заносятся в поле tag и становятся атрибутом данной строки.