No.54 RISCプロセッサの5段パイプラインの命令実行制御の順序はどれか。
ここで,このパイプラインのステージは次の五つとする。
書込み実行とアドレス生成命令デコードとレジスタファイル読出し命令フェッチメモリアクセス
ここで,このパイプラインのステージは次の五つとする。
書込み実行とアドレス生成命令デコードとレジスタファイル読出し命令フェッチメモリアクセス
⭕️
❌
💾
🖊 | ☑️ |
⭕️ | [[ AnswerCalc[0] ]] % | A | [[ AnswerCalc[1] ]] |
コンピュータは、次のようなサイクルを繰り返して命令を処理していきます。
1命令のサイクルの中で主記憶へのアクセスが行われる可能性がある処理は「オペランド読出し」と「実行結果の書込み」の2ヶ所があります。設問のパイプラインにおいて"命令デコード"と"レジスタファイル読出し"がひとまとまりになっていることに注目すると、読出し時には主記憶へのアクセスは発生せず、オペランドは常にレジスタファイルから読み出されることがわかります。さらに"実行"の後に"アドレス生成"が行われることからも、⑤メモリアクセスは書込み目的である、と考えるのが妥当です。
したがってメモリアクセスを②実行~アドレス生成と①書込みの間に挿入した「④,③,②,⑤,①」が適切な順序となります。
- プログラムカウンタを参照して、次に実行すべき命令が格納されている位置を知る。
- 主記憶から命令レジスタに命令を読込む。(命令フェッチ)
- その次に実行する命令の主記憶上のアドレスをプログラムカウンタに格納する。
- 命令レジスタの命令を命令デコーダで解読(解釈)する。(命令デコード)
- 演算で必要となる値(オペランド)を主記憶やレジスタから読込む。(オペランド読出し)
- 命令を実行する。
- 実行結果を主記憶やレジスタに書込む。
1命令のサイクルの中で主記憶へのアクセスが行われる可能性がある処理は「オペランド読出し」と「実行結果の書込み」の2ヶ所があります。設問のパイプラインにおいて"命令デコード"と"レジスタファイル読出し"がひとまとまりになっていることに注目すると、読出し時には主記憶へのアクセスは発生せず、オペランドは常にレジスタファイルから読み出されることがわかります。さらに"実行"の後に"アドレス生成"が行われることからも、⑤メモリアクセスは書込み目的である、と考えるのが妥当です。
したがってメモリアクセスを②実行~アドレス生成と①書込みの間に挿入した「④,③,②,⑤,①」が適切な順序となります。
- レジスタファイル
- レジスタを複数集めたプロセッサ内のモジュール
💾
✔️
[[ d.CommentTxt ]] |
< | > |
🥇 |