Модель трех «C»

Модель кэш-памяти, в которой все промахи при обращении к ней классифицируются по одной из трех категорий: вынужденные промахи (compulsory misses), промахи вместимости (capacity misses) и промахи конфликтов (conflict misses).

Вынужденный промах (compulsory miss)

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

Промах вместимости (capacity miss)

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

Промах конфликта (conflict miss)

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

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

Коэффициент промахов можно разбить на три источника промахов. На этой схеме показан общий коэффициент промахов и его составляющие для диапазона размеров кэш-памяти. Эти данные верны для контрольных задач по работе с целыми числами и числами с плавающей точкой SPEC2000, и получены из того же источника, что и данные. Компонент вынужденных промахов равен 0.006% и не может быть замечен на данной схеме. Следующий компонент касается коэффициента промахов вместительности и зависит от размера кэш-памяти. Компонент, касающийся конфликтов, который зависит как от степени ассоциативности, так и от размера кэш-памяти, показан для диапазона ассоциативности от одноканальной до восьмиканальной. В каждом отдельном случае подписанная часть соответствует возрастанию коэффициента промахов, когда ассоциативность изменяется от следующего, более высокого уровня до подписанного уровня. Например, та часть, которая обозначена как «двухканальная», показывает дополнительные промахи, возникающие, когда кэш-память имеет двухканальную, а не четырехканальную ассоциативность. Таким образом, разница в коэффициент промахов, получающаяся при сравнении кэш-памяти с непосредственным отображением и полностью ассоциативной кэш-памяти одного и того же размера, складывается из суммы частей, помеченных как «четырехканальная», «двух канальная» и «одноканальная». Разница между восьмиканальной и четырехканальной частью настолько мала, что на этой схеме ее разглядеть довольно трудно.

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

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

Деление промахов на три C является довольно-таки полезной качественной целью. В реальных конструкциях кэш-памяти многие конструктивные решения влияют друг на друга, и изменение одной характеристики кэш-памяти зачастую будет оказывать влияние сразу на несколько компонентов, определяющих коэффициент промахов. Несмотря на такие недостатки, эта модель является полезным способом постижения производительности различных конструкций кэш памяти.





Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: