
Photo: Jonathan Cutrer / CC BY 2.0
ソフトウェアとハードウェアについて
情報技術は情報を速く、正確に、大量にあつかうための技術です
現代の「情報の技術」は、膨大なデータを、人間には不可能なスピードと正確さで処理することを可能にしました
その中心にあるのがコンピュータです
コンピュータという道具を理解するために、まずはそれを形づくっている「ハードウェア」と「ソフトウェア」という2つの役割について理解しましょう
ハードウェアについて
ハード(ハードウェア)はさわることができる、実体がある機械です


- 例:パソコン、モニター、マウス、ゲーム機本体
ソフトウェアについて
ソフト(ソフトウェア)はさわることができない、中に入っているデータやプログラム
ハードウェアという言葉は英語の Hard(硬い) という意味から来ています
昔のコンピュータは、鉄のカタマリや大きな機械でできていて、一度作ると形を変えるのが大変(=硬い)でした
それに対して、中身のプログラムは書きかえるだけで簡単に変えられるので、Soft(柔らかい) と呼ばれるようになりました
コンピュータ五大装置について
ハードウェアと五大装置
コンピュータを構成するハードウェア(機械)は、その役割から大きく5つに分類されます
これを「コンピュータの五大装置」と呼びます
実際の部品(パーツ)に当てはめると、次のようになります
入力装置(人間の指示をパソコンに伝える)

例:キーボード、マウス、マイク、タッチパネル
出力装置(パソコンの処理結果を人間に伝える)

例:モニター(画面)、プリンター、スピーカー、タッチパネル
記憶装置(データや命令を覚えておく)
ここには役割の違う2つの部品が含まれます
主記憶装置(メモリ):

作業机のようなもの
一時的にデータを覚えておくが、電源を切ると消える
・補助記憶装置(HDDやSSD):

本棚や引き出しのようなもの
電源を切ってもデータが消えないよう長期保存する
演算装置(データを計算する)


演算装置は、コンピュータにおける「実際の計算」を専門に行うパーツです
制御装置から送られてくる指示に従い、主に以下の2種類の計算を実行します
算術演算(さんじゅつえんざん)
足し算(+)、引き算(-)、掛け算(*)、割り算(/)といった数学的な計算です
論理演算(ろんりえんざん)
2つのデータを比較して「どちらが大きいか」や、「YES(真)かNO(偽)か」を判定する、論理的な判断(AND, OR, NOTなど)です
ポイント:
現代のパソコンでは、この演算装置と「制御装置」がひとつに合体し、CPU(中央処理装置)として機能しています。データは記憶装置(メモリ)から取り出され、演算装置で処理されたあと、再びメモリへ戻されます。
例:CPU(の中の計算担当)
制御装置(他の装置に命令を出す監督)
制御装置は、コンピュータの「司令塔」として、プログラムの実行を管理し、他のすべての装置(演算・記憶・入力・出力)を統制するパーツです
自らデータの計算(加工)は行わず、以下のプロセスを繰り返すことでコンピュータを動かします
命令の取り出し(フェッチ):
記憶装置(メモリ)から、次に実行すべきプログラムの命令を読み出します
命令の解読(デコード):
取り出した命令が「足し算をせよ」「データを表示せよ」など、どのような内容かを解析します
各装置への制御(実行指示):
解析結果に基づき、演算装置に計算指示を出したり、出力装置にデータを送るよう信号を送ったりします
制御装置が「タイミング(同期)」や「実行順序」を厳密に管理することで、複雑なプログラムが正確に動作します
例:CPU(の中の監督担当)
五大装置はどうつながっている?(データの流れ)
五大装置はバラバラに動いているのではなく、お互いにメッセージをやり取りしています
その中心にいるのが「制御装置」と「記憶装置」です

1. 命令の流れ(コントロール)
制御装置が「指揮者」となり、他のすべての装置に「次、動いて!」と指示を出します
- 制御装置 → 入力・出力・記憶・演算のすべてへ
2. データの流れ(メインルート)
データは基本的に記憶装置(メモリ)を中継地点にして動きます
- 入力装置 → 記憶装置 → 出力装置
- 記憶装置 ←→ 演算装置(計算するためにやり取りする)
わかりやすい動作のステップ
例えば、パソコンで「1 + 1」の計算をして画面に出すときは、こんな順番で動いています
- 入力: キーボードで「1 + 1」と打ち込む
- 記憶: そのデータが一旦、メモリ(記憶装置)に保存される
- 制御: 制御装置が「演算装置さん、これ計算して」と命令する
- 演算: 演算装置が「答えは 2 だ!」と計算する
- 記憶: 答えの「2」がまたメモリ(記憶装置)に保存される
- 出力: 制御装置が「画面さん、メモリにある 2 を表示して」と命令し、モニターに映る
演算と制御装置について
データが動くとき、この二人の間では次のようなやり取りが行われています
1.命令を受け取る(制御の仕事)
まず、制御装置(監督)が「記憶装置(メモリ)」へ行き、これからやるべき仕事が書かれた「指示書」を持ってきます。
2.命令を読み解く(制御の仕事)
制御装置(監督)は、その指示書を読んで「今回は足し算だな」と理解します
そして、演算装置(作業員)に「これとこれを足して!」と指示を出します
3.実際に動く(演算の仕事)
演算装置(作業員)は、言われた通りのデータを使って、一瞬で計算を終わらせます。
4. 報告する(二人の連携)
演算装置(作業員)が「答えはこれです!」と報告し、それを聞いた制御装置(監督)が、答えをまた「記憶装置(メモリ)」に書き込みます
制御装置の働き
五大装置の図を見ると、制御装置からすべての装置(入力・出力・記憶・演算)に矢印が伸びていることがわかります
これは、コンピュータの部品たちが勝手にバラバラに動かないように、制御装置が「今は入力の番!」「次は演算の番!」と、交通整理をしているからです
- 制御装置がいないと… どの装置も「いつ動けばいいか」わからず、パニックになります
- 演算装置がいないと… 命令はわかっても、実際の計算がいつまで経っても終わりません
まとめ
コンピュータの頭脳の内側では、
- 制御装置が「指示書」を読んで、みんなにゴーサインを出す
- 演算装置がその指示通りに、必死に計算する
この「指示」と「作業」がセットになることで、初めてコンピュータは動くことができるのです
アナログからデジタルへの変換

私たちが入力装置(キーボードやマイク)で扱う情報は、もともと連続的なアナログ情報です
これをコンピュータが理解できる「0」と「1」の不連続なデジタル情報に変える必要があります
なぜデジタルは0と1だけなのか?
(ハードウェアの都合)
コンピュータが2進数を採用しているのは、「電気のスイッチ」と相性が抜群に良いからです
- 電圧が高い(ON)= 1
- 電圧が低い(OFF)= 0
もし人間のように10進数を使おうとすると、電圧を10段階(0V, 1V, 2V…9V)で正確に制御しなければならず、ノイズで簡単にエラーが起きてしまいます
しかし「あるか・ないか」の2種類なら、多少のノイズがあっても判別できるため、非常に安定して動作します
2進数ってどんな数字?
ではコンピューターは「0」と「1」だけなのに、どうやって「32」や「512」や「1024」といった大きな数字まで表せるのでしょうか?
答えは「位の重み」を使っているからです
10進数の考え方
10進数では、位が左に1つずつずれるごとに10倍になります。
123(10進数)= 1×100 + 2×10 + 3×1
2進数の考え方
これと同じように、2進数では位が左にずれるごとに2倍になります
私たちが普段使っている数字は10進数(0〜9までの10種類の数字を使う)ですが、コンピュータは2進数(0と1だけの2種類)を使っています
10進数と2進数をくらべると
例を見てみましょう

2進数では「位」が増えるたびに2倍ずつ大きくなっていきます。
- 1の位 → 1 × 2⁰ = 1
- 2の位 → 1 × 2¹ = 2
- 3の位 → 1 × 2² = 4
- 4の位 → 1 × 2³ = 8
だから「1001」という2進数は、10進数で 1×8 + 0×4 + 0×2 + 1×1 = 9になります
2進数から10進数のトレーニング
2進数 ➡ 10進数 変換
※1桁目は「2を0回掛けた数(1)」、2桁目は「2を1回掛けた数(2)」…

