「CPUとメモリ/ストレージの速さの違い」をシミュレーターで体感してみよう!
前回記事でCPUがクロック単位で動作することを説明しました。
今回はそのCPUの動作に比べて、メモリ/ストレージ(HDD/SSD)がどれだけ遅いかを解説します。シミュレーターを使って体感してみましょう!
目次
コンピューターのデータが保存出来る場所一覧
コンピューターは、以下の構造のようになっており、データを保存できる場所がいくつかあるんです!
主には「レジスタ」「CPUキャッシュ」「メモリ」「ストレージ」の4つが有ります。
この4つ、CPUに近いほどデータ容量が小さい変わりに、高速にアクセスできるという特徴があるんです!
1.レジスタ
ここはCPUの頭の構造部分みたいなところで、十数個のデータしか保存できません(100B程度)。その代わり、1クロックサイクルで参照できます。参照できます。CPUの手元のような場所です。
2.CPUキャッシュ
ここは後述するメモリが遅いので、頻繁に使うデータを素早く取得するための場所です。数MB単位のデータしか置けない代わりに、10クロックサイクル程度でアクセスが可能です!
3.メモリ(主記憶装置)
ここがデータ置き場の中心になります。コンピューターにとっての「机の上」みたいなとこですね。
データは今だと8GBとか32GBとか、GB単位のデータが置けます。しかしアクセスするには、約100クロックかそれ以上の時間がかかります。実際はナノ秒(10億分の1秒)~マイクロ秒単位(100万分の1秒)なので、ものすごく速いんですけどね。CPUと比べたら遅いんです!
つまり、CPUは100ターン待たないといけないんです。だからこそ、頻繁に使うデータ用にCPUキャッシュがあるんですね!
4.ストレージ(補助記憶装置)
これはHDD/SSDで長くデータを補完するための場所です。メモリやCPUキャッシュなどが電源を落とすとデータが消えるのに対して、ストレージはデータをずっと保持できます。
データ容量も大きく、今だと数TBのデータが保存できるものが主です。メモリの100倍とか1000倍データが保存できる感じなんですね!
しかし、ストレージへのアクセスは遅いです。100,000クロックサイクル程必要です(HDDはもっと遅い)。時間としてはミリ秒(千分の1秒)単位です。人間からしたら超高速でも、CPUからしたら、とてつもなく遅いんです!!
コンピューターのデータ保存場所は階層構造になっている!
もう一度、各データ保存場所を一覧化してまとめてみます。保存容量は大体の数値で示してます。
データ保存場所 | 必要サイクル | 大体の保存容量 |
---|---|---|
1.レジスタ | 1 | 約100B |
2.CPUキャッシュ | 約10 | 約10,000,000B |
3.メモリ | 約100 | 約10,000,000,000B |
4.ストレージ | 100,000以上 | 約10,000,000,000,000B |
このように、「上にいくほど、高速にアクセス可能」「下にいくほどデータが多く保存できる」という階層構造になってるんです!
「CPUとメモリ/ストレージの速さの違い」をシミュレーターで確認してみよう!
それでは実際にここまで解説した、データ保存領域の速度の違いをシミュレーターで体感してみましょう!
- このシミュレーターは、実際のCPUの動きを1000万倍程度スローにした状態で確認できます。赤い線はCPUのクロックの状態を表してます
- シミュレーターはデフォルトでレジスタのデータを読んでいて、1サイクルごと動いてます
- ↓の「CPUキャッシュ」「メモリ」「ストレージ」ボタンを押すと、そこにデータを読みにいきます
- アクセス所要クロックが↓に表示されているので、その差を確認してみましょう
- ストレージはとんでもなく、処理時間がかかります(約50分)。メチャクチャ時間がかかるという事実だけ理解すれば良いと思います!
「CPUとメモリ/ストレージの速さの違い」シミュレーターの要点解説
↑のシミュレーターを動かすと、保存場所によってアクセス時間の差がとんでもなくある事が分かると思います!CPUキャッシュなら瞬時に終わりますが、ストレージはとんでもなく時間がかかります!
メモリやストレージにアクセスに行っている間、CPUはWAIT(待ち)になっている事が分かります。CPUは1サイクルずつ動けるのに、データがくるのを待っていて動けない状態になるんですね!特にストレージなんて本当に時間の無駄ですよね。もったいない><
ただ、さすがに実際のコンピューターはただボーッと待っているわけではないです。その間、CPUが何をしているかを次回記事で解説していきます!
- コンピューターには「レジスタ」「CPUキャッシュ」「メモリ」「ストレージ」というように、4つのデータ保存場所がある
- CPUに近いほど速くアクセスできる代りに、データ容量が小さいという反比例の状態になる
- ストレージアクセスがとにかく遅く、CPUは待ち状態になってしまう
⇒「コンピューター概論」カテゴリ記事一覧
その他関連カテゴリ