Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс_ЛЕКЦИЙ_АРХ_2012.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
1.17 Mб
Скачать

3.5.3 Множественно-ассоциативная четырехканальная кэш-память процессора i486

В современных процессорах используется 4-х, 6-ти и 8-ми ка­нальная кэш-память.

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

Рассмотрим типичную организацию кэш-памяти первого уровня для данных на примере процессора Intel i486 (рис. 3.9).

Строка кэш-памяти содержит 16 байт. Кэш состоит из блока дан­ных, блока тегов и блока

Р и с. 3.9. Четырехвходовая множественно-ассоциативная кэш-память

процессора i486

достоверности. Блок данных кэш-памяти разбит на 128 непересекающихся подмножеств по 4 строки в каждом подмножестве. Следовательно, это четырехканальная кэш-память

(4-way cache). Каждому входу соответствует банк памяти Бо, Б1, Б2, Б3. Четыре строки с одним и

тем же индексом k образуют набор k. Таким образом, общая емкость кэш-памяти равна: 16 байт х 4 х 128 = 8192 байта или 8 КВ.

Физический адрес, поступающий от процессора, содержит три поля:

  • 7-ми битовый индекс, адресующий набор;

  • 4-х битовый адрес байта внутри строки;

  • 21-но битовый тег строки, который заносится в блок тегов.

Сначала по индексу выбирается соответствующий набор k. Затем

в блоке тегов выбираются четыре тега, соответствующие строкам на­бора k. Ассоциативная схема сравнения тегов ССТ одновременно сравнивает тег в физическом адресе с четырьмя тегами из кэш-памя­ти. В случае совпадения тегов в регистр данных РД передается нуж­ная строка из блока данных, а 4 младших разряда физического адреса выбирают нужный байт из 16 байтов строки.

Кроме того, в кэше имеется блок достоверности, также разделен­ный на 128 наборов. Каждый набор k состоит из двух полей:

  • 4 бита достоверности V0, V1, V2, V3/k для каждой из строк k-го на­бора;

  • 3 бита B0,B1,B2/k для алгоритма LRU замещения строк k-го на­бора, который будет рассмотрен ниже.

Биты достоверности используются для контроля целостности данных, о чем пойдет речь дальше.

Замещение ненужных строк при кэш-промахах производится по специальному алгоритму. Чаще всего используются LRU (Least Re­cently Used) - «наиболее давнее использование» и LFU (Least Fre­quently Used) - «наименее частое использование». В данной кэш-па­мяти применен алгоритм LRU. Он замещает ту строку в кэше, к кото­рой дольше всего не было обращений. Биты B0,B1,B2/k содержат пре­дысторию обращений к строкам набора k.

3.5.4 Дисковая кэш-память

Идея кэширования распространена и на другие устройства компьютера. В первую очередь это касается жестких дисков.

Возмож­ны два варианта:

  • операционная система использует часть оперативной памяти в качестве кэша дисковых операций для внешних устройств, не облада­ющих собственной кэш-памятью, в том числе жестких дисков, flash- памяти и гибких дисков;

  • используется отдельная дисковая кэш-память объемом от 8 до 64 Мбайт.

Во втором случае контроллер дисковой кэш-памяти пересылает между ОП и винчестером файлы, содержащие сектора или дорожки диска.

Устройства чтения CD/DVD/BD-дисков также кэшируют прочи­танную информацию для ускорения повторного обращения.

Применение кэширования внешних накопителей обусловлено следующими факторами:

  • скорость доступа процессора к оперативной памяти во много раз больше, чем к памяти внешних накопителей;

  • некоторые блоки памяти внешних накопителей используются несколькими процессами одновременно, и имеет смысл прочи­тать блок один раз, а затем хранить его копию блока в оператив­ной памяти для всех процессов.

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