Модернизация процессора для Spectre и Meltdown
Для исправления обнаруженной недавно уязвимости Spectre и Meltdown выпущено множество исправлений. Однако все они делают это (насколько я понимаю), отключая использование определенных функций на процессоре.
Поэтому мне интересно, могут ли (прогнозирующие) функции, которые отключены, вернуться к процессорам следующего поколения?
Какие изменения дизайна в архитектуре процессора должны быть сделаны? Могут ли те же алгоритмы прогнозирования все еще использоваться в будущем или их необходимо адаптировать?
Я ищу техническое объяснение, какие варианты существуют, чтобы восстановить производительность перед исправлением и сделать функционал безопасным.
1 ответ
Я предполагаю, что это может быть исправлено дополнительным тегом (id спекуляции) в записи кэша, который сообщает, было ли кэшированное значение введено спекуляцией. При чтении (внешней по отношению к процессору) записи с этим набором тегов запись в кэше невидима (пропускается). Когда предположение выбрано для исполнения (иначе не отбрасывается), тег очищается (для этого идентификатора спекуляции). Для меня это звучит исправимо через неделю, но тогда я всего лишь разработчик программного обеспечения, а не дизайнер процессора:-)
Изменить: если я правильно понимаю комментарии, выше не достаточно. Нам необходим дублирующий кэш L1, чтобы также предотвратить обнаружение выселения.