The Central Processing Unit (CPU): Pipelining and Speculative Execution