0

私は、スーパースカラー アーキテクチャに関連する演習を通じて、自分のやり方で取り組んでいます。この質問に対する答えを概念化する助けが必要です。

「レジスタの名前変更機能が何をしなければならないかについて混乱した場合は、実行しているアセンブリ コードに戻って、正しい結果を得るために何が必要かを自問してください。たとえば、これら 3 つの命令の名前を同時に変更する 3 ウェイ スーパースカラー マシンを考えてみましょう。

ADDI R1, R1, R1
ADDI R1, R1, R1
ADDI R1, R1, R1

R1 の値が 5 から始まる場合、このシーケンスが実行されたときの値は?」</p>

それを見ると、R1 の最終的な値は 40 になるはずだということがわかります。私の理解が正しければ、この 3 方向のスーパースカラー パイプラインでは、これら 3 つの命令が並列にフェッチされます。つまり、最初から危険がありますよね?この問題に対する答えをどのように概念化すればよいでしょうか?

編集 1: これらの命令をデコードするとき、スリーウェイ スーパースカラー マシンは、必然的に、次の命令セットを取得するためにレジスタの名前変更を実行する必要があります。

  ADDI R1, R2, R3
  ADDI R4, R5, R6
  ADDI R1, R2, R3
4

1 に答える 1