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

Hazards

CCl

OC2

OC3

0C5

cce

OC7

ocs

_ Ш — L Ее

1nj\—I

JB,1O($1)

and$12 JB, $5

;б, $2

add$14 je,

00


$15,

Ы

M

-

IM

\/

M

в.

IM

Зависимости

Зависимости го данным : одна команда зависит от другой так гак получает её результат в качестве операнда .

Зависимости го управлению (aka branchdependences У. одна команда определяет выполнятся другой команде игм нет.

■ Зависимости го управлению чрезвычайно важны в условных переходах .

add $5, $3, $2

- А

datadependences sub $6f $5r $2

\

beq $6, $7f somewherecontrol dependence +1

and $9, $3, $1

Printed with FinePrint- purchase atwww.fineprint.com

^ Б

^ И

Риски ю управлению (BranchHazards )

Зависимости го управлению могут «вылиться » в риски го управлению (ate control hazards ) команд , которые сложно корректно обработать на конвейере .

Два фактора :

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

  • издержки перехода дгя команд условного перехода -могут быть большими , чач 2 такта .

Cmid 15

When are branches resolved?

Instruct! onFetch

InstructionDe code

Execute/ A dd r es s С alculation

MemoryAccess

WriteBack

D,EX

МЕМ/Л1В

Instruction

m em ory

F/C

Read register^

Registers

Е с

register

Wife

Г

Branch target address is put in PC during Mem stage. Correct instruction is fetched during branch 's WB stage.

йд 16

Printed with FinePrint- purchase atwww.fineprint.com

Branch Hazards

СС1 0C2

0C3

0C5

ссе ост

ocs

Ы

M

Theseinstructions shouldn 't be executed!

beq J2,tl,here

add..

sub...

here: to ..

Reg

Ш

Finally,theright instruction

Cmid 17

1

Издержки

перехода

1. Выборке

з команды (ВК)

Z Декодирование команды (Д<) Издержки

- потер?

1 4 тактов .

3. Вычисление адресов операндов (ft) в ^y^ большего

4. Вьборка операндов (К>) количества 5. Исполнение команды (ИО

стадий

конвейера

6. Запись

результата (?) -оопьшие

потери

1

2

3

4

5

6

7

8

9

И

Е

В

и

Ксманда 1

к

д<

ЕА

BD

ИХ

3»

Ксманда 2

В<

А

BD

и<

Ксманда 3

в<

И<

3>

Ксманда 4

д<

Ксманда 5

к

Ксманда 6

Ксманда 7

к)

-ч ^

Ксманда Б

д<

во

их

Ксманда Ъ

В<

BD

и<

3>

C«Z№ 1O

Printed with FinePrint- purchase atwww.fineprint.com

Сокращение издержек

Сокращение издержек на выборку команды из точки перехода :

1. Вычисление исполнительного адреса перехода на ступени декодирования команды ;

2 Использование буфера адресов перехода ;

  1. Использование кш -памяти для хранения команд ,расположенных в точке перехода ;

  2. Использование буфера цикла .

1. При декодировании выясняется нэ только тип команды (переход или нет), нэ и способ адресации и ВЫЧИСЛЯЕТСЯ адрес точки перехода . Экономия одного такта при реализации перехода . Требует дополнительных сумматоров , которые и вычисляют исполнительный адрес точки перехода .

Cmid 19

Сокращение издержек

2 Использование буфера адресов перехода ;

Б/фер адресов перехода (ВТВ, Branch Target Buffer) - кш-память

небольшой ёмкости , в которой хранятся исполнительные адреса

точек перехода нескольких последних команд , для которых

переход имел место бьггь . В качестве тэгов - адреса

соответствующих команд .

Перед выборкой команды - счётчик команд сравнивается с

содержимым кш . Если в ней есть подобный адрес - то можно нэ

вычислять исполнительный адрес команды перехода , а брать из

кш . Экономия одного такта .

Если в кш нет требуемого адреса , то - исполнение команды

обычным образом . Если это оказалась команда перехода -

занесение её и адреса точки перехода в кш (принцип замещения

LRU).

Метод ВТВ хорош для циклов . Обычно используется в составе

более сложных схем го устранению конфликтов го управлению .

Cmid 2)

Printed with FinePrint- purchase atwww.fineprint.com

Сокращение издержек

3. Использование кш -памяти для хранения команд , расположенных в точке перехода ;

-память команд , расположенных в точке перехода (ВТ1С, Branch Target Instruction Cache) -усовершенствованный вариант ВТБ . Память помимо исполнительного адреса перехода содержит ацё и иэд команды на которую совершается переход . К экономии одного цикла как в ВТБ прибавляется экономия одного цикла на выборку команды из памяти . Максимальный эффект - при реализации программных циклов .

Cmid 21

Сокращение издержек

4. Использование буфера цикла .

Б/фер цикла - маленькая быстродействующая память , входит в состав первой ступени конвейера (В<) В буфере хранятся кеды п последних команд в той последовательности , в которой они выбирались . Если имеет место переход , то сперва проверяется нет лл нужной команды в буфере , и если да - то команда извлекается из буфера .

Наиболее эффективен гри реализации циклов и итераций . Если буфер достаточно велик , чтобы вместить всё тело цикла , то выборка команд - только в первый раз, остальные обращения -только к буферу .

По принципу - буфер похож на ВПС , нэ хранит ацё и последовательность команд , меньше го ёмкости и дешевле .

Cmid 22

Printed with FinePrint- purchase atwww.fineprint.com

Решение проблемы условного перехода

1. Буферы пред выборки .

2 Множественные потоки

  1. Задержанный переход

  2. Предсказание перехода

1. Нарушение размерности подачи команд на вход конвейера -память занята , либо команда состоит из нескольких слов . Для обеспечения ритмичности псдачи - вводят б\фер пред выборки (RFO) между ступенью ЕК и остальным конвейером . Буфер можно рассматривать как дополнительные ступени конвейера . Удлинение конвейера нэ сказывается на его производительности , увеличивается лишь время прохождения команды го конвейеру . Типичный буфер - на 2-8 команд . Для решения проблемы условных переходов в конвейер включаются два таких буфера .

Cmid 23

Решение проблемы условного перехода

1. Буферы пред выборки .

Основной буфф

Остальной конвейер

Блок перехода

Дл . буфф

Каждая извлечённая из памяти и помещённая в основной б\фер команда анализируется блоком перехода . При обнаружении условного перехода , блок вычисляет исполнительный адрес точки перехода и параллельно с продолжением работы основного буфера загружает команды начиная с точки перехода в дополнительный буфер . Если происходит переход , то основной буфер сбрасывает^ и подключается дополнительный .

Printed with FinePrint- purchase atwww.fineprint.com

Решение проблемы условного перехода

Минусы буферов предвыборки :

  • дублирование оборудования ;

  • если команды У1 близко расположены в коде , то двух буферов будетнедостаточно .

Продолжение конвейера

Остаток конвейера

Продолжение конвейера

2 Множественные потоки - дублирование начальных ступеней конвейера

и создание тачич образом двух параллельных потоков команд .

В одной ветви - последовательность выполнения команд в случае

неосуществления перехода , вэ втором - в случае осуществления .

Оба потока сходятся в точке , где итог проверки условия будет очевиден^

Решение проблемы условного перехода

Дальнейшее продвижение го конвейеру - только «правильный » поток .

Продолжение конвейера

Остаток конвейера

Продолжение конвейера

Основной минус - проблемы гри близко расположенных в коде У1 . Очередной У1 поступает на ЕК до момента , принятия окончательного решения го текущей команде перехода . Каждая подобная команда в итоге будет требовать отдельного потока . „ ^ „

Printed with FinePrint- purchase atwww.fineprint.com

Решение проблемы условного перехода

3. Задержанный переход

Продолжение выполнения команд следующих за командной У1 ,

вне зависимости от её исхода .

Смысл имеется только в тек случаях , когда «доведённые до конца »

команды являются «полезными », т. е. вычисляемыми в любом

случае , вне зависимости а результата выполнения команды

перехода .

Реализация стратегии - с помощью компилятора и оптимизатора .

Компилятор после каждой команды перехода вставляет NCP

нужное количество раз , а оптимизатор - «перемешивает » команды

таким образом , чтобы как можно больше NCP были (ъ1 заменены

«полезными командами ».

В оптимизированной программе удаётся заменить более Ж NOP.

Cmid 27

Предсказание переходов

Предсказание переходов - один и наиболее эффективных способов борьбы с конфликтами го управлению .


ц


Основная идея -до момента выполнения команды У1 делается предположение о наиболее вероятном исходе (произойдёт или нет переход ) Последующие команды поступают на конвейер в соотв . с предсказанием .

12


и

Если дги кем .3 предсказан переход , т> за загружается команда 15. Ес/м предсказание корректно - X» воё хорошо . Иначе очистка конвейера - те же издержки кж и обьччо .


Кснанда 1

Кснанда 2

Кснанда 3

Кснанда 4

*№+

•ДО


Кснанда 5

*№*


Кснанда 6

*ш*


Кснанда 7

*до


Кснанда Б

*т*

Цена ошибки - достаточно высокая , нэ и эффект от выигрыша - конвейер работает практически без остановок .

Printed with FinePrint- purchase atwww.fineprint.com

Предсказание переходов

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

Чтобы снижение производительности конвейера из-за конфликтов го управлению не превысило 10%, точность предсказания переходов должна быть he менее 97,7%.

_ более двух десятков способов предсказания переходов . /£е ^ разновидности - статический и динамический .

Статический - основан на априорной информации сб исполняемой

программе . Предсказание совершается на этапе компиляции и уже

нэ меняется . Исходная информация - из анализа кода игм в

результате профилирования программы .

Стратегии :

-переход происходит всегда (ГВ)

-переход нэ происходит никогда (ГН )

-предсказание го результатам профилирования

-предсказание определяется кодом операции команды перехода

Cmid 29


-предсказание зависит от направления перехода

-при первом выполнении программы - переход всегда .

Статическое предсказание переходов

Переход происходит всегда (ГВ) - каждая команда У1 всегда

завершается переходом . Переход нэ происходит никогда (ГН ) - ж одна из команд никогда

нэ завершается переходом , поэтому выборка команд - в

естественной последовательности .

ADVAN - решение системы .уров . в частных производных

GIBSON - искусственный набор команд - смесь Гибсона №5

SCT2 - обращение матрицы

SINCOS - преобразование массива координат из полярн . в декарт .

SORT5T - сортировка массива из 10000 целых чисел

TBLJ.NK - работа аэ связным списком .

ACVAN —

GBSON —SCT2

SINCOS —SORTST

TBLJNK —-

— 57/1% 61,5%

99,4%

- 96,2%

> Эффективность ГБ

Cmid 3}

Printed with FinePrint- purchase atwww.fineprint.com

Статическое предсказание переходов

Переход происходит всегда (ГВ ) - средняя эффективность : 68 -Ж

(зависит от задачи исполняемой программы )

Стратегия реализована в MIPS -X, SuperSPARC , i486. Просто и дёшево Переход нз происходит никогда (ПН ) - процент правильных исходов

ниже , особенно в программах с большим юл -всм циклов . Реализована в M68Q20 и ГС 88000( VAX11/ 780).

ГВ (цвл .) ГВ (ГВ)

ПН (цвл ■) ПН(ГВ)

************************Гр 0/_

55%

4У/о Сравнение

эффективности стратегий ГБ и ПН

Cmid 31

AssumeBranch NotTaken

works pretty well when you 'reright

CC1 OC2 CC3CaCC5 CC6OC7CC8

$4,$0,there

ind$12;$2;$5

dd...

Printed with FinePrint - purchase atwww.fineprint.com

Cmid 32

AssumeBranch NotTaken

same performance as stalling when you 'rewrong

CC1OC2 CC3CaCC5 CC6OC7CC8

$4,$0,there

ind$12;$2;$5

idd...

there:4ib$12,$4;$2

CwOd 33

Статическое предсказание переходов

Предсказание гр результатам профилирования подлежащих

выполнению программ - выполнение программы на некотором исходном наборе данных и сбор информации о результатах каждого перехода . Тем командам , которые чаще завершались переходом - стратегия ГВ , остальным - ГН .

Основная проблема - зависимость профилирования от исходных данных .

Средняя вероятность правильного предсказания - 75%( тестовый пакет SPEC_92). Реализована на MIPS4xOO и PowerPC603.

Предсказание на основе кода операции команды перехода - для одних команд - переход произойдёт , а для других - нэ случится (вне зависимости от исходных данных !). Определяется эмпирически - на основе большого количества тестов . Так, например , стратегия ГВ - для команд перехода го условиям «меньше н^1я », «равно » и «больше игм равно », для всех остальных - ГН . Средняя эффективность подхода - от Ъ да 86,7%.

Printed with FinePrint- purchase atwww.fineprint.com

Статическое предсказание переходов

ADVAN 99/1%

QBSON 93,5%

SO2 97,5%

SINCOS 65,7% (Щ2% ) Эффективность

SORT5T S2 ,5% стратегии «пфеход

TBUNK 76,2 % в эеб . от

кеда операции »

Переход в зависимости от направления - если переход «назад » (го

счётчику команд ), то стратегия - ГВ, если вперёд - то ГН .

Особенно полезна для программ с большим количеством циклов Для переходов «назад » - фактический переход в среднем в 8Р/о

случаев , для переходов «вперёд » - в среднем в 65%. Реализована на MicroSPARC -2 и FA -7x00. Чаще данная стратегия -

вторичная в схемах динамического предсказания переходов .

Cmid

Статическое предсказание переходов

Переход при первом выполнении любой команды У1 - стратегия ГВ, предсказания на последующие переходы - в зависимости СП-точности первоначального предсказания . Точность данной стратегии - наивысшая среди всех статических .

На больших объёмах кода - стратегия практически нереализуем а -слишком много команд У1 для запоминания .

GBSON 97,9%

SO2 96,0%

SINCQ5 7^2% (Щ2% )

SORT5T 81,7%

TBLJNK 91,7 %

Эффективность стратегии «грл первом выполнении переход происходит обязательно »

к> Ъ

Printed with FinePrint- purchase atwww.fineprint.com

Динамическое предсказание переходов

Динамическое предсказание - предполагает накопление информации сб исходе предшествующих команд У1 . История переходов - в виде таблицы , каждый элемент - m бит. Нужный элемент таблицы указывается с помощью к-разрядной двоичной комбинации - шаблона (pattern). Отсюда название - таблица истории для шаблонов (РНТ, Pattern History Table).

Динамические схемы предсказания - один из видов автомата Мура , содержимое элементов РНГ - информация о текущем состоянии автомата . Три основных вида - Al, A2 и A3.

Cmid 37

Динамическое предсказание переходов

Переход \ произошёл \

Предсказать , что \ переход судет>-

Перехода не было

А1

Предсказать , что перехода нэ будет

О

Переход произошёл

Перехода не было

А1-два состояния , элемент РНГ -один бит (111=1), содержащий исход последнего выполнения команды У1 .

Если команда завершилась переходом , то в соотв . элемент FHT заносится 1, иначе - 0. Очередное предсказание совпадает с итогом предыдущего выполнения команды . После обработки очередной команды - содержимое элемента корректируется .

Printed with FinePrint- purchase atwww.fineprint.com

Cmid 33

Динамическое предсказание переходов

^-'"Предсказать , чю пфеход будет

Пфехода ье было

Пфеход произошёл

.*' Пфеход произошёл

произошел

■н

/ Переход \ ' произошёл Л

Перехода 1-е Еыло

А2

£

00

А2 - пример из четырёх состояний , элемент FHT -два бита (т=2), содержащий исход последнего выполнения команды У1 .

В А2 элементы РНГ отражают результаты двук последних исходов команд У1 (заполняются го схеме регистра сдвига

Сши>

Динамическое предсказание переходов

/ Пфеход \ ' произошёл л


Пфехода 1-е было


^-^Предсказать , чю пфеход будет


1редсказать , чю гереход будет


А2

Пфеход произошёл

■н

00

---^--j^erJfflKjflai-eDy^ex--^

Пфеход ^ Пфехода I

произошёл ч ^^ /

Двухразрядный А2 используется редко - чещё\ трёхразрядный (НРРА8000 ).

После обработки очередной команды содержимое элемента РНГ сдвигается влево на один разряд , а в освободившуюся ячейку заносится 1 если переход был , или 0 - если нэ было .

Если в элементе РНГ есть хоть одна 1, то делается предсказание , что переход будет , в ином случае - перехода нэ будет .

Printed with FinePrint- purchase atwww.fineprint.com

Динамическое предсказание переходов

1редсказать , чю "^ ехода ье бу

QL


1редск.аватъ , чю переход будет


/ Переход \ ' произошёл ч

Переход произошёл

Перехода ье Еыло

Пфеход произошёл

Перехода ье Еыло

Пфеход произошёл

1 Предсказать , чю гкреход будет

редскавать , чю


Пфехода ье было

ч Перехода \ ье было

A3

11

00

Предсказание - старший разряд"хчетчика ■

Элементы FHT в автомате A3 - реверсивные счётчики , работающие в режиме с насыщением .

Команда У1 на конвейер - обращение к соотв . элементу РНГ - если команда завершилась переходом +1, если нет -1. При насыщении переход за верхнюю 11 игм нижнюю 00 границу нэ возможен gw& 41

Динамическое предсказание переходов

Ожидания , что при увеличении т точность предсказания будет возрастать , на практике не подтверждаются . 1~|и 1Т> 3 точность предсказания начинает снижаться .

Различия в точности при т=2 и т=3 незначительные (десятичные процента ) -> в большинстве процессоров используются двухразрядные счётчики .

Логика предсказания для гл=2 - алгоритм Смита (A3).

Четыре состояния :

00 - перехода не будет (сильное предсказание )

QL - перехода не будет (слабое предсказание )

Ю - переход будет (слабое предсказание )

11 - переход будет (сильное предсказание )

Cmid

Printed with FinePrint- purchase atwww.fineprint.com

Динамическое предсказание переходов

Особенности использования таблицы (какая именно информация выступает в роли шаблона для доступа к РНГ и какого рода история фиксируется в элементах таблицы ) составляют различия в алгоритмах динамического предсказания переходов :

В качестве шаблонов для доступа к РНГ могут быть :

  • адрес команды условного перехода

  • регистр глобальной истории

  • регистр локальной истории

  • комбинация указанных вариантов .

1. При выборе адреса команды У1 в качестве шаблона , можно учитывать поведение каждой конкретной команды У1 . ftyi многократном повторении большинства команд наблюдается повторяемость исхода - либо переход , либо нет . Данный способ позволяет отсортировать вое команды и повысить точность .

Стк> 43

Динамическое предсказание переходов

Счетчик команд

FHT

к бит

Биты для

предсказания

При к-разрядном индексе таблица содержит 2к элементов .

Схема обеспечивает высокую точность для многократно повторяющихся команд (циклов ), нэ для многих команд (однократные либо редко выполняющиеся ) - выполнение перехода коррелирует с поведением предшествующих команд . Данная схема нэ позволяет отслеживать подобные взаимосвязи , в отличие от схемы с регистром глобальной истории .

Cmid 44-

Printed with FinePrint- purchase atwww.fineprint.com

Динамическое предсказание переходов

Регистр глобальной истории

к бит

Биты для

предсказания

Регистр глобальной истории (GHR) - /-разрядный сдвиговый регистр . После выполнения очередной команды У1, содержимое регистра сдвигается на один разряд , на освободившееся место заносится 1 если был переход и 0, если иначе . Кодовая комбинация в Q-R -история выполнения / последних команд У1 . к-младших разрядов регистра связаны аэ счётчиком FHT , т.е. счётчик определяется тем какая комбинация исходов имела место в к предыдущих У1 .

Содержимое счётчика для текущей позиции модернизируется одновременно с обновлением Q-R го результату команды У

Динамическое предсказание переходов

о.

е

РНГ

о

X

о

о.

ь

к

бит

Биты для

предсказания

Регистр локальной истории (LHR) - аналогичен Q-R , нэ

предназначен для фиксации последовательных исходов одной и той же команды . Массив LJ-R - таблица локальной истории , как и в схеме с адресом перехода , каждый счётчик фиксирует историю исхода только одной команды , нэ базируясь на более детальных знаниях , отражающих и последовательность перехода .

Сши> 45

Printed with FinePrint- purchase atwww.fineprint.com

Динамическое предсказание переходов

Счетчик команд

k-g

РНГ

т

к бит

Еиты для предсказания

Комбинация схем - конкатенация битов либо сложение пэ модулю . Эффективность зависит от соотношения q и k- q.

йй 47

Динамическое предсказание переходов

Выводы :

С увеличением размера РНГ точность предсказания возрастает .

Схема ю счетчиком команд - наименее эффективная .

Схема to сложением Q-R и счётчика команд го модулю «два » - до 9Е*1% точности предсказания .

Сяайд

Printed with FinePrint- purchase atwww.fineprint.com

Структурная и функциональная организация ЗЁМ (ComputerOrganization and Design )

БГУИР кафедра ЗЕМ

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

т.284 -21 -61, dmitry _samal @mail. iu ,

a.5Q2 -5

Лекция 21 «Основные направления в архитектуре процессоров »

2007

План лекции

  1. Суперконвейерные процессоры

  2. Суперскалярные процессоры

  3. Особенности реализации суперскалярныхпроцессоров

  4. Параллелизм . Уровни параллелизма .

  5. Метрики параллельных вычислений .

  6. Закон Амдала .

  7. Закон Густафсона .

Printed with FinePrint- purchase atwww.fineprint.com

Слайд 2

Суперконвейерные процессоры

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

  • Разбиение каждой ступени на п подступеней приодновременном повышении внутренней частотыконвейера в п раз.

  • Включение в состав процессора п конвейеров ,работающих с перекрытием .

Суперконвейеризация (термин с 1988 г.) - увеличение количества ступеней конвейера за счёт добавление новых либо дробления имеющихся на простые подступени . Главное требование - возможность реализации операции в каждой подступени наиболее простыми техническими средствами , т.е. с минимальными временными затратами . Второе важное условие - одинаковое время задержки во всех подступенях

» 3

Суперконвейерная обработка

8

n

13

ЕК

ЕА

ВО

ЕК

ЕА

во

ЕК

ЕА

ВО

вк

ЕА

BO

ЕК

BA

во

ЕК

EA

BO

EK

BA

BO

EK

BO

kK

к,

ВА,

во, во,

I*, НС,

3=, 3=

во,

во,

к

BA,

ЕА, ВО, ВО, ИС

К, |ДС,| ДС^ВА^ВА, |ВЭД [ВО

ИС,

I* , HC

к, к

BA, BA, ВЭ

ВЭ,

, иг, L -г , -г L

fif.2 BA, BA2

BO,

BD,

HC ) I

Printed with FinePrint- purchase atwww.fineprint.com

^ 4

Суперконвейерные процессоры

Критерием причисления процессора к суперконвейерным

  • число ступеней в конвейере больше шести . Первыйсерийный суперконвейерный процессор - MIPSR4000@ ступеней ). UltraSPARC 1-9 ст., PentiumIII,Itanium

  • Ю ст., UltraSPARC Ш - 14 ст., Pentium4 - 2D а.

Однако на практике , выигрыш от суперконвейеризации может отказаться умозрительным . Удлинение конвейера -> дополнительные сложности : возрастание вероятности конфликтов , дороже ошибка предсказания перехода - очищать больше ступеней конвейера , усложнение логики взаимодействия ступеней конвейера . Тем не менее - результат говорит сам за себя .

Сяайд 5

Суперскалярные процессоры

Дальнейшее повышение производительности fM - в плоскости архитектурных решений . О/щ из наиболее эффективных подходов - введение различных уровней параллелизма . Пример - одновременная обработка всех компонентов матриц и векторов .

Однако обычно основной объём вычислительной нагрузки приходится на скалярные вычисления (одиночные операнды ). l/k параллельная обработка сложнее . Суперскаляный (термин 1967 г.) - Ц1, который выполняет

одновременно более чем одну скалярную команду . Эффект достигается за счёт включения в состав Ц1 нескольких самостоятельных функциональных блоков , каждый из которых отвечает за свой класс операций и может присутствовать в процессоре в нескольких экземплярах . Пример - в PentiumIII блоки целочисл . арифм . и ГВ - дублированы , в Pentium 4 и Athlon - троированы .

Printed with FinePrint- purchase atwww.fineprint.com

Суперскалярные процессоры

Обработка ветвлений

Выборка команд

^. выборка

-память команд

Декодирование

декодирование

Диспетчеризация

Табло (scoreboard)

Регисгровы и файл

вьщача

Распределение

запуск

Исполнение

Функциональные блоки

-память данных

завершение

Обновление состояния

\ \ ... [ выход

Архитектура суперскалярного процессора

Слайд 7

Суперскалярные процессоры

Блок выборки команд - извлекает команды из С8У (через гаи ), хранит несколько значений счётчика команд и обрабатывает команды условного перехода .

Блок декодирования - расшифровывает код операции , содержащийся в команде . В Intel процессорах - БЕК и Щ совмещены .

Блок диспетчеризации и распределения - контроль трафика Оба блока хранят очереди декодированных команд . Блок распределения связан с буферами (накопителями ) функциональных блоков . Для диспетчера накопители -виртуальные устройства .

Очередь диспетчера

Очередь накопителей

0Б1

0Б2

сХБ п

Стай

Printed with FinePrint- purchase atwww.fineprint.com

Суперскалярные процессоры

Блок диспетчеризации хранит список свободных функциональных блоков (табло ), используемый для отслеживания состояния очереди команд . Каждый цикл Щ извлекает из своей очереди команду , считывает операнды и в зависимости от состояния табло помещает её в накопитель соотв -го ф/нкц . блока .

Блок исполнения - набор функциональных блоков (целочисл . сп . блоки , сп . с ГВ, доступа к памяти ). Пэи завершении исполнения команды , результат записывается и анализируется блоком обновления состояния , для сигнализации тем командам из очереди распределения , для которых текущий результат является одним из операндов (риск го данным ).

Сяайд 9

Суперскалярные процессоры

Параллельное выполнение нескольких скалярных команд хорошо сочетается с конвейерной обработкой . Г(эи этом желательно иметь в Ц1 два или три конвейера

IntelPentium - два конвейера , каждый со своим АЛУ . В каждом цикле необходимо обеспечивать выборку более чем одной команды -> память ЕМ д.б. модульной .

Van -память данных и/иш регастры Ц1

л

1

—*■

—►

ЕА

во

*

та

1 |

Г1 г

*■

—►

».

ЕА

во

*

3=

Сяюд 10

Printed with FinePrint- purchase atwww.fineprint.com

Superscalar Architectures

Pentium - 2 конвейера : главный - u-конвейер выполняет любые команды , вспомогательный v-конвейер - только простые команды с целыми числами , и одну простую с плавающей запятой (FXCH). Компилятор объединяет команды го парам . Выигрыш на целочисленных операциях го сравнению с 485 -м - в два раза .

S1

S2

S3

S4

S5

Instruction

Instruction decode unit

Operand fetch unit

Instruction execution unit

Write back unit

fetch

unit

Instruction decode unit

—•-

Operand fetch unit

Instruction execution unit

Write back

unit

SL

S2

S3

S4

S5

Блок

Блок

Блок

Блок

Блок

выборки

декодирования

выборки

выполнения

записи

команд

команды

операндов

команды

результата

Слайд 11

Суперскалярные процессоры

Параллельное выполнение нескольких скалярных команд хорошо сочетается с конвейерной обработкой . Г(эи этом желательно иметь в Ц1 два или три конвейера .

Регистры Ц~1 •

[

ё

В

\

АПУ

Переход

VK

Чтение

Запись

Суперскапярный конвейер го специализированными игл . блоками

Van -память данных

Слайд 12

Printed with FinePrint- purchase atwww.fineprint.com