The CPU - Chapter 1 Flashcards
What is the ALU?
Arithmetic Logic Unit
What is the purpose of the ALU?
The ALU carries out calculations and logic decisions.
What is the Control Unit?
The Control Unit co-ordinates signals across the processor, and controls how the data moves around the CPU and between memory
What is a PC?
Program Counter - keeps track of the line of machine code that is being worked on. It increments every cycle.
What is the ACC?
The Accumulator stores the results of any immediate calculations
What is the MDR?
Memory Data Register stores data that has been fetched from memory
What is the MAR?
The Memory Address Register stores the address of the data that has been fetched from memory
What is the CIR?
The Current Instruction Register stores the most recently fetched instruction waiting to be decoded.
How much L1 Cache on each core?
2 lots
How much L2 Cache on each core?
1, it is slower but more storage than L1
How much L3 Caches on each core?
Trick question - there is 1 L3 Cache allocated to the entire CPU. It has a lot more storage but as a result it is much slower.
What is a Micro Processor?
A dedicated processor for a limited purpose - such as a washing machine.
What are the two main limitations of a CPU?
Clock Speed and Core count.
What of the two main limitations of the CPU has a limit? Why?
Clock Speed can only go so high, before tunneling occurs. This means clocks are skipped.
What is SoC?
System on a Chip is an integrated circuit that integrates all components on a system, such as a Raspberry Pi
What is RISC?
Reduced Instruction Set Computer
What is CISC?
Complex Instruction Set Computer
Properties of CISC?
Larger set of instructions Requires more complex hardware May take more cycles per line Greater Energy consumption Cannot support pipelining Used in large machines such as desktop PCs
Properties of RISC?
Limited set of instructions
Requires more lines of code for simple operations
One cycle per line
Little energy consumption
Can support pipelining
Used in small devices such as mobile phones
What is pipelining?
Pipelining is the process of passing any complete process onto the next step of the cycle
When will the CPU ‘Flush the pipes’?
When an instruction that is further away than the next (such as branching to instructions further ahead or behind)
What are the two types of Multi-core systems?
Parallel systems and Co-Processors.
What is the difference between Serial computing and Parallel computing?
Serial computing does everything in one thread, one after the other.
Parallel computing can get through multiple problems at once - ‘in parallel’.
Why must the split up problems be discrete?
We do not split up the same problem into different cores. This is because all processors will have to wait for the others to finish their task – eventually the task will have to be pieced back up together at the end.
What is SIMD? What is it used for?
Single Instruction, Multiple Data. It is useful for image processing, or any task with a high degree of regularity.
What is MISD? What is it used for?
Multiple Instructions, Single Data. It is not a common type of parallel system, but it has its uses in very specialized decryption.
What is MIMD? What is it used for?
Multiple Instructions, Multiple Data. Most modern computers and supercomputers fit into this category. It is good for multitasking with different programs and data.
Why did programmers used to avoid Parallel systems?
It was very complicated to join all the threads together at the end. It used to be quicker to have a single core computer as a result. However as programmers have become more adept to writing code for parallel systems, these original issues have become less of a problem today.