КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Кэш-память в компьютере
Использование кэш-памяти базируется на «принципе локальности ссылок», который был рассмотрен ранее. Это означает, что следующее обращение к памяти в программе с большой вероятностью произойдет к тому же блоку данных, который находится в данный момент в кэш-памяти. Кэш разбивается на строки по 16 или 32 байта, соответствующие одному стандартному пакетному циклу обращения к динамической памяти. Обмен информацией между ОП и кэш-памятью осуществляется строками, даже если необходимо передать только один байт. Процессор, выполняя команду, запрашивает операнд по некоторому адресу в адресном пространстве. Кэш-контроллер проверяет, есть ли в кэше строка данных, соответствующая запрашиваемому адресу. На такие же строки условно разделяются и страницы основной памяти. В случае наличия искомой строки ситуация называется кэш-попадание. Если нужной строки в кэш-памяти нет, то происходит кэш-промах, и кэш-контроллер инициирует обращение к основной памяти ОП для переписи из нее нужной строки в кэш-память. В связи с этим возникает проблема замены какой-либо строки в кэше на новую строку из ОП. Для этого используют специальные дисциплины замещения строк. Таким образом, функциями кэш-контроллера являются: 7. хранение информации об адресах строк данных, находящихся в кэш-памяти; 8. хранение предыстории обращений к строкам в кэш-памяти; 9. замещение строк в кэш-памяти в случаях кэш-промахов; 10. контроль системной шины для выявления обращений к ОП со стороны других устройств. 3.5.2 Типы кэш-памяти Предположим, что основная память ОП имеет емкость M = 2N строк, где N - число двоичных разрядов адреса. Емкость кэш-памяти равна т, при этом n = log2m - число разрядов, необходимых для адресации m строк кэш-памяти. Проблема в том, что M >> т и N > n.
Физический адрес, выработанный процессором и имеющий длину N, делится на три поля: а) индекс S - адресует подмножество строк в кэш-памяти; б) адрес b байта в строке; в) тег T - остальная часть физического адреса, T =N- S- b, служащая ассоциативным признаком при поиске в кэш-памяти. Пусть кэш-память разбита на 2S непересекающихся подмножеств строк. Тогда число строк в одном подмножестве равно 2n - S. Это число определяет количество входов или каналов кэш-памяти. В современных вычислительных системах используются три типа организации кэш-памяти. 4. Полностью ассоциативная кэш-память. В этом случае S =0 - имеем одно подмножество, совпадающее со всей кэш-памятью и 2n- S = 2n - число строк в подмножестве равно емкости кэша. 5. Кэш с прямым отображением. Имеем S = n, то есть 2n подмножеств и число строк в одном подмножестве равно 2n- S = 20 = 1. 6. Множественно-ассоциативная кэш-память. В этом случае 1 < S < n -1. При S = 1 имеем два подмножества в кэше по 2n-1 строк в каждом. При S = n -1 имеем 2n-1 подмножеств по две строки в каждом (двухвходовая кэш-память). Аналогично при S = n- 2 имеем 2n-2 подмножеств по 4 строки в каждом (четырехвходовая кэш-память). Рассмотрим организацию каждого типа кэш-памяти. Кэш с прямым отображением Каждая строка кэш-памяти может содержать строку основной памяти только из определенного подмножества адресов, причем эти подмножества не пересекаются. Поиск состоит из следующих шагов: • определение, в какое из подмножеств адресов основной памяти попадает адрес строки, выработанный процессором; • обращение к единственной соответствующей строке и сравнение ее тега с адресом от центрального процессора для определения, является ли эта строка искомой. На рис. 3.6. приведен пример структуры кэш-памяти с прямым отображением.
Рис. 3.6. Кэш-память с прямым отображением Для простоты рассмотрим ОП, содержащую 16 строк данных, и кэш-память объемом в четыре строки. Собственно микросхема кэшпамяти содержит только данные в виде строк. При этом в одной строке находятся несколько слов с последовательными адресами. В кэш- контроллере организована память тегов и индексов строк, а также блоки выборки строк и сравнения тегов .Все строки основной памяти, имеющие S одинаковых младших разрядов, объединяются в подмножества. Эти подмножества могут отображаться в кэше только в строке с индексом, равным коду этих разрядов. В нашем примере индекс образуют два младших разряда. Следовательно, например, строки 1, 5, 9 и 13 могут находиться только в строке кэша с индексом 01 и ни в какой другой строке. В общем случае, если разрядность адреса ОП равна N, а разрядность индекса - п, то адресные теги содержат оставшиеся N-n разрядов адреса строки. Преимущество такой кэш-памяти в простоте организации и низкой стоимости. Основной недостаток - ограниченное число комбинаций строк в кэше, что приводит к увеличению процента кэш-промахов. Например, строки 5 и 9 не могут одновременно находиться в кэш-памяти, даже если есть свободные места в строках с другими индексами.
Дата добавления: 2014-01-20; Просмотров: 607; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |