5

В последние несколько лет, рассматривая процессоры Intel, произошел переход от кэша L2 большого размера к кэшу L3 большого размера. Во многом это связано с наличием большего количества ядер на процессоре и желанием делить кеш между ними (преимущество L3).

Но предположим, что у меня есть однопоточное приложение, и я хочу сравнить скорость его запуска на двух разных CPUS, которые имеют одинаковую тактовую частоту:

  1. процессор с 6 МБ кэш- памяти второго уровня при 3,1 ГГц (например, Core 2 Duo E8500)

  2. процессор с 6 МБ кэш-памяти третьего уровня с частотой 3,1 ГГц (например, Core i5 2400)

Не учитывая эффекты турбонаддува и более быстрые коэффициенты DDR, кажется, что первый (более старый) процессор должен работать намного быстрее (так как он ближе к уровню ядра), нет?

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

3 ответа3

4

Это зависит. Если внутренний цикл вашей программы помещается в кэш L1 обоих процессоров, а скорости памяти одинаковы, большой разницы вы не увидите.

Если внутренний цикл помещается в кэш L2 6 МБ, но не помещается в кэш L2 ЦП с кэш-памятью L3 6 МБ, то программа будет работать быстрее на старом ЦП с большим кешем L2.

Но в целом внутренняя часть программы очень мала.

2

Intel использует новую технологию кэширования, называемую "Smart Cache", поэтому я сомневаюсь, что какие-либо сравнения между текущими моделями и процессорами прошлых лет находятся на равных. Имейте в виду, что я думаю, что "Smart Cache" - это только технология Intel; AMD использует то, что называется "Сбалансированный Smart Cache".

Информация Википедии :

Smart Cache - это метод кэширования уровня 2 или уровня 3 для нескольких исполнительных ядер, изобретенный Intel. Он разделяет кеш между ядрами (CPU Core или GPU). По сравнению с выделенным кешем на ядро общая частота промахов кеша уменьшается во времена, когда не всем ядрам нужно одинаково много места в кеше. Следовательно, одно ядро может использовать кеш полного уровня 2 или кеш уровня 3, если другие ядра неактивны. Кроме того, общий кэш позволяет быстрее распределять память между различными ядрами исполнения.

0

Что касается второй части вопроса, да, это все еще верно в некоторой степени. L1 быстрее, чем L2, а L3 медленнее, чем L2. Но я бы не назвал это "половинной частотой", так как дизайн процессора сильно различается.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .