

最近独学で計算機アーキテクチャーについて勉強しております。
本を読んでいたらパイプラインのところで「データハザードはパイプライン・インターロックというハードウェアで検出される」という記述があったのですが、これについてもう少し詳しく知りたいです。
具体的には、例えば以下のような命令列があった場合、
i1: ADD R4=R1+R2
i2: ADD R5=R4+R3
データハザードの検出により、(バイパスがなければ)以下のようにストール(ST)が挿入されます。
i1: ADD R4=R1+R2 IF ID EX MA WB
i2: ADD R5=R4+R3 IF ST ST ST ID EX MA WB
この「データハザードの検出(テスト)」というのはどのようなタイミングで行われるのでしょうか?
(a)1回テストして検出された場合すぐに上のような対処(STを3つ挿入)が行われるのでしょうか? それとも
(b)1回テストして検出された場合、STが1つ挿入される。再度テストしてまた検出された場合、STがもう1つ挿入される... という具合にして正しい対処にたどりつくのでしょうか? あるいは
(c)他の仕組みによるのでしょうか?
どうぞよろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
(b)です。
i1自体が、さらに先行する命令の影響で、R1やR2の読み込みでストールする可能性がありますから、R4のビジー状態が何クロック先に終わるかを検出することは困難です。
そういう複雑な回路を設けて「いきなりSTを3つ挿入」するメリットはありません。
先行する命令i1は、命令デコードステージが終わって、R4に書き込むと判明した段階で、R4をビジーにします。
そして、ライトバックステージ(R4への書き込み)が終わったら、R4のビジーを解除します。
後発のi2は、命令デコードステージが終わって、R3とR4を読み込むと判明した段階で、R3とR4のどちらかがビジーの間はストールし続けます。
そして、ビジーでなくなってから、実行ステージに移ります。
(だから、ストールするのはIDの後)
mtaka2様、御教示ありがとうございます。
その後ネットでパイプライン・インターロック(ハザード検出ユニット)の具体的な構成(論理回路)を見つけて、御説明の内容をイメージできるようになりました(つもりです)。
どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで時間(00:00形式)を積算(足し算)したい 1 2022/11/15 17:04
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- Visual Basic(VBA) ワークブック内すべて検索 2 2022/12/20 20:13
- Visual Basic(VBA) VBA初心者です 検索した数字の行に色をつける 5 2023/02/13 14:22
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- Visual Basic(VBA) select caseの入れ子 3 2023/03/08 18:48
- 放射線治療・リハビリテーション リハビリ系のお仕事についてです。 将来、リハビリ系のお仕事につきたいと思っているのですが PT、OT 1 2022/05/21 20:31
- Visual Basic(VBA) Worksheet_Change 4 2023/03/12 21:54
- Visual Basic(VBA) countifsについての質問 3 2023/03/08 13:45
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PUA:Win32/GameHackをMicrosoft...
-
CDプレイヤー等のトレー開閉機...
-
マカフィーを使っているのです...
-
ドグ
-
trojan.gen.2って何?
-
XPアンチウィルス
-
C:\\RECYCLERからウイルスらし...
-
trojan.gen.2 というウイルスに...
-
詐欺サイト?
-
パイプライン制御(ハザード検出...
-
まじで助けてください 凄い恥ず...
-
デスクトップに犬のアイコンが。
-
iPhoneでアダルトサイトを見て...
-
Everything というフリーソフト...
-
パソコンのプロセスの重複起動...
-
JS/Packed.Agent.N が検出され...
-
WORM_AGOBOT.AGIでお聞きします。
-
SDカードのウイルススキャン
-
マカフィーで必要なファイルが...
-
マカフィーで特定のフォルダを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PUA:Win32/GameHackをMicrosoft...
-
ドグ
-
大量のファイルの中から壊れた...
-
trojan.gen.2って何?
-
trojan.gen.2 というウイルスに...
-
昨日、PCを起動するとAvast無料...
-
your file host を見ているので...
-
CDプレイヤー等のトレー開閉機...
-
マカフィーを使っているのです...
-
ウイルスセキュリティーで『Hac...
-
アドウェアについて
-
C:\\RECYCLERからウイルスらし...
-
何度削除しても検出されるトロ...
-
ウィルス、「Startpage」が削除...
-
PUP.Optional.SlimCleanerPlus...
-
lxkey Application[ezbutton.ex...
-
シマンテック オンラインスキャ...
-
トロイの木馬に感染
-
PC起動時 勝手にコピーがは...
-
マカフィー使用感について
おすすめ情報