La forma en que me gusta pensar es con una analogía de lavandería. Las instrucciones de la CPU son como cargas de ropa. Debe usar tanto la lavadora como la secadora para cada carga. Digamos que cada uno tarda 30 minutos en ejecutarse. Ese es el ciclo del reloj. Las CPU viejas funcionarían con la lavadora y luego con la secadora, demorando 60 minutos (2 ciclos) para terminar cada carga de ropa, cada vez.
Tubería : una tubería es cuando usa ambos al mismo tiempo: lava una carga, luego, mientras se seca, lava la siguiente carga. La primera carga tarda 2 ciclos en finalizar, pero la segunda carga finaliza después de 1 ciclo más. Por lo tanto, la mayoría de las cargas solo necesitan 1 ciclo, excepto la primera carga.
Superscalar: lleva toda la ropa a la lavandería. Consigue 2 arandelas y cárgalas. Cuando terminen, busque 2 secadoras y úselas. Ahora puede lavar y secar 2 cargas en 60 minutos. Eso es 2 cargas en 2 ciclos. Cada carga todavía toma 2 ciclos, pero puede hacer más de ellos ahora. El tiempo promedio es ahora de 1 carga por ciclo.
Superescalar con tubería: lave las 2 primeras cargas, luego, mientras se están secando, cargue las arandelas con las siguientes 2 cargas. Ahora, las primeras 2 cargas todavía toman 2 ciclos, y luego las siguientes 2 se terminan después de 1 ciclo más. Entonces, la mayoría de las veces, terminas 2 cargas en cada ciclo.
Múltiples núcleos: entregue la mitad de su ropa a su madre, que también tiene 2 lavadoras y 2 secadoras. Con los dos trabajando juntos, pueden hacer el doble de cosas. Esto es similar al superescalar, pero ligeramente diferente. En lugar de que tenga que mover toda la ropa hacia y desde cada máquina usted mismo, ella puede hacerlo al mismo tiempo que usted.
Esto es genial, podemos lavar ocho veces más que antes en la misma cantidad de tiempo, sin tener que crear máquinas más rápidas. (Duplique la velocidad del reloj: lavadoras que solo necesitan 15 minutos para funcionar).
Ahora, hablemos de cómo van las cosas mal:
Burbuja de tubería: tiene una mancha que no salió en el lavado, por lo que decide lavarla nuevamente. Ahora la secadora está sentada allí, esperando que haga algo.
Cache Miss: el camión que entrega la ropa sucia está atascado en el tráfico. Ahora tiene 2 lavadoras y 2 secadoras, pero no está trabajando porque tiene que esperar.
Dependiendo de la frecuencia con la que las cosas salgan mal, no podremos realizar siempre 4 cargas cada ciclo, por lo que la cantidad real de trabajo realizado puede variar.
Predicción de rama: Bueno, comienzas a lavar la ropa limpia en caso de que la manches más tarde para que ya esté limpia ... bueno, aquí es donde se rompe la analogía ...