RISC Flashcards
What are the three key elements to be aware of in RISC machines.
- A limited and simple instruction set.
- A large number of general-purpose registers.
- An emphasis on optimising the instruction pipeline
What effect did High Level Languages have on processing?
They created a semantic gap.
Define semantic gap in terms of computer architecture.
The difference beteween the operations provided in high level langagues and those provided in computer architecture.
What issues arise from a semantic gap?
Excecution fuck ups
excessive program size
compiler complexity
What was the driving force for CISC machines?
Close the semantic gap.
What sort of features did CISC machines have in an attempt to close the semantic gap between high level langauges and the CPU architecture that would have to deal with them?
Large number of instructions
Dozens of addressing modes
High level language statements implemented in hardware
Define operations performed in relation to RISC/CISC development.
The functions to be performed by the CPU and its interaction with memory
Define operands used in relation to RISC/CISC
The types of operands use and their memory organisation for storing them and addressing modes for accessing them.
Define execution sequencing in relation to RISC/CISC
The control and pipeline organisation
What are the key things of note from studies of HLL programs?
Assignment statements predominate.
Conditional statements are frequent.
If assignment statements are high in HLL, what does this suggest?
Data movement is very important
What does a large quantity of conditional statements help to understand?
That sequence control of the instruction set is important
What do we understand about variables from Patterson study?
Variables are often local and scalar and optimisation on storing and accessing variables is compelling.
What three things did the Patterson study reveal about procedure calls?
That they are very time consuming.
The number of parameters and variables a procedure deals affects speed.
Depth of nesting also affects speed.
What is a large number of registers in RISC supposed to support?
operand referencing
What is the point of careful attention to design of instruction pipelines?
Given the high number of conditional branch calls, a straightforward pipeline will often have a lot of prefetched and then cleared instructions. Things could be better.