Introduction to CPU Pipelining