CPU
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592457/5f1a601b-ea1f-10e1-d665-82b97e2a8d97.png)CPUは制御装置と演算装置の2つの装置で構成されています。
制御装置は記憶装置からプログラムの命令を取り出し解読し、それぞれの装置に指示を与えるコンピューターの中枢な役割を担っています。
演算装置は算術論理演算装置(ALU)ともいい、四則演算や論理演算などを行います。
レジスタ
CPUの中にはレジスタ、という高速な記憶装置が用意されています。レジスタにはいくつかの種類があります。名称 | 役割 |
---|---|
命令レジスタ | 主記憶から取り出された命令を格納する |
命令アドレスレジスタ | 実行すべき命令のアドレスを保持する。プログラムカウンタともいう |
インデックスレジスタ | アドレス指定に用いるレジスタでもあり、命令アドレス部を修飾するための増殖値を保持する。指標レジスタともいう |
ベースレジスタ | アドレス指定に用いるレジスタであり、命令のアドレス部の値に加えられる基準となるアドレス値を保持する。基底レジスタともいう |
アキュームレジスタ | 被演算数と演算結果を一時的に保持する。累算機ともいう |
汎用レジスタ | 特定の機能に限定せず、多目的に使用される |
クロック周波数
CPUやメモリなどの各装置の動作のタイミングを合わせるために、コンピューターの内部で、一定の感覚で電圧が規則的に「高」「低」を繰り返すクロック信号が生成されています。この「高」「低」の電圧のサイクルが1秒間に何回繰り返されるかをクロック周波数で表します。単位として、GHz(ギガヘルツ:1秒間に10⁹回)などが使われます。 CPUと主記憶を接続するシステムバス(伝送路)のクロックを外部クロックといいます。CPU内部では、外部ロジックを数倍にした内部クロックといいます。 パソコンのカタログにあるクロック周波数は内部クロックの周波数です。 一般に、クロック周波数が高くなるほどコンピューターの命令実行速度は向上し、処理速度も向上します。 全体の性能としては他の要素、メモリ、HDDなども関係してきます。アドレス指定
命令語
プログラムはコンピューターに行わせる命令が集まったものです。プログラム言語で書かれたプログラムは最終的にコンピューターが理解できる1,0だけで構成された機械語に変換し、解読実行されます。 機械語の命令語は命令部とアドレス部(オペランド部)で構成されますが、命令の種類によってはアドレス部が無い物や、複数あるものもあります。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592457/fe31ce2b-fd61-0fa1-79e5-db33ad0b723d.png)命令実行サイクル
CPUは、主記憶装置(メインメモリ)に格納されている命令を読み出して解読し、他の装置に指示を出す制御装置と、データに対する四則演算や論理演算などを行う演算装置からなります。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592457/1f012045-bab1-b9c5-439a-9dfb9d07d752.png)①命令フェッチ(命令取り出し)
命令アドレスレジスタで示されたアドレスの命令が、命令レジスタに取り込まれます。取り出された後、命令アドレスレジスタは、次のアドレスをさす様になります。
②命令の解読
命令の部分は解読器(デコーダ)により解読され、演算命令であれば演算装置に指示が出されます。
③実行アドレス計算
命令のアドレス部分はアドレスレジスタに送られます。アドレスレジスタは実行に必要なデータが入っているアドレスや、実行結果を格納するアドレスを計算して、主記憶装置に指示します。
④オペランド読み出し
演算の対象となるアドレスのデータが、演算装置に送られます。
⑤命令の実行
演算装置で計算が実行されます。
⑥演算結果格納
計算結果が、再び主記憶装置に格納されます。
命令フェッチ→命令の解読→実行アドレス計算→オペランド読み出し→命令の実行→演算結果格納