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

【アルゴリズム】すべての「頂点」を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度だけ通る「オイラー閉路」との対比を完璧に覚えておきましょう!


PR

【コンピュータシステム】ミスヒット時も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. まとめ

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


【コンピュータ】CPUの内部スピードをバースト!「クロック・ダブラー」|情報処理問題1000本ノック

コンピュータの脳であるCPU(プロセッサ)の性能を高める仕組み。マザーボード上の外部信号から、CPU内部でより高速な同期信号を生成する「クロック・ダブラー」の仕組みを攻略しましょう。

1. 【 問題 】:コンピュータシステム(プロセッサの構成・基本構造)

【 問題 】 CPU(中央処理装置)の内部回路に関する記述です。マザーボードなどの外部回路から供給される基準のクロック信号(外部クロック)を受け取り、その周波数を任意の整数倍(2倍、3倍など)に増幅(倍増)させて、CPU内部をより高速に動作させるための回路(機能)を何と呼ぶでしょうか?

(ア)クロック・ダブラー(Clock Doubler)
(イ)バス・ターミネータ(Bus Terminator)
(ウ)プロセッサ・レジスタ(Processor Register)
(エ)プログラム・カウンタ(Program Counter)

2. 正解:

正解:(ア)クロック・ダブラー(Clock Doubler)

3. 解説:「外の手拍子はゆっくり、中の足踏みは超高速!」

クロック・ダブラー(Clock Doubler)は、CPUの内部クロック周波数を外部クロックの整数倍にするための内部回路です。(※PLL: Phase Locked Loop などの回路技術を用いて実現されます)
マザーボード全体の配線(システムバス)は長いため、信号を無理に超高速にすると電磁ノイズや遅延が発生して安定動作しません。そこで、「マザーボード側は安定した遅めのテンポ(外部クロック)で動かし、CPU内部だけクロック・ダブラーでテンポを何倍にも跳ね上げて超高速に計算する」という工夫が使われています。

【CPUの「2つのクロック周波数」の関係】 ← ココが試験のポイント!

  • 外部クロック(FSB/システムバス):メモリやマザーボードと通信するための基準テンポ(例:100MHz)
  • 内部クロック(動作周波数):CPU内部の計算回路が動くテンポ(例:3.0GHz = 30倍)

【結論】 外部クロック × クロック・ダブラー(倍率は可変)内部クロック

1. 理解のコツ: 「大縄跳びのテンポ」に例えてみましょう。
・マザーボードやメモリなどの周辺回路は、大勢で一緒に大縄跳びをしている状態です。速すぎると誰かが引っかかるので、回すテンポ(外部クロック)は「1…2…1…2…」とゆったり安全な速さに固定します。
・しかし、運動神経バツグンのプロ選手であるCPUは、もっと速く動き回りたいです。そこでCPUの心臓部に「クロック・ダブラー」を取り付けます。
・外の縄が「1…」と1回回る間に、CPU内部では自分だけで「1・2・3・4・5!」と5倍速でステップを踏みます(倍増)。『外の安全な速度に合わせて、自分の中だけギアを上げて超高速回転させる回路』がクロック・ダブラーです。

2. 試験対策の視点: コンピュータの構成・プロセッサ動作に関する問題で出題されます。問題文の中に「クロック周波数の倍増」「任意の整数倍」「外部クロックから内部クロックを生成」といったキーフレーズがあれば、クロック・ダブラーが正解です。
※(イ)バス・ターミネータは信号の反射を防ぐ終端抵抗、(ウ)レジスタはCPU内部の超高速メモリ、(エ)プログラムカウンタは次に実行する命令のアドレスを保持するレジスタであり、いずれも明確に区別できます。


4. まとめ

「外部の基準信号を受け取り、その周波数を整数倍に倍増させてCPU内部を超高速で動かす回路」。これがクロック・ダブラーです。CPUの内部クロックと外部クロックの違いとセットで覚えておきましょう!


【コンピュータシステム】ベルトコンベアが止まる恐怖の渋滞!「パイプラインハザード」|情報処理問題1000本ノック

CPUを高速化するための強力な仕組み「パイプライン処理」。複数の命令を同時並行で処理していく中で、データの衝突や分岐命令によって処理の連続性が途切れてしまう致命的な現象「パイプラインハザード」を攻略しましょう。

1. 【 問題 】:コンピュータ構成要素(プロセッサの高速化制御・パイプライン)

【 問題 】 CPUの高速化技術である「パイプライン処理」に関する記述です。前の命令と次の命令で同じレジスタやメモリ領域を同時に参照・操作しようとする「データの依存関係」などが原因で、後続の命令を予定通り並行して実行できなくなり、パイプラインの処理効率が低下(または一時停止)してしまう状況や原因のことを何と呼ぶでしょうか?

(ア) パイプラインダメージ
(イ) パイプラインエラー
(ウ) パイプラインフォールト
(エ) パイプラインハザード

2. 正解:

正解: (エ) パイプラインハザード

3. 解説:「前の作業が終わるまで、後ろの人は待機」というロスタイム

パイプラインハザード(Pipeline Hazard)とは、パイプライン処理がスムーズに流れなくなる障害の総称です。
パイプラインは、複数の命令を重ね合わせて同時進行させることで全体の処理速度を上げますが、命令同士が互いに影響し合っている場合、後ろの命令が前の命令の完了を待たなければならず、空き時間(バブル/ストール)が生じてしまいます。設問にある「同一レジスタの利用」によるハザードは、特に「データハザード」と呼ばれます。

【試験で深く問われる「3大パイプラインハザード」】 ← ココが試験のポイント!

ハザードの種類発生する具体的な原因ハザードを防ぐ・軽減する主な対策技術
データハザード (設問のケース)前の命令が書き込むレジスタの値を、次の命令がすぐ使おうとしたとき。 フォワーディング(バイパス)、アウトオブオーダー実行
② 制御ハザード 条件分岐命令(IF文など)の際、次に実行すべき命令がどちらになるか確定するまで先読みできないとき。 分岐予測(ブランチプレディクション)、遅延分岐
③ 構造ハザード メモリや演算器など、同じハードウェア資源(リソース)に複数のステージが同時にアクセスしようとしたとき。 ハーバードアーキテクチャ(命令用とデータ用のメモリ分離)

1. 理解のコツ: 「ハンバーガーショップの調理ライン」に例えてみましょう。
・この店は、1人が「パンを焼く」、次の人が「肉を挟む(レジスタ書き込み)」、最後の人が「包装する(読み込み)」という分業パイプラインです。通常なら、次々とハンバーガーが流れるはずです。
・しかし、前の人が「超特製肉(同一レジスタ)」をじっくり焼いて挟むのを完了させる前に、後ろの包装担当が「よし、その超特製肉バーガーを包むぞ!」と手を伸ばしても、そこにはまだ現物がありません。結果として、包装担当は手が空いてぼーっと待つしかなく、後ろのライン全体が詰まってしまいます。この、『前の工程が終わっていない共通パーツを使おうとして、後ろのラインがストップする渋滞現象』パイプラインハザード(データハザード)です。

2. 試験対策の視点: コンピュータアーキテクチャのプロセッサ高速化分野における定番中の定番問題です。問題文の中に「同一レジスタの利用」「パイプライン処理がうまく機能しない」「並行処理が阻害される」という記述があれば、迷わずパイプラインハザードを選択してください。
さらに応用試験では、上の表にある「ハザードの3つの分類」と「それぞれの対策技術」の組み合わせが非常によく狙われます。「条件分岐による遅延=制御ハザード(対策:分岐予測)」「データの依存関係による遅延=データハザード」といったように、発生原因ごとの専門用語までセットで結びつけておくことが、試験の午後問題や高度な設問をクリアする大きなアドバンテージになります。


4. まとめ

「複数の命令を重ね合わせて実行するパイプライン処理において、同一レジスタへのアクセス競合や条件分岐などによって、処理のスムーズな流れが妨げられてストップしてしまう状況」。これがパイプラインハザードです。CPUをさらに効率よく動かすための様々な技術(分岐予測など)の前提となる重要キーワードですので、しっかりと記憶に定着させておきましょう!


【コンピュータシステム】電源を切っても消えない超高速メモリ!「FeRAM(強誘電体メモリ)」|情報処理問題1000本ノック

コンピュータに欠かせない各種「半導体メモリ」。電源を切ると中身が消えてしまうメインメモリの弱点を、特殊な物質の力で克服した次世代の不揮発性メモリ「FeRAM」の構造と特徴を攻略しましょう。

1. 【 問題 】:コンピュータ構成要素(半導体メモリのメモリ種類と特性)

【 問題 】 半導体メモリ(RAM/ROM)の特性に関する記述です。コンデンサの代わりに「強誘電体」という特殊な物質の原子配置(自発分極)を利用することで、電源を切っても記憶内容が消えない「不揮発性」を持ちながら、通常のRAMと同等の高速な読み書きや高い書き換え寿命を実現したメモリはどれでしょうか?

(ア)FeRAM
(イ)DRAM
(ウ)EEPROM
(エ)EPROM

2. 正解:

正解:(ア)FeRAM(Ferroelectric RAM)

3. 解説:「強誘電体」の力で、RAMとROMの良いとこ取り

FeRAM(フェラム / 強誘電体メモリ)は、頭文字の「Fe(Ferroelectric=強誘電体)」が示す通り、電圧をかけると電気的な偏り(プラスとマイナス)がそのまま固定される特殊な素材を使った半導体メモリです。
従来のUSBメモリやSSDに使われている「フラッシュメモリ」も同じ不揮発性ですが、FeRAMはそれらと比較して「データの書き込み速度が圧倒的に速い(数万倍)」「書き換え可能回数が桁違いに多い(100億回以上)」という驚異的なメリットを持っています。そのため、頻繁にデータを保存し直すスマートメーターや車載機器、ICカードなどのICチップ内部に広く採用されています。

【試験で激突する「半導体メモリ」の分類表】 ← ココが試験のポイント!

メモリ名揮発性 / 不揮発性記憶を保持する物理的な仕組み・特徴
(ア)FeRAM 不揮発性(消えない) 強誘電体の「自発分極(電気的な偏り)」を利用する。
(イ)DRAM 揮発性(消える) コンデンサに電気を溜める(PCのメインメモリ用)。※定期的なリフレッシュが必要。
(ウ)EEPROM 不揮発性(消えない) 「電気的(Electrical)」にデータの消去・書き換えができるROM。
(エ)EPROM 不揮発性(消えない) 「紫外線(UV)」を照射することでデータを消去し、書き換える古いROM。

1. 理解のコツ: 「スイッチの仕組み」に例えてみましょう。
・パソコンのメインメモリである(イ)DRAMは、「手を離すと元に戻ってしまうバネ式のボタン」です。電気が流れている間は押し続けられますが、電源が切れる(手を離す)と一瞬で元の状態に戻ってデータが消えてしまいます。
・一方、(ア)FeRAMが使う強誘電体は、「パチッと上か下に倒したらそのまま形が固定される物理スイッチ」です。電気を切ってもスイッチの向きが変わらないため、データがそのまま残ります。しかもそのスイッチを切り替えるスピードが、フラッシュメモリのように無理やり高い電圧で電子を閉じ込める方式ではないため、摩擦による劣化が少なく、爆速で長寿命なのが特徴です。

2. 試験対策の視点: コンピュータの記憶装置やデバイスの性質を問う分野において、定番中の定番となる知識問題です。問題文の中に「強誘電体」「不揮発性メモリ」という2つのキーワードがセットで登場したら、迷わずFeRAMを選択してください。
試験では、選択肢に並ぶ「DRAM(リフレッシュ操作が必要な揮発性メモリ)」や「EEPROM(フラッシュメモリの原型となったROM)」の定義文とシャッフルして引っ掛けてくるパターンが非常に多いです。それぞれのアルファベットが何の略なのか(Fe=強誘電体、D=ダイナミック、EE=電気的消去可能)をゆるく頭に入れておくだけで、試験本番で初見の選択肢が出ても、名前から一発で正解を絞り込める強力な武器になります。


4. まとめ

「強誘電体という特殊な素材の自発分極特性を応用し、電源を切ってもデータが消えない不揮発性と、RAMならではの高速・長寿命な読み書きを両立させた半導体メモリ」。これがFeRAMです。他の主要なRAMやROMの駆動方式・特徴とあわせて、その名前と役割を完璧にリンクさせておきましょう!


【コンピュータ】複数コアの連携が生む、仕方のない空振り!「コヒーレントミス」|情報処理問題1000本ノック

1つのチップに複数のCPUコアを搭載するマルチプロセッサ時代。それぞれのコアが持つキャッシュメモリのデータに矛盾が出ないよう「一貫性(コヒーレンシ)」を保とうとした結果、逆に発生してしまう特殊なキャッシュミス「コヒーレントミス」のメカニズムを攻略しましょう。

1. 【 問題 】:コンピュータ構成要素(マルチプロセッサとキャッシュ制御)

【 問題 】 複数のCPUコアがそれぞれ固有のキャッシュメモリを持つマルチプロセッサシステムに関する記述です。すべてのキャッシュメモリ間でデータの「一貫性(コヒーレンシ)」を維持するために、あるコアが共有データを書き換えた際、他のコアが保持していた同じデータを強制的に「無効化」する制御が行われます。この制御が原因で、無効化された側のコアが後にそのデータにアクセスした際、データがキャッシュ内から消失しているために発生するキャッシュミスを何と呼ぶでしょうか?

1. コンパルソリミス(初期ミス)
2. キャパシティミス(容量ミス)
3. コンフリクトミス(競合ミス)
4. コヒーレントミス(コヒーレンスミス)

2. 正解:

正解: 4. コヒーレントミス

3. 解説:「データの鮮度」を守るためのセキュリティルールが裏目に

コヒーレントミス(Coherence Miss)とは、マルチコアCPU特有のキャッシュミスです。
複数のコアで同じメインメモリのデータを共有しているとき、コアAがデータを「10」から「20」に書き換えたとします。このとき、コアBのキャッシュに残っている古い「10」というデータは使えなくしなければシステムがバグを起こしてしまいます。そのため、コアBのキャッシュデータを強制的に「ゴミ(無効)」にする処理が走ります。 その後、コアBが「よし、さっきのデータを読もう」と自分のキャッシュを見に行くと、すでに無効化されて空っぽになっているため、わざわざ遠くのメインメモリまで最新の「20」を取りに行くことになります。この、データの矛盾(不整合)を防ぐための仕組みによって引き起こされるキャッシュミスが、コヒーレントミスです。

【試験で区別すべき「キャッシュミス」の主な原因】 ← ココが試験のポイント!

ミスの分類発生する根本的な原因・理由
1. コンパルソリミス 電源を入れてから「初めて」そのデータを読み込むため、まだ入っていない。
2. キャパシティミス キャッシュメモリの「容量(サイズ)」が足りず、溢れて追い出されてしまった。
3. コンフリクトミス 容量は空いているが、データの配置場所(アドレスのバッティング)で競合した。
4. コヒーレントミス 他のコアがデータを書き換えたため、自分のデータが一貫性保持のために「無効化」された。

1. 理解のコツ: 「オフィスの共有ホワイトボードと個人用メモ」に例えてみましょう。
・社員Aと社員Bが、会社のホワイトボード(メインメモリ)に書かれた「今日の売上目標:100万円」という情報を、それぞれ自分の手帳(個別キャッシュ)にメモしました。
・夕方、社員Aが「目標が150万円に変更になったぞ」とホワイトボードを書き換えました。このとき、社員Bが古い手帳のメモ(100万円)をそのまま見て仕事をすると大問題になります。そのため、社内ルール(一貫性制御)によって、社員Aは社員Bの手帳のページを「このメモは古いからバツ!無効!」と消してしまいます。
・その後、社員Bが手帳を開くとメモが消されているため(キャッシュミス)、わざわざ席を立って遠くのホワイトボードまで最新の目標を確認しに行かなければなりません。この、『他の人が内容をアップデートしたせいで、自分のメモが使えなくなってトボトボ確認し直す羽目になる状態』コヒーレントミスです。

2. 試験対策の視点: コンピュータアーキテクチャやプロセッサの高速化技術を問う高度な問題として出題されます。問題文の中に「マルチプロセッサ(複数のキャッシュ)」「一貫性(コヒーレンシ)を保つ」「一部のキャッシュが不整合(無効化)となることで発生するキャッシュミス」というキーワードの組み合わせがあれば、迷わずコヒーレントミスを選択してください。
対策として、このミスを減らすためには、プロセッサ間で共有するデータの割り振りを最適化し、異なるコアが同じデータ領域を頻繁に書き換え合わないようなプログラムの構造にする(偽共有の排除など)が有効である、という高度な並列プログラミングの関連知識も合わせて知っておくと、記述式や応用問題にも対応できる強力な武器になります。


4. まとめ

「マルチプロセッサ環境において、メモリデータの一貫性を維持する制御(無効化など)が働いた結果、他のコアの書き込みの割りを食う形で自分のキャッシュが空振りに終わる現象」。これがコヒーレントミスです。単一のコアでは発生しない、マルチコアならではのトレードオフ現象として、そのメカニズムをしっかりと記憶に刻んでおきましょう!


【コンピュータ】「過去の記憶」が出力を変える!「順序回路」|情報処理問題1000本ノック

コンピュータの頭脳やメモリを支える論理回路。現在の入力だけで結果が決まる単純な回路とは異なり、過去の情報を「記憶」して処理に活かす「順序回路」の仕組みと特徴を攻略しましょう。

1. 【 問題 】:コンピュータ構成要素(デジタル論理回路の分類)

【 問題 】 デジタル論理回路は大きく2つのタイプに分類されます。このうち、出力信号の値が「現在の入力信号の値」だけで決まるのではなく、「過去の入力信号の履歴(回路内部に記憶された状態)」によっても変化・決定される特性を持つ論理回路を何と呼ぶでしょうか?

1. 組合せ回路
2. 順序回路
3. 同期回路
4. 反転回路

2. 正解:

正解: 2. 順序回路

3. 解説:「今」だけでなく「過去」も考慮する、記憶を持つ回路

順序回路(じゅんじょかいろ)は、内部に情報を記憶する要素(フリップフロップなど)を持っていることが最大の特徴です。
そのため、まったく同じ入力信号を与えられたとしても、それまでに「どんな信号が入力されていたか(過去の履歴)」によって、出力される結果がガラリと変わります。この特性があるからこそ、コンピュータは数を数えたり(カウンタ)、データを一時保存したり(レジスタ・メモリ)といった複雑な動作を行うことができます。

【試験で激突する「組合せ回路」と「順序回路」の比較】 ← ココが試験のポイント!

回路の分類出力が決まる条件内部の「記憶要素」具体的な用途・例
1. 組合せ回路 現在の入力信号の値だけ なし(記憶できない) AND、OR、XOR、半加算器、全加算器
2. 順序回路 現在の入力 + 過去の入力(状態) あり(フリップフロップ等) レジスタ、メモリ、カウンタ(歩数計など)

1. 理解のコツ: 「自動販売機」を想像してください。
・「150円のジュース」を買うとき、あなたが「100円玉」を投入した(現在の入力)とします。もしこの自販機が1.組合せ回路(記憶なし)なら、「今100円が入ってきた」ということしかわからないため、ジュースを出すべきか判断できません。
・しかし、実際の自販機は2.順序回路なので、それ以前に「すでに50円玉が入っていた(過去の入力・記憶)」という状態を覚えています。この「過去の50円」と「現在の100円」が組み合わさることで、初めて「合計150円になったからジュースを出そう!(出力)」という正しい判断ができるようになります。このように、過去の履歴を引きずって動く仕組みが順序回路です。

2. 試験対策の視点: コンピュータのハードウェアやデジタル論理回路の基礎分野における超定番の定義問題です。問題文の中に「現在の入力信号と過去の入力信号から、出力が決まる」あるいは「内部に記憶要素を持つ」という記述があれば、迷わず順序回路を選択してください。
試験では、対になる「1. 組合せ回路(加算器など)」の定義と入れ替えて引っ掛けてくるパターンが非常に多いです。また、順序回路を構成するための基本パーツとして「フリップフロップ(Flip-Flop)」という電子部品の名前がセットで問われることも多いため、「過去を記憶する回路=順序回路=フリップフロップでできている」という3点セットで頭を整理しておくことが、試験での確実な得点力に直結します。


4. まとめ

「現在の入力だけでなく、回路の内部に保存された過去の入力履歴(状態)をベースにして出力信号を決定する、記憶を持った論理回路」。これが順序回路です。記憶を持たない組合せ回路との決定的な違いをしっかりと記憶に刻み、得点源にしていきましょう!