• скачать файл

Решение 1 Описать схему кэш-памяти с использованием механизма ассоциативной

с. 1
Задания домашней работы номер 2: (надо сдать 20-го или 27-го октября))


  1. Написать схему выборки данных из ОЗУ (страничеая организация): Временн`ую диаграмму, число служебных обращений к памяти. - Где попадание, где совмещается... Где разрядики и т.п.
    Решение 2.1

  2. Описать схему кэш-памяти с использованием механизма ассоциативной памяти небольшого объема (8-10 строк).
    Решение 2.2

  3. Написать формулу оценки сравнительной производительности кэшей. Прямого, частично-асс и полностью асс.
    Решение 2.2

  4. (необязательная) Предложить оптимальный алгоритм подкачки виртуальных страниц.
    Решение 2.2

Решения 2-ой домашней работы

2.1


Есть виртуальный адрес блока памяти. По нему нужно найти физический адрес и переписать этот блок. Сначала по адресу вычисляется номер страницы, в которой лежит необходимый блок (обычно это первые несколько разрядов адреса, в зависимости от размеров таблицы вирт. адресов). По таблице проверяется, загружена ли эта страница в память, или откачана на жесткий диск (попадание или промах). Если промах - закачиваем, получаем адрес начала страницы. Прибавляем к нему смещение в странице (оставшиеся разряды из адреса), получаем адрес начала блока.

lilu: А что за временная диаграмма такая? Покажите кто-нибудь пример плиз(

wera: Я нарисовала оську времени и на ней наотмечала интервалов (а тут этот запрос, а тут передача данных...) 


2.2


Запись в кэш.
Есть блок основной памяти, который решено перенести в кэш. Ищем в кэше свободный блок, сохраняем в служебной информации строки адрес блока и его смещение в этой строке. И пишем блок из памяти в кэш.
Чтение из кэша.
Есть адрес блока, ищем в служебной информации к каждой строке этот адрес, когда находим, читаем его смещение в строке и читаем сам блок из кэша.

 

lilu: Здесь описан полностью ассоц. кэш. Тогда при чем тут вообще 8-10 строк объема в задании?



Мне кажется тут надо было описывать частично-ассоц. кэш. Нет?

wera:  Поскольку сказано ассоциативный, то два варианта: либо пишешь полностью-асс и потом отмазываешься, что типа не написано, что частично, либо пишешь, какой нравится и потом  отмазываешься, что не написано.



А 8 строк получается так: перенумеровываешь то, что сввалено в кучу :)

2.3
Тут всего одна формула сравнения производительности: t = t2*p + t1*(1-p), где
t1 - время доступа в основную память
t2 - время доступа в кэш
p - вероятность, что запрашиваемая страница лежит в кэше
и подразумевается, что t1>>t2.
Затем есть три варианта организации кэша:
1)прямой
2)частично-асс.
3)полностью асс.
а алгоритм замещения страниц одинаков для всех трех случаев. Т.е. в формуле будут отличаться только t2 и p. t2 складывается из времени поиска страницы в кэше и времени самого чтения(t').
Время поиска страницы (n-число строк в кэше, m-число строк в группе, для част.-асс. кэша, =2,4,8..):
1)n - придется смотреть все строки, ее там может еще и не быть:)
2)m - надо проверить все строки каждой группы
3)1 - номер определяется сразу
Вероятность нахождения страницы в кэше (p0 - некая абсолютная вероятность, что решено загрузить данную страницу из памяти в кэш и что ее не выбросят ко времени обращения):
1)p0
2)p0*m/n
3)p0/n
Итого:
1)t = (t'+ n)p0 + t1(1-p0)
2)t = (t'+ m)p0/n + t1(1-p0/n)
3)t = (t'+ 1)p0*m/n + t1(1-p0*m/n)

 

glar: не претендую на абсолютную истинность того, что тут написано, исправляйте если что заметите. 
с. 1