Sandy bridge поколение. Процессоры Sandy Bridge. От Sandy Bridge до Skylake: что изменилось в процессорах Intel

Общие сведения

То, что Intel намеревается планомерно переносить в процессор функции, реализуемые ранее в наборах логики, стало понятно ещё два с лишним года назад. Первые процессоры с микроархитектурой Nehalem – Bloomfield – обзавелись встроенным контроллером памяти. В следующем поколении, Lynnfield, к контроллеру памяти добавился и контроллер шины PCI Express. Затем, в Clarkdale, в процессоре появилось и встроенное графическое ядро, правда, реализованное отдельным полупроводниковым кристаллом. Sandy Bridge в этой последовательной интеграции ставит финальную точку – в процессорах с новой микроархитектурой в едином чипе будет присутствовать всё сразу: процессорные ядра, графическое ядро, контроллер памяти и контроллер шины PCI Express.



Площадь полупроводниковых кристаллов Sandy Bridge составит примерно 225 кв. мм, то есть, благодаря современному 32-нм технологическому процессу данный кристалл окажется даже меньше, чем кристалл четырёхъядерных процессоров Bloomfield и Lynnfield или шестиядерного Gulftown.

Никаких компромиссов с точки зрения характеристик в Sandy Bridge при этом нет. Общее строение процессоров предполагает наличие двух или четырёх процессорных ядер с поддержкой технологии Hyper-Threading, кэш-памяти третьего уровня объёмом до 8 Мбайт, двухканального контроллера DDR3 памяти, поддержку 16 линий PCI Express 2.0 и присутствие современного DirectX 10.1 графического ядра. То есть, процессоры нового поколения имеют всё необходимое для выступления в разных рыночных сегментах, включая и верхние.

На фоне произошедшей интеграции в Sandy Bridge сделаны значительные улучшения и на более низком уровне. Микроархитектура вычислительных ядер подверглась значительной переработке, они получили целый ряд улучшений, благодаря которым новые процессоры окажутся заметно быстрее своих предшественников даже при работе на одинаковых тактовых частотах. Параллельно были сделаны и усовершенствования, направленные на снижение тепловыделения, так что Sandy Bridge смогут работать и просто на более высоких частотах. Кроме того, на микроархитектурном уровне в процессорах добавились поддержка нового набора векторных инструкций AVX (Advanced Vector Extensions), которые будут полезны для реализации целого ряда мультимедийных, финансовых или научных алгоритмов. Принципиальное отличие AVX от предыдущих наборов векторных инструкций семейства SSE заключается в увеличении разрядности операндов со 128 до 256 бит, так что для многих задач они дадут возможность обрабатывать большие объёмы данных с меньшими затратами. Таким образом, Sandy Bridge можно охарактеризовать как существенный шаг вперёд сразу по нескольким направлениям, что и даёт основания для самых лестных высказываний в адрес этого перспективного продукта.



Запуская в начале следующего года Sandy Bridge, Intel рассчитывает быстро покорить этими процессорами большинство ценовых сегментов. Так, уже в самом начале года будет предложен широкий ассортимент Core i3, Core i5 и Core i7 с новой микроархитектурой, стоимости различных вариантов которых будут лежат в интервале от $100 до $300. А позднее в 2011 году будут представлены и более дешёвые модификации.



По имеющимся данным анонс первой группы представителей семейства Sandy Bridge назначен на 5 января, а начало их продаж – на 9 января. В этот день прайс-лист компании пополнится следующими четырёхъядерными моделями, рассчитанными на десктопы:



Следует заметить, что в дополнение к перечисленным моделям Intel предложит и целый класс мобильных и десктопных энергоэффективных процессоров Sandy Bridge. Акцентируясь на версиях, ориентированных на настольные компьютеры, мы также можем сообщить о нескольких выходящих 5 января Sandy Bridge с типичным тепловыделением 65, 45 и 35 Вт.



Таким образом, единственная ценовая категория, которая пока останется во власти процессоров Nehalem ещё долгое время – это дорогие CPU, где в течение всего следующего года будут продолжать котироваться LGA1366 процессоры Bloomfiled и Gulftown. Их замена может произойти не ранее конца 2011 года, когда Intel подготовит и адаптирует для десктопов свою перспективную серверную платформу LGA2011. Специальные «заряженные» вариации процессоров Sandy Bridge-E, которые будут предлагаться в составе этой платформы, смогут предложить энтузиастам до 8 вычислительных ядер, 16-мегабайтный L3 кэш, четырёхканальный контроллер памяти, 32 линии PCI Express 2.0 и прочие «вкусности», о которых сегодня приходится только мечтать. Однако это – отдалённая перспектива, первая же версия Sandy Bridge станет основой более приземлённой, но всё-таки новой платформы.

Хотя в Sandy Bridge по сравнению с Clarkdale и не появилось никаких принципиально новых узлов, процессоры нового поколения придут на рынок вместе с платформой LGA1155. К сожалению, она не обладает совместимостью с LGA1156, то есть, новые процессоры потребуют использования специальных материнских плат с особенным процессорным гнездом.



Вместе с Sandy Bridge в употребление войдёт и семейство свежих наборов логики, костяком которого станет общеупотребительный чипсет Intel P67 и набор системной логики с поддержкой графики Intel H67. Также как и чипсеты для LGA1156 процессоров, P67 и H67 – предельно просты: после переноса функций северного моста в процессор они состоят из единственной микросхемы – южного моста с достаточно типичным набором характеристик. Помимо совместимости с Sandy Bridge главной особенностью этих новинок станет поддержка двух SATA портов с пропускной способностью 6 Гбит/с.


К сожалению, поддержки USB3 в новых чипсетах нет, но вне всяких сомнений подавляющее большинство LGA1155 материнских плат будет иметь соответствующие порты, реализованные через дополнительные контроллеры. Это же касается и шины PCI – отсутствие соответствующего штатного контроллера в составе новых наборов системной логики вовсе не означает, что традиционные PCI разъёмы исчезнут на материнских платах.

Несмотря на то, что до анонса реальных процессоров с микроархитектурой Sandy Bridge и платформы LGA1155 остаётся ещё некоторое время, имеющаяся информация позволяет сделать и вполне конкретные прогнозы о производительности будущих систем. Так, при сопоставлении между собой процессоров Sandy Bridge и Lynnfield, имеющих одинаковое количество ядер и работающих на одинаковой тактовой частоте, новая микроархитектура выдаёт на 5-10 % более высокое реальное быстродействие.



Производительность по данным inpai.com.cn . Сравнивались
четырёхъядерные процессоры на частоте 3.4 ГГц


При этом энергопотребление процессоров Sandy Bridge оказывается примерно на 20 % ниже, то есть по соотношению «производительность на ватт» новые CPU шагнули далеко вперёд. И, кстати, если учесть, что тактовые частоты моделей Sandy Bridge превосходят частоты равноценных процессоров Lynnfield примерно на 10 %, то можно обобщённо говорить о том, что вся платформа LGA1155 будет быстрее предшествующей платформы LGA1156 как минимум на 25 %. На это число и можно ориентироваться при поверхностной оценке практической ценности новой микроархитектуры, если закрыть глаза на более глубокие усовершенствования типа улучшенного графического ядра и поддержку новых наборов инструкций AES-NI и AVX.

Истоки высокой производительности

Многие микроархитектурные изменения, посредством которых инженерам компании Intel удалось добиться повышения производительности процессоров при снижении их энергопотребления и тепловыделения, по меньшей мере, неожиданны. Дело в том, что Sandy Bridge стал не просто дальнейшим эволюционным развитием Nehalem – в нём нашёл применение целый ряд идей, позаимствованных из, казалось бы, провального проекта Pentium 4. Да-да, хотя микроархитектура NetBurst давно отвергнута Intel из-за её неэкономичности, некоторые функциональные элементы процессоров Pentium 4 теперь можно обнаружить в составе будущих Core i3, Core i5 и Core i7. И особенно иронично, что заимствования из микроархитектуры десятилетней давности, сделанные в Sandy Bridge, служат не только повышению производительности, но и уменьшению тепловыделения.

Существенные изменения в микроархитектуре Sandy Bridge начинаются уже на начальных стадиях конвейера – на этапе декодирования x86 инструкций в более простые процессорные микрооперации. Сам блок декодирования входного потока команд остался таким же, как и в Nehalem – он обеспечивает обработку до 4 инструкций за такт и поддерживает технологии Micro-Fusion и Macro-Fusion, делающие выходной поток инструкций более равномерным с точки зрения сложности его выполнения. Однако в новой микроархитектуре декодированные в процессорные микрокоманды инструкции не просто перенаправляются на следующий этап обработки, они к тому же и кэшируются. Иными словами, в дополнение к обычному 32-килобайтному кэшу инструкций первого уровня, являющемуся атрибутом практически любого x86 процессора, в Sandy Bridge добавлен ещё один добавочный кэш «нулевого уровня» – кэш результатов декодирования. Этот кэш – первая отсылка к микроархитектуре NetBurst, ведь он с точки зрения общих принципов работы – прямой аналог приснопамятного Execution Trace Cache.



Кэш результатов декодирования имеет объём порядка 6 Кбайт и вмещает до полутора тысяч микрокоманд благодаря чему служит существенным подспорьем для декодера. Дело в том, что теперь, если декодер обнаруживает во входном потоке команд находящиеся в кэше уже перетранслированные ранее инструкции, он сразу заменяет их на внутренние микрокоманды без нового декодирования. Наличие кэша результатов декодирования позволяет существенно разгрузить декодер, который является достаточно энергоёмкой частью процессора. Согласно данным Intel, этот дополнительный кэш оказывается полезен примерно в 80 % случаев, что перечёркивает всякие подозрения о его неэффективности. К тому же в образующиеся моменты простоя декодер в Sandy Bridge отключается, что вносит существенный вклад в снижение у этих процессоров энергопотребления.

Второе важное усовершенствование начальных стадий конвейера заключается в улучшении блока предсказания ветвлений. Значение правильной работы этого узла сложно переоценить, ведь каждое неправильное прогнозирование ветвления приводит к необходимости остановки и полного сброса конвейера. В результате, ошибки предсказателя влекут за собой не только снижение производительности, но и необходимость дополнительных затрат энергии для повторного заполнения конвейера. Надо сказать, что в своих последних процессорах Intel сумел добиться очень высокой эффективности данного блока. Однако в Sandy Bridge все буферы, хранящие адреса переходов и их историю, были перепроектированы с целью уплотнения содержащейся в них информации. В результате, без увеличения размеров структур данных, которыми оперирует блок предсказания переходов, Intel удалось добиться сохранения более глубокой истории ветвлений. И это положительным образом сказалось на результативности работы предсказателя, чья результативность напрямую связана с объёмом используемой им статистической информации о выполняемых условных переходах. По имеющимся оценкам, количество правильно прогнозируемых ветвлений выросло в Sandy Bridge по сравнению с предшественником более чем на 5 %.



Но самые интересные изменения затронули блок переупорядочивания инструкций, являющийся ключевым узлом всех Out-of-Order процессоров. Именно тут наиболее сильно прослеживается родство микроархитектуры Sandy Bridge с NetBurst – инженеры Intel вернули в свой новый процессор физический регистровый файл, который в Core и Nehalem был упразднён в пользу централизованного обособленного регистрового файла. Суть произошедших изменений в том, что если ранее при переупорядочивании микрокоманд в буфере сохранялись полные копии используемых ими регистров для каждой обрабатываемой команды, то теперь используются лишь ссылки на значения регистров, хранящиеся в физическом регистровом файле. Этот подход ликвидирует не только лишние пересылки данных, но и устраняет многократное дублирование содержимого регистров, что позволяет сэкономить место в регистровом файле.



В результате, блок внеочередного выполнения команд процессоров Sandy Bridge может держать «в поле зрения» до 168 микроинструкций, в то время как в процессорах Nehalem в буфер переупорядочивания помещалось лишь 128 микрокоманд. Кроме того, достигается и некоторая экономия энергии. Однако замена значений регистров на ссылки на эти значения имеет и отрицательную сторону – исполнительный конвейер приобретает дополнительные стадии, необходимые для разыменования указателей.

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

Сами по себе инструкции AVX – это дальнейшее развитие SSE, расширяющие разрядность типовых векторных SIMD операций на 256-битные операнды. Кроме того, новый набор позволяет проводить операции в недеструктивной форме, то есть, без потери исходных данных в регистрах. Благодаря этим своим свойствам набор инструкций AVX наравне с микроархитектурными улучшениями также можно отнести к нововведениям, направленным на повышение производительности и на экономию энергии, так как их внедрение позволит упростить многие алгоритмы и совершать большее количество работы с использованием меньшего числа команд. Инструкции AVX хорошо подходят для интенсивных вычислений с плавающей точкой в мультимедиа, научных и финансовых задачах.

Для эффективного исполнения 256-битных инструкций исполнительные устройства процессора были подвергнуты специальному редизайну. Суть изменений сводится к тому, что для работы с 256-битными данными 128-битные исполнительные устройства объединяются попарно. А учитывая то, что каждый из трёх исполнительных портов Sandy Bridge (как и Nehalem) имеет устройства для работы одновременно с тремя видами данных – 64-битными, 128-битными целыми или 128-битными вещественными – попарное объединение SIMD устройств в рамках одного порта выглядит вполне естественным и разумным решением. И, что немаловажно, такое перераспределение ресурсов не наносит ущербу общей пропускной способности исполнительного блока процессора.



Ориентация Sandy Bridge на работу с 256-битными векторными инструкциями заставила разработчиков процессора задуматься и над повышением производительности работы функциональных устройств загрузки и выгрузки данных. Три порта для работы с данными, которые были реализованы в Nehalem, перекочевали и в Sandy Bridge. Но для увеличения их коэффициента полезного действия инженеры унифицировали два порта, которые ранее были предназначены для сохранения адресов и загрузки данных. Теперь они стали равноценными и оба могут либо загружать адреса и данные, либо выгружать адреса. Третий же порт остался в неизменном виде и предназначается для сохранения данных. Учитывая, что каждый порт способен пропускать до 16 байт за цикл, суммарная пропускная способность кэша данных первого уровня в новой микроархитектуре возросла на 50 %. В результате, процессоры с микроархитектурой Sandy Bridge могут загружать до 32 байт данных и сохранять 16 байт данных за такт.



Сопоставляя все описанные нововведения, получаем, что микроархитектура вычислительных ядер в процессорах Sandy Bridge изменилась более чем существенно. Привнесённые нововведения, вне всяких сомнений, вполне тянут на то, чтобы эти процессоры действительно можно было отнести не к простой доработке «узких мест» Nehalem, а к достаточно серьёзной переработке.


Новые подходы к интеграции

С разработкой архитектуры Nehalem Intel начал предпринимать реальные шаги в сторону увеличения уровня интеграции своих процессоров. В них стали последовательно переноситься функциональные узлы, ранее являвшиеся прерогативой набора логики: контроллер памяти, контроллер PCI Express, графическое ядро. Также, в процессоре добавился и кэш третьего уровня. Иными словами, процессор стал не просто локальным «вычислительным центром», а сосредоточением большой группы разнородных сложных блоков.



Конечно, такое объединение имеет множество положительных сторон и позволяет поднять производительность за счёт уменьшения задержек при обмене данными. Однако чем больше различных блоков присутствует в процессоре, тем сложнее становится реализация взаимосвязей между ними на электрическом уровне. И наиболее серьёзную проблему в этом ключе представляет соединение разделяемого L3 кэша с процессорными ядрами, особенно в свете перспективы дальнейшего увеличения их количества. Иными словами, работая над микроархитектурой процессоров Sandy Bridge, разработчики были вынуждены серьёзно задуматься об организации удобной схемы взаимодействия между функциональными узлами, находящимися в процессоре. Применявшееся ранее обычное перекрёстное соединение смогло послужить в двух- четырёх- и шестиядерных Nehalem, но для модульного процессорного дизайна с большим количеством различных ядер оно уже не подходит.

Собственно, это уже было учтено в восьмиядерных серверных процессорах Nehalem-EX, где для соединения вычислительных ядер и L3 кэша была использована принципиально новая технология. Эта технология, которая успешно перекочевала и в Sandy Bridge, – кольцевая шина. В перспективных процессорах вычислительные ядра, кэш, графическое ядро и элементы северного моста объединены специальной кольцевой шиной с QPI-подобным протоколом, которая позволила существенно сократить количество внутрипроцессорных соединений, необходимых для маршрутизации сигналов.



Для эффективной реализации взаимодействия функциональных блоков процессора с кэшем третьего уровня посредством кольцевой шины он в процессорах Sandy Bridge делится на равноправные банки объёмом по 2 Мбайта. Исходный дизайн предполагает, что число этих банков соответствует числу процессорных ядер. Но в маркетинговых целях без ущерба для целостности кэша банки могут отключаться от шины, сокращая таким образом общий объём кэш-памяти. Каждый из банков кэш-памяти управляется собственным арбитром, но при этом все они работают в тесном взаимодействии – информация в них не дублируется. Разделение на банки не означает дробления L3 кэша, оно просто позволяет увеличить его пропускную способность, которая в результате масштабируется с ростом количества ядер и, соответственно, банков. Например, учитывая, что ширина «кольца», используемого для пересылок данных, составляет 32 байта, пиковая пропускная способность L3 кэша четырёхъядерного процессора, работающего с частотой 3.4 ГГц составляет 435.2 Гбайт/с.

Кольцевая шина хороша не только своей масштабируемостью при росте количества процессорных ядер. Учитывая, что при обменах информации по «кольцу» используется кратчайший маршрут, снизилась и латентность L3 кэша. Теперь она составляет 26-31 цикл, в то время как L3 кэш Nehalem предлагал латентность 35-40 циклов. Правда, при этом следует учитывать, что вся кэш-память в Sandy Bridge работает на частоте процессора, то есть она стала быстрее и за счёт этого тоже.

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

Графическое ядро приобретает новые функции

Появление в процессоре встроенного графического ядра – это не новость, процессоры семейства Clarkdale, обладающие встроенным GPU Intel HD Graphics присутствуют на рынке почти год. Но в Sandy Bridge графическое и вычислительные ядра наконец-то «подружились» окончательно, они находятся на одном полупроводниковом кристалле и соединены общей кольцевой шиной через которую равноправно используют все остальные ресурсы процессора. Такая перестройка архитектуры, приблизившая графическое ядро к контроллеру памяти и отдавшая в его распоряжение все возможности кэша третьего уровня, положительным образом сказалась на производительности. Однако, как и вычислительные ядра, графическое ядро получило и другие важные усовершенствования, благодаря которым оно формально относится к следующему поколению.



В целом, архитектура графического ядра не стала принципиально иной: в его основе лежат всё также 12 исполнительных (шейдерных) процессоров. Однако разработчики смогли почти в два раза увеличить их быстродействие на целом ряде операций, а кроме того, добились улучшения параллелизма в их работе. Благодаря внесённым изменениям к числу характеристик нового графического ядра добавилась и поддержка Shader Model 4.1 и DirectX 10.1.



Так как графическое ядро перебралось на 32-нм полупроводниковый кристалл, появилась возможность и безболезненно увеличить его тактовую частоту, которая сможет доходить до 1.35 ГГц. В результате всех этих действий графика Sandy Bridge в реальных приложениях станет сопоставима по скорости с дискретными видеокартами начального уровня. Intel даже задумался о реализации силами своего перспективного графического ядра полноэкранного сглаживания! Иными словами, Sandy Bridge имеет все шансы стать самым производительным интегрированным графическим решением, которое будет способно попрать позиции дискретных видеокарт в нижнем ценовом диапазоне. Хотя, конечно, AMD и NVIDIA в качестве контраргумента наверняка будут напирать на отсутствие поддержки DirectX 11, которая может пригодиться не только новейшим играм, но и, например, приложениям, задействующим DirectCompute, например, интернет-браузерам завтрашнего дня.

Однако одним лишь совершенствованием имеющейся архитектуры графического ядра дело не ограничилось. В графическую часть Sandy Bridge были добавлены новые специализированные блоки, предназначенные для декодирования и кодирования видеопотока в популярных форматах MPEG2, VC1 и AVC.



Конечно, аппаратным декодированием видео сегодня никого не удивишь, его умеет делать и графическое ядро Clarkdale. Однако раньше эта операция возлагалась на шейдерные процессоры, теперь же ей занимается отдельный функциональный узел. Смысл такого перераспределения ролей – в появившейся совместимости с 3D видео, для нового графического ядра аппаратное декодирование стерео 3D Blu-ray или MVC потока не представляет никакой проблемы.

Ещё более интересным дополнением стал аппаратный кодек, способный кодировать видеопоток в AVC формат. С практической точки зрения это означает, что в графическом ядре Sandy Bridge есть все необходимые ресурсы для выполнения транскодирования видео с высокой производительностью и без загрузки традиционных вычислительных процессорных мощностей. Что, собственно, учитывая широкую распространённость процессоров Intel, наверняка будет с успехом использоваться разработчиками программного обеспечения. Тем более что блоки аппаратного кодирования и декодирования можно будет задействовать и в системах на базе набора логики Intel P67, то есть, использующих внешнюю дискретную графическую карту.



За конкретными примерами далеко ходить не надо: известно, что поддержка новых медийных возможностей Sandy Bridge будет присутствовать в таких популярных продуктах как ArcSoft MediaConverter, Corel DVD Factory, CyberLink MediaEspresso, Movavi Video Converter, Roxio Creator и проч. И, кстати, при использовании мультимедийных блоков графического ядра Sandy Bridge для перекодирования видео остаются свободными от нагрузки шейдерные процессоры, которые никто не мешает подключить к процессу дополнительной обработки видео или к наложению спецэффектов.

В различных моделях процессоров с микроархитектурой Sandy Bridge графическое ядро будет присутствовать в двух вариантах: Intel HD Graphics 2000 и Intel HD Graphics 3000. Разница – в количестве активных исполнительных (шейдерных) процессоров. Старшая модель графического ядра, которая предназначается для мобильных решений и старших процессоров для «настольного» сегмента будет обладать всеми 12 исполнительными блоками, в то время как упрощённая вариация этого ядра, Intel HD Graphics 2000, довольствуется лишь шестью такими блоками. Также, немного ниже у Intel HD Graphics 2000 будет и частота. Но наиболее интересные элементы GPU – аппаратный кодер и декодер – в обеих версиях будут присутствовать в полном объёме.

Северный мост по-новому – системный агент

Нерассмотренным остался лишь один функциональный узел процессоров Sandy Bridge – так называемый системный агент, который объединяет в себе контроллеры внешних интерфейсов процессора: PCI Express, DMI, памяти и дисплейные интерфейсы. Фактически, в лице системного агента мы имеем примерно тоже самое, что в процессорах Nehalem называлось Uncore. Однако системный агент в Sandy Bridge всё же не полный аналог Uncore. Он не включает в себя L3 кэш, который в новой микроархитектуре выступает отдельным функциональным блоком, работающим на частоте процессора. Ещё одно отличие системного агента состоит в том, что обмен данными между ним и процессорными и графическим ядрами, а также с кэшем третьего уровня происходит посредством всё той же кольцевой шины, объединяющей в Sandy Bridge все сущности.



Говоря о нововведениях, имеющихся в системном агенте, в первую очередь хочется сказать о давно желанном усовершенствовании контроллера памяти. В процессорах Westmere (Clarkdale) контроллер памяти, объединённый с графическим ядром, показал себя не с лучшей стороны. В Sandy Bridge этот регресс наконец-то ликвидирован, новый контроллер памяти работает, по меньшей мере, не медленнее, чем контроллер памяти процессоров Lynnfield. При этом контроллером поддерживается двухканальная DDR3 SDRAM: формально – DDR3-1067 или DDR3-1333, но фактически процессоры Sandy Bridge обладают набором множителей, позволяющим тактовать память также и на частотах 1600, 1866 и 2133 МГц.

Представить себе примерный уровень производительности контроллера памяти Sandy Bridge можно, например, по имеющимся результатам теста Aida64.



По данным xfastest.com . Тестирование проводилось на Core i7-2400 с
двухканальной DDR3-1600 памятью с таймингами 7-7-7-21-1T


Латентность подсистемы памяти в системе с процессором Sandy Bridge оказывается сопоставима с латентностью аналогичной платформы с LGA1156 процессорами Core i7. При этом новые CPU однозначно выигрывают по пропускной способности подсистемы памяти.

Контроллер шины PCIE в Sandy Bridge подобен аналогичному контроллеру LGA1156 процессоров. Он поддерживает 16 линий PCI Express 2.0, которые могут группироваться либо в одну шину PCIE 16x, либо в две PCIE 8x. Именно поэтому старая платформа LGA1366 своей актуальности с выходом LGA1155 систем не утратит: она продолжит оставаться единственным вариантом, позволяющим собирать полноскоростные видеоподсистемы, объединяющие по несколько GPU, соединённых шиной PCIE с максимальной пропускной способностью.

Важное изменение произошло и в части поддерживаемых дисплейных интерфейсов. Графическое ядро новых процессоров получит возможность использования HDMI версии 1.4, ключевой особенностью которого является поддержка передачи 3D-изображения.

Управление питанием и разгон

Ещё одна важная часть системного агента Sandy Bridge, помимо контроллеров внешних интерфейсов, это – блок управления питанием PCU (Power Control Unit). Также как и в процессорах Nehalem этот блок представляет собой программируемый микроконтроллер, который собирает информацию о температурах и потребляемом токе различных узлов процессора и имеет возможность интерактивно управлять их частотой и напряжением питания. Силами PCU реализуются как энергосберегающие функции, так и турбо-режим, который в Sandy Bridge получил дальнейшее развитие.

Все функциональные модули, составляющие процессоры Sandy Bridge, разделены в нём на три домена, использующие независимую схему тактования частоты и подключения питания. Первый и основной домен объединяет процессорные ядра и L3 кэш, которые работают на единой частоте и напряжении. Второй домен – это графическое ядро, которое использует собственную частоту. Третий домен – это сам системный агент.



Такое разделение позволило инженерам реализовать работу технологий Enhanced Intel SpeedStep и Turbo Boost одновременно и независимо для графического и процессорных ядер. Подобный подход уже был применён в мобильных процессорах Arrandale, однако там он работал по-простому, через драйвер. В Sandy Bridge же реализовано полностью аппаратное решение, которое управляет частотами вычислительных и графических ядер взаимосвязано, учитывая их текущее потребление. Это позволяет получить более серьёзный реализуемый через турбо-режим разгон процессорных ядер во время простоя графического ядра и наоборот – существенный разгон графического ядра во время неполной загрузки вычислительных ядер. Агрессивность турбо-режима в Sandy Bridge нетрудно оценить по тому, что частота процессора может увеличиваться на четыре шага относительно номинальной частоты, а вариация в частоте графического ядра может достигать и шести-семи шагов.



Однако это далеко не все нововведения в технологии Turbo Boost. Преимущество её новой реализации заключается ещё и в том, что PCU получил возможность управлять частотами более интеллектуально, ориентируясь на реальные температуры процессорных составляющих, а не только на их энергопотребление. Это означает, что в тех случаях, когда процессор работает в благоприятных температурных условиях, его энергопотреблению разрешается выходить за границу, задаваемую TDP.

При типичной повседневной работе процессорная нагрузка носит скачкообразный характер. Большинство времени процессор проводит в энергосберегающих состояниях, а высокая производительность требуется лишь в небольшие промежутки времени. За такие промежутки нагрев процессора не успевает достигнуть сколь-нибудь серьёзных величин – сказывается инерционность, обеспечиваемая теплопроводностью кулера. Управляющий частотами в Sandy Bridge блок PCU справедливо считает, что ничего страшного не произойдёт, если в такие моменты процессор будет разогнан сильнее, чем в теории может позволить величина расчётного тепловыделения. Когда же температура процессора начнёт приближаться к критическим значениям, частота будет снижена до безопасных значений.



Это автоматически выливается в выгодность с точки зрения достижения максимальной производительности использования в системах на базе Sandy Bridge качественного охлаждения. Но не следует обольщаться – максимальная продолжительность работы в состоянии «за гранью TDP» аппаратно ограничена 25 секундами.

Что же касается разгона обычного, выполняемого традиционными методами, то и тут нас ожидают кардинальные перемены, которые вряд ли будут восприняты оверклокерами с энтузиазмом. Корень зла кроется все в том же стремлении к интеграции – в LGA1155 платформах Intel перенёс генератор базовой частоты в набор системной логики. Однако фатальные для традиционного разгона последствия вызвало не это, а то, что генератор частоты стал единственным и он используется для формирования всех частот в системе. Хорошо же переносят разгон, как известно, далеко не все шины и контроллеры. Например, при увеличении частоты шины PCI Express или скорости работы USB или SATA контроллеров нестабильность может наступать очень быстро. И именно этот фактор станет серьёзным препятствием при попытках увеличения частоты центрального процессора посредством разгона генератора базовой частоты.



Фактические данные таковы. Используемая в процессорах Sandy Bridge частота базового тактового генератора установлена в 100 МГц. Генератор сам по себе позволяет варьировать значения этой частоты в очень широких пределах и даже с шагом 0.1 МГц. Однако попытки её повышения очень быстро упираются в нестабильность или неработоспособность системы. Так, нам не известно ни об одном удачном опыте увеличения базовой частоты выше 105 МГц. Иными словами, традиционный и проверенный годами способ разгона через увеличение частоты тактового генератора в системах на базе Sandy Bridge даёт сбой и не позволяет получить разгон, превышающий несерьёзные 5 %.

Так что единственным реально имеющим смысл вариантом разгона перспективных LGA1155-процессоров остаётся увеличение их коэффициента умножения. Среди моделей Sandy Bridge, которые Intel собирается предлагать покупателям, будут выделены специальные продукты, не имеющие заблокированного множителя и способные в теории разгоняться до 5.7 ГГц (57 – это максимальное значение множителя, заложенное в микроархитектуре). Однако такие процессоры, которые будут обозначаться суффиксом «K» в процессорном номере, будут отнесены к верхней ценовой категории и при этом будут стоить немного дороже своих обычных собратьев.

Для пользователей же ординарных моделей CPU будет предложен искусственно ограниченный разгон – такие процессоры также позволят увеличение коэффициента умножения, но не более чем на 4 шага относительно штатного значения. Причём, речь идёт именно о разгоне, изменение множителя никак не повлияет на технологию Turbo Boost, которая в дополнение к такому ручному повышению частоты добавит ещё и своё, автоматическое. Кроме того, во всех своих процессорах Intel не будет ограничивать множители, формирующие частоту работы графического ядра и памяти. То есть, разгон графического ядра и памяти будет доступен в системах с любыми модификациями Sandy Bridge – как оверклокерскими, так и обычными.

Впрочем, оверклокеры вряд ли сочтут это достаточной компенсацией, так что скорее всего их будут интересовать исключительно разблокированные процессоры – Core i5-2500K и Core i7-2600K. Тем более что имеющаяся информация об их частотном потенциале выглядит очень обнадёживающе. Например, существуют подтверждения стабильной работоспособности Core i7-2600K при разгоне и до 5.0 ГГц с воздушным охлаждением.



Данные windwithme , http://itbbs.pconline.com.cn/diy/12120702.html


Описанный результат был достигнут при использовании кулера Prolimatech Mega Shadow Deluxe Edition и повышении напряжения процессорного ядра до 1.45 В. Конечно, такое серьёзное повышение напряжения вряд ли подойдёт для повседневного использования, но мы полагаем, что уж на частотах порядка 4.8 ГГц процессоры Sandy Bridge трудиться в режиме 24/7 определённо смогут.

Подведём итоги

Возвращаясь к началу этой статьи, хочется напомнить, что Intel позиционирует Sandy Bridge как «так» в рамках своей стратегии «тик-так». Это означает, что в понимании производителя этот процессор является носителем новой микроархитектуры. В то же время, рассматривая его строение, мы так и не нашли никаких поражающих воображение принципиально новых идей. Фактически, имеет место лишь множество небольших улучшений, воскрешение старых удачных технологий и дальнейшая интеграция. Обоснованно ли в этом случае говорить о новом поколении процессоров, или же в действительности Sandy Bridge следует рассматривать лишь как эволюционировавший Nehalem?



И здесь у нас нет никаких сомнений – мы полностью солидарны с мнением Intel. Процессоры Sandy Bridge – это прекрасная иллюстрация возникновения нового качества вследствие накопления количественных изменений. Масса нововведений в микроархитектуре вычислительных ядер, добавление поддержки 256-битных инструкций AVX, усовершенствованное графическое ядро, появление аппаратных блоков для кодирования и декодирования видео, новый L3 кэш, кольцевая шина, интеллектуальный системный агент, более агрессивная технология Turbo Boost и возросшие тактовые частоты – всё это по отдельности может и кажется мелочами, но в сумме выдаёт на-гора продукт, улучшившийся принципиально. Причём, его превосходство вполне осязаемо – оно явно прослеживается в том, что Sandy Bridge стали существенно быстрее своих предшественников, оставаясь в рамках того же теплового пакета.

Конечно, говоря «существенно», мы не подразумеваем прирост скорости в разы. Тем не менее, заменяя LGA1156-систему на базе Lynnfield или Clarkdale на аналогичный по стоимости набор из LGA1155 материнской платы и процессора Sandy Bridge можно ожидать как минимум 25-процентного увеличения быстродействия во всех процессорозависимых приложениях.

Однако существуют и отдельные классы задач, где Sandy Bridge окажутся лучше своих предшественников на порядок за счёт новых структурных блоков. В первую очередь значительный прирост быстродействия ожидается во многих утилитах для перекодирования видео, для нужд которых в новых CPU добавлены специальные аппаратные кодеки и декодеры. Также существенно быстрее на новых CPU смогут работать мультимедийные, криптографические, научные или финансовые алгоритмы, привлекающие для своих целей новые наборы инструкций AES-NI и AVX. Конечно, все эти преимущества возможно будет получить лишь при специальной оптимизации программного обеспечения, но, похоже, ждать её слишком долго не придётся, так как инженеры Intel приложили все усилия к тому, чтобы нововведения оказались удобны и для разработчиков.

Большую пользу из новой платформы смогут извлечь и те пользователи, которые собираются задействовать встроенное графическое ядро. По сравнению с прошлой версией Intel HD Graphics оно стало существенно быстрее, что наверняка смогут оценить по достоинству владельцы будущих ноутбуков, основанных на Sandy Bridge и новой платформе Huron River. А в том случае, если новые процессоры планируется использовать в составе домашних компьютеров или HTPC, встроенное графическое ядро порадует поддержкой интерфейса HDMI 1.4, позволяющего передавать на внешние устройства 3D изображение.

В общем, серьёзный минус в Sandy Bridge видится только один – проблемы с разгоном. И если покупатели процессоров верхней ценовой категории смогут, доплатив немного, получить в своё распоряжение дружественный оверклокингу разблокированный процессор, то среди процессоров дешевле $200 таких вариантов не будет. Так что платформа LGA1155 обозначит и ещё одну тенденцию – Intel хочет ограничить возможности разгона недорогих процессоров. Впрочем, вряд ли это сильно ударит по популярности разгона как явления – приверженцев эксплуатации оборудования на пределе возможностей с радостью примет в число своих адептов компания AMD, которая в текущем году должна выпустить свой собственный, не менее эпохальный чем Sandy Bridge, продукт – Bulldozer.

Наконец-то компания Intel официально анонсировала новые процессоры, работающие на новой микроархитектуре . Для большинства людей «анонс Sandy Bridge» всего лишь слова, но по большому счету, Intel Core ll поколения являются если не новой эпохой, то как минимум обновлением практически всего рынка процессоров.


Первоначально сообщалось о запуске всего семи процессоров, однако на полезнейшей страничке ark.intel.com уже появилась информация обо всех новинках. Процессоров, а точнее их модификаций, оказалось несколько побольше (в скобках я указал ориентировочную цену - во столько обойдется каждый процессор в партии из 1000 штук):

Мобильные:

Intel Core i5-2510E (~266$)
Intel Core i5-2520M
Intel Core i5-2537M
Intel Core i5-2540M

Наглядное детальное сравнение мобильных процессоров Intel Core i5 второго поколения.

Intel Core i7-2617M
Intel Core i7-2620M
Intel Core i7-2629M
Intel Core i7-2649M
Intel Core i7-2657M
Intel Core i7-2710QE (~378$)
Intel Core i7-2720QM
Intel Core i7-2820QM
Intel Core i7-2920XM Extreme Edition

Наглядное детальное сравнение мобильных процессоров Intel Core i7 второго поколения.

Настольные:

Intel Core i3-2100 (~117$)
Intel Core i3-2100T
Intel Core i3-2120 (138$)

Наглядное детальное сравнение настольных процессоров Intel Core i3 второго поколения.

Intel Core i5-2300 (~177$)
Intel Core i5-2390T
Intel Core i5-2400S
Intel Core i5-2400 (~184$)
Intel Core i5-2500K (~216$)
Intel Core i5-2500T
Intel Core i5-2500S
Intel Core i5-2500 (~205$)

Наглядное детальное сравнение настольных процессоров Intel Core i5 второго поколения.

Intel Core i7-2600K (~317$)
Intel Core i7-2600S
Intel Core i7-2600 (~294$)

Наглядное детальное сравнение настольных процессоров Intel Core i7 второго поколения.

Как видите, названия моделей теперь имеют четыре цифры в названии – это сделано для того, чтобы не было путаницы с процессорами предыдущего поколения. Модельный ряд получился достаточно полным и логичным – наиболее интересные серии i7 явно отделены от i5 наличием технологии Hyper Threading и увеличенным объемом кэша. А процессоры семейства i3 отличаются от i5 не только меньшим количеством ядер, но и отсутствием технологии Turbo Boost .

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

Наглядная структура новых процессоров:

Как видите, помимо графического и вычислительных ядер, кэш-памяти и контроллера памяти, присутствует так называемый System Agent – туда свалено много чего, например контроллеры DDR3-памяти и PCI-Express 2.0, модель управления питанием и блоки, отвечающие на аппаратном уровне за работы встроенного GPU и за вывод изображения в случае его использования.

Все «ядерные» компоненты (в том числе графический процессор) связаны между собой высокоскоростной кольцевой шиной с полноценным доступом к L3-кэшу, благодаря чему выросла общая скорость обмена данными в самом процессоре; что интересно – такой подход позволяет увеличивать производительность в дальнейшем, попросту увеличивая количество ядер, добавленных к шине. Хотя и сейчас всё обещает быть на высоте - по сравнению с процессорами предыдущего поколения, производительность новых является более адаптивной и по заявлению производителя, во многих задачах способна продемонстрировать 30-50% прирост в скорости выполнения задач!

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

Новые процессоры целиком и полностью выполнены согласно нормам 32-нм техпроцесса и впервые обладают «визуально умной» микроархитектурой, сочетающей в себе лучшую в классе вычислительную мощность и технологию обработки 3D-графики на одном кристалле. В графике Sandy Bridge появилось действительно много нововведений, нацеленных главным образом на увеличение производительности при работе с 3D. Можно долго спорить о «навязывании» интегрированной видеосистемы, но другого решения пока нет как такового. Зато есть такой вот слайд из официальной презентации, который претендует на правдоподобность в том числе в мобильных продуктах (ноутбуках):

Частично о новых технологиях второго поколения процессоров Intel Core я , поэтому повторяться не буду. Остановлюсь лишь на разработке Intel Insider , появление которой были многие удивлены. Как я понял, это будет своего рода магазин, который даст владельцам компьютеров доступ к фильмам высокой четкости, непосредственно от создателей данных фильмов – то, что раньше появлялось лишь спустя некоторое время после анонса и появления дисков DVD или Blu-ray. Для демонстрации этой функции вице-президент Intel Мули Иден (Mooly Eden) пригласил на сцену Кевина Тсужихару (Kevin Tsujihara), президента Warner Home Entertainment Group. Цитирую:

«Warner Bros. находит персональные системы самой универсальной и распространенной платформой для доставки высококачественного развлекательного контента, а сейчас Intel делает эту платформу еще более надежной и безопасной. Отныне мы при помощи магазина WBShop, а также наши партнеры, такие как CinemaNow, сможем предоставлять пользователям ПК новые релизы и фильмы из нашего каталога в настоящем HD-качестве » - работу данной технологии Мули Иден продемонстрировал на примере фильма «Начало». В сотрудничестве с ведущими студиями индустрии и гигантами медиаиконтента (такими как Best Buy CinemaNow, Hungama Digital Media Entertainment, Image Entertainment, Sonic Solutions, Warner Bros. Digital Distribution и другими), Intel создает безопасную и защищенную от пиратства (на аппаратном уровне) экосистему для дистрибуции, хранения и воспроизведения высококачественного видео.

Работа упомянутой выше технологии будет совместимой с двумя не менее интересными разработках, которые так же присутствуют во всех моделях процессоров нового поколения. Я говорю о (Intel WiDi 2.0) и Intel InTru 3-D . Первая предназначена для беспроводной передачи HD-видео (с поддержкой разрешения вплоть до 1080p), вторая предназначена для отображения стереоконтента на мониторах или телевизорах высокой четкости через соединение HDMI 1.4 .

Еще две функции, для которых я не нашел в статье более подходящего места - Intel Advanced Vector Extensions (AVX). Поддержка процессорами этих команд повышает скорость работы приложений с интенсивной обработкой данных, таких как аудиоредакторы и программное обеспечение для профессионального редактирования фотографий.

… и Intel Quick Sync Video - благодаря совместной работе с такими софтверными компаниями, как CyberLink, Corel и ArcSoft, процессорному гиганту удалось поднять производительность при выполнении этой задачи (транскодирование между форматами H.264 и MPEG-2) в 17 раз по сравнению с производительностью встроенной графики прошлого поколения.

Допустим, процессоры есть – как их использовать? Всё правильно – вместе с ними были так же анонсированы новые чипсеты (наборы логики), которые являются представителями «шестидесятой» серией. Судя по всего, для жаждущих новинок Consumer-ов отведено всего два набора, это Intel H67 и Intel P67 , на которых и будет построено большинство новых материнских плат. H67 способен работать с интегрированным в процессор видеоядром, в то время как P67 наделили функцией Performance Tuning для разгона процессора. Все процессоры будут работать в новом сокете, 1155 .


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

В общей сложности Intel представила более 20 чипов, чипсетов и беспроводных адаптеров, включая новые процессоры Intel Core i7, i5 и i3, чипсеты Intel 6 Series и адаптеры Intel Centrino Wi-Fi и WiMAX. Помимо упомянутых выше, на рынке могут появиться и таких «бейджики»:

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

Ну и напоследок еще раз awesome-ролик, вдруг кто не видел:

Превосходство первых Core i (Nehalem и, в 2009 г., Westmere) над ЦП соперника стало окончательным? Ситуация немного напоминает первый год после выхода Pentium II: почивая на лаврах и получая рекордную прибыль, хорошо бы сделать продолжение удачной архитектуры, не сильно изменив её название, добавив новые , использование которых значительно улучшит производительность, не забыв и о других новшествах, ускоряющих сегодняшние версии программ. Правда, в отличие от ситуации 10-летней давности, надо обратить внимание и на модную ныне тему энергоэффективности, обыгранную двусмысленным прилагательным Cool - «крутой» и «холодный», - и не менее модное стремление встроить в процессор всё, что пока ещё существует как отдельные . Вот под таким соусом и подана новинка.

«Позавчера», «вчера» и «сегодня» процессоров Intel.


Фронт конвейера. Цвета показывают разные виды информации и обрабатывающих или хранящих её блоков.

Предсказание

Начнём с заявления Intel о полностью переработанном (BPU). Как и в Nehalem, он каждый такт (и наперёд реального исполнения) предсказывает адрес следующей 32-байтовой порции кода в зависимости от предполагаемого поведения команд перехода в только что предсказанной порции - причём, судя по всему, вне всякой зависимости от числа и типа переходов. Точнее, если в текущей порции есть предположительно срабатывающий переход, выдаются его собственный и целевой адреса́, иначе - переход к следующей подряд порции. Сами предсказания стали ещё точней за счёт удвоения (BTB), удлинения (GBHR) и оптимизации хэш-функции доступа к (BHT). Правда, фактические тесты показали, что в некоторых случаях эффективность предсказания всё же чуть хуже, чем в Nehalem. Может быть, увеличение производительности с уменьшением потребления не совместимо с качественным предсказанием переходов? Попробуем разобраться.

В Nehalem (как и других современных архитектурах) BTB присутствует в виде двухуровневой иерархии - малый-«быстрый» L1 и большой-«медленный» L2. Происходит это по той же причине, почему существуют несколько уровней : одноуровневое решение окажется слишком компромиссным по всем параметрам (размер, скорость срабатывания, потребление и пр.). Но в SB архитекторы решили поставить один уровень, причём размером вдвое больше, чем L2 BTB у Nehalem, т. е. наверняка не менее 4096 ячеек - именно столько их в Atom. (Следует учесть, что размер наиболее часто исполняемого кода медленно растёт и всё реже умещается в кэше , размер которого совпадает у всех ЦП Intel с первых Pentium M.) По идее, при этом увеличится занимаемая BTB площадь, а т. к. общую площадь менять не рекомендуется (таков один из начальных постулатов архитектуры) - у какой-то другой структуры что-то придётся забрать. Но остаётся ещё и скорость. Учитывая, что SB должен быть рассчитан на чуть большую скорость при том же техпроцессе, можно ожидать, что эта крупная структура будет бутылочным горлышком всего конвейера - если только не конвейеризировать и её (двух уже хватит). Правда, общее число срабатывающих за такт транзисторов в BTB при этом удвоится, что совсем не способствует энергоэкономии. Опять тупик? На это Intel отвечает, что новый BTB хранит адреса в некоем сжатом состоянии, что позволяет иметь вдвое больше ячеек при похожих площади и потреблении. Но проверить это пока невозможно.

Смотрим с другой стороны. SB получил не новые алгоритмы предсказания, а оптимизированные старые: общий, для косвенных переходов, циклов и возвратов. Nehalem имеет 18-битный GBHR и BHT неизвестного размера. Впрочем, можно гарантировать, что число ячеек в таблице меньше, чем 2 18 , иначе она бы заняла бо́льшую часть ядра. Поэтому существует специальная хэш-функция, сворачивающая 18 бит истории всех переходов и биты адреса команды в индекс меньшей длины. Причём, скорее всего, хэшей как минимум два - для всех битов GBHR и для тех, что отражают срабатывание наиболее трудных переходов. И вот эффективность хаотичного распределения индексами различных шаблонов поведения по номерам ячеек BHT определяет успешность предсказателя общего вида. Хотя явно это не сказано, но Intel наверняка улучшила хэши, что позволило использовать GBHR бо́льшей длины с не меньшей эффективностью заполнения. А вот о размере BHT по прежнему можно гадать - как и о том, как на самом деле изменилось потребление энергии предсказателем в целом… Что касается (RSB), он по-прежнему 16-адресный, но введено новое ограничение на сами вызовы - не более четырёх на 16 байт кода.

Пока мы не ушли далее, скажем о небольшом несоответствии декларируемой теории и наблюдаемой практики - а она показала, что предсказатель циклов в SB изъят, в результате чего предсказание финального перехода в начало цикла делается общим алгоритмом, т. е. хуже. Представитель Intel заверил нас, что ничего «хуже» быть не должно, однако…

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

Предсказанные наперёд адреса исполняемых команд (попеременно для каждого потока - при включенной технологии ) выдаются для проверки их наличия в кэшах команд (L1I) и (L0m), но о последнем умолчим - опишем пока остальную часть фронта. Как ни странно, Intel сохранила размер считываемой из L1I порции команд в 16 байт (тут слово «порция» понимается согласно нашему ). До сих пор это было препятствием для кода, средний размер команд которого перерос 4 байта, а потому 4 команды, желательные для исполнения за такт, уже не уместятся в 16 байт. AMD решила эту проблему в архитектуре K10, расширив порцию команд до 32 байт - хотя её ЦП пока имеют не более чем 3- конвейер. В SB неравенство размеров приводит к побочному эффекту: предсказатель выдаёт очередной адрес 32-байтового блока, и если обнаружится (предположительно) срабатывающий переход в его первой половине, то считывать и декодировать вторую не надо - однако это будет сделано.

Из L1I порция попадает в предекодера, а оттуда - в сам -длиномер (), обрабатывающий до 7 или 6 команд/такт (с и без ; Nehalem умел максимум 6) в зависимости от их совокупной длины и сложности. Сразу после перехода обработка начинается с команды по целевому адресу, иначе - с того байта, перед которым предекодер остановился тактом ранее. Аналогично с финальной точкой: либо это (вероятно) срабатывающий переход, адрес последнего байта которого поступил от BTB, либо последний байт само́й порции - если только не достигнут предел в 7 команд/такт, или не встретилась «неудобная» команда. Скорее всего, буфер длиномера имеет всего 2–4 порции, однако длиномер может получить из него любые 16 подряд идущих байт. Например, если в начале порции опознаны 7 двухбайтовых команд, то в следующем такте можно обработать ещё 16 байт, начиная с 15-го.

Длиномер, помимо прочего, занимается обнаружением пар макросливаемых команд. О самих парах поговорим чуть позже, а пока заметим, что, как и в Nehalem, каждый такт может быть обнаружено не более одной такой пары, хотя максимум их можно было бы разметить 3 (и ещё одну одиночную команду). Однако измерение длин команд - процесс частично последовательный, так что определить несколько макросливаемых пар не удалось бы в течение такта.

Размеченные команды попадают в одну из двух команд (IQ: instruction queue) - по одной на поток, на 20 команд каждая (что на 2 больше, чем у Nehalem). попеременно читает команды из очередей и переводит их в мопы. В нём есть 3 простых (переводят 1 команду в 1 моп, а с макрослиянием - 2 команды в 1 моп), сложный транслятор (1 команда в 1–4 мопа или 2 команды в 1 моп) и микросеквенсер для самых сложных команд, требующих 5 и более мопов из . Причём хранит только «хвосты» каждой последовательности, начиная с 5-го мопа, потому что первые 4 выдаются сложным транслятором. При этом если число мопов в микропрограмме не делится нацело на 4, то их последняя четвёрка будет неполной, но вставить ещё 1–3 мопа от трансляторов в этом же такте не получится. Результат декодирования поступает в и два (по одному на поток). Последние (официально именуемые IDQ - instruction decode queue, очередь декодированных команд) по-прежнему имеют по 28 мопов и возможность блокировки цикла, если его исполняемая часть там уместится.

Всё это (кроме кэша мопов) уже было в Nehalem. А в чём же различия? Прежде всего, что очевидно, декодер научили обрабатывать новые команды поднабора . Поддержка наборов SSE со всеми цифрами уже никого не удивляет, а ускорение шифрования командами (включая PCLMULQDQ) было добавлено в Westmere (32 нм версия Nehalem). В подложили подводный камень: эта функция не срабатывает для команд, имеющих и константу, и RIP-относительную адресацию (RIP-relative, адрес относительно -указателя команды - обычный способ обращения к данным в 64-битном коде). Такие команды требуют 2 мопа (отдельно загрузка и операция), а значит - декодер их обработает не более одной за такт, используя лишь сложный транслятор. Intel утверждает, что эти жертвы сделаны для экономии энергии, только не ясно, на чём: двухкратные размещение, исполнение и мопов явно займут больше ресурсов, а значит - и потребят энергии, чем один.

Макрослияние оптимизировано - ранее в качестве первой сливаемой команды могло быть лишь арифметическое или логическое сравнение (CMP или TEST), теперь же допустимы простые арифметические команды сложения и вычитания (ADD, SUB, INC, DEC) и логического «И» (AND), также меняющие для перехода (вторая команда пары). Это позволяет почти в любом цикле сократить последние 2 команды до 1 мопа. Разумеется, ограничения на сливаемые команды остались, но они некритичны, т. к. перечисленные ситуации для пары команд почти всегда исполняются:

  • первый первой команды должен быть регистром;
  • если второй операнд первой команды находится в памяти, RIP-относительная адресация недопустима;
  • вторая команда не может находиться в начале или пересекать границу строк.

Правила для самого́ перехода такие:

  • только TEST и AND совместимы с любым условием;
  • сравнения на (не) равно и любые знаковые совместимы с любой разрешённой первой командой;
  • сравнения на (не) перенос и любые беззнаковые не совместимы с INC и DEC;
  • остальные сравнения (знак, переполнение, чётность и их отрицания) допустимы лишь для TEST и AND.

Главное изменение в очередях мопов - слитые мопы типа , обращение в память в которых требует чтения индексного регистра, (и ещё несколько редких видов) при записи в IDQ разделяются на пары. Даже если таких мопов попадётся 4, то в IDQ запишутся все 8 итоговых. Делается это потому, что в очередях мопов (IDQ), диспетчера (ROB) и резервации теперь применяется сокращённый формат мопа без 6-битного поля индекса (разумеется, для экономии при перемещении мопов). Предполагается, что такие случаи будут редки, а потому на скорость сильно влиять не будут.

Историю возникновения у этого буфера режима блокировки цикла мы расскажем ниже, а тут лишь укажем одну мелочь: переход на начало цикла ранее занимал 1 дополнительный такт, образуя «пузырь» между чтениями конца и начала цикла, а теперь его нет. Тем не менее, в четвёрке читаемых за такт мопов не могут оказаться последние из текущей итерации и первые из следующей, поэтому в идеале число мопов в цикле должно нацело делиться на 4. Ну а критерии для его блокировки почти не изменились:

  • мопы цикла должны порождаться не более чем 8-ю 32-байтовыми порциями исходного кода;
  • эти порции должны быть закэшированы в L0m (в Nehalem, разумеется, - в L1I);
  • допускается до 8 безусловных переходов, предсказанных как срабатывающие (включая финальный);
  • вызовы и возвраты недопустимы;
  • недопустимы непарные обращения в стек (чаще всего при неравном числе команд PUSH и POP) - об этом ниже.

Стековый движок

Есть ещё один механизм, работу которого мы в прошлых статьях не рассматривали - стековый движок (stack pointer tracker, «следитель за указателем (на вершину) стека»), расположенный перед IDQ. Он появился ещё в Pentium M и до сих пор не изменился. Суть его в том, что модификация указателя стека (регистра ESP/RSP для 32/64-битного режима) командами для работы с ним (PUSH, POP, CALL и RET) делается отдельным сумматором, результат хранится в специальном регистре и возвращается в моп как константа - вместо того, чтобы модифицировать указатель в после каждой команды, как это требует и как было в ЦП Intel до Pentium M.

Это происходит до тех пор, пока какая-то команда не обратится к указателю напрямую (и в некоторых других редких случаях) - стековый движок сравнивает теневой указатель с нулём и при ненулевом значении вставляет в поток мопов до вызывающей указатель команды синхронизирующий моп, записывающий в указатель актуальное значение из спецрегистра (а сам регистр сбрасывается). Поскольку требуется это редко, большинство обращений в стек, лишь неявно модифицирующих указатель, пользуются его теневой копией, изменяемой одновременно с остальными операциями. Т. е. с точки зрения блоков конвейера такие команды кодируются единственным слитым мопом и ничем не отличаются от обычных обращений в память, не требуя обработки в АЛУ.

Внимательный Читатель (добрый день!) заметит связь: при зацикливании очереди мопов непарные обращения в стек недопустимы именно по причине того, что стековый движок в конвейере находится до IDQ - если после очередной итерации значение теневого указателя окажется ненулевым, в новой потребуется вставить синхромоп, а в циклическом режиме это невозможно (мопы только читаются из IDQ). Более того, стековый движок вообще при этом выключен для экономии энергии, как и все остальные части фронта.

Тайная жизнь нопов

Ещё одно изменение коснулось длиномера, но этот случай несколько выделяется. Сначала вспомним, что такое и зачем они нужны. Когда-то в архитектуре x86 ноп был лишь 1-байтовый. Когда требовалось сместить код более чем на 1 байт или заменить команды длиной более 1-го байта, ноп просто вставляли несколько раз. Но несмотря на то, что эта команда ничего не делает, время на её декодирование всё-таки тратится, причём пропорционально числу нопов. Чтобы производительность «пропатченной» программы не просела, ноп можно удлинить . Однако в ЦП 90-х годов темп декодирования команд с числом префиксов выше определённой величины (которая куда меньше максимально допустимой длины x86-команды в 15 байт) резко падал. Кроме того, конкретно для нопа префикс применяется, как правило, одного вида, но многократно повторенный, что допускается лишь как нежелательное исключение, усложняющие длиномер.

Для разрешения указанных проблем начиная с Pentium Pro и Athlon процессоры понимают «длинный ноп» с байтом modR/M для «официального» удлинения команды с помощью регистров и адресного смещения. Естественно, никаких операций с памятью и регистрами не происходит, но при определении длины используются те же блоки длиномера, что и для обычных многобайтовых команд. Теперь использование длинных нопов официально рекомендуется учебниками по низкоуровневой программной оптимизации и от Intel, и от AMD. Кстати, предекодер SB вдвое (с 6 до 3 тактов) уменьшил штраф за префиксы 66 и 67, меняющие длину константы и адресного смещения - но, как и в Nehalem, штраф не накладывается на команды, где эти префиксы фактически не меняют длину (например, если префикс 66 применён к команде без непосредственного операнда) или являются частью списка переключателей (что сплошь и рядом используется в векторном коде).

Максимальная длина верно оформленного длинного нопа не превышает 9 байт для Intel и 11 для AMD. А потому для выравнивания на 16 или 32 байта нопов всё-таки может быть несколько. Однако т. к. команда эта простая, её декодирование и «исполнение» займёт ресурсов никак не больше обработки самых простых действующих команд. Поэтому уже много лет тестирование длинными нопами является стандартным методом определения параметров фронта конвейера, в частности - длиномера и декодера. И вот тут Sandy Bridge преподнёс очень странный сюрприз: тестирование производительности обычных программ не выявило никаких задержек и замедлений, а вот дежурная синтетическая проверка параметров декодера неожиданно показала, что его производительность равна одной команде за такт! При этом никаких официальных оповещений о таких радикальных изменениях в декодере Intel не давала.

Процедура замера отлично работала ещё на Nehalem и показывала верные 4 . Можно свалить вину на новый и «чрезмерно» активный Turbo Boost 2.0, портящий замеряемые показатели тактов, но для тестов он был отключен. Перегрев с замедляющим частоту тротлингом тоже исключён. А когда, наконец, причина обнаружилась - стало ещё страннее: оказывается, длинные нопы на SB обрабатываются только первым простым транслятором, хотя 1-байтовые нопы с любым числом префиксов и аналогичные «по бездействию» команды (например, копирование регистра в себя) запросто принимаются всеми четыремя. Зачем так было делать - не ясно, однако как минимум один недостаток такого технического решения уже себя явно показал: на выяснение причин загадочной медлительности декодера нашей исследовательской командой было угрохано дней десять… В отместку просим яростных фанатов Противоположного Лагеря придумать какую-нибудь конспирологическую теорию о коварных планах некой компании I. по запутыванию наивных доблестных исследователей процессоров. :)

Кстати, как оказалось, «более равным» среди прочих транслятор №1 уже был. В Nehalem команды циклической прокрутки (ROL и ROR) с явным операндом-константой тоже декодировались только в первом трансляторе, причём в этом же такте отключался четвёртый, так что величина IPC падала до 3-х. Казалось бы - зачем приводить тут такой редкий пример? Но именно из-за этого подвоха, чтобы добиться пиковой скорости на алгоритмах хэширования вроде SHA-1, нужна была очень точная планировка команд, с которой компиляторы не справлялись. В SB же такие команды просто стали 2-мопными, так что, занимая сложный транслятор (который и так один), они ведут себя почти неотличимо для ЦП, но более предсказуемо для человека и компилятора. С нопами же получилось всё наоборот. Кэш мопов

Цели и предшественники

Мы не зря отделили эту главу от остального описания фронта - добавление кэша мопов наглядно демонстрирует, какой путь выбрала Intel для всех своих процессоров, начиная с Core 2. В последний впервые (для Intel) был добавлен блок, который одновременно достигал две, казалось бы, противоречивые цели: увеличение скорости и экономия энергии. Речь идёт об очереди команд (IQ) между предекодером и декодером, хранившей тогда до 18 команд длиной до 64 байт в сумме. Если бы она только сглаживала разницу темпов подготовки и декодирования команд (как обычный буфер) - выгода была бы небольшая. Но в Intel догадались приделать к IQ небольшой блок LSD (вряд ли парни что-то «приняли», просто у них юмор такой) - Loop Stream Detector, «детектор циклического потока». При обнаружении цикла, умещающегося в 18 команд, LSD отключает все предыдущие стадии (предсказатель, кэш L1I и предекодер) и поставляет из очереди в декодер команды цикла, пока тот не завершится, либо пока не будет сделан переход за его пределы (вызовы и возвраты не допустимы). Таким образом экономится энергия за счёт отключения временно простаивающих блоков и увеличивается производительность за счёт гарантированного потока в 4 команды/такт для декодера, даже если они были «снабжены» самыми неудобными префиксами.

Intel явно понравилась эта идея, так что для Nehalem схема была оптимизирована: IQ продублирована (для двух потоков), а между декодером и диспетчером (т. е. аккурат на границе фронта и тыла) были поставлены две очереди IDQ на 28 мопов каждая, и блок LSD перенесли к ним. Теперь при блокировке цикла отключается ещё и декодер, а производительность поднялась в т. ч. за счёт гарантированного притока уже не 4-х команд, а 4-х мопов за такт, даже если их генерация производилась с минимальным (для Core 2/i) темпом в 2 мопа/такт. Яростные фанаты Противоположного Лагеря, на секунду оторвавшись от любимого занятия, тут же вставят шпильку: если LSD такая хорошая штука, почему же его не встроили в Atom? И шпилька справедлива - имея 32-моповую очередь после декодера, Atom не умеет блокировать в ней цикл, что как раз очень бы пригодилось для экономии драгоценных милливатт. Тем не менее, Intel не собиралась бросать идею и для новых ЦП подготовила обновление, да ещё какое!

Официальное внутреннее название кэша мопов - DSB (decode stream buffer: буфер потока декодирования), хотя он не так точно отражает суть, как рекомендуемый термин DIC (decoded instruction cache: кэш декодированных команд). Как ни странно, он не подменяет, а дополняет очереди IDQ, которые теперь соединяются с декодером или с кэшем мопов. При очередном предсказании перехода целевой адрес одновременно проверяется в кэшах команд и мопов. Если сработает последний - то далее считывание идёт из него, а остальной фронт отключается. Вот почему кэш мопов является кэшем нулевого уровня для мопов, т. е. L0m.

Интересно, что продолжить эту мысль можно, назвав IDQ кэшами «минус первого» уровня. :) Но не является ли такая сложная иерархия в рамках даже не всего ядра, а одного только фронта избыточной? Пускай Intel в качестве исключения не пожалела площадь, но принесёт ли пара IDQ существенную дополнительную экономию, учитывая, что при их работе теперь отключается лишь кэш мопов, т. к. остальной фронт (кроме предсказателя) и так спит? И ведь особой прибавки к скорости тоже не получишь, т. к. кэш мопов также настроен на генерацию 4 мопов/такт. Видимо, инженеры Intel решили, что 3-уровневая игра стоит милливаттовых свеч.

Кроме экономии, кэш мопов ускоряет производительность в т. ч. сокращением штрафа при фальш-предсказании перехода: в Nehalem при нахождении верного кода в L1I штраф был 17 тактов, в SB - 19, но если код нашёлся в L0m - то только 14. Причём это максимальные цифры: при ложно предсказанного перехода планировщику надо ещё запустить и завершить предыдущие в программном порядке мопы, а за это время L0m может успеть подкачать верные мопы, чтобы планировщик успел их запустить сразу после отставки команд до перехода. В Nehalem такой приём работал с IDQ и фронтом, но в первом случае вероятность того, что верный целевой адрес тоже будет внутри 28-мопового цикла, весьма мал, а во втором медлительность фронта в большинстве случаев не позволяла снизить задержку до нуля. У SB такой шанс больше.

Устройство

Топологически L0m состоит из 32 по 8 строк (8- ). В каждой строке хранится 6 мопов (во всём кэше - 1536, т. е. «полтора киломопа»), причём за такт кэш может записать и считать по одной строке. Предсказатель выдаёт адреса 32-байтовых блоков, и именно этот размер является рабочим для L0m, поэтому далее под термином «порция» будем понимать выровненный и предсказанный как исполняющийся 32-байтовый блок кода (а не 16-байтовый, как для декодера). При декодировании контроллер L0m ждёт обработки порции до конца или до первого срабатывающего в ней перехода (разумеется, предположительно - тут и далее полагаем предсказания всегда верными), накапливая мопы одновременно с их отправкой в тыл. Затем он фиксирует точки входа в порцию и выхода из неё, согласно поведению переходов. Обычно точкой входа оказывается целевой адрес срабатывающего в предыдущей порции перехода (точнее, младшие 5 бит адреса), а точкой выхода - собственный адрес срабатывающего перехода в этой порции. В крайнем случае, если ни в предыдущей, ни в текущей порциях не сработает ни один переход (т. е. порции не только исполняются, но и хранятся подряд), то обе выполнятся целиком - вход в них будет на нулевом мопе и первом байте первой целиком уместившейся в этой порции команды, а выход - на последнем мопе последней целиком уместившейся команды и её начальном байте.

Если в порции оказалось более 18 мопов - она не кэшируется. Это задаёт минимум среднего (в пределах порции) размера команды в 1,8 байта, что не будет серьёзным ограничением в большинстве программ. Можно вспомнить второй пункт ограничений IDQ - если цикл уместится в порции, но займёт от 19 до 28 мопов, его не зафиксируют ни кэш L0m, ни очередь IDQ, хотя по размеру он бы везде уместился. Впрочем, в этом случае средняя длина команд должна быть 1,1–1,7 байта, что для двух десятков команд подряд крайне маловероятно.

Скорее всего, мопы порции одновременно записываются в кэш, занимая 1–3 строки одного набора, так что для L0m нарушается один из главных принципов работы наборно-ассоциативного кэша: при обычно срабатывает одна строка набора. Тут же теги до трёх строк могут получить адрес одной и той же порции, отличаясь лишь порядковыми номерами. При попадании предсказанного адреса в L0m считывание происходит аналогично - срабатывают 1, 2 или 3 пути нужного набора. Правда, такая схема таит в себе недостаток.

Если исполняемая программа во всех порциях декодируется в 13–18 мопов, что займёт по 3 строки L0m для всех порций, обнаружится следующее: если текущий набор уже занят двумя 3-строчными порциями, и в него пытается записаться третья (которой не хватит одной строки), придётся вытеснить одну из старых, а с учётом её связности - все 3 старых. Таким образом больше двух порций «мелко-командного» кода в наборе не должно уместиться. При проверке этого предположения на практике получилось вот что: порции с крупными командами, требующие менее 7 мопов, упаковались в L0m числом в 255 (ещё одну занять почему-то не получилось), уместив почти 8 КБ кода. Средние порции (7–12 мопов) заняли все 128 возможных позиций (по 2 строки каждая), закэшировав ровно 4 КБ. Ну а мелкие команды уместились в 66-и порциях, что на две больше ожидаемого значения (2112 байт против 2048), что, видимо, объясняется граничными эффектами нашего тестового кода. Недостача на лицо - если бы 256 6-моповых строк могли быть заполнены полностью, их бы хватило на 85 полных троек с общим размером кода 2720 байт.

Возможно, Intel не рассчитывает, что в каком-то коде будет так много коротких и простых команд, что более 2/3 его придётся на 3-строчные порции, которые станут вытеснять друг друга из L0m раньше необходимого. А даже если такой код и встретится - учитывая простоту его декодирования, остальные блоки фронта запросто справятся с задачей поставки необходимых тылу 4 мопов/такт (правда, без обещанной экономии ватт и тактов штрафа при фальш-предсказании). Любопытно, что имей L0m 6 путей, проблемы бы не возникло. Intel же решила, что иметь размер кэша на треть больше именно за счёт ассоциативности - важнее…

Размеры

Вспомним, что идея кэшировать большое количество мопов вместо команд x86, не нова. Впервые она появилась в Pentium 4 в виде кэша моп-трасс - последовательностей мопов после развёртки циклов. Причём кэш трасс не дополнял, а заменял отсутствующий L1I - команды для декодера читались сразу из . Не смотря на забвение архитектуры NetBurst, разумно предположить, что инженеры Intel использовали прошлый опыт, хоть и без развёртки циклов и выделенного для кэша предсказателя. Сравним старое и новое решения (новые ЦП тут названы Core i 2, потому что номера почти всех моделей с архитектурой SB начинаются с двойки):

* - предположительно

Тут нужны пояснения. Во-первых, пропускная способность для L0m указана с учётом общего ограничения ширины конвейера в 4 мопа. Выше мы предположили, что за такт L0m может прочесть и записать по 18 мопов. Однако при чтении все 18 (если их получилось именно столько при декодировании оригинальной порции) не могут быть отправлены за такт, и отправка происходит за несколько тактов.

Далее, размер мопа в битах вообще относится к очень деликатной информации, которую производители либо вообще не выдают, либо только при припирании к стенке (дескать, вы и так уже всё вычислили, так и быть - подтвердим). Для ЦП Intel последняя достоверно известная цифра - 118 бит для Pentium Pro. Ясно, что с тех пор размер увеличился, но с этого места начинаются догадки. 118 бит для 32-битного x86-ЦП может получиться, если в мопе есть поля для адреса породившей его команды (32 бита), непосредственного операнда (32 бита), адресного смещения (32 бита), регистровых операндов (3 по 3 бита + 2 бита на масштаб для индексного регистра) и опкода (11 бит, в которых закодирован конкретный вариант x86-команды с учётом префиксов). После добавления , и SSE2 поле опкода наверняка выросло на 1 бит, откуда и получена цифра 119.

После перехода на (Prescott и далее), по идее, все 32-битные поля должны возрасти до 64-х бит. Но тут есть тонкости: 64-битные константы в x86-64 допускаются только по одной (т. е. более 8 байт обе константы в команде точно не займут), а и тогда, и сейчас пока обходится 48 битами. Так что увеличить размер мопа требуется всего на 16 бит адреса и 3 дополнительных бита номеров регистров (коих стало 16) - получаем (примерно) 138 бит. Ну а в SB моп, видимо, вырос ещё на 1 бит за счёт добавления очередных нескольких сотен команд со времён последних P4, и ещё на 8 - за счёт увеличения максимального числа явно указанных регистров в команде до 5 (при использовании AVX). Последнее, впрочем, сомнительно: со времён, представьте себе, аж i386 в архитектуру x86 не была добавлена ни одна новая команда, требующая хотя бы 4 байта константы (с единственным недавним и крайне незаметным исключением в SSE4.a от AMD, о котором даже большинство программистов не знает). А т. к. Intel AVX и AMD обновили кодировку лишь векторных команд, биты номеров дополнительных регистров уместятся в старшей половине частично неиспользуемого (для этих команд) 32-битного поля непосредственного операнда. Тем более, что и в само́й x86-команде 4-й или 5-й регистр кодируется как раз четыремя битами константы.

Очевидно, что хранить и пересылать таких «монстров» в сколько-нибудь большом количестве - сильно затратно. Поэтому ещё для P4 Intel придумала сокращённый вариант мопа, в котором лишь одно поле для обеих констант, причём если они там не умещаются, то недостающие биты размещаются в этом же поле соседнего мопа. Однако если он уже хранит там свои константы, то в качестве соседа приходится вставлять ноп как донор-носитель дополнительных бит. Преемственность такой схемы наблюдается и в SB: лишние нопы не вставляются, но команды с 8-байтовыми константами (или с суммой размеров константы и адресного смещения в 5–8 байт) имеют в L0m двойной размер. Впрочем, учитывая длину таких команд, больше 4-х их в порции не уместится, так что ограничение по занимаемым мопам явно некритично. Тем не менее, констатируем: SB, в отличие от предыдущих ЦП, имеет аж 3 формата мопов - декодируемый (самый полный), хранимый в кэше мопов (с сокращением констант) и основной (без поля регистра индекса), используемый далее в конвейере. Впрочем, большинство мопов проходят нетронутыми от декодирования до отставки.

Ограничения

«Правила пользования кэшем» на спецформате мопов не заканчиваются. Очевидно, столь удобный блок как L0m никак не мог оказаться совсем без ограничений той или иной степени серьёзности, о которых нам не рассказали в рекламных материалах. :) Начнём с того, что все мопы транслируемой команды должны уместиться в одной строке, иначе они переносятся в следующую. Это объяснимо тем, что адреса мопов строки хранятся отдельно (для экономии 48 бит в каждом мопе), а все порождаемые командой мопы должны соответствовать адресу её первого байта, хранимому в теге только одной строки. Для восстановления оригинальных адресов в тегах хранятся длины породивших мопы команд. «Непереносимость» мопов несколько портит эффективность использования L0m, т. к. изредка встречающиеся команды, генерирующие несколько мопов, имеют существенный шанс не уместиться в очередной строке.

Более того, мопы самых сложных команд по-прежнему хранятся в ПЗУ с микрокодом, а в L0m попадают лишь первые 4 мопа последовательности, плюс ссылка на продолжение, так что всё вместе занимает целую строку. Из этого следует, что в порции могут встретиться не более трёх микрокодовых команд, а учитывая средний размер команды более вероятным пределом будут две. В реальности, впрочем, они попадаются куда реже.

Ещё один важный момент - L0m не имеет своего . Вроде бы, это должно ускорять проверку адресов (которые тут только виртуальные) и уменьшить потребление энергии. Но всё гораздо интересней - не зря все современные кэши имеют . Виртуальные адресные пространства исполняемых в ОС программ могут пересекаться, поэтому при переключении контекста задачи, чтобы по тем же адресам не считать старые данные или код, виртуально адресуемый кэш должен сбрасываться (именно так было с кэшем трасс у P4). Разумеется, его эффективность при этом будет низкой. В некоторых архитектурах применяются т. н. ASID (address space identifier, идентификатор адресного пространства) - уникальные числа, присваиваемые ОС каждому потоку. Однако x86 не поддерживает ASID за ненадобностью - учитывая наличие физических тегов для всех кэшей. Но вот пришёл L0m и нарушил картину. Более того, вспомним, что кэш мопов, как и большинство ресурсов ядра, разделяется между двумя потоками, так что в нём окажутся мопы разных программ. А если добавить переключение между виртуальными ОС в соответствующем режиме, то мопы двух программ могут совпасть по адресам. Что же делать?

Проблема с потоками решается просто - L0m просто делится пополам по наборам, так что номер потока даёт старший бит номера набора. Кроме того, L1I имеет политику хранения относительно L0m. Поэтому при вытеснении кода из L1I происходит и удаление его мопов из L0m, что требует проверки двух смежных порций (размер строки всех кэшей современных ЦП, не считая самого́ L0m - 64 байта). Таким образом виртуальный адрес из закэшированных мопов всегда можно проверить в тегах L1I, используя его TLB. Выходит, что хоть L0m и имеет виртуальную адресацию, но заимствует физические теги для кода из L1I. Тем не менее, есть ситуация, при которой L0m целиком сбрасывается - и замещение в L1I TLB, а также его полный сброс (в т. ч. при переключении режимов работы ЦП). Кроме того, L0m совсем отключается, если базовый адрес селектора кода (CS) не равен нулю (что крайне маловероятно в современных ОС).

Работа

Главный секрет кэша мопов - алгоритм, подменяющий чтениями из L0m работу фронта по переработке команд в мопы. Начинается он с того, что при очередном переходе для выбора набора L0m использует биты 5–9 адреса цели перехода (или биты 5–8 плюс номер потока - при 2-поточности). В тегах набора указаны точка входа в порцию, мопы которой записаны в соответствующей тегу строке, и порядковый номер этой строки в пределах порции. Совпасть могут 1–3 строки, которые (скорее всего) одновременно считываются в 18-моповый буфер. Оттуда мопы четвёрками посылаются в IDQ, пока не будет достигнута точка выхода - и всё повторяется сначала. Причём когда в порции остаются неотправленными 1–3 последних мопа, они высылаются с 3–1 первыми мопами новой порции, в сумме составив обычную четвёрку. Т. е. с точки зрения принимающей мопы очереди IDQ все переходы сглажены в равномерный поток кода - как в P4, но без кэша трасс.

А теперь любопытный момент - в строке допускается не более двух переходов, причём если один из них - безусловный, то он окажется последним для строки. Наш Внимательный Читатель сообразит, что на всю порцию допустимо иметь до 6 условных переходов (каждый из которых может сработать, не будучи при этом точкой выхода), либо 5 условных и 1 безусловный, который будет последней командой порции. Предсказатель переходов в ЦП Intel устроен так, что он не замечает условный переход, пока он хотя бы раз не сработает, и только после этого его поведение будет предсказываться. Но даже «вечносрабатывающие» переходы тоже подпадают под ограничение. Фактически это значит, что завершить исполнение мопов порции допустимо и до точки её выхода.

А вот аналогичный трюк со множественным входом не пройдёт - если происходит переход в уже закэшированную порцию, но по другому смещению в ней (например, когда там более одного безусловного перехода), то L0m фиксирует промах, включает фронт и запишет поступившие мопы в новую порцию. Т. е. в кэше допустимы копии для порций с разными входами и одинаковым, точно известным выходом (помимо ещё нескольких возможных). А при вытеснении кода из L1I в L0m удаляются все строки, точки входа которых попадают в любой из 64-х байт двух порций. Кстати, в кэше трасс P4 тоже были возможны копии, причём они существенно уменьшали эффективность хранения кода…

Такие ограничения уменьшают доступность пространства L0m. Попробуем подсчитать, сколько же его остаётся для фактического использования. Средний размер команды x86-64 - 4 байта. Среднее число мопов на команду - 1,1. Т. е. на порцию скорее всего придётся 8–10 мопов, что составляет 2 строки. Как было ранее подсчитано, L0m сможет сохранить 128 таких пар, чего хватит на 4 КБ кода. Однако с учётом неидеального использования строк реальное число будет, видимо, 3–3,5 КБ. Интересно, как это вписывается в общий баланс объёмов кэшевой подсистемы?

  • 1 (фактически часть L3, в среднем приходящаяся на ядро) - 2 МБ;
  • L2 - 256 КБ, в 8 раз меньше;
  • оба L1 - по 32 КБ, в 8 раз меньше;
  • кэшируемый объём в L0m - примерно в 10 раз меньше.

Любопытно, что если найти в ядре ещё одну структуру, хранящую много команд или мопов, то ей окажется очередь ROB диспетчера, в которой умещается 168 мопов, генерируемые примерно 650–700 байтами кода, что в 5 раз меньше эффективного эквивалентного объёма L0m (3–3,5 КБ) и в 9 раз меньше полного (6 КБ). Таким образом, кэш мопов дополняет стройную иерархию различных хранилищ кода с разными, но хорошо сбалансированными параметрами. Intel утверждает, что в среднем 80% обращений попадают в L0m. Это значительно ниже цифры в 98–99% для кэша L1I на 32 КБ, но всё равно - в четырёх случаях из пяти кэш мопов оправдывает своё присутствие.

Наконец-то компания Intel официально анонсировала новые процессоры, работающие на новой микроархитектуре Sandy Bridge . Для большинства людей «анонс Sandy Bridge» всего лишь слова, но по большому счету, Intel Core ll поколения являются если не новой эпохой, то как минимум обновлением практически всего рынка процессоров.


Первоначально сообщалось о запуске всего семи процессоров, однако на полезнейшей страничке ark.intel.com уже появилась информация обо всех новинках. Процессоров, а точнее их модификаций, оказалось несколько побольше (в скобках я указал ориентировочную цену - во столько обойдется каждый процессор в партии из 1000 штук):

Мобильные:

Intel Core i5-2510E (~266$)
Intel Core i5-2520M
Intel Core i5-2537M
Intel Core i5-2540M

Наглядное детальное сравнение мобильных процессоров Intel Core i5 второго поколения.

Intel Core i7-2617M
Intel Core i7-2620M
Intel Core i7-2629M
Intel Core i7-2649M
Intel Core i7-2657M
Intel Core i7-2710QE (~378$)
Intel Core i7-2720QM
Intel Core i7-2820QM
Intel Core i7-2920XM Extreme Edition

Наглядное детальное сравнение мобильных процессоров Intel Core i7 второго поколения.

Настольные:

Intel Core i3-2100 (~117$)
Intel Core i3-2100T
Intel Core i3-2120 (138$)

Наглядное детальное сравнение настольных процессоров Intel Core i3 второго поколения.

Intel Core i5-2300 (~177$)
Intel Core i5-2390T
Intel Core i5-2400S
Intel Core i5-2400 (~184$)
Intel Core i5-2500K (~216$)
Intel Core i5-2500T
Intel Core i5-2500S
Intel Core i5-2500 (~205$)

Наглядное детальное сравнение настольных процессоров Intel Core i5 второго поколения.

Intel Core i7-2600K (~317$)
Intel Core i7-2600S
Intel Core i7-2600 (~294$)

Наглядное детальное сравнение настольных процессоров Intel Core i7 второго поколения.

Как видите, названия моделей теперь имеют четыре цифры в названии – это сделано для того, чтобы не было путаницы с процессорами предыдущего поколения. Модельный ряд получился достаточно полным и логичным – наиболее интересные серии i7 явно отделены от i5 наличием технологии Hyper Threading и увеличенным объемом кэша. А процессоры семейства i3 отличаются от i5 не только меньшим количеством ядер, но и отсутствием технологии Turbo Boost .

Наверное, вы так же обратили внимание на буквы в названиях процессоров, без которых модельный ряд сильно поредел. Так вот, буквы S и T говорят о пониженное энергопотребление, а К – свободный множитель.

Наглядная структура новых процессоров:

Как видите, помимо графического и вычислительных ядер, кэш-памяти и контроллера памяти, присутствует так называемый System Agent – туда свалено много чего, например контроллеры DDR3-памяти и PCI-Express 2.0, модель управления питанием и блоки, отвечающие на аппаратном уровне за работы встроенного GPU и за вывод изображения в случае его использования.

Все «ядерные» компоненты (в том числе графический процессор) связаны между собой высокоскоростной кольцевой шиной с полноценным доступом к L3-кэшу, благодаря чему выросла общая скорость обмена данными в самом процессоре; что интересно – такой подход позволяет увеличивать производительность в дальнейшем, попросту увеличивая количество ядер, добавленных к шине. Хотя и сейчас всё обещает быть на высоте - по сравнению с процессорами предыдущего поколения, производительность новых является более адаптивной и по заявлению производителя, во многих задачах способна продемонстрировать 30-50% прирост в скорости выполнения задач!

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

Новые процессоры целиком и полностью выполнены согласно нормам 32-нм техпроцесса и впервые обладают «визуально умной» микроархитектурой, сочетающей в себе лучшую в классе вычислительную мощность и технологию обработки 3D-графики на одном кристалле. В графике Sandy Bridge появилось действительно много нововведений, нацеленных главным образом на увеличение производительности при работе с 3D. Можно долго спорить о «навязывании» интегрированной видеосистемы, но другого решения пока нет как такового. Зато есть такой вот слайд из официальной презентации, который претендует на правдоподобность в том числе в мобильных продуктах (ноутбуках):

Частично о новых технологиях второго поколения процессоров Intel Core я уже рассказывал , поэтому повторяться не буду. Остановлюсь лишь на разработке Intel Insider , появление которой были многие удивлены. Как я понял, это будет своего рода магазин, который даст владельцам компьютеров доступ к фильмам высокой четкости, непосредственно от создателей данных фильмов – то, что раньше появлялось лишь спустя некоторое время после анонса и появления дисков DVD или Blu-ray. Для демонстрации этой функции вице-президент Intel Мули Иден (Mooly Eden) пригласил на сцену Кевина Тсужихару (Kevin Tsujihara), президента Warner Home Entertainment Group. Цитирую:

«Warner Bros. находит персональные системы самой универсальной и распространенной платформой для доставки высококачественного развлекательного контента, а сейчас Intel делает эту платформу еще более надежной и безопасной. Отныне мы при помощи магазина WBShop, а также наши партнеры, такие как CinemaNow, сможем предоставлять пользователям ПК новые релизы и фильмы из нашего каталога в настоящем HD-качестве » - работу данной технологии Мули Иден продемонстрировал на примере фильма «Начало». В сотрудничестве с ведущими студиями индустрии и гигантами медиаиконтента (такими как Best Buy CinemaNow, Hungama Digital Media Entertainment, Image Entertainment, Sonic Solutions, Warner Bros. Digital Distribution и другими), Intel создает безопасную и защищенную от пиратства (на аппаратном уровне) экосистему для дистрибуции, хранения и воспроизведения высококачественного видео.

Работа упомянутой выше технологии будет совместимой с двумя не менее интересными разработках, которые так же присутствуют во всех моделях процессоров нового поколения. Я говорю о (Intel WiDi 2.0) и Intel InTru 3-D . Первая предназначена для беспроводной передачи HD-видео (с поддержкой разрешения вплоть до 1080p), вторая предназначена для отображения стереоконтента на мониторах или телевизорах высокой четкости через соединение HDMI 1.4 .

Еще две функции, для которых я не нашел в статье более подходящего места - Intel Advanced Vector Extensions (AVX). Поддержка процессорами этих команд повышает скорость работы приложений с интенсивной обработкой данных, таких как аудиоредакторы и программное обеспечение для профессионального редактирования фотографий.

… и Intel Quick Sync Video - благодаря совместной работе с такими софтверными компаниями, как CyberLink, Corel и ArcSoft, процессорному гиганту удалось поднять производительность при выполнении этой задачи (транскодирование между форматами H.264 и MPEG-2) в 17 раз по сравнению с производительностью встроенной графики прошлого поколения.

Допустим, процессоры есть – как их использовать? Всё правильно – вместе с ними были так же анонсированы новые чипсеты (наборы логики), которые являются представителями «шестидесятой» серией. Судя по всего, для жаждущих новинок Consumer-ов отведено всего два набора, это Intel H67 и Intel P67 , на которых и будет построено большинство новых материнских плат. H67 способен работать с интегрированным в процессор видеоядром, в то время как P67 наделили функцией Performance Tuning для разгона процессора. Все процессоры будут работать в новом сокете, 1155 .


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

В общей сложности Intel представила более 20 чипов, чипсетов и беспроводных адаптеров, включая новые процессоры Intel Core i7, i5 и i3, чипсеты Intel 6 Series и адаптеры Intel Centrino Wi-Fi и WiMAX. Помимо упомянутых выше, на рынке могут появиться и таких «бейджики»:

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

Ну и напоследок еще раз awesome-ролик, вдруг кто не видел:

В начале января компания Intel официально представила процессоры семейства Intel Core второго поколения, известные под кодовым наименованием Sandy Bridge, а также чипсеты Intel 6-й серии для них.

Новые процессоры семейства Intel Core второго поколения (2 nd Generation Intel Core Processor Family), известные также под кодовым наименованием Sandy Bridge, без преувеличения можно назвать одним из наиболее долгожданных продуктов. Без сомнения, они станут самыми популярными процессорами в 2011 году. Компания AMD готовит свой ответ в виде процессоров на базе новой микроархитектуры Bulldozer, но, во-первых, пока не понятно, когда эти процессоры появятся, а во-вторых, уже сейчас можно утверждать, что они не смогут конкурировать с процессорами Sandy Bridge ни по производительности, ни по соотношению «цена/производительность». Вообще, забегая вперед, отметим, что новые процессоры Intel получились настолько удачными, что продукция конкурентов в сравнении с ними просто меркнет.

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

Прежде всего напомним, что процессоры Intel Core второго поколения, как и процессоры Intel Core первого поколения, составят три семейства: Intel Core i7, Core i5 и Core i3. Чтобы отличать процессоры Intel Core второго поколения от процессоров первого поколения, изменена система их маркировки. Если процессоры первого поколения маркировались трехзначным числом (например, Intel Core i5-650), то процессоры второго поколения маркируются четырехзначным числом, причем первая цифра - 2 - указывает на второе поколение.

Итак, всего компания Intel одновременно анонсировала 29 новых моделей процессоров семейства Sandy Bridge для настольных ПК и ноутбуков, а также десять новых чипсетов. Среди 29 новых моделей процессоров 15 моделей - это мобильные процессоры, а остальные 14 моделей предназначены для настольных компьютеров. Среди десяти новых чипсетов пять ориентированы на ноутбуки, а остальные пять - на ПК.

Прежде чем более детально ознакомиться с модельным рядом мобильных и десктопных процессоров Sandy Bridge, приведем общие сведения о них.

Особенности процессоров Sandy Bridge

Все процессоры Sandy Bridge первоначально будут производиться по 32-нм техпроцессу. В дальнейшем, когда состоится переход на 22-нм техпроцесс, процессоры на базе микроархитектуры Sandy Bridge получат кодовое на-именование Ivy Bridge.

Отличительной особенностью всех процессоров Sandy Bridge станет наличие в них интегрированного графического ядра нового поколения (Intel HD Graphics 2000/3000). Причем если в процессорах предыдущего поколения (Clarkdale и Arrandale) вычислительные ядра процессора и графическое ядро размещались на разных кристаллах и, более того, производились по разным техпроцессам, то в процессорах Sandy Bridge все компоненты процессора изготавливаются по 32-нм техпроцессу и располагаются на одном кристалле.

Важно подчеркнуть, что идеологически графическое ядро процессора Sandy Bridge можно рассматривать как пятое ядро процессора (в случае четырехъядерных процессоров). Причем графическое ядро, так же как и вычислительные ядра процессора, имеет доступ к кэшу L3.

Точно так же, как и процессоры предыдущего поколения (Clarkdale и Arrandale), процессоры Sandy Bridge будут иметь интегрированный интерфейс PCI Express 2.0 для использования дискретных видеокарт. Причем все процессоры поддерживают 16 линий PCI Express 2.0, которые могут быть сгруппированы либо как один порт PCI Express x16, либо как два порта PCI Express x8.

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

Еще одна особенность процессоров на базе микроархитектуры Sandy Bridge заключается в том, что вместо шины QPI (Intel QuickPath Interconnect), которая раньше использовалась для связи отдельных компонентов процессора друг с другом, теперь применяется принципиально иной интерфейс, называемый кольцевой шиной (Ring Bus).

Архитектура процессора Sandy Bridge вообще подразумевает модульную, легко масштабируемую структуру.

Еще одна особенность микроархитектуры Sandy Bridge заключается в том, что в ней реализована поддержка набора инструкций Intel AVX (Intel Advanced Vector Extension).

Intel AVX представляет собой новый набор расширений для архитектуры Intel, предусматривающий 256-битные векторные вычисления с плавающей запятой на базе SIMD (Single Instruction, Multiple Data).

Говоря о процессорной микроархитектуре Sandy Bridge, нужно отметить, что она является развитием микроархитектуры Nehalem или Intel Core (поскольку сама микроархитектура Nehalem является развитием микроархитектуры Intel Core). Различия между Nehalem и Sandy Bridge довольно существенные, но всё же назвать эту микроархитектуру принципиально новой, какой в свое время была микроархитектура Intel Core, нельзя. Это именно модифицированная микроархитектура Nehalem.

Модельный ряд мобильных процессоров Intel Core второго поколения

В семействе мобильных процессоров было представлено 15 моделей: десять моделей семейства Core i7, четыре модели семейства Core i5 и одна модель - Core i3.

В семействе мобильных процессоров присутствуют как четырех­, так и двухъядерные модели. Причем все мобильные процессоры имеют встроенное графическое ядро Intel HD Graphics 3000 и поддерживают режим Hyper-Threading. Разница между отдельными моделями заключается в энергопотреблении, штатной тактовой частоте и максимальной частоте в режиме Turbo Boost, размере кэша L3, частоте поддерживаемой памяти, частоте графического ядра в штатном режиме и в режиме Turbo Boost.

Так, из десяти моделей в семействе Core i7 пять являются четырехъядерными (в обозначении четырехъядерных процессов присутствует буква Q или X). Причем одна модель - Intel Core i7-2920XM - относится к серии Extreme Edition. Это топовая и самая дорогая модель в сегменте мобильных процессоров. Вряд ли производители будут в массовом порядке выпус­кать ноутбуки на процессоре Core i7-2920XM, поскольку его стоимость превышает 1000 долл. Скорее всего, на нем будут основаны только эксклюзивные модели ноутбуков под заказ.

Следующая по стоимости и по производительности модель процессора - Core i7-2820QM. Ее отличие от модели Core i7-2920XM заключается лишь в том, что в ней штатная тактовая частота на две ступени ниже (в процессорах Sandy Bridge частота системной шины составляет 100 МГц, соответственно одна ступень изменения тактовой частоты равна 100 МГц). Так, для процессора Core i7-2920XM штатная тактовая частота равна 2,5 ГГц, а для модели Core i7-2820QM - 2,3 ГГц. В режиме Turbo Boost максимальная частота процессора Core i7-2920XM может равняться 3,5 ГГц, а процессора Core i7-2820QM - 3,4 ГГц. Еще одно различие между процессорами Core i7-2920XM и Core i7-2820QM заключается в том, что TDP модели Core i7-2920XM составляет 55 Вт, а модели Core i7-2820QM - 45 Вт. Все остальные характеристики процессоров Core i7-2920XM и Core i7-2820QM совпадают. Это четырехъядерные модели с L3-кэшем 8 Мбайт. Обе модели поддерживают память DDR3-1600 и имеют графический контроллер Intel HD Graphics 3000 с частотой 650 МГц в штатном режиме и 1300 МГц в режиме Turbo Boost.

Как видите, процессоры Core i7-2920XM и Core i7-2820QM по своим характеристикам, в том числе по производительности, мало чем отличаются друг от друга. А вот по стоимости - почти в два раза. Именно поэтому мы предполагаем, что именно модель Core i7-2820QM будет топовым решением, а Core i7-2920XM останется неким эксклюзивом, который, скорее всего, продаваться не будет.

Все остальные четырехъядерные модели мобильных процессоров (Core i7-2720QM, i7-2635QM, i7-2630QM) наделены L3-кэшем 6 Мбайт. Модель Core i7-2720QM поддерживает память DDR3-1600, а остальные процессоры - память DDR3-1333. Модели i7-2635QM и i7-2630QM вообще практически не отличаются друг от друга - разница лишь в максимальной частоте графического ядра в режиме Turbo Boost. Однако, на наш взгляд, обращать внимание на характеристики интегрированного графического ядра в случае четырехъядерных моделей процессоров вообще не имеет смысла, поскольку ноутбуки на базе таких мощных процессоров без дискретной графики вряд ли будут выпускаться (это было бы просто нелогично).

Теперь рассмотрим двухъядерные модели мобильных процессоров Sandy Bridge. Все двухъядерные модели семейства Core i7 имеют кэш L3 размером 4 Мбайт и поддерживают память DDR3-1333. Собственно, разница между отдельными двухъядерными моделями процессоров семейства Core i7 заключается в их энергопотреблении (различное значение TDP), штатной тактовой частоте и максимальной тактовой частоте ядер процессора и графического ядра в режиме Turbo Boost.

Двухъядерные модели мобильных процессоров семейства Core i5 (всего их четыре) имеют кэш L3 размером уже 3 Мбайт. Все эти процессоры поддерживают память DDR3-1333 и отличаются друг от друга энергопотреблением, штатной тактовой частотой и максимальной тактовой частотой ядер процессора и графического ядра в режиме Turbo Boost.

Как уже отмечалось, младшее семейство процессоров Core i3 представлено всего одной моделью - Core i3-2310M. Отличительной особенностью процессоров семейства Core i3 является то обстоятельство, что они не поддерживают режим Turbo Boost для ядер процессора (режим Turbo Boost поддерживается для графического ядра). Во всем остальном эти процессоры схожи с моделями семейства Core i5. Так, в модели Core i3-2310M размер кэша L3 составляет 3 Мбайт и он поддерживает память DDR3-1333.

Технические характеристики мобильных процессоров Sandy Bridge представлены в табл. 1 .

Модельный ряд десктопных процессоров Intel Core второго поколения

Модельный ряд десктопных процессоров Sandy Bridge также представлен тремя семействами: Core i7, Core i5 и Core i3.

Все десктопные процессоры семейства Core i7 являются четырехъядерными, поддерживают режим Hyper-Threading и память DDR3-1333 и имеют кэш L3 размером 8 Мбайт. Собственно, в настоящее время семейство Core i7 представлено всего одной моделью, но в трех вариантах: Core i7-2600K, Core i7-2600 и Core i7-2600S. Базовая модель - Core i7-2600. Этот четырехъядерный процессор имеет TDP 95 Вт и базовую тактовую частоту 3,4 ГГц. Максимальная тактовая частота в режиме Turbo Boost составляет 3,8 ГГц. Процессор Core i7-2600 имеет встроенное графическое ядро Intel HD Graphics 2000 с максимальной тактовой частотой до 1350 МГц в режиме Turbo Boost.

Модель Core i7-2600K отличается от Core i7-2600 прежде всего тем, что она разблокирована. Все процессоры с буквой «К» в маркировке имеют разблокированный коэффициент умножения и ориентированы на разгон. О разгонных особенностях десктопных процессоров Sandy Bridge мы еще расскажем, а пока заметим, что процессор Core i7-2600K имеет интегрированное графическое ядро Intel HD Graphics 3000 с максимальной тактовой частотой до 1350 МГц в режиме Turbo Boost.

Вообще, нужно отметить, что если во всех мобильных процессорах интегрировано графическое ядро Intel HD Graphics 3000, то в десктопных процессорах может быть интегрировано графическое ядро как Intel HD Graphics 3000, так и Intel HD Graphics 2000. Во всех разблокированных процессорах (с буквой «К» в маркировке) интегрировано графическое ядро Intel HD Graphics 3000, а во всех остальных процессорах - ядро Intel HD Graphics 2000. Различия между ядрами Intel HD Graphics 3000 и 2000 мы еще обсудим, но, забегая вперед, скажем, что ядро Intel HD Graphics 3000 более производительное и решение интегрировать более производительное графическое ядро в разблокированные процессоры кажется нам абсолютно нелогичным. Дело в том, что разгон процессоров возможен только на материнских платах на базе чипсета Intel P67 Express. Но именно эти платы как раз не поддерживают встроенного в процессор графического ядра (то есть в платах на базе чипсета Intel P67 Express нет возможности воспользоваться встроенным графическим ядром). Использовать интегрированное графическое ядро можно только на платах с чипсетом Intel H67 Express, однако они не позволяют осуществлять разгон ядер процессора (об особенностях чипсетов мы расскажем чуть позже). Естественно, разблокированные процессоры K-серии имеет смысл применять только с платами на базе чипсета Intel P67 Express, но в этом случае нельзя использовать встроенное в них графическое ядро, и какой смысл оснащать более производительным графическим ядром именно разблокированные процессоры - совершенно непонятно.

Процессор Core i7-2600S отличается от двух других моделей семейства Core i7 пониженным энергопотреблением. Его TDP составляет 65 Вт. Ну и, кроме того, в этой модели процессора меньше базовая тактовая частота (2,8 ГГц), однако в режиме Turbo Boost тактовая частота может быть такой же, как и в моделях Core i7-2600 и Core i7-2600K, то есть 3,8 ГГц. Попутно отметим, что если в маркировке процессора присутствует буква «S», то это означает, что речь идет о процессоре с пониженным энергопотреблением.

Теперь рассмотрим семейство десктопных процессоров Core i5. Оно довольно странное, поскольку в него входят как двух-, так и четырехъядерные процессоры как с поддержкой Hyper-Threading, так и без нее. Точнее, если бы не модель Core i5-2390T, то всё было бы логично и Intel Core i5 можно было бы охарактеризовать как семейство четырехъядерных процессоров без поддержки технологии Hyper-Threading с L3-кэшем 6 Мбайт. Однако модель Core i5-2390T портит всю систему классификации, поскольку это двухъядерный процессор с поддержкой технологии Hyper-Threading и кэшем L3 размером 3 Мбайт. Возникает впечатление, что этот процессор попал в семейство Core i5 просто по ошибке - ему место в семействе Core i3. Однако отличительным признаком всех процессоров Core i3 является отсутствие поддержки режима Turbo Boost для ядер процессора, а модель Core i5-2390T поддерживает Turbo Boost. Одним словом, модель процессора Core i5-2390T просто не вписывается ни в одно семейство. Поэтому охарактеризуем Core i5 как семейство четырехъядерных процессоров без поддержки технологии Hyper-Threading с L3-кэшем 6 Мбайт, но с одним исключением в виде модели Core i5-2390T.

В семейство Core i5 сегодня входят три базовые модели в различных вариациях. Так, базовая модель Core i5-2500 представлена в четырех видах: Core i5-2500K, Core i5-2500, Core i5-2500S и Core i5-2500T. Модель Core i5-2500K - это разблокированный вариант процессора Core i5-2500, да еще с графикой Intel HD Graphics 3000.

Модель Core i5-2500S - это вариант процессора Core i5-2500 с пониженным энергопотреблением. Так, если для модели Core i5-2500 TDP составляет 95 Вт, то для модели Core i5-2500S - 65 Вт.

Модель Core i5-2500T - это процессор с еще более сниженным энергопотреблением. TDP этого процессора составляет 45 Вт, а кроме того, у него снижена частота ядер в штатном режиме и в режиме Turbo Boost.

Процессор Core i5-2400 представлен в двух вариантах: Core i5-2400 и i5-2400S. Разница между ними заключается в энергопотреблении и тактовой частоте.

А вот процессор Core i5-2300 вариаций пока не имеет.

Семейство процессоров Core i3 представлено в настоящее время тремя моделями. Все процессоры этого семейства являются двухъядерными, поддерживают режим Hyper-Threading, имеют кэш L3 размером 3 Мбайт и, как уже отмечалось, не поддерживают режим Turbo Boost для ядер процессора. Встроенное графическое ядро HD Graphics 2000 имеет максимальную частоту (в режиме Turbo Boost) 1100 МГц.

Технические характеристики всех десктопных процессоров Sandy Bridge представлены в табл. 2 .

Особенности графических ядер Intel HD Graphics 2000/3000

Как уже отмечалось, все процессоры Sandy Bridge имеют встроенное графическое ядро нового поколения, которое идеологически можно рассматривать как еще одно ядро процессора. Во всех мобильных процессорах, а также в десктопных процессорах K-серии (с разблокированным коэффициентом умножения) интегрируется графическое ядро Intel HD Graphics 3000, а в остальных процессорах - графическое ядро Intel HD Graphics 2000.

Конечно, графическое ядро в процессорах Sandy Bridge не может сравниться по производительности с дискретной графикой (кстати, поддержка DirectX 11 для нового ядра даже не заявлена), но справедливости ради отметим, что это ядро и не позиционируется как игровое.

Разница между ядрами Intel HD Graphics 3000 и Intel HD Graphics 2000 заключается в количестве исполнительных блоков (Execution Unit, EU). Так, в ядре Intel HD Graphics 3000 насчитывается 12 исполнительных блоков, а в ядре Intel HD Graphics 2000 - только 6.

Отметим, что исполнительные блоки в графических ядрах Intel HD Graphics 3000/2000 нельзя сравнивать с унифицированными шейдерными процессорами в графических процессорах NVIDIA или AMD, где их насчитываются сотни. Графическое ядро Intel ориентировано прежде всего не на 3D-игры, а на аппаратное декодирование и кодирование видео (включая HD-видео). То есть в конфигурацию графического ядра входят аппаратные декодеры. Их дополняют средства изменения разрешения (scaling), шумоподавления (denoise filtering), обнаружения и удаления чередования строк (deinterlace/film-mode detection) и фильтры улучшения детализации. Постобработка, позволяющая улучшить изображение при воспроизведении, включает функции STE (улучшение передачи телесных тонов), ACE (адаптивное повышение контраста) и TCC (общее управление цветом).

Мультиформатный аппаратный кодек поддерживает форматы MPEG-2, VC1 и AVC, выполняя все этапы декодирования с помощью специализированных аппаратных средств, тогда как в интегрированных графических процессорах текущего поколения за эту функцию отвечают универсальные исполнительные блоки EU (рис. 1).

Рис. 1. Сравнение возможностей по аппаратному декодированию графических
контроллеров нового и предыдущего поколений

Вообще, если сравнивать графические контроллеры Intel предыдущего поколения, интегрированные в процессоры Clarkdale/Arrandale, и графические контроллеры, интегрированные в процессоры Sandy Bridge, то нужно отметить, что разница между ними не только в поддержке аппаратного декодирования. Сравнение технических характеристик и функциональных возможностей графических контроллеров нового и предыдущего поколений представлено на рис. 2 и 3.

Рис. 2. Сравнение функциональных возможностей графических контроллеров нового
и предыдущего поколений

Рис. 3. Сравнение технических характеристик графических контроллеров нового и предыдущего поколений

Разгонные возможности декстопных процессоров Sandy Bridge

В семействе десктопных процессоров Sandy Bridge имеются как разблокированные процессоры, ориентированные на разгон, так и обычные процессоры. Однако обычные процессоры также можно (и нужно) разгонять. Вообще, все десктопные процессоры Sandy Bridge более правильно делить не на обычные и разблокированные, а на полностью разблокированные (Fully Unlocked) и ограниченно разблокированные (Limited Unlocked). Собственно, это одна из интереснейших особенностей процессоров Sandy Bridge - все они являются разблокированными в той или иной степени.

Прежде всего, во всех процессорах полностью разблокирована возможность по разгону памяти. В BIOS платы можно выбрать коэффициент умножения для памяти (8,00; 10,66; 13,33; 16,00; 18,66; 21,33). С учетом того, что штатная частота системной шины составляет 100 МГц, выбирая, к примеру, множитель 16,00, мы получим частоту памяти 1600 МГц.

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

Ну а теперь о главном. В полностью разблокированных процессорах (процессоры K-серии) можно устанавливать любой коэффициент умножения для тактовой частоты ядер процессора. Точнее, максимальный коэффициент умножения может быть равным 57, соответственно максимальная тактовая частота ядер процессора может достигать 5,7 ГГц (теоретически). В частично разблокированных процессорах (то есть в процессорах не К-серии) также можно менять коэффициент умножения, однако в меньшем диапазоне. Правило здесь работает такое. Максимальный коэффициент умножения для частично разблокированных процессоров может быть на четыре единицы выше, чем коэффициент умножения для максимальной частоты процессора в режиме Turbo Boost в штатном режиме.

Рассмотрим, к примеру, частично разблокированный процессор Core i5-2400. Его штатная тактовая частота составляет 3,1 ГГц, а в режиме Turbo Boost максимальная тактовая частота может быть равна 3,4 ГГц (при одном активном ядре). Соответственно для этого процессора коэффициент умножения для максимальной частоты в режиме Turbo Boost составляет 34. Значит, максимальный коэффициент умножения, который можно задать, равен 38.

И полностью разблокированные, и частично разблокированные процессоры Sandy Bridge позволяют настраивать режим Turbo Boost. То есть для процессоров Sandy Bridge можно задавать коэффициенты умножения для ядер процессора в режиме Turbo Boost. В случае четырехъядерных процессоров имеется возможность задавать коэффициенты умножения для четырех, трех, двух и одного активного ядра. Для полностью разблокированных процессоров коэффициенты умножения могут быть любыми (но менее 57), а для частично разблокированных процессоров действует то же правило: максимальный коэффициент умножения на четыре единицы выше, чем коэффициент умножения для максимальной частоты процессора в режиме Turbo Boost в штатном режиме (рис. 4).

Рис. 4. Сравнение разгонных возможностей полностью
и частично разблокированных процессоров Sandy Bridge

Рассмотрим для примера всё тот же частично разблокированный процессор Core i5-2400. По умолчанию (в штатном режиме) режим Turbo Boost для этого процессора настроен следующим образом. Если активны все четыре ядра, то коэффициент умножения может быть равным 32 (если не превышены ограничения по максимальному току и TDP процессора). Если активны три или два ядра процессора, то коэффициент умножения может быть равным 33, а если активно только одно ядро, то коэффициент умножения может достигать значения 34.

Поскольку максимальный коэффициент умножения для этого процессора на 4 единицы выше 34, то есть равен 38, режим Turbo Boost можно настроить так, чтобы для всех случаев активности ядер коэффициент умножения был не выше 38. К примеру, для одного активного ядра - 38, для двух - 37, для трех - 36 и для четырех - 35. А можно и так, чтобы для случаев одного, двух, трех и четырех активных ядер коэффициент умножения был равен 38.

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

Говоря о разгонных возможностях процессоров Sandy Bridge, нужно отметить, что они действительно впечатляют. У нас была возможность протестировать три десктопных процессора: Core i7-2600K, Core i5-2500K и Core i5-2400, и нужно сказать, что все они отлично разгонялись. К примеру, процессор Core i7-2600K прекрасно работал на частоте 4,6 ГГц (при штатной частоте 3,4 ГГц), а час­тично разблокированный процессор Core i5-2400 при штатной частоте 3,1 ГГц отлично работал на частоте 3,8 ГГц. Более подробно о производительности и разгонных возможностях указанных процессоров мы расскажем в следующем номере нашего журнала. Напомним, что разгонять десктопные процессоры Sandy Bridge можно лишь в том случае, если используется материнская плата на базе чипсета Intel P67 Express. Платы на базе остальных чипсетов не позволяют разгонять процессоры.

Теперь самое время подробнее ознакомиться с новыми чипсетами для процессоров Sandy Bridge.

Чипсеты Intel 6-й серии

Компания Intel представила сразу десять чипсетов 6-й серии, из которых пять моделей - это чипсеты для ПК (P67, H67, Q65, Q67, B65), а еще пять (QS67, QM67, HM67, HM65, UM67) для ноутбуков.

Все новые чипсеты, или, в терминологии компании Intel, платформенные хабы (Platform Controller Hub, PCH), представляют собой однокристальные решения, которые заменяют собой традиционные северный и южный мосты.

В процессорах Sandy Bridge взаимодействие между процессором и чипсетом реализуется по шине DMI. Соответственно в чипсетах Intel 6-й серии имеется контроллер DMI.

Чипсеты для настольных ПК

Если говорить о чипсетах для настольных ПК, то наиболее широкое распространение получат чипсеты Intel P67 Express (P67) и Intel H67 Express (H67). Именно они ориентированы на домашние компьютеры. Остальные чипсеты (Q65, Q67, B65) предназначены для корпоративного сегмента рынка и не представляют интереса для конечных пользователей, а потому мы сосредоточимся прежде всего на рассмотрении чипсетов P67 и H67.

Как уже неоднократно упоминалось, ключевая разница между чипсетами P67 и H67 заключается в том, что чипсет P67, во-первых, позволяет разгонять процессоры, а во-вторых, не дает использовать встроенный в процессор графический контроллер. Чипсет H67, наоборот, не обеспечивает разгона процессоров, но позволяет применять встроенный в процессор графический контроллер. Для этого в чипсете H67 предусмотрена шина Intel FDI (Flexible Display Interface), по которой чипсет взаимодействует с процессором. А вот в чипсете P67 такой шины нет, и именно по этой причине воспользоваться встроенным графическим ядром процессора Sandy Bridge на платах с чипсетом P67 не удастся.

Остальные функциональные возможности чипсетов P67 и H67 практически совпадают. Оба чипсета поддерживают 14 портов USB 2.0. Кроме того, в них встроен 6-портовый SATA-контроллер, который поддерживает два порта SATA 6 Гбит/с (SATA III) и четыре порта SATA 3 Гбит/с (SATA II). Этот контроллер поддерживает технологию Intel RST с возможностью создания RAID-массивов уровня 0, 1, 5, 10 или JBOD.

Чипсеты P67 и H67 поддерживают восемь полноскоростных линий PCI Express 2.0, которые могут использоваться интегрированными на материнскую плату контроллерами и для организации слотов PCI Express 2.0 x1 и PCI Express 2.0 x4. А вот традиционную шину PCI чипсеты P67 и H67 не поддерживают.

Отметим также, что в чипсеты P67 и H67 уже встроен MAC-уровень гигабитного сетевого контроллера.

Структурные схемы чипсетов P67 и H67 показаны на рис. 5 и 6. В табл. 3 приведены технические характеристики чипсетов P67 и H67, а также чипсетов Q67 и B65.

Рис. 5. Структурная схема чипсета Intel P67 Express

Рис. 6. Структурная схема чипсета Intel H67 Express

Чипсеты для мобильных ПК

Из пяти чипсетов для мобильных ПК модели QM67 иQS67 ориентированы на корпоративный сегмент рынка и в ноутбуках для домашних пользователей встречаться не будут. А вот чипсеты HM67, HM65 и UM67 будут использоваться как раз в ноутбуках для домашних пользователей.

Вообще, если посмотреть на характеристики всех мобильных чипсетов (см. табл. 3), то можно заметить, что их характеристики различаются весьма незначительно. К примеру, чипсеты HM67 и UM67 отличаются друг от друга лишь разницей в энергопотреблении в 0,5 Вт, а их функциональные возможности полностью совпадают.

Все мобильные чипсеты имеют шину Intel FDI (Flexible Display Interface) и поддерживают интегрированный в процессор графический контроллер. Кроме того, эти чипсеты поддерживают выходы DVI, VGA, Display Port, HDMI 1.4 и LVD. Кроме того, поддерживаются технологии Intel Wireless Display, PAVP и SDVO.

Чипсеты QM67, QS67, HM67 и UM67 поддерживают 14 портов USB 2.0, а чипсет HM65 - только 12 портов. Однако напомним, что речь идет о ноутбуках и физически реализовать более четырех портов USB весьма проблематично. Так что разницу в количестве поддерживаемых портов USB в данном случае можно не принимать во внимание.

Кроме того, все мобильные чипсеты имеют встроенный 6-портовый SATA-контроллер, который поддерживает два порта SATA 6 Гбит/с (SATA III) и четыре порта SATA 3 Гбит/с (SATA II). В чипсетах QM67, QS67 и HM67 поддерживается технология Intel RST с возможностью создания RAID-массивов уровней 0 и 1, а чипсеты QM67 и HM67 поддерживают также создание RAID-массивов уровней 5 и 10, правда не очень понятно, зачем это нужно в ноутбуках.

Все мобильные чипсеты поддерживают восемь полноскоростных линий PCI Express 2.0, которые могут использоваться интегрированными контроллерами. Отметим также, что в мобильные чипсеты встроен MAC-уровень гигабитного сетевого контроллера.

Технические характеристики всех мобильных чипсетов представлены в