Влияние тактовой частоты и размера кэш-памяти второго уровня на производительность процессоров AMD Athlon 64

Алексей Шобанов

Говоря о производительности процессоров и путях ее увеличения, особенно в свете появления новой модели или перехода на новую архитектуру, мы обычно обращаемся к хорошо известной формуле:

 

где IPC (Instruction Per Clock) — количество инструкций, выполняемых за такт; f — тактовая частота.

На первый взгляд все в ней кажется простым и понятным, а решение всех вопросов, касающихся производительности, лежит на поверхности. Если хотите получить большую производительность — увеличьте один из множителей. Так, для увеличения производительности в рамках модельного ряда наращивайте тактовую частоту, а если технологический процесс уже не позволяет этого сделать — стоит пересмотреть архитектуру ядра и добавить исполнительные блоки, с количеством которых связывается, и небезосновательно, число выполняемых за такт инструкций. В действительности же существует масса других факторов, оказывающих пусть и не столь прямое, но, тем не менее, существенное воздействие на величину IPC. Одним из них является размер кэш-памяти процессора. Если представить процессор как некую фабрику по обработке данных, то даже при наличии многочисленного современного производительного оборудования грош ей будет цена, если не налажена поставка сырья, заготовок и прочих расходных материалов, в роли которых как раз и выступают данные. На фабрике используется целый комплекс мер для обеспечения бесперебойной подачи сырья и как можно более равномерной загрузки имеющихся в распоряжении производственных мощностей. К числу подобных мероприятий относятся планирование расхода сырья и организация его своевременного подвоза (здесь можно провести аналогию с функциями предсказания переходов и ветвлений, а также предвыборкой), грамотная организация технологических процессов (в нашем случае — распараллеливание и изменение порядка выполнения инструкций) и т.д. и т.п. Немаловажную роль играет и организация складского процесса, а также быстрой и своевременной доставки сырья. Естественно, лучший способ — чтобы нужная заготовка всегда была под рукой, возле станка, но этот оперативный запас не может быть большим по определению, иначе любое рабочее место превратится в склад и на поиск чего-либо будет уходить слишком много времени. Поэтому на рабочем месте исполнителя можно держать лишь самое необходимое. Хранение такого оперативного запаса в процессоре — это и есть функция кэша первого уровня (L1). Для быстрого пополнения такого запаса на производстве организуется собственный склад — эту функцию в процессоре выполняет кэш второго уровня (L2). При этом чем больше склад фабрики, тем выше вероятность того, что нужная деталь окажется в наличии, однако на ее поиск потребуется больше времени. Кроме того, увеличение количества хранимых запасов неизбежно ведет к расширению территории склада (хотя, конечно, могут применяться различные методы для более компактного хранения комплектующих и т.п.) и к росту накладных расходов на его содержание. Чтобы получить нужную деталь с этого склада, естественно, потребуется время, но, тем не менее, это произойдет значительно быстрее, чем заказывать ее у поставщиков, что в случае процессора равносильно обращению к системной памяти.

Из этого следует довольно простой вывод: большой собственный склад — это хорошо, но только в том случае, если накладные расходы на его содержание покрывают обеспечиваемую им выгоду. Кроме того, очевидно, что при производстве различных продуктов или, продолжая аналогию, при выполнении задач разных типов, оптимальный размер этого склада может быть различным, ведь, к примеру, при постоянном и равномерном использовании одного и того же вида сырья производственной процесс можно организовать, практически полностью отказавшись от складирования и оставив лишь небольшой оперативный запас, — пускать заготовки на обработку прямо «с колес» (не правда ли, напрашивается аналогия с потоковой обработкой данных в процессоре?).

Насколько эффективным оказывается метод увеличения кэш-памяти для разного рода прикладных задач, мы решили оценить на примере процессоров AMD Athlon 64, сравнив его с таким методом увеличения производительности, как повышение тактовой частоты.

В качестве образцов для тестирования мы выбрали процессоры AMD Athlon 64, основанные на ядре Venice и San Diego (ревизия E6). По сути, это два идентичных ядра, выполненных в соответствии с нормами 90-нанометрового техпроцесса с применением технологии SOI (Silicon On Insulator) и обладающих поддержкой набора инструкций SSE3, усовершенствованным (по сравнению с ядром Winchester) контроллером памяти, а также имеющих встроенный контроллер памяти, который поддерживает работу модулей DDR SDRAM (PC1600, PC2100, PC2700 и PC3200), в том числе и в двухканальном режиме, и отличающихся в плане архитектуры лишь размером кэш-памяти второго уровня (L2) — 512 Кбайт у Venice и 1024 Кбайт у San Diego.

Поскольку особое внимание в данном обзоре мы акцентируем на кэш-памяти, то здесь, не вдаваясь в тонкости ее организации, отметим следующее: все процессоры, построенные по архитектуре AMD64, в том числе и AMD Athlon 64, имеют 128-килобайтный ассоциативный двухканальный кэш первого уровня (L1), в котором реализовано деление на кэш инструкций (I-cache, 64 Кбайт) и кэш данных (D-cache, 64 Кбайт), и эксклюзивный ассоциативный 16-канальный кэш второго уровня (L2), связанный с L1 128-битной шиной (два однонаправленных 64-битных канала на чтение и запись).

Прежде чем перейти к практической части, отметим еще несколько интересных фактов, которые дают представление о тех самых накладных расходах, которые влечет за собой вышеупомянутое увеличение кэш-памяти. Площадь кристалла процессоров, построенных на ядре Venice (кэш L2 — 512 Кбайт), составляет 83 мм2, и на ней размещается 68,5 млн. транзисторов, при этом TDP процессоров, основанных на данном ядре, равен 67 Вт (этот же показатель для процессоров на ядре San Diego составляет 89 Вт), причем площадь кристалла у них увеличилась до 113 мм2, а количество транзисторов — до 114 млн. Кстати сказать, расширив кэш L2 до 1024 Кбайт, производитель посчитал возможным присвоить таким процессорам более высокий ранг в терминах Model Number (у процессоров AMD он однозначно ассоциируется с уровнем обеспечиваемой ими производительности), нежели у процессоров с 512-килобайтным кэшем второго уровня, работающих на той же тактовой частоте. Насколько подобный ход отражает реальное положение вещей, мы и попытались оценить на примере моделей AMD Athlon 64 3700+ (кэш L2 —1024 Кбайт, тактовая частота — 2,2 ГГц) и AMD Athlon 64 3500+ (кэш L2 — 512 Кбайт, тактовая частота — 2,2 ГГц).

Для проведения испытания был собран тестовый стенд следующей конфигурации:

  • материнская плата — Gigabyte GA-K8NXP-SLI;
  • память — 2Ѕ512 Мбайт DDR400 SDRAM Transcend; тайминги памяти:

    - RAS Act. to Pre 2,5,

    - CAS# Latency 3,

    - RAS# to CAS# delay 3,

    - RAS# Precharge 8;

  • графические карты — ASUS EN7800GT/2DHTV;
  • жесткий диск — Seagate Barracuda 7200.7 120 Гбайт (ST3120827AS).

Тестирование проводилось под управлением операционной системы Microsoft Windows XP Service Pack 2 с установленными обновлениями для чипсета и с видеодрайвером NVIDIA ForceWare 81.98.

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

По итогам выполнения синтетических тестов, в качестве которых были выбраны тестовые пакеты SiSoftware Sandra Lite 2005 и FutureMark PCMark 2005, позволяющие оценить производительность подсистем компьютера (в данном случае нас особо интересовал детальный анализ работы процессорной подсистемы), стало понятно, что наличие большего кэша не приносит никаких дивидендов, что неудивительно, так как данные тесты предназначены для оценки возможностей архитектуры при идеальных, «тепличных» условиях, позволяющих выявить потенциал постпроцессора, то есть исполнительных блоков, для чего гарантируется попадание в кэш. Ценность этих тестов в данном случае состоит в том, чтобы показать полную идентичность тестируемых моделей, естественно за исключением различий в размере кэш-памяти второго уровня у испытуемых процессоров.

Весьма показателен тот факт, что при выполнении задач, подразумевающих потоковую обработку данных, — таких как кодирование звуковых и видеофайлов, создание мультимедийного контента (подтесты Internet Content Creation 3D Creation и Internet Content Creation 2D Creation тестового пакета BAPCo SysMark 2004 Second Edition), анализ данных (подтест Office Productivity, Data Analysis тестового пакета BAPCo SysMark 2004 Second Edition) или вычисление неких математических моделей (тест Science Mark 2.0) — преимущество большого кэша также нивелируется. И объясняется все просто: это вариант той самой фабрики, где можно организовать цикл производства «с колес», то есть процессор точно знает, в какой момент и какие данные ему понадобятся, и успевает вовремя подтянуть их в быструю кэш-память.

Но чем труднее предсказать дальнейший ход событий, чем больше выборка данных, которые с определенной долей вероятности могут понадобиться в следующий момент и которые желательно иметь поближе в кэш-памяти, тем крупнее выигрыш процессора, который может подтянуть к своим «производственным цехам» больший ассортимент необходимых «деталей». Именно по этой причине опережение процессором AMD Athlon 64 3700+ с мегабайтным кэшем L2 его 512-мегабайтного оппонента AMD Athlon 64 3500+ становится более очевидным на тестах, имитирующих работу офисного пользователя или игрока; это же касается и работы архиваторов, причем при большем размере словаря, применяемого при сжатии данных, размер кэш-памяти второго уровня дает более ощутимое преимущество (например, WinRAR использует словарь размером 4096 Кбайт, а WinZip имеет словарь меньшего объема).

Теперь, когда мы выяснили влияние увеличения кэш-памяти второго уровня процессора на производительность компьютерной системы при выполнении различных задач, попробуем сопоставить его с эффектом, получаемым при увеличении тактовой частоты процессора. Для этой цели, используя тот же набор программ и утилит, мы провели испытание еще трех моделей процессоров линейки AMD Athlon 64, работающих на других тактовых частотах, но основанных на тех же ядрах, — AMD Athlon 64 3000+, AMD Athlon 64 3200+ (ядро Venice, кэш L2 — 512 Кбайт), работающие на тактовой частоте 1,8 и 2 МГц, и AMD Athlon 64 4000+ (ядро San Diego, кэш L2 — 1024 Кбайт), работающий с тактовой частотой 2,4 МГц (табл. 2).

Для большей наглядности при анализе приведенных в табл. 2 данных прибегнем к помощи диаграмм. Результаты синтетических тестов FutureMark PCMark 2005 и SiSoftware Sandra Lite 2005 (рис. 1 и 2) показывают, что при увеличении тактовой частоты наблюдается пропорциональный рост производительности как процессорной подсистемы, так и компьютерной системы в целом, что вполне естественно, ведь для выполнения какой-либо операции процессору в этом случае требуется меньше времени. При этом наличие у процессора большего объема кэш-памяти второго уровня не приводит к каким бы то ни было изменениям.

 

Рис. 1. Результаты теста FutureMark PCMark 2005

Рис. 2. Результаты теста SiSoftware Sandra Lite 2005

 

Очевидно, что во всех тех случаях, когда увеличение кэша L2 не приносило никаких дивидендов, в частности при выполнении задачи по конвертированию аудио- и видеофайлов (рис. 3), увеличение тактовой частоты приводило к росту производительности системы.

 

Рис. 3. Время выполнения тестовых задач по кодированию эталонных аудио- и видеофайлов

Стоит отметить, что во всех тестовых испытаниях процессоры с большей тактовой частотой показывали стабильно более высокие результаты, нежели их «медленные» собратья, причем прирост производительности составлял приблизительно 5-10% на каждое 200-мегагерцевое приращение тактовой частоты. Из всего набора тестов лишь при выполнении трех задач прирост производительности от вдвое увеличенного кэша оказался большим, чем от стандартного шага увеличения тактовой частоты. Этими задачами оказались: обработка изображений в Adobe Photoshop CS2, подтест Communication Office Productivity из тестового пакета BAPCo SysMark 2004 Second Edition и архивирование с помощью утилиты WinRAR 3.51.

Итак, увеличение кэш-памяти второго уровня в процессорах AMD Athlon 64 с 512 до 1024 Кбайт позволяет повысить производительность далеко не во всех приложениях, во всяком случае этот эффект не столь очевиден, как при увеличении тактовой частоты. Возможно, именно поэтому начиная с модели AMD Athlon 64 3200+ каждое последующее увеличение тактовой частоты на 200 МГц отражается в номере модели прибавлением 300, в то время как двукратное увеличение кэша L2 отмечается повышением этого показателя на 200, что, как показало наше тестирование, с некоторыми оговорками соответствует существующим реалиям. По крайней мере, для наиболее типичных офисных задач и компьютерных игр это соотношение можно считать вполне справедливым и отражающим соотношение сил между моделями процессоров семейства AMD Athlon 64.

Редакция выражает признательность компании «Формоза» за предоставление для тестирования процессоров AMD Athlon 64.

 

В начало В начало

КомпьютерПресс 6'2006

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует