8086.ru2. Организация памяти ЭВМ2.3 КЭШ - память → 2.3.3 Частично-ассоциативное распределение

2.3.3 Частично-ассоциативное распределение

Является развитием метода прямого и ассоциативного распределения. При этом методе кэш-память строится из модулей, образующих группу строк - не менее двух модулей, например 4.

При данном распределении для выбора группы строк используется метод прямого распределения, а для выбора модуля в группе (строки) - метод полностью ассоциативного распределения (рисунок 2.9). Поле [b], как и при прямом распределении, адресует множество строк, отстоящих друг от друга с шагом кратным 64, а старшие разряды адреса также используются в качестве тега для выбора одной строки из этого множества. При этом в кэш-памяти для каждого адреса поля [b] можно хранить группу до четырех строк из этого множества. Выбор модуля (или одной строки из группы (четырех строк)) определяется по совпадению тегов (старших разрядов адреса) в данной группе и запрашиваемой строки.

Рисунок 2.9 - Связь кэш-памяти с основной памятью

Для доступа к массиву тегов, в котором хранятся 7 старших разрядов адреса (поле а), используются 6 младших разрядов адреса [b] строки (индекс группы строк), при этом одновременно осуществляется обращение и к СОЗУ данных. Из четырех модулей теговой памяти выбираются 7-разрядные теги (4 тега) строк и сравниваются с адресом тега из RgФA[а].

Если хотя бы один тег совпал, то вырабатывается сигнал A∈Teg и на выходе шифратора CD формируется двоичный номер модуля СОЗУ данных, в котором находится запрашиваемая строка. Так как память тегов и СОЗУ данных работают параллельно, то при чтении на выходе MS/DMS появляется запрашиваемое слово строки (из модуля 1, адрес слова определяется 9-ью младшими разрядами регистра адреса [b.c]) (рисунок 2.10).

Рисунок 2.10 - Структурная схема частично-ассоциативной памяти без расслоения обращений

Кандидатом на удаление из кэш-памяти однозначно назначается группа из четырех строк полем [b] RgФА, а конкретная строка определяется ассоциативно по одному из методов замещения строк.

Достоинства:

  1. Высокое быстродействие: чтение за один такт. Время такта равно: tкэш={max tтеg=(τтеg +τсх.ср. +τcd + τлэ); tсозу.дан.=(τсозу дан. + τms + τrgdio)}, а запись за 2 такта tкэш = 2 × max {tтеg, t созу.дан.};
  2. Незначительные аппаратурные затраты (использование БИС памяти с произвольным доступом статического типа);
  3. Возможность получения достаточно большой емкости кэш-памяти (при неизменной разрядности полей RgФА емкость кэш-памяти увеличилась в 4 раза);
  4. Сокращение числа промахов по сравнению с методом прямого распределения, так как кандидат на замещение строки выбирается как один из четырех модулей по одной из стратегий замещения).
  5. Модификацией структуры кэш-памяти может служить вариант, исключающий из структуры шифратор, а выходы схем сравнения соединяются с соответствующими входами выбора кристалла модулей ~CSi СОЗУ данных. Однако при этом время обращения к кэш-памяти и для чтения, и для записи будет составлять два такта.