Sowohl j also auch bnz und bne sind Sprungbefehle. Manchmal unterscheid man diese als unbedingte und bedingte Sprungbefehle, da sie in Pipelines unterschiedlich implementiert werden können: Bei bedingten Sprungbefehlen muss man i.d.R. die Execute-Stufe abwarten, um das Ergebnis der Bedingung zu kennen und kann den Sprung erst dann ausführen. Bei unbedingten Sprüngen muss man darauf nicht warten und kann daher im Prinzip schon in der Decode-Stufe den Sprung ausführen (dazu braucht man allerdings einen weiteren Addierer in der Decode-Stufe, um das Sprungziel auszurechnen).
Unabhängig davon: Bei der Analyse der Befehle in den Pipelines gehen wir allerdings davon aus, dass alle Befehle bei einem Einzyklen-Prozessor genau einen Takt benötigen und bei der Pipeline alle Befehle auch dieselbe Zeit in der Execute-Stufe brauchen. Daher sind die CPI- Zahlen bei allen unseren Befehlen dieselben. Man kann diesen Wert aber dennoch als durchschnittlichen Wert für ein Programm bestimmen, um zu sehen, wie viele zusätzliche Stalls notwendig waren. Für einen bestimmten Befehl dies in einer Tabelle anzugeben, macht in diesem Zusammenhang aber keinen Sinn.