最近独学で計算機アーキテクチャーについて勉強しております。
本を読んでいたらパイプラインのところで「データハザードはパイプライン・インターロックというハードウェアで検出される」という記述があったのですが、これについてもう少し詳しく知りたいです。
具体的には、例えば以下のような命令列があった場合、
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ランキング
-
ウイルスでしょうか?
-
アイフォンで調べ物してたら お...
-
trojan.gen.2って何?
-
ウイルスに感染したようなんで...
-
W32/Pate.drについて
-
ドグ
-
trojan.gen.2 というウイルスに...
-
eTrust PestPatrol,Computer As...
-
Dell製ディスプレイが検出され...
-
またトロイの木馬が・・
-
大量のファイルの中から壊れた...
-
セーフモード
-
iPhoneでアダルトサイトを見て...
-
McAfee マカフィー ウィルスス...
-
Everything というフリーソフト...
-
パソコンのデスクトップ画面に...
-
パソコンから勝手に知らない音...
-
トロイの木馬に感染しました!
-
マカフィーで特定のフォルダを...
-
マカフィーで必要なファイルが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
trojan.gen.2って何?
-
ドグ
-
trojan.gen.2 というウイルスに...
-
C:\\RECYCLERからウイルスらし...
-
昨日、PCを起動するとAvast無料...
-
大量のファイルの中から壊れた...
-
PUP.Optional.SlimCleanerPlus...
-
ウイルスセキュリティーで『Hac...
-
ウイルスに感染したようなんで...
-
普通のマカフィーとMcAfee-GW-E...
-
AVGにおける「警告」ファイルの...
-
トロイの木馬にヤられて、OSを...
-
avast!4.7の操作の質問
-
CDプレイヤー等のトレー開閉機...
-
your file host を見ているので...
-
ずばり、2009年に一番のセキュ...
-
bitdifenderの誤検出?
-
アイフォンで調べ物してたら お...
-
スパイウェアが検出されない
-
トロイの木馬に感染しました。...
おすすめ情報