Functioning of registers, Computer Engineering

Assignment Help:

Functioning of registers: at any instance of time global registers and only one window of registers is visible and is addressable as if it were only set of registers. So for programming purpose there can be only 32 registers. Window in the above illustration though has a total of 138 registers. This window comprises: 

  • Global registers that are shareable by all functions.
  • Parameters registers for holding parameters passed from previous function to current function. They also hold results which are to be passed back.
  • Local registers which hold the local variables as assigned by compiler.
  • Temporary registers: They are physically same as the parameter registers at subsequent level. This overlap allows parameter passing without actual movement of data.

However what is the maximum function calls nesting can be permitted through RISC? Let's elaborate it with the help of a circular buffer diagram technically registers as above have to be circular in the call return hierarchy.

This organization is displayed in the following figure. The register buffer is filled as function Aknown as function B, function B known as function C, function C known as function D. The function D is current function. Current window pointer (CWP) points to register window of the most recent function (function D in this case). Any register references by a machine instruction is added with contents of this pointer to decide the actual physical registers.  Instead the saved window pointer recognizes the window most recently saved in memory. This action will be required if a further call is made and there is no space for that call. If function D now calls function E arguments for function E are placed in D's temporary registers denoted by D temp and CWP is advanced by one window.

 

2306_Functioning of registers.png

Figure: Circular-.Buffer Organization of Overlapped Windows

If function E now makes a call to function F, the call can't be made with current status of buffer unless we free space equivalent to precisely one window. This circumstance can easily be determined as current window pointer on incrementing will be equivalent to saved window pointer. Now we need to create space; how can we do it? The simplest way would be to swap FA register to memory and use that space. So an N window register file can support N -1 level of function calls. 

So the register file arranged in the form as above is a small fast register buffer which holds most of the variables which are likely to be used heavily. From this point of view register file acts nearlyas a cache memory.


Related Discussions:- Functioning of registers

Calculate quantities from information in bayesian network, 1. A Bayesian ne...

1. A Bayesian network is shown for the variables paper Thickness, paper Alignment and Print Quality. The conditional probabilities are provided in the tables beside the nodes. Here

Explain lexical substitution during macro expansion, Explain Lexical substi...

Explain Lexical substitution during macro expansion ? Lexical substitution is used to produce an assembly statement from a model statement. Model statements have 3 kinds of str

Write short note on code optimization, Write short note on code optimizatio...

Write short note on code optimization. Code optimization: It is the optional phase designed to enhance the intermediate code therefore the Ultimate object program runs quicke

What is the meaining of action implementing instruction, Action implementin...

Action implementing instruction's meaning are a actually carried out by ? Ans. By instruction execution, the meaning of action implementing instruction is actually carried out.

List-processing without using suppress-dialog, What happens if we use Leave...

What happens if we use Leave to list-processing without using Suppress-Dialog? If we don't use Suppress-Dialog to next screen will be viewed but as empty, when the user presse

What must the requirement of designer to get memory capacity, In applicatio...

In applications where the required memory capacity cannot be satisfied by a single available memory IC chip, what should the designer do to meet this requirement? Ans: If th

Mips assembly language equivalents , MIPS' native assembly code only has tw...

MIPS' native assembly code only has two branch instructions, beq and bne, and only one comparison instruction, slt. Using just these three instructions (along with the ori instruct

Explain about algebraic simplification, Q. Explain about Algebraic Simplifi...

Q. Explain about Algebraic Simplification? We have already determined algebraic simplification of logic circuit. An algebraic expression can exist in SOP or POS forms.  Let's i

Evaluate physical address of top of stack, Q. Evaluate Physical address of ...

Q. Evaluate Physical address of top of stack? Value of stack segment register (SS) = 6000h Value of stack pointer (SP) which is Offset = 0010h  So Physical address of top

For what an append query be used, For what an append query be used? It ...

For what an append query be used? It is simple to append records from one table to another using an append query. There is no requirement for the tables to have the similar num

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd