Hallo Tamas,
ad 1) Das stehen lassen ist im Prinzip optional, da die Werte ja im Prinzip obsolet geworden sind, wie du richtig mitbekommen hast. Sollte eine entsprechende Aufgabe drankommen, ließe sich dein Problem ja durch eine Konvention beheben. Man könnte ja sagen, jede Zelle behält ihren vorherigen Wert, solange kein neuer explizit eingetragen wurde. So etwas in der Art, dann müsste man nicht immer alles neu hinschreiben.
ad 2) Auch wenn die Daten in Takt 7 bereits auf dem CDB anliegen, werden Werte erst in Takt 8 in die Reservation Station übernommen. Weiterhin wird dann im folgenden Takt die eigentlich Berechnung angestoßen. Das Forwarding ist hier so zu verstehen, dass die RS nicht erst wartet, bis der Wert im Registerfile steht und dann erst daraus liest, sondern die Werte wie beschrieben vom Bus direkt ausliest. Würde man diesen Weg gehen, hätte man mindestens einen Taktzyklus mehr als Waitstate. Wenn du dir anschaust, wie Flip-Flops funktionieren, wird das Problem eventuell klarer. Wichtig ist aber, dass du dir merkst, erst CDB, dann RS, dann FU.
Grüße,
Martin