【お題】引っかけ問題(締め切り10月27日(日)23時)

こんにちは。コンピューターアーキテクチャのデータハザードに関する質問です。
勉強を始めたばかりなので変な質問かもしれませんが、よろしくお願いします。


add r1 r2 r3       F D E  W
mul r4 r1 r5          F × × D E W

以前の計算結果が現在の処理(この場合ですとmulの処理)に必要な場合、データハザードが起きるということなのですが、この以前の計算の部分がデータ移動命令でも同じようにデータハザードは起こるのでしょうか


つまり、
ld r1 r2 15
mul r4 r1 r5

のような時も同じようにハザードは起きるのでしょうか。

よろしくお願いします。

A 回答 (1件)

データハザードは「計算」の結果に限定して起きるものじゃないよ.


「レジスタからデータを読み出す」ときには, 当該レジスタの値は命令シーケンスに照らして適切なものでなければならない. だから, 必要なレジスタがそれまでの命令のデスティネーションになっている場合には, 書き込みが終了するまで命令の実行を保留しなきゃならない. これが「データハザード」の本質.
    • good
    • 0
この回答へのお礼

じゃあ、この場合も同様にハザードが起こるってことですね。

ありがとうございました。

お礼日時:2011/02/18 18:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報