-
- Там проблема в другом. Кэшь плюс механизмы предсказания ветвлений и спекулятивное выполнение кода. - mse homjak(06.01.2018 22:52)
- Именно это я и говорю.
Пуговицы пришиты крепкоКэшь работает?Не оторвешьРаботает. Ветвления предсказываются? Предсказываются. Код спекулятивно выполняется? Выполняется. Исключения защиты происходят? Происходят. А что все вместе LightElf(46 знак., 07.01.2018 14:57)- Ну, проблема-то, как раз явная. Косячит ММУ. Исключение генерится не в момент доступа к "запрещённой" памяти, а только в момент доступа к ветке по ветвлению, когда уже всё. - mse homjak(07.01.2018 15:00)
- MMU как раз работает абсолютно правильно - исключение происходит именно в момент, когда юзерский код "лезет куды нельзя". А когда "куды нельзя" лезет не юзерский код, а "спекулятивный исполнитель на пару с предсказателем", то с чего исключение-то? - LightElf(07.01.2018 15:14)
- Ну как... Юзерский код полез "нитуда". Какая разница, спекулятивно или нет? Физический доступ кода юзера к защищённой памяти состоялся. А мы об этом узнаём только когда нас выкинет на предсказанную ветку. - mse homjak(07.01.2018 16:30)
- Юзерский код никуда не полез. Это проц ошибся, взяв не те значения что определяет код а те что ему померещились. Потому исключения на спекулятивном исполнении быть не может. - ASDFS(07.01.2018 16:42)
- Ибо предсказатель может ошибиться, а если исключения будут по факту выполнения ошибочно предсказанного кода -- это никуда не годится. - fk0(07.01.2018 15:58)
- Почему? Если юзверев код лезет куда не надо(даже спекулятивно, какая разница?), значит этот код надо блокировать, именно, при физическом контакте с защищённой памятью. Или останавливать спекулятивное выполнение ветки, ожидая прямого попадания. mse homjak(33 знак., 07.01.2018 16:34)
- "Или останавливать спекулятивное выполнение ветки, ожидая прямого попадания." Вот. AMD-шники утверждают что у них именно так и потому Meltdown на AMD не проходит. - LightElf(07.01.2018 17:09)
Хеее :) Славься, хитрая АМДшья жопа :)Обманули!!! Так где, в итоге, более-менее честный список подверженных AMD? - Николай Коровин(09.01.2018 20:01 - 28.01.2018 20:30)- Имана! - mse homjak(08.01.2018 10:11)
- Код абсолютно корректен. Но если в коде есть указатель, то он физически может адресовать любую память. А при спекулятивном исполнении проц фактически может волюнтаристски присвоить указателю любое значение. С твоей точки зрения это означает ASDFS(53 знак., 07.01.2018 16:44)
- "Или останавливать спекулятивное выполнение ветки, ожидая прямого попадания." Вот. AMD-шники утверждают что у них именно так и потому Meltdown на AMD не проходит. - LightElf(07.01.2018 17:09)
- Почему? Если юзверев код лезет куда не надо(даже спекулятивно, какая разница?), значит этот код надо блокировать, именно, при физическом контакте с защищённой памятью. Или останавливать спекулятивное выполнение ветки, ожидая прямого попадания. mse homjak(33 знак., 07.01.2018 16:34)
- Ну как... Юзерский код полез "нитуда". Какая разница, спекулятивно или нет? Физический доступ кода юзера к защищённой памяти состоялся. А мы об этом узнаём только когда нас выкинет на предсказанную ветку. - mse homjak(07.01.2018 16:30)
- MMU как раз работает абсолютно правильно - исключение происходит именно в момент, когда юзерский код "лезет куды нельзя". А когда "куды нельзя" лезет не юзерский код, а "спекулятивный исполнитель на пару с предсказателем", то с чего исключение-то? - LightElf(07.01.2018 15:14)
- Ну, проблема-то, как раз явная. Косячит ММУ. Исключение генерится не в момент доступа к "запрещённой" памяти, а только в момент доступа к ветке по ветвлению, когда уже всё. - mse homjak(07.01.2018 15:00)
- Именно это я и говорю.
- Там проблема в другом. Кэшь плюс механизмы предсказания ветвлений и спекулятивное выполнение кода. - mse homjak(06.01.2018 22:52)