

問題
割込み処理の終了後に割込みによって中断された処理を割り込まれた場所から再開するために,割込み発生時にプロセッサが保存するものはどれか。
- ア:インデックスレジスタ
- イ:データレジスタ
- ウ:プログラムカウンタ
- エ:命令レジスタ
基本情報技術者平成30年秋期 午前問10
問題
基本情報技術者試験や応用情報技術者試験で出題されるプロセッサとレジスタの問題。レジスタの種類と役割を理解していればそこまで難しい問題ではありませんが、理解していないと難しく感じる問題です。
本記事では、プロセッサとレジスタについて図解で分かりやすく解説していきます。
本記事で学べること
- プロセッサ内部にあるレジスタのついて理解する
- レジスタの種類とその役割を覚える
- 基本情報技術者試験の過去問の解き方を学ぶ
目次
レジスタとは
レジスタ(英:register)とは、CPU(プロセッサ)内部にある記憶装置のことです。容量は小さいが高速に読み書きできるのが特徴です。
レジスタの役割
CPU(プロセッサ)は、次のような流れで命令を処理します。命令を取り出して解読、解読した結果から対象データを読み出して実行という流れです。

段階 | 処理内容 |
1 | 命令の取り出し(命令フェッチ) |
2 | 命令の解読(デコード) |
3 | 対象データの読み出し(オペランドの読み出し) |
4 | 命令の実行 |
5 | 結果の書き込み |
このとき「取り出した命令の情報」や「次はどの命令を取り出せばよいかの情報」を覚えておく必要があります。この役割を果たすのがCPU(プロセッサ)内部にあるレジスタです。
スポンサーリンク
レジスタの種類
レジスタには次のような種類があります。
名称 | 説明 |
命令レジスタ | 取り出した命令を一時的に記憶しておくためのレジスタ |
プログラムカウンタ | 次に実行すべき命令のアドレス(メモリ上の番地)を記憶しておくためのレジスタ |
ベースレジスタ | プログラムをメモリ上にロードした時の先頭のアドレス(メモリ上の番地)を記憶しておくためのレジスタ。ベースレジスタを使うことで、プログラムがメモリ上のどの位置にロードされても、命令を変えることなく実行できる |
インデックスレジスタ | 連続したデータの取り出しに使うためのレジスタ。配列などの連続したデータに繰り返し同じ命令を適用する場合に使用する |
アキュムレータ | 演算結果を一時的に記憶しておくためのレジスタ |
汎用レジスタ | 特に役割を限定していないレジスタ。状況に応じて様々な用途に用いることができる |
命令レジスタとプログラムカウンタ
CPU(プロセッサ)が命令を取り出すときに使用するのが、プログラムカウンタです。プログラムカウンタと呼ばれるレジスタを参照しメモリ上から命令を取り出します。

そして、プログラムカウンタを参照してメモリから取り出した命令は、命令レジスタと呼ばれるレジスタに記憶します。

命令を取り出した後は、次の命令に備えてプログラムカウンタの値を加算します。(今回の命令が1002、次の命令が1003の場合は、プログラムカウンタに+1して1003とする)

関連記事
基本情報技術者試験 過去問の解説
スポンサーリンク
基本情報技術者平成30年秋期 午前問10
問題
割込み処理の終了後に割込みによって中断された処理を割り込まれた場所から再開するために,割込み発生時にプロセッサが保存するものはどれか。
- ア:インデックスレジスタ
- イ:データレジスタ
- ウ:プログラムカウンタ
- エ:命令レジスタ
基本情報技術者平成30年秋期 午前問10
割込みは、すぐに対処しなくてはならない優先度の高い事案が発生したときに、実行中のプログラムを中断する仕組みです。実行中のプログラムを中断して割込み処理を優先します。
割込み処理の終了後に、中断したプログラムを再開するには、中断したプログラムのアドレスを保持しておく必要があります。
解答のア~エの中で、次に実行すべき命令のアドレスを保持するレジスタはどれか確認します。
ア:インデックスレジスタ
→ 配列などの連続したデータの取り出しに使うためのレジスタなので不正解
イ:データレジスタ
→ 演算結果やデータを一時的に記憶しておくレジスタなので不正解
ウ:プログラムカウンタ
→ 次に実行すべき命令のアドレスを記憶しておくためのレジスタなので正解
エ:命令レジスタ
→ 取り出した命令を一時的に記憶しておくためのレジスタなので不正解
基本情報技術者平成30年春期 午前問9
問題
設問の図はメモリ(主記憶)から命令を取り出して(命令フェッチ)CPU(プロセッサ)内部にある「a」に記憶し、命令の解読(命令デコード)を行うまでの流れを表しています。
解答のア~エの中で取り出した命令を記憶しておくレジスタはどれか確認します。
ア:アキュムレータ
→ 演算結果を一時的に記憶しておくためのレジスタなので不正解
イ:データキャッシュ
→ データキャッシュはキャッシュメモリの1つで、キャッシュメモリはプロセッサ外部の装置なので不正解
ウ:プログラムレジスタ(プログラムカウンタ)
→ 次に実行すべき命令のアドレスを記憶しておくためのレジスタなので不正解
エ:命令レジスタ
→ 取り出した命令を一時的に記憶しておくためのレジスタなので正解
基本情報技術者試験おすすめの参考書・問題集
いちばんやさしい 基本情報技術者 | 『基本情報技術者試験』試験に、短期間で一発合格するための試験対策本。ITの知識がまったくない、未経験者やでもスラスラと学習を進められるよう、丁寧に解説。 |
かやのき先生の基本情報技術者教室 | 基本情報技術者をめざす方のためのやさしいオールインワンタイプの参考書&問題集。イラストや豊富な図解・例え話を駆使して理解しやすく・記憶に残りやすいように説明。 |
基本情報技術者 パーフェクトラーニング過去問題集 | 科目A・Bともに万全の対策ができる、定番の過去問題集!科目A・科目Bの両方について万全の対策ができる。 |
キタミ式イラストIT塾 基本情報技術者 | すべての解説をイラストベースで行っているため,とてもわかりやすい解説本。いちばん最初に読む基本情報技術者試験関連の書籍を探している人におすすめ! |
出るとこだけ!基本情報技術者[科目B] | 基本情報技術者【科目B】対策の定番書!前提知識+解き方+試験問題を掲載。効率よく学習できる。 |
基本情報技術者 合格教本 | 出題範囲を体系的にきちんと理解しながら学習したい人におすすめ!基本情報技術者試験の定番テキストの改訂版。 |
基本情報技術者 超効率の教科書+よく出る問題集 | 動画でスムーズに学習スタート、テキストでしっかり理解度を深める!よく出る問題を反復学習することで、合格に直結するチカラが身に付く! |