Processor Architecture Flashcards
Von Neumann
. Instructions + Data stored in RAM
. Same data bus uses to transfer data and instructions
. Same word size is used for all memory
. Fetch instructions and fetch data tale 2 clock cycles
. Easy for the CU to manage processes
. More efficient use of RAM
. Only one data bus needed so it is cheaper
Von Neumann Bottleneck
. Every piece or data and instruction has to pass across the data bus in order to move from main memory into the cpu
. This is a problem because data bus is alot slower than the rate at which the cpu can carry out instructions
. This is called von neumann bottleneck
Harvard
. Separate memory for data and instructions so 2 data buses
. One can be read only and one write
. Word size can be different
. Buses will be different sizes
. Can be faster than von neumann as data and instructions can be fetched in parallel, only taking 1 clock cycle
. Memory may be wasted
. Expensive
Other contemporary processor architecture
. Can incorporate elements from harvard and von neumann
CISC
. Complex hardware
. Multiple clock cycles
. Greater energy consumption
. Expensive
. Can’t use pipelining
. Compiler has less work to do
. More efficient use of ram
RISC
. Simpler hardware
. Single cycle per instruction
. Cheaper to produce
. Low energy consumption
. Supports pipelining
. Compiler has to do more work
. Heavy use of RAM
What is a GPU
. An extra processor that supplements the cpu to do specific tasks
. Located on a separate graphics card
. Perform calculations for rendering images
. Perform simple operations on large databases
. Single instructions applied over and over to different pieces of data
What is multicore processing?
. Multiple cpu’s on one chip
. Each have their own cache
. Can have intercore communication system
. Can multitask
Define parallel processing
. A computer carries out multiple computations simultaneously to solve a problem by dividing instructions over multiple processors or cores
SIMD
. Single instruction multiple data
. Completing the same instruction on multiple pieces of data concurrently
. Sometimes called array processing
. Eg) GPU
MIMD
. Multiple instruction multiple data
. Completing different instructions on different pieces of data concurrently
. Eg) multiple cores in a super computer
Advantages of parallel processing
. More jobs done in a shorter time as they are executed simultaneously
. Tasks can be shared across processors- reduces loads and avoids bottlenecks
Disadvantages of parallel processing
. Does not mean there is a linear improvement in processing speed
. Relies on the program having being written to be capable of parallel processing
. Adds an extra degree of complexity to writing software