様々な学問/勉強課目をシミュレーションで解説!シミュレーター/ツール/ゲームで、いろんな学問を楽しく分かりやすく解説するサイトです!思考の改善や、効率化の話題も!
⇒ 本ブログの詳細/連絡先はコチラ!
学問系TOP AI/ChatGPT 数学 物理 統計学 コンピューター 経済学 Webツール
  1. ホーム
  2. 〇学問シミュレーター/改善・効率化
  3. 情報科学/コンピューター
  4. コンピューター概論
  5. 「CPUとメモリ/ストレージの速さの違い」をシミュレーターで体感してみよう!
■注目記事一覧

高校数学 教科書用シミュレーターの制作に携わりました!!

ページングをシミュレーターで体感しよう!

マルチタスクのCPUの動きをシミュレーターで見てみよう!

本サイトの「サイコロ シミュレーター」が熊本の特別教育テレビ授業で使われました!

浮動小数点型の仕組みをシミュレーターで理解しよう!

コンピューターの半理基礎:半加算器の原理をシミュレーターで理解しよう!

ストレージのRAID5構成をシミュレーターで理解しよう!
 
全テーマ共通記事一覧

「CPUとメモリ/ストレージの速さの違い」をシミュレーターで体感してみよう!

$$\newcommand\CB[1]{\textcolor{blue}{#1}} \newcommand\CR[1]{\textcolor{red}{#1}} \newcommand\CG[1]{\textcolor{magenta}{#1}}$$

前回記事でCPUがクロック単位で動作することを説明しました

今回はそのCPUの動作に比べて、メモリ/ストレージ(HDD/SSD)がどれだけ遅いかを解説します。シミュレーターを使って体感してみましょう!

「CPUとメモリ/ストレージの速さの違い」をシミュレーターで体感してみよう!

コンピューターのデータが保存出来る場所一覧

コンピューターは、以下の構造のようになっており、データを保存できる場所がいくつかあるんです!

主には「レジスタ」「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

 
このように、「上にいくほど、高速にアクセス可能」「下にいくほどデータが多く保存できる」という階層構造になってるんです
 

POINT「速度」と「容量」が反比例する形に階層が出来ている!

「CPUとメモリ/ストレージの速さの違い」をシミュレーターで確認してみよう!

それでは実際にここまで解説した、データ保存領域の速度の違いをシミュレーターで体感してみましょう!

シミュレーターの説明
  • このシミュレーターは、実際のCPUの動きを1000万倍程度スローにした状態で確認できます。赤い線はCPUのクロックの状態を表してます
  • シミュレーターはデフォルトでレジスタのデータを読んでいて、1サイクルごと動いてます
  • ↓の「CPUキャッシュ」「メモリ」「ストレージ」ボタンを押すと、そこにデータを読みにいきます
  • アクセス所要クロックが↓に表示されているので、その差を確認してみましょう
  • ストレージはとんでもなく、処理時間がかかります(約50分)。メチャクチャ時間がかかるという事実だけ理解すれば良いと思います!

 

所要クロック : 1 サイクル


「CPUとメモリ/ストレージの速さの違い」シミュレーターの要点解説

↑のシミュレーターを動かすと、保存場所によってアクセス時間の差がとんでもなくある事が分かると思います!CPUキャッシュなら瞬時に終わりますが、ストレージはとんでもなく時間がかかります!

メモリやストレージにアクセスに行っている間、CPUはWAIT(待ち)になっている事が分かります。CPUは1サイクルずつ動けるのに、データがくるのを待っていて動けない状態になるんですね!特にストレージなんて本当に時間の無駄ですよね。もったいない><
 
ただ、さすがに実際のコンピューターはただボーッと待っているわけではないです。その間、CPUが何をしているかを次回記事で解説していきます!
 

「CPUとメモリ/ストレージの速さの違い」まとめ

  • コンピューターには「レジスタ」「CPUキャッシュ」「メモリ」「ストレージ」というように、4つのデータ保存場所がある
  • CPUに近いほど速くアクセスできる代りに、データ容量が小さいという反比例の状態になる
  • ストレージアクセスがとにかく遅く、CPUは待ち状態になってしまう

 


⇒「コンピューター概論」カテゴリ記事一覧

その他関連カテゴリ




お気軽にコメントお願いします!

Your email address will not be published. Required fields are marked *




記事カテゴリ