As stated the eZ8 is a modified Harvard bus architecture which means it has a separate program and data bus. The CPU consists of Fetch and Execution Units. The Fetch Unit fetches opcodes and operands from memory. The Execution Unit includes an Instruction State Machine to control program execution and perform register read and write operations, a 16-bit Program Counter, four 8-bit Control Registers (SPH, SPL, RP and Flags) and an ALU which performs 8-bit Arithmetic and Logic operations including bit shifting and rotation.