Подходы к повышению производительности:
Увеличение кол-ва исполнительных блоков за счет уменьшения длины конвейера.
- выборка команд
- декодирование
- отправка на множество исполнительных блоков.
- реализация параллелизма на уровне инструкций(инструкции выполняются одновременно в различных исполнительных блоках).
Увеличение ядер микропроцессора
Суть: несколько процессора упаковывается в один корпус и компьютер может исполнять несколько программных потоков одновременно.
- Независимые процессорные ядра на одном кристалле используют общую системную шину.
- Несколько одинаковых ядер на разных кристаллах в одном корпусе процессора (многочиповый процессор).
- Переплетены ядер между собой на одном кристалле с совместным использованием ресурсов кристалла (шина и кэш-память).
Intel core
К коммуникационному чипсету подключается оперативная память и процессорная шина, на которой может быть расположено несколько равноправных процессоров, а так же различная по быстродействию периферия. Такой чипсет называют NorthBridge(северный мост). Преимущество такого подхода - модернизация отдельных компонентов отдельно от других.
Технологии архитектуры Соге:
- Wide Dynamic Extension - увеличение количества исполняемых за такт инструкций за счет представления связанных между собой последовательных микроинструкций одной макрокомандой;
- Intelligent Power Capability - набор технологий, призванных существенно снизить энергопотребление за счет анализа и перевода лишних вычислительных блоков процессора в пассивное состояние.
- Advanced Smart Cache - использование общего кэша L2, что позволяет избежать простоев ядер за счет одновременной работы ядер с одними и теми же данными.
- Smart Memory Access - комплекс технологий по оптимизации алгоритмов доступа к памяти и предварительной загрузки данных. Модули на основе статистике предсказывают доступ к определенным данным.
- Advanced Digital Media Boost - технология, направленная на оптимизацию декодирования мультимедийного контента. Позволяет обрабатывать все 128-разрядные команды SSЕ, SSЕ2 и SSЕЗ, широко используемые в мультимедийных приложениях, за один такт.
- 64 Technology - 64-битный режим целочисленной и адресной арифметики. Он позволяет работать с числами большой разрядности, а также адресовать свыше 1 Тбайт памяти.
На первом этапе работы процессора, построенного на базе микроархитектуры Intel Core:
- Инструкции выбираются из кэша L2 (Instruction Fetch),
- Трансляция в команды х86
- Предварительное декодирование (Predecode).
- Передача в кэш инструкций L1
- Организация очереди (Instruction Queue),
- Передача из кэша в декодер.
- Декодирование (Decode) команд в машинные микрооперации (Micro-Ops)
- переименование и распределение дополнительных регистров процессора
- переупорядочение микроопераций, для распараллеливания
- распределение микроопераций по исполнительным блокам.
- диспетчеризацией (Dispatch)
- загружаются в блок регистров для дальнейшего выполнения.
Intel Core i7.
- Общий для кода и данных кэш второго уровня L2 размером 256 Кбайт
- Общий кэш L3, размер зависит от кол-ва порц-ов. Дублируюется содержимое кэшей L1 и L2.
AMD
Особенности архитектуры AMD:
- поддержка архитектуры x86-64 ISA,
- интегрированный контроллер памяти(DDR 200/266/333/400)
- интегрированный интерфейс Hyper Transport
- чипсет только обеспечивает мосты м/у шинами
С чисто технической стороны AMD попросту интегрировала практически всю функциональность северного моста в центральный процессор.
4-ядерные AMD K10:
- четыре ядра на одном кристалле,
- Hyper-Transport версии 3.0,
- общий для всех ядер кэш L3
- поддержка DDR3
- одновременная загрузка блоков данных с произвольными адресами из различных модулей памяти
- энергосбережение
- собственная такт. частота для каждого ядра и динамическое ее изменение
- выключение не use выч-х блоков
Intel построила 80-ядерный процессор на одном кристалле и потребляет всего 62 Вт электроэнергии. Использован принцип ячеистой структуры, напоминающей, черепичную крышу. Это можно представить как солидную сеть мощных компьютеров, реализованную в одном чипе. Подобная архитектура обеспечивает сверхвысокую скорость обмена данными между ядрами – порядка нескольких терабит в секунду.
Cell
Процессор Cell(Sоnу, Тоshibа и IВМ) весьма необычен: в нем девять ядер, одно из которых главное, а восемь – вспомогательные, гигантская пропускная способность интерфейсов и оперативная память Rumbus, тактовая частота под 3 Гц. Но новизна процессора не только в этом, Cell – это еще и попытка значительно пересмотреть существующие парадигмы программирования.
В концепции Cell[1] существуют аппаратные и программные ячейки.
Аппаратная ячейка - это любой процессор, способный выполнять программные ячейки и связанный с другими процессорами.
Программная ячейка – это данные, либо особая программа (арpulet), описывающая, как следует обрабатывать данные. В концепции Cell нет никаких самостоятельно существующих программ, нет процессоров и компьютеров. Есть только данные, код, который их обрабатывает, и абстрактная аппаратура, обеспечивающая существование того и другого.