[超初心者向け!] コンピュータ入門 〜ハードウェア / ソフトウェアとは?〜
はじめに
コンピュータアーキテクチャを初心者向けに図でわかりやすく解説してみました
この記事の対象者
・コンピュータアーキテクチャ初心者
・コンピュータサイエンスの入り口に立った方 (ドロ沼へようこそ!笑)
目次
- はじめに
- ハードウェア
- ソフトウェア
1. はじめに
まず一旦コンピュータのことは全て忘れてください。そして肉じゃがを思い浮かべましょう。笑
筆者は小学生の時に初めて肉じゃがを目にし、「なんなんだこの料理は美味しすぎる!」となりました😁
しかし、見ただけではどのように作られているのかわからないでしょう。レシピを見ればわかりますね!
料理のレシピは材料と作り方の手順で構成されます。このように肉じゃがの情報を細分化すると肉じゃがへの解像度が高まります。
コンピュータも同じように、一見難しそうに見えますが情報を細分化すれば案外分かりやすいかもしれません。ここではコンピュータをハードウェアとソフトウェアに分けて説明してみたいと思います。
2. ハードウェア
スマートフォンを思い浮かべましょう。スマホの電源ボタンを押すと画面が開きます。
この時、電源ボタンやディスプレイ、スマホの中に入っている諸々の装置(笑)、これらの装置の総称をハードウェアと言います
装置にも種類があります
- 入力装置
データを入力する装置(マウス、キーボード etc.) - 出力装置
データを出力する装置(ディスプレイ etc.) - 制御装置
命令を読む装置 - 演算装置
計算してる装置 - 記憶装置
データを記憶する装置
3~5をまとめて CPU といい、重要な概念なのでもう少し掘り下げてみたいと思います
メモリ階層とは?
CPU を理解するためにはまずメモリ階層を理解する必要があります
メモリ階層とは、用途に応じてデータを保存するデバイスを分ける概念のことです
外科医の例を考えてみましょう
医者がメスが必要な場合、まず手元を見ます。手元にない場合はメスを助手に要求します
助手はまず隣にあるトレイからメスを探し、ない場合は病院の倉庫、そこにもない場合は amazon 倉庫から探します
物量: トレイ < 病院の倉庫 < amazon 倉庫
時間: トレイ < 病院の倉庫 < amazon 倉庫
メモリ階層を見てみましょう!
先ほどの例では、以下のように置き換えることができます
レジスタ: 医者の手元
キャッシュ: 助手の隣にあるトレイ
メモリ: 病院の倉庫
ディスク: amazon 倉庫
メモリ階層をなくして全てレジスタにした場合、入れられるデータの量に限りが出てきてしまいます。逆に全て amazon 倉庫に入れた場合は、メスを探し出すのにものすごい時間がかかってしまいます
そのため、使う頻度に応じてデータの配置を考えた方が効率的です
CPU とは?
CPU はコンピュータ上の全ての操作や処理を行う最も重要なパーツです
CPU は演算装置、制御装置、キャッシュメモリで構成されています
「電源ボタンが押されたら画面を開いてください」というプログラムの処理を実際に行っているのは CPUです。すごいですね...!!
メモリ(病院の倉庫)からキャッシュメモリ(トレイ)にデータを受け取り、制御装置がプログラムを読み込んで演算装置が処理を行います
3. ソフトウェア
もう一度スマートフォンを思い浮かべましょう。スマホの電源ボタンを押すと画面が開きます。
対して「電源ボタンが押されたら画面を開いてください」という命令、この命令のことをプログラムといい、プログラムの総称のことをソフトウェアと言います
プログラム(命令)にも種類が3つあります。
-
OS
コンピュータを適切に動かすために必要な基本的な命令です。例えばハードウェアを動かすための命令が含まれます -
アプリケーション
メールやwordなどコンピュータを使って何か建設的なことをするプログラムのことをアプリケーションと言います -
ミドルウェア
データベースなど、多くのアプリケーションを動かすのに必要な命令をミドルウェアと言います
今回はここまでです!最後まで見てくださりありがとうございました!
Discussion