
- •Принцип двоичного кодирования
- •0 D 0 0 1 0 0 0 инверт
- •1) Проверить, выровнены ли порядки, и. Если нет. То выровнять.
- •2} Сложить мантиссы (одна из них. Возможно, денормализовша).
- •С 1992 г. - неотъемлемая часть Intel и amd.
- •271 Команда - групповые арифметические и логические операции , сдвиги , сравнения , перегруппировка и извлечение отдельных чисел , различные варианты пересылок .
- •Команды управления виртуальной памятью .
- •6} В режиме ss&2
- •3 Register ImmediateFormat 1a
- •Instruction -Level Pa га I lei ism
- •Instruction -Level Parallel ism
- •Su perscalarArch itectu res
- •Intel 486 - один конвейер , Pentium - 2 конвейера из 5 стадий .
- •Su perscalarArch itectu res
- •Su perscalarArch itectu res
- •Instruction
- •1011X j|I 2 - все параллельно
- •1 Упрощается архитектура процессора ; вместо распараллеливающей логики на eric процессоре можно разместить больше регистров , функциональных устройств .
- •BusWidth
- •1. Арбитраж пин
- •3. Методы повышения эффективности пин
- •4. Стандарты шинS Примеры
- •Bus Arbitration (2)
- •Способы расширения полосы пропускания шин :
- •Pci BusTransactions
- •Сокращённые обозначения -kj,Mi7 Gi.Ti.Pi и Ei.
- •Vax/1980 pPra/1996
- •MemoryChips
- •Volatile
- •1. Блочная организация основной памяти
- •2. Микросхемы памяти
- •Расслоение памяти
- •Расслоение памяти
- •1. Динамические сву
- •Динамические сву для видеоадаптеров
- •Многопортовые os/
- •Volatile
- •2. (Пни -память
- •3. Ассоциативные 3/
- •4. Организация fau -памяти
- •Пример 2
- •Пример 2
- •1. Организация fcu -памяти
- •2. Система ввода -вывода
- •Ёмкость каи - 32kb , строки го 25б байт .
- •Address
- •64 Kb cache, direct -mapped,32 -byte cache block
- •32 Kb cache, 2 -wayset -associative, 16 -byteblocks
- •16Kb,4 -wayset-associativecache732 -bitaddress, byte -addressablememory/32 -byte cache blocks/lines
- •Write -through - прежде всего обновляется слово ,
- •Средства обнаружения и защиты от ошибок . Архитектура современных н)¥щ основана на полностью ассоциативном отображении .
- •Структура гу
- •1. Понятие конвейера
- •If: Instruction fetch
- •Id: Instruction decode/ register file read
- •Риск го данным - взаимосвязь команд го данным
- •Pipelined Datapath
- •Hazards
- •Superscalar Architectures
- •Instruction
- •Instruction decode
- •1. Очередность вьщачи декодированных команд на исполнительные блоки отличается от последовательности предписанной программой -неупорядоченная выдача команд (out-of-orderissue ),
- •Sisd,misd,simd,mimd.
- •Классификация Флинна
- •Heterogeneous multiprocessor chip with six cores
- •Организация памяти вс
- •Message-passing interconnection network
- •3 Stages
- •3 Stages
- •Num am ulti processors
- •Interconnection network
- •18Bits 8
- •18Bits 8
- •And memories are not shown.
- •(A) a star, (b) a complete interconnect.
- •(C) a tree, (d) a ring, (e) a grid, (f) a double torus.
- •(G) a cube, (h) a 4d hypercube.
- •Red Storm (2)
Pipelined Datapath
IhstructionF et ch
In stru cti on D e со de/
Execute/
MemoryAccess WriteBack
Printed
with FinePrint- purchase atwww.fineprint.com
йд 28
Handling Data Hazards in Hardware
Stallthepipeline
СП 02 CO 03 (15 O35CC7OC8
M
Ш
M
ш
Reg
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
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,
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
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
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