Реализация МРС

В реальных процессорах идея МРС еще более усовершенствована, в частности учтено то, что в программах используются так называемые глобальные переменные, переменные, которые могут использоваться в нескольких задачах. Кроме того, учтено использование программным обеспечением механизмов передачи параметров из программы в подпрограмму, т. е. в конечном счете учтено, что не все регистры при замене окон необходимо заменять. Тогда структура регистрового окна следующая:


 
 

 

 


На рисунке:

1 - переход от задачи к задаче, сопровождающийся сменой окон;

2 - регистры SR (Static Register) при смене окон не заменяются, используются для хранение глобальных переменных;

3 - регистры DR (Dinamic Register) заменяется полностью, используются для хранения локальных переменных;

4 - FAC R – регистры фактических параметров, в них программа перед вызовом подпрограммы записывает значения фактических параметров. После смены окна записанная в FAC R информация сохраняется в новом окне, но на других адресах (происходит переименования регистров); данные в FAC R оказываются в регистрах FOR R (регистрах формальных параметров;

5 - блок регистров FAC R в каждом новом окне обновляется.