Intel Skylake: подробности о микроархитектуре

Intel Skylake: подробности о микроархитектуреАнонс процессоров поколения Skylake на этот раз протекает в не совсем стандартном режиме. Прежде всего, компания Intel представила старшие десктопные модели – Core i7-6700 K и Core i5-6600 K. Однако выход массовых процессоров для настольных компьютеров оказался отложен на более позднее время.


Компания, следуя данному графику, в момент анонса оверлокерских флагманов не сочла нужным рассказывать об особенностях новой микроархитектуры. По этой причине не получилось в полной мере разобраться, почему быстродействие нового Skylake оказалось именно таким.

Однако в рамках сессии IDF 2015, которая прошла в Сан-Франциско, компания Intel решила поведать о некоторых деталях, отличающих внутреннее устройство новинок. Рассказ, к сожалению, оказался не таким полным, как хотелось бы. Разработчики обещают выложить всю информацию в момент представления процессоров Xeon. Обнародованной информации будет вполне достаточно для того, чтобы получить общее представление об особенностях, которые отличают Skylake от Broadwell и Haswell с точки зрения микроархитектуры. В данном обзоре мы приведем лишь основные факты.

Так уже повелось, что основным приоритетом разработчиков при разработки новых микроархитектур является стремление снизить уровень энергопотребления и улучшить удельную производительность на каждый Вт. В этом плане в Skylake изменилось немного. Команда инженеров, которая разрабатывала эту микроархитектуру в течении последних пяти лет, исходила из тех же вводных. Однако здесь имеется одна важная особенность. При проектировании данного поколения процессоров, разработчики стремились не только добиться снижения уровня энергопотребления, но и учесть, что такие процессоры должны найти применение в конечных продуктах с различными тепловыми пакетами, от 4,5 до 95 Вт.

Такой подход учитывает, что новая микроархитектура должна хорошо вписываться в новые высокопроизводительные и высокоэкономичные дизайны. Иначе говоря, начиная со Skylake компания Intel решила отойти от предыдущей стратегии, когда при разработке новой микроархитектуры прежде всего учитывалась эргономичность, а уже на базе полученного энергоэффективного дизайна разрабатываются мобильные процессоры и версии для серверов и десктопов.

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

Они, как и уровень энергопотребления, должны варьироваться в достаточно широких пределах. Это необходимо для того, чтобы микроархитектура Skylake без проблем вписывалась как в настольные, так и в ультрапортативные компьютеры. Все поставленные задачи были решены. По сравнению с Broadwell и Haswell мобильные варианты Skylake удалось сделать заметно меньшими по размеру. Оптимизация параметров в плане энергопотребления, позволила значительно увеличить производительность энергоэффективных чипов при сохранении старых рамок тепловых пакетов. Однако, это вполне логичное проявление технического прогресса.

Масштаб изменений просто поражает. Потребление процессоров Skylake может расходиться в 20 раз. Физические размеры устройств могут варьироваться в четырехкратных пределах. В заслугу себе инженеры компании Intel также ставят заметное увеличение экономичности в системе на чипе нового поколения, которое может достигать 60% на типовых мультимедийных задачах в состоянии бездействия.

Поражает же другое – масштаб изменений. Потребление процессоров Skylake разных классов теперь может расходиться в 20 раз, а их физические размеры способны варьироваться в четырёхкратных пределах. Также инженеры Intel ставят себе в заслугу и заметное повышение экономичности систем-на-чипе нового поколения, достигающее 40-60 процентов на типовых мультимедийных задачах и в состоянии бездействия. Компания Intel позиционирует процессор Skylake как универсальную микроархитектуру.

По уже сложившейся традиции бенефициаром ввода в строй данной архитектуры выступают чипы для ультрапортативных устройств. Так, например, современные системы-на-чипе требуют поддержки специфичных интерфейсов и шин. Современные планшеты и смартфоны для хранения информации активно используют устройства SDXC и eMMC, интерфейс CSI для камеры. Многие из таких интерфейсов встроены непосредственно в сами чипсеты для Skylake. Они вполне могут сосуществовать на одном полупроводниковом кристалле с процессором.

Однако, самое интересное в том, что данные изменения затронули базовую часть процессора. Непосредственно в самой микроархитектуре Skylake появился новый блок, который выполняет фиксированные функции (процессор для обработки изображений). Данный элемент поддерживает работу с четырьмя камерами, имеющими разрешение 13 Мп. Две из них одновременно могут быть активны. Он позволяет обеспечить аппаратную обработку сигнала, которая включает в себя как простой захват с видео, так и более продвинутые функции типа распознавания лиц, формирования панорам и построения изображений HDR.

Базовая микроархитектура

Не стоит полагать, что компания Intel, создавая универсальный процессор, позабыла о базовой микроархитектуре. Ведь Skylake все-таки относится к фазе разработки «так». По этой причине все серьезные изменения коснулись непосредственно самих вычислительных ядер. Однако со времен архитектуры Haswell новый принцип проектирования, который дал ход только решениям, улучшающим производительность как минимум в два раза, по сравнению с уровнем энергопотребления, остался в силе.

Этот факт объясняет, почему теперь базовая архитектура меняется более медленными темпами, чем раньше. Если же говорить о Skylake, то все это выливается в незначительное число усовершенствований по сравнению с прошлыми поколениями. Если говорить об обычном скалярном коде x86, то они позволяют лишь незначительно увеличить количество исполняемых за такт инструкций. Большинство выполненных изменений фактически направлено на расширение входной части исполнительного конвейера.

Это дает возможность улучшить процесс параллельной обработки команд. По сравнению с предыдущими процессорами основные принципы работы Skylake сильно не изменились. Новая микроархитектура может одновременно декодировать до шести x86 CISC инструкций. Они могут преобразовываться в шесть инструкций RISC. Однако в отличие от предыдущих моделей, количество ситуаций, в которых Skylake, может похвастаться одновременным исполнением шести полученных микроинструкций, увеличилось. Для этого разработчикам пришлось улучшить блоки предсказания ветвлений.

Также были увеличены возможности по внеочередному исполнению инструкций. Однако ни о какой структурной переделке речь и не идет. Все усовершенствования были выполнены за счет углубления внутренних буферов. Так, например, размер окна внеочередного исполнения был увеличен до 225 инструкций. Также выросли и другие буфера. За счет этого Skylake стал работать одновременно с огромным количеством кода. Были увеличены буфера для работы с данными, за счет роста объема станций резервирования технология Hyper-Threading стала более эффективной, а обработка промахов страниц и промаха кэша L2 была ускорена. Интересные изменения также коснулись и блока предварительной выборки.

Его агрессивность в этот раз была даже уменьшена. Опыт показывает, что предварительная выборка избыточного числа инструкций может отрицательно сказаться на энергоэффективности. По этой причине инженеры решили отдать предпочтение экономии энергии, которые можно потратить на других этапах конвейера или повысить тактовую частоту. Intel, к сожалению, решила не углубляться в подробности, касающиеся изменений в исполнительных устройствах микроархитектуры. Также нет никакого намека на изменение числа исполнительных портов по сравнению с Haswell.

Однако, как утверждают специалисты компании, итогом выполненных глубинных переделок является увеличение скорости исполнения ряда инструкций FPU. Также компания Intel обнародовала информацию об ускорении в Skylake выполнения команд семейства AES. Рост производительности алгоритмов шифрования должен быть увеличен до 17% в режиме GCM и 33% в режиме CBC. Следует отметить, что в рассказе Intel о Skylake одно время звучали довольно любопытные высказывания о том, что построенные на ее основе клиентские и серверные процессоры могут серьезно отличаться по своей конфигурации на уровне микроархитектуры. Один из примеров такого отличия прекрасно известен.

Серверные Skylake получают поддержку команд AVX-512, которая не будет реализована в остальных процессорах. Аналогичных образом дело может обстоять и с другими расширениями. Таким образом, когда на рынке появится серверная модификация Skylake, эта микроархитектура может открыть свои новые стороны. Не миновали нововведений и клиентские процессоры. Так, например, в них появились новые инструкции Intel SGX. Команды, которые входят в этот набор, дают приложению возможность создать для своего исполнения защищенную и изолированную среду в памяти. Доступ к ней будет невозможен ни для каких иных устройств и процессов.

Это значит, что приложение, которое оперирует с критически важной информацией, сможет защитить свои данные и код от каких-либо программных атак и вторжений. Это позволяет поднять на новый уровень безопасность платформы x86. Также компания Intel отдельно подчеркивает, что при помощи SGX можно создавать полностью защищенный программный код, который невозможно отследить при помощи аппаратных отладчиков ITP-адреса. Существенные изменения также коснулись взаимодействия процессорных блоков между собой при работе с данными. Стоит упомянуть об изменении алгоритма работы кэша L2. По сравнению с Broadwell и Haswell ассоциативность была уменьшена вдвое.

Это позволило увеличить скорость, а обработка промахов теперь происходит с меньшими задержками. Более существенные нововведения можно обнаружить и дальше от процессорных ядер. В Skylake используется более быстрая кольцевая шина, которая связывает процессорные ядра, контроллер памяти, системный агент, графическое ядро и L3 кэш. Если верить информации, представленной разработчиками, максимальная полоса пропускания кольцевой шины стала больше в два раза. Однако она способная работать и в менее скоростном режиме. Все будет зависеть от того, какой сценарий процессорного дизайна предполагается в каждом конкретном случае. При использовании более медленной шины можно снизить тепловыделение и энергопотребления. В десктопных вариантах микроархитектуры Skylake используется скоростной режим.

В тех же модификациях, где делается упор на производительность за счет увеличения пропускной способности быстрее стал работать кэш третьего уровня. Преобразования также затронули и буфер eDRAM, который устанавливается в некоторых производительных модификациях. В микроархитектуре Skylake Intel планирует увеличить сферу использования eDRAM целью провести целый комплекс оптимизации. В процессорах Broadwell и Haswell дополнительный буфер, построенный на eDRAM, размещенный в отдельном полупроводниковом кристалле Crystalwell, смог жить по соседству только с кэшем L3 объемом 1,5 Мб на ядро. eDRAM в это время выступала 128 Мб кэшем четвертого уровня, в котором хранится информация, вытесненная из кэша L3. В Skylake данная структура была разрушена.

Конфигурации процессора с eDRAM теперь смогут располагать кэшем третьего уровня емкостью 2 Мб на ядро. Память eDRAM утратила роль еще одного уровня кэширования. Она может иметь различные варианты емкости: от 64 до 128 Мб. Компания Intel даже придумала для eDRAM новое название в ознаменование произошедших изменений – Memory Side Cache. Основная идея заключается в том, что до сих пор eDRAM была связана с кэшем L3 и получала из него данные, которые больше не могут в нем храниться.

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

Skylake: новые подходы к экономии энергии

Снова вернемся к разговору об энергоэффективности. Уж слишком на дизайн процессоров Skylake повлияло стремление разработчиков к экономии электроэнергии. Здесь использовались как традиционные подходы, так и совершенно новые идеи. Прежде всего стоит упомянуть о том, что процессорный дизайн теперь не включает интегрированный преобразователь питания. Он бы убран из соображений экономичности. В более энергоэффективных CPU с тепловым пакетом около 4,5 Вт это решение кажется слишком расточительным, поскольку теперь конвертер питания разместился на материнских платах. Следует отметить, что Intel в будущих микроархитектурах намерен вернуть преобразователь в процессор, однако не во всех версиях дизайна, а только в тех, которые рассчитаны на либеральные тепловые пакеты.

Такое очевидное нововведение заключается в том, что инженеры Intel разбили процессор на большее число энергетических доменов, которые способны независимо отключаться от линий питания в случае их бездействия. Дело также дошло и до отдельных исполнительных устройств. В Skylake 256-битные исполнительные устройства, которые отвечают за исполнение AVX-2 команд, могут независимо обесточиваться в случае простоя. Этот подход нельзя назвать новым. Подобные техники используются в том или ином виде уже довольно давно.

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

Ведь команду к снижению частот дает именно она путем обращения к микропрограмме, и определив, какие режимы с низким уровнем энергопотребления может предложить используемый вариант CPU. Таким образом переключение в любое экономичное состояние представляет собой целый комплекс мероприятий, который требует немало времени. С выходом из таких режимов дело обстоит еще хуже. Процессор должен проинформировать о произошедшем операционную систему, а система должна обработать данную информацию и передать команду процессору на переключение частоты. Такая последовательность действий обычно занимает до 30 мс. Внедрение технологии Speed Shift дает процессору большую свободу действий.

При этом он сохраняет подчиненность операционной системе, которая может перевести его на более низкую частоту с целью экономии энергии. Однако, рутинные вопросы, связанные с переключением энергосберегающих состояний, процессор теперь полностью берет на себя. Это значительно улучшает время реакции и дает возможность входить в энергосберегающие режимы и выходить из них за миллисекунды. С одной стороны, уменьшение времени реакции должно повлиять на экономию энергии, но с другой стороны это также положительно скажется на производительности. Иначе говоря, процессоры Skylake с поддержкой технологии Intel Speed Shift могут самостоятельно подбирать наиболее подходящую частоту работы, основываясь на возложенную на них нагрузку. Переключение состояний при этом будет происходить более быстро и точно.

Отблагодари меня, поделись ссылкой с друзьями в социальных сетях:


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *