1.7 Reduced Instruction Set Computer (RISC) : Characteristics of CISC Architecture
1.7 Reduced Instruction Set Computer (RISC) : Characteristics of CISC Architecture
1.7 Reduced Instruction Set Computer (RISC) : Characteristics of CISC Architecture
Characteristics of CISC architecture: 1. A large instruction set. 2. Instructions that perform special tasks and are used infrequently. 3. A large variety of addressing modes (5-20 different modes).
Characteristics of RISC architecture: 1. Relatively few instructions mostly register-to-register operations 2. Relatively few addressing modes (because of 1) 3. Memory access limited to load and store instructions. 4. All operations done within the register of the CPU. 5. Fixed-length, easily decoded instruction format aligned to word boundaries simplifies control logic 6. Single-cycle instruction execution fetch, decode, and execute phases for two to three instructions overlap: pipelining. Memory references may take more clock cycles. 7. Hardwired rather than microprogrammed control (faster).
and avoid need for saving and restoring register values: speeds up procedure calls and returns. Each procedure call results in the allocation of a new window consisting of a set of registers current window pointer (CWP) is decremented: corresponds save in Figure 1.10. Each return statement increments the CWP: corresponds restore in Figure 1.10. Windows for adjacent procedures (nested calls) have overlapping registers that are shared to provide the passing of parameters and results. Local register can be used for local variables by using local registers there is no risk of corrupting data of another procedure (e.g. caller). Overlapped registers are used to pass parameters (in) and store results (out). Only one register windows is activated at any given time with a CWP. Each procedure call activates new register window by updating (decrementing) the CWP.
CW
CW
CW
CW CW
rest ore
CW
sa
Figure 1.10 Overlapped register windows To summarize: Register windows provide easy access to a large collection of registers and can reduce the need to save registers in memory. If you write a procedure with more parameters than common registers (reserved for input parameters), you will need to use the stack for any parameters beyond the amount of reserved number of registers. If your call sequence gets deeper than number of windows (as it probably will in most recursive procedures), you are again forced to use the stack. In general, the organization of register windows will have the following relationships: Number of global registers = G Number of local registers in each window = L Number of registers common to two windows = C Number of windows = W Number of registers available for each window is calculated as follows: window size = L + 2C + G The total number of registers needed in the processor is Register file = (L + C)W + G
10 global and 8 windows of 32 registers. Berkeley RISC I instruction formats are shown in Figure 1 11. And the instruction set are shown in Table 1.10.
Where: Rd field: selects a destination register for result. Rs field: one of the source registers. S2 field: second source, can specify a register or an immediate operand. Y field: 19-bit relative address. COND field: specify one of the possible branch conditions.
From Table 1.6, register R0 contains all 0's, so it can be used in any field to specify a zero quantity. Number sign # used in an immediate operands.