История изменений
Исправление koirn, (текущая версия) :
Зачем так?
При работе программы чаще всего обращаются к соседним ячейкам памяти, чем к далеко разбросанным. Если бы кеш был кешем-прямого отображения, как вы описали, то, т.к в одну строку кеша отображается массив ячеек памяти, а не одна ячейка, происходила бы частая перезапись одной и той же строки кеша, при этом остальные строки были бы не задействованы.
Для обхода этой проблемы используется смешанный вид кеша - множественно-ассоциативный. Т.е опять же по тегу выбирается строчка, а в ней уже ассоциативными алгоритмами выбирается ячейка куда писать
Исходная версия koirn, :
Зачем так?
При работе программы чаще всего обращаются к соседним ячейкам памяти, чем к далеко разбросанным. Если бы кеш был кешем-прямого отображения, как вы описали, то т.к в одну строку кеша отображается массив ячеек памяти, а не одна ячейка, происходила бы частая перезапись одной и той же строки, при этом остальные были бы не задействованы. Для обхода этой проблемы используется смешанный вид кеша - множественно-ассоциативный.