generally the register storage is faster than


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.

Request for Solution File

Ask an Expert for Answer!!
Computer Engineering: generally the register storage is faster than
Reference No:- TGS0327737

Expected delivery within 24 Hours