Призрак: SIMD причина?

x86 arm simd neon

226 просмотра

1 ответ

Короткий вопрос: я прочитал статью об уязвимом призраке.

Это говорит о том, что затрагиваются только высокопроизводительные процессоры ARM, а не младшие. Поскольку младшие процессорные процессоры ARM не поддерживают инструкции SIMD (также называемые расширением NEON в ARM), для меня это звучит так, как будто SIMD является проблемой. Я не настолько глубоко в этой теме, но я нашел бумагу для умозрительных инструкций по SIMD.

Я просто хочу знать, прав ли я или ошибаюсь.

Автор: Citrullin Источник Размещён: 18.07.2019 10:36

Ответы (1)


4 плюса

Решение

Нет, особенность «высокого уровня», которая имеет значение на этих процессорах ARM, является неупорядоченным выполнением с предсказанием ветвлений + спекулятивным выполнением.

Процессоры с порядком работы с NEON (например, Cortex A-53 ) не включены в список затронутых процессоров, потому что Spectre зависит от спекулятивного выполнения.


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

В Meltdown вы сами запускаете инструкции в непривилегированном коде; Процессоры Intel продолжают спекулятивное выполнение после загрузки, которая должна была дать сбой, используя запись TLB для страницы только для ядра. Ошибка не возникает до тех пор, пока загрузка не попытается удалиться (что можно даже отложить, запустив отдельную цепочку медленных зависимостей инструкций перед ошибкой-загрузкой + использованием этих данных, поскольку инструкции удаляются по порядку).

Для получения дополнительной микроархитектурной информации о том, как работает Meltdown, см. Почему процессоры AMD не менее / менее уязвимы для Meltdown? (и Призрак)?

Автор: Peter Cordes Размещён: 04.01.2018 12:46
Вопросы из категории :
32x32