ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
25 ноября
807313 Топик полностью
Ксения (07.01.2018 14:26, просмотров: 263) ответил Ксения на "Спекулятивное выполнение команд" свойственно конвейеру лишь самых совершенных процессоров, т.к. относится к обеспечению запредельно высоких скоростей выполнения кода. Дерьмовые :) процессоры (включая пресловутый Байкал) до таких возможностей
В данном случае это особенность процессоров с предельно высокой степенью параллелизма, когда ALU пытается предсказывать ситуацию наперед, загружая из памяти то, что может потребоваться для выполнения следующих команд кода, черед которых еще не наступил. Защита в случае "чтения по предсказанию" не срабатывает, т.к. код до этого места еще не дошел, а потому и предсказание могло оказаться неверным. Вот и получается, что в кэше оседает кое-что из вероятного будущего :). Если этот механизм совсем запретить, то производительность процессора заметно снизится, соответственно числу верных предсказаний (а оно особенно велико при работе с текстами, которые чаще всего выбираются из памяти последовательно). На мой взгляд, ломать механизм "чтения вперед" не надо, а надо средствами операционной системы очищать кэш в случае возникновения акта нарушения защиты, а само приложение, это допустившее, абортировать.