Архитектура Intel Core i (Nehalem)

Опубликовано ноября 10, 2010 в Компоненты ПК, Процессоры

Девятое поколение процессоров Intel, получившее название Core i, без доли сомне­ния можно назвать революционным. Условное «семейство Intel Core i» состоит из нескольких модельных рядов, ориентированных на различные сегменты рынка.

На самом деле объединять эти процессоры в единое семейство можно лишь услов­но. Похоже, маркетологи компании Intel явно перемудрили с их названиями: к примеру, семейство Core i7 включает процессоры как на ядре Bloomfield, так и на ядре Lynnfield, «младшее» же семейство Core i5 может быть построено как на ядре Lynnfield (четырехъядерная серия Core i5-7xx), так и на новом 32-нанометровом ядре Clarkdale (двухъядерная серия Core i5-6xx).

И все бы ничего, только процессоры Bloomfield и Lynnfield ориентированы на со­вершенно разные платформы, несовместимые друг с другом. Даже разъемы у них разные. В процессорах Bloomfield используется разъем LGA 1366, а в процессорах Lynnfield-LGA 1156.

Прежде всего рассмотрим, что общего у новых процессоров. Как уже отмечалось, все процессоры Lynnfield имеют разъем LGA 1156. То есть теперь процессоры Intel могут иметь разъем LGA775, 1366 или 1156. В принципе, факт появления еще одного разъема процессоров Intel не столь печален. В конце концов, все равно но­вые процессоры Lynnfield несовместимы со старыми платформами, однако для процессоров Lynnfield потребуется еще и новый кулер, совместимый именно с разъ­емом LGA 1156.

Кстати, крепежные отверстия для кулера с разъемом LGA 1156 буквально на 2 мм не совпадают с отверстиями для кулера с разъемом LGA 775, и если бы разработчики захотели, то могли бы сделать кулеры для разъема LGA 1156 совместимыми с кулерами для разъема LGA 775. Но, видимо, компания Intel ре­шила таким образом простимулировать производителей кулеров. Ведь теперь вместе с новым процессором придется покупать и новый кулер!

Семейство Intel Core i

Все процессоры Lynnfield изготавливаются по 45-нанометровой технологии, а их ядра основаны на микроархитектуре Nehalem.

При переходе к новой архитектуре Core i были внесены следующие изменения.

1. В процессоре появился встроенный контроллер памяти, поддерживающий два или три канала DDR3 SDRAM.

2. В платформе Bloomfield на смену шине FSB пришла новая, более быстрая шина QuickPath, ставшая несколько запоздалым ответом на созданную AMD шину HyperTransport.

3. В отличие от процессоров предыдущих поколений, все ядра у процессоров се­мейств Core i7 и i5 расположены на одном кристалле.

4. Добавлен общий для всех ядер кэш третьего уровня (L3) объемом 8 Мбайт. Увеличена кэш-память первого (L1) и второго (L2) уровней.

5. В процессорах вновь появилась поддержка «виртуального многопроцессорного режима» SMT (Simultaneous Multi-Threading) (ранее она была реализована в процессорах Pentium 4 под названием Hyper-Threading).

Отличительной особенностью новых процессоров Lynnfield является наличие в них интегрированного двухканального контроллера памяти DDR3. Напомним, что в процессорах Bloomfield (Intel Core i7-9xx) применяется трехканальный контрол­лер памяти DDR3, а в процессорах Lynnfield, которые позиционируются классом ниже, — только двухканальный контроллер памяти. При этом в штатном режиме процессоры поддерживают память DDR3-1333 и DDR3-1066, а в режиме разго­на—и более скоростную память.

Интегрированный контроллер памяти может использовать до трех DIMM-спотов на каждый канал, то есть на материнских платах для процессоров Lynnfield будут располагаться два, четыре или шесть спотов памяти.

Важно отметить, что никакой особой двухканальной DDRЗ-пaмяти для процессо­ров Lynnfield не потребуется. Для работы памяти в двухканальном режиме, когда реализуется весь потенциал контроллера памяти, нужны два, четыре или шесть одинаковых модулей памяти. Отметим также, что контроллер памяти, интегриро­ванный в процессор Lynnfield, поддерживает спецификацию ХМР, что позволяет в случае применения соответствующих модулей эффективно разгонять память.

Пожалуй, одна из интереснейших (с технической точки зрения) особенностей процессоров Lynnfield заключается в том, что во все новые процессоры интегри­рован контроллер PCI Express 2.0 (этот интерфейс отсутствует в процессорах Bloomfield). Все процессоры Lynnfield поддерживают 16 линий PCI Express 2.0, которые могут быть реализованы как один порт PCI Express 2.0 х16 или два порта PCI Express 2.0 х8 для установки видеокарт. То есть если раньше взаимодействие между процессором и видеокартой происходило через северный мост чипсета по высокоскоростной шине QPI, то теперь оно осуществляется напрямую, минуя чипсет.

Поскольку контроллер памяти также интегрирован непосредственно в процессор, то необходимость в высокоскоростной шине для взаимодействия с чипсетом у про­цессоров Lynnfield просто отсутствует. Соответственно все процессоры Lynnfield не поддерживают шины QPI для связи с чипсетом. Напомним, что в процессорах Bloomfield вместо шины FSB, которая ранее применялась для связи процессора с чипсетом, используется новая шина QPI (QuickPath Interconnect), контроллер которой распложен на кристалле процессора.

Она является последовательной, вы­сокоскоростной и двунаправленной. Теоретическая пропускная способность шины QPI составляет 25,6 Гбайт/с, хотя такая единица измерения, как гигабайт в секун­ду (Гбайт/с), не является характеристикой QPI-шины. Вместо этого используется термин «гигатрансферы в секунду» (ГТ/с) — количество передач запакетированных данных по шине в секунду. В таких единицах измерения максимальная пропускная способность шины QPI составляет 6,4 ГТ/с.

В процессорах Lynnfield вместо шины QPI применяется хорошо известная шина DMI с пропускной способностью 2 Гбайт/с, которая ранее использовалась для связи северного и южного мостов чипсетов.

Все процессоры Lynnfield, как и Bloomfield, имеют двухуровневую модульную архитектуру. На уровне Core Logic располагаются четыре ядра процессора, а на уровне Uncore Logic — такие компоненты процессора, как L3-K3LU, контроллер памяти, DMI и PCI Express. Причем компоненты уровня Core Logic, то есть ядра процессора, и компоненты уровня Uncore Logic и электрически, и по частоте независимы друг от друга. Это означает, что компоненты уровня Uncore Logic не синхронизованы по частоте с ядрами процессора, то есть кэш L3 будет работать на частоте, отличающейся от частоты работы ядер процессора и соответ­ственно кэшей L1 и L2.

Следующий важный момент заключается в том, что все процессоры Bloomfield поддерживали технологию многопоточной обработки Hyper-Threading (в резуль­тате чего операционная система видела четырехъядерный процессор как восемь отдельных логических процессоров или ядер), а из процессоров Lynnfield данный режим поддерживают далеко не все.

Собственно деление процессоров Lynnfield на Core i7 и i5 как раз и связано с поддержкой режима Hyper-Threading. Все процес­соры Lynnfield семейства Core i7 (i7-860, i7-870) являются четырехъядерными и поддерживают режим Hyper-Threading, а четырехъядерные процессоры семей­ства Core i5 (i5-750) не поддерживают этот режим.

Естественно, различные модели Lynnfield отличаются друг от друга и тактовой частотой. Так, младшая модель Core i5-750 работает на частоте 2,66 ГГц (коэффи­циент умножения — х20), модель i7-860 — на частоте 2,79 ГГц (коэффициент умножения — x21),ai7-870 — на частоте 2,93 ГГц (коэффициент умножения — х22).

Характеристики моделей процессоров Lynnfield и Bloomfield

Еще одна особенность процессоров Lynnfield заключается в том, что все они, как и процессоры Bloomfield, поддерживают режим Turbo Boost (иногда используется термин Turbo Mode, смысл которого заключается в динамической подстройке тактовых частот ядер процессора).

Для этого в процессорах предусмотрен специальный функциональный блок PCU (Power Control Unit), который отслеживает уровень загрузки ядер процессора и его температуру, а также отвечает за энергопитание каждого ядра и регулирование его тактовой частоты. Этот блок PCU включает более миллиона транзисторов и даже имеет свой микроконтроллер с микрокодом.

Составной частью PCU является так называемый Power Gate (затвор), который применяется для перевода каждого ядра процессора по отдельности в режим энер­гопотребления С6 (фактически Power Gate отключает или подключает ядра про­цессора к линии питания VCC).

Если какие-то ядра процессора оказываются незагруженными, они попросту отклю­чаются от линии питания с использованием блока Power Gate (их энергопотреб­ление при этом равно нулю). Соответственно тактовую частоту и напряжение питания оставшихся загруженных ядер можно динамически увеличить (за это отве­чает PCU), но так, чтобы энергопотребление процессора не превысило его TDP. То есть фактически сэкономленное за счет отключения нескольких ядер энергопотребление используется для разгона оставшихся ядер, но чтобы увеличение энергопотребле­ния в результате разгона не превышало сэкономленного.

Более того, режим Turbo Boost реализуется и в том случае, когда изначально загружа­ются все ядра процессора, но при этом его энергопотребление не превышает значение TDP. В этом случае частота каждого ядра может динамически увеличиваться, но так, чтобы энергопотребление процессора не превышало заданного в BIOS значения.

В идеале в BIOS можно задавать и степень разгона каждого ядра в отдельности, то есть максимальный коэффициент умножения для каждого ядра. Увеличение частоты в режиме Turbo Mode производится скачкообразно, порциями по 133 МГц (частота системной шины в процессорах составляет 133 МГц). Пользователи, ко­торым режим Turbo Mode придется не по вкусу, в настройках BIOS могут запретить его использование.

К сожалению, возможность тонкой настройки режима Turbo Boost через BIOS используют далеко не все производители материнских плат. Если точнее, настрой­ка Turbo Boost возможна только на материнских платах самой компании Intel. Все остальные производители плат (Gigabyte, MSI, ASUS, ECS, AsRock) ограничива­ются тем, что в BIOS можно включить либо выключить режим Turbo Boost. В боль­шинстве случаев включение этого режима означает, что все ядра процессора уве­личивают свою тактовую частоту на одну ступень, то есть на 133 МГц.

Рассмотрим технологические особенности процессоров этого семейства. Одна из них заключается в реализации технологии слияния макроопераций Macro-Fusion:

Во-первых, расширен набор команд, для которых возможно слияние макроопераций. Во-вторых, в микроархитектуре Intel Core слияние макроопераций не поддержи­валось для 64-битного режима работы процессора, то есть технология Macro-Fusion была реализована только в 32-битном режиме. В архитектуре Nehalem это узкое место устранено и операции слияния работают как в 32- , так и 64-битном режиме процессора.

Следующее усовершенствование микроархитектуры Nehalem касается технологии обнаружения программных циклов Loop Stream Detector. В архитектуре Nehalem применяется улучшенный блок обнаружения циклов — теперь он расположен не перед, а за декодером и рассчитан на 28 декодированных инструкций, то есть мож­но обнаруживать на 60 % более длинные циклы.

Таким образом, в Nehalem инструкции в цикле будут проходить через конвейер быстрее и чаще. Еще одно важное нововведение в архитектуре Nehalem — использование двухуровневой иерархии буфера ассоциативной трансляции (Translation Lookaside Buffer, TLB), или буфера трансляции виртуальных адресов страниц памяти в физические.

Расположение модуля Loop Stream Detector в процессоре с микроархитектурой Nehalem

То есть если в архитектуре Intel Core традиционно использовалось два отдельных TLB-буфера для инструкции (ITLB) и данных (DTLB), которые можно рассматривать как буферы первого уровня, то теперь дополнительно введен унифициро-ванный TLB-буфер для данных и команд, который является буфером второго уровня. TLB-буфер второго уровня рассчитан на 512 записей, причем поддерживаются записи только для страниц памяти размером 4 Кбайт (Small Page). При этом ITLB-буфер рассчитан на 128 записей страниц памяти типа Small Page и семь записей (в расчете на один поток) для страниц типа Large Page (размером 2 или 4 Мбайт). Буфер DTLB рассчитан на 64 записи страниц памяти типа Small Page и 32 записи для страниц типа Large Page.

Естественно, что описанными изменениями в архитектуре Nehalem в сравнении с архитектурой Intel Core дело не ограничивается. Так, увеличен размер буфера переупорядочения (ReOrder Buffer, ROB): если ранее он был рассчитан на 98 микроинструкций, то теперь в нем можно размещать 128 микроинструкций. Кроме того, существенно улучшен механизм предсказания ветвлений.

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

Исполнительные блоки ядра процессора Nehalem

Еще одним существенным нововведением является набор расширений инструкций SSE4.2. Он включает поддержку всех 47 команд SSE4, а также семь новых программно-ориентированных ускорителей (Application Targeted Accelerator, ATA) обработки строк и текстовой информации. По утверждению разработчиков, до-полнительные ускорители будут полезны, например, в задачах лексического и синтаксического анализа, при работе с регулярными выражениями и поиске вирусов.

Говоря об особенностях новой микроархитектуры Nehalem, остается добавить, что длина конвейера в процессоре Nehalem составляет 16 ступеней, Напомним, что в про¬цессоре с микроархитектурой Intel Core конвейер включал 14 ступеней.

Прежде чем переходить к изучению структурной схемы, отметим ключевые техно-логические моменты, которые лежат в основе архитектур Core и Nehalem.

1. Intel Wide Dynamic Execution — обеспечивает выполнение до пяти микроопе-раций за один такт.
2. Intel Intelligent Power Capability — представляет собой целый набор технологий, призванных существенно снизить энергопотребление.
3. Intel Advanced Smart Cache — подразумевает наличие общей для всех ядер кэш-памяти L2, которая динамически распределяется между ними в зависимо¬сти от выполняемых задач.
4. Intel Smart Memory Access — комплекс технологий по оптимизации алгоритмов доступа к памяти и предварительной загрузки данных.
5. Intel Advanced Digital Media Boost — технология, направленная на оптимиза¬цию декодирования мультимедийного контента. Позволяет обрабатывать все 128-разрядные команды SSE, SSE2 и SSE3, широко используемые в мультиме¬дийных и графических приложениях, за один такт.
6. Intel 64 Technology — 64-битный (ЕМ64Т) режим целочисленной и адресной арифметики. Он позволяет работать с числами большой разрядности, а также адресовать свыше 1 Тбайт общей памяти (не путайте с оперативной: ее предель-ный размер при использовании 32-разрядных процессоров и операционных систем не превышает примерно 3,5 Гбайт).
7. Intel Dynamic Acceleration — эта технология позволила увеличить производи-тельность в однопоточных приложениях: когда одно ядро простаивает, а второе, наоборот, работает на полную мощность, IDA повышает тактовую частоту за-груженного ядра.
8. Dynamic FSB Switching — данная технология схожа с предыдущей: частота и напряжение системной шины автоматически уменьшаются и увеличиваются в зависимости от текущих потребностей.

Особенности контроллера памяти в процессорах для LGA1366

C момента появления процессоров на ядре Nehalem, одним из их преимуществ все считали интегрированный трехканальный контроллер памяти. Не просто интегрированный контроллер памяти (ИКП сокращенно), а именно трехканальный. Понятно, чем это «круто» — все-таки одноканальные и двухканальные контроллеры памяти у AMD были еще за пять лет до этого, так что дополнительный канал, да еще и наиболее скоростной на данный момент памяти типа DDR3, выглядел весьма серьезным преимуществом. По мнению многих пользователей, также и одним основных факторов, которым процессоры линейки Core i7 обязаны своей высокой производительностью. Стоит заметить, что сама компания Intel это мнение никак не опровергала, за что и немного поплатилась — по-настоящему массовые процессоры архитектуры Nehalem, которые будут выпущены в начале осени, рассчитаны на конструктив LGA1156, предполагающий использование лишь двух каналов памяти. Казалось бы, серьезный недостаток новых моделей, который неспособен будет позволить им конкурировать со старшими братьями. Но так ли это?

В обзорах материнских плат мы уже пробовали оценить полезность многоканального режима памяти в процессорах под LGA1366, и результаты оказались, мягко говоря, неутешительными. Для режимов, разумеется, а не для пользователей. Однако проверки проводились на весьма ограниченном количестве приложений, так что окончательного ответа на вопрос, нужен ли трехканальный режим на практике, они не давали. Сейчас мы решили восполнить этот пробел. Точнее, сначала просто возникло желание опробовать не трех-, а двухканальный режим, для последующего более корректного сравнения производительности Core i7 900-й и 800-й серий: чтобы потом не строить гипотез о том, что сильнее всего повлияло на результаты (если они, действительно, окажутся существенно различными). Однако просто «прогнать» тесты из последней версии нашей методики в еще одной конфигурации — слишком скучно, да и из такого противостояния всего двух вариантов хорошей статьи получиться не может, поэтому мы немного усложнили задачу.

Конфигурация тестовых стендов

Все тестирование проводилось с использованием процессора Core i7 920, материнской платы Intel DX58SO («Smackover») и референс-видеокарты на базе NVIDIA GeForce GTX 275 — словом, как все положено, согласно версии 4.0 нашей методики тестирования. Различалась только память. В дополнение к обычно используемому нами комплекту Kingston KVR1333D3N9K3/6G, мы взяли еще и кит от Apacer, имеющий вдвое меньший объем. Все модули поддерживают работу на более высоких частотах, нежели официальные для Core i7 920 1066 МГц, но мы тестировали их именно на этой частоте по схеме 8-8-8-19.

Получилось четырех конфигурации, представленные в таблице:

Число каналов Общий объем
3×2 3 6 ГБ
2×2 2 4 ГБ
1×4 1 4 ГБ
3×1 3 3 ГБ

Почему именно они? Две трехканальных нам нужны, чтобы четко понять — что важно в каком-то приложении: трехканальность или суммарный объем? Это будет хорошо видно по результатам: если и 3×2, и 3×1 в победителях, значит, польза от трех каналов есть, если только первый, значит, приложению просто нужно много памяти (точнее, оно способно ее использовать). Без 3×1 к однозначному ответу прийти было бы сложно. Полезность участия в тестах 2×2 очевидна — именно таким образом комплектуются современные системы на Core 2 и процессорах AMD, и именно он на некоторое время станет весьма массовым для систем на LGA1156 (конечно, можно было бы протестировать память и в конфигурации 2×1, но это уже с точки зрения систем, не относящихся к бюджетному сектору, совсем не интересно). 1×4 выглядит крайне синтетичным, поскольку вряд ли кто-то, имея два модуля памяти по 2 ГБ, будет их устанавливать в один канал, «презрев» остальные, однако… Он нам нужен для повышения общей образованности. Да и модули DDR3, емкостью 4 ГБ, уже появились. К сожалению, пока это экзотика, даже до наших рук не добравшаяся (иначе бы в списке тестируемых обязательно был бы и вариант 2×4), однако массовое распространение на рынке, как таких модулей, так и китов на их основе лишь вопрос времени.

Подробные результаты всех подтестов, как обычно, представлены в таблице, в формате Excel. Заметим, что в сегодняшнем тестировании они будут иногда даже более интересными, чем общие усредненные показатели по группам, так что тем, кому интересна детальная информация, не стоит отказывать себе в удовольствии с ними познакомиться.

Пристрелка

Но для начала мы решили проверить производительность каждого из вариантов в синтетическом приложении, в роли которого сегодня выступал Everest 4.6 (да, это далеко не последняя версия популярного тестового пакета, однако и «реальный» софт обновляется далеко не мгновенно, так что эти результаты нам весьма интересны даже если предположить слабую оптимизированность 4.6 под Nehalem).

И первые же результаты несколько обескураживают — как мы видим, никакого видимого прироста от задействования третьего канала ИКП нет. Более того — три модуля от Apacer справляются с этой задачей медленнее, чем два от Kingston. В то же время одноканальный режим — явный аутсайдер. Теоретическая ПСП DDR3 1066 составляет 8528 МБ/с, во что мы и уперлись — это понятно. Но добавление еще одного канала увеличивает скорость чтения далеко не в два, а менее чем в полтора раза, а третий вообще ничего не дает.

Со скоростью записи все еще веселее — одноканальный режим честно уперся в теоретическую ПСП, а увеличение количества каналов дало лишь менее 20% во всех случаях.

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

Уже можно делать определенные выводы. Как мы помним из поведения других архитектур с ИКП (AMD K8/K10), они наиболее восприимчивы именно к задержкам при доступе к памяти, что очень заметно в реальных приложениях. Вряд ли Nehalem будет вести себя строго наоборот. Причем все это на фоне одинаковых скоростей чтения и записи, то есть двухканальный режим должен стать лидером. Одноканальный — уже не факт, что будет слишком быстрым: задержки меньше, но и ПСП гораздо ниже, а это не может не сказаться. Насколько сильно — мы и проверим. И попутно посмотрим, как разные приложения относятся к разному полному объему памяти: синтетические бенчмарки никакой информации по этому поводу дать не могут.

3D-визуализация

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

Рендеринг трёхмерных сцен

Рендеринг вообще мало восприимчив к характеристикам системы памяти, что можно было предполагать и изначально — здесь главное именно «числодробительные» способности вычислительных ядер и их количество (да и «виртуальные» потоки вычисления тоже воспринимаются положительно). Причем и к объему памяти требований особых нет — лишь бы ее хватало для просчитываемой сцены и накладных расходов. Для наших тестов вполне достаточно 3 ГБ, что и демонстрирует нам диаграмма выше.

Научные и инженерные расчёты

А в этой группе появляется еще один класс приложений, в дополнение к тем, кому нужно как можно больше памяти и кому объем не важен — те, кто начинает в зависимости от увеличения ОЗУ работать медленнее. На первый взгляд, ситуация необъяснимая — если скорость падает от нехватки памяти, это понять легко, но избыток просто никто не должен «заметить». С другой стороны — а почему не должен? Эффективность кэширования вполне может зависеть от объема ОЗУ и даже должна от него зависеть. Если конкретное приложение использует лишь небольшой объем памяти, причем постоянный, ему будет «доставаться» разный объем кэш-памяти процессора. Например, при шести установленных гигабайтах лишь половина из 8 МБ кэша L3 будет отведена для данных программы «переднего плана» (не забываем, что в оставшейся памяти тоже может кто-то «жить», пусть и не очень активно, но на кэш при этом претендовать), а при трех их обслуживанием будут заниматься уже 2/3 от 8 МБ. Любопытный эффект, конечно, жаль только несколько в стороне от основной темы нашего исследования лежащий. С ней все, как обычно — в среднем, самым быстрым оказывается двухканальный режим, а из двух вариантов трехканального, несмотря на наличие упомянутых выше приложений-ренегатов, производительнее тот, где суммарный объем памяти выше.

Растровая графика

В основном, все понятно, поскольку среди растровых редакторов нам встречаются все три уже определенных «группы» приложений. Хотя и с некоторыми вариациями — так, например, обоим продуктам Corel все равно, сколько памяти и какой — 3 или 4 ГБ неважно, но лишь бы не 6. Но обнаружилось просто очень «памятелюбивое» приложение — Adobe Photoshop. Причем тут очень интересен не общий результат подтестов, а некоторые из них в отдельности. Точнее, один — Convert. И настолько интересен, что продублируем в статье соответствующий кусок таблицы с «сырыми» данными.

Core 2 Quad Q9300 2×2 Core i7 920 3×2 Core i7 920 2×2 Core i7 920 1×4 Core i7 920 3×1
0:09:07 0:04:45 0:08:05 0:08:12 0:17:42

Вывод? Несмотря на то, что большинство обзоров в сети, где сравниваются процессоры разных архитектур в этом приложении (в меньшинстве обзоров теста по Photoshop просто нет, так что можно даже сказать, что во всех статьях такого рода), утверждается, что Core i7 просто идеальный процессор для Photoshop, как мы видим, ничего особо выдающегося в нем нет. Идеальным тут является не архитектура ядра, а количество памяти. При 6 ГБ Core i7 920 вдвое обгоняет Core 2 Quad Q9300, обеспеченный всего 4 ГБ. Именно такие сравнения в большинстве статей и встречаются (в том числе и на нашем сайте, но и прочие ресурсы ведут себя аналогично): 3х2 для процессоров под LGA1366 и 2х2 для Core2, AMD Phenom и т.п. Но если мы ограничим первый из процессоров теми же 4 ГБ (причем неважно, каким образом набранными), то выясняется… что отличие от Core 2 Quad вполне укладывается в допустимое, с точки зрения разницы в тактовой частоте. А если мы «отберем» у Core i7 еще всего один гигабайт памяти (казалось бы — 3 или 4: невелика разница), то результат ухудшится еще вдвое! Это наиболее показательный пример, однако и другие подтесты ведут себя сходным образом, хоть микроскопическую, но разницу находят всегда. И ничего не поделаешь — Photoshop действительно память «любит», причем чем больше «весят» обрабатываемые в нем файлы, тем больше «любит», а все утилиты тестирования производительности в данном приложении (а не только наши самописные тесты), естественно, оперируют именно большими файлами.

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

Сжатие данных

Программы-архиваторы не умеют использовать слишком большой объем памяти, поэтому им он просто вредит — к доступной емкости кэш-памяти они очень восприимчивы. К задержкам основного ОЗУ еще более восприимчивы, поэтому и имеем такую картину — самой медленной конфигурацией является 3х2, а выйти на первое место 3х1 мешает латентность.

Компиляция (VC++)

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

Java

Тест Java-машины оказался очень восприимчив к скорости чтения из памяти, но и ее общий объем ему достаточно важен. Именно такую картину можно было бы ожидать везде, если бы верны были наивные предположения о том, что трехканальный доступ к памяти является залогом высокой производительности, но памяти при этом много не бывает. Жаль только, что среди протестированных приложений эти мечты подтверждены буквально пару-тройку раз. Но, как раз, пример, когда подтверждены.

Кодирование аудио

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

Кодирование видео

А вот тут все почти так, как должно быть в «наивной теории». Портит картинку только недостаточно заметный проигрыш двухканального режима. Точнее, будет сказать, почти незаметный. Да и тому, что он вообще есть, мы обязаны ровно одному приложению — DivX. Пример хорошей оптимизации под все особенности сегодняшние Core i7. Как он поведет себя на «завтрашних» будем проверять уже менее чем через месяц.

Игровое 3D

Очень, очень спокойная немного непонятная общая картина. Однако под внешним спокойствием в детальных результатах таится настоящая буря. Пристрастия игр сильно разделились, а у каких как — оставим в качестве задачи для самостоятельного изучения. Главный вывод — для игр (именно как множества, а не для одной конкретной игры) вопрос конфигурации памяти не является каким-то важным. В общем-то, решать его даже менее необходимо, чем вопрос выбора центрального процессора (разумеется, если речь не идет о совсем уж бюджетном секторе, типа Core 2 Duo или вообще Pentium/Celeron). Главным же вопросом, стоящим перед «хардкорным» геймером сегодня, будет: «Потяну на multi-GPU или придется свои желания как-то ограничивать?»

А зачем вообще нужен трехканальный ИКП?

Как мы видим, большой пользы от задействования третьего канала контроллера памяти в Core i7 LGA1366 нет. Канал — есть, использовать — можно, но результаты далеко не всегда улучшаются. Чаще даже, наоборот, ухудшаются. Так зачем компания Intel делала ИКП именно трехканальным? Из желания поиграть мускулами (у конкурента два, а мы все три сделаем)? Возможно, такой соблазн тоже был, но вряд ли — все-таки три канала даются достаточно высокой ценой. Причем в прямо смысле: разводка плат становится очень сложной, а сложно — значит дорого. Процессоры можно делать и недорогими (и использованный нами сегодня Core i7 920 тому яркий пример — его розничная цена как Core 2 Quad Q9650), но сама платформа оказывается дороговатой. Причем без особой пользы — для большинства «типично пользовательских» приложений сейчас легко можно ограничиться двумя модулями по 2 ГБ и не волноваться (особенно если учесть процент до сих пор использующих 32-х разрядные операционные системы, где больший объем ОЗУ просто не будет использоваться). Как было сказано в хорошем анекдоте про верблюжонка и его маму: «А зачем нам эти навороты, если мы все равно живем в зоопарке?»

В том-то и дело, что нынешние Core i7, по сути, в зоопарке и живут. Наилучшим образом под него будут приспособлены «настоящие» настольные модели, рассчитанные под исполнение LGA1156, главным (да и вообще — единственным) отличием которого от LGA1366 является поддержка «всего-навсего» двухканального режима памяти. А LGA1366 — платформа изначально серверная. В серверах нужно много памяти. Ни 4, ни 8 и даже ни 12 ГБ, а действительно много. Там и полсотни гигабайт легко могут оказаться востребованными, а то и недостаточными. Как же можно установить больше памяти в одну систему? Общий объем равен произведению количества модулей на их объем. Стало быть, нужно увеличивать либо количество, либо емкость каждого модуля. Второе — сложно и от производителей процессоров/чипсетов, вообще говоря, не зависит. Более того — освоение индустрией более «плотных» микросхем памяти благотворно сказывается на всех производителях серверных платформ одновременно, так что не может стать конкурентным преимуществом.

Значит, надо увеличивать количество поддерживаемых модулей. А оно равно (в общем случае) количеству контроллеров памяти, умноженных на количество поддерживаемых каждым модулей. Последнее — произведение числа поддерживаемых каналов на число одновременно работающих на каждом канале модулей. Увеличивать последнее — очень сложная задача, поскольку одновременно нужно и скоростные характеристики не ухудшать, как минимум. Эта проблема даже в настольных системах проявляется, где больше двух-трех модулей на канал не используется. Например, может быть так: один модуль — DDR3 1333, два — DDR3 1066, три — DDR3 800. Очень много медленной памяти, конечно, иногда лучше, чем мало быстрой, но идти на такие издержки все равно нежелательно. А иногда и невозможно.

Над проблемой увеличения количества поддерживаемых одним каналом контроллера модулей памяти в Intel работали долго и небезуспешно. Однако оказалось, что конечный результат (FB-DIMM) изначально поставленным требованиям удовлетворяет, но его использование вызывает массу нежелательных побочных эффектов.

Остается только один путь — во-первых, перенести контроллер памяти в процессор, что в многопроцессорной системе автоматически обеспечивает нам поддержку и нескольких контроллеров памяти. Во-вторых, увеличивать количество каналов памяти. И то, и другое было сделано. Результат? В системе на двух Xeon, равно как и в системе на двух Opteron, есть два контроллера памяти. Только в первой оба трехканальные, а во второй — двухканальные, что дает нам шесть и четыре канала памяти, соответственно. При установке двух модулей памяти на канал (очень даже щадящий режим) в первой системе их окажется 12, а во второй — 8. Допустим, каждый модуль имеет емкость 4 ГБ, тогда в первой системе окажется 48 ГБ, а во второй — 32 ГБ. В ряде задач это сразу обеспечит первой системе весомое преимущество. А как в сервере на Оптеронах теми же модулями «добить» память до 48 ГБ? Легко — устанавливаем три модуля на канал и… вся система памяти начинает работать медленнее, поскольку, например, задержки придется сильно увеличить. И получается: при одинаковой скорости работы памяти система «и» имеет в полтора раза больший ее объем, чем система «а», а при равном объеме система «и» работает с памятью быстрее, чем система «а».

Именно поэтому в Xeon трехканальный контроллер памяти нужен. Он и в Opteron нужен, но не удалось в свое время сделать. Точно так же, как сейчас Intel не удалось четыре канала реализовать. Все равно по этому пути идти обоим производителям, поскольку альтернативным (а именно FB-DIMM и количество модулей на канале увеличивать) один из них уже идти пробовал и остался не очень довольным.

А зачем все это в зоопарке, на рабочем столе обычного пользователя? Правильно — незачем. Кому нужно — те многопроцессорную рабочую станцию купят и сведут задачу к предыдущей. Основная масса как-то желанием не горела и по 8 ГБ в компьютеры устанавливать (хотя это-то давно доступно), так что ей нет разницы — можно поставить 12 или как. Тем более что сейчас уже при двух модулях на канал двухканального контроллера памяти можно получить и 16 ГБ, а вопрос — насколько это хуже/лучше, чем 24 ГБ, для нормального пользователя компьютера сродни вопросу, сколько ангелов поместятся на кончике иглы.

Итого

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

Но! Успокаиваться на этом рано — как мы видим, в общем зачете получилась идиллия именно из-за того, что разные приложения друг друга уравновешивают, однако ведут себя они совершенно по-разному. Кому-то нужно много памяти, кому-то ее увеличение наоборот — мешает, кому-то не важен объем, но жизненно важны низкие задержки, но DivX, по сути, «презрел» все объективно существующие параметры памяти и отдал предпочтение трехканальному режиму в любом виде. Поэтому, при сравнении систем с разными конфигурациями памяти в рамках одной статьи (или самостоятельно), в конкретных тестах не стоит забывать поинтересоваться — как именно получен тот или иной результат. Впрочем, не так уж долго осталось нам возиться именно с разными конфигурациями — LGA1156, напомним, поддерживает только два канала памяти, так что с этими процессорами все будет просто и логично. Устройства в конструктиве LGA1366 мы продолжим тестировать в конфигурации 3х2, однако иногда будем извлекать из запасников и 2х2 (когда нежелательно будет делать поправки в уме на особенности системы памяти). Можно было бы даже полностью перейти на последние, но нет смысла — в среднем, они, конечно, несколько быстрее, но поддержка трех каналов памяти эксклюзивная особенность LGA1366, так что пусть за нее отдувается. Нам просто достаточно помнить, что трехканальный доступ к памяти на этой платформе производительность совсем не увеличивает, а даже наоборот.

Благодарим российское представительство Kingston Technology
и компанию Apacer за помощь в комплектации тестовых стендов

Небольшой FAQ в помощь новичкам по разгону процессоров i7 на архитектуре Nehalem.
Все проделываемые манипуляции Вы производите на СВОЙ СТРАХ И РИСК!
Побудило меня на написание этой заметки частые вопросы одного и того же плана.
Небольшое вступление…
Перед нами первый десктопный ЦП Intel со встроенным контороллером памяти DDR3, который перекочевал из северного моста. И отказа от Front Side Bus (FSB), которая соединяла ЦП и логику на мат. плате (чипсет). Нет-нет, чипсет как таковой никуда не исчез, но претерпел некоторые изменения, в счастности теперь общение между ЦП и им происходит с помощью высокоскоростного интерфейса Quick Path Interconnect (QPI), так же имеется HT.
http://www.overclockers.ua/cpu/nehalem-core-i7-920-x58-rampage-extreme2/nehalem-core-i7-920-x58-rampage-extreme2-08.png
В связи с этим новшеством и изменился подход к разгону. Базовая частота или как ее называют опроная или просто BCLK имеет частоту тактового генератора равную 133Мгц она то и определяет частоты других компонентов
Что касается самой шины QPI, то ее частота формируется за счет умножения определенного коэффициента на частоту BCLK. Для Core i7-920, i7-930, i7-940 это значение равно 18 (пропускной способностью 4,8 ГТ/с), для Extreme версий 24 (пропускной способностью 6,4 ГТ/с).
Но это не единственная проблема, кэш третьего уровня и контороллер памяти (так называемая Uncore часть) в новых ЦП Intel работает на отличной от ЦП частоте, а именно на удвоенной эффективной частоты DRAM из-за этого есть некоторые ньюансы.
Итак, перейдем к рекомендациям в плане разгона.
Дефолтные напряжения на основые компоненты таковы.
CPU core Voltage — cовременные ЦП имеют множественный VID (Voltage IDentification) и по нему мат. плата определяет какое дефолтное напряжение нужно подать на это конкретный экземпляр.
DRAM Voltage — по спецификации Интела память должна соответствовать напряжению 1,65в (такие модули на данный момент в подавляющем количестве имеются на рынке), хотя сейчас появляются модули уже с напряжением 1.5в
QPI Vol. — 1.175, но желательно не более 1,35в (по рек. Intel) иначе можно вывести ЦП из строя.
IOH Voltage – 1,1в
CPU PLL Voltage – 1.80в
Дефолтные частоты
BCLK — 133МГц
DRAM — 1066Мгц
Uncore = DRAM*2
PCIE Frequency — 100Мгц
Общие рекомндации по разгону.
CPU core Voltage- отталкиваемся от номинальной напруги, но на воздушном охлаждении ставить более 1,4в я бы не советовал.
И самое главное, помните, что активация HT (Hyper-threading — дополнительные виртуальные потоки) сказывается на разгоне. Как к невозможности «взять» более высокую частоту, так и в более повышенном тепловыделении, а значит и весьма высокой температуре на воздушном охлаждении.
QPI Vol. и DRAM Voltage вот здесь нужно быть внимательным!!!
Иначе можно убить процессор.
1. Первое правило! соблюдение дельты (DRAM Vol.-QPI Vol. =
2. При разгоне (BCLK 180Мгц и выше) повышайте напряжение на память и контроллер QPI, НО СОБЛЮДАЯ ПЕРВОЕ ПРАВИЛО!!! И БЕЗ ФАНАТИЗМА.
3.DRAM можно до 1.8, QPI до 1.35 или 1.4. Но см. п.1
Примеры неудачных экспериментов
1.90v vdimm / 1.20v vtt = dead after 1 day (Engineering Sample CPU rev B) — rev B?
1.90v vdimm / 1.20v vtt = dead after 10 days (Retail 965 rev C) — most likely freak accident/bios/board bug
2.25v vdimm / 1.45v vtt = dead after 1 day (Engineering Sample CPU rev C) — buggy board?
1.88v vdimm / 1.50v vtt= dead after 1 week (Retail 965 rev C) — most likely freak accident/bios/board bug
http://www.xtremesystems.org/forums/showthread.php?t=207972
IOH Voltage – 1,1в Можно не трогать, а только зафиксировать дефолт.
CPU PLL Voltage — Поиграться можно, но не всегда приносит это дивиденды
PCIE Frequency — 100Мгц Сразу ставим эту частоту.
DRAM Frequency и тайминги исходя из Вашей памяти.
Внимание!
Данная заметка НЕ ПРИЗЫВАЕТ К ДЕЙСТВИЮ!
Все проделываемые манипуляции Вы производите на СВОЙ СТРАХ И РИСК!
Ни автор, ни администрация конференции не несет никакой ответственности.

Update Примеры названий настроек биосов для разных вендоров!
http://www.techreaction.net/wp-content/uploads/2010/09/Clarkdale_terminology.jpg (833×396, 140.5Kb)
Благодарим saltman
Чем тестировать разогнанный компьютер на предмет стабильности:
1. LinX (Оболочка к стресс-тесту Linpack от Intel ) на сегодняшний день наиболее подходящий инструмент для определения некой стабильности.
Почему некой? Все просто ни одна программа не может гарантировать это на 100%. Ввиду неидеальности, как самой ОС, так и ПО…
Актуальную версию всегда можно взять здесь http://cp.people.overclockers.ru/cgi-bin/dl.pl?id=32…&filename=LinX.7z
Рекомендуемые настройки! Если у вас более 4Гб ОЗУ РЕКОМЕНДОВАНО производить проверку в 64-битной среде, из-за ограничений 32-х битных версии ОС!
Выставлять МАКСИМАЛЬНЫЙ объём ОЗУ в настройках и количество проходов равное 40-50!!! Иначе это не серьезно.
Былые фавориты: Prime 95, OCCT, S&M. На мой взгляд в настоящих условия они уже неактуальны.
2. Мониторинг температур. Данный параметр тоже очень важен. Разнообразные мониторинговые программы и утилиты выдают не всегда понятную информацию для неискушенного пользователя, начинающего оверклокера.
Ни для никого не секрет, что все ЦП Intel начиная с Pentium 4 (сам кристалл и подложка) запакованы в «алюминевый панцирь» именуемый Integrated Heat Spreader (по-русский, теплораспределительная крышка) или просто IHS.
Так вот некоторые утилиты пользователям диктуют температуру в центре этого IHS, что не есть отражение реальности… В ЦП для контроля над температурой, а значит стабильности и «здоровья» процессора установлено несколько датчиков (4-5) температуры.
Соответственно утилиты выводят данные, как о температуре ядер (ОНА ВСЕГДА ВЫШЕ чем в ЦЕНТРЕ теплораспределительной крышки IHS), так и собственно температуру Integrated Heat Spreader
Объясню почему. Интел в своих datasheet’ах к ЦП пишет о критических температурах именно в этой точке, то есть в центре IHS… Она находится в пределах 67.5 — 69,5 гр. (в зависимости от семейства) Цельсия, если мне не изменяет память… Но нас это не интересует, нам гораздо важнее знать температуры ЯДЕР.
Я бы отнес к безопасным значениям температуры ядер в пределах до 80-85гр. в стресс-тестах. Все, что выше уже не очень хорошо. Хотя, конечно в повседневном использовании таких температур, как стресс-тестах добиться будет сложно.
Собственно программа для мониторига CoreTemp

Рубрики: IT

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *