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

What is access latency and rotation speed, Q. What is Access latency and Ro...

Q. What is Access latency and Rotation Speed? Access latency: A disk access basically moves the arm to selected cylinder and waits for rotational latency that may take less t

Why select clause comes after from clause in linq, The reason is, LINQ is u...

The reason is, LINQ is used with C# or other programming languages, which needs all the variables to be declared first. From clause of LINQ query just describes the range or condit

Explain working of d flip -flop, Q. Explain working of D Flip -Flop? D ...

Q. Explain working of D Flip -Flop? D (data) flip-flop is modification of RS flip-flop. Problem of undefined output in SR flip-flop when both R and S become 1 gets avoided in D

What is class invariant in c++, A class invariant is a condition that descr...

A class invariant is a condition that describes all valid states for an object. It is a logical condition to make sure the correct working of a class. Class invariants must hold wh

Why java is called machine independent, Why Java is called Machine Independ...

Why Java is called Machine Independent? While a java program is compiled this is not converted in an executable code. Rather, this is converted in a byte code. Byte code is hig

Explain isdn addressing with a example, Explain ISDN Addressing with a exam...

Explain ISDN Addressing with a example. A sub address, though a part of the ISDN address, is not seems as an integral part of the numbering scheme. Sub-address is carried in a

What are the stages of data mining, What are the stages of data mining? ...

What are the stages of data mining? The procedure of data mining comprises three stages, which are given below: a) The initial exploration b) Model building c) Deploym

What are the important tools of a three-tier client server, What are the im...

What are the important tools of a three-tier client server? In a three-tier or multi-tier environment, there the client implements the presentation logic or the client. The bus

Vector reduction instructions-vector processing, Vector reduction Instructi...

Vector reduction Instructions : When operations on vector are being deduced to scalar items as the result, then these are the vector reduction instructions. These instructions are

Which one is better hardware or software firewall, Which one is better hard...

Which one is better hardware or software firewall While deciding whether to buy a hardware or software firewall, the user must consider important factors such as performance an

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