Computer Organisation and Architecture: Pipelining part 1