Раньше в процессорах она сбрасывалась при переходах, сейчас при записи неподалёку от текущей инструкции, чтобы избежать этого я решил использовать разделяемую память, всёравно сбрасываетсо. (тут сорс и скрин: http://openfile.ru/156118/). Можно избежать этого ?
Топик тут почитал http://www.wasm.ru/forum/viewtopic.php?id=27289&p=1 но мне интересна чисто практическая сторона.
Бесполезняк. Во-первых, на современных камнях очередь команд это чисто внутренняя фича процессора, недоступная "для внешнего мира". Соотв-но процесссор полностью отвечает за правильную послед-ть выполнения команд перед "внешним миром" - внутри него постоянно происходят "сбои" из-за непредсказанных переходов и исключений, но неверно выполненые команды никогда не вылезают наружу, т.к. они копятся в буфере и при выявлении сбоя просто выкидываются. Это общая "теория", и с "с практической стороны" можно лишь надеятся на ошибки реализации этой теории в конкретных моделях процессоров (это скорее вопрос к вездесущему Мыщху Ну а попытка сыграть на разделяемой памяти это вдвойне бесполезняк, т.к. кэши процессора работают с физическими адресами, а не виртуальными. Только в P4 для ускорения хит-теста L1 юзаются вирт.адреса, но затем все равно проверяется физ.адрес и в сл.ошибки делается откат
Clerk Могу посоветовать самомодифицирующийся код. Отлично сбрасывает очередь. Но страница должна быть р\в )