- 締切済み
計算機アーキテクチャ
計算機アーキテクチャの問題で、命令と命令フェッチがどのように実行されるかが分かりません。 どうやって考えれば良いのでしょうか? たとえば、↓のコンピュータサイエンス専攻 専門科目2の[1](1)のような問題です。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- Tacosan
- ベストアンサー率23% (3656/15482)
その処理のために必要なデータがどのように流れるかを追っていくとわかりやすいんじゃないかなぁ. 例えば, 命令フェッチだとまず最初に「どこのアドレスから命令をフェッチするのか」が必要ですね. で, アドレスを指定したらメモリからデータが出てくるのでこれを (命令レジスタという) 特別なレジスタに入れる. それからデコード, ってぐあいです. これだけあれば, ゲートの制御はできるはずだよね.
スパースカラー、パイプライン、ハーバードアーキテクチャ、プリンストンアーキテクチャといろんな名称が出てきますが、現行使用されている中央処理装置はほとんどがノイマン型です。 内部に複数の実行ユニットがあっても基本は同じです。 命令フェチ->デコード->実行->格納(メモリかレジスタ)です。
- maku_x
- ベストアンサー率44% (164/371)
リンクを張り忘れておられるようですので、想像で書きますが、おそらくパイプライン動作のことでしょう。1命令は、CPUからすると数個の動作単位になりますが、普通に処理すると、全部の動作単位が終わるまで次の命令が実行できなくなってしまいます。この問題を解決するために、複数のパイプラインに命令を送り、1つの動作単位が連続に実行できるようにして、高速化する仕組みです。これで出来るのは、見かけ上1命令を1クロックで行うことまでです。 http://ja.wikipedia.org/wiki/%E3%83%91%E3%82%A4%E3%83%97%E3%83%A9%E3%82%A4%E3%83%B3%E5%87%A6%E7%90%86 現在のCPUでは、更にスーパースケーラ技術を使って、見た目上複数の命令を1クロックで行うようになっています。 http://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%BC%E3%83%91%E3%83%BC%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%A9
補足
すみません!! リンクは、 http://www.ist.hokudai.ac.jp/education/h19nyuusimondai.html なのですが。。