logo
Методичка

10.2 Архитектура Intel Core i7

Процессоры архитектуры Penryn, представленные в 2008 году и производимые в то время по 45-нанометровому техпроцессу, являются эволюционным продолжением Intel Core. На этом закончился очередной tic‑toc цикл, в рамках которого Intel сначала выпускает процессор новой архитектуры, а спустя некоторое время выводит на рынок слегка усовершенствованную модель, но производимую по более тонкому техпроцессу.

Им на смену пришли CPU под кодовым именем Nehalem, которые продаются под брендом Intel Core i7. Они имеют ряд существенных отличий от процессоров Intel Core.

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

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

Кроме того, поскольку Loop Stream Detector хранит декодированные инструкции (так как размещается после декодера), инструкции будут «пропускать» не только фазу предсказания ветвлений и выборки, как раньше, но и фазу декодирования. Таким образом, в Nehalem инструкции в цикле будут проходить через конвейер быстрее и чаще.

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

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

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

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