Новые процессоры AMD. Предвыборка данных и инструкций. Интегрированный контроллер памяти

Обзор AMD Piledriver и K10 | Процессоры AMD для экономных энтузиастов

Для полноты обзора нам были нужны современные процессоры Vishera, и AMD любезно предоставила образцы FX-4350 и FX-6350. Первый оснащается двумя модулями Piledriver, а второй – тремя. Учитывая, что в эксперименте участвуют бюджетные процессоры, шестиядерный FX – это самый быстрый из тестируемых сегодня CPU.

Также в тестировании участвует новый Athlon X4 750K. Это двухмодульный процессор Trinity без встроенного графического ядра. Он представляет самый доступный четырёхъядерный чип с разблокированным множителем.

Сравнивания архитектуры K10 и Piledriver от AMD на заводских настройках и в разгоне, мы надеемся увидеть сильные стороны каждого решения и определить CPU, заслуживающий ваших денег.

Обзор AMD Piledriver и K10 | Платформы и разгон

Перед тем как углубиться в показатели производительности, давайте рассмотрим платформы, которые мы использовали для тестов, и достигнутый разгон на их базе.

Socket AM3+: Gigabyte GA-990FXA-UD3

Поскольку сегодняшняя статья про бюджетные процессоры с упором на разгон, мы хотели найти доступные решения с функциями для энтузиастов. Материнская плата Gigabyte GA-990FXA-UD3 Socket AM3+ как раз подходит для тестирования процессоров FX, Phenom II Athlon II.

Плата на чипсете AMD 990FX/SB950 предоставляет много возможностей и имеет шесть портов: SATA 6 Гбит/с, USB 2.0, USB 3.0, eSATA и FireWire. Хочется оценить технологию Ultra Durable 4, 8+2-фазный дизайн распределения мощности, надёжные конденсаторы и технологию dual BIOS, которая поможет в случае непредвиденных ситуаций во время разгона.

Socket FM2: Gigabyte GA-F2A85X-UP4

Для тестирования Athlon X4 750K мы выбрали функционально богатую модель GA-F2A85X-UP4. Эта системная плата построена на AMD A85X Fusion Controller Hub, поддерживает процессоры с разъёмом Socket FM2 и рассчитана на разгон APU. Она использует технологию Gigabyte Ultra Durable 5, надёжные конденсаторы и усилитель мощности на 60 A.

Три слота PCI Express x16 могут работать с двумя видеокартами в режиме x8 и x8. Также платформа совместима с Dual Graphics, хотя мы бы не рекомендовали этот путь. Четыре слота памяти поддерживают двухканальные конфигурации с модулями памяти вплоть до DDR3-2400. Разъёмов на плате предостаточно: шесть USB 3.0, семь SATA 6 Гбит/с и один eSATA 6 Гбит/с. Из других полезных функций стоит отметить два BIOS, виртуализацию GPU через Lucid Virtu Universal MVP и 3x USB Power с функцией On/Off Charge (включение/отключение зарядки).

Разгон

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

Для сравнения процессоры AMD поставляются с такими заводскими частотами, что теплового запаса при боксовых радиаторах и вентиляторах практически не остаётся. Поэтому мы использовали воздушный кулер Xigmatek, с помощью которого удалось разогнать Intel Wolfdale до 4,5 ГГц. Для процессоров данного сегмента имеет смысл купить сторонний кулер в пределах $20 - $30. Затем мы удвоили воздушный поток, установив второй 120-миллиметровый вентилятор, чтобы избежать троттлинга через регулятор напряжения. Решив не выставлять запредельные значения напряжения, мы настроили частоты северного моста CPU и выжали всё, что можно из каждой конфигурации (в пределах разумного), естественно, с учётом температурных показателей.

Упрямые энтузиасты из обоих лагерей наверняка будут интересоваться, почему чипы AMD подверглись более агрессивному разгону и почему мы не использовали большие воздушные кулеры. Дело в том, что мы оцениваем производительность недорогих CPU и сравниваем их друг с другом. Мы подозреваем, что пользователи AMD будут разгонять свои чипы, а, имея достаточную циркуляцию воздуха и ёмкий радиатор, они без проблем смогут получить такие же результаты, как у нас.

Обзор AMD Piledriver и K10 | Тестовый стенд и бенчмарки

Конфигурация тестового стенда
CPU AMD FX-6350 (Vishera) 3,9 ГГц (19,5 * 200 МГц), Socket AM3+, 8 Мбайт общего кэша L3, Turbo Core вкл., Power-savings вкл., разгон до 4,52 ГГц (22,5 * 200,92), 1,404 В напряжение, 2612 МГц HT Link, частота CPU-NB 2210 МГц

AMD FX-4350 (Vishera) 4,2 ГГц (21 * 200 МГц), Socket AM3+, 8 Мбайт общего кэша L3, Turbo Core вкл., Power-savings вкл., разгон до 4,72 ГГц (23,5 * 200,92), 1,440 В напряжение, 2612 МГц HT Link, частота CPU-NB 2411 МГц

AMD Phenom II X4 965 Black Edition (Deneb) 3,4 ГГц (17 * 200 МГц), Socket AM3, 6 Мбайт общего кэша L3, Power-savings вкл., разгон до 4,02 ГГц (20 * 200,91), 1,392 В напряжение, 2008 МГц HT Link, частота CPU-NB 2411 МГц

AMD Athlon X4 750K (Trinity) 3,4 ГГц (17 * 200 МГц), Socket FM2, No L3 Cache, Turbo Core вкл., Power-savings вкл., разгон до 4,30 ГГц (43 * 100), 1,464 В напряжение, частота CPU-NB 2000 МГц

AMD Athlon X4 640 (Propus) 3,0 ГГц (15 * 200 МГц), Socket AM3, No L3 cache, Power-savings вкл., разгон до 3,6 ГГц (15 * 240), 1,428 В напряжение, 1920 МГц HT Link, частота CPU-NB 2400 МГц

Кулер CPU Xigmatek HDT-S1283 120 mm air cooler
Материнская плата Gigabyte GA-990FXA-UD3, Socket AM3+, AMD 990FX, BIOS FC (02-05-13)
Gigabyte GA-F2A85X-UP4, AMD A85X, BIOS F4 (03-13-13)
Оперативная память 8 GB (2 x 4 GB) Crucial PC3-12800 kit Stock: DDR3-1600, CL 8-8-8-24 at 1,5 V Overclocked: Athlon II/Phenom II: DDR3-1600/1607, CL 8-8-8-24, Athlon X4 750K/FX-6350/FX-4350: DDR3-1866/1875 9-9-9-24 @ 1,6 V
Видеокарта Sapphire Radeon HD 7970, GPU 950 МГц, GDDR5-5700
Системный накопитель SSD Samsung 840 Pro 256 Гбайт, SATA 6 Гбит/с
Блок питания Corsair Professional Series HX1050, 1050 W, 80 PLUS Silver
Операционная система Windows 8 Professional x64
Видеодрайвер AMD Catalyst 13,2 Beta 7

Конфигурация тестов
Игры
Borderlands 2 Версия 1.0.28.69606, DirectX 9, собственная последовательность, Fraps
тестовая настройка 1: настройки среднего качества, низк. PhysX, 8x AF
тестовая настройка 2: настройки высшего качества, низк. PhysX, FXAA,16x AF
Crysis 3 Версия 1.0.0.2000, Direct X 11, собственная последовательность, 60-секунд Fraps
тестовая настройка 1: настройки низшего качества, без AA, 1X AF
тестовая настройка 2: настройки среднего качества, FXAA, 8x AF
тестовая настройка 3: настройки очень высокого качества, 2x SMAA, 16x AF
The Elder Scrolls V: Skyrim Версия 1.8.151.0.7, собственная последовательность, 25-секунд Fraps

F1 2012 Версия 1.2, Direct X 11, встроенный бенчмарк
тестовая настройка 1: настройки высокого качества, без AA
тестовая настройка 2: настройки ультра качества, 8x AA
Far Cry 3 V. 1.04, DirectX 11, 50-секунд Fraps "Amanaki Outpost"
тестовая настройка 1: настройки высокого качества, без AA, Standard ATC., SSAO
тестовая настройка 2: настройки ультра качества, 2x MSAA, Enhanced ATC, HDAO
Hitman: Absolution V. 1.0.446.0, DirectX 11, встроенный бенчмарк
тестовая настройка 1: настройки среднего качества, без MSAA, 2x AF
тестовая настройка 2: настройки ультра качества, 2x MSAA, 16x AF
StarCraft II: Heart of the Swarm Версия 2.0.6.25180, собственная последовательность в миссии кампании "Harvest of Screams", 60-секунд Fraps
тестовая настройка 1: настройки высокого качества, без AA, 8x AF, FXAA вкл.
тестовая настройка 2: настройки ультра качества, 8x AA, 16x AF, FXAA вкл.
Tomb Raider Версия 1.00.722.3, Direct X 11, собственная последовательностьs, "Chasm Monastery", "Mountain Village", 45-секунд Fraps
тестовая настройка 1: настройки высокого качества
тестовая настройка 2: настройки наивысшего качества
Кодирование аудио/видео
HandBrake CLI Версия: 0.98, Video: видео с Canon Eos 7D (1920x1080, 25 кадров) 1 мин 22 с, Audio: PCM-S16, 48 000 Гц, два канала в Video: AVC1 Audio: AAC (High Profile)
iTunes Версия 10.4.1.10 x64: Audio CD (Terminator II SE), 53 мин, формат AAC по-умолчанию
Lame MP3 Версия 3.98.3: Audio CD "Terminator II SE", 53 мин, конвертация WAV в аудиоформат MP3, параметр коммандной строки: -b 160 --nores (160 Kb/s)
TotalCode Studio 2.5 Версия: 2.5.0.10677, MPEG2 в H.264, MainConcept H.264/AVC Codec, 28 с HDTV 1920x1080 (MPEG2), Audio:MPEG2 (44.1 КГц, два канала, 16-бит, 224 Кбит/с) Codec: H.264 Pro, Mode: PAL 50i (25 FPS), Profile: H.264 BD HDMV
Abobe Creative Suite
Adobe After Effects CS6 Версия 11.0.0.378 x64: создание видео, три потока, 210 кадров, рендеринг множества кадров одновременно
Adobe Photoshop CS6 Версия 13 x64: фильтр на изображение TIF 15,7 Мбайт: Radial Blur, Shape Blur, Median, Polar Coordinates
Adobe Premiere Pro CS6 Версия 6.0.0.0, 6.61 Гбайт MXF Project в H.264 в H.264 Blu-ray, вывод 1920x1080, макс. Качество
Adobe Acrobat X Pro Версия 10.0.0.396: печать PDF из PowerPoint 115 стр., шифрование 128-бит RC4
Общие приложения
ABBYY FineReader Версия 10.0.102.95: чтение PDF, сохарение в Doc, источник: Political Economy (J. Broadhurst 1842) 111 стр.
Autodesk 3ds Max 2012 Версия 14.0 x64: Space Flyby Mentalray, 248 кадров, 1440x1080
Blender Версия 2.64a, Cycles Engine, Syntax blender -b thg.blend -f 1, 1920x1080, сглаживание 8x, Render THG.blend frame 1
Сжатие
7-Zip Версия 9.28, LZMA2, Syntax "a -t7z -r -m0=LZMA2 -mx=5"
WinRAR Версия 4.2, RAR, Syntax "winrar a -r -m3"
Бенчмарк: THG-Workload-2012 (1,3 Гбайт)
WinZip Версия 17.0 Pro, Syntax "-a -ez -p -r"
Бенчмарк: THG-Workload-2012 (1,3 Гбайт)
Синтетические бенчмарки
3DMark 11 Версия: 1.0.1, Performance Suite
PCMark 7 Версия: 1.0.4, бенчмарки System, Productivity, Hard Disk Drive
SiSoftware Sandra 2013 Версия: 2013.01.19.11, бенчмарки Processor Arithmetic,
Cryptography, Memory Bandwidth

Обзор AMD Piledriver и K10 | Результаты тестов

Синтетические

Мы собираемся проводить тесты производительности в том же порядке, что и в предыдущем материале . Начнём с теста 3DMark 11, а именно модулей Physics и Combined.

В основном, места на диаграмме распределились согласно ценам на процессоры. Хотя разгон немного помогает, лишь Athlon X4-750K смог подняться выше в данной иерархии. Из-за отсутствия кэша третьего уровня Athlon II X4 640 плетётся позади. Даже при разгоне до 3,6 ГГц с частотой северного моста 2400 МГц он не дотягивает до с заводской частотой 3,4 ГГц.

В тесте SiSoftware Sandra Arithmetic разгон заметно улучшает показатели. Благодаря наличию трёх активных модулей FX-6350 значительно вырывается вперёд.

Однако посмотрите на различия в архитектуре. Piledriver просто блистает в тестах с "тяжёлыми" вычислениями, поскольку каждый модуль содержит по два ядра, но из-за общего блока вычислений с плавающей запятой в компоненте Whetstone его результаты ниже.

Диаграмма может показаться немного беспорядочной, но мы распределили чипы по среднему из трёх показателей.

По скорости хэширования Athlon X4 750K немного обходит Phenom II X4 965 Black Edition . У более старой архитектуры K10 отсутствует аппаратное ускорение AES, присущее Vishera и Trinity.

Для всех пяти конфигураций мы использовали память в режиме DDR3-1600 с таймингами CAS 8, подчеркнув усовершенствования, которые AMD внедрила в контроллере памяти для увеличения её полосы пропускания.

Разгон частот RAM и CPU-NB увеличивает пропускную способность памяти, хотя серьёзного прироста скорости в реалистичных бенчмарках мы и не ждём.

На графике это незаметно, но мы выяснили, что благодаря разгону северного моста Athlon X4 750K получил такой же прирост производительности, как при переходе на DDR3-1866. С другой стороны, Athlon II X4 640 вообще не ускоряется при разгоне CPU-NB на 400 МГц.

Аудио/видеотесты

Пакет аудио- и видеокодировщиков сразу подчеркнул слабые и сильные стороны микроархитектур AMD прошлого и нынешнего поколений. Для начала однопоточные тесты iTunes и LAME выявили не самую высокую производительность на такт у всех решений. Но это неудивительно.


Всё меняется, когда мы переключаемся на более оптимизированные программы, такие как HandBrake и TotalCode Studio. Четырёхъядерные CPU до $100 выступают в весьма выгодном свете даже без разгона.


Благодаря третьему модулю Piledriver процессор FX-6350 может обрабатывать на 50% больше потоков одновременно, и в результате заметно обгоняет остальных участников.

Но более всего нас удивили возможности Deneb, несмотря на возраст архитектуры. При разгоне до 4 ГГц Phenom II X4 обгоняет FX-4350 и разогнанный Athlon X4 750K во всех четырёх тестах аудио/видео.

Adobe Creative Suite

В данных тестах доминирует AMD FX-6350, поскольку представленные программы эффективно используют шесть целочисленных ядер.

Также нас впечатлил Athlon X4 750K. Только в тесте Premiere Pro он оказался в хвосте. Тем не менее, разгон и дополнительная подстройка позволили этому недорогому CPU сравняться с FX-4350 на заводских настройках. Мы думали, что на исходных параметрах процессор испытывает недостаток в полосе пропускания памяти, но позже развеяли эту теорию, понизив скорость передачи данных памяти до 1600 MT/с при разгоне до 4,3 ГГц. К изначальному времени добавились лишь три секунды.


В тесте After Effects четырёх- и шестиядерные чипы отлично себя показали. В отличие от iTunes и LAME, где новые чипы AMD не обеспечили преимущество в потактовой производительности, в однопоточном бенчмарке Acrobat архитектура Piledriver справилась лучше.

Общие приложения

Устаревающая архитектура AMD K10 занимает неплохую позицию в тестах с многопоточными приложениями. Athlon II с частотой 3,6 ГГц сравнялся с FX-4350 (4,7 ГГц) в 3ds Max 2012 и даже обогнал его в Blender. Шестиядерный FX-6350 обошёл все четырёхъядерные чипы Piledriver, но едва превзошёл разогнанный Phenom II X4. Скорее всего, против Phenom II X6 ему не выстоять.



Архиваторы

Самый сильный результат в 7-Zip у FX-6350 – это свидетельствует о том, что приложение использует все шесть целочисленных ядер процессора. Phenom II X4 смог удержаться на втором месте в WinZip, но сдал позиции более современным чипам в WinRAR и 7-Zip.

В WinRAR проявилось негативное эффект, который оказывает на результат Athlon II (Propus) отсутствие кэша L3. Разгон на 20% обеспечил прирост скорости на 10%. Но даже в этом случае Phenom II с меньшей частотой завершает задачу на 21% быстрее.



Borderlands 2

Игровые тесты мы начинаем с собственной последовательности в Borderlands 2, на завершение которой требуется приблизительно 105 секунд.

Мы снова хотим предупредить, что не стоит делать сильный акцент на показателях минимальной частоты кадров в Fraps, поскольку здесь также имеет место вопрос однородности значений, поднятый в обзоре чипов Intel. Сегодня мы снова остановимся на "сырых" показателях минимальной частоты кадров, но, наверное, уже в последний раз. Хотя колебания, как правило, незначительные, в тестах они могут решить исход борьбы. Например, Fraps регистрирует минимальную частоту разогнанного FX-4350 на уровне 35 FPS, однако в журнале мы видим 57 FPS.

На средних настройках все процессоры обеспечивают отличный геймплей, хотя несколько резких проседаний показателя частоты кадров в начале прогона (на Athlon) станут причиной "притормаживаний".

Несмотря на эффект "бутылочного горлышка", оказываемый со стороны CPU, не позволяющего использовать все ресурсы мощной видеокарты Radeon HD 7970, каждый из представленных процессоров обеспечивает приемлемую скорость в Borderlands 2. Лишь Athlon X4 750K на заводских настройках и разогнанный Athlon II X4 640 отличились проседанием частоты кадров ниже 40 FPS.

Crysis 3

Последовательность Crysis 3 даёт внушительную нагрузку на процессор, поэтому мы также протестировали игру на самых низких графических настройках.


FX-6350 доминирует, подтверждая, что Crysis 3 может использовать более четырёх ядер. На настройках начального уровня все участвующие четырёхъядерные чипы показали приемлемый результат, несмотря на несколько кратковременных проседаний ниже 30 FPS.


При повышении настроек детализации наше субъективное мнение о плавности картинки не совпало с данными теста. Все четырёхъядерные чипы провели по несколько секунд ниже отметки 30 кадров в секунду. Однако основная проблема не в этом. Во время всей тестовой последовательности ни одна из платформ не дала ощущение плавности геймплея. Регистрируемая средняя частота кадров выше, чем ощущается на самом деле. Мы бы не сказали, что Athlon II X4 640 без разгона обеспечивает приемлемую производительность, хотя другие чипы можно признать подходящими для игры. В то же время на FX-6350 как с разгоном, так и без него, определённо приятно играть.


На самых высоких настройках качества с активным 2x SMAA, платформа начинает упираться в возможности графического адаптера. Тем не менее, масштабирование процессоров заметно. Хотя производительность FX-6350 значительно снижается, он всё равно выглядит намного лучше других решений. В целом AMD FX-6300 или Intel Core i5 - это наш рекомендуемый минимум для Crysis 3. Такая тяжёлая для "железа" игра не подходит для низкобюджетных систем, и, если есть возможность, лучше предпочесть вариант FX-8350/Core i7.

F1 2012

F1 2012 – это популярный гоночный симулятор от Codemasters на базе собственного игрового движка Ego Engine 2 DirectX 11.


На настройках детализации Ultra все чипы показывают отличные результаты, поэтому анализ F1 2012 прекрасно демонстрирует масштабирование архитектур. Piledriver справляется лучше K10, и даже Athlon X4 750K смог обойти четырёхъядерный Phenom II на частоте 3,4 ГГц. Мы не сомневаемся, что на результат повлияло увеличение пропускной способности памяти, поскольку F1 2012 – одна из тех редких игр, в которой настройка частот RAM и CPU-NB может обеспечить почти такой же прирост скорости, как и разгон самого процессора.

В качестве примера можно рассматривать среднюю частоту кадров при использовании FX-4350 на частоте 4,7 ГГц – 101,3 FPS (прирост 4,5 FPS). Однако после подстройки на этой же частоте мы получили результат 105,5 FPS.



Лишь у Athlon II линия на графике опускается ниже отметки 40 FPS. Остальные процессоры обеспечивают приемлемую производительность на высоких настройках детализации.

Хотя AMD Phenom II обходит Athlon X4 750K с частотой 3,4 ГГц, разгон ставит их в один ряд. Также хочется отметить, что это уже четвёртая игра, в которой разогнанный FX-6350 возглавляет турнирную таблицу.



Нам нравится оценивать игровые платформы с помощью Far Cry 3. Как правило, конфигурации, которые держатся выше уровня 30-32 FPS в тестовой последовательности, удовлетворяют нашим требованиям и в основной кампании. Поиграв 15 минут на системе с Athlon II X4 640, мы поняли, что для настроек "ультра" данный чип нужно разгонять. Как и в случае с двухъядерными CPU, проседания ниже 30 FPS достаточно заметны, отвлекают от игры и требуют снижения графических параметров.

Плавный геймплей ощущается лишь на четырёхъядерном Phenom II, хотя разогнанный Athlon II X4 640 и Athlon X4 750K на исходных настройках также получают проходной балл. Как мы уже отмечали в аналогичном обзоре чипов Intel, для игры на настройках Ultra на разрешении 1920x1080 пикселей понадобится мощная видеокарта, которую захочется дополнить такой же мощной платформой. Если же с деньгами туго, то разогнанный Athlon X4 750K может вас выручить.

Hitman: Absolution

Следующей в списке наших тестов идёт игра Hitman: Absolution от IO Interactive на базе движка Glacier 2 с поддержкой DirectX 11. Мы используем встроенный бенчмарк, чтобы узнать, как процессоры из нашей выборки справляются с технологией построения огромной толпы. Не забывайте, что частота кадров в игре, как правило, выше, поскольку в большинстве игровых уровней плотность персонажей меньше, чем на густонаселённой карте Chinatown.


Нам известно, что двухъядерные процессоры в этом бенчмарке показывают очень низкие результаты, и тот факт, что FX-6350 приходит первым, подтверждает, что масштабирование происходит и после четырёх потоков. Несмотря на преимущество в частоте, разогнанный чип Propus не может сравниться с Deneb на исходных настройках, поэтому мы также вынуждены признать, что кэш третьего уровня у Phenom II повышает производительность процессора в этой игре. Phenom II X4 965 Black Edition выступил хорошо, шагая нога в ногу с разогнанным Athlon X4 750K и почти сравнявшись с AMD FX-4350.


StarCraft II: Heart Of The Swarm

Хотя наибольшей популярностью пользуется многопользовательский компонент франшизы StarCraft от Blizzard, одиночные кампании тоже очень хорошо проработаны и являются отличной отправной точкой для познания игры. Вместо многопользовательской карты в Wings of Liberty мы перешли на дополнение Heart of the Swarm и обнаружили, что миссия "Harvest of Screams" лучше всего нагружает нашу игровую систему на базе Core i5. 60-секундный бенчмарк начинается с момента, когда Керриган ведёт примерно 150 подразделений зергов на уничтожение последней базы протоссов в миссии.

Мы специально отложили атаку на несколько минут, чтобы создать больше зерглингов, чем требует миссия. К тому же, мы включили отдалённую камеру и установили её над полем, где происходят основные действия. В результате показатель количества кадров в секунду начал значительно снижаться по мере того, как на поле боя показывалось всё больше и больше подразделений. Возможно, для вашего стиля игры эти действия покажутся чрезмерными. В конце концов, производитель рекомендует для данной игры как минимум процессор Core 2 Duo E6600. Однако низкая производительность процессора может заставить вас идти на компромиссы: изменять стратегию, приближать камеру на несколько подразделений или вообще отказаться от масштабных многопользовательских карт.


StarCraft II даёт большую нагрузку на CPU, но, к сожалению, игра не оптимизирована для четырёхъядерных процессоров. Работая на более низкой тактовой частоте, AMD Athlon II X4 640 большую часть времени не справляется с нагрузкой. Частота кадров падает в середине теста, когда все подразделения вступают в битву. Отсутствие кэша L3 также негативно сказывает на производительности. Несмотря на преимущество на 200 МГц в разгоне над Phenom II при заводских настройках, Athlon II X4 640 всё равно отстаёт примерно на 12%.


Повысив качество графики и текстур для второго теста, мы создали условия, приближённые к игре на системе с мощным GPU. Но даже в этом случае игра сильно зависит от процессора. Разгон практически необходим процессору Athlon II, поскольку заводская частота во время битвы обеспечивает лишь 12-16 кадров в секунду. Но даже на частоте 3,6 ГГц во время активных действий показатель не поднимается выше 20 FPS.

Athlon X4 750K – неплохой шаг вперёд. Процессор соперничает с Phenom II, а после разгона может сравниться с чипами линейки AMD FX. По какой-то причине FX-4350 показывает странное снижение производительности при открытии тумана войны. Это не похоже на следствие загрузки текстур, и повторялось в последующих прогонах. Однако важнее то, что во время активных действий FX-4350 выходит в лидеры, демонстрируя самую высокую частоту кадров.

The Elder Scrolls V: Skyrim

The Elder Scrolls V: Skyrim не теряет популярность благодаря сообществу модеров и официальным дополнениям. Хотя игра и не самая требовательная, она является важным компонентом нашего тестового пакета. Для анализа плавности игры мы часто выбираем битву при Маркарте (City of Markarth), она представляет наихудший сценарий для системы, хотя стандартная 25-секундная пробежка через Ривервуд (Riverwood) почти так же нагружает ПК, и её гораздо проще повторить.


Хотя производитель официально рекомендует для этой игры четырёхъядерный CPU, Skyrim использует дополнительные ядра не очень эффективно. Оба процессора из Athlon не дотягивают до Phenom II и FX, хотя Athlon X4 750K восстанавливает позицию после разгона.

В тесте проявляется чёткое масштабирование, при этом все процессоры обеспечивают приемлемую производительность.


Хотя все чипы позволяют играть на настройках графики на уровне "ультра", Athlon II X4 640 выглядит откровенно слабо, и у нас нет сомнений, что некоторые самодельные моды нагрузят его так, что он не справится. По сути, по результатам двух обзоров только Athlon II X4 640 опустился ниже 40 FPS. Хуже того, чип опустился ниже этой отметки даже при разгоне. Это связано с кэшем L3, точнее его отсутствием, поскольку архитектура Deneb полностью обходит Propus. На графике частоты кадров в динамике Athlon II с частотой 3,6 ГГц достигает минимального показателя Phenom II только в самом конце тестовой последовательности.

Tomb Raider

На наш взгляд, Tomb Raider – один из хитов 2013 года. К тому же, для графических настроек Ultimate, включающих реалистичные волосы TressFX, требуется мощное "железо".

Нам уже известно, что Radeon HD 7970 имеет всё необходимое для обеспечения приемлемой частоты кадров на параметрах Ultimate, а тест включает тяжёлый для графической системы уровень “Chasm Monastery”. Кроме того, мы проверим более тяжёлый для CPU открытый уровень “Mountain Village”. Два этих теста вместе обеспечивают наилучшую оценку требований игры к CPU и GPU.


Обычные эффекты волос используются при высоких графических настройках. Плоская область в середине линейного графика, где все процессоры обеспечивают одинаковые результаты – это заставка. Сначала Athlon II X4 640 отстаёт, но потом, как и остальные чипы, обеспечивает частоту более 100 кадров в секунду.


Как мы и ожидали, при осмотре открытого уровня “Mountain Village” производительность значительно падает. Отсутствие кэша L3 является слабостью Athlon II X4 640, но, несмотря на кратковременные проседания ниже 30 FPS, играть на нём можно.


Разгон обеспечивает еле заметный прирост скорости; это связано с тем, что данный тест зависит от возможностей GPU. Волосы TressFX на настройках Ultimate полностью меняют показатели при заставке из прогона, а мощная Radeon HD 7970 показывает результат всего в 30 FPS, независимо от установленного процессора. Когда камера отдаляется от главной героини, наблюдается большой скачок частоты кадров, прежде чем управление вернётся к игроку. Подобные кинематографические вставки неизбежны и встречаются в игре очень часто.


Нет сомнений, что для уровня детализации Ultimate необходима мощная видеокарта. Но есть в игре места, которые нагружают центральный процессор. В этом тесте Athlon II X4 640 не справился с поставленной задачей, поскольку управлять движениями Лары с таким показателем FPS очень тяжело. Фактически нам пришлось отказаться от нескольких прогонов, после того как мы промазали мимо карабина и рванули с холма вслепую. Из всех тестовых образцов только два чипа серии FX удержали планку в 30 кадров в секунду в течение 45-секундного прогона.

Обзор AMD Piledriver и K10 | Энергопотребление

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

Наш тестовый стенд получает питание через Corsair HX1050 80 PLUS Silver. Качественно блока питания мощностью 450 Вт должно быть достаточно, хотя разгон Radeon HD 7970 даст большую нагрузку на всю платформу.

Athlon X4 750K на базе Trinity возглавляет диаграмму с тремя самыми низкими показателями. В среднем, старший четырёхъядерный Phenom II на исходных настройках требует больше всего электроэнергии. Конечно, при разгоне повышается напряжение, следовательно, возрастает энергопотребление, связанное с нагрузкой. Высокое энергопотребление в простое является результатом отключения функций энергосбережения.

Обзор AMD Piledriver и K10 | Суммарная производительность

Мы суммируем результаты тестов производительности относительно самого дешёвого процессора в сегодняшнем сравнении. Естественно, поведение CPU в важных для вас приложениях куда важнее, чем средняя производительность.

Благодаря разнице в стоимости четырёхъядерный Athlon II X4 640 часто выигрывает в общих приложениях и по суммарной производительности. Тем не менее, в сегодняшнем обзоре у него нет преимущества, поскольку все пять образцов работают как минимум с четырьмя потоками.

На диаграмме чётко видно, что Athlon II X4 640 - самый слабый CPU в сегодняшней выборке. Что ещё хуже, при разгоне до 3,6 ГГц с частотой северного моста 2,4 ГГц чип Propus не может обеспечить достаточную производительность в некоторых играх. В немалой степени виной тому является отсутствие кэша L3. Для сравнения: Phenom II X4 с заводской частотой 3,4 ГГц справляется куда лучше.

Хорошие новости заключаются в том, что Athlon X4 750K и Phenom II X4 965 Black Edition отлично справляются с поставленными задачами, а чуть более дорогой AMD FX-4350 в этом плане ещё лучше. Но больше всех впечатляет FX-6350 с шестью целочисленными ядрами, возглавивший семь из восьми игровых тестов, из которых стоит особо отметить результат в Crysis 3.

Хотя в тестах на сжатие, где важна пропускная способность памяти, Athlon II X4 640 показал себя не с лучшей стороны, его четырёхъядерная архитектура оказалась более способной, чем двухмодульная структура AMD Athlon X4 750K в тестах общей производительности и Adobe Premiere Pro. Кэш L3 помог Phenom II X4 догнать новую архитектуру Piledriver в WinRAR, WinZip и 7-Zip, показав неплохие результаты в тестах общей производительности.

FX-6350 снова блистает. Однопоточные тесты iTunes, LAME и Adobe Acrobat немного подпортили его результаты, однако два дополнительных ядра отлично компенсируют это в других приложениях.

Обзор AMD Piledriver и K10 | Подводим итог: AMD против Intel в играх

В сегодняшней статье рассматриваются процессоры AMD, однако мы использовали те же самые тесты, видеокарту и драйверы, что и в аналогичном тестировании чипов на архитектурах Intel . Единственное различие - в обновлении StarCraft II: Heart of the Swarm, которого нельзя избежать. Мы посчитали уместным создать суммарную диаграмму полученных данных.

Чтобы быть максимально справедливыми, мы включили расчёты общей производительности. Вместо среднего показателя FPS для каждой игры мы измерили относительную производительность в каждой игре в равной степени, по аналогии с приложениями. Кроме того, мы отсеяли два теста, ограниченных возможностями GPU, в игре Tomb Raider и использовали только последовательность на открытом пространстве. Следовательно, вы должны заметить большой разброс между результатами процессоров.

Как мы и ожидали, чипы AMD в диаграмме перемешались с процессорами Intel. Все CPU обходят Intel Core 2 Duo E8400, но ни один не дотянулся до Core i5 на Ivy Bridge. Не забывайте, что многие розничные i5-3570K могут разгоняться до 4,4 ГГц с воздушным охлаждением, благодаря чему его преимущество может возрасти ещё больше.

Конкурентоспособность FX-6350 на заводских настройках впечатляет, а разгон обеспечивает хороший прирост скорости. Учитывая, что из менее дорогого FX-6300 можно вытянуть примерно столько же производительности, стоит признать способности шестиядерных конфигураций Vishera. Судя по средним показателям, FX-6350 быстрее Intel Core i3-3225 и разогнанного FX-4350. В новых играх, оптимизированных под параллелизм, маловероятно, что Phenom II X4 или Core 2 Quad с дополнительными настройками смогут догнать FX-6350 с исходными параметрами.

Если вы ограничены в средствах, Phenom II X4 965 Black Edition и Athlon X4 750K отлично подойдут в качестве производительных решений по цене ниже $100. Разблокированные множители позволяют хорошенько разогнать эти чипы, а сэкономленные деньги можно вложить в покупку более мощного графического ускорителя, эффективного кулера или даже новой игры.

К сожалению, не все процессоры AMD обеспечивают требуемый уровень производительности. В многопоточных играх отсутствие кэша третьего уровня не позволило четырёхъядерному процессору на архитектуре Propus полноценно соперничать с более дешёвым Pentium G2020. Athlon II выигрывает в трёх из восьми играх, в некоторых - лишь на настройках низкого качества. Тем не менее, чип смог обеспечить приемлемую частоту кадров на минимальных параметрах детализации в Crysis 3. Чтобы получить подобный результат на Core 2 Duo E8400, нам пришлось разогнать его до 4,5 ГГц, но даже в этом случае частота кадров была на 10% ниже.

Но нельзя хвалить Athlon II за достижения в Crysis, не отметив слайд-шоу, которое он устроил в StarCraft II: Heart of the Swarm. В этой игре, наряду со Skyrim, разогнанный до 3,6 ГГц CPU AMD Propus не смог обогнать дешёвый Celeron G1610 2,6 ГГц, который значительно медленнее Pentium. Опираясь на результаты восьми игр, мы не рекомендуем использовать Athlon II X4 640 для игровых сборок. Если цена не позволяет вам купить Athlon X4 750K или дороже, то лучше выбрать более дешёвый и в целом более быстрый Pentium G2120

Обзор AMD Piledriver и K10 | Подводим итог: AMD против Intel в приложениях

Если среди ваших повседневных задач игры занимают значительно меньше места, чем различного рода рабочие приложения, то процессоры AMD бюджетного сегмента выглядят более привлекательно. Чипы Pentium и Celeron хорошо подходят для однопоточных задач. Однако Athlon X4 750K и Athlon II X4 640 гораздо уверенней ведут себя в многозадачных средах.

Конечно, устаревающая линейка Phenom II не может сравниться с архитектурами Intel по производительности на такт, но четыре физических ядра обгоняют двухъядерные конфигурации Intel во многих бенчмарках.

Итак, мы снова возвращаемся к FX Vishera с тремя модулями Piledriver. Разогнанный FX-6350 несколько задач выполняет быстрее Core i5-3570K. В сумме он финиширует всего на пару процентов позади i5. В тоже время в наших бенчмарках AMD FX-6300/6350 просто "рвут" Core i3 по схожей цене, а разблокированные множители лишь добавляют привлекательности этим чипам.

Однако при анализе энергопотребления ситуация кардинально меняется. Хотя Athlon X4 750K обгоняет другие процессоры AMD, его энергопотребление превышает даже показатель четырёхъядерного Core i5. В этой ситуации всплывает вопрос эффективности, поскольку AMD всё ещё отстаёт на несколько поколений.

Обзор AMD Piledriver и K10 | AMD любит многоядерность и разблокированные множители

Для энтузиастов, которые любят не только поиграть на ПК, но и повозиться с его настройками, выгоднее будет разогнать платформу с процессорами AMD. Они сильно отличаются от архитектур Intel Sandy и Ivy Bridge, которые компания блокирует искусственно с целью повышения продаж чипов серии K. В сегменте процессоров класса мейнстрим единственная слабость AMD – это высокое энергопотребление, наносящее вред эффективности и тепловыделению, которое также может приводить к повышению акустических показателей системы. В нашем эксперименте использовался роскошный тихий кулер, но, как правило, боксовые кулеры AMD очень шумные и не подходят для повышения напряжения.

Разблокированные множители всегда приветствуются. Но польза от них невелика, когда CPU уже работает близко к максимальной частоте. К счастью, протестированные сегодня процессоры имеют запас для масштабирования, что позволило нам получить четырёх- и шестиядерные конфигурации за $100 и $120. В целом, разогнанный Athlon X4 750K быстрее Core i3-3220, а в задачах, выполняемых в шесть потоков, FX 6300 с лёгкостью обходит двухъядерные чипы Intel по схожей цене.

Ну а что делать, если вы прежде всего геймер? Команда THG считает, что лучше выбирать процессор, способный справиться с четырьмя потоками одновременно. Но, как мы уже говорили, подойдёт не каждый четырёхъядерный процессор. Работая на частоте 3,0 ГГц, Athlon II X640 без кэша L3 в некоторых тестах не справился с поставленными задачами. Как правило, он отстаёт от более дешёвого Intel Pentium по показателю средней частоты кадров. Разгон, конечно, помогает, но архитектура Propus всё равно не может сравниться с другими протестированными чипами AMD. Последняя причина, по которой не стоит покупать Athlon II - это AMD Athlon X4 750K на базе Trinity. Это самый доступный из протестированных процессоров, вытянувший все восемь игровых тестов (в Starcraft II с разгоном). Чтобы пересечь отметку в 4 ГГц, вам, возможно, понадобится сторонний кулер и повышение напряжения, но мы считаем, что немного разогнанный Athlon X4 750K имеет существенный потенциал в качестве центрального процессора для игровой системы.

Платформы на базе AMD Socket AM3/AM3+ также обладают высокой производительностью в играх. Как энтузиасты, мы всегда рассматриваем возможность последующего апгрейда. По крайней мере, сейчас даже Phenom II X4 по-прежнему подходит для большинства современных игр. Как и в случае с Core 2 Quad на базе Intel Yorkfield, если разогнанный Phenom II всё ещё хорошо работает, в ближайшее время апгрейд вам не понадобится. Жаль только, что боксовые процессоры Phenom II X4 Black Edition бывает тяжело найти по цене $100.

Дальше по списку идёт двухмодульный AMD FX-4350. В большинстве тестов он обгоняет старый Phenom II X4. В разогнанном состоянии при обработке многопоточных задач он наголову разбивает двухъядерные Core i3 на базе архитектур Ivy Bridge. Кроме того, он может быть достойным конкурентом других решений в играх. Но, учитывая его позицию между FX-6300 и FX-6350, процессор FX-4350 довольно трудно продавать по цене $120.

Звездой сегодняшнего обзора является AMD FX-6350, который обеспечивает отличную производительность в играх и обгоняет Intel Core i5 в некоторых приложениях. Но ещё более привлекательное решение – это FX-6300, если его разогнать.

В третьей части цикла материалов «Процессорные войны» мы познакомимся с архитектурой Intel Nehalem и первыми процессорами семейств Core i7, Core i5 и Core i3, а так же микроархитектурой AMD K10.5, легшей в основу таких чипов как Phenom II и Athlon II.

Вступление

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

Intel на тот момент в своем арсенале имела процессоры семейств: Core 2 Quad, Core 2 Duo, Pentium Dual Core и Celeron Dual Core. В их основе лежала очень удачная микроархитектура Core, переведенная в начале 2008 года на прогрессивный 45-нанометровый технологический процесс.

Компания AMD для производства своих процессоров использовала в то время архитектуру К10. В ее ассортимент входили процессоры Phenom X4, Phenom X3 и Athlon X2. Правда, в отличие от конкурентов, все они изготавливались еще по 65-нм техпроцессу. Конечно, на рынке можно было встретить чипы и более старых поколений, но упоминать их в рамках данного материала нет никакого смысла.

Если же говорить о быстродействии, то здесь пальма первенства была у Intel. Ее решения в общей массе были производительнее, чем у AMD. В особенности это касалось топового сегмента, где баллом правили четырехъядерные процессоры Core 2 Quad серии Q9000 на базе ядра Yorkfield. Хотя, в среднем и низшем сегментах AMD все еще могла навязывать борьбу, и в первую очередь, за счет низких цен, устанавливаемых на свою продукцию. Но общей картины это не меняло, «зеленые» находились в роли догоняющих, что наверняка их совсем не устраивало.

Микроархитектура AMD К10.5 (техпроцесс 45-нм)

Было понятно, что для того чтобы далеко не отпустить конкурента и остаться ключевым игроком на процессорном рынке, AMD архитектуры К10 в ее текущем варианте было не достаточно. Поэтому уже в конце 2008 года дебютировала обновленная архитектура AMD K10.5, в основе которой лежал, наконец освоенный компанией, 45-нанометровый техпроцесс. В целом это позволило повысить тактовые частоты процессоров AMD, увеличить количество ядер до 6, а так же снизить тепловыделение и себестоимость новых продуктов.

При этом чипы, произведенные по более тонкому технологическому процессу, получили название Phenom II. Так же в рамках обновленной архитектуры увидело свет новое семейство процессоров Athlon II и модифицированные бюджетные решения Sempron.

Еще одним нововведением для процессоров Phenom II и Athlon II стала интеграция контроллера памяти, поддерживающего сразу два ее типа - DDR2 и DDR3. При этом для работы с ОЗУ DDR3 был разработан новый разъем Socket AM3, который сохранил обратную совместимость с предыдущим Socket AM2+. Это означало, что новые ЦП могли устанавливаться в старые материнские платы и работать с памятью предыдущего поколения DDR2.

Что бы лучше понять эволюцию процессоров AMD для настольных ПК на базе микроархитектуры К10.5, рассмотрим несколько подробнее их основные характеристики и хронологию появления на рынке.

Phenom II X4 800/900 ( Deneb) . Первые четырехъядерные процессоры AMD изготовленные на базе обновленной архитектуры К10 с использованием 45-нанометрового техпроцесса были представлены в начале января 2009 года. Начальные версии Phenom II X4 были построены на ядре Deneb и имели кэш-память L2 для каждого ядра равную 512 Кб. Кэш третьего уровня, общий для всех ядер, разнился, и у 800-ой серии составлял 4 Мб, а у 900-ой - 6 Мб. Частотный потенциал X4 находился в довольно широком диапазоне от 2.5 ГГц до 3.7 ГГц.

Phenom II X3 700 ( Heka) . По уже устоявшейся традиции, следом за четырехъядерной линейкой, в феврале 2009-ого компания AMD выпускает трехъядерные процессоры со схожими характеристиками 900-ой серии, но только с одним отключенным ядром. В отличие от чипов с четырьмя рабочими ядрами, здесь максимальная тактовая частота была ограничена тремя гигагерцами.

Phenom II X2 500 ( Callisto) . В июне 2009 года следует и еще один предсказуемый шаг - выпуск двухъядерного процессора Phenom II. Как несложно догадаться это был тот же X4 900-ой серии только с двумя отключенными ядрами, у которых по тем или иным причинам при работе возникали ошибки. Диапазон тактовых частот этих чипов составлял от 2,8 ГГц до 3,4 ГГц. Несколько оторванным от серии оказался выпущенный в мае 2011 года Phenom II X2 570 с тактовой частотой 3.5 ГГц.

Athlon II X2 200 ( Regor) . В июне 2009 года компания AMD приступила к выпуску нового семейства процессоров под названием Athlon II. Первым из них стал двухъядерный чип, имевший в отличие от Phenom II X2, два ядра на кристалле, а не четыре из которых половина была отключена. Это позволил снизить себестоимость Athlon II и соответственно его конечную розничную цену.

Еще одной отличительной особенностью Athlon II от Phenom II стало отсутствие кэш-памяти третьего уровня L3 у всех процессоров этого семейства и удвоенный объем кэша L2 для каждого ядра до 1 Мб у чипов 200-ой серии. Исключение составляла только младшая модель с индексом 215, которая имела прежние 512 Кб кэша второго уровня. Диапазон тактовых частот модельного ряда 200-ой серии составлял от 2,7 ГГц до 3,3 ГГц.

Sempron 100 ( Sargas/ Regor) . В конце лета 2009 года, AMD решила вспомнить о своем самом бюджетном семействе Sempron, представив общественности одноядерный процессор (ядро Sargas) с индексом 140, тактовой частотой 2,7 ГГц и кэшем второго уровня 1 Мб. Следующие же чипы из этой серии с частотами 2,8 и 2,9 ГГц дебютировали только осенью 2010 года. Так же в третьем квартале 2010 года увидел свет и первый двухъядерный Sempron 180 на ядре Regor. Его тактовая частота была ниже, чем у одноядерного собрата и равнялась 2,4 ГГц. Общим объем L2-кэша остался тем же, хотя в пересчете на каждое ядро, был уменьшен в два раза до 512 Кб.

Athlon II X4 600 ( Propus) - можно назвать самыми бюджетными четырехъядерными процессорами того времени. Будучи анонсированными в сентябре 2009 года имел тактовые частоты 2.2 - 3.1 ГГц и размер L2-кэша 512 Кб для каждого ядра.

Athlon II X3 400 ( Rana) . Логичным завершением формирования модельного ряда линейки Athlon II в ноябре 2009 года стали трехъядерные процессоры 400-ой серии, являвшимися теми же X4, но имевшие одно отключенное ядро и несколько больший частотный диапазон от 2.2 до 3.4 ГГц.

Athlon II 100 ( Sargas) . Еще одной осенней новинкой 2009-ого года стало немногочисленное маломощное семейство одноядерных процессоров с пониженным энергопотреблением, которое практически не использовалось для домашних настольных систем. По сути, это стало еще одним примером безотходного производства. Ведь для данной серии можно было использовать не только усеченные ядра Regor с одним отбракованным вычислительным ядром, но и чипы с низким частотным потенциалом (1.8 ГГц - 2 ГГц).

6 1000T (Thuban) . В апреле 2010-ого года AMD пускает в бой тяжелую артиллерию и выпускает свою первую линейку шестиядерных процессоров, ставшей венцом всей архитектуры K10. Флагманский чип с индексом 1100Т имел тактовую частоту 3,3 ГГц, которая в турборежиме автоматически могла повышаться до 3,7 ГГц, а так же на радость любителям разгона - разблокированный множитель (BlackEdition). Самая младшая модель работала на частоте 2,6 ГГц (3,1 ГГц в режиме Turbo). Величины кэша второго и третьего уровней остались такими же, как и у всей серии Phenom II - 512 Кб на каждое ядро (L2) и 6 Мб для всех ядер (L3).

Phenom II X4 840/850 ( Propus) . Одними из последних представителей архитектуры K10.5 стали две новые модели процессоров Phenom II X4 800-ой серии, выпущенные в начале 2011 года. Их отличительной особенностью стало полное отсутствие в чипах кэш-памяти третьего уровня.

Ну а теперь давайте посмотрим в наглядном виде, как позиционируются друг относительно друга все семейства процессоров, построенных на архитектуре К10.5, исходя из их производительности. Для этого мы построим диаграмму на основе информации, взятой из открытой базы данных проекта PassMark, насчитывающей более 200 тысяч результатов проверки различных процессоров тестовым пакетом CPU Benchmark PassMark Performance Test.

В результирующей диаграмме все семейства процессоров будут представлены старшими моделями. Более того, что бы лучше понять, насколько эффективной оказалась обновленная архитектура К10, сюда же мы поместим результаты чипов AMD предыдущего поколения, а так же их основных конкурентов - процессоров Intel на архитектуре Core.

Итак, как видно из диаграммы, переход AMD к новому 45-нанометровому техпроцессу и обновленной архитектуре положительно сказался на общей производительности процессоров компании. При этом мы видим, что от былого преимущества Intel не осталось и следа. Конечно, здесь стоит сделать небольшую поправку с учетом хронологии выхода конкретных моделей по времени, так как производство наиболее производительных решений пришлось уже на конец 2010, начало 2011 года, спустя почти два года с момента анонса K10.5. Но главное, что новая архитектура позволила AMD все же сделать шаг вперед и вновь навязать борьбу на рынке своему основному конкуренту.

Микроархитектура Intel Nehalem (техпроцесс 45-нм - 32-нм)

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

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

Итак, было решено разделить процессоры с названием Core на три семейства вместо двух в то время существовавших Core 2 Duo и Core 2 Quad. Из наименований убрали двойку и обозначение количества ядер, заменив их, на индексы: i7, i5 и i3. Семейство Core i7 должно было включать самые передовые решения компании. Процессоры Core i5 были нацелены на массовый сектор производительных компьютеров. И наконец, Core i3 должны были занять нишу в бюджетном секторе систем среднего уровня. При этом брэнды Pentium и Celeron продолжили свое существование в самых бюджетных секторах рынка.

Помимо других имен, новые процессоры получили и другие разъемы. Первые чипы из семейства Core i7 были рассчитаны на установку в собственный сокет LGA 1366. Для всех же остальных представителей новой архитектуры, включая и некоторые модели Core i7, был предназначен сокет LGA 1156.

Ну а теперь давайте посмотрим, какие же новаторства принесла с собой новая архитектура. Одним из главных изменений в Nehalem стало то, что контроллер оперативной памяти DDR3 был перенесен из северного моста чипсета непосредственно в сам процессор, что должно было повысить эффективность обмена данными в этой ключевой связке. При этом шина FSB, обеспечивавшая многие годы соединение центрального процессора с главным системным контроллером была упразднена, а на смену ей пришли новая шина QPI (QuickPath Interconnect) для LGA 1366 и модифицированная DMI (Direct Media Interface) для LGA 1156. Кстати, стоит отметить, что компания AMD пошла на этот шаг несколько раньше своего конкурента.

Не менее важным стал и тот факт, что в рамках архитектуры Nehalem, компания Intel осуществила очередной переход на более тонкий литографический процесс. Таким образом, в январе 2010 года увидело свет новое поколение процессоров, изготовленных при помощи 32-нанометрового техпроцесса, в которые были интегрированы графическое ядро, и контроллер шины PCI-E x16. Таким образом, ключевой до этого компонент в системной логике Intel - северный мост, распаивавшийся на материнских платах в виде отдельной микросхемы, перестал существовать.

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

Ну и наконец, в рамках архитектуры Nehalem дебютировала и еще одна процессорная технология - Turbo Boost, которая активно применятся и в нынешнее время. Turbo Boost, по сути является технологией «саморазгона» процессора и позволяет увеличивать тактовую частоту активных ядер выше номинальной в автоматическом режиме. При этом частотный потолок рассчитывается исходя из допустимых показателей температуры и энергопотребления. Например, четырехъядерный процессор с номинальной частотой 2.8 ГГц, при двух неиспользуемых ядрах может быть разогнан до 3,33 ГГц.

Ну а теперь давайте посмотрим в хронологическом порядке, как формировался модельный ряд процессоров, построенных на архитектуре Nehalem.

Core i7 900 ( Bloomfield) . Первые процессоры со встроенным трехканальным контроллером памяти на архитектуре Nehalem (техпроцесс 45-нм) были анонсированы публике 16 ноября 2008 года. Ими стали чипы, относящиеся к флагманской линейке Core i7. Все они имели по четыре вычислительных ядра, расположенных на одном кристалле, 256 Кб кэша второго уровня для каждого ядра, 8 Мб неразделяемого кэша третьего уровня и поддержку технологии Hyper-Threading. Тактовые частоты находились в диапазоне от 2,66 ГГц до 3,2 ГГц.

Все процессоры данного семейства устанавливались в разъем LGA 1366, а для обмена данными между вычислительными ядрами и памятью, использовали высокоскоростную шину QPI, пришедшую на замену FSB. При этом все чипы на базе Bloomfield не имели встроенного графического ядра.

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

Core i7 800 ( Lynnfield) . Следующая волна новых процессоров на базе новой архитектуры появилась только лишь спустя почти год, в начале сентября 2009-ого. Объяснялось это тем, что в основе новой линейки Core i7 лежало уже другое ядро - Lynnfield, принесшее целый ряд кардинальных отличий от 900-ой серии, призванных снизить стоимость производительных процессоров и сделать их более доступными для массового сектора.

В новом ядре трехканальный контроллер памяти был заменен на двухканальный, а шина QPI, на DMI. Так же процессоры получили новый разъем LGA 1156 и технологию Turbo Boost. Зато без изменений осталось количество ядер, как и прежде во всех процессорах линейки Core i7 их было по четыре штуки, а так же объемы кэшей L2 и L3, которые равнялись 4х256 Кб и 8 Мб соответственно. Так же практически не изменился и частотный потенциал новых чипов, который варьировался от 2.66 ГГц до 3.07 ГГц. Правда, благодаря технологии Turbo Boost, в определенных режимах ядра процессора могли разгоняться до 3,6 - 3,73 ГГц.

Будучи изготовленными еще по 45-нм технологии, чипы 800-ой серии так же не имели встроенного видеоядра.

Core i5 700 ( Lynnfield) . Одновременно вместе с семейством Core i7 800 в сентябре 2009 года компания Intel анонсировала новые микропроцессоры для настольных систем среднего уровня - Core i5. В стартовую линейку вошли три четырехъядерные модели с тактовыми частотами 2,4 ГГц, 2,66 ГГц и 2,8 ГГц. Всех их характеристики были такими же, как и у старших собратьев из 800-ой серии за исключением одной детали - процессоры Core i5 не имели поддержки технологии Hyper-Threading.

Core i5 600 ( Clarkdale) . 4 января 2010 года компания Intel представила свои первые процессоры, изготовленные по 32-нм технологическому процессу. Как и следовало ожидать, новое ядро Clarkdale принесло с собой кардинальные изменения для семейства Core i5. Все процессоры 600-ой серии стали двухъядерными, но при этом им была возвращена поддержка технологии Hyper-Threading. Но главное, что с этого момента в процессорах Intel появилось встроенное видеоядро, работавшее на частоте 733 МГц (Core i5 661 - 900 МГц).

Частотные характеристики самих процессоров, за счет меньшего количества ядер и более тонкого техпроцесса возросли. Самая младшая модель имела номинальную частоту 3,2 ГГц (в режиме Turbo Boost - 3,46 ГГц), а старшая - 3,6 ГГц (в режиме Turbo Boost- 3,8 ГГц). Кэш второго уровня остался прежним и составил 256 Кб на каждое ядро, а вот L3, как и количество ядер, был урезан наполовину до 4 Мб.

Core i3 500 ( Clarkdale) . Вместе с Core i5 600, того же 4 января 2010 года, дебютировало новое семейство процессоров Intel Core i3 младшего уровня, ориентированное на бюджетный сектор ПК. Главным их отличием от решений 600-ой серии стали пониженные тактовые частоты (2.93 ГГц - 3.33 ГГц) и отсутствие режима Turbo Boost. В остальном основные характеристики процессоров Core i3 практически не отличались от Core i5.

Pentium G6900 ( Clarkdale) - немногочисленное семейство двухъядерных процессоров начального уровня, анонсированное вместе с линейками Core i5 600 и Core i3 500 в начале января 2010-ого и включавшее в себя всего два процессора с тактовыми частотами 2,8 ГГц и 2,93 ГГц. В отличии от Core i3, у чипов G6900 был урезан кэш третьего уровня до 3 Мб, снижена частота встроенного графического ядра до 533 МГц и отсутствовала поддержка технологии Hyper-Threading.

Celeron G1101 ( Clarkdale) стал единственным процессором этого семейства, изготовленным на базе архитектуры Nehalem. G1101 имел два вычислительных ядра, работавших на частоте 2,26 ГГц, кэш L2 по 256 Кб на каждое ядро, кэш L3 урезанный до 2 Мб, а так же видеоядро, функционирующее на частоте 533 МГц. Из характеристик ясно, что это сверхбюджетный процессор, ориентированный на компьютеры самого начального уровня.

Core i7 970 ( Gulftown) . В третьем квартале 2010 года Intel выпустила на рынок свой первый шестиядерный процессор для настольных компьютеров, который стал ответом на уже существующую к тому моменту линейку AMD Phenom II Х6 1000T, так же включавшую в себя процессоры с 6 вычислительными ядрами. Core i7 970 имел тактовую частоту 3.20 ГГц, способную повышаться в режиме Turbo Boost до 3.46 ГГц. Кэш второго уровня составил те же 256 Кб на каждое ядро, а вот L3 подрос до немалых 12 Мб. Процессор был рассчитан на установку в разъем LGA1366 и использовал шину QPI.

Заключение

Теперь, после того как мы познакомились со всеми линейками процессоров Intel и AMD того времени, давайте посмотрим на их производительность, и самое главное, сравним решения, построенные на базе архитектур Nehalem, конкурирующей К10.5 и бывшего лидера Core. Для этого, как и в предыдущем случае, воспользуемся опубликованными на ресурсе cpubenchmark.net, результатами тестирования процессоров, полученными с помощью бенчмарка CPU PassMark Performance Test . В сравнении участвуют старшие модели серий.

Из итоговой диаграммы наглядно видно, каким был расклад сил на процессорном рынке к концу 2011 года. Однозначно можно сказать, что процессоры на архитектуре Nehalem получились быстрее своих предшественников и позволили Intel сохранить лидирующие позиции в секторе производительных решений.

Так мы видим, что шестиядерный Core i7 970 оказался просто вне конкуренции, оставив шестиядерный Phenom II X6 далеко позади. При этом для того, что бы добиться такой же производительности, как у флагманского чипа AMD, процессорам Intel оказалось достаточно на два вычислительных ядра меньше. Так четырехъядерные Core i7 с более низкими тактовыми частотами показывают практически такие же результаты, что и Phenom II X6. Правда здесь стоит сделать одну оговорку. Все таки Core i7 970 являлся очень нишевым продуктом, ориентированным на энтузиастов, готовых платить большие деньги за столь высокую производительность и не был расчитан на массовый рынок.

Ту же самую картину мы наблюдаем и в среднем сегменте. Двухъядерный Core i5 навязывает борьбу Athlon II X4 и Phenom II X4, имеющих по четыре ядра. Таким образом, видно, что AMD из-за менее эффективной архитектуры приходится добиваться приемлемой производительности за счет увеличения в процессорах количества ядер. Именно поэтому все двухъядерные решения от AMD безнадежно застряли в самом низу рейтинга, составив конкуренцию устаревшему к тому времени Core 2 Duo E7600 и сильно урезанному Pentium G6960.

Итак, мы видим, что к концу 2011 года паритет на процессорном рынке остался прежним. Intel продолжала доминировать и выпускать самые производительные решения. AMD же удалось хорошо закрепиться в среднем и бюджетном сегменте за счет недорогих четырехъядерных и трехъядерных решений. Но это и не удивительно, так как на протяжении последних нескольких лет именно невысокие цены на свою продукцию позволяли AMD держаться на плаву и противостоять более быстрым решениям Intel.

Правда, уже к концу года все могло измениться, так как в третьем квартале 2011-ого обе компании приступили к выпуску процессоров, в основе которых лежали новые архитектуры: AMD Bulldozer (К11) и Intel Sandy Bridge (Core второго поколения). Но о них мы вам расскажем уже в следующем материале.

После прорыва начала "нулевых" AMD благополучно вернулась в своё обычное состояние вечно догоняющего и, несмотря на довольно интересные и, бесспорно, передовые технические решения, даже не пытается конкурировать с Intel по объёмам продаж. По данным на середину 2009 года, на долю компании приходится порядка 14,5% рынка микропроцессоров. При этом некогда фирменные "фишки" чипов AMD - например, 64-разрядные расширения инструкций или встроенный в процессор контроллер оперативной памяти - давно используются в чипах главного конкурента.

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

Именно этим объясняется тот факт, что на прилавках магазинов можно обнаружить процессоры AMD самых разных семейств и поколений - от доисторических Sempron и Athlon на базе заслуженной архитектуры K8 для разъёма Socket 939 до ультрасовременных шестиядерных Phenom II X6. Как бы то ни было, в AMD сейчас делают ставку на архитектуру K10, поэтому речь пойдёт именно о процессорах, сконструированных на её основе. К ним относятся Phenom и Phenom II, а также их бюджетный вариант, застенчиво названный Athlon II.

Исторически первыми чипами на базе K10 были четырёхъядерные Phenom X4 (кодовое название Agena), выпущенные в ноябре 2007 года. Чуть позже, в апреле 2008 года появились трёхъядерные Phenom X3 - первые в мире центральные процессоры для настольных компьютеров, в которых на одном кристалле расположено три ядра. В декабре 2008 года c переходом на 45-нанометровый техпроцесс было представлено обновлённое семейство Phenom II, а в феврале чипы получили новый разъём Socket AM3. Серийный выпуск четырёхъядерных Phenom II X4 начался в январе 2009 года, трёхъядерных Phenom II X3 - в феврале 2009 года, двуядерных Phenom II X2 - в июне 2009 года, а шестиядерных Phenom II X2 - буквально только что, в апреле 2010 года.

Athlon II - современная замена Sempron - представляет собой Phenom II, лишённый одного из важнейших его достоинств - большой кэш-памяти третьего уровня (L3), общей для всех ядер. Выпускается в дву-, трёх- и четырёхъядерных вариантах. Athlon II X2 производится с июня 2009 года, X4 - c сентября 2009 года, а X3 - c ноября 2009 года.

Архитектура AMD K10

Каковы принципиальные отличия архитектуры K10 от K8? Прежде всего, в процессорах K10 все ядра выполнены на одном кристалле и снабжены выделенной кэш-памятью L2. В чипах Phenom/Phenom 2 и серверных Opteron также предусмотрена общая для всех ядер кэш-память L3, объём которой составляет от 2 до 6 Мбайт.

Второе важное преимущество K10 - новая системная шина HyperTransport 3.0 с пиковой пропускной способностью до 41,6 Гбайт/с в обоих направлениях в 32-битном режиме или до 10,4 Гбайт/с в одном направлении в 16-битном режиме и частотой до 2,6 ГГц. Напомним, что максимальная рабочая частота предыдущей версии HyperTransport 2.0 составляет 1,4 ГГц, а пиковая пропускная способность - до 22,4 или 5,6 Гбайт/с.

Широкая шина особенно важна для многоядерных процессоров, при этом в HyperTransport 3.0 предусмотрена возможность конфигурации канала, что позволяет предоставить каждому ядру собственную независимую линию. Кроме того, процессор K10 способен динамически изменять ширину и рабочую частоту шины пропорционально собственной частоте.

При этом нужно отметить, что в настоящее время в чипах AMD шина HyperTransport 3.0 работает с намного меньшей скоростью, чем максимально допустимая. В зависимости от модели применяются три режима: 1,6 ГГц и 6,4 Гбайт/с, 1,8 ГГц и 7,2 Гбайт/с и 2 ГГц и 8,0 Гбайт/с. В выпускаемых чипах пока не используются ещё два заложенных в стандарт режима - 2,4 ГГц и 9,6 Гбайт/с и 2,6 ГГц и 10,4 Гбайт/с.

В процессоры K10 встраиваются два независимых контроллера оперативной памяти, что ускоряет доступ к модулям в реальных условиях эксплуатации. Контроллеры способны работать с памятью DDR2-1066 (модели для разъёма AM2+ и AM3) или DDR3 (чипы для разъёма AM3). Поскольку интегрированный в Phenom II и Athlon II для Socket AM3 контроллер поддерживает оба типа оперативной памяти, а разъём AM3 обратно совместим с AM2+, новые ЦП могут устанавливаться на старые платы для AM2+ и работать с памятью DDR2. Это означает, что при покупке Phenom II для апгрейда вам не придётся сразу же менять и системную плату, а также приобретать оперативную память другого типа - как, например, в случае с чипами Intel i3/i5/i7.

В микропроцессорах с архитектурой K10 реализован целый набор модернизированных технологий энергосбережения - AMD Cool"n"Quiet, CoolCore, Independent Dynamic Core и Dual Dynamic Power Management. Эта сложная система позволяет автоматически снижать энергопотребление всего чипа в режиме простоя, обеспечивает независимое управление питанием контроллера памяти и ядер и способна отключать неиспользуемые элементы процессора.


Наконец, сами ядра также были существенно усовершенствованы. Была переработана конструкция блоков выборки, предсказания переходов и ветвлений, диспетчеризации, что позволило оптимизировать загрузку ядра и в конечном итоге повысить производительность. Разрядность блоков SSE была увеличена с 64 до 128 бит, появилась возможность выполнять 64-разрядные инструкции как одну, быда добавлена поддержка двух дополнительных инструкций SSE4a (не путать с наборами инструкций SSE4.1 и 4.2 в процессорах Intel Core).

Здесь необходимо упомянуть о конструктивном дефекте, выявленном в серверных Opteron (кодовое название Barcelona) и в Phenom X4 и X3 первых выпусков - так называемой "ошибке TLB", которая в своё время привела к полному прекращению поставок всех Opteron ревизии B2. В очень редких случаях при высокой загрузке из-за конструктивного недостатка блока TLD кэш-памяти L3 система могла вести себя нестабильно и непредсказуемо. Дефект был признан критически важным для серверных систем, из-за чего и была приостановлена отгрузка всех выпущенных Opteron. Для десктопных Phenom был выпущен специальный патч, отключающий средствами BIOS дефектный блок, но при этом производительность процессора заметно падала. С переходом на ревизию B3 проблема была полностью устранена, и в продаже такие чипы уже давно не встречаются.

Актуальный модельный ряд

Хотя топовые процессоры AMD вчистую проигрывают верхним моделям Intel, в сегменте массовых дву- и четырёхъядерных чипов уже продолжительное время сохраняется некоторый паритет. При этом сама платформа AMD заметно дешевле - меньше стоит не только сам процессор, но и системная плата. Особенно заметна эта разница, если сравнивать бюджетные машины на Phenom II X3 и X4 с компьютерами на базе Core i3, которые незначительно производительнее, но почти вдвое дороже. А если ещё больше пожертвовать мощностью и выбрать Athlon II, то ПК будет более чем вдвое дешевле!

Что же касается более производительных машин, то конкурировать с Core i5 могут только самые мощные модели Phenom II X4, а новейшие шестиядерные X6 корректно сравнивать лишь с самыми младшими четырёхъядерными Core i7.

Все выпускаемые Athlon II и Phenom II рассчитаны на установку в разъём AM3, за исключением двух моделей: Phenom II X4 940 и 920, которые устанавливаются в Socket AM2+ и работают только с оперативной памятью DDR2. Чипы Phenom предназначены исключительно для разъёма AM2. Процессор для разъёма AM2+ нельзя установить в гнездо AM3, зато, как мы уже говорили, чипы AM3 можно устанавливать на платы с разъёмом AM2+.

Судя по всему, AMD постепенно выводит из употребления чипы для Socket AM2 и, как и Intel, делает ставку на модели с поддержкой более современной оперативной памяти DDR3. Схожие по тактовой частоте и прочим характеристикам модели для AM3 и AM2+ стоят практически одинаково, а если учесть обратную совместимость новых чипов, то в приобретении первых Phenom нет особого смысла. Поэтому в дальнейшем мы будем рассматривать исключительно Phenom II и Athlon II.

Как Athlon II, так и Phenom II доступны в дву-, трёх- и четырёхъядерном исполнении (X2, X3, X4), а "феномы" - также в шестиядерном. Выпускаются также модификации Black Edition, отличающиеся от стандартных разблокированным множителем, что упрощает разгон.

К сожалению, большая часть новых чипов AMD снова уступают по термопакету аналогичным по характеристикам моделям Intel, что означает большую требовательность к системам охлаждения и повышенное энергопотребление. Для многоядерных Phenom II типичный TDP - 80, 95 или 125 Вт. Продаются специальные экономичные (65 Вт) модификации с буквой "e" после индекса модели, но они заметно медленней "обычных" вариантов, а стоят дороже.

Процессоры Athlon II X2 представляют собой "настоящие" двуядерные чипы, а не четырёхъядерники с двумя нерабочими ядрами, как Phenom II X2. А вот Athlon II X3 - это Athlon II X4 c одним нефункциональным ядром. Все Athlon II выпускаются по 45-нанометровой технологии.

Каждое ядро "атлонов" X2, X3 и X4 оснащается 128 Кбайт кэш-памяти L1 и 512 Кбайт кэша второго уровня. Однако, в отличие от Phenom II, у них нет общей кэш-памяти L3, а это означает, что процессоры будут чаще обращаться к заведомо более медленной системной памяти. Результат - ограниченная производительность в ресурсоёмких приложениях, в трёхмерной графике и компьютерных играх. Впрочем, в сочетании с хорошей видеокартой системы на Athlon II демонстрируют вполне достойную игровую производительность.

Phenom II испытывают сильнейшую конкуренцию со стороны Core i3 и i5, но они безусловно выигрывают по стоимости сравнимой по характеристикам системы. Как и в Athlon II, каждое ядро "фенома" снабжено 128 Кбайт кэш-памяти L1 и 512 Кбайт кэш-памяти L2. При этом в Phenom II предусмотрена ещё и кэш-память третьего уровня, общая для всех ядер. Почти во всех "феномах" - и дву-, и трёх- и четырёх- и шестиядерных - 6 Мбайт кэша L3, за исключением трёх младших моделей X4 с индексами 805, 810 и 820, у которых всего 4 Мбайта L3.

Во второй части статьи мы познакомим вас с краткой справочной информацией об основных технических характеристиках всех выпускаемых в настоящее время процессоров AMD Athlon II и Phenom II и с ориентировочными розничными ценами на них в российских магазинах. А в заключение мы поговорим о самых интересных на наш взгляд моделях, на которые стоит обратить особое внимание при выборе.

В начале сентября компания AMD обещает представить свои новые четырёхъядерные процессоры архитектуры K10. Этими первыми процессорами с новой архитектурой будут серверные чипы Opteron на ядре с кодовым названием Barcelona. К сожалению, инженерам AMD в текущей ревизии не удалось добиться массового производства процессоров, работающих на высоких частотах. Основным препятствием к наращиванию частоты, по-видимому, стал тот факт, что четыре ядра на высоких частотах потребляют мощность, превышающую значение, предусмотренное термопакетом платформы. Потребляемая мощность будет понижаться, а частоты будут повышаться с выпуском новых ревизий и переходом на более тонкие техпроцессы. Пока же AMD необходимо срочно начинать продажи, чтобы выбираться из тяжёлого экономического положения, поэтому поставки Barcelona начнутся с серверных четырёхъядерных процессоров, работающих на частоте 2 ГГц.

В четвёртом квартале 2007 года AMD обещает повысить частоты Opteron до 2,4–2,5 ГГц и выпустить настольные версии процессоров архитектуры K10:

Phenom FX (кодовое имя Agena FX) – 4 ядра, 2 МБ кэша L3, ориентировочные стартовые частоты 2,2–2,4 ГГц, сокеты AM2+ и F+;
Phenom X4 (кодовое имя Agena) – 4 ядра, 2 МБ кэша L3, ориентировочные стартовые частоты 2,2–2,4 ГГц, сокет AM2+.

Позднее, в начале 2008 года, AMD обещает представить упрощённые версии новых процессоров:

Phenom X2 (кодовое имя Kuma) – 2 ядра, 2 МБ кэша L3, ориентировочные стартовые частоты 2,2–2,6 ГГц, сокет AM2+;
Athlon X2 (кодовое имя Rana) – 2 ядра, без кэша L3, ориентировочная стартовая частота 2,2 ГГц, сокет AM2+;
Sempron (кодовое имя Spica) – 1 ядро, ориентировочные стартовые частоты 2,2–2,4 ГГц, сокет AM2+.

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

Выборка инструкций

Исполнение кода процессором начинается с выборки инструкций из кэша команд L1I и их декодирования. Инструкции x86 имеют переменную длину, что затрудняет определение их границ перед декодированием. Для того, чтобы определение длины инструкций не влияло на темп декодирования, процессоры K8/K10 выполняют предекодирование команд во время загрузки строк в кэш команд L1I. Информация о разметке команд хранится в кэше L1I в специальных полях (3 бита информации предекодирования на каждый байт инструкции). Предекодирование при загрузке в кэш позволяет вынести накладные расходы на определение границ инструкций за пределы каналов декодирования и поддерживать постоянный темп декодирования вне зависимости от длины и структуры команд.

Процессоры загружают команды из кэша блоками, из которых выделяются инструкции, направляемые на декодирование. Процессор архитектуры К10 производит выборку инструкций из кэша команд L1I выровненными 32-байтными блоками, в отличие от процессоров K8 и Intel Core 2, которые производят выборку 16-байтными блоками. Темп выборки, составляющий 16 байт за такт, позволяет K8 и Core 2 отправлять на декодирование в каждом такте по пять инструкций средней длиной до 5 байт. Однако длина x86-инструкций может достигать 16 байт, и в некоторых алгоритмах длина нескольких смежных команд в цепочке может превышать 5 байт, что делает невозможным декодирование по три команды за такт в таких случаях (рис. 1).


Рис. 1. Несколько смежных длинных команд ограничивают темп
декодирования при выборке 16-байтными блоками


В частности, длина SSE2 – простой инструкции с операндами типа регистр-регистр (например, movapd xmm0, xmm1 ) – составляет 4 байта. Однако при применении в команде адресных операций обращения к памяти с использованием базового регистра и смещения (например, movapd xmm0, ) длина команды увеличивается до 6–9 байт в зависимости от смещения. В 64-битном режиме при использовании дополнительных регистров к коду команды добавляется ещё один однобайтный REX-префикс. Таким образом, в 64-битном режиме длина SSE2-команд может достигать 7–10 байт. Длина SSE1-команды на 1 байт меньше, если это команда векторная (то есть над четырьмя 32-битными значениями), но скалярные (над одним операндом) SSE1-команды также могут достигать длины в 7–10 байт при тех же условиях.

Выборка 16 байт за такт не является ограничением в подобной ситуации для процессора K8, так как он всё равно не может декодировать векторные SSE-команды в темпе выше 3 команд за 2 такта, однако для архитектуры K10 16-байтная выборка могла бы стать ограничением, поэтому расширение ширины выборки до 32 байт за такт является обоснованным решением.

Кстати говоря, процессоры Core 2 выбирают инструкции блоками по 16 байт, как и процессоры K8, поэтому они могут эффективно декодировать поток команд в темпе по 4 за такт лишь в том случае, когда средняя длина инструкции не превышает 4 байт, в противном случае декодер не сможет эффективно обрабатывать не только 4, но и 3 инструкции за такт. Однако Core 2 обладают специальным внутренним 64-байтным буфером, хранящим последние запрошенные четыре 16-байтных блока. Выборка из этого буфера осуществляется с темпом 32 байта за такт. Этот буфер позволяет кэшировать короткие циклы, снимать в них ограничение на темп выборки, а также экономить 1 такт на каждом предсказании перехода на начало цикла. Однако циклы не должны содержать более 18 команд, более 4 условных переходов, и не должно быть ни одной команды ret .

Предсказание переходов

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

Косвенными называются переходы, которые производятся по указателю, динамически вычисляемому при выполнении кода программы. Обычно косвенные переходы вставляются компиляторами в конструкции switch-case, а также используются при вызовах функций по адресу и в вызовах виртуальных функций в объектно-ориентированном программировании. Процессор K8 всегда пытается произвести выборку кода по последнему адресу перехода. Если адрес изменился, происходит сброс конвейера. В случае, если адрес перехода периодически чередуется, процессор будет постоянно ошибаться. Механизм предсказания динамически изменяющихся адресов косвенных переходов впервые появился в процессоре Pentium M. Отсутствие такого механизма в K8 снижает его эффективность на объектно-ориентированном коде.

Как и ожидалось, предсказание условных переходов в K10 было усовершенствовано:

Появился механизм предсказания динамически изменяющихся адресов косвенных переходов, которые предсказываются по таблице размером 512 элементов.
С 8 до 12 бит увеличен размер глобального регистра истории, который используется для определения истории последовательности предыдущих команд переходов.
С 12 до 24 элементов увеличена глубина стека возврата, который используется для быстрого определения адреса возврата из функции, чтобы продолжить выборку, не дожидаясь, пока команда ret получит адрес возврата из стека.

Благодаря этим усовершенствованиям K10 должен получить ощутимую прибавку в скорости исполнения программ, написанных на объектно-ориентированных языках высокого уровня. К сожалению, объективно оценить эффективность блока предсказания переходов K10 довольно трудно, но по некоторым данным она может в некоторых случаях быть ниже, чем в процессорах Intel.

Декодирование

Полученные из кэша команд блоки копируются в буфер предекодирования (Predecode/Pick Buffer ), где происходит выделение инструкций из блоков, определение их типов и отсылка в соответствующие каналы декодера. Простые инструкции, которые декодируются в одну (Single) или две (Double) макрооперации, отсылаются в "простой" декодер, называемый DirectPath . Сложные инструкции, которые декодируются в 3 или более макрооперации, отсылаются в микропрограммный декодер, называемый VectorPath .


Рис. 2. Декодер


Каждый такт из каналов декодеров могут выходить по 3 макрооперации (МОП). DirectPath-декодером за такт может быть декодировано 3 простых 1-МОПовых инструкции, либо одна 2-МОПовая и одна 1-МОПовая, либо полторы 2-МОПовых инструкции (три 2-МОПовых инструкции за два такта). Сложные инструкции могут декодироваться более чем в 3 МОПа, поэтому декодирование таких инструкций может продолжаться в течение нескольких тактов. Чтобы не создавать конфликтов на выходе из каналов декодера, простые и сложные инструкции в K8 и K10 не могут быть отправлены на декодирование одновременно.

МОПы состоят из пары микроопераций (micro-ops): одной микрооперации целочисленной или вещественной арифметики и одной адресной микрооперации обращения к памяти. Выделение микроопераций из МОПов производится планировщиком, который отправляет их на исполнение независимо друг от друга.

Выходящие каждый такт из декодера МОПы объединяются в группы по 3. Из-за чередования DirectPath и VectorPath команд или различных задержек в выборке инструкции для декодирования на выходе декодера может сформироваться группа, содержащая 2 или даже всего 1 МОП. Такая группа заполняется до трёх пустыми МОПами и в таком виде отправляется на исполнение.

Векторные SSE, SSE2 и SSE3-команды в процессоре K8 разбиваются на пары МОПов, раздельно обрабатывающие старшую и младшую 64-битные половины 128-разрядного SSE-регистра на 64-битных устройствах. Это в два раза снижает темп декодирования команд и в два раза уменьшает количество инструкций, попадающих в очередь планировщика.

Благодаря тому, что в процессоре К10 блоки FPU расширены до 128 бит, отпала необходимость дробления векторных SSE-команд на два МОПа. Большинство SSE-инструкций, которые декодировались в K8 как DirectPath Double, в K10 стали декодироваться в 1 МОП как DirectPath Single. Кроме того, часть SSE-инструкций, которые в K8 декодировались через микропрограммный VectorPath-декодер, в K10 стали декодироваться через простой DirectPath-декодер с уменьшением числа генерируемых МОПов до 1 или 2-х МОПов (в зависимости от операции).

Также упростилось декодирование целочисленных инструкций работы со стеком. Большинство форм инструкций работы со стеком, которые обычно используются при вызовах функций CALL-RET и PUSH-POP, теперь тоже декодируются простым декодером в один МОП. Кроме того, эти команды теперь при помощи специальной схемы Sideband Stack Optimizer преобразуются в независимую цепочку макроопераций, которые могут исполняться параллельно.

Sideband Stack Optimizer

В K10 к схемам декодера был добавлен специальный блок, называемый Sideband Stack Optimizer. Принцип его действия аналогичен новому блоку Stack Pointer Tracker, применяемому в процессорах Core. Зачем он нужен? В системе команд x86 для вызова функции, выхода из неё, передачи в неё параметров и сохранения содержимого регистров используются команды CALL, RET, PUSH и POP. Все эти команды в неявной форме используют регистр ESP, указывающий на текущее положение стека. Проследить, как исполняются эти команды при вызове функции в K8, можно, представив их декодирование как последовательность эквивалентных элементарных операций изменения регистра стека и загрузки/сохранения:


Как видно из этого примера, при вызове функции команды последовательно меняют регистр ESP, поэтому каждая команда неявно зависит от результата предыдущей. Команды в этой цепочке не могут быть переупорядочены, поэтому тело функции, начиная с команды mov eax, , не может начать выполняться до выполнения последней команды PUSH. Блок Sideband Stack Optimizer отслеживает изменение стека и преобразует цепочку в независимую, настраивая смещение каждой команды относительно стека и вставляя операции синхронизации вершины стека (sync-MOP) перед командами, явно использующими регистр стека. Тем самым снимается ограничение на переупорядочивание команд, использующих стек.


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

Таким образом, повышение темпа декодирования команд работы со стеком, применение блока Sideband Stack Optimizer, увеличение глубины стека возврата и предсказание чередующихся косвенных переходов в K10 приводят к ощутимому увеличению скорости выполнения кодов, богатых вызовами функций.

Декодер процессора K10 не сможет декодировать по 4 команды за такт, как это может делать в благоприятных условиях декодер Core 2, но это не будет являться ограничивающим фактором при исполнении программ. Средний темп исполнения команд практически никогда не достигает 3 команд за такт, поэтому декодер K10 будет достаточно эффективен, чтобы вычислительные блоки не простаивали от нехватки операций в очередях.

Блок управления командами

Декодированные тройки МОПов поступают в блок управления командами (instruction control unit – ICU), который заносит МОПы в буфер переупорядочивания (reorder buffer – ROB). Буфер переупорядочивания состоит из 24 линий по три МОПа. Каждая тройка МОПов записывается в свою линию. Таким образом, ROB позволяет блоку управления отслеживать состояние 72 МОПов вплоть до их отставки.

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

Исполнение целочисленных команд

В процессорах K8 и K10 блок целочисленных операций (Integer Execution Unit ) состоит из трёх симметричных целочисленных каналов. Каждый из вычислительных каналов имеет свой планировщик с очередью на 8 МОПов, одинаковый набор целочисленных арифметико-логических устройств (ALU), адресных устройств (AGU) и блок условных переходов. Кроме этого, к вычислительному каналу 0 подключён блок умножения, а к вычислительному каналу 2 – блок выполнения новых операций LZCNT и POPCNT (о них ниже).


Рис. 3. Блок исполнения целочисленных операций


Выбор очереди для каждого МОПа определяется статическим положением команды в тройке, сформированной на выходе из декодера. Каждая макрооперация из тройки отсылается из буфера переупорядочивания на исполнение в свою очередь, что, с одной стороны, упрощает управление командами, а с другой – может привести к несбалансированной загрузке очередей при неблагоприятном расположении цепочки зависимых операций в коде программы (что, однако, на практике почти не встречается и потому слабо влияет на производительность). Операции умножения и расширенные битовые операции размещаются декодером в нужных слотах троек, чтобы обеспечить их попадание в заданный канал.

В очередях планировщиков вычислительных каналов МОПы, как было сказано выше, разбиваются на целочисленные микрооперации и адресные микрооперации обращения к памяти. По мере готовности данных планировщик может запускать на исполнение из каждой очереди одну целочисленную операцию в устройство ALU и одну адресную операцию в устройство AGU. Количество одновременных обращений к памяти ограничено двумя. Таким образом, за каждый такт может запускаться на исполнение 3 целочисленных операции и 2 операции с памятью (64-битного чтения/записи в любой комбинации). Микрооперации из различных арифметических МОПов отправляются на исполнение из очередей по мере готовности данных для них во внеочередном порядке. После того как арифметическая и адресная микрооперации из МОПа выполнены, МОП удаляется из очереди планировщика, освобождая место для следующих операций.

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

Например:

add ebx, ecx
mov eax, – быстрое вычисление адреса
mov ecx, – адрес зависит от результата предыдущей команды
mov edx, – эта команда не будет запущена до тех пор, пока не будут вычислены адреса всех предыдущих команд.


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

В процессорах архитектуры K10 это узкое место ликвидировано. Процессоры K10 теперь способны не только запускать вне очереди команды чтения, но и запускать команды записи раньше команд чтения в тех случаях, когда процессору известно, что адреса записи и чтения не конфликтуют. Запуск записи в обход чтения позволяет ощутимо ускорить выполнение некоторых видов кодов, например, циклов, начинающихся с команды чтения очередной порции данных из памяти и заканчивающихся сохранением вычисленного результата в память.
.....// операции над данными
mov , eax // сохранение результата
cmp
jnz L1
В таких случаях процессор, не поддерживающий запуск чтения раньше записи, не может начать выполнения следующей итерации цикла до завершения записи результата текущей. Процессоры, которые поддерживают переупорядочивание чтения, могут начать загрузку данных и вычисления для следующей итерации, не дожидаясь окончания текущей.

К сожалению, процессор K10 пока не умеет производить спекулятивную загрузку в обход записи по ещё неизвестному адресу, как это делают процессоры Core 2. Несмотря на то, что такие спекуляции могут приводить к штрафам, в реальности в коде программ эти штрафы редки (около 5 % случаев), поэтому спекулятивные загрузки оправданы с точки зрения повышения производительности.

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

В целом блок целочисленных устройств К10 будет весьма эффективен. После добавления механизма внеочередного исполнения операций с памятью в нём теперь отсутствуют ярко выраженные слабые места. Несмотря на меньшую глубину очередей, по сравнению с процессорами Core 2, у процессоров K10 отсутствуют ограничения на чтение регистров из регистрового файла и некоторые другие ограничения планирования, которые не позволяют Core 2 постоянно исполнять операции в максимально возможном темпе.

Исполнение вещественных команд

В процессорах K8 и K10 планировщик блока операций с плавающей точкой (FPU) отделён от планировщика целочисленных команд и устроен несколько иначе. Буфер планировщика вмещает до 12 групп по 3 МОПа (36 вещественных операций теоретически). В отличие от блока исполнения целочисленных команд с симметричными вычислительными каналами блок плавающей арифметики содержит три различных устройства: FADD для вещественного сложения, FMUL для вещественного умножения и FMISC (он же FSTORE) для команд сохранения в памяти и вспомогательных операций преобразования, поэтому в буфере планировщика нет привязки положения МОПа в группе команд к конкретному вычислительному устройству (рис. 4).



Рис. 4. Блок исполнения операций с плавающей точкой


Каждый такт K8 и K10 могут запускать на исполнение по одной операции в каждое из устройств вещественной арифметики. В процессоре K8 устройства вычислений с плавающей точкой являются 80-битными. Векторные 128-битные SSE-команды разбиваются на этапе декодирования на два МОПа, которые производят операции над 64-битными половинами 128-битного операнда и запускаются на исполнение последовательно в разных тактах. Это не только ограничивает темп выполнения векторных команд, но и практически в два раза уменьшает эффективный объём буфера FPU-планировщика и, следовательно, глубину внеочередного выполнения команд.

В процессоре K10 ширина FPU-устройств увеличилась до 128 бит. K10 обрабатывает векторные 128-битные операнды целиком одной операцией, что увеличивает теоретический темп выполнения векторных SSE-команд в два раза по сравнению с K8. Кроме того, за счёт сокращения вдвое количества МОПов увеличивается эффективная длина очереди планировщика, что позволяет делать более глубокое внеочередное исполнение.

В процессоре K8 SSE-команды загрузки выполняются с использованием устройства FSTORE, что, с одной стороны, не позволяет выполнять одновременно другие команды, претендующие на это устройство, а с другой – ограничивает количество одновременно запускаемых команд загрузки до одной. Два параллельных чтения из памяти в K8 может быть выполнено только в том случае, если одна из команд – это инструкция, совмещающая обращение к памяти и операцию с данными (так называемая Load-Execute-команда), например, ADDPS xmm1, .

В процессоре K10 произошло несколько важных усовершенствований механизма исполнения SSE-команд загрузки.

Во-первых, команды загрузки данных больше не используют ресурсы FPU-блока, таким образом, теперь освобождается порт FSTORE для запуска других команд, а команды загрузки могут запускаться по 2 за такт.

Во-вторых, в тех случаях, когда данные в памяти выровнены по 16-байтной границе, команды невыровненной загрузки данных MOVU** работают теперь так же эффективно, как и команды выровненной загрузки MOVA**. Таким образом, для процессоров K10 использование команд MOVA** больше не даёт никаких преимуществ.

В-третьих, в процессорах K10 применение невыровненных загрузок также теперь разрешено и для Load-Execute-команд, совмещающих загрузку с операцией над данными. Обычно, если нет уверенности в том, что данные в памяти выровнены, компилятор (или программист) использует команды MOVU** для чтения данных в регистры с последующими операциями над регистрами. Использование невыровненных загрузок непосредственно с командами Load-Execute может значительно сократить количество отдельных команд загрузки в коде программы и тем самым увеличить производительность. Поддержка этой возможности должна быть встроена в компиляторы. Вообще говоря, по спецификации SSE, разработанной компанией Intel, обращение Load-Execute-команды по адресу, не выровненному по границе 16 байт, должно приводить к исключению. Для сохранения совместимости со спецификацией разрешение невыровненных загрузок в Load-Execute-командах должно включаться установкой специального флага программным обеспечением, спроектированным и скомпилированным с учётом новых возможностей процессоров.

В-четвёртых, две шины чтения данных из кэша первого уровня в процессоре K10 расширены до 128 бит. Это позволяет процессору выполнять по два чтения 128-битной порции данных каждый такт. Это очень важная особенность архитектуры, так как для параллельного выполнения двух команд нужно 4 операнда (по 2 на команду), а в ряде алгоритмов поточной обработки данных два из четырёх операндов, как правило, считываются из оперативной памяти. Напротив, две шины записи в процессоре K10 по-прежнему остались 64-битными, а 128-битный результат при записи в память разбивается на два 64-битных пакета. Таким образом, процессор может выполнять каждый такт только одну 128-битную запись, или два 128-битных чтения, или одно 128-битное чтение и один 64-битный пакет записи. Однако с учётом того факта, что количество чтений обычно не менее чем в два раза превосходит количество записей, ограничение записи не должно заметно сказываться на эффективности процессора при обработке 128-битных данных.

В-пятых, команды копирования 128-битных данных MOV*** регистр-регистр теперь могут исполняться на любом из трёх FPU-устройств, а не только на FADD и FMUL, что также освобождает блоки FADD и FMUL для целевых операций.

Как мы видим, FPU-блок процессора K10 стал значительно более гибким. Появились такие уникальные возможности, пока отсутствующие у процессоров Intel, как эффективная невыровненная загрузка, в том числе для Load-Execute-команд, и два 128-битных чтения за такт. В отличие от Core 2, планировщики вещественных и целочисленных операций используют раздельные очереди, что помогает избегать конфликтов операций из-за одних и тех же портов запуска. Однако K10 по-прежнему разделяет устройство FMISC (FSTORE) для операций SSE-сохранения с некоторыми командами преобразования данных, что может в отдельных случаях сказаться на темпе их исполнения.

В целом FPU-блок в K10 обещает быть весьма эффективным, по ряду параметров (например, возможности двух 128-битных чтений за такт и эффективной невыровненной загрузке) превосходящим FPU-блок Core 2.

Подсистема памяти

Устройство загрузки/сохранения

В процессоре K8 после вычисления на AGU адресов обращения к памяти операции загрузки и сохранения направляются в LSU (Load/Store Unit) – устройство загрузки/сохранения. В LSU находятся две очереди LS1 и LS2. Сначала операции загрузки и сохранения попадают в очередь LS1 глубиной 12 элементов. Из очереди LS1 в программном порядке по две операции за такт производятся обращения к кэш-памяти первого уровня. В случае кэш-промаха операции перемещаются во вторую очередь LS2 глубиной 32 элемента, откуда выполняются обращения к кэш-памяти второго уровня и оперативной памяти.

В процессоре K10 в LSU были внесены изменения. Теперь в очередь LS1 попадают только операции загрузки, а операции сохранения направляются в очередь LS2. Операции загрузки из LS1 теперь могут исполняться во внеочередном порядке с учётом адресов операций сохранения в очереди LS2. 128-битные операции сохранения, как было сказано выше, обрабатываются в процессоре K10 как две 64-битные, поэтому в очереди LS2 они занимают по две позиции.

Кэш первого уровня

Кэш первого уровня в процессорах K8 и K10 раздельный, по 64 КБ для команд (L1I) и для данных (L1D). Ассоциативность кэшей равна двум, размер линии – 64 байта. Низкая ассоциативность может приводить к частым конфликтам строк, претендующих на один набор, что может увеличивать количество кэш-промахов и негативно сказываться на производительности. Низкая ассоциативность частично компенсируется достаточно большим объёмом кэша L1. Большим преимуществом кэша L1D является его двухпортовость – он может обслуживать по две команды чтения и/или записи за такт в любой комбинации.

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

Кэш второго уровня

В двух- и четырёхъядерных процессорах архитектур K8 и K10 каждое из ядер имеет индивидуальный кэш второго уровня L2. Размер кэша второго уровня в K10 остался равным 512 КБ на каждом из ядер, ассоциативность равна 16. У раздельных кэшей второго уровня есть свои достоинства и свои недостатки по сравнению с общим кэшем второго уровня в процессорах Core 2. К достоинствам можно отнести отсутствие конфликтов и конкуренции за кэш при одновременной интенсивной нагрузке нескольких ядер. К недостаткам – меньший объём кэша, приходящийся на одно ядро при интенсивной работе одной задачи.

Кэш L2 имеет эксклюзивную организацию хранения данных: данные в кэше первого и второго уровня не дублируются. Кэши первого и второго уровней обмениваются данными по двум однонаправленным шинам – одной на получение данных, другой на отправку. В процессоре архитектуры K8 ширина каждой шины 64 бита (8 байт) (рис. 5а.). Из-за такой организации процессор получает данные, запрошенные в L2, с невысоким темпом в 8 байт за такт. То есть передача 64-байтной строки занимает 8 тактов, что существенно увеличивает задержку получения данных ядром, особенно при одновременном доступе к двум или более строкам кэша второго уровня.

По окончательно не подтверждённой пока информации, в процессоре K10 разрядность шин приёма и передачи увеличилась в 2 раза, то есть до 128 бит каждая (рис. 5б). Это значительно сократит латентность доступа к кэшу при одновременном запросе двух или более строк.



Кэш третьего уровня

Для компенсации недостаточного объёма индивидуальных кэшей второго уровня в процессоре K10 появился общий для всех ядер кэш третьего уровня L3 объёмом 2 МБ, с ассоциативностью, равной 32. Кэш L3 имеет адаптивную эксклюзивную организацию: в нём хранятся как данные, вытесненные из кэшей L2 всех ядер, так и общие данные, используемые несколькими ядрами. При получении запроса от ядра на чтение строки производится проверка: если строка используется только одним ядром, то она удаляется из L3, освобождая место для строки, вытесняемой из кэша L2 запрашивающего ядра. Если же строка используется и другим ядром, то она останется в кэше; при этом, чтобы освободить место для строки, вытесняемой из кэша L2, из кэша L3 будет удалена другая, более старая строка.

Кэш L3 также должен помочь увеличить скорость обмена данными между ядрами. Как мы выяснили ранее, обмен данными между ядрами в современных процессорах Athlon 64 происходит через шину памяти. Это значительно снижает скорость доступа к совместно используемым модифицируемым данным. Согласно материалам AMD, в четырёхъядерных процессорах архитектуры K10 обмен данными между ядрами может происходить через кэш L3. При получении запроса от другого ядра, ядро, хранящее модифицированные данные, копирует их в L3, откуда они будут прочитаны запрашивающим ядром. Скорость доступа к изменённым данным в кэше чужого ядра должна существенно возрасти. Когда нам представится возможность, мы это обязательно проверим:).


Рис. 6. Передача данных между ядрами в процессоре K10


Латентность кэша L3, очевидно, будет выше, чем латентность кэша L2, однако в материалах AMD говорится, что она будет меняться адаптивно в зависимости от нагрузки – при отсутствии большой нагрузки будет лучше латентность, при высокой нагрузке будет увеличиваться темп. Что за этим стоит на самом деле, нам ещё предстоит проверить.

TLB

Кроме кэш-памяти для команд и данных, в процессорах существует ещё одна разновидность кэш-памяти – буфера трансляции виртуальных адресов в физические (translation-lookaside buffer – TLB). Они используются для хранения соответствия между виртуальными и физическими адресами страниц, полученных по таблицам трансляции страниц. Количество буферов трансляции определяет, как много страниц памяти может быть одновременно использовано без дополнительных дорогостоящих преобразований по таблицам. Это особенно критично для приложений, которые обрабатывают данные памяти в случайном порядке, когда постоянно происходят обращения к данным в разных страницах. В процессоре K10 было существенно увеличено количество буферов трансляции. Для удобства восприятия они сведены в таблицу.

Таблица 1 – Объём TLB процессоров K8 и K10


Как видно из таблицы, существенно увеличено количество буферов, используемых для трансляции адресов 2-МБ страниц, а так же появилась поддержка больших 1-ГБ страниц, которые будут полезны для серверов, обрабатывающих большие объёмы данных. При поддержке со стороны операционной системы приложения, использующие большие 2-МБ и 1-ГБ страницы, смогут получить прирост производительности.

Контроллер памяти

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

Во-первых, он теперь может работать в режиме передачи данных не только по одному 128-битному каналу, но и по двум независимым 64-битным каналам, что делает одновременное обращение к памяти со стороны нескольких ядер более эффективным.

Во-вторых, в контроллере был оптимизирован алгоритм планирования и переупорядочивания операций. Контроллер памяти группирует операции чтения и записи таким образом, чтобы наиболее эффективно использовать шину памяти. Операции чтения имеют преимущество перед операциями записи. Данные, предназначенные для записи, откладываются в буфере, объём которого в настоящее время точно не известен, но, по различным данным, лежит в диапазоне от 16 до 30 64-байтных строк. Выгрузка группы из нескольких отложенных строк позволяет значительно сократить расходы на переключение шины памяти с режима чтения на запись и обратно. Это особенно повышает производительность в случае потока чередующихся запросов чтения и записи.

В-третьих, контроллер памяти умеет анализировать последовательности запросов и делать предвыборку.

Предвыборка

Предвыборка не является сильным местом процессоров K8. Интегрированный контроллер памяти с низкой латентностью долгое время позволял процессорам AMD показывать хорошую производительность при работе с памятью. Однако при работе с новой памятью DDR2 процессоры K8 не показали высокую эффективность, в отличие от процессоров Core 2, обладающих мощной системой предвыборки. В процессорах K8 два блока предвыборки – один для кода, другой для данных. Блок предвыборки для данных производит предвыборку в кэш второго уровня по упрощённым последовательностям.

В K10 предвыборка была усовершенствована.

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

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

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

В итоге мы видим, что подсистема памяти в процессорах K10 претерпела изменения в лучшую сторону. Но всё же надо отметить, что по ряду характеристик она потенциально уступает подсистеме памяти в процессорах Intel. Это отсутствие спекулятивной загрузки в обход записи по ещё неизвестному адресу, более низкая ассоциативность кэша L1D, более узкая (по темпу передачи данных) шина между кэшами L1 и L2, меньший объём L2 и более простая предвыборка. Несмотря на усовершенствования, предвыборка в Core 2 потенциально более мощная, чем у K10: у последнего, например, отсутствует предвыборка по адресам инструкций, позволяющая отслеживать поведение отдельных инструкций, а также предвыборка из L2 в L1, позволяющая эффективно маскировать латентность L2. Эти факторы по-разному могут влиять на разные приложения, но в ряде случаев могут обеспечивать более высокую производительность процессоров Intel.

Рассмотрим вкратце, какие ещё нововведения несёт нам архитектура K10.

Новые команды

Процессор K10 теперь поддерживает несколько новых команд, расширяющих его возможности.

1. Команды расширенных битовых операций над регистрами общего назначения:

LZCNT – Count Leading Zeros – подсчитывает количество старших нулевых битов в операнде;
POPCNT – Bit Population Count – подсчитывает количество единичных битов в операнде.

2. Команды обработки SSE-регистров, называемые SSE4a:

EXTRQ – извлекает заданное количество битов из заданной позиции в младшей 64-битной части SSE-регистра;
INSERTQ – вставляет заданное количество битов в заданную позицию в младшей 64-битной части SSE-регистра;
MOVNTSS, MOVNTSD – команды потокового (без использования кэш-памяти) сохранения скалярных вещественных значений.

Расширение системы команд, называемое SSE4a – самостоятельное, оно никак не пересекается с новыми расширениями Intel, называемыми SSE4.1 и SSE4.2.

Виртуализация

AMD продолжила совершенствовать свою технологию виртуализации, используемую для запуска нескольких операционных систем на одном компьютере. Одним из самых значимых улучшений виртуализации стало использование вложенных таблиц страниц (Nested Paging). В этом режиме таблицы страниц виртуальных машин вложены в глобальную таблицу страниц гипервизора. При отсутствии ссылки на страницу в TLB операции табличного преобразования производятся процессором автоматически, в отличие от "теневого" управления страницами (Shadow Paging), которое требует большого количества ресурсов для управления табличными преобразованиями виртуальных машин.


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

Управление питанием и частотой

В новых процессорах K10 внедряется новая схема управления питанием и частотой ядер. Каждое из ядер теперь может работать независимо от других на своей частоте, которая меняется динамически в зависимости от нагрузки каждого из ядер.


Рис. 8. Независимое управление частотой
ядер в процессорах K10


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

Выводы

Вся информация по новым процессорам AMD пока ещё не опубликована, поэтому нас ещё могут ждать сюрпризы. Однако основные выводы по микроархитектуре сделать уже можно. Новый процессор AMD, благодаря многочисленным улучшениям ядра, обещает существенный прорыв в производительности по сравнению со своим предшественником, особенно в приложениях с интенсивными вещественными вычислениями. В большом спектре приложений процессор будет способен бороться на равных с одночастотными процессорами Intel и побеждать их. Дополнительный прирост производительности могут получить приложения, написанные с учётом новых уникальных возможностей процессора, таких как эффективная невыровненная загрузка и поддержка больших 1-ГБ страниц. Однако в процессоре есть и слабые, по сравнению с процессорами Intel, стороны – это подсистемы кэширования и предвыборки, которые могут оказать отрицательное влияние на производительность в ряде приложений. Но самым главным недостатком в борьбе за высочайшую производительность на стартовом этапе скорее всего станет недостаточно высокая частота. Пожелаем же компании AMD скорейшего освоения новых частот и продолжим следить, как обе компании продолжат борьбу и будут дальше совершенствовать свои процессоры в борьбе за нас, потребителей.

Автор выражает благодарность Марии Малич и Сергею Романову aka GReY за помощь в подготовке статьи .