Обновление Intel Руководство по ISA: новые инструкции для Alder Lake, а также BF16 для Sapphire Rapids

8

Как и у любого поставщика процессоров, важно иметь подробный список того, что делает процессор и как его оптимизировать. Помощь программистам также в планировании того, что будет происходить, также жизненно необходима. Для этого мы часто получаем представление о том, что будет в будущих продуктах, отслеживая эти обновления. Он не только дает подробные сведения о новых инструкциях, но и часто проверяет кодовые имена для продуктов, которые не были «официально» признаны. Последнее обновление Intel для своего Справочного руководства по ISA Extensions делает именно это, подтверждая, что Alder Lake является будущим продуктом, и определяет, какие новые инструкции появятся на будущих платформах. Возможно, самой большой новостью этого является продолжение поддержки BFLOAT16, первоначально предполагалось, что это будет только Cooper Lake (и с учетом того, что у Cooper Lake будет ограниченный запуск), но теперь он также будет включен в грядущее поколение Sapphire Rapids, набор для развертывания в суперкомпьютере Aurora в конце 2021 года.

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

Поддержка инструкций Intel
AnandTech Тремон
Атом
CPR
Xeon
ICL
Xeon
SPR
Xeon
тигр
Озеро
Ольха
Озеро
PCONFIG ?
WBNOINVD ?
Intel MKTME ?
ENCLV ?
MOVDIR * ?
AVX512_BF16 нет
AVX512_VP2INTERSECT ?
CET ?
ENQCMD *
PTWRITE
TPAUSE, UM *
Arch LBRs
HLAT
сериализации
TSXLDTRK

Начну с того, что я считаю важной новостью: поддержка BF16 в Sapphire Rapids. Из этого руководства ясно, что BF16 не быть поддержанным в Ice Lake Server, что означает, что технически BF16 пропустит поколение, идущее от Cooper Lake до Sapphire Rapids. Но, как мы уже сообщали ранее, Cooper Lake изменился с широкого запуска для всех на минимальный запуск только для избранных клиентов и тех, которые ориентированы на топологии 4S и 8S (например, Facebook). Таким образом, это можно было бы считать более «запоздалым» запуском, если предположить, что Sapphire Rapids будет широко использоваться. Любой, кто планирует использовать Cooper Lake для BF16-совместимых рабочих нагрузок, должен будет подождать еще пару лет.

Другая большая новость — упоминание озера Олдер. До этого момента Олдер Лэйк упоминался только в неподтвержденных слайдах или в профилях LinkedIn инженеров, которые работали над ним (и впоследствии эти ссылки были удалены). Насколько мы понимаем, Alder Lake — это 10-нм продукт, следующий за Tiger Lake. Tiger Lake (то, что мы знаем до сих пор) — это четырехъядерный мобильный чип, который должен быть запущен в конце 2020 года, что означает, что Alder Lake, вероятно, будет в хвостовой части 2021 года.

Что Alder Lake (и Sapphire Rapids) получает за инструкции, включает в себя архитектурные LBR (последняя запись ветвления) для ускорения ветвлений, HLAT (управляемый гипервизором линейный перевод адресов), который вызывает линейную трансляцию адресов, и SERIALIZE, который заставляет команду Пройдите ядро ​​со всеми предварительно очищенными кэшами и дождитесь завершения всех буферизованных записей перед запуском. Обновление LBR помогает повысить производительность, HLAT предназначен в первую очередь для Sapphire Rapids, а SERIALIZE — для решения недавних проблем безопасности.

Также следует отметить некоторые обновления сервера Ice Lake. Теперь в списке Ice Lake Server указано Intel MKTME, Intel Multi-Key Total Encryption, который представляет собой набор методов шифрования памяти для нескольких зашифрованных сред, расширяя область применения этих технологий с ключом к соответствию / превосходству мастерства AMD в этой области. , Еще одно замечание (но не новое для этого документа) — поддержка ENCLV, которая связана с безопасными анклавами SGX.

Еще одна точка безопасности — новая инструкция TSXLDTRK для Sapphire Rapids. Это инструкция TSX Load Tracking «приостановить» с соответствующим XRESLDTRK для возобновления отслеживания нагрузки для TSX. (TSX = транзакционная память.)

Полную информацию об этих новых инструкциях можно найти в Intel Developer Zone.

Источник: Instlatx64 в Твиттере

Связанное Чтение