Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
госы 2008 / Госы3.doc
Скачиваний:
82
Добавлен:
29.05.2015
Размер:
3.03 Mб
Скачать

Вопрос 11 - Способы организации кэш памяти

В функциональном отношении КЭШ-память рассматривается буферное ЗУ, размещённое между основной (оперативной) памятью и процессором. Основное назначение КЭШ-памяти - кратковременное хранение и выдача активной информации процессору, что сокращает число обращений к основной (оперативной) памяти, скорость работы которой меньше чем КЭШ-памяти. В процессе работы отдельные блоки информации копируются из основной памяти в КЭШ-память, и когда процессор обращается за командой или данными, то сначала проверяется их наличие в КЭШ-памяти. Если необходимая информация находится там, то она быстро извлекается. Такой случай обращения называется КЭШ-попаданием. Если необходимая информация в КЭШ-памяти отсутствует, то она выбирается из основной памяти и одновременно заносится в КЭШ- память. Такой случай называется КЭШ-промахов.

Повышение быстродействия вычислительной системы достигается в том случае, когда КЭШ-попадания реализуются намного чаще, чем КЭШ-промахи. Высокий процент КЭШ-попаданий обеспечивается благодаря тому, что в большинстве случаев программы обращаются к ячейкам памяти, расположенным вблизи от ранее использованных. Это свойство, которое называют локальностью программ, обеспечивает эффективность использования КЭШ-памяти.

За единицу информации при обмене между основной памятью и КЭШ-памятью принята строка, причём под строкой понимается набор слов, выбираемый из оперативной памяти при одном к ней обращении. Хранимая в оперативной памяти (ОП) информация представляется, таким образом, совокупностью строк с последовательными адресами. В любой момент времени строки в КЭШ-памяти представляют собой копии строк из некоторого их набора в ОП, однако расположены они не обязательно в такой же последовательности, как в ОП.

Типовая структура КЭШ-памяти.

Рассмотрим типовую структуру КЭШ- памяти (рис.2.1), включающую основные блоки, которые обеспечивают её взаимодействие с ОП и центральным процессором.

Строки, составленные из информационных слов, и связанных с ними адресные теги хранятся в накопителе, который является основой КЭШ-памяти. Адрес требуемого слова, поступающий от центрального процессора, вводится в блок обработки адресов (БОА), в котором реализуются принятые в данной КЭШ-памяти принципы использования адресов при организации их сравнения с адресными тегами. Само сравнение производится в блоке сравнения адресов (БСА), который конструктивно совмещается с накопителем, если КЭШ-память строится по схеме ассоциативной памяти. Назначение БСА состоит в выявлении попадания или промаха при обработке запросов от центрального процессора. Если если имеет место КЭШ-попадание (т.е. искомое слово храниться в КЭШ-памяти, о чём свидетельствует совпадение кодов адреса, поступающего от центрального процессора, и одного из адресов некоторого адресного тега ), то соответствующая строка из КЭШ-памяти переписывается в регистр строк. С помощью селектора-демультиплексора из неё выделяется искомое слово, которое и направляется в центральный процессор. В случае промаха с помощью блока формирования запросов (БФЗ) осуществляется инициализация выборки из ОП необходимой строки. Адресация ОП при этом производится в соответствии с информацией, поступившей от центрального процессора. Выбираемая из памяти строка вместе со своим адресным тегом помещается в накопитель и регистр строк, а затем искомое слово передается в центральный процессор. Для высвобождения места в КЭШ-памяти с целью записи выбираемой из ОП строки одна из строк удаляется. Определение удаляемой строки производится посредством блока замены строк (БЗС), в котором хранится информация , необходимая для реализации принятой стратегии обновления находящихся в накопителе строк.

Способы размещения данных в КЭШ-памяти.

Существует четыре способа размещения данных в КЭШ-памяти: прямое распределение, полностью ассоциативное распределение, частично ассоциативное распределение и распределение секторов. Ниже подробно описаны каждый способ размещения и его механизм преобразования адресов. Для того, чтобы конкретизировать описание, положим, что КЭШ-память может содержать 128 строк 16 слов в строке 8 р. , а основная память может содержать 128*128=16384 строк. Для адресации основной памяти используется 18 бит. Из них старшие 14 показывают адрес строки, а младшие 4 бит - адрес слова внутри этой строки. При одном обращении к памяти выбирается одна строка. 128 строк КЭШ-памяти указываются 7-разрядными адресами.

Если процессор намерен получить информацию из некоторой ячейки основной памяти, а копия содержимого этой ячейки уже имеется в КЭШ-памяти, то вместо оригинала считывается копия, время считывания составляет 50нс. Информация в КЭШ-памяти и основной памяти не изменяется. Если копии нет, то производится обращение к основной памяти с временем считывания 500нс. Полученная информация переписывается в процессор и попутно запоминается в КЭШ-памяти. Чтение информации в отсутствие копии отражено во второй строке таблицы. Информация в основной памяти не изменяется.

При записи информации в ячейку памяти и наличии копии этой ячейки в КЭШ-памяти оригинал и копия обновляются. Если копии нет, то обновляется только содержимое ячейки основной памяти, т.е. копия не создаётся.

Таким образом, КЭШ-память ускоряет считывание команд и данных, которые "недавно" считывались или корректировались, а в остальных случаях выигрыша нет. При выполнении программ процессором операции операции записи в память составляют 10%, а операции чтения-90% общего числа обращений к памяти. В свою очередь, при использовании КЭШ-памяти от 80 до 95% операций чтения выполняются быстро (за 506, а не 500нс). Для записи в КЭШ-память существует несколько методов замещения старой информации. Эти методы называются стратегией обновления основной памяти. Если результат обновления строк КЭШ-памяти не возвращается в основную память, то содержимое основной памяти становится неадекватным вычислительному процессу. Чтобы избежать этого, предусмотрены методы обновления основной памяти, которые можно разделить на две большие группы: метод сквозной записи и метод обратной записи.

Соседние файлы в папке госы 2008