Please enable JavaScript.
Coggle requires JavaScript to display documents.
Reduced Instruction Set Computers - Coggle Diagram
Reduced Instruction Set Computers
CISC and RISC
CISC
Driving force for CISC
Software costs far exceed hardware costs
Increasingly complex high level languages
Semantic gap
Intention of CISC
Ease compiler writing
Improve execution efficiency
Support more complex HLLs
RISC
Key features
Large number of general purpose registers
Use of compiler technology to optimize register use
Limited and simple instruction set
Emphasis on optimising the instruction pipeline
Characteristics
Few, simple addressing modes
Few, simple instruction formats
Hardwired design (no microcode)
Register to register operations
Fixed instruction format
One instruction per cycle
More compile time/effort
Pipelining
Two phases of execution
E = Execute
I = Instruction fetch
Most instructions are register to register
For load and store
I = Instruction fetch
E = Execute
D = Memory
Instruction execution characteristics
Operations performed
Assignments
Conditional statements (IF, LOOP)
Operands used
Mainly local scalar variables
Optimisation should concentrate on accessing
local variables
Execution sequencing
Very time consuming
Most programs do not do a lot of calls followed
by lots of returns
Most variables are local
Compiler-based register optimization
Large register file
Register is the fastest memory element – closest
to or even part of the CPU
Software solution
Allocate based on most used variables in a given time
Requires sophisticated program analysis
Require compiler to allocate registers
Hardware solution
Thus more variables will be in registers
Have more registers
Register window
Function calls only uses few parameters
Also, limited range of depth of call
Use multiple small sets of registers
Register allocation & optimization
Store local scalar variables in registers
Reduces memory access
Every procedure (function) call changes locality
Parameters must be passed
Results must be returned
Variables from calling programs must be restored
Major Advances in Computers
The family concept
IBM System/360 1964
DEC PDP-8
Separates architecture from implementation
Microprogrammed control unit
—Idea by Wilkes 1951
Produced by IBM S/360 1964
Cache memory
IBM S/360 model 85 1969
Solid State RAM
(See memory notes)
Microprocessors
Intel 4004 1971
Pipelining
Introduces parallelism into fetch execute cycle
Multiple processors