Use of large register file, Computer Engineering

Assignment Help:

Generally the register storage is faster than cache andmain memory. Also register addressing uses much shorter addresses than addresses for cache and main memory. Though the numbers of registers in a machine are less as usually the same chip comprise the ALU and CU.  So a strategy is required that will optimize register use and so, allow most frequently accessed operands to be kept in registers so as to minimize register-memory operations.

Such optimisation can either be entrusted to an optimising compiler that necessitates techniques for program analysis; or we can follow some hardware related techniques. The hardware approach will need the use of more registers so that more variables can be held in registers for longer periods of time. This scheme is used in RISC machines.

Apparently the use of a large set of registers must lead to fewer memory accesses though in general about 32 registers were considered optimum. So how does this large register file further optimize program execution?

As most operand references are to local variables of a function in C they are obvious choice for storing in registers. A number of registers can also be used for global variables. Though the problem here is that program follows function call - return so local variables are related to most recent local function in addition this call - return expects saving the context of calling program and return address. This also needs parameter passing on call. On return from a call the variables of calling program should be restored and results should be passed back to calling program. 

RISC register file offers a support for such call- returns with help of register windows. Register files are broken in multiple small sets of registers as well as assigned to a different function. A function call spontaneouslyalters each of these sets. The usefrom one fixed size window of registers to another instead of saving registers in memory as done in CISC. Windows for adjacent procedures are overlapped. This feature permits parameter passing without moving the variables at all.


Related Discussions:- Use of large register file

Handling interrupts - computer architecture, Handling Interrupts: Pre...

Handling Interrupts: Precise interrupts (sequential semantics) Complete instructions before the offending instructions o   Force trap instruction into IF o

Define a macro definition consists of, A macro definition consists of ? ...

A macro definition consists of ? Ans. A macro Definition have: A macro prototype statement, one or various model statements and also Macro pre-processor statements

What is linked list, Q. What is Linked List? A linked list is a data st...

Q. What is Linked List? A linked list is a data structure formed by zero or more nodes linked by pointers. Every node has two parts as shown in Figure below. One of them is inf

Compare pre-emptive and non-preemptive scheduling policies, Compare pre-emp...

Compare pre-emptive and non-preemptive scheduling policies. We preempt the currently executing process in preemptive scheduling. In non-preemptive we permit the current process

Explain the working of a hybrid in telephone networks, How does a hybrid in...

How does a hybrid in telephone networks work ? The circuit operation is as follows: The input signal is coupled to the B and F windings similarly. By the C winding, the i

Determine the synchronization of bits, Determine the synchronization of bit...

Determine the synchronization of bits The synchronization provided by use of start and stop bits, an extra bit known as a parity bit may optionally be transmitted along with th

Conversion of base 10 to base 22 numerical system?, Hypothesis ... since th...

Hypothesis ... since the Hebrew language is a Numerical language meaning that each letter in their alphabet has a numerical value. I believe, that the Hebrew-language based on a r

Project, write a programme to simulate a train station to automate

write a programme to simulate a train station to automate

What are the difference between $display and $strobe, What are the Differen...

What are the Difference between $display and $strobe Difference between $display and $strobe is that $strobe displays parameters at the very end of current simulation time unit

Explain the working principle of hard disk, Question : a) Hard disk is ...

Question : a) Hard disk is an important component of a computer. What type of memory is it? b) With the help of a diagram describe its features. c) Explain its working pr

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