Процессоры Intel c архитектурой IA-32

Download Report

Transcript Процессоры Intel c архитектурой IA-32

ОБЩИЕ СВЕДЕНИЯ ОБ
АРХИТЕКТУРЕ ВС НА БАЗЕ
ПРОЦЕССОРОВ INTEL IA-32
ПРОЦЕССОРЫ INTEL C АРХИТЕКТУРОЙ
IA-32
i80386 (с моделями SX и DX)
 i80486 (с моделями SX и DX)
 Pentium
 Процессоры семейства P6





PentiumPro, PentiumPro MMX
Pentium II, Pentium II MMX (в т.ч. Celeron, Xeon)
Pentium III (в т.ч. Celeron, Xeon)
Процессоры семейства NetBurst

Pentium IV (в т.ч. Celeron, Xeon)
ОСНОВНЫЕ ХАРАКТЕРИСТИКИ ПРОЦЕССОРОВ
СЕМЕЙСТВ P6 И NETBURST
Характеристика
P6
NetBurst
Разрядность
процессора
32
32
Разрядность шины
данных
32
32
Разрядность шины
адреса
32
36
Адресуемое
адресное
пространство
4 Гбайт
64 Гбайт
Кэш L1
Кэш данных и кэш
команд по 8 Кбайт
Кеш-трасс 12 Кбайт
Кэш L2
До 1 Мбайт
До 4 Мбайт
ОСНОВНЫЕ ХАРАКТЕРИСТИКИ ПРОЦЕССОРОВ
СЕМЕЙСТВ P6 И NETBURST
Характеристика
P6
NetBurst
FPU
i80387 – внешний
FPU для i80386
Начиная с i80486 –
FPU встроенный
встроенный
Технологии MMX
Опционально до
Pentium III
да
Технологии SIMD
SSE (Pentium III)
SSE2
ТЕХНОЛОГИИ ПОВЫШЕНИЯ
ПРОИЗВОДИТЕЛЬНОСТИ ПРОЦЕССОРОВ
P6 И
NETBURST
Технология
P6
NetBurst
Конвейеризация
3-хходовая
суперскалярная
архитектура
12 ступеней
Гиперконвейерная
архитектура
20 ступеней
Предсказание
переходов
В каждый момент времени блок выборки
на основании определенного алгоритма
пытается предсказать вероятность выборки
и выполнения команды перехода и адрес,
на который будет осуществлен переход
Буфер меток – 512
байт
Вероятность
предсказания – 80%
Буфер меток – 4
Кбайта
Вероятность
предсказания – 95%
ТЕХНОЛОГИИ ПОВЫШЕНИЯ
ПРОИЗВОДИТЕЛЬНОСТИ ПРОЦЕССОРОВ
P6 И
NETBURST
Технология
P6
Динамический
анализ входного
потока
Динамически анализируется зависимость
команд, поступающих в процессор, и
разрешаются их взаимозависимости за
счет переименования регистров
Спекулятивное
выполнение
Процессор может выполнять участки кода
с условными переходами и циклами до
того, как переход будет реально выполнен.
К моменту реального выполнения
перехода процессор имеет исполненный
код
Быстрое исполнение -
NetBurst
Позволяет
выполнять 2
основные
команды с целыми
числами за 1 такт
АППАРАТНО-ПРОГРАММНАЯ МОДЕЛЬ
ПРОЦЕССОРОВ IA-32
Микроархитектура
 Режимы работы процессора
 Регистры процессора
 Организация оперативной памяти и программ
 Форматы представления данных
 Способы адресации данных
 Форматы машинных инструкций
 Набор машинных инструкций
 Система прерываний
 Организация ввода/вывода с использованием
внешних устройств

РЕЖИМЫ РАБОТЫ ПРОЦЕССОРОВ С
АРХИТЕКТУРОЙ IA-32
Режим
Основные характеристик
Режим реального адреса
(реальный режим, R-mode)
Доступны 16- и 32-хразрядные
РОН, сегментные регистры, ряд
системных регистров, регистры
FPU
Сегментная организация
памяти (16- и 32-х разрядная
адресация внутри сегмента)
Однозадачное выполнение
Нет защиты адресного
пространства
Режим защищенного адреса
(защищенный режим, P-mode)
Доступны все регистры
процессора и полный набор
команд.
Сегментная и страничная
организация памяти
Многозадачность
Защита адресного пространства
РЕЖИМЫ РАБОТЫ ПРОЦЕССОРОВ С
АРХИТЕКТУРОЙ IA-32
Режим
Основные характеристик
Режим виртуального
процессора i8086 (V-mode)
Реальный режим без
возможности использования 32х разрядных регистров и 32-х
разрядных сегментов
Запрещены некоторые команды
процессора
Режим супервизора (системный
ражим, S-mode)
Аналог защищенного режима
Не доступен для использования
программистом
РЕГИСТРЫ ПРОЦЕССОРА С
АРХИТЕКТУРОЙ IA-32












Регистры общего назначения
Сегментные регистры
Указатель инструкций
Регистр флагов
Регистры FPU
Регистры MMX
Регистры SSE/SSE2
Регистры управления памятью
Регистры управления процессором
Отладочные регистры
Регистры типов областей памяти
Машинно-зависимые регистры
РЕГИСТРЫ ОБЩЕГО НАЗНАЧЕНИЯ

Регистры группы наследования от i8008/i8080
EAX/AX/AH/AL
 EBX/BX/BH/BL
 ECX/CX/CH/CL
 EDX/DX/DH/DL

EAX
AX
AH
31
16 15
AL
8 7
0
РЕГИСТРЫ ОБЩЕГО НАЗНАЧЕНИЯ

Регистры группы наследования от i8086
ESI/SI
 EDI/DI
 ESP/SP
 EBP/BP

ESI
SI
31
16 15
0
СЕГМЕНТНЫЕ РЕГИСТРЫ
CS – сегмент кода
 DS – сегмент данных
 SS – сегмент стека
 ES – дополнительный сегмент данных
 FS – дополнительный сегментный регистр
 GS – дополнительный сегментный регистр

CS
15
0
УКАЗАТЕЛЬ ИНСТРУКЦИЙ EIP/IP

Хранит смещение инструкции, следующей за
исполняемой, в сегменте кода
EIP
IP
31
16 15
0
РЕГИСТР ФЛАГОВ EFLAGS/FLAGS

Хранит набор битов, отражающих текущее
состояние системы и условия, в которых
система функционирует
РЕГИСТРЫ FPU

Вычислительные регистры R0-R7
FST
R0
← ST(4) ST(5) ST(4)
R1
← ST(5) ST(6) ST(5)
R2
← ST(6) ST(7) ST(6)
R3
← ST(7) ST(0) ST(7)
Вершина регистрового стека
R4
← ST(0) ST(1) ST(0)
R5
← ST(1) ST(2) ST(1)
R6
← ST(2) ST(3) ST(2)
← ST(3) ST(4) ST(3)
79
0
FLD
РЕГИСТР СОСТОЯНИЯ FPU - SR
занятость
условный флаг
вершина
условные флаги
общий флаг ошибки
B
C3
15
14
TOP
13
12
11
C2
C1
C0
ES
SF PE UE OE ZE DE
IE
10
9
8
7
6
0
ошибка стека
неточный результат
антипереполнение
переполнение
деление на ноль
денормализованный результат
недопустимая операция
5
4
3
2
1
РЕГИСТР УПРАВЛЕНИЯ FPU - CR
управление бесконечностью
управление округлением
управление точностью
IC
15
14
13
12
RC
11
10
PC
9
8
маска неточного результата
маска антипереполнения
маска переполнения
маска деления на ноль
маска денормализованного результата
маска недействительной операции
7
6
PM
UM
OM
ZM
DM
5
4
3
2
1
IM
0
ДРУГИЕ УПРАВЛЯЮЩИЕ РЕГИСТРЫ FPU

Регистр тегов TW – содержит 8 пар битов,
отражающих состояния соответствующих
вычислительных регистров:
R7
15
14
R6
13
12
R5
11
10
R4
9
R3
8
7
R2
6
5
R1
4
3
R0
2
Регистр адреса последней команды FIP
 Регистр адреса операнда последней команды
FDP

1
0
РЕГИСТРЫ MMX
R0
MM0
R1
MM1
R2
MM2
R3
MM3
R4
MM4
R5
MM5
R6
MM6
MM7
79
64
63
0
РЕГИСТРЫ SSE/SSE2

Для процессоров Pentium III и Pentium IV
доступно 8 128-ми разрядных регистра
расширения SSE/SSE2 – XMM0-XMM7
РЕГИСТРЫ УПРАВЛЕНИЯ ПАМЯТЬЮ

Регистры таблиц дескрипторов
GDTR – регистр глобальной таблицы дескрипторов
 LDTR – регистр локальной таблицы дескрипторов
 IDTR – регистр таблицы дескрипторов прерываний

база таблицы
47

лимит
16 15
0
Регистр задачи TR
дескриптор сегмента статуса задачи
79
селектор
16
15
0
РЕГИСТРЫ УПРАВЛЕНИЯ ПРОЦЕССОРОМ
CR0 – флаги управления системой
 CR1 – зарезервирован
 CR2 – регистр адреса ошибки страницы
 CR3 (PDBR) – регистр основной таблицы
страниц
 CR7 – регистр управления новыми
возможностями процессоров (начиная с
процессора Pentium)

ДРУГИЕ РЕГИСТРЫ ПРОЦЕССОРА
Отладочные регистры DR0-DR7 –
используются системными отладчиками для
определения точек останова без модификации
программного кода
 Регистры типов областей памяти MTRR
используются для управления кэшем
 Машинно-зависимые регистры MSR
представляют набор регистров, которые
доступны исключительно в определенных
марках и даже сериях процессоров

ОРГАНИЗАЦИЯ ОПЕРАТИВНОЙ ПАМЯТИ
Организация программного стека
 Сегментная организация памяти
 Страничная организация памяти

ПРОГРАММНЫЙ СТЕК
Программный стек - специальная область
адресного пространства программы,
предназначенная для временного хранения
данных, управляемая по принципу FILO
SS
Младшие адреса
POP
PUSH

ESP/SP
Область стека
Старшие адреса
Оперативная память
СЕГМЕНТНАЯ ОРГАНИЗАЦИЯ ПАМЯТИ В
РЕАЛЬНОМ РЕЖИМЕ




Вся память делится на
сегменты
Адреса сегментов
хранятся в сегментных
регистрах, деленные на
16
Виртуальный адрес
ячейки представляет
собой комбинацию
сегмент:смещение
Физический адрес ячейки
вычисляется как
сегмент*16+смещение
Оперативная память
Младшие адреса
DS
смещение
Старшие адреса
СЕГМЕНТНАЯ ОРГАНИЗАЦИЯ ПАМЯТИ В
ЗАЩИЩЕННОМ РЕЖИМЕ




Используются 32-х
разрядные адреса
начал сегментов
(базы) и смещения
Для хранения баз
сегментов
используются
таблицы
дескрипторов
сегментов
Выбор дескриптора
осуществляется по
его номеру
(селектору)
хранящемуся в
сегментном
регистре
Линейный адрес
формируется как
база+смещение
GDTR
Оперативная память
Младшие адреса
GDT
DS
база
+
смещение
Старшие адреса
СТРАНИЧНАЯ ОРГАНИЗАЦИЯ ПАМЯТИ



Память делится
на страницы
размером по 4
Кбайта
Информация о
местоположении
страниц хранится
в наборе
системных таблиц
– каталоге
страниц и
таблицах страниц,
которые содержат
по 1024 записи
Виртуальный
адрес
формируется из
номера таблицы,
номера страницы
и смещения
ячейки внутри
страницы
Оперативная память
СR3
Младшие адреса
каталог
ДТ
ДТ
ДТ
N таблицы
таблица
ДС
ДС
ДС
N таблицы
31
таблица
ДС
ДС
ДС
N страницы
22
21
12 11
смещение
Старшие адреса
0
ОРГАНИЗАЦИЯ ПРОГРАММ

Программа состоит из одного или нескольких
сегментов в зависимости от модели памяти,
которая была выбрана при написании
программы
ФОРМАТЫ ДАННЫХ