Презентация процессоров Intel Sandy Bridge: модельный ряд и архитектурные особенности. Новый режим Intel Turbo Boost

Несколько лет назад, во времена господства бренда Pentium, первого появления торговой марки Intel Core и одноимённой микроархитектуры (Architecture 101), на слайдах о будущих процессорах впервые было упомянуто следующее поколение микроархитектуры Intel с рабочим названием Gesher ("мост" на иврите), что чуть позже трансформировалось в Sandy Bridge.

В ту давнюю пору господства процессоров NetBurst, когда только-только начали проступать контуры грядущих ядер Nehalem, а мы знакомились с особенностями внутреннего строения первых представителей микроархитектуры Core - Conroe для настольных систем, Merom - для мобильных и Woodcrest - для серверных…

Словом, когда трава была зелёная, а до Sandy Bridge было ещё как до Луны, уже тогда представители Intel говорили, что это будет совершенно новая процессорная микроархитектура. Именно так, cкажем, сегодня можно представить таинственную микроархитектуру Haswell, которая появится после поколения Ivy Bridge, которое, в свою очередь, придёт на смену Sandy Bridge в следующем году.

Однако чем ближе дата выпуска новой микроархитектуры, чем больше мы узнаём об её особенностях, тем больше становятся заметны сходства соседних поколений, и тем более очевиден эволюционный путь изменений в схемотехнике процессоров. И действительно, если между начальными реинкарнациями первой архитектуры Core - Merom/Conroe, и первенцем второго поколения Core - Sandy Bridge - на самом деле пролегает пропасть различий, то нынешняя последняя версия поколения Core - ядро Westmere - и грядущая, рассматриваемая сегодня первая версия поколения Core II - ядро Sandy Bridge, могут показаться схожими.

И всё же различия существенны. Настолько существенны, что теперь окончательно можно говорить о конце 15-летней эпохи микроархитектуры P6 (Pentium Pro) и о появлении нового поколения микроархитектуры Intel.

⇡ Микроархитектура Sandy Bridge: с высоты птичьего полёта

Чип Sandy Bridge - это четырёхъядерный 64-битный процессор с изменяемой (out-of-order) последовательностью исполнения команд, поддержкой двух потоков данных на ядро (HT), исполнением четырёх команд за такт; с интегрированным графическим ядром и интегрированным контроллером памяти DDR3; с новой кольцевой шиной, поддержкой 3- и 4-операндных (128/256-битных) векторных команд расширенного набора AVX (Advanced Vector Extensions); производство которого налажено на линиях с соблюдением норм современного 32-нм технологического процесса Intel.

Так, вкратце, одним предложением можно попробовать охарактеризовать новое поколение процессоров Intel Core II для мобильных и настольных систем, массовые поставки которых начнутся в самое ближайшее время.

Процессоры Intel Core II на базе микроархитектуры Sandy Bridge будут поставляться в новом 1155-контактном конструктиве LGA1155 под новые системные платы на чипсетах Intel 6 Series.

Примерно такая же микроархитектура будет актуальна и для серверных решений Intel Sandy Bridge-EP, разве что с актуальными отличиями в виде большего количества процессорных ядер (до восьми), соответствующего процессорного разъёма LGA2011, большего объёма кеша L3, увеличенного количества контроллеров памяти DDR3 и поддержкой PCI-Express 3.0.

Предыдущее поколение, микроархитектура Westmere в исполнении Arrandale и Clarkdale для мобильных и настольных систем, представляет собой конструкцию из двух кристаллов - 32-нм процессорного ядра и дополнительного 45-нм «сопроцессора» с графическим ядром и контроллером памяти на борту, размещённых на единой подложке и производящих обмен данными посредством шины QPI. По сути, на этом этапе инженеры Intel, используя преимущественно предыдущие наработки, создали этакую интегрированную гибридную микросхему.

При создании архитектуры Sandy Bridge разработчики закончили начатый на этапе создания Arrandale/Clarkdale процесс интеграции и разместили все элементы на едином 32-нм кристалле, отказавшись при этом от классического вида шины QPI в пользу новой кольцевой шины. Суть микроархитектуры Sandy Bridge при этом осталась в рамках прежней идеологии Intel, которая делает ставку на увеличение суммарной производительности процессора за счёт улучшения «индивидуальной» эффективности каждого ядра.

Структуру чипа Sandy Bridge можно условно разделить на следующие основные элементы: процессорные ядра, графическое ядро, кеш-память L3 и так называемый «Системный агент» (System Agent).

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

Кольцевая шина (Ring Interconnect)

Вся история модернизации процессорных микроархитектур Intel последних лет неразрывно связана с последовательной интеграцией в единый кристалл всё большего количества модулей и функций, ранее располагавшихся вне процессора: в чипсете, на материнской плате и т.д. Соответственно, по мере увеличения производительности процессора и степени интеграции чипа, требования к пропускной способности внутренних межкомпонентных шин росли опережающими темпами. До поры до времени, даже после внедрения графического чипа в архитектуру чипов Arrandale/Clarkdale, удавалось обходиться межкомпонентными шинами с привычной перекрёстной топологией - этого было достаточно.

Однако эффективность такой топологии высока лишь при небольшом количестве компонентов, принимающих участие в обмене данными. В микроархитектуре Sandy Bridge для повышения общей производительности системы разработчики решили обратиться к кольцевой топологии 256-битной межкомпонентной шины, выполненной на основе новой версии технологии QPI (QuickPath Interconnect), расширенной, доработанной и впервые реализованной в архитектуре серверного чипа Nehalem-EX (Xeon 7500), а также планировавшейся к применению совместно с архитектурой чипов Larrabee .

Кольцевая шина в версии архитектуры Sandy Bridge для настольных и мобильных систем (Core II) служит для обмена данными между шестью ключевыми компонентами чипа: четырьмя процессорными ядрами x86, графическим ядром, кешем L3 и системным агентом. Шина состоит из четырёх 32-байтных колец : шины данных (Data Ring), шины запросов (Request Ring), шины мониторинга состояния (Snoop Ring) и шины подтверждения (Acknowledge Ring), на практике это фактически позволяет делить доступ к 64-байтному интерфейсу кеша последнего уровня на два различных пакета. Управление шинами осуществляется с помощью коммуникационного протокола распределённого арбитража, при этом конвейерная обработка запросов происходит на тактовой частоте процессорных ядер, что придаёт архитектуре дополнительную гибкость при разгоне. Производительность кольцевой шины оценивается на уровне 96 Гбайт в секунду на соединение при тактовой частоте 3 ГГц, что фактически в четыре раза превышает показатели процессоров Intel предыдущего поколения.

Кольцевая топология и организация шин обеспечивает минимальную латентность при обработке запросов, максимальную производительность и отличную масштабируемость технологии для версий чипов с различным количеством ядер и других компонентов. По словам представителей компании, в перспективе к кольцевой шине может быть "подключено" до 20 процессорных ядер на кристалл, и подобный редизайн, как вы понимаете, может производиться очень быстро, в виде гибкой и оперативной реакции на текущие потребности рынка. Кроме того, физически кольцевая шина располагается непосредственно над блоками кеш-памяти L3 в верхнем уровне металлизации, что упрощает разводку дизайна и позволяет сделать чип более компактным.

L 3 - кеш-память последнего уровня, LLC

Как вы уже успели заметить, на слайдах Intel кеш-память L3 обозначается как «кеш последнего уровня», то есть, LLC - Last Level Cache. В микроархитектуре Sandy Bridge кеш L3 распределён не только между четырьмя процессорными ядрами, но, благодаря кольцевой шине, также между графическим ядром и системным агентом, в который, среди прочего, входит модуль аппаратного ускорения графики и блок видеовыхода. При этом специальный трассировочный механизм упреждает возникновение конфликтов доступа между процессорными ядрами и графикой.

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

Дополнительные подробности о строении и особенностях функционирования кеш-памяти L3 процессоров Sandy Bridge будут появляться далее по тексту, в процессе знакомства с микроархитектурой, по мере возникновения необходимости.

Системный агент: контроллер памяти DDR 3, PCU и другие

Ранее вместо определения System Agent в терминологии Intel фигурировало так называемое «Неядро» - Uncore, то есть, «всё, что не входит в Core», а именно кеш L3, графика, контроллер памяти, другие контроллеры вроде PCI Express и т.д. Мы же по привычке частенько называли большую часть этого элементами северного моста, перенесённого из чипсета в процессор.

Системный агент микроархитектуры Sandy Bridge включает в себя контроллер памяти DDR3, модуль управления питанием (Power Control Unit, PCU), контроллеры PCI-Express 2.0, DMI, блок видеовыхода и пр. Как и все остальные элементы архитектуры, системный агент подключен в общую систему посредством высокопроизводительной кольцевой шины.

Архитектура стандартной версии системного агента Sandy Bridge подразумевает наличие 16 линий шины PCI-E 2.0, которые также могут быть распределены на две шины шины PCI-E 2.0 по 8 линий, или на одну шину PCI-E 2.0 на 8 линий и две шины PCI-E 2.0 по четыре линии. Двухканальный контроллер памяти DDR3 отныне «вернулся» на кристалл (в чипах Clarkdale он располагался вне процессорного кристалла) и, скорее всего, теперь будет обеспечивать значительно меньшую латентность.

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

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

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

Совершенно новая версия технологии Turbo Boost реализована не в последнюю очередь благодаря этому контроллеру управления питанием. Дело в том, что, в зависимости от текущего состояния системы и сложности решаемой задачи, микроархитектура Sandy Bridge позволяет технологии Turbo Boost «разогнать» ядра процессора и встроенную графику до уровня, значительно превышающего TDP на достаточно долгое время. И действительно, почему бы не воспользоваться такой возможностью штатно, пока система охлаждения ещё холодная и может обеспечить больший теплоотвод, чем уже разогретая?

Кроме того, что технология Turbo Boost позволяет теперь штатно «разгонять» все четыре ядра за пределы TDP, также стоит отметить, что управление производительностью и тепловым режимом графических ядер в чипах Arrandale/Clarkdale, по сути, только встроенных, но не до конца интегрированных в процессор, производилось с помощью драйвера. Теперь, в архитектуре Sandy Bridge, этот процесс также возложен на контроллер PCU. Такая плотная интеграция системы управления напряжением питания и частотами позволила реализовать на практике гораздо более агрессивные сценарии работы технологии Turbo Boost, когда и графика, и все четыре ядра процессора при необходимости и соблюдении определённых условий могут разом работать на повышенных тактовых частотах со значительным превышением TDP, но без каких-либо побочных последствий.

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

Насколько эффективно эта технология будет работать в серийных процессорах, нам ещё предстоит узнать, но то, что показывали специалисты Intel во время закрытой демонстрации возможностей Sandy Bridge в дни IDF в Сан Франциско, просто поражает: и прирост тактовой частоты, и, соответственно, производительность процессора и графики, одномоментно могут достичь просто фантастических уровней.

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

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

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

В соответствии с современными веяниями, предусмотрены инструменты воспроизведения 3D-контента: аппаратный модуль декодирования Sandy Bridge способен без труда обрабатывать сразу два независимых потока MPEG2, VC1 или AVC в разрешении Full HD.

Сегодня мы познакомились со структурой нового поколения микроархитектуры Intel Core II с рабочим названием Sandy Bridge, разобрались со строением и принципом работы ряда ключевых элементов этой системы: кольцевой шины, кеш-памяти L3 и системного агента, в состав которого входит контроллер памяти DDR3, модуль управления питанием и другие компоненты.

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


1. Микроархитектура Sandy Bridge: кратко

Чип Sandy Bridge – это двух-четырёхъядерный 64-битный процессор ●с изменяемой(out-of-order) последовательностью исполнения команд, ●c поддержкой двух потоков данных на ядро (HT), ● c исполнением четырёх команд за такт; ● с интегрированным графическим ядром и интегрированным контроллером памяти DDR3; ● с новой кольцевой шиной, ● поддержкой 3- и 4-операндных (128/256-битных) векторных команд расширенного набора AVX (Advanced Vector Extensions); производство которого налажено на линиях с соблюдением норм 32-нм технологического процесса Intel.

Так, одним предло-жением можно оха-рактеризовать новое поколение процес-соров Intel Core 2 для мобильных и настольных систем, с поставкой c 2011 г.

МП Intel Core II на базе МА Sandy Bridge поставляются в новом 1155 контактном конструктиве LGA1155 под новые системные платы на чипсетах Intel 6 Series с наборами системной логики (Intel B65 Express, H61 Express, H67 Express, P67 Express, Q65 Express, Q67 Express и 68 Express, Z77).


Примерно такая же микроархитектура актуальна и для серверных решений Intel Sandy Bridge-E с отличиями в виде большего количества процессорных ядер (до 8), процессорного разъёма LGA2011 , большего объёма кеша L3, увеличенного количества контроллеров памяти DDR3 и поддержкой PCI-Express 3.0.

Предыдущее поколение, микроархитектура Westmere представляла собой конструкцию из двух кристаллов : ● 32-нм процессорного ядра и ● дополнительного 45-нм «сопроцессора» с графическим ядром и контроллером памяти на борту, размещённых на единой подложке и производящих обмен данными посредством шины QPI, т.е. интегрированную гибридную микросхему (в центре).

При создании МА Sandy Bridge разработ-чики разместили все элементы на едином 32-нм кристалле, отказа-вшись при этом от классического вида шины в пользу новой кольцевой шины.

Суть архитектуры Sandy Bridge осталась прежней - ставка на увеличении суммарной производительности процессора за счёт улучшения «индивидуа-льной» эффективности каждого ядра.



Структуру чипа Sandy Bridge можно условно разделить на следующие основные элементы : ■ процессорные ядра, ■ графическое ядро, ■кеш-память L3 и ■ «системный агент» (System Agent). Опишем назначение и особенности реализации каждого из элементов этой структуры.

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

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

Шина служит для обмена данными между компонентами чипа :


● 4-мя МП ядрами x86,

● графическим ядром,

● кешем L3 и

● системным агентом.


Шина состоит из 4-х 32-байтных колец :

■ шины данных (Data Ring), ■ шины запросов (Request Ring),

■ шины мониторинга состояния (Snoop Ring) и ■ шины подтверждения (Acknowledge Ring).


Управление шинами осуществляется с помощью коммуника-ционного протокола распределённого арбитража , при этом конвейерная обработка запросов происходит на тактовой частоте процессорных ядер, что придаёт МА дополнительную гибкость при разгоне. Производительность шины оценивается в 96 Гбайт/с на соединение при тактовой частоте 3 ГГц , что в 4 раза превышает показатели процессоров Intel предыдущего поколения.

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

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

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

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

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

К мобильным новинкам относятся:

    процессоры Intel Core i7-2920XM, Core i7-2820QM, Core i7-2720QM, Core i7-2630QM, Core i7-2620M, Core i7-2649M, Core i7-2629M, Core i7-2657M, Core i7-2617M, Core i5-2540M, Core i5-2520M, Core i5-2410M, Core i5-2537M, Core i3-2310M;

    чипсеты Intel QS67, QM67, HM67, HM65, UM67 Express;

    беспроводные сетевые контроллеры Intel Centrino Advanced-N + WiMAX 6150, Centrino Advanced-N 6230, Centrino Advanced-N 6205, Centrino Wireless-N 1030.

В настольном же сегменте появятся:

    процессоры Intel Core i7-2600K, Core i7-2600S, Core i7-2600, Core i5-2500K, Core i5-2500S, Core i5-2500T, Core i5-2500, Core i5-2400, Core i5-2400S, Core i5-2390T, Core i5-2300;

    чипсеты Intel P67, H67, Q67, Q65, B65 Express.

Но сразу же стоит отметить, что анонс новой платформы не является одночастным для всех моделей процессоров и чипсетов – с начала января доступны только решения класса «майнстрим», а большинство более массовых и не таких дорогих появятся в продаже немного позднее. Вместе с выпуском настольных процессоров Sandy Bridge представлен и новый процессорный разъем для них LGA 1155 . Таким образом, новинки не дополняют модельный ряд Intel Core i3/i5/i7, а являются заменой для процессоров под LGA 1156, большинство из которых теперь становятся совсем неперспективным приобретением, ибо в ближайшее время их выпуск вообще должен прекратиться. И только для энтузиастов до конца года Intel обещает продолжать выпуск старших четырехъядерных моделей на ядре Lynnfield.

Однако, судя по «роадмапу» платформа долгожитель Socket T (LGA 775) все еще будет оставаться актуальной как минимум до середины года, являясь основой для систем начального уровня. Для наиболее же производительных игровых систем и настоящих энтузиастов до конца года будут актуальны процессоры на ядре Bloomfield по разъем LGA 1366. Как видим, жизненный цикл двухъядерных процессоров с «интегрированным» графическим адаптером на ядре Clarkdale оказался очень коротки, всего один год, но именно они «протоптали» дорожку для представленных «сегодня» Sandy Bridge, приучив потребителя к мысли, что в процессоре может быть интегрирован не только контроллер памяти, а и видеокарта. Теперь же пришло время не просто выпустить более быстрые версии подобных процессоров, серьезно обновить архитектуру, чтобы обеспечить заметное увеличение их эффективности.

Ключевыми особенностями процессоров архитектуры Sandy Bridge являются:

    выпуск с соблюдением 32 нм техпроцесса;

    заметно увеличившаяся энергоэффективность;

    оптимизированная технология Intel Turbo Boost и поддержка Intel Hyper-Threading;

    значительное увеличение производительности встроенного графического ядра;

    реализация нового набора инструкций Intel Advanced Vector Extension (AVX) для ускорения обработки вещественных чисел.

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

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

Объединяет же Ring Interconnect через кэш-память L3, теперь называемую LLC (Last Level Cache), процессорные ядра, графическое ядро и системный агент (System Agent), включающий в себя контроллер памяти, контроллер шины PCI Express, контроллер DMI, модуль управления питанием и другие контроллеры и модули, ранее имеющие объединенные названием «uncore».

Кольцевая шина Ring Interconnect является следующим этапом развития шины QPI (QuickPath Interconnect), которая после «обкатки» в серверных процессорах с обновленной 8-ядерной архитектурой Nehalem-EX, перекочевала и в ядро процессоров для настольных и мобильных систем. Посредством Ring Interconnect образуются четыре 32-разрядных кольца для шин Данных (Data Ring), Запросов (Request Ring), Мониторинга состояния (Snoop Ring) и Подтверждения (Acknowledge Ring). Функционирует кольцевая шина на частоте ядер, поэтому её пропускная способность, задержки и энергопотребление полностью зависят от частоты работы вычислительных блоков процессора.

Кэш-память третьего уровня (LLC - Last Level Cache) является общей для всех вычислительных ядер, графического ядра, системного агента и других блоков. При этом графический драйвер определяет какие потоки данных разместить в кэш-памяти, но и любой другой блок может получить доступ ко всем данным в LLC. Специальный механизм контролирует распределение кэш-памяти, чтобы не возникло коллизий. В целях ускорения работы для каждого из процессорных ядер выделен «свой» сегмент кэш-памяти, к которому оно имеет прямой доступ. Каждый такой сегмент включает независимый контроллер доступа к шине Ring Interconnect, но при этом ведется постоянное взаимодействие с системным агентом, который производит общее управление кэш-памятью.

Системный агент (System Agent), по сути, является встроенным в процессор «северным мостом» и объединяет контроллеры шин PCI Express, DMI, оперативной памяти, блок обработки видео (медиапроцессор и управление интерфейсами), диспетчер питания и другие вспомогательные блоки. С остальными узлами процессора системный агент взаимодействует через кольцевую шину. Кроме упорядочения потоков данных, системный агент следит за температурой и загрузкой различных блоков, и через Power Control Unit обеспечивает управление напряжением питания и частотами, дабы обеспечить наилучшую энергоэффективность при высокой производительности. Здесь же можно отметить, что для питания новых процессоров нужно трехкомпонентный стабилизатор питания (или двух, если встроенное видеоядро останется неактивным) – отдельно для вычислительных ядер, системного агента и интегрированной видеокарты.

Встроенная в процессор шина PCI Express соответствует спецификации 2.0 и насчитывает 16 линий для возможности увеличения мощности графической подсистемы при помощи мощного внешнего 3D-ускорителя. В случае использования старших наборов системной логики и согласования лицензионных вопросов эти 16 линий могут быть разделены на 2 или три слота в режимах 8x+8x или 8x+4x+4x соответственно для NVIDIA SLI и/или AMD CrossFireX.

Для обмена данными с системой (накопителями, портами ввода-вывода, периферией, контроллеры которых находятся в чипсете) используется шина DMI 2.0, позволяющая прокачать до 2 ГБ/с полезной информации в обоих направлениях.

Важной частью системного агента является встроенный в процессор двухканальный контроллер памяти DDR3, номинально поддерживающий модули на частоте 1066-1333 МГц, но при использовании в материнских платах на чипсете Intel P67 Express без проблем обеспечивающий функционирование модулей на частоте до 1600 и даже 2133 МГц. Размещение контроллера памяти в одном кристалле с процессорными ядрами (ядро Clarkdale состояло из двух кристаллов) должно уменьшить латентность памяти и, соответственно, увеличить производительность системы.

Отчасти благодаря расширенному мониторингу параметров всех вычислительных ядер, кэш-памяти и вспомогательных блоков, который реализован в Power Control Unit, в процессорах Sandy Bridge появилась усовершенствованная технология Intel Turbo Boost 2.0. Теперь, в зависимости от нагрузки и выполняемых задач, ядра процессора при высокой необходимости могут ускоряться даже с превышением теплового пакета, как при обычном ручном разгоне. Но системный агент будет следить за температурой процессора и его компонентов, и когда будет зафиксирован «перегрев» частоты узлов будут постепенно уменьшаться. Однако в настольных процессорах лимитировано время работы в сверхускоренном режиме, т.к. здесь значительно легче организовать в разы более эффективное охлаждение, чем «боксовый» кулер. Такой «овербуст» позволит получить прибавку производительности в критичные для системы моменты, что должно создать у пользователя впечатление работы с более мощной системой, а также уменьшить время ожидания реакции системы. Также Intel Turbo Boost 2.0 гарантирует, что и в настольных компьютерах встроенное видеоядро имеет динамическую производительность.

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

    возврат к выделению кэш-памяти для примерно 1,5 тысяч декодированных микроопераций L0 (использовался в Pentium 4), являющейся обособленной частью L1, что позволяет одновременно обеспечить более равномерную загрузку конвейеров и снизить энергопотребление вследствие увеличения пауз в работе достаточно сложных схем декодеров операций;

    повышение эффективности блока предсказания ветвлений вследствие увеличение емкости буферов адресов результатов ветвления, истории команд, истории ветвлений, что увеличило эффективность конвейеров;

    увеличение емкости буфера переупорядоченных команд (ROB - ReOrder Buffer) и повышение эффективности этой части процессора благодаря внедрению физического регистрового файла (PRF – Physical Register File, тоже характерной особенности Pentium 4) для хранения данных, а также расширение других буферов;

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

    увеличение эффективности исполнения инструкций шифрования для алгоритмов AES, RSA и SHA;

    введение новых векторных инструкций Advanced Vector Extension (AVX);

  • оптимизацию работы кэш-памяти первого L1 и второго L2 уровней.

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

Однако самой архитектуре графического ядра не так много изменений, как того хотелось бы. Вместо ожидаемой поддержки DirectX 11 была просто добавлена поддержка DirectX 10.1. Соответственно и не многие приложения с поддержкой OpenGL ограничены аппаратной совместимостью только с 3-й версией спецификации этого свободного API. При этом, хотя и говорится об усовершенствовании вычислительных блоков, но их осталось столько же – 12, и то только для старших процессоров. Однако увеличение тактовой частоты до 1350 МГц обещает заметный прирост производительности в любом случае.

С другой стороны, создать встроенное видеоядро с действительно высокой производительностью и функциональностью для современных игр при невысоком его энергопотреблении очень тяжело. Поэтому отсутствие поддержки новых API повлияет лишь на совместимость с новыми играми, а производительность при действительно большом желании комфортно играть нужно будет наращивать с помощью дискретного 3D-ускорителя. А вот расширение функциональности при работе с мультимедийными данными, в первую очередь при кодировании и декодировании видео в рамках Intel Clear Video Technology HD, можно причислить к достоинствам Intel HD Graphics II (Intel HD Graphics 2000/3000).

Обновленный медиапроцессор позволяет разгрузить процессорные ядра при кодировании видео в форматах MPEG2 и H.264, а также расширяет набор пост-процессинговых функций аппаратной реализацией алгоритмов для автоматической подстройки контрастности изображения (ACE – Adaptive Contrast Enhancement), корректировки цветов (TCC – Total Color Control) и улучшения отображения кожи (STE – Skin Tone Enhancement). Повышает перспективность использования встроенной видеокарты реализованная поддержка интерфейса HDMI версии 1.4, совместимой с Blu-ray 3D (Intel InTru 3D).

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

В итоге платформа Intel LGA 1155 становится более производительной и функциональной, приходя на смену LGA 1156.

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

В ближайшее время постепенно покупателям станут доступны 8 процессоров для настольных систем разного уровня: Intel Core i7-2600K, Intel Core i7-2600, Intel Core i5-2500K, Intel Core i5-2500, Intel Core i5-2400, Intel Core i5-2300, Intel Core i3-2120 и Intel Core i3-2100. Модели с индексом K отличаются свободным множителем и более быстрым встроенным видеоадаптером Intel HD Graphics 3000.

Также для критичных к энергопотреблению систем выпущены энергоэффективные (индекс S) и высокоэнергоэффективные (индекс T) модели.

Для поддержки новых процессоров уже сегодня доступны материнские платы на чипсетах Intel P67 Express и Intel H67 Express, в а недалеком будущем ожидаются на Intel Q67 Express и Intel B65 Express, ориентированные на корпоративных пользователей и малый бизнес. Все эти чипсеты наконец-то начали поддерживать накопители с интерфейсом SATA 3.0, хотя и не всеми портами. А вот поддержки, казалось бы даже более востребованной шины USB 3.0 в них нет. Интересными особенностями новых чипсетов для обычных материнских плат стало то, что в них отказались от поддержки шины PCI. Кроме того, теперь тактовый генератор встроен в чипсет и управлять его характеристиками без последствий для стабильности работы системы можно лишь в очень небольшом диапазоне, если повезет то всего ±10 МГц, а на практике и того меньше.

Также нужно отметить, что разные чипсеты оптимизированы под использование с разными процессорами в системах, предназначенных для различных целей. То есть Intel P67 Express от Intel H67 Express отличается не только отсутствием поддержки работы со встроенным видео, но и расширенными возможностями для «оверклокинга» и тюнинга производительности. В свою очередь Intel H67 Express вообще не замечает свободный множитель у моделей с индексом K.

А ведь вследствие архитектурных особенностей, разгон процессоров Sandy Bridge пока возможен только с помощью множителя, если это модель K-серии. Хотя к некоторой оптимизации и «овербусту» склонны все модели.

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

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

Для высокопроизводительных и массовых производительных систем в ближайшее время можно будет купить процессоры серий Intel Core i7 и Intel Core i5, которые между собой отличаются поддержкой технологии Intel Hyper-Threading (для четырехъядерных моделей Intel Core i5 она отключена) и объемом кэш-памяти третьего уровня. Для более экономных покупателей представлены новые модели Intel Core i3, которые имеют в 2 раза меньше вычислительных ядер, хоть и с поддержкой Intel Hyper-Threading, всего 3 МБ кэш-памяти LLC, не поддерживают Intel Turbo Boost 2.0 и все укомплектованы Intel HD Graphics 2000.

В середине года для массовых систем будут представлены процессоры Intel Pentium (от этого бренда очень тяжело отказаться, хотя еще год назад это пророчили) на основе очень упрощенной архитектуры Sandy Bridge. Фактически эти процессоры для «рабочих лошадок» будут напоминать по возможностям еще вчера актуальные Core i3-3xx на ядре Clarkdale, т.к. практически всех функций, присущих старшим моделям для LGA 1155, они лишатся.

Остается отметить, что выпуск процессоров Sandy Bridge и целой настольной платформы LGA 1155 стал очередным «Так» в рамках концепции Intel «Тик-Так», т.е. серьезным обновлением архитектуры для выпуска по уже отлаженному 32 нм техпроцессу. Примерно через год нас будут ждать процессоры Ivy Bridge с оптимизированной архитектурой и выполненные по 22 нм техпроцессу, которые, наверняка, снова будут иметь «революционную энергоэффективность», но, надеемся, не упразднят процессорный разъем LGA 1155. Что ж, подождем – увидим. А пока у нас есть минимум год на изучение архитектуры Sandy Bridge и её всестороннее тестирование, к чему и собираемся приступить уже в ближайшие дни .

Статья прочитана 14947 раз(а)

Подписаться на наши каналы

В рамках прошедшего 13-15 сентября форума IDF 2010 компания Intel впервые огласила подробности новой процессорной микроархитектуры, известной под кодовым наименованием Sandy Bridge. Собственно, процессор Sandy Bridge демонстрировался еще на прошлогоднем форуме IDF 2009, но подробности новой микроархитектуры тогда не сообщались (разве что самые общие сведения). Сразу оговоримся, что далеко не все ее подробности стали достоянием гласности и сейчас. Кое-что компания хочет оставить в секрете до официального анонса, который должен состояться в самом начале следующего года. В частности, не разглашаются подробности относительно производительности новых процессоров, модельного ряда, а также некоторых особенностей архитектуры.
Итак, давайте поближе познакомимся с новой микроархитектурой Sandy Bridge, а также с особенностями процессоров на ее базе, которые в дальнейшем мы будем называть процессорами Sandy Bridge.

Кратко о процессорах Sandy Bridge

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

Рис. 1. Эволюция семейств процессоров Intel и процессорных микроархитектур

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

Рис. 2. Новые логотипы процессоров Sandy Bridge

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

По неофициальным данным, процессоры Sandy Bridge будут маркироваться четырехзначным числом, причем первая цифра - 2 - означает второе поколение семейства Intel Core. То есть будет, к примеру (опять-таки, по неофициальным данным), процессор Intel Core i7-2600 или Intel Core i5-2500. В семействах Intel Core i7 и Intel Core i5 будут процессоры как с заблокированным коэффициентом умножения, так и с разблокированным, причем последние будут обозначаться буквой K (Intel Core i7-2600K, Intel Core i5-2500K).

Основные различия между семействами Intel Core i7, Intel Core i5 и Intel Core i3 будут заключаться в размере кэша L3, количестве ядер и поддержке технологий Hyper-Threading и Turbo Boost.

Процессоры семейства Intel Core i7 будут четырехъядерными с поддержкой технологий Hyper-Threading и Turbo Boost, а размер кэша L3 составит 8 Мбайт.

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

Процессоры семейства Intel Core i3 будут двухъядерными с поддержкой технологии Hyper-Threading, но без поддержки технологии Turbo Boost. Размер кэша L3 в этих процессорах составит 3 Мбайт.

После оглашения неофициальных сведений перейдем к достоверным данным.

Все новые процессоры Sandy Bridge получат новый процессорный разъем LGA 1155 и, естественно, будут несовместимы с материнскими платами на базе чипсетов Intel 5-й серии. Собственно, для процессоров Sandy Bridge будут предназначены системные платы на базе нового чипсета Intel 6-й серии. Новшеством этих однокристальных чипсетов станет поддержка двух портов SATA 6 Гбит/с (SATA III), а также полноскоростных линий PCI Express 2.0 (с частотой 5 ГГц). А вот интегрированного в чипсет контроллера USB 3.0 пока не будет.

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

Отличительной особенностью всех процессоров Sandy Bridge станет наличие в них интегрированного графического ядра нового поколения. Причем если в процессорах предыдущего поколения (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 не будет охватывать сегмент топовых настольных процессоров. Топовым настольным процессором станет новая модель шестиядерного процессора Gulftown (Intel Core i7-990X), а модельный ряд процессоров Sandy Bridge будет ориентирован на производительные, массовые и бюджетные ПК.

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

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

Рис. 3. Модульная структура процессора Sandy Bridge

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

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

Intel AVX предполагает комплексное расширение архитектуры набора команд для микроархитектуры Intel 64 и обладает следующими особенностями:

  • поддержка векторных данных с большей разрядностью (до 256 бит);
  • эффективная схема кодирования инструкций, поддерживающая синтаксис команд с тремя и четырьмя операндами;
  • гибкая среда программирования, предусмат­ривающая различные возможности - от инструкций обработки переходов до сниженных требований к выравниванию смещений в памяти;
  • новые примитивы для манипулирования данными и ускорения арифметических вычислений, включая трансляцию (broadcast), перестановку (permute), одновременное умножение и сложение (fused-multiply-add, FMA) и др.

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

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

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

Ядро процессора на базе микроархитектуры Sandy Bridge

Прежде чем перейти к рассмотрению различий микроархитектур Sandy Bridge и Nehalem, напомним, что схема любого процессора подразумевает наличие нескольких конструктивных элементов: L1-кэша данных и команд, предпроцессора (Front End) и постпроцессора, называемого также блоком исполнения команд (Execution Engine).

Процесс обработки данных включает следующие этапы. Сначала инструкции и данные забираются из кэша L1 (этот этап называется выборкой). После этого выбранные из кэша инструкции декодируются в понятные для процессора машинные примитивы (микрооперации). Данная процедура называется декодированием. Далее декодированные команды поступают на исполнительные блоки процессора и выполняются, а результат записывается в память.

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

Теперь более подробно рассмотрим ядро процессора Sandy Bridge и сравним его с ядром Nehalem. При работе ядра процессора на базе микроархитектуры Nehalem или Sandy Bridge инструкции x86 выбираются из кэша инструкций L1 (Instruction Сache) размером 32 Кбайт (кэш 8-канальный). Команды загружают из кэша блоками фиксированной длины, из которых выделяются инструкции, направляемые на декодирование. Поскольку инструкции x86 имеют переменную длину, а блоки, которыми команды загружаются из кэша, - фиксированную, при декодировании команд нужно определить границы между отдельными командами.

Информация о размерах команд хранится в кэше инструкций L1 в специальных полях (по 3 бита информации на каждый байт инструкций). В принципе, эту информацию для определения границ команд можно было бы использовать в самом декодере непосредственно в процессе декодирования команд. Однако это неизбежно отразилось бы на скорости декодирования, да и нельзя было бы декодировать одновременно несколько команд. Поэтому перед декодированием производится выделение команд из выбранного блока. Данная процедура называется предварительным декодированием (PreDecode). Процедура предварительного декодирования позволяет поддерживать постоянный темп декодирования независимо от длины и структуры команд.

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

После операции выборки команды организуются в очередь (Instruction Queue), а затем передаются в декодер. При декодировании (Decode) команды преобразуются в машинные микрооперации фиксированной длины (обозначаются как micro-ops или uOps).

Декодер ядра процессора с микроархитектурой Sandy Bridge не претерпел изменений. Точно так же, как в микроархитектуре Nehalem, он является четырехканальным и может декодировать в каждом такте до четырех инструкций x86. Как уже отмечалось, в микроархитектурах Nehalem и Sandy Bridge за каждый такт из кэша загружается 16-байтный блок команд, из которого в процессе предварительного декодирования выделяются отдельные команды. В принципе, длина одной команды может достигать 16 байт. Однако средняя длина команд составляет 4 байта. Поэтому в среднем в каждом блоке загружаются четыре команды, которые при использовании четырехканального декодера одновременно декодируются за один такт.

Четырехканальный декодер состоит из трех простых декодеров, которые декодируют прос-тые инструкции в одну микрооперацию, и одного сложного, способного декодировать одну инструкцию в четыре микрооперации (декодер типа 4-1-1-1). Для еще более сложных инструкций, которые декодируются в более чем четыре микрооперации, сложный декодер соединен с блоком uCode Sequenser, применяемым для декодирования подобных инструкций.

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

При декодировании инструкций в микроархитектурах Nehalem и Sandy Bridge применяются две интересные технологии - Macro-Fusion и Micro-Fusion.

Macro-Fusion - это слияние двух x86-инструкций в одну сложную микрооперацию micro-op. В предыдущих версиях процессорной микроархитектуры каждая инструкция в формате x86 декодировалась независимо от остальных. При использовании технологии Macro-Fusion некоторые пары инструкций (например, инструкция сравнения и условного перехода) при декодировании могут быть слиты в одну микрооперацию, которая в дальнейшем будет выполняться именно как одна микрооперация. Отметим, что для эффективного поддержания технологии Macro-Fusion в микроархитектурах Nehalem и Sandy Bridge применяются расширенные блоки ALU (Arithmetical Logic Unit), которые способны поддержать выполнение слитых микроопераций. Отметим также, что в случае применения технологии Macro-Fusion за каждый такт процессора может декодироваться только четыре инструкции (в четырехканальном декодере), а при использовании технологии Macro-Fusion в каждом такте может считываться пять инструкций, которые преобразуются в четыре за счет слияния и подвергаются декодированию.

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

Micro-Fusion - это слияние двух микроопераций (не x86-инструкций, а именно микроопераций) в одну, содержащую два элементарных действия. В дальнейшем две такие слитые мик­рооперации обрабатываются как одна, что позволяет уменьшить количество обрабатываемых микроопераций и тем самым увеличить общее количество инструкций, исполняемых процессором за один такт. Понятно, что операция слияния двух микроопераций возможна далеко не для всех пар микроопераций. В микроархитектуре Sandy Bridge используется точно такая же операция Micro-Fusion (для того же набора микрооперация), как и в микроархитектуре Nehalem.

Говоря о процедуре выборки программных инструкций в микроархитектуре Nehalem, необходимо отметить наличие блока обнаружения программных циклов (Loop Stream Detector), который принимает участие в процессе выборки инструкций и позволяет избежать повторов в выполнении одних и тех же операций. Loop Stream Detector (LSD) используется и в микроархитектуре Intel Core, однако он отличается от LSD в Nehalem. Так, в архитектуре Intel Core применяется буфер LSD на 18 инструкций, причем располагается он до декодера. То есть в архитектуре Intel Core могут отслеживаться и распознаваться только циклы, содержащие не более 18 инс­трукций. При обнаружении программного цикла инструкции в цикле пропускают фазы выборки (Fetch) и предсказания ветвлений в программе (Branch Prediction), а сами команды генерируются и поступают в декодер из буфера LSD. С одной стороны, это позволяет снизить энергопотребление ядра процессора, а с другой - обойти фазу выборки команд. Если в цикле насчитывается более 18 инструкций, то каждый раз инструкции будут проходить все стандартные шаги.

В микроархитектуре Nehalem блок обнаружения циклов расположен не перед, а за декодером и рассчитан на 28 уже декодированных инструкций. Поскольку LSD хранит уже декодированные инструкции, они будут «пропускать» не только фазу предсказания ветвлений и выборки, как раньше, но и фазу декодирования (фактически на время выполнения программного цикла отключается предпроцессор процессора). Таким образом, в Nehalem инструкции в цикле проходят через конвейер быстрее и чаще, а энергопотребление ниже, чем в архитектуре Intel Core (рис. 4).

Рис. 4. LSD-буфер в микроархитектурах Intel Core и Nehalem

В микроархитектуре Sandy Bridge разработчики пошли еще дальше: вместе с LSD-буфером на 28 микрооперайий применили кэш декодированных микроопераций (Decoded Uop Cache) - рис. 5. В кэш поступают все декодированные микрооперации. Кэш декодированных микроопераций рассчитан приблизительно на 1500 микроопераций (видимо, речь идет о микрооперациях средней длины), что эквивалентно примерно 6-килобайтному кэшу x86-инструкций.

Рис. 5. Кэш декодированных микроопераций в микроархитектуре Sandy Bridge

Концепция кэша декодированных микро­операций заключается в том, чтобы сохранять в нем последовательности микроопераций. Кэш микроопераций работает не на уровне одной инструкции, а на уровне 32-байтного блока микроопераций. Весь кэш разделен на 32 набора, по 8 линий в каждом. На каждую линию приходится до 6 микроопераций. До 3 линий (18 микроопераций) могут быть привязаны к 32-байтному блоку. Тегирование происходит по указателю инструкции (IP). Сверка указателя предсказанной инструкции идет параллельно как в кэше инструкций, так и кэше микроопераций, и если происходит попадание, из кэша микроопераций вылавливаются линии, составляющие 32-байтный блок, и помещаются в очередь. В этом случае нет необходимости снова проводить выборку и декодирование.

Эффективность использования кэша декодированных микроопераций во многом зависит от эффективности блока предсказания ветвлений (Branch Prediction Unit, BPU). Напомним, что блок предсказания ветвлений применяется во всех современных процессорах, причем в процессорах Sandy Bridge он существенно улучшен в сравнении с BPU в микроархитектуре Nehalem (рис. 6).

Рис. 6. Блок предсказания ветвлений (Branch Prediction Un) в микроархитектуре Sandy Bridge

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

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

По мере того как накапливается статистика результатов различных условных переходов (предыстория условных переходов), задействуется алгоритм динамического предсказания ветвлений, который как раз и основан на анализе статистики результатов условных переходов, совершенных ранее. В алгоритмах динамического предсказания ветвлений используются таблица хранения истории предсказания ветвлений (Branch History Table, BHT) и таблица хранения адресов инструкций (Branch Target Buffer, BTB). В эти таблицы записывается информация о результатах уже выполненных ветвлений. В BHT содержатся все условные переходы за несколько последних циклов. Кроме того, здесь хранятся биты, показывающие вероятность повторного выбора той же самой ветви. Биты расставляются на основании статистики предыдущих переходов. В стандартной бимодальной (2-битной) схеме существует четыре вероятности: ветвь часто выполняется (strongly taken), ветвь выполняется (taken), ветвь не выполняется (not taken) и ветвь часто не выполняется (strongly not taken).

Для того чтобы вынести решение о спекулятивном выполнении ветви, устройство должно знать точное местоположение кода в кэше L1 по направлению ветвления - назовем его целью ветвления. Цели уже выполненных ветв-лений хранятся в BTB. Когда выполняется ветвление, BPU просто берет цель ветвления из таблицы и указывает препроцессору начать выборку инструкций по этому адресу.

Понятно, что достоверность предсказания перехода зависит от размера BHT- и BTB-таблиц. Чем больше записей в этих таблицах, тем выше достоверность предсказания.

Следует отметить, что вероятность правильного предсказания ветвлений в современных процессорах очень высока (порядка 97-99%) и борьба фактически идет уже за доли процента.

Улучшений BPU в микроархитектуре Sandy Bridge несколько. Во­первых, вместо того чтобы для каждой ветви перехода использовать свою вероятность в таблице BHT, одна и та же вероятность применяется одновременно для нескольких ветвей. В результате удается оптимизировать BHT-таблицу, что сказывается на повышении достоверности предсказания переходов.

Второе улучшение BPU в микроархитектуре Sandy Bridge заключается в оптимизации BTB-таблицы. Если раньше в ВТВ для задания всех адресов переходов (branch targets) использовалось фиксированное число бит, что приводило к неоправданной трате места, то теперь количество бит, применяемых для задания адреса перехода, зависит от самого адреса. Фактически это позволяет сохранять в таблице больше адресов и тем самым повышать достоверность предсказания.

Более точных данных о размерах таблиц BHT и BTB пока нет.

Итак, об изменениях в предпроцессоре микроархитектуры Sandy Bridge (кэш декодированных микроопераций и обновленный блок предсказания ветвлений) мы рассказали. Пойдем дальше.

После процесса декодирования x86-инструкций начинается этап их исполнения. Первоначально происходит переименование и распределение дополнительных регистров процессора (блок Allocate/Rename/ Retirement), которые не определены архитектурой набора команд.

Переименование регистров позволяет добиться внеочередного исполнения команд. Идея переименования регистров заключается в следующем. В архитектуре x86 количество регистров общего назначения сравнительно невелико: доступно восемь регистров в 32-битном режиме и 16 регистров в 64-битном. Представим, что исполняемая команда дожидается загрузки значений операндов в регистр из памяти. Это долгая операция, и хорошо бы на это время позволить использовать этот регистр для другой команды, операнды которой находятся ближе (например, в кэше первого уровня). Для этого временно переименовывается «ждущий» регистр и отслеживается история переименования. А «готовому к работе» регистру присваивается стандартное имя, чтобы снабженную операндами команду исполнить прямо сейчас. При поступлении данных из памяти обращаются к истории переименования и возвращают изначальному регистру его законное имя. Иными словами, техника переименования регистров позволяет сократить простои, а ведение истории переименования применяется для нивелирования конфликтов.

На следующем этапе (буфер переупорядочения - ReOrder Buffer, ROB) происходит переупорядочение микроопераций не в порядке их поступления (Out-of-Order), чтобы впоследствии можно было реализовать их более эффективное выполнение на исполнительных блоках. Отметим, что буфер переупорядочения ReOrder Buffer и блок отставки (Retirement Unit) совмещены в едином блоке процессора, но первоначально производится переупорядочение инструкций, а блок Retirement Unit включается в работу позже, когда надо выдать исполненные инструкции в заданном программой порядке.

В микроархитектуре Nehalem в свое время был увеличен размер буфера переупорядочения в сравнении с размером буфера переупорядочения в микроархитектуре Intel Core. Так, если в Intel Core он был рассчитан на 98 микроопераций, то в Nehalem можно размещать уже 128 микроопераций.

Далее происходит распределение микро­операций по исполнительным блокам. В блоке процессора Reservation Station формирует очереди микроопераций, в результате чего микрооперации попадают на один из портов функциональных устройств (dispatch ports). Этот процесс называется диспетчеризацией (Dispatch), а сами порты выполняют функцию шлюза к функциональным устройствам.

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

В микроархитектуре Sandy Bridge кластер Allocate/Rename/Retirement (Out-of-Order Cluster) был существенно изменен. В микроархитектурах Intel Core и Nehalem каждая микро­операция имеет копию операнда или операндов, которые ей требуются. Фактически это означает, что блоки кластера внеочередного выполнения команд должны быть достаточно большого размера, поскольку должны вмещать микрооперации вместе с необходимыми для них операндами. В архитектуре Nehalem операнды могли иметь размер 128 бит, но с введением расширения AVX размер операнда может составлять 256 бит, что требует увеличить в два раза размеры всех блоков кластера внеочередного выполнения команд.

Однако вместо этого в микроархитектуре Sandy Bridge используется физический регистровый файл (Physical Register File, PRF), в котором хранятся операнды микроопераций (рис. 7). Это дает возможность самим микрооперациям сохранять лишь указатели на операнды, но не сами операнды. С одной стороны, такой подход позволяет снизить энергопотребление процессора, поскольку перемещение по конвейеру микроопераций вместе с их операндами требует существенных затрат энергопотребления. С другой стороны, применение физического регистрового файла помогает сэкономить место на кристалле, а высвободившееся пространство использовать для увеличения размеров буферов кластера внеочередного выполнения команд (Load Buffers, Store Buffers, Reorder Buffers) - см. таблицу . В микроархитектуре Sandy Bridge физический регистровый файл для целочисленных операндов (PRF Integer) рассчитан на 160 записей, а для операндов с плавающей запятой (PRF Float Point) - на 144 записи.

Рис. 7. Использование физических регистровых файлов в микроархитектуре Sandy Bridge

В архитектуре Sandy Bridge подверглись существенной переработке и исполнительные блоки ядра процессора. Собственно, портов функциональных устройств, как и прежде, шесть (три вычислительных и три для работы с памятью), однако их назначение, как и назначение самих исполнительных блоков, изменилось (рис. 8). Напомним, что процессор на базе микроархитектуры Nehalem способен выполнять до шести операций за один такт. При этом возможно осуществление одновременно трех вычислительных операций и трех операций с памятью.

Рис. 8. Исполнительные блоки в микроархитектуре Sandy Bridge

В архитектуре Sandy Bridge три исполнительных устройства позволяют проводить уже восемь операций с данными FP (Float Point) или две операции с 256-битными AVX-данными за такт.

В микроархитектуре Sandy Bridge изменились не только три исполнительных устройства, но и функциональные блоки для операций с памятью. Напомним, что в микроархитектуре Nehalem было три порта для работы с памятью: Load (загрузка данных), Store address (хранение адреса), Store data (хранение данных) - рис. 9.

Рис. 9. Исполнительные блоки для работы с памятью в микроархитектуре Nehalem

В микроархитектуре Sandy Bridge также используются три порта для работы с памятью, однако два порта стали универсальными и могут не только реализовывать загрузку данных (Load), но и сохранять адрес (Store address). Третий порт не изменился и предназначен для хранения данных (Store data) - рис. 10.

Рис. 10. Исполнительные блоки для работы с памятью в микроархитектуре Sandy Bridge

Соответственно увеличилась пропускная способность взаимодействия с кэшем данных L1. Если в микроархитектуре Nehalem за каждый такт между кэшем данных L1 и исполнительными блоками для работы с памятью могло передаваться 32 байт данных, то в микроархитектуре Sandy Bridge - уже 48 байт (два запроса на чтение по 16 байт (128 бит) и один запрос на запись до 16 байт данных).

В заключение описания ядра процессора на базе микроархитектуры Sandy Bridge сведем всё воедино. На рис. 11 показана структурная схема ядра процессора на базе микроархитектуры Sandy Bridge. Желтым цветом отмечены измененные или новые блоки в микроархитектуре Sandy Bridge, а синим - блоки, присутствующие как в микроархитектуре Nehalem, так и в Sandy Bridge.

Рис. 11. Отличия микроархитектуры Sandy Bridge от микроархитектуры Nehalem
(общие блоки отмечены синим цветом, измененные или новые блоки
в микроархитектуре Sandy Bridge - желтым)

Кольцевая шина в микроархитектуре Sandy Bridge

В микроархитектуре Nehalem взаимодействие между каждым кэшем L2 и разделяемым между всеми ядрами кэшем L3 осуществлялось по внутренней специальной шине процессора, насчитывающей порядка тысячи контактов, а взаимодействие между отдельными блоками процессора (контроллером памяти, графическим контроллером и т.д.) - по шине QPI. В микроархитектуре Sandy Bridge на смену шине QPI, а также шине взаимодействия L2- и L3-кэшей пришла новая кольцевая шина (Ring Bus) - рис. 12. Она позволяет организовать взаимодействие между кэшами L2 каждого ядра процессора и кэшем L3, а также реализует доступ графического ядра (GPU) и блока видеокодирования (video transcoding engine) к кэшу L3. Кроме того, по этой же кольцевой шине реализуется доступ к контроллеру памяти. Попутно отметим, что теперь компания Intel называет кэш L3 кэшем последнего уровня (Last Level Cache, LLC), а кэш L2 - промежуточным кэшем (Middle Level Cache, MLC).

Рис. 12. Кольцевая шина в микроархитектуре Sandy Bridge

Кольцевая шина объединяет в себе четыре отдельные шины: кольцевую шину данных (Data ring) разрядностью 256 бит (32 байт), кольцевую шину запросов (Request ring), шину подтверждений (Acknowledge ring) и следящую шину (Snoop ring).

Использование кольцевой шины позволило снизить латентность кэша L3. Так, в процессорах предыдущего поколения (Westmere) латентность доступа к кэшу L3 составляет 36 циклов, а в процессорах Sandy Bridge - 26-31 цикл. Кроме того, теперь L3-кэш работает на частоте ядра (в процессорах Westmere частота работы кэша L3 не соответствовала частоте ядра).

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

В заключение отметим, что кэш L3 в микроархитектуре Sandy Bridge остался полностью инклюзивным (включающим) по отношению к кэшам L2 (как и в микроархитектуре Nehalem).

Графическое ядро в микроархитектуре Sandy Bridge

Одно из главных нововведений в микроархитектуре Sandy Bridge - это новое графическое ядро. Как мы уже отмечали, в отличие от графического ядра в процессорах Clarkdale/Arrandale, оно расположено на одном кристалле с вычислительными ядрами процессора и, кроме того, имеет доступ через кольцевую шину к кэшу L3. Причем, как ожидается, производительность нового графического ядра будет примерно вдвое выше производительности графического ядра в процессорах Clarkdale/Arrandale. Конечно, графическое ядро в процессорах Sandy Bridge не может сравниться по производительности с дискретной графикой (кстати, поддержка DirectX 11 для нового ядра даже не заявлена), но справедливости ради отметим, что это ядро и не позиционируется как игровое решение.

Новое графическое ядро может содержать (в зависимости от модели процессора) 6 или 12 исполнительных блоков (Execution Unit, EU), которые, впрочем, нельзя сравнивать с унифицированными шейдерными процессорами в графических процессорах NVIDIA или AMD, где их насчитывается несколько сотен (рис. 13). Данное графическое ядро ориентировано прежде всего не на 3D-игры, а на аппаратное декодирование и кодирование видео (включая HD-видео). То есть в конфигурацию графического ядра входят аппаратные декодеры. Их дополняют средства изменения разрешения (scaling), шумоподавления (denoise filtering), обнаружения и удаления чередования строк (deinterlace/film-mode detection) и фильтры улучшения детализации. Постобработка, позволяющая улучшить изображение при воспроизведении, включает функции STE (улучшение передачи телесных тонов), ACE (адаптивное повышение контраста) и TCC (общее управление цветом).

Рис. 13. Блок-схема графического ядра в микроархитектуре Sandy Bridge

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

Новый режим Intel Turbo Boost

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

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

В процессорах Clarkdale и Arrandale режим Turbo Boost реализован следующим образом. В том случае, если какие­то ядра процессора оказываются незагруженными, они попросту отключаются от линии питания с использованием блока Power Gate (их энергопотребление при этом равно нулю). Соответственно тактовую частоту и напряжение питания оставшихся загруженных ядер можно динамически увеличить на несколько ступеней (по 133 МГц), но так, чтобы энергопотребление процессора не превысило его TDP. То есть фактически сэкономленное за счет отключения нескольких ядер энергопотребление используется для разгона оставшихся ядер, но так, чтобы увеличение энергопотребления в результате разгона не превышало сэкономленного энергопотребления. Более того, режим Turbo Boost реализуется и в том случае, когда изначально загружаются все ядра процессора, но при этом его энергопотребление не превышает значение TDP.

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

Поскольку в процессорах Sandy Bridge (и в настольных, и в мобильных) графическое ядро является, по сути, таким же ядром процессора, как и вычислительные ядра, технология Turbo Boost будет распространяться как на вычислительные ядра, так и на графическое ядро. Кроме того (и в этом заключается основное новшество), в новой версии режима Turbo Boost предусмотрена возможность превышения TDP процессора при разгоне ядер на короткое время.

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

В процессорах Sandy Bridge в режиме Turbo Boost предусмотрена возможность превышения TDP на протяжении вплоть до 25 секунд (рис. 14).

Заключение

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

Кроме того, в процессорах Sandy Bridge реализован новый режим Turbo Boost, позволяющий выжать из процессора максимум производительности.

Возможности графического процессора Sandy Bridge в целом сравнимы с таковыми у предыдущего поколения подобных решений Intel, разве что теперь в дополнение к возможностям DirectX 10 добавлена поддержка DirectX 10.1, вместо ожидаемой поддержки DirectX 11. Соответственно и не многие приложения с поддержкой OpenGL ограничены аппаратной совместимостью только с 3-й версией спецификации этого свободного API.

Тем не менее нововведений в графике Sandy Bridge достаточно много, и нацелены они главным образом на увеличение производительности при работе с 3D-графикой.

Основной упор при разработке нового графического ядра, по словам представителей Intel, был сделан на максимальном использовании аппаратных возможностей для обсчёта 3D-функций, и то же самое – для обработки медиа-данных. Такой подход радикально отличается от полностью программируемой аппаратной модели, принятой на вооружение, например, в NVIDIA, или в самой Intel для разработки Larrabee (за исключением текстурных блоков).

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

Для программируемых исполнительных шейдерных модулей графики Sandy Bridge, по традиции называемых в Intel «исполнительными блоками» (EU, Execution Units), характерны увеличенные размеры регистрового файла, что позволяет достичь эффективного исполнения комплексных шейдеров. Также в новых исполнительных блоках применена оптимизация ветвления для достижения лучшего распараллеливания исполняемых команд.

В целом, по заявлению представителей Intel, новые исполнительные блоки обладают удвоенной по сравнению с предыдущим поколением интегрированной графики пропускной способностью, а производительность вычислений с трансцедентальными числами (тригонометрия, натуральные логарифмы и так далее) за счёт акцента на использовании аппаратных вычислительных возможностей модели вырастет в 4-20 раз.

Внутренний набор команд, усиленный в Sandy Bridge рядом новых, позволяет распределять большинство инструкций API набора DirectX 10 в режиме «один к одному», как в случае с архитектурой CISC, что в результате позволяет добиться значительно более высокой производительности при той же тактовой частоте.

Быстрый доступ посредством быстрой кольцевой шины к распределённому кешу L3 с динамически конфигурируемой сегментацией позволяет снизить латентность, поднять производительность и в то же время снизить частоту обращений графического процессора к оперативной памяти.

Кольцевая шина

Вся история модернизации процессорных микроархитектур Intel последних лет неразрывно связана с последовательной интеграцией в единый кристалл всё большего количества модулей и функций, ранее располагавшихся вне процессора: в чипсете, на материнской плате и т.д. Соответственно, по мере увеличения производительности процессора и степени интеграции чипа, требования к пропускной способности внутренних межкомпонентных шин росли опережающими темпами. До поры до времени, даже после внедрения графического чипа в архитектуру чипов Arrandale/Clarkdale, удавалось обходиться межкомпонентными шинами с привычной перекрёстной топологией - этого было достаточно.

Однако эффективность такой топологии высока лишь при небольшом количестве компонентов, принимающих участие в обмене данными. В микроархитектуре Sandy Bridge для повышения общей производительности системы разработчики решили обратиться к кольцевой топологии 256-битной межкомпонентной шины (рис. 6.1), выполненной на основе новой версии технологии QPI (QuickPath Interconnect), расширенной, доработанной и впервые реализованной в архитектуре серверного чипа Nehalem-EX (Xeon 7500), а также планировавшейся к применению совместно с архитектурой чипов Larrabee.

Кольцевая шина (Ring Interconnect) в версии архитектуры Sandy Bridge для настольных и мобильных систем служит для обмена данными между шестью ключевыми компонентами чипа: четырьмя процессорными ядрами x86, графическим ядром, кэш-памятью L3, теперь е ё называют LLC (Last Level Cache), и системным агентом. Шина состоит из четырёх 32-байтных колец: шины данных (Data Ring), шины запросов (Request Ring), шины мониторинга состояния (Snoop Ring) и шины подтверждения (Acknowledge Ring), на практике это фактически позволяет делить доступ к 64-байтному интерфейсу кеша последнего уровня на два различных пакета. Управление шинами осуществляется с помощью коммуникационного протокола распределённого арбитража, при этом конвейерная обработка запросов происходит на тактовой частоте процессорных ядер, что придаёт архитектуре дополнительную гибкость при разгоне. Производительность кольцевой шины оценивается на уровне 96 Гбайт в секунду на соединение при тактовой частоте 3 ГГц, что фактически в четыре раза превышает показатели процессоров Intel предыдущего поколения.

Рис.6.1. Кольцевая шина (Ring Interconnect)

Кольцевая топология и организация шин обеспечивает минимальную латентность при обработке запросов, максимальную производительность и отличную масштабируемость технологии для версий чипов с различным количеством ядер и других компонентов. По словам представителей компании, в перспективе к кольцевой шине может быть "подключено" до 20 процессорных ядер на кристалл, и подобный редизайн, как вы понимаете, может производиться очень быстро, в виде гибкой и оперативной реакции на текущие потребности рынка. Кроме того, физически кольцевая шина располагается непосредственно над блоками кеш-памяти L3 в верхнем уровне металлизации, что упрощает разводку дизайна и позволяет сделать чип более компактным.