вторник, 12 февраля 2013 г.

время доступа к кэшу l3

6,9 Mb.НазваниеУчебное пособие по курсу «Организация эвм, комплексов и сетей» частьстраница23/60Дата конвертации26.08.2012Размер6,9 Mb.Тип             23           Тег Строка Слово Структура кэш-памяти для нашего случая будет иметь вид как на рисунке 3.6. Адрес Бит Тег Данные Адреса, которые использует строки дос-ти этот элемент 1111 15, 31, 47, . - - - - 0001 1, 17, 33, 0000 0, 16, 32, Рис. 3.6 Кэш-память прямого отображенияИз рисунка видно, что в первую строку кэша можно помещать только первую, семнадцатую, тридцать третью и т.д. строки основной памяти. Каждый элемент кэш-памяти состоит из четырех частей: адрес строки кэша; бит достоверности, указывает есть ли достоверные данные в элементе или нет; поле «Тег», указывает соответствующую строку памяти, из которой поступили данные; поле «Данные» содержит копию данных основной памяти, поле данных вмещает одну строку в 16 байт. Как мы видим, каждая запись включает в себя адрес, который этот элемент данных имеет в ОП, сами данные, дополнительную управляющую информацию (признак модификации, признак частотности обращения к данным за некоторый последний промежуток времени), которая используется для реализации алгоритма замещения данных в кэше. CPU ОП Медленный ответ (кэш-промах) Запрос КЭШ Быстрый ответ (кэш-попадание) Рис. 3.7 Кэш-память и связь с процессоромВ кэш-памяти «прямого отображения» искомое слово может находится только в одном месте кэша. Когда процессор выдает адрес памяти, аппаратное обеспечение выделяет из этого адреса 4 бита поля «строка» и использует их для поиска в кэше одного из 16 элементов (строк). Если этот элемент действителен (бит достоверности 1), то производится сравнение поля «Тег» ОП и поля «Тег» кэша. Если поля равны, это значит «удачное обращение» - hit. Если элемент кэш-памяти недействителен (бит достоверности 0, или поля «Тег» не совпадают, то нужного слова в кэше нет 0 - miss. В этом случае 16-ти байтная строка вызывается из ОП и сохраняется в кэше. Все это происходит параллельно и время на поиск данных существенно сокращается. Итак, при каждом обращении к основной памяти по физическому адресу просматривается содержимое кэш-памяти с целью определения, не находятся ли там нужные данные. Зачастую, кэш-память не является адресуемой, поэтому поиск данных осуществляется по содержимому по взятому из запроса значению поля «Тег - адрес в ОП». Далее возможны два варианта: если данные обнаруживаются в кэше, т.е. произошло кэш-попадание (cache-hit), они считываются из нее и результат передается источнику запроса; если нужные данные отсутствуют в кэш-памяти, т.е. произошел кэш-промах (cache-miss), они считываются из основной памяти и одновременно копируются из ОП в кэш. На практике в кэш-память считывается не один элемент данных, к которому произошло обращение, а целый блок данных, что увеличивает вероятность попадания в кэш. Покажем на примере эффективность применения кэш-памяти. Пусть имеется ОП со средним временем доступа t1=60,0нс и кэш-память, имеющая время доступа к данным t2=12,0нс, а p вероятность кэш-попадания, причем p=0,8, тогда среднее время доступа к данным t в системе с кэш-памятью равно:t = t1 ](1-p) + t2p = 60,0*0,2 + 12,0*0,8 = 21,6 нсОчевидно, что полученное среднее время доступа к такой системе больше чем среднее время доступа непосредственно к кэшу, но значительно меньше времени доступа к ОП. В реальных системах вероятность попадания в кэш близка к 0,9. Столь высокое значение hit rate связано с наличием у данных объективных свойств локальность обращения, которое включает пространственную локальность (если произошло обращение по некоторому адресу, то с высокой степенью вероятности в ближайшее время произойдет обращение к соседним адресам), временную локальность (если произошло обращение по некоторому адресу, то в ближайшее время будет обращение по этому же адресу). Однако, несмотря на свою простоту и высокое быстродействие кэш-память обладает большими недостатками, вытекающими из того факта, что различные строки основной памяти конкурируют за одну и ту же область кэш-памяти. Решение этих проблем достигается на пути конструирования различных видов иерархии кэш-памяти. Способы организации кэш-памяти Чтобы описать некоторый уровень иерархии памяти надо ответить на следующие четыре вопроса: 1. Где может размещаться блок на верхнем уровне иерархии? (размещение блока). 2. Как найти блок, когда он находится на верхнем уровне? (идентификация блока). 3. Какой блок должен быть замещен в случае промаха? (замещение блоков). 4. Что происходит во время записи (стратегия записи)? . Рассмотрим организацию кэш-памяти в общем случае, отвечая на четыре вопроса об иерархии памяти. 1. Где может размещаться блок в кэш-памяти? Принципы размещения блоков в кэш-памяти определяют три основных типа их организации: Если каждый блок основной памяти имеет только одно фиксированное место, на котором он может появиться в кэш-памяти, то такая кэш-память называется кэшем с прямым отображением (direct mapped). Это наиболее простая организация кэш-памяти, при которой для отображение адресов блоков основной памяти на адреса кэш-памяти просто используются младшие разряды адреса блока. Таким образом, все блоки основной памяти, имеющие одинаковые младшие разряды в своем адресе, попадают в один блок кэш-памяти (сегментирование). Скорость поиска данных в таком кэше достаточно высока, однако последовательный опрос нескольких ячеек ОП которым соответствует только одна ячейка кэша, предполагает каждый раз обращаться к медленной ОП. Если некоторый блок основной памяти может располагаться на любом месте кэш-памяти, то кэш называется полностью ассоциативным (fully associative). Когда процессор запрашивает данные из ОП, начинается поиск во всех ячейках кэша. Если кэш не содержит искомой информации, она считывается из ОП и одновременно записывается в ячейку кэша к которой дольше всего не было обращений. Скорость поиска данных в ассоциативном кэше меньше, чем в кэше прямого отображения. Преимуществом ассоциативного кэша является то, что в нем всегда хранится та информация к которой в последнее время производился доступ. Если некоторый блок основной памяти может располагаться на ограниченном множестве мест в кэш-памяти, то кэш называется множественно-ассоциативным (set associative). Обычно множество представляет собой группу из двух или большего числа блоков в кэше, т.е. все ячейки такого кэша разделены на несколько областей (от 2 до 8), каждая такая область работает подобно кэшу прямого отображения. Если множество состоит из n блоков, то такое размещение называется множественно-ассоциативным с n каналами (n-way set associative). 2. Как найти блок, находящийся в кэш-памяти? У каждого блока в кэш-памяти имеется адресный тег, указывающий, какой блок в основной памяти данный блок кэш-памяти представляет. Эти теги обычно одновременно сравниваются с выработанным процессором адресом блока памяти. Кроме того, нео

Тег Строка Слово - Учебное пособие по курсу «Организация эвм, комплексов и сетей» часть

Комментариев нет:

Отправить комментарий