Ich denke gerne an eine Wäscherei-Analogie. CPU-Anweisungen sind wie Wäsche. Sie müssen für jede Ladung sowohl die Waschmaschine als auch den Trockner verwenden. Nehmen wir an, jeder dauert 30 Minuten, um zu laufen. Das ist der Taktzyklus. Alte CPUs würden die Waschmaschine und dann den Trockner laufen lassen. Es dauerte 60 Minuten (2 Zyklen), um jede Ladung Wäsche zu beenden.
Pipelining: Eine Pipeline ist, wenn Sie beide gleichzeitig verwenden - Sie waschen eine Ladung und dann während des Trocknens die nächste Ladung. Der erste Ladevorgang dauert 2 Zyklen, der zweite Ladevorgang ist jedoch nach einem weiteren Zyklus beendet. Daher benötigen die meisten Lasten nur einen Zyklus mit Ausnahme der ersten Last.
Superscalar: Bringen Sie die gesamte Wäsche in den Waschsalon. Holen Sie sich 2 Scheiben und laden Sie beide. Wenn sie fertig sind, finde 2 Trockner und benutze beide. Jetzt können Sie 2 Ladungen in 60 Minuten waschen und trocknen. Das sind 2 Ladungen in 2 Zyklen. Jeder Ladevorgang dauert immer noch 2 Zyklen, aber Sie können jetzt mehr davon ausführen. Die durchschnittliche Zeit beträgt jetzt 1 Ladung pro Zyklus.
Superscalar mit Pipelining: Waschen Sie die ersten 2 Ladungen, laden Sie die Waschmaschinen mit den nächsten 2 Ladungen auf, während diese trocknen. Die ersten 2 Ladungen dauern nun noch 2 Zyklen, und die nächsten 2 sind nach einem weiteren Zyklus beendet. In der Regel erledigen Sie in jedem Zyklus 2 Ladevorgänge.
Mehrere Kerne: Geben Sie Ihrer Mutter die Hälfte Ihrer Wäsche, die auch über 2 Waschmaschinen und 2 Trockner verfügt. Wenn Sie beide zusammenarbeiten, können Sie doppelt so viel erreichen. Dies ist ähnlich wie Superskalar, unterscheidet sich jedoch geringfügig. Anstatt dass Sie die gesamte Wäsche selbst zu und von jeder Maschine transportieren müssen, kann sie dies zur gleichen Zeit wie Sie tun.
Das ist großartig. Wir können in derselben Zeit achtmal mehr Wäsche waschen als zuvor, ohne dass schnellere Maschinen erstellt werden müssen. (Doppelte Taktfrequenz: Waschmaschinen, die nur 15 Minuten zum Laufen brauchen.)
Nun reden wir darüber, wie die Dinge schief gehen:
Pipeline-Blase: Sie haben einen Fleck, der beim Waschen nicht herausgekommen ist, also entscheiden Sie sich, ihn erneut zu waschen. Jetzt sitzt der Trockner nur da und wartet auf etwas, was zu tun ist.
Cache Miss: Der LKW, der die schmutzige Wäsche liefert, steckt im Verkehr. Jetzt haben Sie 2 Waschmaschinen und 2 Trockner, aber Sie bekommen keine Arbeit, weil Sie warten müssen.
Abhängig davon, wie oft etwas schief geht, werden wir nicht in jedem Zyklus 4 Lasten erledigen können, daher kann die tatsächliche Arbeitsleistung variieren.
Branchenvoraussage: Nun, Sie fangen an, Ihre saubere Kleidung zu waschen, falls Sie sie später flecken, damit sie schon sauber sind ... Okay, hier bricht die Analogie zusammen ...