Влияние объема кэш-памяти CPU
Следующим объектом нашего рассмотрения, как понятно из заголовка, станет попытка оценить степень влияния объема кэш-памяти CPU на производительность платформы в 3D-приложениях. Большое количество различных тестов показывает, что в 3D-играх производительность не сильно зависит от объема кэш-памяти CPU. Сегодня мы готовы перейти от интуитивных ощущений к цифрам и привести количественную оценку степени влияния объема кэш-памяти CPU на производительность в играх.
Сложность состоит в том, что мы не можем произвольно изменять объем встроенной в ядро CPU кэш-памяти, поэтому возможным вариантом решения данной задачи представляется сравнение двух процессоров, отличающихся только объемом встроенной кэш-памяти при сохранении прочих параметров неизменными.
Наш «основной» процессор, который мы до сих пор использовали при подготовке материалов данной статьи - Athlon 64 4000+. Данный процессор имеет 128 Кб кэш-памяти первого уровня (L1-cache) и 1024 Кб кэш-памяти второго уровня (L2-cache). Для сравнения мы могли бы взять процессор Athlon 64 3800+, у которого объем кэш-памяти первого уровня такой же, а объем кэш-памяти второго уровня вдвое меньше – 512 Кб, но мы решили пойти несколько дальше.
Для примера мы рассмотрим довольно популярное в массовом сегменте семейство процессоров Sempron в исполнении Socket 754. Находящийся у нас экземпляр Sempron имеет рейтинг 3400+, штатную тактовую частоту 2000 МГц, объем встроенной кэш-памяти – 128 Кб (L1-cache) плюс 256 Кб (L2-cache). То есть, объем кэш-памяти второго уровня у выбранного нами процессора Sempron в 4 раза меньше, чем у Athlon64 4000+.
Что касается корректности эксперимента, то процессоры семейства Sempron также поддерживают технологию изменения множителя в сторону понижения, поэтому мы применим ту же методику построения графика процессорозависимости, что и в случае с Athlon 64 4000+. Отличие Sempron s754 от Athlon 64 s939 состоит в поддержке только одноканального режима памяти и уменьшенном объеме кэш-памяти процессора. Полученную «линию максимально возможных результатов» мы поместим на тот же график, где сравнивалась производительность платформ Athlon64 с различной оперативной памятью. Для платформы Sempron s754 использовалась оперативная память DDR400 Single Channel.

И что же мы видим? Результаты, показанные платформой Sempron s754 DDR400 Single Channel, практически в точности повторяют результаты Atlon64 DDR200 Dual Channel. Удивительно, но факт - процессор Sempron s754 в 3D-играх показывает достойную производительность и не так уж сильно отстает от старших собратьев.
Это все хорошо, скажете вы, но при чем тут объем кэш-памяти и как оценить его влияние на производительность платформы? Очень просто, давайте уберем из вышеприведенного графика «все лишнее» и внимательно приглядимся. На нижеследующем графике мы оставили только две линии, соответствующие платформам Sempron s754 и Athlon64 DDR400 Single Channel. Обратите внимание, что для данных платформ скорость и режим работы оперативной памяти одинаковы, и все отличие состоит только в объеме кэш-памяти процессоров.

Как видите, при четырехкратной разнице в объеме кэш-памяти второго уровня Sempron показывает результаты лишь на 10-12% хуже, чем Athlon64, работающий на той же частоте. (Замечание – результаты для Sempron начинаются с частоты 2000 МГц, поскольку это максимальная для данного процессора штатная частота, а разгон привел бы к изменению частоты работы системной шины, оперативной памяти и, как следствие - к искажению результатов). Из вышеприведенного графика также следует вывод, что для процессоров Athlon64 с объемом кэш-памяти второго уровня равным 512 Кб линия «максимально возможных результатов» будет занимать промежуточное положение, то есть разница по сравнению с Sempron будет еще меньше.
Таким образом, для процессоров архитектуры AMD K8 величина объема кэш-памяти в 3D-играх оказывает незначительное влияние на общую производительность платформы.
А что получится, если на платформу Sempron установить достаточно мощную видеокарту типа 7900GT и включить режим 1280x1024 4AA/16AF? Разрешение экрана 1280х1024 точек мы выбрали потому, что это «родное» разрешение для большинства популярных ЖК-мониторов с диагоналями 17 и 19 дюймов, ну а для большинства типовых ЭЛТ-мониторов этого же размера рекомендуемое разрешение равно соответственно 1024х768 и опять же 1280х1024 точек. Мы «утяжелили» графический режим, включив анизотропную фильтрацию и полноэкранное сглаживание, чтобы продемонстрировать - бюджетный процессор это не повод отказывать себе в графике высокого качества.

Как видно из графиков, и "линия максимальных результатов", и кривая процессорозависимости для режима 1280х1024 4AA/16AF в случае процессора Sempron лежат ниже соответствующих линий для процессора Athlon 64. Такое поведение линий вполне нормально, поскольку игра довольно старая, а видеокарта, использованная в тестах - мощная. Поэтому для обоих процессоров на указанных частотах в режиме 1280х1024 4AA/16AF мы получаем не "полочку", а переходную область. Но даже с учетом этого обстоятельства видно, что процессоры Sempron s754 на частоте 1600 МГц (частота младших моделей в семействе) вполне способны показать результат порядка 70 кадров/сек. Конечно, наряду с моделями Sempron с объемом кэш-памяти процессора 256 кб есть и продукты с L2-cache 128 кб. Но, как уже было показано выше, объем кэш-памяти CPU оказывает незначительное влияние на общую производительность. И даже если от приведенных на графике результатов для платформы Sempron s754 отнять еще 10%, то производительности даже самых младших моделей Sempron с частотой 1600 МГц будет достаточно для обеспечения скорости более 60 кадров/сек!
Конечно, и Half-Life 2, и DOOM 3 довольно старые игры. Могут возникнуть возражения, что в современных играх Sempron все же не потянет и производительность «упрется» в мощность центрального процессора. Давайте проверим это на примере игры F.E.A.R., которая очень требовательна к ресурсам системы.

Как видите, когда мы строим «линию максимальных результатов», при одинаковой частоте CPU производительность платформы Sempron по-прежнему несколько отстает от Athlon 64 (как и должно быть), но как только мы включаем качественный режим, производительность сразу же упирается в видеокарту!
Что касается процессоров Sempron SocketAM2, то в ходе подготовки данной статьи мы не тестировали данные процессоры. Но, исходя из вышеизложенного, можно предположить – разница в производительности в 3D-играх для процессоров Athlon64 AM2 и Sempron AM2 будет еще меньше, поскольку процессоры Sempron AM2 имеют двухканальный контроллер памяти, как и процессоры Athlon64 AM2. Стоит признать, что на платформе Socket AM2 изучение влияния объема кэш-памяти процессора можно было бы провести с меньшими усилиями. Однако, как видите, и в случае сравнения платформ Socket 939 и Socket 754 нам удалось это сделать.
Не следует думать, что мы решили ограничиться только платформами Socket 939 и Socket 754. Следующая на очереди – платформа Socket AM2. Результаты, которые мы получили, хоть и были предсказаны теорией, тем не менее - впечатляют.
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.