(a) The differences between and uses of CISC and RISC processors.
(b) GPUs and their uses (including those not related to graphics).
(c) Multicore and Parallel systems.
Different devices have different uses and, hence, use different processor architectures according to their individual benefits.
The RISC architecture was designed to prioritise processor efficiency and the expense programmer's ease of use. This meant that they tended toward usage where efficiency is paramount.
Key Features
Commonly used in Smartphones (ARM/Snapdragon Processors)
Machine oriented
1 Instruction per cycle
Fixed Instruction Size in memory so we can use pipelining
RISC does not do any operations directly in memory
Highly efficient & optimised – Low power consumption
Many more lines of code
Each task is broken into simple instructions
Extensive use of general purpose registers
Simplified instruction set
Few addressing modes are available
E.g. smartphones and tablets (pipelining is more important for smaller processors)
The CISC architecture sacrifices some processor efficiency for the sake of ease of development and flexibility.
Commonly Used in desktops and servers (Intel Processors)
Programmer oriented
Variable Instruction sizes in memory
Processes more complex instructions
1 Instruction may take more than one cycle
Many addressing modes are available
E.g. desktop or laptop computers
Watch the video from Craig n Dave about CISC and RISC
Activity
Download and print out the random selection of statement cards (CLICK HERE) and then cut out and sort them into the CISC and RISC groups.
Today’s challenge is to create a quiz in Python. For each question, the program should display a statement about RISC/CISC architecture. The user needs to read the statement and decide which one it applies to.
The quiz should have a time limit.
The quiz should display how many questions they got right within the time limit, display a list of statements that were wrong.
A common misconception that students will have about GPUs (Graphics Processing Units, commonly referred to as graphics cards) is that they are used to process graphics in computer games.
You may well be aware of the specifications required for particular games and quality levels that determine a graphics card requirement, however GPUs are processors which can be used for a range of tasks other than processing computer game graphics.
GPUs are used to display high quality video content such as HDMI or Blu-Ray on a screen.
Video editing also requires many calculations, especially where edits or effects have been made. The decoding and encoding of videos is also carried out by the GPU.
More recently, bitcoin mining has used GPU; a video here explains what bitcoin is: https://www.youtube.com/watch?v=Um63OQz3bjo
These sites explain how to utilise the processing power of your GPU as a bitcoin miner:
http://www.coindesk.com/information/how-to-set-up-a-miner/
Market-leading graphics card manufacturers are now using the GPU alongside the CPU to create ‘parallel computing’. Check out NVIDIAS CUDA.
Watch the video from Craig n Dave about GPU - Graphic Processing Units
Research task
Compare and contrast two GPU specifications; these can be obtained from a reseller or a manufacturer’s website.
Analyse the suitability of the GPU for a range of tasks other than playing video games. This could include, video editing and rendering, bitcoin mining, data visualisation.
Explain how the GPU is used.
Identify the benefits.
Evaluate the impact on the overall performance of the computer system.
Multicore and Parallel systems.
Serial/sequential processing:
One process is attended to at a time (serial)
The process runs until completion (sequential)
Multicore processing:
A single physical processor incorporates the logic of multiple processors within a single integrated unit
This allows multiple tasks to be processed simultaneously
Cores will likely share Level 2/3 cache but will have their own registers
Generally used with parallel processing (e.g. MIMD processors)
Parallel processing:
Processes are split into parts and shared across multiple cores simultaneously (uses multicore processing)
This allows them to be completed in the shortest possible time.
Software has to be optimized for parallel processing to make efficient use of it
Parallel processing was developed as software became more complex and hence demanded more processing power for fast execution
Watch the video from Craig n Dave about Multicore and Parallel processing
PAST PAPER QUESTIONS
Try and answer the past paper exam questions -You can write your answers on paper or print out the exam paper - Mark Scheme is provided at the end of the paper questions. (try not to look at the answers before attempting all questions)