質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CPU

CPUは、コンピュータの中心となる処理装置(プロセッサ)で中央処理装置とも呼ばれています。プログラム演算や数値計算、その他の演算ユニットをコントロール。スマホやPCによって内蔵されているCPUは異なりますが、処理性能が早いほど良いとされています。

Q&A

解決済

2回答

1129閲覧

CPU命令実行サイクルについて

newyee

総合スコア213

CPU

CPUは、コンピュータの中心となる処理装置(プロセッサ)で中央処理装置とも呼ばれています。プログラム演算や数値計算、その他の演算ユニットをコントロール。スマホやPCによって内蔵されているCPUは異なりますが、処理性能が早いほど良いとされています。

0グッド

1クリップ

投稿2017/09/06 23:26

編集2017/09/06 23:47

現在基本情報技術者試験の勉強をしているのですが、分からない所があるので教えて頂きたいです。
プログラミングのご質問ではないので、質問しても良いものか迷ったのですが他の質問サイトなどでは答えが得られなかったので、ネットワーク関連に詳しい方もこのサイトならおられると思いご質問させていただくことにしました。。。
具体的にはCPUの命令実行サイクルのアドレス指定方式について、理解できない部分があります。
そもそも、CPUの命令実行サイクルとは、
①命令フェッチ
②命令の解読
③実行アドレス計算
④オペランド読み出し
⑤命令の実行
の、5つの要素から構成されていると思います。
ですが、厳密にはアドレス指定方式により、




そして、③の前に、アドレス部にある対象データが格納されたアドレスを計算で出し、その後、そのアドレスを③の実行アドレス計算にかけ対象データを求める。という風に考えているのですが、このような解釈で合っていますでしょうか...?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

unau

2017/09/06 23:39

「「そもそも」と書かれた五つの要素と、「〜という風に考えている」こととの関連がよくわかりませんでした。「〜という風に考えている」の方も箇条書きにするなど、おっしゃっていることがわかりやすい表現にしていただけると助かります。
newyee

2017/09/06 23:51

ご指摘ありがとうございます。うまく説明できず、申し訳ないです。上手く改善できているかは分かりませんが、質問を修正してみました。
guest

回答2

0

CPU の命令には、レジスタをいじるものや、メモリをいじるものがあるわけですが、メモリをいじるものは、実際にいじるメモリ領域のアドレスを指定する必要があります。指定方法 (アドレッシングモード) としては、直接アドレスを指定するものや、インデックスレジスタで示されたアドレスからの相対位置で指定するもの、などあるわけですが、いずれにしろ、「実際にいじるメモリ領域のアドレス」を算出する必要があるわけです。この「実際にいじるメモリ領域のアドレス」を算出するのが「実アドレス計算 (実でない)」です。newyee さんがおっしゃっている「③の前に、アドレス部にある対象データが格納されたアドレスを計算で出し」が実効アドレス計算と考えてよいと思います。

投稿2017/09/07 00:00

unau

総合スコア2468

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

「実行アドレス」は「実効アドレス」の間違いですね。

「③の前」というのは無くて、②で調べた命令中のレジスタ指定(あれば)やオフセット値(あれば)、即値(あれば)等を使って③で実効アドレスを算出します。

そもそも、CPUの命令実行サイクルとは、

と書いてありますが、お書きの①~⑤は、「メモリからデータを読み込んで演算する」という種類の命令に限った物で、これ以外にも、メモリをアクセスしない命令や、メモリに書き込む命令とか、他にも色々あります。

あと、「⑤命令の実行」というのも表現がおかしくて①~⑤全体で「命令の実行」です。⑤は演算の実行ではないですか。

投稿2017/09/07 00:08

otn

総合スコア84557

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

newyee

2017/09/07 01:30

ご回答ありがとうございます。 すみません。かなり混乱してしまっていまだ理解ができずにいます... そもそも前提として、実効アドレス計算とはオペランド(処理対象となるデータ)の保存場所を計算すること、で合っていますでしょうか? 要は、実効アドレス計算の計算方法がアドレス指定方式の例えば、即値アドレス指定方式や直接アドレス指定方式、ということなのでしょうか?
otn

2017/09/07 04:17

> 実効アドレス計算とはオペランド(処理対象となるデータ)の保存場所を計算すること、で合っていますでしょうか? ほぼ合ってます。ジャンプ命令とかもあるので、この場合の実効アドレスは飛び先です。 メモリの読み書きの発生する命令ということであれば、お書きの通りです。 実効アドレスの算出方法が各種あるというのもその通り。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問