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.