Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции 437стр.doc
Скачиваний:
45
Добавлен:
15.06.2014
Размер:
9.54 Mб
Скачать

Pipelined Datapath

IhstructionF et ch

In stru cti on D e со de/

Execute/

MemoryAccess WriteBack

Regi sterF etch A cldre s s С al cul ation

Printed with FinePrint- purchase atwww.fineprint.com

йд 28

Handling Data Hazards in Hardware

Stallthepipeline

СП 02 CO 03 (15 O35CC7OC8

sub #,$1,$3

M

Ш

and$12, $2 ,$5

M

ш

Reg

or$13,$6,

M

IM

add$14,

\ nT

Ы J'Reg ^> ]

IM

Reducing Data Hazards Through

Forwarding

ас!с1$2,$3,$4

ы

IM

or

$5,$3,$2

M

IM

YXJMEM

Vi/e could avoid stalling if we could get the ALU output from "add " to ALU input fDrthe llcr"

Printed with FinePrint- purchase atwww.fineprint.com

йд 30

Структурная и функциональная организация 334 (Computer Organization and Design )

БГУИР кафедра

доцент Самаль Дмитрий Иванович

т.284 -21 -61, dmitry_samal@mail.ru ,

а.502 -5

Лекция 20 «Конвейеризация вычислений -П »

2007

План лекции

1. Устранение конфликтов го данным

2 Зависимости и риски го управлению

3. Сокращение издержек на переход

4. Решение проблемы условного перехода5 Прогнозирование перехода

Printed with FinePrint- purchase atwww.fineprint.com

Cmid 2

Data Hazards

Риск го данным ("datahazard ") - если результат требуется до

того как сн получен .

CCl ОС2 ОСЗ ОС4

СС5

СС6

ОС7

ССВ

Ё1,$3

sdb $2,

and$12, $2 ,:

ог$13,

add$14 $2, $2

Здесь уме риска нет

Конфлжш ! Значения ь регистре cue к обновлено .

$i5|ioo(je) ime: I

8

^ 3

Устранение риска пэ данным

Введение «прозрачного » набора регистров :

Использование защёлок (latches ) вместо триггеров (flip -flops) в регистрах

  • Первую половину цикла 5: регистр 2 загружается

  • Вторую половину цикла : новое значение считывается

СС1ОС2 OC3OG4OC5 СС6ОС7ОС8

$2,


В1,$3

and$ia 36,$5

ог$13,

add$i4

Printed with FinePrint- purchase atwww.fineprint.com

м> 4

Программный подход устранения риска го

данным

СС1

ОС2

ОСЗ

ОС5

ссе

ОС7

OCS

sdb

add$12,$2,$5

Вставка достаточного количества «in-ops » ( иги других команд, нз обращающихся к регистру 2) устраняет риск го дачным

Cmid 5

и прошв (Pros/Cons )

Нет дополнительной аппаратуры - проблема передаётся на откуп компилятору

В худшем случае требует «разбавления » кеда «водой »

Увеличение размера кода

Сложности с поддержкой совместимости

- Правила для отслеживания в командах риска изменяются при изменении конфигурации конвейера

Последний минус - самый главный «гвоздь в крышку гроба »

- Требование производителей полной смены программ при апгрейде системы очень не понравится покупателям .

й б

Printed with FinePrint- purchase atwww.fineprint.com

Пузырёк - приостановка конвейера

PipelineStalls

СС1СС2 ССЗ (В ОЗ 005 СС7 003

sdb

Приостановка в случае реализации блока регистров на триггерах .

йй 7

Latches instead of flip -flops

sdb Ф,$1,$3 and$12 &,$5

СП 02 CO 03 OC5 OO5CC7OO3

Приостановка в случае реализации блока регистров на защёлках .

Сяайд

Printed with FinePrint- purchase atwww.fineprint.com

Флаг доступности данных . RegisterScoreboard - Tracking Operand Availability

•К каждому регистру из пупа регистров добавляется го 1 биту .

•Аппаратура сбрасывает фпаг для соотв . регистра , если в конвейере появляется команда , записывающая результат в регистр .

•Флаг устанавливается в 1, если команда завершилась и записала результат в соотв . регистр .

•Команды не допускаются к выполнению до тех гор , пока и< регистры - источники операндов не станут доступными

Valid

(Full/Empty) Bit

\

Register File

йй 9

Устранение риска го данным с помощью

Forwarding

add$2,$3,$4

or$5,$3,$2

Можно избежать остановки конвейера , ecn/i предусмотреть возможность передачи результата операции «add »с выхода /UU npswo на его вход для операции «сг»

ЕХММ


MEMWB

Cmid 10

Printed with FinePrint- purchase atwww.fineprint.com

Ускоренное продвижение информации

Data Forwarding

Forwarding устраняет риск го данным на стадиях :

  • Выполнения команды (EXhazard )

  • Записи /чтения в/из памяти (MEMhazard )

Использование «прозрачного » пула регистров позволяет бороться с риском го данным на третьей стадии -записи результата (WB)

- в случае , если гул регистров запрашивается наодновременное чтение и запись из одного регистрав сдои цикл , то «прозрачный » пул регистровпозволяет перенаправить записываемые данныепрямо на выход .

Cmid 11

Eliminating Data Hazards via Forwarding

sub #,$1,$3 and $6,$2,$5 ог$13,Ье,Ф addSli, $2, $2 w $15M00 ($t)

001

M

002

OC3

M

Ш -

Ы

005

Ш

M

005

ш

007

IM

003

IM

Printed with FinePrint- purchase atwww.fineprint.com

^ 12

Does Forwarding Eliminate All Data