1.1.2 Types of Processor Flashcards
Von Neumann Architecture
One memory for both instructions and data
Shared bus for instructions and data, slower as only one can be transferred at once
One ALU, control unit and set of registers
Von Neumann Advantages
Cheaper
Simpler - no software needed to understand
More efficient use of memory (one can’t be full up when one has lots of space)
Harvard Architecture
Separate memories and buses for instructions and data
Harvard Advantages
Can have different sized memory/words for each
Gets data and instruction in one clock cycle
Contemporary Processor Architecture
Uses elements of both Von Neumann and Harvard architecture
Uses von Neumann when accessing main memory but Harvard for cache
CISC
Complex Instruction Set Computers
Use a large instruction set to accomplish tasks in as few lines of assembly language as possible
Each instruction combines a load/store with the actual calculation
Often used in desktop computers
CISC advantages
+Easier to code- doesn’t need code to load and store
+Requires less RAM - reads and writes less often
+Less work for a compiler to translate
RISC
Reduced Instruction Set Computers
Uses a minimal number of very simple instructions, each take one clock cycle to complete
Often used in mobile phones - smaller/cooler
RISC advantages
+Acquire each instruction quickly
+Less instructions so smaller and cheaper
+Simpler hardware
+Lower energy consumption
Multi-core and parallel systems
Distribute workload across multiple processor cores- several tasks in parallel
Known as parallel systems
We have dual/quad core, supercomputers thousands
Needs software that allows for multiple cores to be used
Co-processor systems
An extra processor is added to supplement the main processor (CPU)
Usually has a limited range of specialised functions
GPU
Graphical Processing Unit
Very efficient at manipulating computer graphics - thousands of small cores
Used to accelerate functions
Parallel processing
When a computer carries out multiple operations at once
SIMD
Single instruction multiple data
One operation carried out on many pieces of data at once
Commonly used to improve multimedia performance
MIMD
Multiple instruction multiple data
Different instructions carried out on different pieces of data simultaneously
Well-known for use in supercomputers