Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
56
Добавлен:
11.05.2015
Размер:
2.12 Mб
Скачать

11

Организация многоуровневой памяти компьютера

Контроллер КЭША оперирует строками фиксированной длины. Строка может хранить копию блока основной памяти, размер которого, естественно, совпадает с длиной строки. С каждой строкой КЭША

связана информация об адресе скопированного в нее блока основной памяти и признаки ее состояния. Строка может быть действительная (valid) или не действительной (пустой).

КЭШ имеет совокупность строк, каждая из которых состоит из фиксированного количества адресуемых единиц памяти (байтов, слов) с последовательными адресами. Типичный размер строки: 16, 32, 64, 128, 256 байтов.

Наиболее часто используется 3 способа организации КЭШ – памяти. Они отличаются объемом требуемой аппаратуры:

1)КЭШ –память с прямым отображением (direct –

mapped cache);

Физика компьютеров 2011

2) Частично-ассоциативная (set – associative cache);

Л.А.Золоторевич

12

Как известно, кэш хранит копии данных из различных

адресных областей основной памяти. Поскольку в кэше

невозможно одновременно хранить копии данных из всех адресных областей, необходим такой метод определения

адресов, данные которых скопированы в кэш, чтобы

необходимые данные считывались непосредственно из кэша, а не из основной оперативной памяти. Для этого

применяется ОЗУ тегов — дополнительная область памяти кэша, в которой содержится индекс адресов, скопированных в кэш.

Каждая строка памяти кэша имеет соответствующий

адресный тег, который хранит адрес данных основной памяти, скопированных в текущий момент времени в отдельную строку кэша.

Для получения данных с конкретного адреса основной памяти кэш-контроллер просматривает содержимое ОЗУ

тегов, чтобы определить наличие адреса, содержащегося в

кэше (совпадение), или его отсутствие (промах).

ОбнаруженныеФизикаданныекомпьютеровмогут быть2011эффективно считаны из

кэша; в противномЛ.Аслучае.Золоторевичпроцессор считывает данные из

13

КЭШ –память с прямым отображением

При использовании способа организации памяти с прямым отображением адрес представляется как набор трех

компонент, составляющих группы старших, средних

и младших разрядов адреса.

Соответственно – тега, номера строки и смещения.

Например, при 26 – разрядном адресе старшие 8 разрядов могут представлять тег, следующие 13 – номер строки и последние 5 разрядов- смещение в строке. В этом случае строка состоит из 32 адресуемых единиц памяти. Всего

строк в КЭШЕ – 8к.

КЭШ – память с прямым отображением представляет собой набор строк, каждая из которых содержит компоненту тег, номер строки и смещение.

Наличие в КЭШЕ элемента данных по запрашиваемому адресу определяется значением тэга. Если тег строки КЭШ –памяти равен компоненте тега адреса, то запрашиваемый элемент данных содержится в КЭШ –

памяти. Иначе, - необходима подкачка в КЭШ – память

строки с указаннымФизика компьютеровв адресе2011тегом. Так как для

определения наличияЛ.А.Золоторевичнужной строки данных в КЭШ –

14

КЭШ –память с прямым отображением

Физика компьютеров 2011 Л.А.Золоторевич

15

КЭШ –память с прямым отображением

В КЭШ – памяти прямого отображения адрес памяти, по которому происходит обращение, однозначно определяет строку, в которой может находиться отображение требуемого блока (№ тега – это № страницы).

Рассмотрим пример несекторированного КЭША объемом 256 Кбайт с размером строки 32 байта и объемом основной кэшируемой памяти 64 Мбайт – типичный КЭШ системной платы для Pentium. Структура памяти выглядит следующим образом:

Кэшируемая основная память страницы (в д .случае 256),

размером КЭШ – памяти. КЭШ – (и опять таки условно страницы памяти) делится на строки (256К/32 = 8к строк).

Архитектура прямого отображения

подразумевает, что каждая строка

может отображать из любой страницы

кэшируемой памятиФизикатолькокомпьютеровсоответствую2011 -

Л.А.Золоторевич

16

КЭШ –память с прямым отображением

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

Номер строки в КЭШ – памяти

индексом. Информацию о том, какой именно блок занимает данную строку,

(старшая часть адреса или № страницы) называется Тегом и хранится в связанной с данной строкой ячейке специальной памяти тегов. Память тегов должна иметь количество ячеек, равное количеству строк КЭША, а ее разрядность должна умещать старшие биты адреса кэшируемой памяти, не попавшие на шину адреса КЭШ –

памяти.

Кроме адреснойФизикачастикомпьютеровтега с каждой2011строкой КЭША связаны

биты признаковЛ.А.действительностиЗолоторевич и

17

КЭШ –память с прямым отображением

В начале каждого обращения к кэшируемой памяти контроллер первым делом считывает ячейку каталога с заданным индексом, сравнивает биты адреса

старшими битами адреса памяти и анализирует признак действительности

Если выясняется, что требуемый блок отсутствует в КЭШЕ, то идет обращение к основной памяти (случай КЭШ – При попадании запрос обслуживается КЭШ – памятью.

В случае промаха после считывания памяти новые данные помещаются и в строку КЭША (если она

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

(поскольку признак действительности относится ко всем ее байтам).

Если контроллер КЭША реализует упреждающее считывание,

то в последующие свободные циклы шины обновится и

Физика компьютеров 2011

следующая за нейЛ.Астрока,.Золоторевич(если она была чистой). Это чтение

18

КЭШ –память с прямым отображением

Этот КЭШ имеет самую простую реализацию и применяется во

КЭШЕ большинства системных плат

Однако если при выполнении процессору поочередно будут блоки памяти, смещенные относительно друг друга на величину, кратную страницы (блоки, расположенные горизонтали в разных страницах)

будет работать интенсивно, но

Будет сплошная череда КЭШ –

Физика компьютеров 2011 Л.А.Золоторевич

19

Наборно-ассоциативный КЭШ

Наборно-ассоциативная архитектура КЭША позволяет каждому

блоку кэшируемой памяти претендовать на одну или несколько строк КЭША, объединенных в набор.

Эту архитектуру можно рассматривать как несколько

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

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

Ассоциативный КЭШ

В отличие от предыдущих у полностью ассоциативного КЭША

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

В такой архитектуре для определения наличия затребованных

данных в КЭШФизика– памятикомпьютеровтребуется2011сравнение со старшей

частью адреса теговЛ.А.Золоторевичвсех строк, а не одной или нескольких,

20

Ассоциативный КЭШ

Естественно, последовательный перебор ячеек памяти тегов отпадает – на это может уйти слишком много времени.

Остается параллельный анализ всех ячеек, что

является очень объемной аппаратной задачей.

Имеется много подходов к организации ассоциативной памяти, отличающихся эффективностью и сложностью реализации.

Ассоциативные ЗУ

ЗУ, обращение к данным которого происходит не на основании адреса, а по некоторым признакам этих данных. В ассоциативной обработке данных отсутствует понятие адресации и обработка по своей сущности является

параллельной, поэтому она удобна при просмотре данных большого объема, например, баз дынных и т.п.

Физика компьютеров 2011 Л.А.Золоторевич

Соседние файлы в папке Лекции в БГУИР