A-level Computing/OCR/Unit 1.1.2 Types of Processor

= RISC and CISC Architectures = Reduced Instruction Set Computing (RISC) and Complex Instruction Set Computing (CISC) are different design strategies for CPUs.

RISC
The instructions in RISC are simpler and only take one clock cycle to execute, however as a result complex tasks require many more instructions compared to a CISC processor. This means that a more complex task may take many more FDE cycles to complete. Pipelining can be used to further speed up tasks and reduce the number of FDE cycles taken to complete tasks. Its simple design means it usually requires less power and generates less heat, and as such it has mostly replaced CISC and is used in portable devices however the disadvantage to RISC is that the code is longer requiring more RAM and causing the complier to do more work due to the code being further from high level languages than in CISC processors.

CISC
CISC is a design where a more complex instruction set is permitted. The design is such that single instructions can execute several low level operations (e.g. load from memory, store to memory or an arithmetic operation), or are capable of multi step operations or addressing modes within single instructions. These instructions may take multiple FDE cycles and may have a variable format. The advantage to this is that instructions will take up significantly less space in memory as few are required to carry complex tasks. Assembly code for CISC can also take less time to write for a programmer.

However, the disadvantage of this more complex design is that it results in complicated hardware to decode the larger instruction set. As a consequence, CISC architecture tends to generate more heat due to extra power requirements, making it less portable. They also tend to be more expensive, and can cause programs to run slower due to their extensive circuitry. However, they make the life of a programmer easier as fewer instructions have to be written to accomplish the same task.

RISC vs CISC
Question: Compare RISC and CISC processors.

Total: 4 marks. Maximum of 4 marks, 1 for each of the following points. Maximum of 2 marks for RISC

and 2 marks for CISC

• RISC has a smaller/limited range of instructions

• RISC requires less power/generates less heat to run.

• RISC is generally cheaper to produce.

• Each instruction in RISC will generally take one clock cycle to complete.

• CISC has a larger range of instructions.

• CISC programs require less memory.

• One instruction in CISC may take multiple clock cycles to complete.

Hints: This is a comparison question, so make sure you keep your points balanced — the same number for RISC and for CISC. It does not have a limit on the number of points in the questions, so look at the number of marks available. 4 marks mean 4 points, 2 for

RISC and 2 for CISC.

GPU's
Graphics Processing Units (GPU's) are specialist processors designed for graphics rendering, often in 3D. They tend to run in SIMD (Single Instruction Multiple Data), as much of the processing requires the same action to be performed to multiple pieces of data. For example, rotating an object may require performing the same mathematical function to all of its vertices. GPU's are increasingly being used in other fields, such as physical system modelling, audio processing, password cracking and machine learning.

Question: Why is a GPU more suitable than a CPU for processing graphics?


 * CPUs are general purpose processors (1)
 * whereas GPUs are designed specifically for graphics (1).
 * And so likely to have built in circuitry/instructions for common graphics operations (1).
 * GPUs are able to perform an instruction on multiple pieces of data at one time (1)
 * often we want to do this when processing graphics (e.g. transforming points in a polygon or shading pixels) (1)
 * which means it can perform transformations to onscreen graphics quicker than a CPU (1)

Types of Processor
There are several different types of processor available to use in various different systems:

Co-Processors
This is an additional processor working alongside the main CPU. It is designed, and indeed optimized, to be used for a specific task, and improves the processing speed by executing concurrently with the main CPU. An example of this could be a maths co-processor, or a floating point accelerator.

Scalar CPU
A Scalar CPU is one which performs computations on a single number or set of data at one time. Most modern-day computers have scalar CPU's. They are known as Single Instruction Stream Single Data Stream processors, or SISD for short.

Array/Vector CPU
An Array CPU (Also known as a Vector CPU) is one which allows a single instruction to simultaneously operate on multiple data locations. Applying the same calculation to several pieces of data is very quick. It is known as a SIMD processor, Single Instruction Multiple Data. Examples of their use include weather forecasting and airflow simulations.

Parallel Processor
A parallel processor uses independent processors to work on the same program. The process in question is split into tasks, each of which may be processed by any of the processors. The processors are all coordinated by a complex operating system. Programs must be specifically written for parallel processing, otherwise some processes cannot be completed until others have finished, as they depend on the outcome of the current process.

A system is setup to simulate the ways in which crystals grow. Each molecule of chemical reacts with all those around it to create the final shape. It is decided to use parallel processing to simulate the growth of the crystals.

(a) (i) Explain what is meant by parallel processing.

(ii) Explain why parallel processing is used in this simulation. [4]

(b) Give one disadvantage of using parallel processing in this simulation. [1]

10 (a)(i) (ii)
 * Simultaneous use of... (do not accept: apparently)
 * more than one processor...
 * to carry out large number of calculations...
 * because the calculations are simple/similar/repetitive...
 * carried out in much shorter time (compared with single processor)
 * calculations are interdependent with results of one group feeding into next calculations.

(1 per -, max 3 per dotty, max 4) [4]

(b) Need for complex software/O.S. [1]