Its main job is to manage the fetching , decoding and execution of program instructions by following the fetch-decode-execute cycle
It controls the flow of data inside the CPU (to registers , ALU , cache)
It also controls the flow of data outside the CPU (to main memory and input / output devices)
What the Arithmetic Logic unit does
The ALU does all the calculations
It completes simple addition and simple subtraction , compares the sizes of numbers and can do multiplications and divisions using repeated addition and subtraction
It performs logic operations , e.g. AND , OR and NOT ,and binary shifts (Remember, computers process binary data)
It contains the accumulator register
What the Cache does
It is very fast memory in the CPU - it is slower than the registers , but faster than RAM
It stores regularly used data so that the CPU can access it quickly the next time it’s needed
When the CPU requests data, it checks the cache first to see if the data is there - if not it will fetch it from RAM
The Cache compared to RAM and secondary storage
Caches have a very low capacity compared to RAM and secondary
Caches are expensive compared to RAM and secondary storage
Levels of cache memory
The different levels of cache memory are L1 , L2 and L3
L1 is the quickest , but has the lowest capacity
L2 is slower than L1 but can hold more , and L2 is faster than L3 but can hold less
L3 is the slowest has the highest capacity
Registers
The CPU contains various registers which temporarily hold tiny bits of data needed by the CPU
They are quick to read / write to (Quicker than any other form of memory)
The program counter , memory address register (MAR) , memory data register (MDR) , and the accumulator are all registers (You need to know about them)