logo logo

December 29, 2019 13:02

CPU入門

CPUとは?

  • コンピューターの核はメモリーがくっついたCPU
  • メモリーから読み出された命令を実行する。主な役割は2つだけ!
    • メモリー/レジスター(CPU内の記憶部で小容量だが高速な記憶部)間の情報の移動
    • レジスターの情報を材料に、各種加工(四則演算やその他より高度な数学演算など)

サイクル

  • CPUが命令を処理する単位のことをサイクルという
  • サイクルは1つのCPU内部時計(クロック)で管理・同期されている
  • このクロック周波数が基本的にCPUの処理スピード、最重要スペック指標

Fetch/Decode/Execute/Save

1サイクルの流れは基本的に次の4つで構成される

  • Fetch: 命令を主記憶装置から読み出す
  • Decode: フェッチした命令を解釈
  • Execute: 解釈した命令を元にインプットとなる情報を加工して、新たなアウトプット情報を生産
  • Save: アウトプット出力を保存(レジスターやキャッシュ、場合によってはメモリーなど)。ライトバックなどとも呼ばれる

分岐命令

  • 命令の処理プロセスは上述のFech/Decode/Execute/Saveが基本だが、それら命令の処理記録はプログラムカウンタによってなされている
  • 基本的には命令単位ごとにプログラムカウンターが加算(インクリメント)されていくが、分岐命令は特殊で、このカウンターに新しく値を代入して動かしたりする

2つのCPUアーキテクチャ

  • CPUアーキテクチャは大きく2つ、CISC(複雑命令セットコンピュータ)とRISC(縮小命令コンピュータセット)がある
  • 設計手法の違いなので、通常利用者が意識することはないものの、それぞれ適材適所に採用されている
  • ここ最近はCISCが内部的にRISCアーキテクチャを取り込んでおり、内部的に差がなくなってきている
  • とはいえCPUの歴史や構造を理解するためには認識しておきたい

CISC

  • 一度に大きな/複雑なタスク(命令)処理を行い、処理回数を減らす思想で設計されている
  • PCやサーバではCISC型のアーキテクチャが優勢を占めている

RISC

  • 一度に小さな/単純なタスク(命令)処理を行い、処理回数は増えてしまったとしても、一回一回の処理時間を短くする思想
  • 組み込みデバイスやスマホではARMをはじめとするRISC型のアーキテクチャが優勢を占めている

参考