Алгоритм - Учебный центр

Версия сайта для слабовидящих
Заполните форму ниже! Мы вам перезвоним!

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


Модульная масштабируемость платформы Intel Core i7.

Модульная масштабируемость платформы Intel Core i7.

 

В платформе Intel Core i7 был реализован целый ряд новшеств применительно к классической архитектуре x86. В первую очередь это касается использования встроенного контроллера памяти и совместного кеша L3. Особый акцент компания Intel делает на масштабируемости микроархитектуры, которая позволит обеспечить оптимальное соотношение трёх ключевых показателей: цена, производительность, энергопотребление. При проектировании процессоров применяется так называемый модульный подход, суть которого наглядно демонстрирует ниже приведенная иллюстрация (рис. 1).

QIP Shot - Image: 2016-08-03 17:13:25 

Рис. 1.

 Все компоненты, входящие в микроархитектуру Nehalem, разделены на два основных блока. В Intel их называют: core (ядро) и uncore (субъядро).

Ядро (core) отвечает за выполнение традиционных функций, обычно связываемых с работой процессора. Это - вычислительные блоки, модуль предсказания ветвлений, регистры памяти и два типа кэшей L1 и L2.

Субъядро (uncore) охватывает компоненты, отвечающие за средства коммуникации с внешним миром, сюда относятся :

 - контроллер памяти (memory controller),

 -  интерконнект QuickPath (QuickPath links),

 -  кэш 3-го уровня (L3 cache),

 -  средства управления энергопитанием (power management),

 -  встроенный графический контроллер.

 Предложенное архитектурное деление позволяет с определенной уверенностью утверждать, что  произошел переход на новый принцип модельного деления серии выпускаемых процессоров. Отличительным признаком серии является использованное ядро (core). А вот различная комплектация уровня субъядро ("uncore") позволит выделить специализированные типы процессоров для отдельных применений:

- домашние,

-  настольные для бизнес-решений,

- серверные (серверная версия отличается расширенным размером кэша L3 и добавлением каналов QPI).

Схема распределения питания (Voltage) и частоты (frequency) - одно из дополнительных преимуществ, которые дает предложенная модульная архитектура процессора. В такой схеме контроллер памяти может работать на одной частоте, ядро - на другой.

Как видим, структуру процессора можно условно разбить на пять основных строительных блоков (рис. 2):

 - процессорное ядро,

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

 - массив ячеек кэш-памяти,

 -  шина QuickPath Interconnect,

 -  видеоядро iGraphics.

QIP Shot - Image: 2016-08-03 17:14:47 

 Рис. 2.

Объединяя все эти компоненты в разных комбинациях, производитель вывел на рынок целый ряд продуктов для разных сегментов рынка. Интегрированный контроллер памяти может включать, четыре, три, два канала и поддерживать до трёх слотов DIMM на канал. ИКП может работать с памятью типа DDR3, включая DDR3-800, DDR3-1066, DDR3-1333, а также FB-DIMM в серверном сегменте, отмечается и возможность реализации поддержки более скоростных модулей памяти, причём предусмотрена поддержка как традиционных небуферизированных модулей UDIMM для установки в настольные ПК и ноутбуки, так и регистровой памяти RDIMM для серверных систем. Реализовано существенное уменьшение задержек и радикальное увеличение пропускной способности памяти (по внутренним тестам компании, выигрыш  более чем четырехкратный).

Подсистема кэширования, принятая в рамках новой микроархитектуры и представляет собой дальнейшее развитие технологии Intel Smart Cache (рис. 3). Структура кэш-памяти первого уровня осталась без изменений - 32 Кб для хранения команд и 32 Кб - для данных. Подсистема кэш-памяти второго уровня предусматривает выделение отдельного массива ячеек емкостью 256 Кб каждому ядру, при этом отмечается низкая латентность кэш-памяти. Кроме того, предусмотрен также кэш третьего уровня емкостью до 8 Мб, который будет общим для всех ядер процессора.

Особенностью новой подсистемы кэширования является применение инклюзивного способа вытеснения информации. Такой подход позволяет существенно сократить так называемый снуп-траффик (snoop traffic), что особенно актуально для систем с большим количеством ядер. Еще одним важным архитектурным усовершенствованием является внедрение двухуровневого буфера преобразования адресов (TLB, Translation Look-aside Buffer) размером 512 записей, что, по утверждению Intel, также позитивно сказывается на производительности.

К важным микроархитектурным усовершенствованиям относятся также следующие три ключевых направления:

  • дальнейшее развитие параллелизации - увеличение количества микроопераций, хранимых в буфере реорганизации/переупорядочивания (ReOrder Buffer), на 33% по сравнению с Core (увеличение емкости ROB с 96 до 128 записей);
  • совершенствование алгоритмов - использование так называемого невыровненного доступа к кэшу, а также повышение скорости выполнения элементарных функций (примитивов) синхронизации, что должно улучшить производительность многопоточных приложений;
  • улучшение механизма предсказания ветвлений - в рамках этого направления отмечается добавление второго уровня в целевой буфер ветвлений (BTB, branch target buffer), что должно повысить точность предсказания, уменьшение времени простоя (пенальти) в случае неправильного предсказания, а также добавление нового буфера Renamed Return Stack Buffer, который призван уменьшить количество ошибок предсказания адресов возврата.

 QIP Shot - Image: 2016-08-03 17:16:44 

     Рис. 3.

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

Предложенная архитектура предусматривает возврат к технологии Hyper-Threading (так называется предложенная Intel технология для параллельного многопотокового режима обработки вычислительных инструкций). Поэтому четырехъядерный процессор Intel Core i7 поддерживает одновременную работу до восьми потоков команд, хотя, конечно, реальная производительность при использовании Hyper-Threading сильно зависит от природы обрабатываемой прикладной программы.

Смысл динамического масштабирования заключается и в том, что любое ядро может быть полностью отключено, если оно не участвует в данный момент в работе. Теоретически это способствует экономии энергии. Однако, если принимать во внимание, как это реально работает на существующих двухъядерных процессорах Core 2, то отключение ядра не позволяет экономить всю выделявшуюся на него электроэнергию. Причина кроется в том, что возникают утечки питания. Для устранения этого эффекта Intel разработала т.н. вентильные транзисторы (power gates-transistors), которые в режиме выключения обеспечивают реальное прекращение подачи питания.

Применение технологии ступенчатого управления питанием отдельными ядрами позволяет при отключении отдельных ядер увеличить нагрузку и расширить допустимый диапазон рабочих температур для оставшихся в работе ядер. Intel называет этот режим "Nehalem Turbo Mode" (не путайте с режимом turbo mode, применяемом для мобильных чипсетов Intel). Другими словами, если с отдельных ядер снимается электропитание, то для других можно увеличить их рабочую частоту, потребляя большую мощность, чем в режиме всех включенных ядер (для отдельных процессоров частота ядра может подниматься в два-три, например, 133–333 МГц и даже более раз). Все зависит от используемой схемы отвода выделяющегося тепла. Эта особенность может активно применяться для временного повышения производительности при обработке программ, использующих один или два потока процессорных инструкций.

Поскольку выбор режима Turbo mode относится к уровню отдельного ядра, то возникают разнообразные комбинационные решения с включением (отключением) одного или нескольких ядер. Правда, вопрос об управлении питанием, особенно в режиме Turbo Mode, становится более сложным, чем раньше. Поэтому в него встраивается микропроцессорный блок, отвечающий за данную функцию


Лицензия