The control unit decodes the instruction that is kept in the current instruction register. This involves splitting the instruction into operand and opcode to determine what type of instruction needs to be carried out, checking if additional data are required from memory, and figuring out where these are kept in main memory.