Реализация МРС
В реальных процессорах идея МРС еще более усовершенствована, в частности учтено то, что в программах используются так называемые глобальные переменные, переменные, которые могут использоваться в нескольких задачах. Кроме того, учтено использование программным обеспечением механизмов передачи параметров из программы в подпрограмму, т. е. в конечном счете учтено, что не все регистры при замене окон необходимо заменять. Тогда структура регистрового окна следующая:
![]() |
На рисунке:
1 - переход от задачи к задаче, сопровождающийся сменой окон;
2 - регистры SR (Static Register) при смене окон не заменяются, используются для хранение глобальных переменных;
3 - регистры DR (Dinamic Register) заменяется полностью, используются для хранения локальных переменных;
4 - FAC R – регистры фактических параметров, в них программа перед вызовом подпрограммы записывает значения фактических параметров. После смены окна записанная в FAC R информация сохраняется в новом окне, но на других адресах (происходит переименования регистров); данные в FAC R оказываются в регистрах FOR R (регистрах формальных параметров;
5 - блок регистров FAC R в каждом новом окне обновляется.