3.4. Структурная организация
современных универсальных микропроцессоров
Характерными чертами современных универсальных микропроцессоров являются:
Суперскалярная архитектура, обеспечивающая одновременное выполнение нескольких команд в параллельно работающих исполнительных устройствах.
Динамическое изменение последовательности команд (выполнение команд с опережением – спекулятивное выполнение).
Конвейерное исполнение команд.
Предсказание направления ветвлений.
Предварительная выборка команд и данных.
Параллельная обработка потоков данных.
Многоядерная структура.
Многопотоковая обработка команд.
Пониженное энергопотребление.
Практическая реализация данных принципов в структурах различных процессоров имеет ряд существенных особенностей, связанных с их микроархитектурой. Микроархитектура процессора определяет реализацию его внутренней структуры, принципы выполнения поступающих команд, способы размещения и обработки данных.
3.4.1. Стратегия развития процессоров Intel
Стратегия развития Intel заключается во внедрении новых микроархитектур процессоров, основанных на новых поколениях полупроводниковой производственной технологии. Темпы выпуска инновационных микроархитектур и полупроводниковых технологий основаны на принципе, который корпорация Intel называет моделью «TICK-TOCK» («ТИК-ТАК»). Каждый «TICK» обозначает (табл. 3.1) новый этап развития полупроводниковых технологий (техпроцесс – 65 нм, 45 нм, 32 нм), а каждый «TOCK» – создание новой микроархитектуры (Intel Core, Nehalem, Sandy Bridge). Переход на новый техпроцесс сопровождается выпуском соответствующих семейств процессоров (Penryn, Westmere).
Этот цикл, как правило, повторяется каждые 2 года. Новаторская микроархитектура «обкатывается» на текущем производственном процессе, затем переносится на новую производственную технологию. Данная модель развития позволяет осуществлять внедрение единообразной процессорной микроархитектуры во всех сегментах рынка.
Таблица 3.1
Стратегия развития процессоров Intel
Intel Core
NEW
Microarchitecture
|
Penryn
NEW
Process
|
Nehalem
NEW
Microarchitecture
|
Westmere
NEW
Process
|
Sandy Bridge
NEW
Microarchitecture
|
65 nm
|
45 nm
|
45 nm
|
32 nm
|
32 nm
|
2006 г.
|
2007 г.
|
2008 г.
|
2009 г.
|
2010 г.
|
TOCK
|
TICK
|
TOCK
|
TICK
|
TOCK
|
Стратегия развития архитектуры и полупроводниковой технологии, реализуемая корпорацией Intel, не только позволяет выпускать новые решения в соответствии с запланированными темпами, но и способствует внедрению инновационных решений в отрасли на уровне платформ, расширяя использование преимуществ высокой производительности и энергоэкономичности.
3.4.2. Особенности многоядерной процессорной
микроархитектуры Intel Core
Микроархитектура Intel Core наследует философию эффективного энергопотребления, впервые реализованную в процессорах Intel Pen-tium M для мобильных ПК. Заимствовав лучшее от ставших основой для настольных и мобильных процессоров Intel микроархитектур Net Burst и Mobile, микроархитектура Intel Core содержит сотни нововведений, но основные из них сводятся к пяти технологическим решениям:
Технология Intel Wide Dynamic Execution (широкое динамическое исполнение).
Технология Intel Advanced Digital Media Boost (улучшенные цифровые медиа возможности).
Технология Intel Advanced Smart Cache (улучшенный интеллектуальный кэш).
Технология Intel Smart Memory Access (интеллектуальный доступ к памяти).
Технология Intel Intelligent Power Capability (интерактивное подключение подсистем).
Рассмотрим подробнее каждую из перечисленных технологий.
Технология Intel Wide Dynamic Execution
Динамическое исполнение команд подразумевает суперскалярную архитектуру, способную выполнять анализ потока команд и обладающую возможностями спекулятивного (упреждающего) и внеочередного исполнения команд.
В новой архитектуре с «широким» динамическим исполнением связывают, во-первых, возможность исполнения большего числа операций за такт, чем это было раньше. Благодаря добавлению в каждое ядро декодеров и исполнительных устройств каждое из ядер сможет выбирать из программного кода и исполнять до четырех х86 инструкций одновременно с помощью 14-стадийных конвейеров, в то время как предыдущие процессоры Intel, AMD (как настольные, так и мобильные) могли обрабатывать не более трех инструкций за такт. На 4 декодера (один для сложных инструкций и три – для простых) микроархитектура Core предполагает наличие 6 портов запуска (один – Load, два – Store и три – универсальных) исполнительных устройств.
Кроме того, микроархитектура Core получила более совершенный блок предсказания переходов и более вместительные буферы команд, используемые на различных этапах анализа кода для оптимизации скорости исполнения.
Во-вторых, в дополнении к весьма удачной технологии micro-ops fusion (x86 инструкция распадается на последовательность микрокоманд, которые выполняются процессором в этой же последовательности) микроархитектура Core получила технологию macro fusion. Данная технология направлена на увеличение числа исполняемых за такт команд и заключается в том, что ряд пар связанных между собой последовательных х86 инструкций, таких как, например, сравнение со следующим за ним условным переходом, представляются декодером одной микрокомандой. Таким образом, пять выбранных х86 инструкций могут в каждом такте преобразовываться в четыре микрокоманды. Этим достигается как увеличение темпа исполнения кода, так и некоторая экономия энергии.
Технология Intel Advanced Digital Media Boost
До настоящего времени процессоры Intel исполняли одну SSE-инструкцию (SSE, SSE2, SSE3), работающую с 128-битными операндами, лишь за 2 такта. Один такт тратился на обработку старших 64 бит, второй такт – на обработку младших. Новая же микроархитектура позволяет ускорить работу с SSE-инструкциями в два раза. Блоки SSE в данных процессорах полностью 128-битные, что дает возможность увеличить количество данных, обрабатываемых процессором за такт.
Кроме этого, Intel в очередной раз провел ревизию системы команд SSE. Результатом стало расширение SSSE3 еще 32-мя новыми командами, а для процессоров (Penryn), выполненных по 45 нм технологическому процессу, использование нового набора команд SSE4.1, в который добавлено 47 новых команд, позволяющих ускорить в том числе кодирование видеозаписей с высоким разрешением и обработку фотоизображений.
Технология Intel Advanced Smart Cache
Процессоры с микроархитектурой Core имеют разделяемый между двумя ядрами L2 кэш. Плюсов такого подхода несколько:
1. Появляется возможность у процессора гибко регулировать размеры областей кэша, используемых каждым из ядер. Доступ ко всему объему L2 кэша может получить любое из ядер процессора (когда одно из ядер бездействует). Если же одновременно работают два ядра, то кэш делится между ними пропорционально, в зависимости от частоты обращений каждого ядра к оперативной памяти.
Если оба ядра работают синхронно с одними и теми же данными, то хранятся они в общем L2 кэше только однократно. Таким образом, разделяемый интеллектуальный L2 кэш гораздо более эффективен и, даже можно сказать, более вместителен, чем два отдельных кэша, разделенных между ядрами.
2. Значительно снижается нагрузка на оперативную память системы и на процессорную шину. В этом случае перед системой не стоит задача контроля и обеспечения когерентности кэш-памяти различных ядер.
Технология Intel Smart Memory Access
Под этим названием объединены несколько технологий.
1. Усовершенствованный алгоритм предварительной выборки данных. Микроархитектура Core предполагает реализацию в процессоре 6 независимых блоков предварительной выборки данных. Два блока нагружаются задачей предварительной выборки данных из памяти в общий L2 кэш. Еще по два блока работают с кэшами L1 каждого ядра. Каждый из этих блоков независимо друг от друга отслеживает закономерные обращения (потоковые либо с постоянным шагом внутри массива) исполнительных устройств к данным. Базируясь на собранной статистике, блоки предварительной выборки стремятся подгружать данные из памяти в процессорный кэш еще до того, как к ним последует обращение. Также L1 кэш каждого из ядер процессоров, построенных на базе Core, имеет по одному блоку предварительной выборки инструкций, работающих по аналогичному алгоритму.
2. Memory disambiguation (устранение противоречий при доступе к памяти). Данная технология направлена на повышение эффективности работы алгоритмов внеочередного исполнения инструкций, осуществляющих чтение/выгрузку (Load) и запись/сохранение (Store) данных в память.
Технология Intel Intelligent Power Capability
При разработке новой микроархитектуры Core инженеры стремились к оптимизации параметра «производительность на ватт». Поэтому они сразу предусмотрели набор технологий, направленных на снижение энергопотребления и тепловыделения, в первую очередь хорошо зарекомендовавшие себя технологии Intel Speed Step (динамическое изменение тактовой частоты процессора в зависимости от текущих потребностей в вычислительной мощности), Halt State (отключает некоторые блоки процессора во время их бездействия) и др.
Но главная особенность новой архитектуры в том, что процессоры получили возможность интерактивного подключения тех собственных подсистем, которые используются в данный момент. Причем речь в данном случае идет не о ядрах целиком. Декомпозиция процессора на отдельные функциональные узлы выполнена на гораздо более низком уровне. Каждое из процессорных ядер поделено на большое количество блоков и внутренних шин, питание которыми управляется раздельно посредством специализированных дополнительных логических схем.
Недостатки микроархитектуры Intel Core
Существенным недостатком процессоров микроархитектуры Intel Core стал их немодульный дизайн (немодульное проектирование). Они изначально проектировались как двухъядерные полупроводниковые кристаллы. Последующий же переход к выпуску многоядерных представителей Core 2 стал выявлять слабые места такого подхода. Так, 4-ядерные и 6-ядерные представители микроархитектуры Intel Core просто собирались из нескольких 2-ядерных кристаллов, что приводило к затруднению взаимодействия между ними. Обмен данными между разрозненными ядрами организовывался через системную память, что порой вызывало большие задержки, обусловленные ограниченной пропускной способностью процессорной шины.
Еще одно узкое место возникало в многопроцессорных системах. Хотя Intel уже решил проблему с разделением системной шины, выпустив чипсеты, предлагающие собственную шину каждому процессору, производительность часто ограничивалась недостаточно высокой пропускной способностью шины памяти.
Таким образом, дальнейшее увеличение многоядерности и многопроцессорности, выбранное основным вектором увеличения производительности современных систем, рано или поздно должны были завести Intel в тупик, даже несмотря на то, что сама по себе микроархитектура Intel Core представляется очень удачной.
|