Обзор микроархитектур современных десктопных процессоров. Часть 3
Страница 5. Процессоры компании Intel


 

Эволюция и ближайшие перспективы развития процессорных микроархитектур

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

Процессоры компании Intel

Развитие современных процессорных микроархитектур у компании Intel шло по извилистому пути. После появления в 1995 г. процессора Pentium Pro, первого представителя архитектуры P6, происходило плавное усовершенствование, завершившееся выходом процессора Pentium III (1999 г.). Одновременно с этим разрабатывалась новая, революционная микроархитектура NetBurst (P7), первый представитель которой (Pentium 4) появился в 2000 г. Дальнейшим развитием этого семейства явился процессор Prescott (P-4E, 2004 г.), имеющий определённые микроархитектурные отличия от первоначального процессора P-4 и поддерживающий 64-битный режим целочисленной и адресной арифметики EM64T (x86-64).

Процессор P-4 был ориентирован на достижение высокой производительности в первую очередь за счёт повышения тактовой частоты (в 1.4-1.5 раза по сравнению с классическими процессорами, исполненными по той же электронной технологии) в сочетании с применением ряда принципиальных новшеств в микроархитектуре. Всё это привело к значительному увеличению длины конвейера и к усложнению различных подсистем процессора — и, как следствие, к возрастанию энергопотребления и тепловыделения. В результате с ростом тактовой частоты суммарное тепловыделение приблизилось к предельно допустимым значениям (для десктопных применений). Особо наглядно это проявилось при создании и внедрении двухъядерных процессоров. Другой причиной, снижающей интерес потребителей к процессорам данного семейства, являлось повышенное требование длинноконвейерной архитектуры NetBurst к оптимизации матобеспечения, что не нашло адекватного отклика у создателей программных средств.

В связи с возникшими проблемами компания Intel вернулась к эволюционному развитию старого доброго семейства P6. Первоначально это развитие происходило параллельно с развитием архитектуры NetBurst и выразилось в появлении процессора Pentium M (2003 г.), ориентированного на применение в мобильных компьютерах. В связи с этой ориентацией, основной упор был направлен на снижение энергопотребления подсистемами процессора, а также на введение различных экономичных режимов работы. Одновременно производилось устранение основных недостатков процессора P-III и внедрение некоторых принципиальных микроархитектурных расширений.

Процессор Pentium M оказался довольно успешным и демонстрировал достаточно высокую производительность в некоторых применениях, подтверждая удачность основных принципов, на которых была построена микроархитектура семейства P6/P6+. Поэтому не удивительно, что разработчики приняли решение создать новую микроархитектуру, базирующуюся на тех же принципах и значительно расширяющую её. В новой архитектуре Intel Core (P8, 2006 г.) устранено большинство недостатков предшественников, увеличена «ширина обработки», существенно ускорен блок арифметики с плавающей точкой и добавлена поддержка 64-битного режима EM64T (x86-64). В результате получился добротный «классический» процессор с широкой динамической архитектурой. Несмотря на более низкую тактовую частоту, он заметно превосходит процессоры семейства NetBurst по производительности в подавляющем большинстве применений — в первую очередь за счёт увеличения числа операций, выполняемых в каждом такте, а также за счёт снижения потерь, обусловленных большой длиной конвейера.

Проведём краткое сопоставление процессоров P-4 и P8 со своим общим предшественником P-III.

Микроархитектура процессора P-4 содержит два класса отличий от P-III — «революционные» и «эволюционные». К числу революционных можно отнести нововведения, которые обусловлены необходимостью увеличения тактовой частоты и снижения длины такта:

  • кэш трасс (Т-кэш) для хранения декодированных микроопераций (МОПов), используемый вместо классического кэша инструкций;
  • механизм ранней спекулятивной диспетчеризации (запуска на исполнения) МОПов с их перезапуском (в случае необходимости) после ожидания в «петле реплея»;
  • работа быстрого арифметико-логического устройства на удвоенной частоте при тесной интеграции с L1-кэшем вкупе со спекулятивной выборкой данных из L1-кэша.

Эти революционные изменения отличают архитектуру NetBurst от процессоров «классической» архитектуры. Одновременно с этим, процессор P-4 содержит также ряд эволюционных нововведений и усовершенствований:

  • значительное изменение структуры системы внеочередного исполнения, увеличение длины буферов и очередей, изменение организации функциональных устройств;
  • радикальное улучшение подсистемы предсказания переходов;
  • обработка 128-битных регистров SSE в одной операции с расщеплением на 64-битные подоперации в функциональном устройстве (правда, за счёт снижения темпа обработки вдвое);
  • введение режима EM64T (x86-64) в процессоре P-4E;
  • множество отличий в различных подсистемах (переименование регистров, трансляция логических адресов в физические, предвыборка данных и проч.);
  • новая, более производительная внешняя шина FSB.

Большинство недостатков процессора P-4 являются следствием нововведений, направленных на достижение высокой производительности — повышенной тактовой частоты и увеличенной длины конвейера, а также спекулятивного характера многих действий и оптимизации выполнения «типичных» операций в ущерб «нетипичным». Основными недостатками являются:

  • острая проблема алиасинга при выборке данных из L1-кэша и, как следствие, значительные потери на реплей (в первоначальном процессоре P-4);
  • половинная частота запуска скалярных операций SSE;
  • неэффективная реализация некоторых операций сдвига (всех сдвигов в процессоре P-4, сдвигов вправо и циклических в 64-битном режиме в процессоре P-4E);
  • высокая латентность инструкций, работающих с флагом переноса CF (ADC, SBB);
  • большая длина конвейера непредсказанного перехода;
  • недостаточная эффективность Т-кэша для плохо структурированных кодов;
  • малый размер L1-кэша и высокая латентность доступа к L2-кэшу.

В целом, процессоры P-4/P-4E были довольно успешными и получили массовое распространение, но срок жизни семейства оказался не столь продолжительным, как ожидалось изначально — несмотря на то, что архитектура NetBurst обогнала своё время. Причины и уроки развития этой архитектуры ещё предстоит осмыслить.

 

 
« Предыдущая статья   Следующая статья »