CPU

Эволюция Intel Core: Nehalem, Sandy Bridge, Haswell, Skylake. Часть 3


В данном материале редакция ServersTech.ru рассмотрит фронт-энд процессоров Intel Core различных микроархитектур и проследит их эволюцию.

Остальные материалы по микроархитектуре Skylake и эволюции Intel Core собраны здесь.

Несмотря на медленный рост производительности процессоров Intel Core с каждым поколением, внутреннее строение за годы развития значительно изменилось (хотя некоторые блоки ядра остаются без изменений на протяжении нескольких поколений). В подтверждение этого предлагаем рассмотреть фронт-энд четырех поколений Core: Nehalem, Sandy Bridge, Haswell, Skylake.

nehalem 1

Nehalem

sandybridge 1

Sandy Bridge

haswell 1

Haswell

skylake 1

Skylake

Рассматривая фронт-энд, необходимо понимать, что помимо количественных и структурных изменений, существуют и другие, так например: механизм предсказания ветвлений или алгоритм предвыборки инструкций, которые также из поколения в поколения изменяются, но это тема для отдельного материала. Сегодня мы рассмотрим каким изменениям подвергся фронт-энд Intel Core.
В общем и целом, все четыре представителя Intel Core (Nehalem, Sandy Bridge, Haswell, Skylake) имеют кэш инструкций с объемом 32КБ, предвыборку 6 инструкций в такт и две очереди по 20 инструкций.

Декодер

Транслятор (декодер) у всех рассматриваемых микроархитектур - 4-канальный. В первом канале транслятора могут быть декодированы сложные инструкции, порождающие более одного МОПа. В остальных каналах - простые инструкции, SSE-инструкции, а также благодаря макрослиянию инструкции загрузки с исполнением. В Nehalem и Sandy Bridge простые декодеры могли выдавать суммарно до трех МОП в такт, в Haswell – 4, а в Skylake – 5. Увеличение темпа декодирования в Haswell и Skylake - вполне логичное решение, так как данные процессоры имеют по 8 портов запуска против 6 у Nehalem и Sandy Bridge. Таким образом, компания Интел достаточно сбалансировано производит «модернизацию» Core - с увеличением ширины исполнительного тракта повышает и скорость декодирования инструкций.

Кэш МОПов

Начиная с Sandy Bridge, компания Интел использует специальный кэш МОПов (µop), в котором хранятся декодированные инструкции, что позволяет как экономить электроэнергию благодаря отключению декодеров (если необходимые инструкции находятся в этом кэше), так и утилизировать с большей эффективностью исполнительные устройства (ИУ). Емкость данного кэша не менялась с Sandy Bridge и равняется 1536 МОП, при этом темп выдачи инструкций в Skylake был увеличен с 4 до 6 МОП в такт. Увеличение темпа декодирования в простых декодерах и считывания из кэша МОПов должно положительно сказаться на утилизации ИУ в исполнительном тракте.

Очередь декодированных инструкций и буфер переупорядочивания

Следом за декодерами идет очередь декодированных инструкций, концепцию которой компания Интел изменяла несколько раз: в Nehalem и Sandy Bridge было две очереди по 28 записей (по одной на логическое ядро); в Haswell дабы сбалансировать производительность при работе без НТ и/или при работе с «неравноценными» потоками Интел отдала предпочтение одной очереди на 56 записей, оставив тем самым емкость неизменной; в Skylake от единой очереди Интел отказалась, решив вернутся снова к двум очередям с существенным увеличением их емкостей - с 28 до 64 записей! Также в Skylake была увеличена скорость выборки декодированных инструкций из данных очередей с 4 до 6 МОП в такт. Всё это должно существенно повысить реальный показатель IPC процессора.
После очереди декодированных инструкций следует буфер переупорядочивания, от которого в значительной степени зависит эффективность процессора и коэффициент утилизации ИУ. Большая емкость буфера переупорядочивания позволяет более эффективно загружать ИУ, так как при увеличении емкости данного буфера повышается вероятность наличия инструкций с независимыми друг от друга данными. Поэтому Интел с каждым поколением Core увеличивает объем данного буфера. В Nehalem его емкость составляла 128 записей, в Sandy Bridge – 168, в Haswell – 192, а в Skylake – 224. Постоянный рост данного буфера должен положительно сказаться на уровне загрузки ИУ.

0 logo low

Copyright © by ServersTech.ru, 2015-2020. Копирование запрещено.
Коммерческие предложения, сотрудничество и реклама: cooperation@serverstech.ru
Предложения, вопросы и пожелания читателей: readership@serverstech.ru
Copyright © 2015-2020 ServersTech.ru. Все права сохранены
Copyright © 2015-2020 ServersTech.ru. All rights reserved