Intel и AMD представили новые улучшения архитектуры x86 для повышения производительности и безопасности
В конце прошлого года Intel и AMD основали консультативную группу по экосистеме x86 (EAG) для развития архитектуры x86 в эпоху расширения присутствия Arm и RISC-V. Год спустя упорная работа инженеров Intel и AMD приносит первые плоды. Согласно новым публикациям основателей консультативной группы, сейчас добавляются новые инструкции для усиления уровня безопасности и повышения производительности векторных и матричных операций.
Первой в очереди стоит новая инструкция FRED (Flexible Return and Event Delivery), разработанная как новая современная и стандартизированная модель прерываний для снижения задержек в программном обеспечении и повышения его надежности. В дополнение к FRED такие инструкции, как AVX10 и ACE (Advanced Matrix Extensions for Matrix Multiplication), теперь стандартизированы и реализованы по всей стека, что означает появление стандартизированного способа ускорения матричного умножения, а также 512-битных векторных расширений.
Возможно, самой интересной и важной частью этого обновления является ChkTag для безопасности памяти x86. ChkTag — это новый набор инструкций для тегирования памяти в x86, который помогает выявлять распространенные ошибки безопасности памяти, такие как переполнение буфера и использование после освобождения, путем присоединения небольших тегов к памяти и их проверки на аппаратном уровне. Это дает разработчикам и компиляторам детальный контроль над тем, какие доступы проверяются, поэтому инструменты могут включать защиту там, где это наиболее важно, без высоких накладных расходов чисто программных подходов. Это делает практичным укрепление приложений, ядер, гипервизоров и даже микропрограмм, в то время как двоичные файлы с поддержкой ChkTag могут по-прежнему работать на более старых процессорах, не имеющих аппаратных функций, что облегчает развертывание. Разработчики намерены, чтобы ChkTag дополнял существующие средства защиты, такие как теневые стеки и конфиденциальные вычисления, а полная спецификация ожидается позже в этом году.
После формирования x86 EAG Intel отказалась от своего проекта x86S — экспериментальной архитектуры набора команд, направленной на упрощение конструкции процессора за счет удаления унаследованной поддержки старых 32-битных и 16-битных режимов работы. x86 и его 64-битный вариант x86-64, который мы используем сегодня, представляют собой гигантский кластер спецификаций, содержащий так много инструкций, что вряд ли кто-то может с точностью сказать, сколько их всего. Все это проистекает из эпохи оригинальных процессоров 8086, которые имели собственные 16-битные инструкции. Позже мы перешли к 32-битным, а затем к 64-битным системам, и все они привнесли свои специфические инструкции. Добавление поддержки обработки векторных, матричных и других типов данных настолько увеличило спецификацию ISA, что никто, кроме нескольких избранных инженеров в Intel (и AMD), не понимает ее полностью. Из этой идеи и родился x86S, чтобы решить проблему поддержки унаследованных систем и кода. Однако после создания x86 EAG Intel прекратила этот проект и теперь сосредотачивается на новой эре извлечения большей производительности и повышения безопасности вместе с AMD.
0 комментариев