CPU のバックアップソース(No.1)

#author("2021-05-27T12:34:50+09:00","default:k1rou","k1rou")
*CPU [#efa5382d]

**CPU とは [#pc5e6457]


**CPU の構成要素 [#y0f19924]
-ALU
--Arithmetic Logic Unit
--算術論理演算装置

-PC
--Program Counter
--プログラムカウンタ
--命令アドレスレジスタ

-GR
--General purpose Register
--汎用レジスタ

-FR
--Flag Register
--フラグレジスタ

-IR
--Instruction Register
--命令レジスタ

-ID
--Instruction Decorder
--デコーダ

-MAR
--Memory Address Register
--メモリアドレスレジスタ

-MDR
--Memory Data Register
--メモリデータレジスタ

**命令フェッチ [#n82e154e]
-メモリ上の命令を取り出すこと

**オペランドフェッチ [#nbbfd63a]
-メモリー上のデータを取り出すこと

***エンディアン [#me71be4b]
-データの並び順

-データをメモリ上に並べる方式
--ビッグエンディアン
---上位バイトから順番で並べる
--リトルエンディアン
---下位バイトから順番で並べる

**CPUのアーキテクチャ [#o4f71fea]
***命令を実行する方式 [#e07ed5a2]
-マイクロプログラム方式
-ワイヤードロジック方式

***命令セット(命令の集まり) [#z5584bb7]
-RISC
-CISC

**CPU の性能評価 [#d26455b9]
-クロック周波数
--1秒間に発生するクロック数

-クロックサイクル
--1クロックあたりの時間
--1/クロック周波数

-CPI
--Cycles Per Instruction
--1命令の実行に必要なクロック数

***CPU の性能評価指標 [#k3bf2fae]
-MIPS
--1秒間に実行できる命令数の平均値

-FLOPS
--1秒間に実行できる浮動小数点数演算の回数

**CPU の高速化技術 [#y5309fef]
-命令パイプライン
--命令を並列で実行する手法

-スーパパイプライン
--命令パイプラインのステージを細分化して並列で実行できる命令数を増やす手法

-スーパスカラ
--プロセッサ内の複数の実行ユニットで命令を実行する手法
--各実行ユニットは命令パイプラインで実行する(命令パイプラインの多重化)

-VLIW
--Very Long Instruction Word
--同時に実行可能な複数の命令を纏めて1つの長形式命令(VLIW)を作成する
--VLIWを複数の演算ユニットで同時に実行する方式

-マルチプロセッサ
--複数のプロセッサを並列で動作させる手法
--分類(Flynnの分類)
---SISD (Single Instruction stream / Single Data Stream)
---SIMD (Single Instruction stream / Multiple Data Stream)
---MIMD (Multiple Instruction stream / Multiple Data Stream)


**関連用語 [#hf0b0ffd]
-[[ハードウェア]]
-アムダールの法則(Amdahl)