3 типа:
1. КЭШ с прямым отображением
2. ассоциативная КЭШ
3. наборно - ассоциативная КЭШ
1) Адрес полностью определяет используемую строку КЭШ с ОП.
Строка КЭШ минимальный блок данных, которыми обменивается КЭШ с ОП.
При КЭШ-попадании считывание идет из КЭШ, иначе из ОП и соответственно строка КЭШ обнавляется.
КЭШ + 8 строк х 8 байт + 64 байта
Для примера десятиразрядный адрес.
В этом методе адрес однозначно определяется номером строки КЭШ.
Если теги совпадают и V + 1, то чтение идет из КЭШ, если нет, то из ОП.
+ — малые аппаратные затраты (одна операция сравнения для тегов)
- — если 2 блока претендуют на одну строку КЭШ (в этом примере на одну строку претендуют 2 4 ячеек, т.е. 16) и они одинаково часто используются
2) в полностью ассоциативной КЭШ-памяти любой блок памяти может занимать любую строку КЭШа.
Полный адрес памяти делится только на 2 части: тег и смещение.
|
|
+ — Отсутствие конфликтов адресов (любой адрес ОП может занимать любую строку КЭШ).
- — большие аппаратные затраты для сравнения всех тегов.
3) наборно ассоциативная архитектура.
Несколько линий адреса образуют набор и сравнение тегов производится только для строк КЭШа, входящих в набор.
Двухвходовый наборно-ассоциативный КЭШ
КЭШ может быть разделен для команд и данных, что позволяет оптимизировать отдельные кэши.
Пример реализации двухвходового наборно-ассоциативного
КЭШ со сквозной записью
ШД процессора = 16 бит
ШД ОЗУ = 32 бит
Пока КЭШ пустая V = 0
Алгоритмы работы
МП выставил адрес и признак чтения
1. Разряд А1 настраивает MS на подключение 16-разрядной ШД к одной из половин 32-разрядной ШД ОЗУ — КЭШ
2. А2 — А 9 выбирает одну из 256 линий КЭШа и формирует сигнал на выходе КЭШ: Tag, D, D, V.
3. Сравниваются ТЕГи и если есть совпадения формируется сигнал Hit (попадание) и на ШД поступают данные через MS.
4. Если Hit = 0, то МП получает данные, а разряд S устанавливается в 0 или 1, указывая из какого блока было считывание (разряд активности).
5. Если Hit = 0, то S не изменяется и схема управления считывает из ДОЗУ 32-разрядное слово по адресу A2 — A21, т.е. извлекается 2 слова: требуемое и рядом находящееся. Считанное слово записывается в КЭШ по адресу А2 — А9. Блок, в который будет записана информация, определяется битом S (если S = 0, то во второй, если S = 1, то в первый).В разряды поля Tag записываются А10 — А21. Затем бит S инвертируется, показывая обновление информации. Признак V устанавливается в 1, показывая заполненность строки. Требуемое 16-разрядное слово (определяется А1) считывается в МП (происходит считывание с одновременным созданием копии в КЭШ).
|
|