Design Issues of RISC                                                                                                                                   Print this page
<< Previous |  First |  Last |  Next >>       

At any time, only one window of registers is visible which corresponds to the currently executing procedure.

The register window is divided into three fixed-size areas.

  • Parameter registers hold parameters passed down from the procedure that called the current procedure and hold results to be passed back up.
  • Local registers are used for local variables.
  • Temporary registers are used to exchange parameters and results with the next lower level
    (procedure called by current procedure)

The temporary registers at one level are physically the same as the parameter registers at the next lower level. This overlap permits parameter to be passed without the actual movement of data.

To handle any possible pattern of calls and returns, the number of register windows would have to be unbounded. But we have a limited number of registers, it is not possible to provide unlimited amount of registers.

It is possible to hold the few most recent procedure activation in register windows.

Older activations must be saved in memory and later restored when the nesting depth decreases. It is observed that nesting depth is small in general.

 

<< Previous |  First |  Last |  Next >>