情報処理技術者試験(国家試験)に出題された問題を解いてみましょう。
国家試験の問題を解いてみよう
頑張ってみよう!!
問題1
コンピュータは、入力、記憶、演算、制御及び出力の五つの機能を実現する各装置から構成される。命令はどの装置から取り出され、どの装置で解釈されるか。
| 取り出し | 解釈 | |
|---|---|---|
| ア | 演算 | 制御 |
| イ | 記憶 | 制御 |
| ウ | 制御 | 演算 |
| エ | 入力 | 演算 |
【出題】令和6年 ITパスポート試験 問56
ヒント
今日はコンピュータの五大装置に関する問題です。さっそく見てみましょう。
コンピュータは、入力・記憶・演算・制御・出力の五つの機能を実現する各装置から構成されています。
問題はこれです:命令はどの装置から取り出され、どの装置で解釈されるか?
なるほど。命令ってのは、CPUが処理するアレだよね?
うん。プログラムに書かれた命令が、CPUに取り出されて実行される仕組みだよ。
では、選択肢を一つずつ見ていきましょう。
ア:取り出し=演算、解釈=制御
まずアは『取り出し:演算、解釈:制御』か……。ん? 命令を演算装置が取り出す?
それは違うと思う。演算装置は四則演算とか論理演算をする部分でしょ?
たしかに! 記憶装置にある命令を取り出すのは演算装置じゃないな。
正解です。演算装置は命令を実行するところ。命令の取り出しは別の役目です。
じゃあアは違う!
イ:取り出し=記憶、解釈=制御
次にイ。『取り出し:記憶、解釈:制御』ですね。
これは正しそう。命令って、主記憶装置にあるんだから、取り出すのは記憶装置から。
解釈するのは制御装置だよな。だって、制御装置ってCPUの司令塔みたいなもんでしょ?
その通り。制御装置は命令を解釈して、他の装置を動かす役割があるんですよ。
おお、これは有力候補だ!
ウ:取り出し=制御、解釈=演算
では次にウを見ましょう。『取り出し:制御、解釈:演算』ですね。
あれ?取り出すのが制御装置って、なんか正しそうな気も…
うーん、でも取り出す元は記憶装置じゃない?制御装置は取り出しの指示は出すけど、命令は記憶装置から来るはず。
なるほど!つまり命令の“格納先”が記憶装置で、“指示”を出すのが制御装置なんだ。
素晴らしい考察です。ちなみに“解釈”を演算装置がするというのも違いますね。
演算装置は計算担当。命令の意味を読み取るのは制御装置の役割。
ってことはウも違うか〜
エ:取り出し=入力、解釈=演算
最後にエ。『取り出し:入力、解釈:演算』ですね。
いやいや、入力装置から命令を取り出すなんて聞いたことないよ。
そうだね。入力装置はキーボードやマウスのことで、命令を直接記憶してるわけじゃないからね。
回答をカタカナ(ア〜エ)で入力してください。
問題2
コンピュータの命令実行順序として、適切なものはどれか。
ア オペランド読出し → 命令の解読 → 命令フェッチ → 命令の実行
イ オペランド読出し → 命令フェッチ → 命令の解読 → 命令の実行
ウ 命令フェッチ → オペランド読出し → 命令の解読 → 命令の実行
エ 命令フェッチ → 命令の解読 → オペランド読出し → 命令の実行
【出題】平成19年秋期 ソフトウェア開発技術者試験(現 応用情報技術者試験) 問17
ヒント
今回は、コンピュータが命令をどうやって実行するか、その順序に関する問題です。
なんか漢字ばっかりで難しそうだぞ…。でも、フェッチってさっき聞いたな?
うん、「命令フェッチ」って、命令をメモリから取り出す処理だったと思うよ。
その通り。そして、「オペランド読出し」は、「対象データの読み出し」ことを表しています。
なるほど、じゃあ選択肢を見てみようよ。
ア:オペランド読出し→命令の解読→命令フェッチ→命令の実行
オペランド読出しが一番最初になってる!でもそれって、まだ命令も取ってきてないのに…?
そうだね、命令が分からないうちに必要なデータなんて分からないはず…順番が逆だよ。
イ:オペランド読出し→命令フェッチ→命令の解読→命令の実行
これも最初がオペランド読出し?やっぱり命令より前にオペランドってのはおかしい気がするな。
そのとおり。命令フェッチが最初に来ないと、次に何をすべきか判断できません。
ウ:命令フェッチ→オペランド読出し→命令の解読→命令の実行
フェッチが最初!これはいいね。でもその次がオペランド読出し…?
解読より先にデータを読むって…うーん、命令の意味がわかってないのに?
そこがポイントですね。命令の内容を解読して初めて、必要なデータが判断できるのです。
エ:命令フェッチ→命令の解読→オペランド読出し→命令の実行
これだ!!さっき習ったのと順番が同じだ!!
うん、命令をまずフェッチして、それを解読して、それから必要なデータを読みに行って、最後に実行!
完璧ですね!この選択肢「エ」が正解です。
この順序は「命令実行サイクル」として基本中の基本ですよ。
回答をカタカナ(ア〜エ)で入力してください。