История изменений
Исправление www_linux_org_ru, (текущая версия) :
Эти хитрованы придумали, как (хотя бы частично) обойти ситуацию с промахом по кэшу — ту самую, что практически нереально предсказать статически. Идея очень крутая: в случае, если Load не попадает в кэш, исполняется ветвление.
не обязательно исполнять ветвление — можно, например, ограничиться conditional move on cache miss — это выглядит более безопасно и может исполняться более параллельно, чем branch
Эти хитрованы
идея очевидная; если не веришь — вот один из моих вопросов :
3. имеются ли команды, которые компилятор может генерировать, чтобы выяснить, сколько времени займет вычисление следующей команды? скажем «загрузи в регистр R5 число 3, если все операнды следующей команды лежат в L1, число 9, если они в L1 или L2, и число 100, кто-то из них в оперативке» ( Тестирование системы на «Эльбрус-2С+» (комментарий) )
кстати, книжка, которую с их сайта можно скачать, мне непонятна — и я сочувствую тем, кто по ней будет учиться; она похоже нарезана из paper-ов, и надо читать сами эти paper-ы
В общем и целом — WIN!
ну... можно сказать и так, во всяком случае (опять процитирую себя)
можно набраться наглости и сказать, что если за $5М невозможно сделать ответы на все мои вопросы «да» /* включая «3.» */, то результаты опять неинтересны
Исправление www_linux_org_ru, :
Эти хитрованы придумали, как (хотя бы частично) обойти ситуацию с промахом по кэшу — ту самую, что практически нереально предсказать статически. Идея очень крутая: в случае, если Load не попадает в кэш, исполняется ветвление.
не обязательно исполнять ветвление — можно, например, ограничиться conditional move on cache miss — это выглядит более безопасно и может исполняться более параллельно, чем branch
Эти хитрованы
идея очевидная; если не веришь — вот один из моих вопросов :
3. имеются ли команды, которые компилятор может генерировать, чтобы выяснить, сколько времени займет вычисление следующей команды? скажем «загрузи в регистр R5 число 3, если все операнды следующей команды лежат в L1, число 9, если они в L1 или L2, и число 100, кто-то из них в оперативке» ( Тестирование системы на «Эльбрус-2С+» (комментарий) )
кстати, книжка, которую с их сайта можно скачать, мне непонятна — и я сочувствую тем, кто по ней будет учиться; она похоже нарезана из paper-ов, и надо читать сами этои paper-ы
В общем и целом — WIN!
ну... можно сказать и так, во всяком случае (опять процитирую себя)
можно набраться наглости и сказать, что если за $5М невозможно сделать ответы на все мои вопросы «да» /* включая «3.» */, то результаты опять неинтересны
Исходная версия www_linux_org_ru, :
Эти хитрованы придумали, как (хотя бы частично) обойти ситуацию с промахом по кэшу — ту самую, что практически нереально предсказать статически. Идея очень крутая: в случае, если Load не попадает в кэш, исполняется ветвление.
не обязательно исполнять ветвление — можно, например, ограничиться conditional move on cache miss — это выглядит более безопасно и может исполняться более параллельно, чем branch
Эти хитрованы
идея очевидная; если не веришь — вот один из моих вопросов ( Тестирование системы на «Эльбрус-2С+» (комментарий) ):
3. имеются ли команды, которые компилятор может генерировать, чтобы выяснить, сколько времени займет вычисление следующей команды? скажем «загрузи в регистр R5 число 3, если все операнды следующей команды лежат в L1, число 9, если они в L1 или L2, и число 100, кто-то из них в оперативке»
В общем и целом — WIN!
ну... можно сказать и так, во всяком случае (опять процитирую себя)
можно набраться наглости и сказать, что если за $5М невозможно сделать ответы на все мои вопросы «да» /* включая «3.» */, то результаты опять неинтересны