コンピューターの動作の仕組み(構成要素)をシミュレーターで理解しよう!スマホやPCはこんな風に動いてます!
PCやスマホなどのコンピューターって不思議ですよね。自由自在に動いてるように見えます。本当に何でも出来てしまう魔法の機械なんです!
そんなコンピューターですが、基礎的な部分に分けることで、どんな風に動作しているのかが理解出来ていきます。
そこで今回はシミュレーターでコンピューターの各構成要素とつながりを解説します!
目次
コンピューターの5大構成要素
コンピューターは↓のような構成要素が連携して動いています!それぞれの概要を以下説明します!
1.入力装置
図の左側にあるもので、人間がコンピューターに向かって操作/指示する部分のことです。ここがないと、コンピューターが操作できないです。
PCでいうと「キーボード」や「マウス」、スマホでいうと「タッチパネル(タッチ操作)」にあたります。
2.出力装置
図の右側にあるもので、コンピューターが人間に向かって結果や画面を出力する部分です。ここを通して、人間が情報をコンピューターから得るわけです。入力装置とは逆になります。
PCでいうと「ディスプレイ」や「プリンター」、スマホでは「ディスプレイ」になります。
3.記憶装置
青色枠で囲った部分です。記憶装置は真ん中の「主記憶装置(メモリ)」と「補助記憶装置(HDD,SSD)」の2つがあります。簡単に人間の例でいうと、主記憶装置が短期記憶で、補助記憶装置は長期記憶になります!
この領域を使って、コンピューターは各種データを保存し、処理を行います。後に解説しますが「データ保存領域」と「プログラム保存領域」の2つに分けられます。
4.演算装置
上にあるCPU内の機能です。簡単にいうと掛け算とか足し算とか四則演算などを行います。ここがあるからこそ、コンピューターは動けているんですね!
この部分がどうやって作られているかの詳細は、加算器電子回路シミュレーターで解説しています!この動きが理解できれば、コンピューターって何をしてるのかが分かってきますよ!(難しいですが)
5.制御装置
ここもCPU内の機能です。この制御装置がその他の「入力装置」「出力装置」「記憶装置」「演算装置」に指令を出して、コントロールするわけです!コンピューターの総司令官みたいな部分で、中心的な位置にあるわけです!
コンピューターの動作(各要素の動き)をシミュレーターで確認してみよう!
それでは実際にシミュレーターでコンピューターの動きを見てみましょう!
- 今回は「入力された数値を3倍した数字と、ファイルからとってきた文字列を結合して出力する」という簡単なプログラムの動作例です
- ↓の入力数値とファイル内容を変更して実行ボタンを押すと、コンピューターは主記憶から命令を取り出して動作し始めます
- 最終的な出力結果は↓の出力領域に青文字で表示されます
- 各演算結果は主記憶のA~Dの領域に置かれていく事を確認しましょう
- 再度実行ボタンを押すと、最初から実行できます
ファイル内容:
入力数値:
コンピューターシミュレーターの要点解説
以下、↑シミュレーターの動きと要点を解説します。
コンピューターはプログラム領域から「命令」を1つずつとって動く
シミュレーターの動きのとおりですが、コンピューターは主記憶にある命令を1つずつ演算装置にもってきて、それに従って動作していくんです。この一連の命令をプログラムといいます。
つまり、コンピューターの動きはプログラム領域の中身のデータ次第で変わるんです!ここを変えれば、いくらでもコンピューターの動きを自由自在に操作できるわけです!だから、コンピューターは何でもできるように見えるわけなんですね!
↓制御装置に命令が読み込まれて動く
入力/出力/演算/制御含めて、主記憶を中心にデータやり取りされる
これもシミュレーターで確認できますね。
入力装置からのデータを置くのも主記憶、出力する前にデータが置かれるのも主記憶です。またCPUの演算に使うデータも、演算結果を置くのも全て主記憶です。いかに主記憶(メモリ)がコンピューターの中で重要な位置にあるかわかりますね!
操作/演算の中心はCPUですが、データのやり取りの中心は主記憶(メモリ)なんです!
↓各要素がやり取りするデータは主記憶に必ず入っている
主記憶は「プログラム領域」と「データ領域」に分けて使う
図から分かる通り、主記憶でも「プログラムを置いてある領域」と「プログラムを実行するときに使うデータを置く場所」の2種類があります。同じ主記憶でも全く役割が違うんです。
ただし、ハードウェア的には「プログラム領域」「データ領域」と明確に分かれてるわけではないです。あくまで、OSやソフトが区分けしてるだけなんです。
実際は補助記憶装置はもっと巨大であり、もっと遅い装置!
絵的に見ると、補助装置より主記憶のほうが大きく見えますが、、、実際は補助装置のほうが圧倒的に大きいです。また、今回は表現していませんが、補助記憶装置のほうが圧倒的に遅く、データを取得したり書き込んだりするのに時間がかかります。
だからこそ、重要で直近で頻繁に使うデータ(短期記憶)は主記憶に入れて、直近はあまり使わないけど長く保存したいデータ(長期記憶)は補助装置に入れるという使い分けがなされるんです!
まとめ:コンピューターは5つの要素が連携して高速に動作しています!
まとめです。↑のコンピューターシミュレーターで示したように、コンピューターは「入力装置」「出力装置」「記憶装置」「演算装置」「制御装置」が連携して動いています。
中心的なのは「制御装置」で、ここが指令して各要素を動かしています。そして、この制御を決めるのが主記憶に保存されている「プログラム」です。この「プログラムデータ」を書き換えることで、いくらでも自由にコンピューターを動かす事ができるんです!これがコンピューターが魔法のように動く理由です。
今回のシミュレーターでは分かりやすいように、ゆっくり動作させていますが、実際の演算は一瞬です!これだけのやり取りを0.000001秒とかそんなレベルです!(ただし補助装置が遅いのでもう少しかかりますが)
人間よりも圧倒的に「高速に」「間違いなく」動くというのが重要ですね!
- コンピューターは5つの要素が連動して動いている
- 全てを統合しているのが制御装置で、プログラムに従ってここから各装置に命令をだしている
- データの中心は主記憶で、インプット/アウトプットやCPU/補助記憶の間に立って、データのやり取りの仲介をしている
⇒「コンピューター概論」カテゴリ記事一覧
その他関連カテゴリ