Введение

Микроархитектура процессоров Intel

Микроархитектура NetBurst, внутри Intel известная как P68, стала преемницей микроархитектуры P6 в семействе центральных процессоров (CPU) x86 производства Intel. Первым процессором, реализованным на этой архитектуре, стал Pentium 4 с ядром Willamette, выпущенный 20 ноября 2000 года и положивший начало линейке Pentium 4; все последующие варианты Pentium 4 и Pentium D также базировались на NetBurst. В середине 2001 года Intel представила ядро Foster, также основанное на NetBurst, что позволило перевести процессоры Xeon на новую архитектуру. Процессоры Celeron, созданные на базе Pentium 4, также используют архитектуру NetBurst. NetBurst была заменена микроархитектурой Core, основанной на P6, которая была выпущена в июле 2006 года.

Технология

Микроархитектура NetBurst включает в себя такие особенности, как Hyper-Threading, технология Hyper Pipelined Technology, Rapid Execution Engine, кеш трассировки выполнения и система повторного воспроизведения, все из которых были впервые реализованы именно в этой микроархитектуре, а некоторые впоследствии больше не использовались.

Гиперпотоковое

Гиперпотоковая технология (англ. Hyperthreading) — это фирменная реализация Intel технологии одновременного многопоточного выполнения (SMT), используемая для повышения параллельности вычислений (возможности одновременного выполнения нескольких задач) на процессорах x86. Intel представила её вместе с процессорами NetBurst в 2002 году. Позже Intel вновь внедрила её в микроархитектуру Nehalem после периода её отсутствия в процессорах Core 2.

Передний боковой автобус с четырёхнаправленным насосом

Ядра Northwood и Willamette оснащены внешней шиной Front Side Bus (FSB), работающей на частоте 100 МГц и передающей четыре бита за такт, что обеспечивает эффективную скорость 400 МГц. Более поздние ревизии ядра Northwood, а также ядро Prescott (и его производные) имеют эффективную шину Front Side Bus 800 МГц (200 МГц с использованием технологии quad pumping).

Гиперпроводная технология

Ядра Willamette и Northwood содержат 20-ступенчатый конвейер команд. Это значительное увеличение числа ступеней по сравнению с Pentium III, который имел всего 10 ступеней в своем конвейере. Ядро Prescott увеличило длину конвейера до 31 ступени. Недостатком более длинных конвейеров является увеличение числа ступеней, которые необходимо откатить в случае неверного предсказания ветвления, что увеличивает штраф за такое неверное предсказание. Для решения этой проблемы Intel разработала Rapid Execution Engine и вложила значительные средства в технологию предсказания ветвлений, которая, по утверждению Intel, снижает количество неверных предсказаний ветвлений на 33% по сравнению с Pentium III. Однако на практике более длинный конвейер привел к снижению эффективности из-за уменьшения числа инструкций, выполняемых за такт (IPC), поскольку не удалось достичь достаточно высоких тактовых частот, чтобы компенсировать потерю производительности, вызванную большим, чем ожидалось, увеличением энергопотребления и тепловыделения.

Мотор быстрого исполнения

С помощью этой технологии два арифметико-логических устройства (ALU) в ядре процессора работают с удвоенной частотой, то есть фактически функционируют на частоте, вдвое превышающей тактовую частоту ядра. Например, в процессоре с частотой 3,8 ГГц, ALU будут эффективно работать на частоте 7,6 ГГц. Это делается в основном для компенсации низкого числа IPC, а также значительно повышает производительность процессора в операциях с целыми числами. Intel также заменила высокоскоростной блочный сдвигатель на устройство выполнения операций сдвига и вращения, работающее на той же частоте, что и ядро процессора. Недостатком является то, что некоторые инструкции стали значительно медленнее (как относительно, так и в абсолютном выражении), что усложняет оптимизацию программного обеспечения для различных процессоров. Примером служат операции сдвига и вращения, которые пострадали от отсутствия блочного сдвигателя, который был реализован во всех процессорах x86, начиная с i386, включая основной конкурирующий процессор Athlon.

Кэширование следов выполнения

В L1-кэше процессора Intel реализован кэш трассировки выполнения. Он хранит декодированные микрооперации, поэтому при выполнении новой инструкции, вместо повторного извлечения и декодирования инструкции, процессор напрямую обращается к декодированным микрооперациям из кэша трассировки, что значительно экономит время. Более того, микрооперации кэшируются в соответствии с предсказанным путем выполнения, что означает, что когда процессор извлекает инструкции из кэша, они уже находятся в правильном порядке для выполнения. Позже, с архитектурой Sandy Bridge, Intel представила аналогичную, но более простую концепцию – кэш микроопераций (UOP cache).

Система воспроизведения

Система повторного исполнения — это подсистема в процессоре Intel Pentium 4, предназначенная для перехвата операций, ошибочно направленных на исполнение планировщиком процессора. Операции, перехваченные системой повторного исполнения, затем повторно выполняются в цикле до тех пор, пока не будут соблюдены условия, необходимые для их корректного выполнения.

Подсказки по прогнозированию ветвей

Архитектура Intel NetBurst позволяет добавлять в код указания для предсказания переходов, чтобы сообщать, следует ли выполнять статический прогноз или нет, однако эта функция была исключена из более поздних процессоров Intel. По утверждению Intel, алгоритм предсказания переходов NetBurst на 33% эффективнее, чем в P6.

Проблемы масштабирования

Несмотря на эти улучшения, архитектура NetBurst создавала трудности для инженеров, стремившихся повысить её производительность. С помощью этой микроархитектуры Intel планировала достичь тактовой частоты 10 ГГц, но из-за роста тактовой частоты Intel столкнулась с возрастающими проблемами с удержанием тепловыделения в допустимых пределах. В ноябре 2004 года Intel достигла предельной частоты 3,8 ГГц, но даже этого оказалось сложно добиться. Intel отказалась от NetBurst в 2006 году, когда проблемы с перегревом стали неразрешимыми, и затем разработала микроархитектуру Core, вдохновлённую ядром P6 процессоров Pentium Pro, Pentium III S Tualatin и, в первую очередь, Pentium M.

Преемник

У Intel были процессоры на базе NetBurst, находившиеся в разработке под названиями Tejas и Jayhawk, с количеством стадий конвейера от 40 до 50, но в конечном итоге было решено заменить NetBurst микроархитектурой Core, выпущенной в июле 2006 года; эти процессоры были более непосредственно основаны на Pentium Pro (микроархитектура P6). 8 августа 2008 года ознаменовало окончание производства процессоров Intel на базе NetBurst. Причиной отказа от NetBurst стали серьезные проблемы с тепловыделением, вызванные высокими тактовыми частотами. Хотя некоторые процессоры на базе Core и Nehalem имеют более высокий показатель TDP, большинство процессоров являются многоядерными, поэтому каждое ядро выделяет лишь часть от максимального TDP, а самые быстрые одноядерные процессоры на базе Core выделяют максимум 27 Вт тепла. Самые быстрые настольные процессоры Pentium 4 (одноядерные) имели TDP 115 Вт, по сравнению с 88 Вт для самых быстрых мобильных версий. Однако, с выпуском новых ревизий, TDP для некоторых моделей в конечном итоге был снижен. Микроархитектура Nehalem, преемник микроархитектуры Core, изначально планировалась Intel как эволюция NetBurst, согласно дорожным картам, датируемым 2000 годом. Nehalem повторно реализовала некоторые функции NetBurst, включая технологию Hyper Threading, впервые представленную в ядре Northwood с частотой 3,06 ГГц, и кэш L3, впервые реализованный в потребительском процессоре в ядре Gallatin, используемом в Pentium 4 Extreme Edition.