オタブロ > IT知識 > 応用情報技術者試験 > 【応用情報技術者試験勉強日記】CPUについて①|レジスタや命令の流れなど

【応用情報技術者試験勉強日記】CPUについて①|レジスタや命令の流れなど

CPUについて IT知識
応用情報技術者試験CPUについて

応用情報技術者試験を受けるので勉強した内容をこちらの記事にまとめていきます。

今回はCPUについてまとめました。

参考書籍としてきたみりゅうじさんの書籍がイラスト多めでわかりやすいので使っています。他にも書籍を使ったり、ググったりしてしてまとめているのでこの記事が応用情報技術者試験を受ける方のお役に立てればうれしいです。

スポンサーリンク

ALU

応用情報技術者試験CPUについて

CPUの内部にはALU(Arithmetic Logic Unit)という算術論理演算器が含まれています。

加算や減算、AND演算、OR演算、NOT演算などの論理演算を実行する回路となっています。

レジスタ

応用情報技術者試験CPUについて

CPU内部にはデータや命令を一時的に記憶しておく回路がありそれをレジスタと言います。

レジスタには様々な種類がありそれぞれ役割が違います。

レジスタ名説明
プログラムカウンタ次に命令を取り出すアドレスを記憶する。
命令レジスタ取り出した命令を一時的に記憶する。
ベースレジスタプログラムの先頭アドレスを記憶する。
アキュムレータ演算対象、演算結果を格納する。
汎用レジスタ特に目的は定められてなく状況に応じて用途が変わる。(アキュムレータの代用など)

命令の構成

応用情報技術者試験CPUについて

CPU処理には「命令」というものがあります。

命令は「命令部」と「オペランド部」というものがあり命令部は実行させたい命令の種類のコード番号が入っており、オペランド部には処理となるデータのメモリアドレスなどが入っています。

命令の流れ

上記でレジスタについて説明したので次はレジスタが活躍する命令について説明していきます。

命令の流れはこちらの様になります。

  1. 命令の取り出し
  2. 命令の解読
  3. オペランド読み出し
  4. 命令実行

では1つずつ説明していきます。

①命令の取り出し

まず最初に命令の取り出しです。プログラムカウンタに記憶されたアドレスから命令を取り出します。命令が取り出されたら命令レジスタに記憶されプログラムカウンタの値が1つ上がります

②命令の解読

①命令の取り出しが終わったら次は②命令の解読です。取り出した命令を命令デコーダ(命令を解読し必要な装置に制御信号を送る)に渡し必要な装置に制御信号を送ります。

③オペランド読み出し

命令レジスタではオペランド部からメモリアドレスも算出できるので算出しオペランドを汎用レジスタ等に取り出します。

④命令実行

最後は命令実行です。取り出したデータを処理して処理した結果をレジスタに書きだして終了となります。

アドレス指定方式

応用情報技術者試験CPUについて

命令の流れについて説明しましたが「③オペランド読み出し」ではオペランドを読みだす前にオペランドのメモリアドレスを算出していましたね。これには様々な方法があるので解説していきます。

即値アドレス指定方式

即値アドレス指定方式はオペランド部に対象データそのものが入っているためメモリの算出は行われません。

直接アドレス指定方式

直接アドレス指定方式はデータが入っているアドレスがオペランド部に示されています。例えばオペランド部に10番地と示されていればメモリの10番地の値を取り出します。

間接アドレス指定方式

間接アドレス指定方式はデータのアドレスが入っているアドレスを指定します。

少しややこしいのですが簡単にするとこんな感じです。

オペランドのメモリアドレスを参照メモリアドレスは10番地。

10番地のアドレスには20重番地のアドレスが示されているので20番地を参照する。

20番地にデータがある。

このように間接的にデータのありかを指定しています。

ベースレジスタ指定方式

こちらは命令中に指定されたアドレスとベースレジスタ(プログラムの先頭アドレスを記憶する。)に入っているアドレスを加算しアドレスを求めます。

次の記事はこちら↓↓

【応用情報技術者試験勉強日記】CPUについて②|クロック周波数と高速化技術
今回も前回に引き続き応用情報技術者試験勉強としてCPUのクロック周波数と高速化技術についてまとめました。 応用情報技術者試験の勉強をしている方やCPUのクロック周波数と高速化技術について知りたい方には特におすすめの記事となっています。

タイトルとURLをコピーしました