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

Пример 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

1 hit ,cache r hit ,cache

= T * P

1 hit ,cache

4- T

miss fcache

+ т . * p . .

1 avg ,main ' mes^ache

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

data

-

-

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 )

15%

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

16 64

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

hifmiss

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

План лекции