- •Последовательность адресов в пакетном цикле Pentium
- •Характеристики элементов кэша для процессоров Pentium
- •Доступность методов кэширования в процессорах
- •Типы памяти, определяемые регистром pat и регистрами mttr
- •Выбор элемента в pat, а также тип памяти, определяемый по аппаратному сбросу
- •Тип памяти страницы для процессоров использующих бит paTi
- •Вопросы для самопроверки.
Типы памяти, определяемые регистром pat и регистрами mttr
Мнемоника типа памяти |
Код |
Кэширование |
Спекул. чтение |
Порядок операций |
UC (UnCacheable) |
0 |
Нет |
Нет |
Строгий |
WC (Write Combining) |
1 |
Нет |
Да |
Слабо упорядоченный (Weak Ordering) |
Зарезервировано |
2,3 |
|
|
|
WT (Write Through) |
4 |
Да |
Да |
Спекулятивный (Speculative Processor Ordering) |
WP (Write Protected) |
5 |
Чтение-да, Запись-нет |
Да |
|
WB (Write Back) |
6 |
Да |
Да |
|
UC- (UnCacheable) |
7 |
Нет |
Нет |
Строгий |
Зарезервировано |
8-255 |
|
|
|
Регистры MTRR позволяют управлять статически определенными зонами физической памяти. Эта задача ложится, как правило, на BIOS компьютера. В процессорах Pentium III введен новый способ управления свойствами памяти на уровне страниц, который позволяет операционной системе и приложениям динамически выбирать оптимальные свойства каждой страницы памяти с точки зрения повышения производительности. Этот способ основан на таблице атрибутов страниц PAT (Page Attribute Table). Прежде на уровне страниц свойства памяти задавались битами PCD и PWT. Теперь в элементах, описывающих страницы, определен бит PATi (PAT index), прежде зарезервированный (бит 12 в PDE 2/4-МB и бит 7 в РТЕ 4КB, рис. 6.5). В процессор введен новый регистр MSR с именем IA32_CR_PAT, представляющий собой таблицу атрибутов страниц (рис. $.8).
63 |
59 |
58 |
56 |
55 |
51 |
50 |
48 |
49 |
43 |
42 |
40 |
39 |
35 |
34 |
32 |
Резерв |
РА7 |
Резерв |
РА6 |
Резерв |
РА5 |
Резерв |
РА4 |
||||||||
Резерв |
РА3 |
Резерв |
РА2 |
Резерв |
РА1 |
Резерв |
РА0 |
||||||||
31 |
27 |
26 |
24 |
23 |
19 |
18 |
16 |
15 |
11 |
10 |
8 |
7 |
3 |
2 |
0 |
Рис. $.8. Формат регистра IA32_CR_PAT
С помощью комбинации трех битов PATi, PCD, PWT для конкретной страницы выбирается соответствующий элемент РА0 ... РА7 см. таб. $.5.
Таблица $.5.
Выбор элемента в pat, а также тип памяти, определяемый по аппаратному сбросу
PATi |
PCD |
PWT |
Элемент PAT |
Тип после RESET |
0 |
0 |
0 |
PAT0 |
6(WB) |
0 |
0 |
1 |
PAT1 |
4(WT) |
0 |
1 |
0 |
PAT2 |
7(UC-) |
0 |
1 |
1 |
PAT3 |
0(UC) |
1 |
0 |
0 |
PAT4 |
6(WB) |
1 |
0 |
1 |
PAT5 |
4(WT) |
1 |
1 |
0 |
PAT6 |
7(UC-) |
1 |
1 |
1 |
PAT7 |
0(UC) |
В этом элементе хранится код типа памяти, назначенный этой комбинации данных бит. Типы памяти уже упоминались в табл. $.4. Результирующий тип памяти определяется таблицами $.6 и $.7. Для тех страниц, с которыми не связаны биты PATi, используются только первые четыре элемента PAT.
Таблица $.6
Результирующий тип памяти страницы, если бит PATi=0 или не используется
Тип памяти из MTTR |
Значения (PCD,PWT) |
|||
00 |
01 |
10 |
11 |
|
UC |
UC |
UC |
UC |
UC |
WC |
WC |
WC |
WC |
UC |
WT |
WT |
WT |
UC |
UC |
WP |
WP |
WP |
WC |
UC |
WB |
WB |
WT |
UC |
UC |
Таблица $.7
