
- •Принцип двоичного кодирования
- •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)
If: Instruction fetch
Id: Instruction decode/ register file read
EX: Execute/ address calculation
MEM: Memory access WB: Wi'fte bach
:
/anil
I
1Ш2
"9lst""' Read data 1
Registers
r |SU'
..-'.■■ik-Hatn
IT
Similarities
with Single -cycleCPU datapath ?
Multi
-cycleCPU datapath ?
17
Execution
in a Pipelined Datapath
oci
OC2
OC3
0C5
COS
CC7
CC8
CCP
Ы
T)
IM
Ы
Г)
Reg
TvRvT
IM
Eeg
to
M
IM
to
M
IM
Reg
to
M
Eeg
IM
Reg
Printed
with FinePrint- purchase atwww.fineprint.com
йд 18
OCl
Jipen
!
ось
!
CG4
COS
CC7
OC2
CC3
ccs
CC9
T)
Reg
TvRvT
IM
Keg
Г)
Reg
TvRvT
IM
Reg
M
IM
Reg
м
IM
M
Reg
IM
Reg
steady
state
Mixed
Instructions in the Pipeline
ca
ссз
CG4
ccs
CC6
M
IM
Reg
м
Reg
Printed with FinePhnt- purchase atwww.fineprint.com
йд 3}
PipelinePrinciples
Вое
команды , которые выполняются конвейером
должны
иметь <щш
стадии
, идущие в оцном
порядке
однако , аШ не проходит через стадию
sv - не имеет стадии \ЛВ
Вое промежуточные значения должны быть «защёлкнуты » после каждого цикла .
There is no functional block reuse
F
D
Ж
Reg
Ш
г
Keg
Issues With Pipelining
What
happens when an instruction needs the result of anotherinstruction?
What happens on a branch?
Printed
with FinePrint- purchase atwww.fineprint.com
йд 21
йд
22
Конфликты в конвейере команд
Конфликтные
ситуации - риск (hazard):
Структурный риск - попытка одновременного обращения нескольких команд к одному и тому >ге ресурсу ЕМ
Риск го данным - взаимосвязь команд го данным
Риск го управлению - неоднозначность при выборке следующей команды в случае команд перехода .
Структурный риск - чаще всего обращение к памяти . Три этапа (ЕК , ВО и?)- связаны с обращением к памяти . Частичное решение проблемы - модульная память + гаи . Разделённый гаи выгоднее с этой точки зрения . В целом структурный риск не сильно влияет на производительность конвейера .
Смйд 23
Конфликты
в конвейере команд
Риск
го данным - типичная и регулярно
возникающая ситуация
. Две команды i
и j -
работают с одной переменной
х, в результате могут наблюдаться три
типа
конфликтов го данным :
Чтение после записи (ЧГВ ) - команда j читает х до того , как i успела записать новое значение х, т.е.] получит старое значение х.
Запись после чтения (ЧГВ) - команда j записывает новое значение х до того , как i успела считать старое значение х.
Запись после записи (ЗГВ ) - команда j записывает новое значение х прежде , чач команда i успела записать своё значение х. В результате х содержит значение после команды i хотя го алгоритму должна содержать значение после команды j.
Слайд 24
Printed with FinePrint- purchase atwww.fineprint.com
Конфликты в конвейере команд
|
|
|
|
Запись |
|
|
Чтение |
|
|
|
|
|
|
Чтеьие |
i |
Запись |
|
|
|
|
|
|
Запись |
j
i |
Запись |
|
|
ЧПЗ - наиболее частый вид конфликтов , т.к. операция чтения (ЕЮ ) предшествует операции записи (У) По этой причине конфликты типа ЗГН большой проблемы нэ представляют . Сложности только если структура конвейера допускает запись прежде чтения или если команды обрабатываются нэ в последовательности , указанной в программе .
й> ъ
Конфликты в конвейере команд
ЗПЗ
- тоже нэ вызывает особых проблем , в
конвейерах , ще команды следуют
в порядке предписанном программой
и могут производить запись на этапе
5Р. В худшем случае , если одна команда
догоняет другую из -за её приостановки
, имеет место конфликт го ресурсу -
попытка доступа к одной и той же
ячейке .
Два аспекта - обнаружение конфликта и устранение .
Обнаружение - невыполнение хотя 6>i одного ик трёх условий Бер нетей на (Bernstein 'sConditions) :
Для ЧПЗ : O(i) n IQ)= 0
Для ЗГН : I(i) n O(j)= 0 Для трех команд - 9 уравнений ,
Для ЗПЗ : O(i) г, О©= 0 для 4-х - 18( го три на каждую пару )
О(к) - множество ячеек изменяемых к, 1(1) - множество ячеек читаемых I.
Printed
with FinePrint- purchase atwww.fineprint.com
Конфликты в конвейере команд
Устранение
конфликтов - программно и аппаратно
:
Программно - компиляция оптимизирующим компилятором (в спорных случаях ставится NOP).
Аппаратно - пузырёк и ускоренное продвижение информации (Forwarding).
Пузырёк - приостановка на несколько тактов команды j, чтобы команда i успела завершиться или пройти конфликтную ступень .
Задерживаются и все команды , следующие за командой j. Иногда приостанавливают j, нэ нэ задерживают остальные команды -эффективно , нэ требует сложной реализации конвейера .
Forwarding - обычно буферный регистр между двумя ступенями конвейера , передача информации возможна только между соседними ступенями конвейера . При forwarding , операнд уш вычисленный предыдущей командой может быть получен непосредственно из соотв . буфера , минуя все промежуточные ступени конвейера -> дол . тракты данных (опережения , перехода )f соответствующее усложнение W.
Смйд 27