Насколько важен кэш L3 для процессоров AMD?
Действительно, имеет смысл оснащать многоядерные процессоры выделенной памятью, которая будет использоваться совместно всеми доступными ядрами. В данной роли быстрый кэш третьего уровня (L3) может существенно ускорить доступ к данным, которые запрашиваются чаще всего. Тогда ядрам, если существует такая возможность, не придётся обращаться к медленной основной памяти (ОЗУ, RAM).
По крайней мере, в теории. Недавно AMD анонсировала процессор Athlon II X4, представляющий собой модель Phenom II X4 без кэша L3, намекая на то, что он не такой и необходимый. Мы решили напрямую сравнить два процессора (с кэшем L3 и без), чтобы проверить, как кэш влияет на производительность.
![]() |
Нажмите на картинку для увеличения.
Как работает кэш?
Перед тем, как мы углубимся в тесты, важно понять некоторые основы. Принцип работы кэша довольно прост. Кэш буферизует данные как можно ближе к вычислительным ядрам процессора, чтобы снизить запросы CPU в более отдалённую и медленную память. У современных настольных платформ иерархия кэша включает целых три уровня, которые предваряют доступ к оперативной памяти. Причём кэши второго и, в частности, третьего уровней служат не только для буферизации данных. Их цель заключается в предотвращении перегрузки шины процессора, когда ядрам необходимо обменяться информацией.
Попадания и промахи
Эффективность архитектуры кэшей измеряется процентом попаданий. Запросы данных, которые могут быть удовлетворены кэшем, считаются попаданиями. Если данный кэш не содержит нужные данные, то запрос передаётся дальше по конвейеру памяти, и засчитывается промах. Конечно, промахи приводят к большему времени, которое требуется для получения информации. В результате в вычислительном конвейере появляются “пузырьки” (простои) и задержки. Попадания, напротив, позволяют поддержать максимальную производительность.
Запись в кэш, эксклюзивность, когерентность
Политики замещения диктуют, как в кэше освобождается место под новые записи. Поскольку данные, записываемые в кэш, рано или поздно должны появиться в основной памяти, системы могут делать это одновременно с записью в кэш (write-through) или могут маркировать данные области как “грязные” (write-back), а выполнять запись в память тогда, когда она будет вытесняться из кэша.
Данные в нескольких уровнях кэша могут храниться эксклюзивно, то есть без избыточности. Тогда вы не найдёте одинаковых строчек данных в двух разных иерархиях кэша. Либо кэши могут работать инклюзивно, то есть нижние уровни кэша гарантированно содержат данные, присутствующие в верхних уровнях кэша (ближе к процессорному ядру). У AMD Phenom используются эксклюзивный кэш L3, а Intel следует стратегии инклюзивного кэша. Протоколы когерентности следят за целостностью и актуальностью данных между разными ядрами, уровнями кэшей и даже процессорами.
Объём кэша
Больший по объёму кэш может содержать больше данных, но при этом наблюдается тенденция увеличения задержек. Кроме того, большой по объёму кэш потребляет немалое количество транзисторов процессора, поэтому важно находить баланс между “бюджетом” транзисторов, размером кристалла, энергопотреблением и производительностью/задержками.
Ассоциативность
Записи в оперативной памяти могут привязываться к кэшу напрямую (direct-mapped), то есть для копии данных из оперативной памяти существует только одна позиция в кэше, либо они могут быть ассоциативны в n-степени (n-way associative), то есть существует n возможных расположений в кэше, где могут храниться эти данные. Более высокая степень ассоциативности (вплоть до полностью ассоциативных кэшей) обеспечивает наилучшую гибкость кэширования, поскольку существующие данные в кэше не нужно переписывать. Другими словами, высокая n-степень ассоциативности гарантирует более высокий процент попаданий, но при этом увеличивается задержка, поскольку требуется больше времени на проверку всех этих ассоциаций для попадания. Как правило, наибольшая степень ассоциации разумна для последнего уровня кэширования, поскольку там доступна максимальная ёмкость, а поиск данных за пределами этого кэша приведёт к обращению процессора к медленной оперативной памяти.
Приведём несколько примеров: у Core i5 и i7 используется 32 кбайт кэша L1 с 8-way ассоциативностью для данных и 32 кбайт кэша L1 с 4-way для инструкций. Понятно желание Intel, чтобы инструкции были доступны быстрее, а у кэша L1 для данных был максимальный процент попаданий. Кэш L2 у процессоров Intel обладает 8-way ассоциативностью, а кэш L3 у Intel ещё “умнее”, поскольку в нём реализована 16-way ассоциативность для максимизации попаданий.
Однако AMD следует другой стратегии с процессорами Phenom II X4, где используется кэш L1 с 2-way ассоциативностью для снижения задержек. Чтобы компенсировать возможные промахи ёмкость кэша была увеличена в два раза: 64 кбайт для данных и 64 кбайт для инструкций. Кэш L2 имеет 8-way ассоциативность, как и у дизайна Intel, но кэш L3 у AMD работает с 48-way ассоциативностью. Но решение выбора той или иной архитектуры кэша нельзя оценивать без рассмотрения всей архитектуры CPU. Вполне естественно, что практическое значение имеют результаты тестов, и нашей целью как раз была практическая проверка всей этой сложной многоуровневой структуры кэширования.
1, 2, 3: уровни кэша
Каждый современный процессор имеет выделенный кэш, которых хранит инструкции и данные процессора, готовые к использованию практически мгновенно. Этот уровень обычно называют первым уровнем кэширования или L1, впервые такой кэш появился у процессоров 486DX. Недавно процессоры AMD стали стандартно использовать по 64 кбайт кэша L1 на ядро (для данных и инструкций), а процессоры Intel используют по 32 кбайт кэша L1 на ядро (тоже для данных и инструкций)
Кэш первого уровня впервые появился на процессорах 486DX, после чего он стал составной функцией всех современных CPU.
Кэш второго уровня (L2) появился на всех процессорах после выхода Pentium III, хотя первые его реализации на упаковке были в процессоре Pentium Pro (но не на кристалле). Современные процессоры оснащаются до 6 Мбайт кэш-памяти L2 на кристалле. Как правило, такой объём разделяется между двумя ядрами на процессоре Intel Core 2 Duo, например. Обычные же конфигурации L2 предусматривают 512 кбайт или 1 Мбайт кэша на ядро. Процессоры с меньшим объёмом кэша L2, как правило, относятся к нижнему ценовому уровню. Ниже представлена схема ранних реализаций кэша L2.
У Pentium Pro кэш L2 находился в упаковке процессора. У последовавших поколений Pentium III и Athlon кэш L2 был реализован через отдельные чипы SRAM, что было в то время очень распространено (1998, 1999).
Последовавшее объявление техпроцесса до 180 нм позволило производителям, наконец, интегрировать кэш L2 на кристалл процессора.
Первые двуядерные процессоры просто использовали существующие дизайны, когда в упаковку устанавливалось два кристалла. AMD представила двуядерный процессор на монолитном кристалле, добавила контроллер памяти и коммутатор, а Intel для своего первого двуядерного процессора просто собрала два одноядерных кристалла в одной упаковке.
Впервые кэш L2 стал использоваться совместно двумя вычислительными ядрами на процессорах Core 2 Duo. AMD пошла дальше и создала свой первый четырёхъядерный Phenom “с нуля”, а Intel для своего первого четырёхъядерного процессора вновь использовала пару кристаллов, на этот раз уже два двуядерных кристалла Core 2, чтобы снизить расходы.
Кэш третьего уровня существовал ещё с первых дней процессора Alpha 21165 (96 кбайт, процессоры представлены в 1995) или IBM Power 4 (256 кбайт, 2001). Однако в архитектурах на основе x86 кэш L3 впервые появился вместе с моделями Intel Itanium 2, Pentium 4 Extreme (Gallatin, оба процессора в 2003 году) и Xeon MP (2006).
Первые реализации давали просто ещё один уровень в иерархии кэша, хотя современные архитектуры используют кэш L3 как большой и общий буфер для обмена данными между ядрами в многоядерных процессорах. Это подчёркивает и высокая n-степень ассоциативности. Лучше поискать данные чуть дольше в кэше, чем получить ситуацию, когда несколько ядер используют очень медленный доступ к основной оперативной памяти. AMD впервые представила кэш L3 на процессоре для настольных ПК вместе с уже упоминавшейся линейкой Phenom. 65-нм Phenom X4 содержал 2 Мбайт общего кэша L3, а современные 45-нм Phenom II X4 имеют уже 6 Мбайт общего кэша L3. У процессоров Intel Core i7 и i5 используется 8 Мбайт кэша L3.
Современные четырёхъядерные процессоры имеют выделенные кэши L1 и L2 для каждого ядра, а также большой кэш L3, являющийся общим для всех ядер. Общиё кэш L3 также позволяет обмениваться данными, над которыми ядра могут работать параллельно.
Athlon II X4 и Phenom II X4
В нашем сравнении участвовали два разных процессора AMD, которые как раз и помогут сравнить преимущества от дополнительного кэша L3 у четырёхъядерного процессора.
![]() |
Нажмите на картинку для увеличения.
С одной стороны у нас был новый AMD Athlon II X4 620 – четырёхъядерный процессор AMD начального уровня. Кстати Athlon II X4 620 стал первым четырёхъядерным процессором, который доступен по цене $100 (к сожалению, не в России), так что мы получаем за такую цену новый уровень производительности. Впрочем, не нужно забывать, что впечатляющая производительность 620 касается только серьёзных многопоточных приложений, да и то не всегда, поскольку Athlon II X4 лишён кэша L3 совсем. Для сравнения мы взяли процессор Phenom II X4 965.
![]() |
Нажмите на картинку для увеличения.
Позиционирование двух продуктов совершенно разное. Phenom II является текущим лидером AMD в топовой линейке Black Edition, а “младший” Athlon II X4 нацелен на рынок начального уровня.
Впрочем, по архитектуре процессоры очень схожи. Ядра Athlon II X4, включая их кэш L1 и L2, идентичны ядрам Phenom. AMD даже не поменяла ассоциативность кэша. Единственным настоящим изменением является то, что AMD выключила кэш Athlon II X4 у процессоров, где с кэшем L3 возникали проблемы валидации. (Это верно только для ранних Athlon II X4. В будущем всё больше процессоров будут базироваться на совершенно другом и более экономически выгодном кристалле.)
Мы смогли сделать сравнение 1:1 путём снижения тактовой частоты Phenom II X4 с 3,4 ГГц до всего 2,6 ГГц – это как раз штатная тактовая частота Athlon II X4 620.
Тестовая конфигурация
Аппаратное обеспечение для тестов производительности | |
Материнская плата (Socket AM3) | Gigabyte MA790FXT-UD5P (Rev. 1.0), чипсет: AMD 790GX, SB750, BIOS: 5c (04/01/2009) |
Память DDR3 (два канала) | 2 x 2 Гбайт DDR3-1600 (Corsair CM3X2G1600C9DHX) 2 x 1 Гбайт DDR3-1600 (Crucial BL12864BA1608.8SFB) в режиме DDR3-1066 |
Общее аппаратное обеспечение | |
CPU AMD I | AMD Phenom II X4 965 (45 нм, 3,4 ГГц, 4 x 512 кбайт кэш L2 и 6 Мбайт кэш L3, TDP 140 Вт, Rev. C2) |
CPU AMD II | AMD Athlon II X4 620 (45 нм, 2,6 ГГц, 4 x 512 кбайт кэш L2, TDP 95 Вт, Rev. C2) |
Видеокарта | Zotac GeForce GTX 260², GPU: GeForce GTX 260 (576 МГц), видеопамять: 896 Мбайт DDR3 (1998 МГц), потоковые процессоры: 216, частота шейдеров: 1242 МГц |
Жёсткий диск | Western Digital VelociRaptor, 300 Гбайт (WD3000HLFS), 10 000 об/мин, SATA/300, кэш 16 Мбайт |
Привод Blu-Ray | LG GGW-H20L, SATA/150 |
Блок питания | PC Power & Cooling, Silencer 750EPS12V 750 ВТ |
Системное ПО и драйверы | |
Операционная система | Windows Vista Enterprise Version 6.0 x64, Service Pack 2 (Build 6000) |
Драйверы чипсета AMD | Catalyst Control Center 9.4 |
Тесты и настройки
3D-игры | |
Far Cry 2 | Version: 1.0.1 Far Cry 2 Benchmark Tool Video Mode: 1280×800 Direct3D 9 Overall Quality: Medium Bloom activated HDR off Demo: Ranch Small |
GTA IV | Version: 1.0.3 Video Mode: 1280×1024 – 1280×1024 – Aspect Ratio: Auto – All options: Medium – View Distance: 30 – Detail Distance: 100 – Vehicle Density: 100 – Shadow Density: 16 – Definition: On – Vsync: Off In-game Benchmark |
Left 4 Dead | Version: 1.0.0.5 Video Mode: 1280×800 Game Settings – Anti Aliasing none – Filtering Trilinear – Wait for vertical sync disabled – Shader Detail Medium – Effect Detail Medium – Model/Texture Detail Medium Demo: THG Demo 1 |
Кодирование аудио и видео | |
iTunes | Version: 8.1.0.52 Audio CD (“Terminator II” SE), 53 min. Convert to AAC audio format |
Lame MP3 | Version 3.98 Audio CD “Terminator II SE”, 53 min convert WAV to MP3 audio format Command: -b 160 –nores (160 Kbps) |
TMPEG 4.6 | Version: 4.6.3.268 Video: Terminator 2 SE DVD (720×576, 16:9) 5 Minutes Audio: Dolby Digital, 48000 Hz, 6-Kanal, English Advanced Acoustic Engine MP3 Encoder (160 Kbps, 44.1 kHz) |
DivX 6.8.5 | Version: 6.8.5 == Main Menu == default == Codec Menu == Encoding mode: Insane Quality Enhanced multithreading Enabled using SSE4 Quarter-pixel search == Video Menu == Quantization: MPEG-2 |
XviD 1.2.1 | Version: 1.2.1 Other Options / Encoder Menu – Display encoding status = off |
Mainconcept Reference 1.6.1 | Version: 1.6.1 MPEG2 to MPEG2 (H.264) MainConcept H.264/AVC Codec 28 sec HDTV 1920×1080 (MPEG2) Audio: MPEG2 (44.1 kHz, 2 Channel, 16 Bit, 224 kbps) Codec: H.264 Mode: PAL (25 FPS) Profile: Settings for eight threads |
Adobe Premiere pro CS4 | Version: 4.0 WMV 1920×1080 (39 sec) Export: Adobe Media Encoder == Video == H.264 Blu-ray 1440x1080i 25 High Quality Encoding Passes: one Bitrate Mode: VBR Frame: 1440×1080 Frame Rate: 25 == Audio == PCM Audio, 48 kHz, Stereo Encoding Passes: one |
Приложения | |
Grisoft AVG Anti Virus 8 | Version: 8.5.287 Virus base: 270.12.16/2094 Benchmark Scan: some compressed ZIP and RAR archives |
Winrar 3.9 | Version 3.90 x64 BETA 1 Compression = Best Benchmark: THG-Workload |
Winzip 12 | Version 12.0 (8252) WinZIP Commandline Version 3 Compression = Best Dictionary = 4096 KB Benchmark: THG-Workload |
Autodesk 3D Studio Max 2009 | Version: 9 x64 Rendering Dragon Image Resolution: 1920 x 1280 (frame 1-5) |
Adobe Photoshop CS4 (64-Bit) | Version: 11 Filtering a 16MB TIF (15000×7266) Filters: Radial Blur (Amount: 10; Method: zoom; Quality: good) Shape Blur (Radius: 46 px; custom shape: Trademark symbol) Median (Radius: 1px) Polar Coordinates (Rectangular to Polar) |
Adobe Acrobat 9 professional | Version: 9.0.0 (Extended) == Printing Preferenced Menu == Default Settings: Standard == Adobe PDF Security – Edit Menu == Encrypt all documents (128 bit RC4) Open Password: 123 Permissions Password: 321 |
Microsoft PowerPoint 2007 | Version: 2007 SP2 PPT to PDF Powerpoint Document (115 Pages) Adobe PDF-Printer |
Deep Fritz 11 | Version: 11 Fritz Chess Benchmark Version 4.2 |
Синтетические тесты | |
3DMark Vantage | Version: 1.02 Options: Performance Graphics Test 1 Graphics Test 2 CPU Test 1 CPU Test 2 |
PCMark Vantage | Version: 1.00 PCMark Benchmark Memories Benchmark |
SiSoftware Sandra 2009 | Version: 2009 SP3 Processor Arithmetic, Cryptography, Memory Bandwith Benchmark Results: Sandra 2009, PCMark Vantage |
Замечания по эффективности
Обычно мы измеряем энергопотребление в режиме бездействия и под максимальной нагрузкой, после чего оцениваем эффективность системы, отслеживая энергию, которая требуется на выполнение определённой нагрузки (как правило, прогона PCMark Vantage). Это позволяет нам рассчитать эффективность как соотношение производительности на ватт. Однако в данном случае нам пришлось пойти на несколько шагов, которые не характерны для реальных условий. Мы снизили тактовую частоту Phenom, и нам пришлось отключить Cool’n’Quiet, чтобы Phenom II X4 965 смог работать на частоте 2,6 ГГц вместо штатной частоты 3,4 ГГц. Поскольку самый медленный Phenom II X4 начинается с частоты 3,0 ГГц, вряд ли кто-то будет работать с процессором на низких тактовых частотах. Кроме того, мы снизили частоту памяти Phenom II до DDR3-1066, чтобы соответствовать спецификациям AMD для Athlon II X4.
Затем мы получили заметное преимущество по энергопотреблению для процессора без кэша L3. Сам по себе кэш занимает около трети всех транзисторов процессора. Это становится очевидным и по данным энергопотребления. AMD заявляет для Phenom II тепловой пакет от 95 до 140 Вт, в то время как Athlon II X4 работает на 95 Вт. Пиковое энергопотребление нашей тестовой системы с процессором Phenom II X4 965 на 3,4 ГГц достигало 226 Вт, в то время как у 2,6-ГГц Athlon II X4 оно составило, максимум, 170 Вт.
В режиме бездействия мы наблюдаем очень близкие результаты. Мы получили 84 Вт для Athlon II X4 620 и 85 Вт для той же системы с процессором Phenom II X4 965. В данных случаях технология Cool’n’Quiet была активной, поэтому оба процессора снижали свою частоту до 800 МГц, а также понижали напряжение. Поскольку большая часть блоков процессоров не работает и выключается, то энергопотребление в режиме бездействия у двух наших процессоров очень близко.
SiSoftware Sandra 2009
PCMark Vantage
Все синтетические тесты демонстрируют только небольшие отличия в пользу Phenom II X4 с 6 Мбайт кэша L3. Тест памяти PCMark Memories выигрывает на 12%. Общий результат поднимается на 8%, как и в случае шифрования Sandra AES. Все другие результаты намного ближе.
3DMark Vantage
Мы наблюдаем 5% преимущество в тесте 3DMark Vantage CPU, но по общему результату и по тесту GPU мы не видим выигрыша вообще. Давайте посмотрим, какова будет производительность в играх.
3D-игры
Частота кадров увеличилась на 8% в Far Cry со средними настройками детализации, когда мы заменили четырёхъядерный процессор Athlon II X4 начального уровня на Phenom II X4 с такой же тактовой частотой.
Преимущество в GTA IV 5,7% – тоже не очень много. Кэш L3 влияет на производительность довольно слабо.
В Left 4 Dead результаты совершенно иные, процессор с 6 Мбайт кэша L3 даёт почти на 20% большую частоту кадров.
Приложения
Создание PDF с помощью Adobe Acrobat 9 из документа Microsoft PowerPoint не слишком выигрывает от кэша L3.
Архиватор WinRAR очень чувствителен к производительности памяти, поэтому ему требуется на 16% меньше времени для выполнения работы.
А вот WinZip не так критично отнёсся к отсутствию кэша L3. Работа с кэшем L3 выполнилась на 9,2% быстрее.
Скорость выполнения фильтров в Photoshop CS4 от наличия кэша L3 у Phenom II выигрывает мало. Разница в три секунды мизерная.
Кодирование аудио/видео
iTunes нужна более высокая тактовая частота для увеличения производительности перекодирования аудио. Поэтому мизерная разница между процессорами с кэшем L3 и без него не стала для нас сюрпризом.
Здесь результаты вообще одинаковые, что неудивительно.
DivX перекодирует фильм из формата MPEG-2 на Phenom II X4 лишь чуточку быстрее.
Кодирование Xvid выигрывает чуть больше, хотя данная операция выполняется существенно дольше, чем преобразование ролика MPEG-2 в формат DivX.
MainConcept получает производительность от числа ядер и их тактовой частоты. Мы не наблюдаем заметного преимущества от наличия кэша L3.
Заключение по производительности
Мы решили создать индекс производительности, который учитывал бы результаты всех тестов. Поскольку приложения, интенсивно использующие CPU, требуют больше всего производительности, мы оценили их вес как 50%, игры мы учли как 25%, результаты PCMark Vantage и 3DMark Vantage получили вес по 12,5% каждый. В итоге мы получили 5,8% преимущество по производительности Phenom II X4 по сравнению с Athlon II X4 или 5,5% падение производительности, если вы возьмёте за основу Phenom II X4. Конечно, у вас могут быть другие приоритеты использования ПК, поэтому важно упомянуть минимальную и максимальную разницу. В некоторых тестах мы получили преимущество от наличия кэша L3 в 20%, а в некоторых тестах процессоры дают абсолютно идентичную производительность, несмотря на наличие/отсутствие кэша L3. В общем, как нам кажется, лучше ориентироваться на разницу в производительности от 5% до 6%, которую мы рассчитали по результатам всех тестов.
Заключение
Сравнение цен и производительности явно говорит о том, что “бюджетным” пользователям вообще не стоит смотреть в сторону Phenom II X4. Процессор Phenom II X4 945 (3,0 ГГц) продаётся по цене от $170 (от 6100 руб. в России), а новый процессор Athlon II X4 за $100 (от 3900 руб. в России) даёт очень близкую производительность при прочих равных. Модели AM2+ процессоров Phenom II X4 могут продаваться дешевле, но они не дают поддержки памяти DDR3.
В целом, основная разница по производительности между Athlon II X4 и Phenom II X4 связана с тактовой частотой. Простое увеличение тактовой частоты Athlon II X4 на 200 МГц позволит ему сравняться по производительности с Phenom II X4, несмотря на наличие 6 Мбайт кэша L3 у последнего. Зная это, вы наверняка поймёте, почему на рынке не будет процессоров Athlon II, которые по частоте будут равняться (или даже превышать) модели Phenom II.
Конечно, нужно учитывать разные сегменты рынка, которые мы в нашей статье довольно сильно размыли. Phenom II – процессор для верхнего сегмента массового рынка, который продаётся по цене от $150 до $250, а Athlon II X4 нацеливается на “бюджетную” аудиторию, готовую выложить за CPU не больше $100. В любом случае, вполне очевидно, что Athlon II X4 обеспечивает прекрасное соотношение производительность/цена, особенно для тех пользователей, кто планирует разогнать процессор.
Наконец, следует отметить, что кэш-память L3 необходима для достижения высоких уровней производительности. На частоте CPU 2,6 ГГц это может быть и не так очевидно, но на 3 ГГц и выше мы наблюдаем, что производительность Phenom II масштабируется намного лучше, чем у Athlon II X4.