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

Discuss the concept of segmentation, Discuss the concept of segmentation? ...

Discuss the concept of segmentation? Segmentation is method for the non contiguous storage allocation. This is different from paging as this supports user's view of his program

What is a recursively enumerable language, What is a recursively enumerable...

What is a recursively enumerable language?            The languages that is accepted by TM is said to be recursively enumerable (r. e) languages.  Enumerable means that the stri

Define multi programming, Define multi programming? Many operating syst...

Define multi programming? Many operating systems are designed to enable the cpu to process a number of independent programs concurrently. This concept is  known as multi progra

What is cartridge drive, Q. What is Cartridge Drive? Cartridge Drive: ...

Q. What is Cartridge Drive? Cartridge Drive: A cartridge is a protective covering or case which is used to hold a magnetic tape, disk, a printer ribbon or toner. Contents are

Application of connect-4 game, The game Connect-4 is played on a board that...

The game Connect-4 is played on a board that has seven columns. There are six spaces on each column. The board is initially empty. Two players take turns dropping one piece (black

State the selective clear - logic micro operations, State the SELECTIVE CLE...

State the SELECTIVE CLEAR - logic micro operations The selective-clear operation clears to 0 bits in register A only  where there are corresponding 1's in the register B. For

What do you mean by directives, Q What do you mean by Directives? Assem...

Q What do you mean by Directives? Assembly languages support numerous statements. This allows you to control the way in which a source program assembles and list. These stateme

Write down the basic performance equation, Write down the basic performance...

Write down the basic performance equation? T=N*S/R T=processor time N=no.of instructions S=no of steps R=clock rate

Where particular header ends & next item begins of ipv6, As IPV6 contain mu...

As IPV6 contain multiple headers, how does it know where particular header ends and next item begins? Several headers types contain fixed size. For illustration a base header h

What is software quality assuranc, Software QA includes the whole software ...

Software QA includes the whole software development PROCESS - improving and monitoring the process, making sure that any agreed-upon standards and processes are followed, and ensur

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