ALU: Arithmetic Logical Unit A most generic computer system is composed of a unit to do arithmetic, shift and logical micro-operations commonly know as ALU of CPU.
General Purpose Registers: R1, R2, R3. As the name General Purpose Registers, suggests that the registers are involved in operations like load inputs, store intermediate results of arithmetic, logical and shiftmicro-operations. The initial inputs are loaded into registers from memory and final results are later moved into memory. ACC: Accumulator This block acts as the default temporary storage register location for all mathematical operations in ALU.
Timing and Control unit: This block manages the sequencing of events on a timeline between various components of a CPU. All the blocks are controlled in a manner to optimize the computational power of the unit by minimizing the failures. Flags: Flags are also registers or bits inside registers which are set or cleared for a particular condition on an arithmetic operation. some of the most common flags are: Sign - Is used to identify the set/reset of most significant bit of the result. Carry - Is used to identify, a carry during addition, or borrow during subtraction/comparison. Parity - set if the parity is even. Refer parity from here. Zero - to identify when the result is equal to zero.
Bus sub-system. All the data transfers in-between memory and CPU registers including instruction fetches are carried over bus.
Instruction Register IR and Decoder: After instruction is fetched from the memory its stored in Instruction Register. The instruction is then decode by the decoder. Stack Pointer (SP): Stack Pointer is involved in managing the Stack transfers during and program execution. Refer details on stack organization from here.