Выбрать главу

В связи с появлением в чипах Sandy Bridge «кэша нулевого уровня» часто вспоминают трассировочный кэш (trace cache) «ветеранов гонки гигагерц» — процессоров Pentium 4 на базе архитектуры NetBurst. Между тем, эти буферы работают по-разному: в трассировочном кэше инструкции записываются точно в таком порядке, в каком они исполнялись, поэтому в нём могут несколько раз повторяться одни и те же инструкции. В L0 хранятся единичные инструкции, что, разумеется, более рационально.

Претерпел заметные изменения блок предсказания ветвлений, получивший буфер предсказания результата ветвлений (branch target buffer) удвоенного объёма. Кроме того, в буфере теперь используется специальный алгоритм сжатия данных, благодаря чему блок способен подготавливать большие объёмы инструкций, тем самым повышая производительность расчётов.

Подсистема памяти в Sandy Brigde была также оптимизирована для работы с 256-битными инструкциями AVX. Напомним, что в Nehalem использовались выделенные порты загрузки, хранения адресов и хранения данных, привязанные к отдельным дисптчерским портам, что означает возможность загрузки 128 бит данных из кэш-памяти L1 за такт. В Sandy Brigde порты загрузки и хранения при необходимости могут изменять назначение и одновременно выступать в роли пары портов загрузки или хранения, что позволяет работать с 256 битами данных за такт.

Для связи компонентов чипа, то есть вычислительных ядер, кэш-памяти L3, графического ядра и системного агента (контроллеров памяти, PCI Express, питания и дисплея), Sandy Bridge используется кольцевая шина (ring interconnect). За основу была взята скоростная шина QPI (Quick Path Interconnect, пропускная способность до 6,4 Гбайт/с на частоте 3,2 ГГц), впервые реализованная в чипах Nehalem Lynnfield (Core i7 9xxx для Socket LGA1366), адресованных энтузиастам.

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

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

При переходе на Sandy Bridge в Intel присвоили всем компонентами центрального процессора, которые не относятся к собственно вычислительным ядрам, общее названием System Agent, то есть «системный агент». Фактически это всё компоненты так называемого «северного моста» набора системной логики, однако это название всё-таки больше подходит отдельной микросхеме. В применении к Nehalem использовалось странное и явно неудачное наименование «Uncore», то есть «неядро», так что «системный агент» звучит намного уместнее.

К основным элементам «системного агента» следует отнести модернизированный двухканальный контроллер оперативной памяти DDR3 до 1333 МГц, контроллер PCI Express 2.0 с поддержкой одной шины x16, двух шин x8 или одной шины x8 и двух x4. В чипе имеется специальный блок управления питанием, на основе которого реализована технология автоматического разгона Turbo Boost нового поколения. Благодаря этой технологии, учитывающей состояние как вычислительных, так и графических ядер, чип при необходимости может существенно превышать свой термопакет на время до 25 секунд без повреждения процессора и ущерба для работоспособности.