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

Define peripheral, Define peripheral. Devices that are under the direct...

Define peripheral. Devices that are under the direct control of computer are said to be linked online. These devices are intended to read information into or out of the memory

Explain the design reusability of verilog, Explain the Design reusability o...

Explain the Design reusability of Verilog There is no concept of packages in Verilog. Functions and procedures used within a model should be  defined  in  the  module.  To  mak

Define organizing, Q. Define Organizing? Grouping of related activities...

Q. Define Organizing? Grouping of related activities together, Identification of required activities and forming departments and coordinating various departments with the estab

What is segment - assembler directives, What is SEGMENT - Assembler directi...

What is SEGMENT - Assembler directives SEGMENT:  This directive defines to assembler the start of a segment with name segment-name.  Segment name must be unique and follows the

Define superscalar processors, In scalar processors just one instruction is...

In scalar processors just one instruction is implemented per cycle which means just one instruction is issued for each cycle and only that one instruction is completed however the

Explain grade of service with reference to telephone traffic, With referenc...

With reference to telephone traffic, explain the terms GOS. GOS: in loss systems, the traffic carried through the network is usually lower than the actual traffic offered to

C programming, You are given a collection of words, say as in a dictionary....

You are given a collection of words, say as in a dictionary. You can represent it in the following compressed form: the first word will be followed by a sequence of a pair of numbe

Define decision support system, Q. Define Decision Support System? An...

Q. Define Decision Support System? Ans. The decision support system is an information system application which help decision making. DSS tends to be used in planning or analy

What is input - output instructions, Q. What is Input - Output Instructions...

Q. What is Input - Output Instructions? An I/O instruction is stored in memory of computer and is fetched as well as executed by processor producing an I/O-related command for

What is the difference between strong ai and weak ai, Strong AI makes the b...

Strong AI makes the bold claim that computers can be made to think on a level (at least) equivalent to humans. Weak AI only states that some "thinking-like" features can be added t

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