
- •Принцип двоичного кодирования
- •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)
1. Понятие конвейера
Printed
with FinePrint- purchase atwww.fineprint.com
Смйд 2
Конвейеризация вычислений
1П.Э-
|
|
|
|
|
|
ОБ |
|
|
1 |
|
|
|
|
|
|
|
|
|
| ||||||
|
|
|
— |
|
|
0Б2 |
|
|
■--* |
ОБЭ |
Ь |
|
практике
: равные задержки для всех ЗБ j
редки
1 1 1 1 1 1 Pf |
р. |
|
р. |
11 11 mi м i 4 |
р. |
0Б2 |
р. |
11 i i i i i 4 |
р. |
ОБз |
1 i i i i "'"""'-ff.w |
В
архитектуре ЕМ множество объектов ,
использующих
конвейеризацию (например , АПУ , память ) Наиболее ощутимый результат - конвейеризация этапов машинного цикла .
По способу синхронизации работы ступеней конвейера : синхронные и асинхронные .
Синхронные - ступени рядом , тракты распространения сигналов коротки - перекосов практически нет .
Асинхронные - связь м/у ступенями слабее , тракты длиннее . СлЫ^ 3 Пример - систолические массивы .
Пять
ступеней
Пять
ступеней выполнения (для некоторых
команд требуется
меньше )
F_: Instruction Fetch/ Выборка команды
D : Instruction Decode (& register fetch & add PC + immed УДекодирование команды
Б(_: Execute/ Выполнение команды
: Memoryaccess/ Работа с памятью
- \ЛБ_: Write -Back intoregisters/ Запись в регистр результатаIF ! ID ; EX ■ Mm i W3
Icache
Decode,; R-Ftead"
AJJ
update
Dcache
R-Wrire
Total
R-type
S
37
U>ad
S
47
Store
39
Printed
with FinePrint- purchase atwww.fineprint.com
3D
йд
4
Partitioning the Single -CycleDesign
Write Read
register
data 2
Write
data
Добавление
промежуточных
элементов
Если
используется одна и та же аппаратура
для последовательного
выполнения различных операций
(например , ALU),
необходимо где -то хранить
промежуточные результаты между двумя
операциями
.
Дополнительные регистры необходимы если :
Вычисления производятся в одном тактовомцикле , а используются в другом
Всоды в комбинационную схему могутизмениться раньше , чач сигналы могут бытьзаписаны в память .
Printed
with FinePrint- purchase atwww.fineprint.com
Слайд 6
PC
IF
ID
Add
Registers
Read
re9ister1 ReadRead data 1
register 2
Write Read
register data 2
Write
data
Where to add registers (more or
f
Read address
fnstruclion
Instruction
Reg Write] 16
memory
Метрики
эффективности конвейеров
Три
метрики : ускорение
f
эффективность
и производительность .
Ускорение - время работы без конвейера к времени с наличием конвейера . N - количество входных задач , К - количество ступеней , Тк - тактовый период .
Т^ =(K+(N -1)JT K
Без конвейера - Т^ =NKT K
Ускорение - S = NKT K/(K+(N -1)JT к =NK/(K+(N -1)) При N->oo ускорение стремится к величине К. Эффективность - доля ускорения на одну ступень конвейера
Е = s/K= N/(K+(N -1))
Пропускная способность ("производительность ) - эффективность на тактовый период :
Р = N/TK(K+(N -1))
При N->oo эффективность -> 1, производительность -> к частоте тактирования конвейера .
Printed
with FinePrint- purchase atwww.fineprint.com
йд 7
Нелинейные конвейеры
в<
с
<ГЕ
вьк
Б
ряде ситуаций вьгодно соединять блоки
в соответствии с логикой обработки
(пропуски
, ци<пы и т.п.). В итоге можно вычислять
более одной функции ,
ю
если а-и
конфликтуют - то сложности с загрузкой
конвейера .
Необходимо строить диаграммы однократной реализации функции и отслеживать моменты , he пересечения с второй функцией го обращению к одному блоку .
X |
X I 1 |
1 |x |
<is
X |
|
|
|
|
X |
|
X |
|
X |
|
X |
|
|
|
|
|
|
X |
|
X |
|
X |
|
Y |
|
|
|
Y |
|
|
|
Y |
|
|
|
|
Y |
|
Y |
|
Y |
X |
|
Y |
|
|
X |
Y |
X |
|
X |
|
X |
Y |
|
|
|
|
|
X |
Y |
X |
Y |
X |
Y |
Слайд 9
Конвейер команд
Ступени
конвейера :
F_: Instruction Fetch/ Выборка команды
D : Instruction Decode (& register fetch & add PC+ immed УДекодирование команды
EX_: Execute/ Выполнение команды
: Memory access/ Работа с памятью
- V\B_: Write -Back in to registers/ Запись в регистр результата
V\B
ВХ
д<
во
Вьборка
гаманды
О
Формирое -е адреса следующей гамачды
Декодирование гаманды
О
Вычисление
Адрессе
сперандсе
Вьборка операндов
Исполйениа
14=1
ксмач.
О
сйПИСЬ
результата
Printed
with FinePrint- purchase atwww.fineprint.com
Слайд 10
Конвейер команд
1. Выборка
команды (0<)
2 Декодирование команды (Д<)
Вычисление адресов операндов
Выборка операндов (BD)
5. Исполнение команды (И<)6l Запись результата (3?)
Время выполнения : без конвейера - 9*6 = 54 с конвейером - 14 Выигрыш -40/54 = 0,74
Команда 1 Команда 2 Команда 3 Команда 4 Команда 5 Команда б Команда 7 Команда 8 Команда 9
ВХ
вх
ва
вх
вэ
ВА
Ж
вх
вэ
вэ
ВА
вэ
8
ВЭ
ВА
В<
9
ВЭ
ИХ
ВЭ
ВА
11
и<
вэ
ВА
И< ■
ВЭ
и<
Смай 11
MultipleCycleCPU
<3f^z
Prjwng^onLl/ \.PCSjj;ce
=^^/OultLtlnw^
I
i-.ftli^ffiH-i |3й
J|
\Mite
Memory
IrfitrjCtOTi
|ai-2e|
InStFLKTbon
ЕЙ 21]
Instn/ctiofi
:15 0| Intfructinn register
l-z.ijriicn
115
t>]
Memofv
dad
refllstei
l«buCfic>rt |й П|
Juinp
ALUOl
Printed
with FinePrint- purchase atwww.fineprint.com
^ 12
Instruction Latencies
Single
-CydeCPU
Load
|
Ifetch |R&g/Dec| Exec | Mm | Wr
\
MultipleCycleCPU
Cydel I Cyde2 I Cyde3 I Cyde4 I Cyde5
Load f |
Ifetch |
|
/Dec | |
Exec |
I |
Mm |
I |
Wr |
1 |
|
|
|
|
|
|
|
|
| |
Add [ |
Ifetch |
|
/Dec | |
Exec |
| |
Wr |
| |
|
Instruction
Latencies and Throughput
•Single
-CydeCPU
Load
|
Ifetdi p^ /Dec | Exec | Iv&n |
•MultipleCycleCPU
Cyclel Cycle2 Cycle3 Cycle4 Cycle5
Load
|
Ifetdi |рщ
/Dec
| Ekec
• Pipelined CPU
Cycle! cycle2 Cycle3 Cycle4 CycleS Cycle6 Cycle7 CycleS
Load
|
Ifetdi fc% /Dec]| Exec Ц
Mm
||
Load | Ifetch p^ ЮесЦ Ехес
Load | Ifetdi peg /Dec || Exec | Iv&n
Load | Ifetch |feeg /Dec | Exec | bfai \ tt
Printed with FinePrint- purchase atwww.fineprint.com
Cmk> 13
Сшк> И
PipeliningAdvantages
Выше
максимальная
производительность
Лучшее
использование
ресурсов
CFU
Но, более сложный тракт данных {datapath )f более сложное управление (?)
APipelined
Datapath
IF:
Instructionfetch
ID: Instruction decode and register fetch EX: Execution and effective address calculation MEM: Memory access WB: Write back
Printed
with FinePrint- purchase atwww.fineprint.com
Слайд 15
Слайд 16
Pipelined Datapath