characteristics of von neumann architecture
shared memory for instructions and data in the same format (word length)
single CU follows linear FDE cycle, one instruction at a time
registers offer fast data access
one bus is simpler for control unit design but forms a bottleneck
used in PCs, laptops, servers and high performance computers
characteristics of harvard architecture
instructions and data stored in separate memory units with separate buses with separate word lengths
CU for two buses is more complicated and expensive
parallel access to data and instructions
used in digital signal processing and embedded systems
reading and writing is done at the same time as fetching instructions
characteristics of contemporary architectures
SIMD (single instruction multiple data)
parallel processing, processor carries out single instruction on multiple data like GPU stuff
MIMD (multiple instruction multiple data)
multiple instructions carried out on multiple data across several cores
distributed computing
Multiple computers on a shared network each take on part of a bigger problem, eg SETI@home in NASA
characteristics of CISC (complex instruction set compiler)
More complex hardware with many transistors
Shorter code requiring less RAM
Closer to high level languages
Less work for compiler to do
Some instructions require multiple clock cycles to complete
Fewer registers
Lots of transistors which use up power and generate heat
Larger in size than RISC CPUs due to heat sink/fan
characteristics of risc (reduced instruction set compiler)
Simpler hardware
Longer code requiring more RAM
Further away from high level languages
Compiler has to do more work
Every operation takes place in one clock cycle (allows for pipelining; more efficiency)
More registers to hold many smaller, simpler instructions
Less transistors so less power consumption, less heat and lower cost
Smaller in size than CISC CPUs
differences between CPU and GPU
GPU is more specialised towards parallel computing as opposed to general processing functions
GPU runs processes in parallel, but CPU runs them serially
GPU has more cores but they’re each less powerful than CPU cores
GPU has high throughput but CPU has low latency
GPU is used in high performance computing devices
what are co-processors
they supplement the functions of the primary processor
they carry out a limited range of functions like floating point arithmetic, graphics processing, digital signal processing
it may not be a general purpose processor with the ability to fetch its own instructions, input/output etc