1.1.2 Types of Processor Flashcards
what is an instruction set?
instructions that a computer is able to carry out
what are the characteristics of a CISC processor?
- larger instruction set with more complex instructions
- instructions take more than 1 clock cycle to execute
- more general purpose registers
- instructions take up less memory
what are the characteristics of RISC?
- smaller instruction set with simpler instructions
- instructions take 1 clock cycle to execute (suitable for pipelining)
- has fewer addressing modes
- fewer registers
what are the advantages of RISC?
- uses less power
- costs less to manufacture
what are the advantages of CISC?
- takes up less space in memory
what is a GPU?
graphics processing unit
what is a co-processor?
any additional processor used for a specific task
why are co-processors used?
to improve the overall speed of the comptuer by excecuting concurrently with the CPU
what are GPUs good at?
performing simple instructions on large data sets
what are CPUs good at?
performing complex instructions on small data sets
what is the diffference between a CPU and a GPU?
- CPUs are more general purpose (run faster generally)
- GPUs are speciallised for performing instructions on large data sets eg. rendering graphics (faster for specific tasks)
what is SIMD processing?
- simple instruction multiple data
- having multiple processing elements which perform the same operation on multiple data points simultaneously
what else are GPUs used for?
- oil exploration
- weather modelling
- machine learning
- linear algebra
- statistical analysis
- stock option predictions
- gravitational field theory
what is a multicore processor?
a single chip that has two or more independent processing units
what are the benefits of multicore processing?
- multitasking - each core can process something different
- background tasks - multicore processor can assign background tasks to one core which reduces their impact of speed on the other tasks
- improved responsiveness - if a program becomes unresponsive, another core can continue to run the program to stop it slowing the computer down
what is parallel processing?
the processing of program instructions by dividing them between multiple processors or processor cores
what are the advantages of parallel processing?
- increase speed and performance
- problem solving - large problems can be solved more easily
- real time applications eg. graphics rendering are improved
what are the disadvantages of parallel processing?
- limit on maximum speed - not all parts of a program can be parallelised
- complex programs - harder to write code for parallel processing as data has to be synced and shared correctly
- communication between processors takes time
- limited applicability - not all programs can use the parallel processing
- more difficult to debug because of the precise timing of events