
- •Глава 3. Процессоры
- ••ОУ состоят из ОЭ, которые могут работать одновременно
- •Программный код – последовательность закодированных команд,
- •• Работа проц. циклична
- •1- извлечение команд из памяти, 2- их декодирование
- •Исполняемая команда помещается в регистр команд
- •Адрес следующей команды хранится в регистре «указатель инструкций»
- •Адреса данных и сами данные хранятся в регистрах общего назначения
- •2 . Типы команд
- ••по типу операндов
- •3. «Одновременное» выполнение задач (программ)
- •ЦП по прерываниям от таймера периодически
- •Многопотоковый процессор имеет несколько
- •Ядро – часть процессора, выполняющая хотя бы 2 -4 этапы командного цикла
- •В иртуальная машина – это программная среда,
- •4. Пути повышения производительности
- •• Конвейеризация (pipelining)
- •Можно увеличить частоту
- •• Суперскалярность
- •• Предсказание переходов –
- •Предсказание
- •Если предсказание сбылось (98-99 % !), то ЦП не зря работал без «перерыва»
- •• Исполнение по предположению (speculative execution) – выполняются все этапы!
- •• В неочередное исполнение
- •• Переименование регистров
- •Н-р, схема работы одного из ядер Ph enom

Глава 3. Процессоры
§1 Принципы работы
1. Процессор – устройство для обработки информации
Управляющие |
Операционные |
||
Устройства |
Устройства |
||
кэши |
интерфейсы |
кэши |

•ОУ состоят из ОЭ, которые могут работать одновременно
•Команда (инструкция) – совокупность операций, н-р,
сложение векторов

Программный код – последовательность закодированных команд,
расположенных в целом числе смежных байт памяти
ђим–гѕ г0 шІ k D8ФZ7aыЦшrН)3>–ЦЉpОKпRутiщхєџ]nЎиЙ– эB™4n`©Я… О€чеЯ„M|^ ћ Щгњ"M»фт‰BјL ґЬj >©бp%Уєkn»»G Кu ‰І яюяСP|Nw И€u№=()Ы X;Х‡лNkуГ5'¤јCќ ::®ъјЁшцeОA,цгчБ j _Ќ± KъффЦъЧѓZXИч%''ќ лiВ bемхKa† -+G 2 fSїOП\lz[±JHЩсџж3m2 :›| љL ЪэЯёєP==Эќ °х¶Ц¶Ћ Г}Yс7И»j (`n(4ћ I єh SmsІ Tп‹uЛ0 ьБ;† nЌџяеЌЖ

• Работа проц. циклична
4
5
3 Командный цикл
2 1

1- извлечение команд из памяти, 2- их декодирование
3- извлечение данных,
4- выполнение,
5- запись результата Если СШ широкая, то 1+3
команды
данные

Исполняемая команда помещается в регистр команд
Декодирование команды – её
разбиение на (микро)операции – раздача заданий для ОЭ
0 0 |
MAR := PC |
0 1 |
MRd |
0 2 |
CR := MDR |
0 3 --> PC := PC+1 |
|
0 4 |
END_COMMAND |

Адрес следующей команды хранится в регистре «указатель инструкций»
(instruction pointer)
I P
EI P Как изменяется адрес:
•если текущая команда линейная, то прибавляется её длина (в байтах)
•если это команда перехода или вызова процедуры, то сама указывает новый
адрес

Адреса данных и сами данные хранятся в регистрах общего назначения
Н-р, в
архитектуре
x86
31 |
16 15 |
|
0 |
|
AH |
AX AL |
EAX |
|
BH |
BX BL |
EBX |
|
CH |
CX CL |
ECX |
|
DH |
DX DL |
EDX |
|
|
SI |
ESI |
|
|
DI |
EDI |
|
|
BP |
EBP |
|
|
SP |
ESP |

2 . Типы команд
•по типу ячеек (R-reg., M-mem.)
-R1,R2 ->R3
-M1,M2 ->M3
-R1->M1
-… … … … … … …
•по их количеству
-простые
-сложные: несколько R и M

•по типу операндов
-скалярные: число
-векторные: массив чисел
В екторные команды дают
экономию на 1,2 шагах цикла