AMD и Intel отмечают годовщину создания Консультативной группы по экосистеме x86 (x86 Ecosystem Advisory Group) – альянса, призванного координировать развитие архитектуры набора инструкций x86 (ISA) и гарантировать поддержку новых функций обеими ведущими разработчиками процессоров. За первый год AMD и Intel удалось ратифицировать четыре новые функции, которые будут поддерживаться будущими процессорами этих компаний, включая долгожданную маркировку памяти.
Новые кросс-вендорные возможности, согласованные AMD и Intel, включают ACE (Advanced Matrix Extension) и AVX10 для повышения производительности умножения матриц и векторных операций, а также FRED (Flexible Return and Event Delivery) и ChkTag (x86 Memory Tagging) для сокращения задержек между программным обеспечением и оборудованием, а также для обнаружения таких ошибок, как переполнение буфера или ошибки использования после освобождения.
Процессоры Intel Granite Rapids уже поддерживают инструкции AVX10.1 и AMX, тогда как Sapphire Rapids стали первыми, кто поддерживал инструкции AMX. С одобрением x86 EDA, AVX10 и AMX будут поддерживаться процессорами AMD следующего поколения, хотя остаётся только гадать, произойдёт ли это с Zen 6 или уже с Zen 7. Другие возможности менее известны.
Intel публично представила технологию FRED в 2023 году, и к настоящему времени эта возможность хорошо документирована в документации для разработчиков. Технология описывается как замена традиционным механизмам прерываний и исключений x86, поэтому в конечном итоге она призвана упростить переключение контекста, сократить задержки, повысить производительность и безопасность при работе с операционными системами, которые её поддерживают.
FRED ускоряет переключение ЦП между пользовательским режимом (кольцо 3) и режимом ядра (кольцо 0) благодаря аппаратно определяемому пути входа и выхода. Хотя это звучит не слишком впечатляюще, замена старого механизма x86 (использующего таблицу дескрипторов прерываний и IRET) — это серьёзное достижение.
В настоящее время при каждом взаимодействии приложения с ОС (что происходит миллионы раз в секунду) ЦП приходится переключаться между пользовательским режимом и режимом ядра, что приводит к довольно высоким задержкам на современных компьютерах. Поскольку традиционные механизмы IDT и IRET управляются программно, а FRED предоставляет аппаратно определяемый и проверяемый путь входа и выхода, замена первого на второй также повышает надёжность и безопасность, а также производительность.
До сегодняшнего дня позиция AMD в отношении FRED была неясной, но теперь, когда эта функция признана x86 EAG как кросс-вендорная возможность, со временем она будет добавлена на платформы AMD.
Возможно, самым интересным дополнением к списку функций x86 EAG, доступных для разных производителей, является функция ChkTag (тегирование памяти x86), которая ранее широко не обсуждалась. Эта функция добавлена для обнаружения ошибок безопасности памяти — таких как переполнение буфера, использование памяти после освобождения и доступ за пределами выделенного пространства — непосредственно на аппаратном уровне. Тегирование памяти быстро становится стандартной функцией современных процессоров, поскольку оно ценно (позволяет выявлять различные аппаратные ошибки) и легко реализуется, поэтому современные процессоры Apple и Ampere теперь поддерживают технологию Arm MTE.
Сложно сказать, когда AMD и Intel планируют внедрить ChkTag (тегирование памяти x86) в свои процессоры. Объявление Консультативной группы по экосистеме x86 свидетельствует о готовности обеих компаний поддерживать эту функцию, но не обязывает их внедрять в определённые сроки. Между тем, столь глубокие аппаратные изменения обычно требуют встраивания в микроархитектуру самого процессора, поэтому ожидается, что поддержка FRED и ChkTag появится через несколько лет.
Сравнение iPhone 17, iPhone 17 Pro и iPhone 17 Pro Max