Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

os2016-24-03-dist

.pdf
Скачиваний:
14
Добавлен:
21.03.2016
Размер:
5 Мб
Скачать
☆

Конвейер команд…

•Конвейерная обработка инструкций – это метод реализации CPU, при котором множество операции над несколькими инструкциями перекрываются.

•Конвейерная обработка инструкций использует программный параллелизм уровня инструкций (Instruction-Level Parallelism, ILP)

•Конвейеризация увеличивает пропускную способность CPU - среднее число инструкций, завершенных за такт.

•В идеальном случае происходит завершение одной инструкции за машинный такт

•Конвейеризация не сокращает время выполнения отдельной инструкции (также называемое временем задержки завершения инструкции).

•Минимальное время задержки завершения инструкции - n тактов, где n – число ступеней конвейера

•Конвейер, описанный здесь, называется упорядоченным (in-order) конвейером так как инструкции обрабатываются или исполняются в порядке, указанном в исходной программе

 

Архитектура Intel от i386 до Xeon Phi:

 

Нижний Новгород 2014

процессоры, производительность,

31 из 66

 

энергопотребление

 

Однопортовый конвейер MIPS с упорядоченной обработкой целочисленных операций

Число тактов до заполнения = время разгона = число ступеней -1

Номер такта

Номер инструкции

1

2

3

4

5

6

7

8

 

9 Время в тактах

Инструкция I

IF

ID

EX

MEM

WB

 

 

 

 

 

 

 

 

 

 

 

Первая инструкция, I

Инструкция I+1

 

IF

ID

EX

MEM

WB

 

 

 

 

завершена

Инструкция I+2

 

 

IF

ID

EX

MEM WB

 

 

 

 

 

 

 

 

 

 

Инструкция I+3

 

 

 

IF

ID

EX

MEM WB

 

 

Инструкция I +4

 

 

 

 

IF

ID

EX

MEM

WB

 

Время разгона = 4 такта

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Последняя инструкция,

Ступени конвейера MIPS:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I+4 завершена

IF

= Выборка инструкции (Instruction Fetch)

 

 

 

 

 

 

 

 

ID

= Декодирование инструкции (Instruction Decode)

EX

= Исполнение (Execution)

 

 

 

 

 

 

 

MEM

= Обращение к памяти (Memory Access)

 

 

 

 

WB

= Запись результата (Write Back)

 

 

 

 

 

 

Архитектура Intel от i386 до Xeon Phi:

Нижний Новгород 2014 процессоры, производительность, 32 из 66 энергопотребление

Intel 80286

•Intel 80286 (1982)

•Тактовая частота – 6 (12,5) МГц

•Производительность – 0,9 (2,66) MIPS

•Количество транзисторов – 134 000

•Площадь кристалла – 49 кв.мм

•Техпроцесс – 1,5 мкм

•0.21 Instructions Per Clock

•Конвейер команд (длина - 4)

•Защищенный режим

•Linear Memory Management Unit (MMU)

•Intel 80287 (1983)

•Математический сопроцессор

•Производительность – ~65 000 FLOPS

 

Архитектура Intel от i386 до Xeon Phi:

 

Нижний Новгород 2014

процессоры, производительность,

33 из 66

 

энергопотребление

 

Intel 80286

http://en.wikipedia.org/wiki/File:Intel_i80286_arch.svg

 

Архитектура Intel от i386 до Xeon Phi:

 

Нижний Новгород 2014

процессоры, производительность,

34 из 66

 

энергопотребление

 

Intel 80386

•Intel 80386DX (1985)

•Тактовая частота – 12 (33) МГц

•Производительность – 5 (11,4) MIPS

•Количество транзисторов – 275 000

•Площадь кристалла – 104 (39) кв.мм

•Техпроцесс – 1,5 (1) мкм

•Страничное преобразование

•Аппаратная отладка

•Встроенный математический сопроцессор 80387

•Производительность – ~300 000 FLOPS

 

Архитектура Intel от i386 до Xeon Phi:

 

Нижний Новгород 2014

процессоры, производительность,

35 из 66

 

энергопотребление

 

Intel 80386

http://en.wikipedia.org/wiki/File:80386DX_arch.png

 

Архитектура Intel от i386 до Xeon Phi:

 

Нижний Новгород 2014

процессоры, производительность,

36 из 66

 

энергопотребление

 

Конвейер команд: конфликты

•Структурные конфликты

•Возникают из-за недостатков аппаратных ресурсов когда доступное аппаратное обеспечение не в состоянии поддерживать все возможные комбинации инструкций

•Конфликты данных

•Возникают когда инструкция зависит от результата выполнения предыдущей инструкции так, что это проявляется при перекрытии инструкций в конвейере

•Конфликты управления

•Возникают при конвейеризации условных переходов и других инструкций, которые изменяют PC

 

Архитектура Intel от i386 до Xeon Phi:

 

Нижний Новгород 2014

процессоры, производительность,

37 из 66

 

энергопотребление

 

Единая разделяемая память для инструкций и данных

Процессор с блоком памяти,

вызывающим структурные

конфликты

В машине с единственным портом памяти будет возникать конфликт при любом обращении к памяти.

 

Архитектура Intel от i386 до Xeon Phi:

 

Нижний Новгород 2014

процессоры, производительность,

38 из 66

 

энергопотребление

 

Единая разделяемая память для данных и инструкций

Разрешение

структурного конфликта при помощи тактов простоя

Структурный конфликт приводит к необходимости вставки «пузырей» в конвейер.

 

Архитектура Intel от i386 до Xeon Phi:

 

Нижний Новгород 2014

процессоры, производительность,

39 из 66

 

энергопотребление

 

Многотактовый конвейер вещественных операций

Задержка = 6

 

Целочисленный блок (Задержка= 0 Период запуска = 1)

 

Конфликты:

Период запуска = 1

 

 

 

 

 

RAW, WAW

 

 

 

 

 

Конвейеризуемое

 

 

 

 

возможны

 

 

 

 

 

 

WAR

 

 

 

 

 

 

невозможен

 

 

 

 

 

 

Структурные:

 

 

 

Вещественное (FP)/целочисленное умножение

 

 

 

 

 

 

 

возможны

 

 

 

 

 

 

Управления:

 

 

 

 

 

 

 

 

 

 

 

 

возможны

 

 

 

 

 

 

 

 

 

 

 

 

 

EX

 

 

 

 

IF

 

ID

 

 

 

 

MEM

 

WB

 

 

FP сумматор

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задержка = 3

целочисленное деление

 

Период запуска = 1

 

Задержка = 24

 

Конвейеризуемое

Период запуска = 25

 

Неконвейеризуемое

Однопортовый конвейер MIPS с упорядоченной обработкой и поддержкой FP Супер-конвейерный CPU: Конвейерный CPU с конвейеризуемыми FP блоками

 

Архитектура Intel от i386 до Xeon Phi:

 

Нижний Новгород 2014

процессоры, производительность,

40 из 66

 

энергопотребление

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]