忍者ブログ
情報処理技術者試験の合格を目指す全受験者のための、1問1問「徹底解説」ブログです。単なる過去問の暗記ではなく、なぜその答えになるのかを本質的に理解できるよう解説します。書籍などでは学べない最新用語やトレンドを踏まえてご紹介します。

【ハードウェア】アドレスではなくデータそのものを直接セット!「即値アドレス指定」|情報処理問題1000本ノック

CPUのアドレス指定方式の中で最も処理が高速な手法。オペランド部にメモリ番地ではなく「データそのもの(定数)」が直接格納されている「即値アドレス指定方式」を攻略しましょう。

1. 【 問題 】:ハードウェア(CPUの構造・アドレス指定方式)

【 問題 】 機械語命令のアドレス指定(修飾)方式に関する記述です。命令のオペランド(アドレス)部に、メモリのアドレスではなく、演算対象となるデータ(数値などの定数)そのものが格納されている方式は、次のうちどれか。

(ア)即値アドレス指定(Immediate Addressing Mode)
(イ)直接アドレス指定
(ウ)間接アドレス指定
(エ)レジスタ指定

2. 正解:

正解:(ア)即値アドレス指定(Immediate Addressing Mode)

3. 解説:「『100番地を見ろ』ではなく『100を足せ』!」

即値(そくち)アドレス指定方式は、オペランド部にデータがそのまま入っている方式です。
他の指定方式(直接・間接など)のように「主記憶(メモリ)にデータを取りに行く」というステップ(主記憶アクセス)が発生しないため、計算処理速度が最も速いという大きなメリットがあります。

【メモリ参照回数で見るアドレス指定方式の違い】 ← 一発で覚える重要まとめ!

方式名主記憶(メモリ)の参照回数オペランド部に書かれている内容
(ア)即値アドレス指定 0回(メモリ読み出し不要) データそのもの(定数)
(イ)直接アドレス指定 1回 データが置いてあるメモリ番地
(ウ)間接アドレス指定 2回 「本当の番地」が書いてあるメモリ番地

1. 理解のコツ: 「荷物の受け取り」で例えてみましょう。
即値アドレス指定:指示書(命令)の中に「現物(データ)」がそのまま貼り付けられている状態。どこにも取りに行く必要がありません。
直接アドレス指定:指示書に「ロッカーAの番地」が書いてあり、取りに行く(メモリ参照1回)。
間接アドレス指定:指示書に「ロッカーA」と書かれ、行くと「ロッカーBに行けというメモ」があり、さらに取りに行く(メモリ参照2回)。

2. 試験対策の視点: 基本情報技術者試験や応用情報技術者試験で出題されます。
問題文に「オペランド部にデータそのものを格納」「主記憶へのアクセスが発生しない」「定数の設定などに使われる」といったキーワードが出たら、迷わず即値アドレス指定を選択しましょう!


4. まとめ

オペランド部にメモリアドレスではなく「データそのもの」を直接格納する方式。これが即値アドレス指定方式です。メモリ読み出しが不要で最速で処理できる特徴を確実に押さえておきましょう!


PR

【ハードウェア】メモリの中に「本当の番地」が書いてある!「間接アドレス指定」|情報処理問題1000本ノック

CPUのアドレス指定方式の中で、2段階のメモリ参照を行う特徴的な手法。オペランド部の番地を見に行くと、そこに「目的のデータが存在する真のアドレス」が格納されている「間接アドレス指定」を攻略しましょう。

1. 【 問題 】:ハードウェア(CPUの構造・アドレス指定方式)

【 問題 】 機械語命令のアドレス指定(修飾)方式に関する記述です。命令のオペランド部で指定されたメモリ番地に、目的のデータそのものではなく「目的データが格納されている別のメモリ番地(有効アドレス)」が保持されており、メモリを2回参照して目的のデータを取得する方式は、次のうちどれか。

(ア)直接アドレス指定
(イ)間接アドレス指定(Indirect Addressing Mode)
(ウ)即値アドレス指定(Immediate Addressing Mode)
(エ)レジスタアドレス指定

2. 正解:

正解:(イ)間接アドレス指定(Indirect Addressing Mode)

3. 解説:「『100番地を見ろ』➔ 行ってみると『本当は200番地だよ』と書いてある!」

間接アドレス指定方式は、オペランド部が指し示すメモリ領域に**「本当のデータが置かれているメモリアドレス(有効アドレス)」**が格納されている方式です。
目的のデータにたどり着くまでに**「メモリを合計2回読み出す(参照する)」**必要があるのが最大の特徴です。

【直接アドレス指定と間接アドレス指定の違い】 ← 違いを明確に理解しよう!

方式名メモリ参照回数オペランド部(100番地)に格納されているもの
直接アドレス指定 1回 目的のデータそのもの(例:数値データ「50」)
間接アドレス指定 2回 データが存在する本当の番地(例:「200番地」)

1. 理解のコツ: 「宝探しのヒント」で例えてみましょう。
直接アドレス指定:100番の箱を開けたら、そこに「宝物(データ)」が入っている。
間接アドレス指定:100番の箱を開けたら「宝物は200番の箱にある」というメモ(アドレス)が入っており、200番の箱を開けて初めて「宝物(データ)」が手に入る。

2. 試験対策の視点: 基本情報技術者試験などの計算・図解問題で出題されます。
問題文に「指定されたメモリに有効アドレスが格納されている」「アドレスのアドレスを指す」「ポインタ参照」「メモリ参照が2回必要」といった文言が出たら、迷わず間接アドレス指定を選択しましょう!


4. まとめ

オペランド部が指すメモリ番地に「データそのもの」があれば直接アドレス指定、「データが置かれている別のメモリ番地」があれば間接アドレス指定(メモリ参照2回)です。この違いをセットで完璧にマスターしておきましょう!


【ハードウェア】オペランド部の値をそのままアドレスとして参照!「直接アドレス方式」|情報処理問題1000本ノック

CPUがプログラムを実行する際、命令のオペランド部から「目的のデータの存在するメモリ場所(有効アドレス)」を算出するアドレス指定(修飾)方式。最もシンプルで基本的な「直接アドレス方式」を攻略しましょう。

1. 【 問題 】:ハードウェア(CPUの構造・アドレス指定方式)

【 問題 】 機械語命令のアドレス指定(修飾)方式に関する記述です。命令のオペランド(アドレス)部に設定されている値が、そのまま対象データが格納されている主記憶のアドレス(有効アドレス)となっている方式は、次のうちどれか。

(ア)直接アドレス方式(Direct Addressing Mode)
(イ)間接アドレス方式(Indirect Addressing Mode)
(ウ)自己相対アドレス方式(Relative Addressing Mode)
(エ)インデックス(指標)アドレス方式(Indexed Addressing Mode)

2. 正解:

正解:(ア)直接アドレス方式(Direct Addressing Mode)

3. 解説:「指定された数字の部屋へ行けば、そのままデータが入っている!」

直接アドレス方式(絶対アドレス方式)は、オペランド部に書かれた値をそのまま「対象データが置かれているメモリアドレス(有効アドレス)」として読み取る方式です。
余計な計算(レジスタ値の足し算など)や再度のメモリ読み出しを必要としないため、最も単純な構造をしています。

【試験で絶対に区別する!代表的なアドレス指定方式】 ← 超頻出の見分け方!

方式名有効アドレスの決定方法特徴・仕組み
(ア)直接アドレス方式 「オペランド部の値」そのもの オペランドの値が指す番地に、目的のデータが存在する。
(イ)間接アドレス方式 「オペランド部が指す番地」に書かれている値 オペランドの番地を見に行くと「真のアドレス」が書いてある(2段階アクセス)。
(ウ)自己相対アドレス方式 オペランド部の値 + プログラムカウンタ(PC)の値 プログラムの配置場所を選ばない「再配置可能(リロケータブル)」を実現。
(エ)インデックス指定方式 オペランド部の値 + インデックス(指標)レジスタの値 配列データなどの連続したメモリを順番に処理するのに適している。

1. 理解のコツ: 「ロッカーのキー番号」で例えてみましょう。
直接アドレス方式:命令に「ロッカー番地:100」と書いてあり、100番のロッカーを開けると「目的の荷物(データ)」が入っている状態。
間接アドレス方式:100番のロッカーを開けると「実は200番のロッカーに入れ直しましたというメモ(別のアドレス)」が入っている状態。

2. 試験対策の視点: 基本情報技術者や応用情報技術者試験の計算・概念問題で頻出テーマです。
問題文に「オペランド部の値をそのまま有効アドレスとする」「追加の計算やメモリ参照を行わない」といった文言があれば、迷わず直接アドレス方式を選択しましょう!


4. まとめ

「オペランド部の値をそのまま対象データの入ったメモリアドレスとして使用する方式」。これが直接アドレス方式です。間接アドレス方式や各種レジスタを使った相関指定との違いとあわせて確実にマスターしておきましょう!


【ハードウェア】バスを独占してまとまったデータを高速転送!「バーストモード」|情報処理問題1000本ノック

CPUを介さずにメモリと入出力装置間で直接データ転送を行うDMA(Direct Memory Access)やデータチャネルの重要制御方式。「バーストモード」と「サイクルスチールモード」の違いを攻略しましょう。

1. 【 問題 】:ハードウェア(データ転送方式・入出力制御)

【 問題 】 データチャネルやDMA(Direct Memory Access)制御におけるデータ転送方式に関する記述です。入出力装置とメモリ間などでデータ転送を開始する際、チャネル(バス)の制御権を獲得すると、一連のデータ転送がすべて完了するまでバスを独占して一気に連続転送を行う方式は、次のうちどれか。

(ア)バーストモード(Burst Mode)
(イ)サイクルスチールモード(Cycle Steal Mode)
(ウ)プログラム積算方式(PIO)
(エ)メモリマップドI/O

2. 正解:

正解:(ア)バーストモード(Burst Mode)

3. 解説:「バスを独占して一気に連続転送するバーストモード!」

バーストモード(Burst Mode)は、大量のデータを転送する際に、転送路(バス)の制御権を確保したままデータ転送が終わるまでバスを**独占**する方式です。
バスの獲得・解放の手間が1回で済むため、単位時間あたりのデータ転送スピードが極めて速い(高速転送)というメリットがありますが、転送中はCPUがバスを使えなくなるという側面もあります。

【対照的な2つの転送モードの徹底比較】 ← 試験で最もよく問われる対比ポイント!

転送モードバスの制御特徴・メリット
(ア)バーストモード 転送完了までバスを「独占」する バスの切り替えオーバーヘッドがなく、まとまったデータを超高速で転送できる
(イ)サイクルスチールモード 1単位(語・バイト)ごとにCPUからバスの隙間(空き時間)を「盗む」 CPUの処理を長時間妨げずに、バックグラウンドで並行してデータ転送ができる。

1. 理解のコツ: 「高速道路の貸し切り」で例えてみましょう。
バーストモード:トラックの一隊を通すために「高速道路を一時的に貸し切り(独占)」にして一気に走り抜けます。非常に速く着きますが、他車(CPU)は通れません。
サイクルスチールモード:一般車の切れ目(空き時間)を狙って、トラックを1台ずつ「隙間(スチール=盗む)」に割り込ませて通します。速度は落ちますが、一般車の通行を邪魔しません。

2. 試験対策の視点: 基本情報技術者や応用情報技術者試験のテクノロジ系(ハードウェア・I/O制御)で出題される必須用語です。
問題文に「データ転送を開始すると独占」「一連のデータを連続転送」「ブロック転送」といった文言があれば、迷わずバーストモードを選択しましょう!


4. まとめ

「データ転送開始後にバスを独占して一気に連続転送する方式」。これがバーストモードです。CPUの隙間時間を使って1データ単位ずつ転送する「サイクルスチールモード」との違いとあわせて確実にマスターしておきましょう!


【ハードウェア】SSDの寿命を延ばす!「ウェアレベリング」|情報処理問題1000本ノック

SSD(Solid State Drive)などのフラッシュメモリ製品で不可欠な寿命延長技術。特定ブロックへのアクセス・書き換え集中を防いで長寿命化を図る「ウェアレベリング」の仕組みを攻略しましょう。

1. 【 問題 】:ハードウェア(補助記憶装置・フラッシュメモリ技術)

【 問題 】 SSDやSDカードなどで用いられるフラッシュメモリの制御技術に関する記述です。フラッシュメモリ素子には「データの書き換え(消去)回数に上限がある」という物理的な特性があります。特定の記憶ブロックだけに書き換えが集中して早期に寿命を迎えるのを防ぐため、データの書き込み位置を分散させ、素子全体の摩耗(劣化)を均等化・平準化する技術を何と呼ぶでしょうか?

(ア)ウェアレベリング(Wear Leveling)
(イ)トリム(TRIM)
(ウ)ガーベジコレクション(Garbage Collection)
(エ)オーバープロビジョニング(Over Provisioning)

2. 正解:

正解:(ア)ウェアレベリング(Wear Leveling)

3. 解説:「靴底のすり減り(Wear)を平均化(Leveling)する!」

ウェアレベリング(Wear Leveling / 摩耗平準化)は、SSDコントローラが自動で行う重要な制御機能の一つです。
フラッシュメモリ(NAND型)は、構造上データを上書きできず、一度「ブロック単位で消去」してから再書き込みを行います。この消去動作を数千回〜数万回繰り返すと素子が劣化して書き込めなくなります。そのため、ウェアレベリングによってすべてのブロックの書き換え回数がほぼ均等になるよう書き込み場所を常にシャッフル・管理しています。

【SSDの長寿命化・高速化を支える主要技術】 ← ココが試験のポイント!

技術名制御内容・目的
(ア)ウェアレベリング 書き換え回数の上限対策。特定の場所への書き込み集中を防ぎ摩耗を均一化する。
(イ)TRIMコマンド OSからSSDへ「不要になったデータブロック」を通知し、消去処理を効率化する。
(ウ)ガーベジコレクション 断片化した無効データを整理・集約し、まとまった空きブロックを再作成する。
(エ)オーバープロビジョニング ユーザーが使えない予備の記憶領域をあらかじめ確保し、耐久性や速度を維持する。

1. 理解のコツ: 「消しゴムの使いやすさ」に例えてみましょう。
・消しゴムの「角(特定のブロック)」ばかり使っていると、そこだけすぐに削れて使えなくなってしまいます。
ウェアレベリングは、消しゴムの「すべての面(全記憶領域)を順番にバランスよく満遍なく使っていく」ことで、消しゴム全体を長持ちさせる工夫のことです。(Wear=摩耗、Leveling=平準化・均一化)

2. 試験対策の視点: 基本情報技術者試験や応用情報技術者試験のテクノロジ系(ハードウェア・ストレージ)分野で出題されます。
問題文に「SSD / フラッシュメモリ」「書き換え(消去)回数の制限・限界」「特定のアクセス(書き込み)集中を防ぐ」「均等化・平準化」といったキーワードがあれば、迷わずウェアレベリングを選択してください。
「動的ウェアレベリング」と「静的ウェアレベリング(書き換え頻度の低いデータも移動させて完全に平均化する)」という分類まで押さえておくとさらに安心です。


4. まとめ

「フラッシュメモリの書き換え限界に対応し、特定の場所への集中を防いで全領域の摩耗を平準化する技術」。これがウェアレベリングです。SSDの信頼性を維持するための必須技術として記憶に定着させておきましょう!


【アルゴリズム】すべての「頂点」を1度だけ巡る!「ハミルトン閉路」|情報処理問題1000本ノック

アルゴリズムや離散数学における「グラフ理論」。すべての頂点をちょうど1度だけ訪れて元の場所に戻る「ハミルトン閉路」の概念と、関連する重要用語を攻略しましょう。

1. 【 問題 】:アルゴリズムとデータ構造(グラフ理論)

【 問題 】 グラフ理論における閉路(スタート地点に戻る経路)に関する記述です。与えられたグラフにおいて、すべての頂点(ノード)をちょうど1度だけ通過して出発点に戻ってくる閉路を何と呼ぶでしょうか?

(ア)ハミルトン閉路(Hamiltonian Cycle)
(イ)オイラー閉路(Eulerian Circuit)
(ウ)最短経路(Shortest Path)
(エ)閉路検出(Cycle Detection)

2. 正解:

正解:(ア)ハミルトン閉路(Hamiltonian Cycle)

3. 解説:「『頂点』を通るのか、『辺』を通るのか?」

ハミルトン閉路(Hamiltonian Cycle)は、数学者ウィリアム・ローワン・ハミルトンにちなんで名付けられたグラフ理論の概念です。
すべての「頂点(点)」を一度だけ踏破する巡路であり、応用問題として有名な**「巡回セールスマン問題(TSP)」**の基礎となる概念でもあります。(※ハミルトン閉路が存在するかどうかを判定する問題は、計算量が膨大になるNP完全問題として知られています。)

【ハミルトン閉路とオイラー閉路の明確な対比】 ← ココが試験の超重要ポイント!

用語名対象(何を通るか)通過条件・特徴
(ア)ハミルトン閉路 すべての「頂点(点)」 すべての頂点をちょうど1度だけ通ってスタートに戻る。
(イ)オイラー閉路 すべての「辺(線)」 すべての辺をちょうど1度だけ通ってスタートに戻る。(一筆書きの完成形)

1. 理解のコツ: 「観光旅行」と「道路清掃」に例えてみましょう。
ハミルトン閉路(観光旅行):全国の「すべての観光都市(頂点)」を重なりなく1回ずつ巡って帰ってくるルートです。使わない道路があっても構いません。
オイラー閉路(道路清掃):マップ上の「すべての道路(辺)」を残さず1回ずつ掃除して帰ってくるルート(一筆書き)です。同じ都市(頂点)を何度も通過しても構いません。

2. 試験対策の視点: 基本情報技術者試験や応用情報技術者試験の「アルゴリズム」「離散数学」分野で出題されます。
問題文に「すべての頂点を1度だけ」とあれば ➔ ハミルトン閉路
問題文に「すべての辺を1度だけ(一筆書き)」とあれば ➔ オイラー閉路
「頂点」か「辺」かというキーワードを注視して、引っかからずに見分けられるようにしておきましょう!


4. まとめ

グラフ中の「すべての頂点をちょうど1度ずつ通って戻る閉路」がハミルトン閉路です。すべての辺を1度だけ通る「オイラー閉路」との対比を完璧に覚えておきましょう!


【コンピュータシステム】ミスヒット時もCPUを止めない!「ノンブロッキング・キャッシュ」|情報処理問題1000本ノック

プロセッサ(CPU)の高速化技術。キャッシュメモリでデータ非存在(ミスヒット)が発生した際、メモリからの転送待ちで処理を停止させず、後続の命令フェッチやアクセスを継続する「ノンブロッキング・キャッシュ」の仕組みを攻略しましょう。

1. 【 問題 】:コンピュータシステム(プロセッサの動作制御・キャッシュシステム)

【 問題 】 CPUのキャッシュメモリシステムに関する記述です。データキャッシュへのアクセス時にキャッシュミスが発生した場合、主記憶(メインメモリ)からのデータ転送が完了するのを待たずに、命令キャッシュからの次命令のフェッチや、後続のヒットするメモリアクセスを並行して実行し続けるキャッシュ制御方式を何と呼ぶでしょうか?

(ア)ノンブロッキング・キャッシュ(Non-blocking Cache)
(イ)ライトスルー・キャッシュ(Write-through Cache)
(ウ)ダイレクトマッピング・キャッシュ(Direct Mapping Cache)
(エ)コヒーレンシ・キャッシュ(Coherency Cache)

2. 正解:

正解:(ア)ノンブロッキング・キャッシュ(Non-blocking Cache)

3. 解説:「遅いデータ到着を待たずに、次へ進む!」

ノンブロッキング・キャッシュ(Non-blocking Cache)は、キャッシュミスが発生した際にもCPUの実行パイプラインをブロック(停止)させないためのアーキテクチャです。
従来のブロッキング・キャッシュでは、ミスが発生すると主記憶からの遅いデータ読み出しが完了するまでCPU全体の処理がストップ(失速)してしまいました。ノンブロッキング方式では、「データ待ちをしている命令」だけを横に退避させ、関係のない後続命令のフェッチや実行(アウト・オブ・オーダー実行など)を止めることなく並行処理させます。

【ブロッキングとノンブロッキングの違い】 ← ココが試験のポイント!

方式ミス発生時のCPUの挙動メリット / デメリット
ブロッキング方式 主記憶からの転送が終わるまで処理を完全停止(待機)する。 回路がシンプル / パイプラインが頻繁にストールし低速。
ノンブロッキング方式 転送待ちの間も、後続命令のフェッチや実行を継続する。 パイプラインのストールを防ぎ超高速 / 制御回路が複雑。

1. 理解のコツ: 「ファミレスの注文(調理待ち)」に例えてみましょう。
ブロッキング方式:料理(データ)が届くまで、店員が次の客からの注文受け(命令フェッチ)もテーブル拭きも一切やめて立ち尽くす状態です。
ノンブロッキング方式:時間のかかる煮込み料理(キャッシュミス)の注文を受けた後、「料理が完成するまでの間に、隣のテーブルの注文を受けたり、伝票の計算(後続処理)をどんどん進めておく」という手際の良い対応です。

2. 試験対策の視点: コンピュータシステムの構成やパイプライン処理の応用領域で登場するプロセッサ用語です。
問題文に「キャッシュミス発生」「処理(アクセス)を待たない」「次の命令をフェッチ・実行」「ブロック(停止)させない」といった文脈があれば、即座にノンブロッキング・キャッシュを選択できるようにしましょう。
※選択肢の(イ)ライトスルーは書込み方式の分類、(ウ)ダイレクトマッピングは割り当て(マッピング)方式の分類であり、問題の軸が異なるため見抜くのは容易です。


4. まとめ

「キャッシュミスによるメモリ転送待ちが発生しても、CPUのパイプライン処理や後続命令のフェッチを停止させずに実行を続ける制御方式」。これがノンブロッキング・キャッシュです。パイプラインの遅延(ストール)を防ぐための高度なプロセッサ技術として覚えておきましょう!

【コンピュータシステム】一番紛らわしい!「プログラムカウンタ vs 命令レジスタ」|情報処理問題1000本ノック

CPU(中央処理装置)の制御装置内にあるレジスタに関する超頻出の引っかけ問題です。「アドレス(番地)」を覚えているのか、「命令そのもの」を覚えているのかの違いを明確に区別して攻略しましょう。

1. 【 問題 】:コンピュータシステム(CPUのレジスタと命令実行プロセス)

【 問題 】 CPUの制御装置内に存在するレジスタに関する次の記述は、正しい(〇)か、誤り(×)か答えなさい。

「CPUにおいて、主記憶(メモリ)から読み出された命令そのものを一時的に記憶・保持するレジスタを『プログラムカウンタ』と呼ぶ。」

(ア)正しい(〇)
(イ)誤り(×)

2. 正解:

正解:(イ)誤り(×)

3. 解説:「番地」を指すのか、「中身」を置くのか!

問題文の「読み出された命令そのものを記憶する」レジスタは、命令レジスタ(Instruction Register)の説明です。
プログラムカウンタ(Program Counter)は、命令そのものではなく、「次に読み出すべき命令が格納されている主記憶のアドレス(番地)」を記憶するレジスタです。

【絶対に混同しない!2大レジスタの役割分担】 ← ココが試験の超重要ポイント!

レジスタ名記憶している情報例え(本を読む場合)
プログラムカウンタ 次に読む命令の「アドレス(番地)」 「次は 50ページ目 を読む」というページ番号(栞)
命令レジスタ フェッチ(取出し)した「命令そのもの」 「50ページ目に書いてあった文(命令)」を書き写したメモ

1. 理解のコツ: 「図書館で本を借りて読む作業」に例えてみましょう。
・① プログラムカウンタ「本の整理番号(図書分類コード/棚番号)」をメモしたメモ用紙です。「次は【A-12】の棚のデータを取りに行くぞ」と場所だけを指しています。
・② 命令レジスタは、棚から持って帰ってきた「本の中身(テキストそのもの)」を載せる読書台です。
・持ってきた本の中身(命令)を読書台(命令レジスタ)に広げて、それを命令デコーダが読んで「なるほど、こういう意味か」と解読(デコード)します。

2. 試験対策の視点: 基本情報技術者試験やITパスポートなどで最も選択肢の引っ掛けに使われる基本中の基本です。
問題文に「アドレス」「番地」「次に実行する」という言葉があれば ➔ プログラムカウンタ
問題文に「読み出した命令」「フェッチした命令」「取り出した命令」という言葉があれば ➔ 命令レジスタ
このキーワードの一致を意識するだけで、引っかけ問題を100%見抜けるようになります。


4. まとめ

「アドレス(場所)を記憶するのがプログラムカウンタ」、「読み出した命令(中身)を記憶するのが命令レジスタ」。このペアの違いをセットで完璧に整理しておきましょう!


【コンピュータシステム】CPUの計算担当!「演算装置の構成要素」|情報処理問題1000本ノック

CPU(中央処理装置)の5大装置の一つである「演算装置」。四則演算や論理演算を超高速にこなす内部構造(ALUと各種レジスタ)の役割を攻略しましょう。

1. 【 問題 】:コンピュータシステム(CPUの内部構造・演算装置)

【 問題 】 CPUの演算装置に関する次の記述は、正しい(〇)か、誤り(×)か答えなさい。

「CPUの演算装置は、四則演算や論理演算を行う算術論理演算装置(ALU)と、演算データや計算結果を一時的に保持する演算用レジスタ(アキュムレータやステータスレジスタなど)で構成される。」

(ア)正しい(〇)
(イ)誤り(×)

2. 正解:

正解:(ア)正しい(〇)

3. 解説:「電子電卓(ALU)と、そのメモ帳(レジスタ)」のペア

演算装置の主役は、実際に計算処理を担当する回路であるALU(Arithmetic Logic Unit:算術論理演算回路)です。
しかし、ALU単体では「入力された一瞬」しかデータを扱えません。そのため、計算する数字を一時的に置いておいたり、計算結果や「桁繰り(キャリー)が発生したか」といった状態を記録しておく演算用レジスタ群が絶対に不可欠となります。

【演算装置を構成する「主なモジュール」】 ← ココが試験のポイント!

構成要素主な役割(仕事内容)
ALU(算術論理演算回路) 加減乗除(四則演算)や AND/OR/NOT などの論理演算を実際に実行する回路。
アキュムレータ(累算器) ALUに送るデータや、演算後の「計算結果」を一時的に記憶する代表的なレジスタ。
ステータスレジスタ(フラグレジスタ) 演算結果が「ゼロになったか」「マイナスになったか」「あふれた(オーバーフロー)か」などの状態を保持する。
汎用レジスタ 多目的に計算データやアドレスを保持しておくレジスタ。

1. 理解のコツ: 「そろばん塾の生徒」に例えてみましょう。
・① ALU:頭の中で超高速に計算を行う「脳みそ(計算回路)」そのものです。
・② アキュムレータ:計算途中の数値を忘れないように手元に置く「そろばん(数値保持)」です。
・③ ステータスレジスタ:答えがマイナスになった時に「マイナス赤札」を立てる「メモ書き(状態記録)」です。
脳みそ(ALU)と手元のそろばん・メモ(演算用レジスタ)がセットになって初めて、複雑な連続計算が成立します。

2. 試験対策の視点: 「制御装置」と「演算装置」の構成要素のシャッフル問題(引っかけ)が非常に頻出です。
制御装置のキーワード ➔ プログラムカウンタ、命令レジスタ、命令デコーダ(指示出し)
演算装置のキーワード ➔ ALU、アキュムレータ、ステータスレジスタ(計算処理)
この2グループの所属をしっかり切り分けて覚えておくことが、得点源にするための最大のコツです。


4. まとめ

演算装置は「計算回路であるALU」と「データや状態を置く演算用レジスタ(アキュムレータ、ステータスレジスタ等)」が密接に連携して動いています。制御装置の構成パーツとの混同に注意して整理しておきましょう!


【コンピュータシステム】CPUの司令塔!「制御装置の構成要素」|情報処理問題1000本ノック

CPU(中央処理装置)の5大装置の一つである「制御装置」。命令を順番に読み出し、解読して各装置へ指示を出す司令塔の内部構造に関する引っかけ問題を攻略しましょう。

1. 【 問題 】:コンピュータシステム(CPUの内部構造・制御装置)

【 問題 】 CPUの制御装置(Control Unit)に関する次の記述は、正しい(〇)か、誤り(×)か答えなさい。

「CPUの制御装置は、次に実行する命令のアドレスを保持する『プログラムカウンタ』と、取り出した命令を解読する『命令デコーダ』の2つのモジュールのみで構成される。」

(ア)正しい(〇)
(イ)誤り(×)

2. 正解:

正解:(イ)誤り(×)

3. 解説:「指示書を置く机(命令レジスタ)」がないと作業できない!

記述にある「プログラムカウンタ」と「命令デコーダ」はどちらも制御装置の重要要素ですが、「この2つだけで構成される」という点が誤りです。
メモリから読み出した命令を解読する前に「一時的に取り込んで保管しておく」ための命令レジスタや、解読結果に基づいて演算装置やメモリへ電気信号を送る制御信号生成回路(シーケンサ)なども含まれており、主に4つの重要な要素で構成されています。

【制御装置を構成する「主な4つのモジュール」】 ← ココが試験のポイント!

構成モジュール主な役割(仕事内容)
プログラムカウンタ 次に実行すべき命令が格納されている「主記憶のアドレス」を保持する。
命令レジスタ 主記憶から取り出してきた(フェッチした)「命令そのもの」を一時保管する。
命令デコーダ 命令レジスタにある命令を解読し、何の処理を行うか(加算か、転送か等)を判別する。
制御信号生成回路 解読結果に従って、ALU(演算装置)やメモリへ具体的な制御信号(タイミング信号)を送る。

1. 理解のコツ: 「料理のシェフ(制御装置)」の作業手順に例えてみましょう。
・① プログラムカウンタ:「次はレシピ本の5ページ目(アドレス)を読むぞ」とページ番号を覚える。
・② 命令レジスタ:その5ページに書いてある「ニンジンを切る(命令)」というテキストをメモ用紙に書き写して手元(レジスタ)に置く。(※今回の設問で抜けていた重要なステップです!)
・③ 命令デコーダ:手元のメモを見て「なるほど、包丁を使って千切りにする指示だな」と解読する。
・④ 制御回路:解読結果をもとに、手足(演算装置)に「包丁を握って動かせ!」と電気信号(指示)を送る。
メモ(命令レジスタ)がないと、本から読んだ命令を解読する一瞬の間に忘れてしまうため、この4つが揃って初めてスムーズに命令が実行されます。

2. 試験対策の視点: 「制御装置に含まれるレジスタはどれか」「命令実行サイクル(フェッチ→解読→実行)で使われる装置はどれか」という形で高確率で出題されます。
特に「プログラムカウンタ = アドレス(番地)を指すもの」「命令レジスタ = 命令(データ)そのものを置くもの」という役割の違いは、選択肢を絞り込む際の強力な決定打になります。


4. まとめ

制御装置は「プログラムカウンタ」と「命令デコーダ」だけでなく、命令自体を保持する「命令レジスタ」や各所へ指示を送る「制御回路」などが連携して動いています。「何が入っていて、何が抜けているか」を見抜けるようにセットで覚えておきましょう!