CPU、メモリ、I/Oの基礎
背景
監視業務を行うにあたり、「CPU, メモリ, I/O」を確認する必要がある、とよく記事で書かれているが、何故なのかわからなかったので、そもそもCPUって何?ってところから調べました。
計算機
コンピュータの話をする前に、コンピュータは計算機です。
そもそも計算機がどのように構成されるのかというと、演算装置とメモリになります。
コンピュータの基本構成
基本的には、以下3つです。
計算機の構成要素にI/Oが入った形になります。
- CPU(演算装置)
- メモリ
- I/O
3つの関係性は以下のようになっており、busを通して、それぞれが接続されている状態になっています。
CPUが中心となって動いていることがわかります。
実物のCPUはどんなものなのかというと下記のようになっています。
実際のサーバーとるの面倒だったので、ラズパイの写真をのせます。
CPU
演算処理、算術処理、論理演算、メモリとのデータのやりとり、入出力装置とのやりとりを行います。
【PC基礎】CPU基礎
メモリ
主記憶(main mamory) とも呼ばれます。
データとプログラムを記憶しておく場所です。
メモリにはアドレスが振られており、このアドレスによってメモリを特定し、データのやりとりを行います。
I/O
キーボード、マウス、ネットワークなそCPUとメモリ以外の全ての装置のことを指します。
CPUの仕組み
レジスタ
CPUに内蔵されている記憶装置のことです。
以下の説明が非常にわかりやすいです。
CPU→レジスタ→メモリの順で書き込んでいきます。
CPU が行う処理は,メモリからレジスタに値を読み込んで( ロード :load),何らかの演算をし,レジスタに格納されている結果をメモリーに書き込みます ( ストア: store)。基本的には,この繰り返しです。
コンピュータの基本構成と動作原理〜知識編 - Qiitaより引用
プログラムカウンタ
命令をメモリから次々と読みだして演算装置に送るためには次に読むメモリ番地を覚えておくことが必要です。このために命令を読み出す度に次の命令の番地にカウントアップされるカウンタが演算装置に組み込まれています。これをプログラムカウンタといいます。
計算機の仕組みより引用
汎用レジスタ
アドレス、データどちらも扱うことができるレジスタのことを指します。
汎用レジスタとは
その他のレジスタの種類
レジスタにも多くの種類があります
以下の記事が参考になります。
CPUに役立っているレジスタの種類を知る - ponsuke_tarou’s blog
L1キャッシュ, L2キャッシュ, L3キャッシュ
CPUとメモリの中立をしてくれるのがキャッシュメモリになります。
キャッシュメモリもいくつかの種類があり、それがL1キャッシュ, L2キャッシュ, L3キャッシュになります。
数字が大きくなるほど以下の特徴があるようです。
1.CPUから遠くなる(頼りにされる順番が後ろになる)
2.読み書きが遅くなる
3.容量が大きくなる
L1キャッシュとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典より引用
その他参考にした記事
システムコールとは何なのか - Qiita
もう少し突っ込んだハードウェアの話
【図解】CPUのコアとスレッドとプロセスの違い・関係性、同時マルチスレッディング、コンテキストスイッチについて | SEの道標
Discussion