- •Принцип двоичного кодирования
- •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)
Пример 2
Иерархия
памяти состоит из гаи , основной и
виртуальной
памяти . В случае если вероятность
попадания
гаи - 98%, а основной памяти - 99%, и среднее
время доступа к гаи - 2 такта , основной
- 15D
тактов
и 100000 тактов для доступа к виртуальной
памяти - какое среднее время получения
данных ?
Слайд 19
Пример 2
Подсчёт снизу вверх :
avg
= Т * Р +Т * Р
hit,main hit,main miss ,main miss,main
= 150 * .99 + 100,000 * .01 = 1148.5

=
T *
P
=
T *
P
4-
T
miss
fcache
+
т
. * p
.
.
avg ,cache
г hit ,cache
= 2* .98+ 1148.5* .02 = 24.93 cycles
Вывод : даже несмотря на то, что промах кэша составит только 26 от всех запросов , среднее время доступа к данным может возрасти более чем в 12! раз !!!
Слайд 33
Printed with FinePrint- purchase atwww.fineprint.com
Вопросы
памяти (Cachelssues )
Доступ
к памяти -

• Каким образом аппаратура узнаёт - естьпопадание или промах требуемых данных ?
В случае промаха паи -памяти -
где брать новые данные ?
какие данные должны выбрасываться ?
как запомнить какие данные где находятся ?
Слайд 21
Ассоциативная память
Регистр






ассоциативного признака
Комбинационная схема






|
Запоминающий массив 12 m | ||||
|
1 |
|
|
|
|
|
|
| |||
|
2 |
|
|
|
|
|
|
| |||
|
N |
|
|
|
|
|
|
| |||
Регистр маски
|
1 . |
т |
1 |
|
|
| |
|
|
|
2 |
|
*■ |
|
|
|
Схемы |
совпадения |
N |
|
|
| |
|
|
|
|
|
|
|
|
Регистр совпадений
Структура ассоциативного
Слайд 22
Printed
with FinePrint- purchase atwww.fineprint.com
Ассоциативная память
3
2 1 О
РАП
I
I I I ~|







ЭМ I I I I
3 2 10
О
I
I I I



3 2 10
ВОЛ - регисф ассоциативного признака ;
FM - регистр маски ;
Э1-
запоминающий
массив
;
РООВ m -регистр совпадений ;
31 содержит N ячеек для указания занятости которых используется нулевой разряд (0-свободна ,1 -занята ) - необходим для поиска свободных ячеек при записи новой информации . FM - в ассоциативном поиске участвует только тот разряд , в котором fM | =1, если FM s = 0, то i-ьй разряд нэ участвует в поиске .
Стай 23
Ассоциативная память

![]()
|
|
V |
|
|
N■1 |
|
| |
|
|
ш РАП , |
п | |||||
|
|
|
|
|
| |||
|
|
|
|
|
р |
| ||
|
|
31 РМ , |
о |
|
КС |
|
с |
|
|
|
|
ft |
г |
J |
0 |
в |
|
|
N-1 |
|
|
|
| |||
|
j I |
зм |
|
J | ||||
|
О |
Я1 1 |
о |
|
|
|
|
|
ШИНА
ВЫХ.



«О а [ 2
RQTI - регистр ассоциативного признака ;
R4 - регистр маски ;
3^1 - запоминающий массив ;
PGOB 00 - регистр совпадений ;
1С - комбинационная схема
ФГП -формирование признака поиска
аО- данные he найдены
al- содержатся в одной яч -ге
а2- сед -(я в нескольких яч -х.
При считывании сначала - поиск го ассоциативному признаку в ВАЛ и го FM , далее анализируются признаки поиска. При а0=1 считывание отменяется из-за отсутствия искомой информации .При а 1 = 1 считывается единственное найденное слово . При а2=1 -обычно считывается слово из ячейки , имеющей наименьший номер , отмеченной единицей в РСОВ .
Printed
with FinePrint- purchase atwww.fineprint.com
Слайд Ъ
Ассоциативная память
При
записи сначала отыскивается свободная
ячейка в Э*\
.
Для еэ поиска
выполняется операция контроля
ассоциаций для RATI
равного
11..110 и FM =00
...001, так как у свободных ячеек последний
младший разряд равен нулю . Все
найденные свободные
ячейки отмечаются единицами в РСОВ
. Для записи выбирается
свободная ячейка с наименьшим номером
, в нее записывается слово с шины
входных данных . Если аО = 0, то есть
, свободных ячеек нет,
то
производится удаление из ЗА
"устаревшей
" информации . По некоторому
устанавливаемому признаку
в FATI
производится контроль ассоциации
и операция удаления
, то есть сброс в нуль нулевого разряда
ячеек, отмеченных
при контроле .
Для ассоциативной памяти нэ может использоваться динамическое 3^, так как считывание производится одновременно вэ всем ЗА . Поэтому используются элементы памяти , нэ допускающие разрушения информации при считывании .
Слайд 25
Простой
Полностью
ассоциативный
: любая строка данных может
быть помещена в любое место гаи
LRU (leastrecentlyused ) стратегия замещения : при недостатке места выкидывается наиболее давно требовавшиеся данные .
Очень
молен ький каи : 4
записи , каждая го 4-х байтному слову
, любая запись может содержать любое
слово .


Вспомогательное поле ,
облегчающее определение
кандидатов но вылет
Тэг final
определяет
адреса данных кш
time since last
|
|
data |
reference |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Printed with FinePrint- purchase atwww.fineprint.com
Слайд 25
Пример работы простого кэша





Последовательность
ячеек : 24, 20, 04, 12, 20, 44, 04, 24, 44
time
since lasttag data reference
Первые
четыре ссылки -«промахи
». гаи бьзл пустым
|
24-27 |
-data - |
3 |
|
20-23 |
- moredata - |
2 |
|
04-07 |
-ete- |
1 |
|
12-15 |
-ete - |
0 |
|
| ||
|
24-27 |
-data - |
3 |
|
20-23 |
- moredata - |
0 |
|
04-07 |
-etc - |
2 |
|
12-15 |
-etc - |
1 |
|
|
|
|
|
44 -47 |
-newdata - |
0 |
|
3D -23 |
- m oredata - |
1 |
|
04 -07 |
-etc - |
3 |
|
12 -15 |
-etc - |
2 |
|
44-47 |
-newdata - |
0 |
|
20 -23 |
- m oredata - |
1 |
|
04 -07 |
-ete- |
3 |
|
12-15 |
-ete - |
2 |
Следующая ссылка ("3D ") -попадание . Обновление времени
"44 " - промах , наистарейшие данные (24 -27) замещаются .
Слайд 27
Printed
with FinePrint- purchase atwww.fineprint.com


Gustd
Прямое отображение
В
гаи с прямым отображением (directmapped
cache), каждому
блоку памяти поставлена в соответствие
отдельная
строка гаи -памяти ..
Обычно * используются несколько бит адреса для«задания » отображения блоков памяти на гаи
Например , биты 2 и 3( если считать LSB= ЛЛ0")адреса - будут индексом .
*В некоторых машинах используется псееЭо -случайная хзп -таблица адресов
Слайд 29
Direct
mapped cache in action
Последовательность
ячеек : 24, 20, 04, 12, 20, 44, 04, 24, 44
tog
00 01
10
11
00 01
10
11
index
|
- |
- |
|
3D - 23 |
data |
|
24-27 |
data |
|
- |
- |
|
00 |
|
- |
- |
|
01 |
04 |
-03 |
data |
|
ю |
24 |
-27 |
data |
|
И |
|
- |
- |
|
00 |
|
- |
- |
|
01 |
04 |
-ов |
data |
|
ID |
24 |
-27 |
data |
|
И |
12 |
- 15 |
data |
|
- |
- |
|
04 -OB |
data |
|
24-27 |
data |
|
12-15 |
data |
индекс - Ю индекс - 01
24= 01 10 00 20= 01 01 00
(* indexis bits 2 -3 of address)
04= 00 01_00 2 ; индекс - 01 (выбрасывает 20 -23 из юи )
12= 00 ll_00 2 ; индекс - 11
your turn... 20= 010100 2 44= 101100 2 04= 000100 о
Слайд 33
Printed
with FinePrint- purchase atwww.fineprint.com
Direct -MappedCache


Set
выбирает
строку
Cache
АдресTag | Set | Offset
v
Попадание Требуемые данные
Слайд 31
Direct-Mapped
vs. Fully -Associative
Прямое
отображение
(Direct
-Mapped )
- Требует меньше места
Только один компаратор
Требуется меньше битов для тэгов
Быстрый : может возвращать данные процессору параллельнос определением попадания или промаха
Поочерёдное обращение к словам из разных блоков ,размещаемых водной строке каи (Conflictmisses)- снижениевероятности попадания
Полностью ассоциативное отображение (Fully -Associative )
Нет конфликтов (conflictmisses )-> общая высокаявероятность попадания
Требуется дорогая ассоциативная память - отдельныйкомпаратор для каждой строки кш
Слайд 32
Printed with FinePrint- purchase atwww.fineprint.com
Множественно
-ассоциативное отображение
Q.
-way
set associative cache )

»
Directmapped
кш прсще :
- Меньше аппаратуры ; более быстр в потенциале» Fully associative - меньше промахов и конфликтов .
* Нэп , совмещающий преимущества обоих способов :
- Индекс вычисляется из адреса
- В "k-wav set associative cache " индекс определяет множество кстрок кш , [де могут храниться данные .
к=1 - полностью ассоциативное .
к= размеру кэша (в строках ) - прямое отображение (directmapped ).
- Используется замещение LRU( или другое ) для всего набора .
2-way set associative cache Два ^g^ ^ поисма
Слайд 33
index ta9 data tag data ■ -.. донных с индексом 'О"
|
0 |
|
|
|
|
|
1 |
|
|
|
|
|
г |
|
|
|
|
|
А |
|
|
|
|
2-way
set associative cache in action
Последовательность
ячеек : 24, 20, 04, 12, 20, 44, 04, 24, 44

index
tag
data
tag
data
|
а |
-2? |
data |
|
- |
- |
|
Zi |
-2 |
data |
|
- |
- |
|
|
|
|
|
|
|
|
а |
-2? |
data |
|
- |
- |
|
Zi |
-2 |
data |
04 |
-CF |
data |
|
|
|
|
|
|
|
|
3 |
-2? |
data |
|
- |
- |
|
Е |
- Е |
data |
04 |
-CF |
data |
|
|
|
|
|
|
|
|
3 |
- 2? |
data |
|
- |
- |
|
Е |
- Е |
data |
04 |
-CF |
data |
24= Oil 000 2 ; индекс - 0. 20= 010 100 2 ; индекс - 1. (index is bit 2 of address)
04= 000 100 2 ; индекс - 1. (-во 2^ slot of "a "set)
12= 001 ^LOO 2 ; индекс - 1. (kicks out older item in "01" set)
your turn... 20= 010
44= 101 ^00 2 04= 000 ^00 2
Printed with FinePrint- purchase atwww.fineprint.com
Слайд
Set -AssociativeCaches
Адрес
Модуль
Г"
Параллельная
проверка
всех [
Compare
| Compare
строк
(ways
)
модуля
Требуемые данные
Слайд 35
Эффективность
множественно -ассоциативного отображения
(cache
associativity )



12%
6%
3%
4-waycache -почти идентичная вероятность попадания мак и у direct -mapped cache двойного размера
0%
One-way
Two-way
Associativity
Four-way
1 KB
2KB
-4KB
8KB
Eight -waj
16KB 32KB
64KB 126 KB
Gustd
Printed
with FinePhnt- purchase atwww.fineprint.com
Размеры строки каи ?( CacheBlocks )
|
tog |
донные (большие строки ) |
|
|
|
|
|
|
|
|
|
|
|
|
Плюсы :
Большие строки имеют преимущество впространственной локальности .
Меньше места требуется для тэгов (при заданномобъёме каи )
Минусы :
Слишком большие строки - неразумноеиспользование пространства каи (большевероятность промаха ).
Большие строки - больше времени для пересылкиданных .
Пример
использования больших
блоков в юи
Слайд 37



Последовательность
ячеек : 24, 20, 04, 12, 20, 44, 04, 24, 44...
index +а9 8
Bytes
of data
24=
QL
1000
2
;
индекс
- 1.
(index
is bit 3
of
address)
|
- |
- |
|
3 -31 |
data |
|
| |
|
E -3 |
data |
|
a -a. |
data |
|
E - 3 |
data |
|
3 -31 |
data |
20= 01 0^100 2 ; индекс - 0.
(линия - Bytes 16 -23 -
адреса линии кратны 3 байтам )
28= СО. 1100 2 ; индекс - 1. Попадание - дажз нз смотря , что до этого 28 нз было !
your turn... 12= 00 ^100 2 08= 00 ^000 2 44= Ю ^100 2
Printed with FinePrint- purchase atwww.fineprint.com
Gustd
Block Size and Miss Rate



256
Block size (bytes)
■ 1 KB
8KB
16KB
64KB
256KB
Ruleof
thumb:block
size
should be lessthan square
root of cachesize.
Слайд
I4roro : организация
Обычный
каи - трёхмерная структура
|
tag |
index |
block offset |

Строк га модуль Blocks/set( associativity )
I
![]()

Байт
га строку (размер
строт )
Bytes/block(
blocksize
)
Слайд 4)
Printed
with FinePrint- purchase atwww.fineprint.com
Cache Pa ra meters
Cache size
=
Number
of sets *
block
size *
associativity
128blocks,32
-byte blocks, direct mapped, size
= ? C96 байт
128 KB cache, 64 -byte blocks, 512 sets, associativity =? 4
Вопросы
:
Какие
биты и (сколько ) должны быть выбраны
для
индекса ?
тэга ?
смещения ?
Printed
with FinePrint- purchase atwww.fineprint.com
Слайд 41
Слайд 42
Биты для индекса
Если
длина строки - п байт , младшие биты
bg
2п
адреса байта -дают
смещение offset
о fad dress внутри строки within a line.
Следующая группа битов index - в случае , если кш содержит X байт в каждом модуле , то любой модуль с X последовательными байтами должен иметь возможность размещения и адресации в кш .
(Пэи условии , что каждый блок начинается с кратного размеру строки байта .)
Оставшиеся биты - тэги tag . Анатомия адреса :
|
tag |
index |
offset |
Слайд
Как блок ищется в
Тэг
для каждого блока
- Для поиска нет необходимости проверять индекс либо смещение внутри блока
Адрес
Tag
Block address
Index
Block offset
Printed with FinePrint- purchase atwww.fineprint.com
|
|
tags |
data |
|
|
|
|
|
| ||
|
|
|
|
Слайд Щ
Пример
Ёмкость
гаи - 32KB , строки го 25Б байт .
LLA - 32 разряда -> (виртуальная память 232 - 4Гб) сколько бит на tag, set, and offset для
Прямого отображения (direct-mappedimplementation )?
4-wayset -associativeimplementation?
Полностью ассоциативного отображения (fully -associativeimplementation )?
Address
Слайд
Пример
Смещение
- 8 6m"
для всех версий гаи Все версии го 128
строк
Прямое отображение - 128sets -> го 7bits для адресации :
- Offset - 8 bits, set - 7 bits,tag =32 - (8 + 7) = 17 bits
4-wayset -associative version has 128/4 = 32 sets ->5 для выбора модуля
- Offset - 8 bits, set - 5bits,tag =32 - (8 + 5) = 19 bits
Полностью ассоциативная память - lset, соответственно - поле set =0
- Offset - 8 bits,set - Obits,tag - 32 - 8 = 24bits
Слайд 45
Printed with FinePrint- purchase atwww.fineprint.com
l/traro :( Putting it all together)
64
KB
cache, direct -mapped,32 -byte cache block
|
31 3029 |
28 27... |
17 1615 14 13 12 |
1 10987 6543 |
210 |
|
| ||||||
|
tag index j |
|
| ||||||||||
|
|
|
|
—И |
|
word offset. | |||||||
|
|
46 |
vaid tag |
data |
|
| |||||||
|
|
0 l 2 |
|
|
|
| |||||||
|
|
|
|
| |||||||||
|
|
|
|
| |||||||||
|
|
|
|
| |||||||||
|
|
|
|
| |||||||||
|
|
|
|
| |||||||||
|
|
|
|
| |||||||||
|
|
|
2И5 2И6 2W7 |
|
|
|
|
| |||||
|
|
|
|
|
|
| |||||||
|
|
|
|
|
|
| |||||||
|
|
|
|
|
|
| |||||||
|
|
|
|
|
|
| |||||||
|
|
|
|
|
|
| |||||||
|
|
.r |
л |
256 " |
|
|
| ||||||
|
|
|
|
|
|
У |
|
1 |
1 | ||||
>3
hit/miss
8
й 47
A set associative cache
32
KB
cached -wayset-associative, 16
-byteblocks

31
30 29 28 27
17
1615
14 131211109876543
210

tag
index
tag
tag
■10
data
word offset.
Ы
О
iffil
1022 10E3



Thispicturedoesn 'tshow the "mostrecent " bit (need one bit per set)
Printed
with FinePrint- purchase atwww.fineprint.com
Слшд
Структурная и функциональная организация ЗЁМ (ComputerOrganization and Design )
БГУИР
кафедра
ЗЕМ
доцент Сам ал ь Дм три й Иванович
т.284 -21 -61, dmitry _samal @mail. iu,
a.5Q2 -5
Лекция 16 «Hau »
2G07
План
лекции
