А почему за основу выбран регистрово-стековый процессор, а не чисто стековый?
Плюсы чисто-стекового: - не надо туда-сюда гонять в стек и обратно регистры при вызове функций - простое ABI, при котором можно локально оптимизировать то, что у регистровых машин пришлось бы оптимизировать глобально - маленький контекст. - точнее, контекст не маленький, а резиновый: делаем кэш вершины стека любого удобного размера, сораняем/восстанавливаем его совершенно прозрачно. - все локальные переменные лежат на стеке, компилятору проще - вызываемая функция может загадить ровно столько регистров, сколько нужно. Вызывающей не надо заморачиваться с сохранением/восстановлением регистров до/после вызова.
Re: боюсь, что оффтопикtheszMay 18 2011, 19:30:00 UTC
Дистанцируются от потока данных, но на самом деле таковым являются. См. "интеллектуальная система выборки результатов", которая является ассоциативной памятью.
Далее критиковать не буду, лучше своими делами займусь. Мне за выходные надо написать ядрышко (corelet;), процессор и тест к ним обоим. ;)
Comments 22
Reply
Reply
А так нет, чисто хобби. ;)
Reply
Плюсы чисто-стекового:
- не надо туда-сюда гонять в стек и обратно регистры при вызове функций
- простое ABI, при котором можно локально оптимизировать то, что у регистровых машин пришлось бы оптимизировать глобально
- маленький контекст.
- точнее, контекст не маленький, а резиновый: делаем кэш вершины стека любого удобного размера, сораняем/восстанавливаем его совершенно прозрачно.
- все локальные переменные лежат на стеке, компилятору проще
- вызываемая функция может загадить ровно столько регистров, сколько нужно. Вызывающей не надо заморачиваться с сохранением/восстановлением регистров до/после вызова.
Reply
Reply
Компилятор - он заведомо умнее и прозорливее процессора, ибо знает весь контекст и, в принципе, ему можно всякие хинты давать.
Если алгоритм в принципе параллелится, его лучше распараллелить на этапе написания/компиляции, а не на этапе исполнения.
ps: интересно, а чисто стековый vliw бывает? :)
Reply
Предлагаю начать параллелить прям щаз. Как несколько ядер будут доступать к одному стеку?
Reply
Reply
Далее критиковать не буду, лучше своими делами займусь. Мне за выходные надо написать ядрышко (corelet;), процессор и тест к ним обоим. ;)
Reply
Leave a comment