基本情報技術者 学習ページ|科目A・コンピュータ構成要素

プロセッサの仕組み

プロセッサは、命令を取り出して解読し、必要なデータを使って演算を実行します。内部の構成、命令実行、割込み、高速化技術とともに、クロック周波数やCPIを用いた性能計算を確認します。

CPU内部の役割

CPUでは、制御装置が命令の解読や各装置への制御信号の出力を行い、演算装置が算術演算や論理演算を行います。処理途中の値や命令に関する情報は、高速にアクセスできるレジスタに保持されます。

代表的なレジスタには、次に実行する命令のアドレスを保持するプログラムカウンタ、取り出した命令を保持する命令レジスタ、演算対象などを保持する汎用レジスタがあります。レジスタごとに保持する情報の役割が異なると整理します。

制御、演算、レジスタの役割を分けて覚える。

命令を実行する流れ

プロセッサは、主記憶から命令を取り出し、命令部を解読し、必要なデータを取得して命令を実行するという流れを繰り返します。命令を取り出した後、プログラムカウンタは次に実行する命令を指すよう更新されます。

命令でデータの場所を指定する方法をアドレス指定といいます。直接アドレス指定、間接アドレス指定、インデックスレジスタを用いる方式などでは、命令中の値を実効アドレスとして利用する方法が異なります。

取出し、解読、データ取得、実行の流れを押さえる。

割込みで処理を切替える

割込みが発生すると、プロセッサは実行中の処理を一時的に中断し、必要な状態を保存して割込み処理へ移ります。割込み処理が終わると、保存した状態を基に元の処理へ戻ります。

ゼロ除算など実行中の命令に起因するものは内部割込みの例です。一方、入出力装置の処理完了など、プロセッサの外部から通知されるものは外部割込みの例です。SVCのようにプログラムがOSの機能を呼び出すために発生させる割込みもあります。

内部要因か外部装置からの通知かを見分ける。

処理を並行して進める

パイプラインは、命令処理を複数の段階に分け、異なる命令の各段階を重ね合わせて実行することで、単位時間当たりに完了する命令数を増やす方式です。分岐やデータ依存などによって処理をそのまま重ねられない場合は効率が低下します。

マルチコアプロセッサは、一つのプロセッサパッケージなどに複数の処理コアを備えます。並列化できる処理では複数コアを利用できますが、コア数を増やした割合と同じ比率で全処理が高速化するとは限りません。

パイプラインとマルチコアは並行性の単位が異なる。

CPU性能を計算する

クロック周波数は1秒間のクロック数を表し、2GHzなら1秒間に20億クロックです。CPIは1命令当たりの平均クロック数を表します。平均CPIが分かると、平均命令実行時間はCPI÷クロック周波数で求められます。

MIPSは1秒間に何百万命令を実行できるかを示す指標です。平均CPIを用いる場合、クロック周波数÷平均CPIで1秒当たりの命令数を求め、それを100万で割ります。命令の種類や構成が異なるCPU同士をMIPSだけで単純比較できない場合がある点にも注意します。

実行時間はCPI÷周波数、MIPSはその逆方向。

本番の形で解いてみる

科目Aの形: 四肢択一(このページのために作った問題)

CPUのレジスタのうち、次に実行する命令が格納されている主記憶上のアドレスを保持するものはどれか。

  1. 命令レジスタ
  2. プログラムカウンタ
  3. 汎用レジスタ
  4. スタックポインタ
答えと解説を見る

正解: プログラムカウンタ

プログラムカウンタは、次に実行する命令のアドレスを保持します。命令レジスタは主記憶から取り出した命令そのものを保持します。

まちがえやすい点: 命令の内容を保持する命令レジスタと、命令のアドレスを保持するプログラムカウンタを混同しない。

科目Aの形: 四肢択一(計算)(このページのために作った問題)

クロック周波数が2.4GHzで、1命令当たりの平均CPIが3であるプロセッサがある。1命令の平均実行時間は何nsか。

  1. 0.417ns
  2. 0.800ns
  3. 1.25ns
  4. 7.20ns
答えと解説を見る

正解: 1.25ns

1クロックの時間は1÷2.4GHzで、1命令には平均3クロック必要です。したがって3÷2.4×10のマイナス9乗秒となり、1.25nsです。

まちがえやすい点: CPIをクロック周波数に掛けるのではなく、実行時間ではCPIを周波数で割る。

科目Aの形: 四肢択一(計算)(このページのために作った問題)

クロック周波数が3GHzで、実行する命令全体の平均CPIが2.5であるプロセッサの性能は何MIPSか。

  1. 750MIPS
  2. 1000MIPS
  3. 1200MIPS
  4. 7500MIPS
答えと解説を見る

正解: 1200MIPS

1秒当たりの平均命令数は3×10の9乗÷2.5=1.2×10の9乗命令です。100万命令を1MIPSとするので、1200MIPSになります。

まちがえやすい点: クロック周波数とCPIを掛けず、1秒当たりの命令数は周波数をCPIで割って求める。

基本情報の学習ページ

ほかの学習ページの一覧と、2択の用語カード(750語)は、基本情報技術者のページにあります。

基本情報技術者のページへ →

このページの内容は、IPA「基本情報技術者試験 シラバス Ver.9.2」(2026年1月公表)と試験要綱Ver.5.6の範囲にもとづきます(2026年10月確認)。IPAは2027年度春ごろから新しい試験制度に移る予定です。