Architechtural features
CISC:
- many instruction formats are possible;
- there are more addressing modes;
- makes use of multi-cycle instructions;
- instructions can be of a variable length;
- longer execution time for instructions;
- decoding of instructions is more complex;
- it is more difficult to make pipelining work;
- the design emphasis is on the hardware;
- uses the memory unit to allow complex instructions to be carried out.
RISC:
- uses fewer instruction formats/sets;
- uses fewer addressing modes;
- makes use of single-cycle instructions;
- instructions are of a fixed length;
- faster execution time for instructions;
- makes use of general multi-purpose registers;
- easier to make pipelining function correctly;
- the design emphasis is on the software;
- processor chips require fewer transistors.
Which architecture?
Compare the requirements of these two scenarios, and identify - with justifications, which hardware architecture would suit each scenario.
Consider the two following Scenarios:
Scenarios 1
A desktop computer used for video editing and gaming requires a powerful processor to handle demanding tasks like rendering complex graphics and processing large video files.
Requirements:
- High processing power: The processor needs to be able to perform a large number of calculations per second to handle the workload of video editing and gaming applications.
- Support for complex instructions: The processor should be able to execute complex instructions efficiently to reduce the number of instructions required for a given task.
- High instruction throughput: The processor should be able to execute multiple instructions simultaneously to minimize the overall processing time.
Scenario 2
A robotic arm used in a manufacturing plant requires a real-time microcontroller to control its precise movements. The microcontroller needs to be able to respond to sensor inputs and adjust the arm's position within very tight deadlines.
Requirements:
- Low power consumption: The robotic arm is battery-powered, so the microcontroller needs to be energy efficient to maximize its operating time.
- Predictable execution time: The micro-controller's responses must be predictable and consistent to ensure the arm's movements are accurate and safe.
- Small code size: The microcontroller has limited memory, so the code needs to be compact to fit within the available space.