There is some similarity with manufacturing a product, let's say a car. For simplicity we consider a serial assemply line.
It takes 2 units two assemble the carbody.
It takes another 2 units of time to assemble the wheels.
Another 2 units to assemble the chairs.
Another 2 units to assemble the engine.
Another 2 units two assemble the carbody.
So in total it takes 12 units of time to produce the car.
BUT....
In case of an assembly line no one is waiting for onather. So while you are assemling the carbody , the other unit is assembling the wheels to a carbody assembled previously. There is no miracle of course, because even in that case the time need to complete a cra is 12 units of time.
However, after starting up the production (12 units passed), the throughput will be increased, thus, you will complete a car at every 2nd time unit.
The same is true in cae of uP. Every instruction needs several lower task to be completed (fetch data from memory, do some operation on it, and write back to memory). The first uP do that in the way, that an instruction was started only after the prevoius one was completed. In case of pipeline that is not true anymore, the instruction executions are overlapped in the way as the car assemply line, that is, the lower task belonging to an instruction are executed in serial, but differnet taks belonging to different instructions are executed in parallel.
Belsugului