Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава 34.Многоядерные процессоры для ПК и серверов.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.37 Mб
Скачать

Глава 34. Структуры многоядерных процессоров для пк и серверов

34.1. Компоненты многоядерного процессора

В настоящее время все высокопроизводительные процессоры являются многоядерными. Количество ядер в современных процессорах изменяется в значительных пределах (2, 4, 6, 8, 10, 16, 18 и более) в зависимости от требований областей применения и, соответственно, производительности.

В состав одноядерного процессора входят:

ядро с кэш-памятями L1 и L2;

кэш-память последнего уровня L3 (если она необходима);

контроллер оперативной памяти;

контроллер высокопроизводительного интерфейса "точка-точка" для связи с периферией;

контроллер высокопроизводительного интерфейса "точка-точка" для подключения графического расширения (если это необходимо);

графические расширения (если это необходимо).

В состав многоядерного процессора входят:

n ядер с кэш-памятями L1 и L2 в каждом;

кэш-память последнего уровня (L3);

многоканальный контроллер оперативной памяти (один или два);

контроллер высокопроизводительного интерфейса "точка-точка" для связи с периферией;

контроллер высокопроизводительного интерфейса "точка-точка" для подключения графического расширения (если это необходимо);

графические расширения (если это необходимо);

один или несколько контроллеров высокопроизводительных интерфейсов "точка-точка" (типа QPI) для связи с соседними процессорами в многопроцессорной системе (если этот процессор предназначен для построения многопроцессорных систем).

Интегрированный контроллер оперативной памяти

Основное преимущество переноса контроллера оперативной памяти из «северного» моста в процессор заключалось не столько в росте пропускной способности, сколько в уменьшении латентности (задержки) подсистемы оперативной памяти.

На пути между процессором и оперативной памятью в компьютерах с интегрированным контроллером оперативной памяти нет никаких промежуточных устройств, которые вносили собственные весьма существенные задержки.

Ещё одно косвенное преимущество встроенного в процессор контроллера оперативной памяти заключалось в том, что его функционирование теперь не зависит ни от чипсета, ни от материнской платы. В результате, процессоры со встроенным контроллером оперативной памяти показывают одинаковую скорость работы с оперативной памятью при работе в платформах различных разработчиков и производителей.

Встроенный контроллер оперативной памяти (ВКП) поддерживает 2–4 канала оперативной памяти. Каждый канал имеет отдельные ресурсы и независимо обслуживает запросы. ВКП имеет внеочередной планировщик операций, который максимизирует пропускную способность и минимизирует задержки.

В каждом канале есть буфер записи, причём запись считается завершённой как только данные попадут в буфер.

Межпроцессорный интерфейс QPI

Многопроцессорные системы, построенные на процессорах со встроенными контроллерами оперативной памяти, используют общую (разделяемую) модель оперативной памяти, а, следовательно, нуждаются в прямом и высокоскоростном соединении между процессорами.

Для решения этой задачи в процессорах фирмы Intel реализован специальный последовательный интерфейс QPI (QuickPath Interconnect).

Интерфейс QPI (рис.34.1) представляет собой два 20-разрядных соединения, с передачей данных в прямом и обратном направлении.

Рис. 34.1. Структура интерфейса QPI

16 разрядов в каждом направлении предназначаются для передачи данных, 4 разряда используются протоколом и коррекцией ошибок.

В зависимости от области применения многоядерные процессоры комплектуются одним или несколькими контроллерами интерфейса QPI. В итоге в многопроцессорной системе каждый из процессоров может иметь прямую связь со всеми остальными процессорами для снижения задержек при обращении к оперативной памяти, подключенной к «чужому» процессору. Модели же для многоядерных однопроцессорных компьютеров имеют единственный контроллер интерфейса QPI, который используется для связи с набором логики материнской платы.

В многоядерных процессорах для мультипроцессорных систем фирмы AMD для связи между процессорами используется интерфейс Hyper Transport. Интерфейсы QPI и Hyper Transport во многом аналогичны.

Кэш-память третьего уровня

Кэш-память третьего уровня (L3) является общей для всех ядер процессора, в том числе и для графической подсистемы, если она встроена в процессор. Структура этой кэш-памяти может быть различной. Например, в процессорах фирмы Intel со структурой Nehalem кэш-память L3 имела один общий контроллер, и в любой момент времени обслуживала запрос только от одного источника (например ядра). Поэтому процессоры со структурой Nehalem имели не более 4-х ядер.

В процессорах фирмы Intel со структурами Sandy Bridge, Haswell концепция устройства кэш-памяти L3 изменилась. Кэш-память L3 разделёна на сегменты по числу ядер, и каждый сегмент управляется своим контроллером. Каждое ядро имеет прямой доступ к «своему» сегменту кеш-памяти L3. Кроме того, контроллер сегмента кеш-памяти постоянно взаимодействует с системным агентом на предмет неудачных обращений к кэш-памяти L3, контроля межкомпонентного обмена данными и некешируемых обращений.

Ядра процессоров активно используют КМОП-логику по сравнению с динамической, поэтому увеличилась частота возникновения ошибок при работе. Это потребовало внедрить мощные алгоритмы, коды обнаружения и коррекции ошибок (ECC) в кэш-памяти ядер, способные в каждом байте обнаружить и исправить 2-разрядные ошибки и обнаружить (но не исправить) 3-разрядные. Ранее ядра умели обнаруживать до двух ошибочных разрядов и исправлять один, требуя в среднем 1 дополнительный разряд ECC на каждый защищаемый байт. Новый код потребовал не менее 1,5 разряда /байт.