はじめに
基本情報の勉強に伴い、学習した部分(ハードウェア_CPU)の内容となります。
中央処理装置(CPU)について
コンピュータの中枢を担う装置(司令塔)
与えられたデータを何らかの形で処理をして出力装置に渡す
※演算装置・制御装置を担っている
命令実行サイクル
CPUは以下のような順番で命令を処理していく
フェッチ→解読(デコード)→オペランド読み出し→命令実行の段階がある
| 処理 | 説明 |
|---|---|
| フェッチ | 記憶装置から命令を取り出す |
| 解読 | 命令を解読する |
| オペランド読み出し | 必要なデータを呼び出す |
| 命令実行 | 命令を実行し結果を記憶装置へ格納する |
アドレス指定方式
CPUに与えられる命令は、「命令部」+「オペランド部」で構成されている
命令部 ・・・ 2進数レベルで処理をしていく命令が書かれている
オペランド部 ・・・ データがどこにどうやって保存してあるかを記載している
(データや、データ保管場所を示すアドレスが対象)
アドレス指定方式は対象となるデータのあり方を指定する方法で、
以下のような種類がある。
| アドレス指定方式 | 説明 |
|---|---|
| 即値アドレス指定方式 | オペランド部の値(データ)変更不可 |
| 直接アドレス指定方式 | アドレス(記憶領域の番地)内のデータをもってきて命令を実行できる |
| 間接アドレス指定方式 | 指定したアドレスを変更しなくても、別アドレス内のデータを扱うこともできる |
| インデックスアドレス指定方式 | ある位置から順番にデータを保存する。オペランド部にはインデックスレジスタと値が入っている。 |
| ベースアドレス指定方式 | ベースレジスタは命令とは別の場所にあり、リロケータブル可能 |
| 相対アドレス指定方式 | ベースレジスタの代わりとしてプログラムカウンタを利用する、こちらもリロケータブル可能 |
※インデックスレジスタ:連続したデータの取り出しに使う増分値を記憶したもの
インデックスレジスタのアドレスに合致したデータをオペランド部の値に足すことにより、
対象のアドレス内のデータを扱うことができる。
※ベースレジスタ:先頭のアドレスを記憶しておくレジスタ
※プログラムカウンタ:ベースレジスタがないときなどに利用される
設計思想(アーキテクチャ)
CPU作成に伴う、設計思想は以下の2通りとなる。
CISC ・・・ 複雑な命令を実行することを基本とするアーキテクチャ※命令行数が少ない
RISC ・・・ 単純な命令を実行することを基本とするアーキテクチャ
高速化技術
CPUの処理高速化を実現する技術として、以下のような種類がある。
| 高速化技術 | 説明 |
|---|---|
| パイプライン処理 | 少しずつずらして処理を行うことで空いた資源を有効活用し高速化させる |
| スーパースカラ | パイプライン処理を行う回路を複数持つことにより、複数の命令を同時実行可能 |
| スーパーパイプライン | パイプライン処理をさらに細分化して高速化する |
参考文献(詳しい内容は以下各サイトにて、分かりやすく記載されていますので、ぜひご確認いただければと思います。)
https://www.udemy.com/course/lerning-fe/learn/lecture/22742353#overview
https://medium-company.com/%E3%82%A4%E3%83%B3%E3%83%87%E3%83%83%E3%82%AF%E3%82%B9%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF/
https://shikaku.pepenoheya.blog/memory-cpu-measures/
https://www.foresight.jp/fe/column/cpu/
https://kouoboe.com/2023/06/24/pc-cycle/
https://medium-company.com/%E5%9F%BA%E6%9C%AC%E6%83%85%E5%A0%B1-%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E6%8C%87%E5%AE%9A%E6%96%B9%E5%BC%8F/
https://medium-company.com/%E3%82%B9%E3%83%BC%E3%83%91%E3%83%BC%E3%82%B9%E3%82%AB%E3%83%A9/
https://medium-company.com/%E3%82%B9%E3%83%BC%E3%83%91%E3%83%BC%E3%83%91%E3%82%A4%E3%83%97%E3%83%A9%E3%82%A4%E3%83%B3/
おわりに
ハードウェア_CPU部分を各サイトを閲覧しながら、学んでいきました。
CPU以外の部分についても、今後投稿していきたいと思います。
本日もありがとうございました。