情報技術の基本について

Photo: Jonathan Cutrer / CC BY 2.0

ソフトウェアとハードウェアについて

情報技術は情報を速く、正確に、大量にあつかうための技術です

現代の「情報の技術」は、膨大なデータを、人間には不可能なスピードと正確さで処理することを可能にしました

その中心にあるのがコンピュータです

コンピュータという道具を理解するために、まずはそれを形づくっている「ハードウェア」「ソフトウェア」という2つの役割について理解しましょう

ハードウェアについて

ハード(ハードウェア)はさわることができる、実体がある機械です

  • 例:パソコン、モニター、マウス、ゲーム機本体

ソフトウェアについて

ソフト(ソフトウェア)はさわることができない、中に入っているデータやプログラム

ハードウェアという言葉は英語の Hard(硬い) という意味から来ています

昔のコンピュータは、鉄のカタマリや大きな機械でできていて、一度作ると形を変えるのが大変(=硬い)でした

それに対して、中身のプログラムは書きかえるだけで簡単に変えられるので、Soft(柔らかい) と呼ばれるようになりました

コンピュータ五大装置について

ハードウェアと五大装置

コンピュータを構成するハードウェア(機械)は、その役割から大きく5つに分類されます

これを「コンピュータの五大装置」と呼びます

実際の部品(パーツ)に当てはめると、次のようになります

入力装置(人間の指示をパソコンに伝える)

例:キーボード、マウス、マイク、タッチパネル

出力装置(パソコンの処理結果を人間に伝える)

例:モニター(画面)、プリンター、スピーカー、タッチパネル

記憶装置(データや命令を覚えておく)

ここには役割の違う2つの部品が含まれます

主記憶装置(メモリ):

作業机のようなもの

一時的にデータを覚えておくが、電源を切ると消える

・補助記憶装置(HDDやSSD):

本棚や引き出しのようなもの

電源を切ってもデータが消えないよう長期保存する

演算装置(データを計算する)

演算装置は、コンピュータにおける「実際の計算」を専門に行うパーツです

制御装置から送られてくる指示に従い、主に以下の2種類の計算を実行します

算術演算(さんじゅつえんざん)

足し算(+)、引き算(-)、掛け算(*)、割り算(/)といった数学的な計算です

論理演算(ろんりえんざん)

2つのデータを比較して「どちらが大きいか」や、「YES(真)かNO(偽)か」を判定する、論理的な判断(AND, OR, NOTなど)です

ポイント:

現代のパソコンでは、この演算装置と「制御装置」がひとつに合体し、CPU(中央処理装置)として機能しています。データは記憶装置(メモリ)から取り出され、演算装置で処理されたあと、再びメモリへ戻されます。

例:CPU(の中の計算担当)

制御装置(他の装置に命令を出す監督)

制御装置は、コンピュータの「司令塔」として、プログラムの実行を管理し、他のすべての装置(演算・記憶・入力・出力)を統制するパーツです

自らデータの計算(加工)は行わず、以下のプロセスを繰り返すことでコンピュータを動かします

命令の取り出し(フェッチ):
記憶装置(メモリ)から、次に実行すべきプログラムの命令を読み出します

命令の解読(デコード):
取り出した命令が「足し算をせよ」「データを表示せよ」など、どのような内容かを解析します

各装置への制御(実行指示):
解析結果に基づき、演算装置に計算指示を出したり、出力装置にデータを送るよう信号を送ったりします

制御装置が「タイミング(同期)」や「実行順序」を厳密に管理することで、複雑なプログラムが正確に動作します

例:CPU(の中の監督担当)

五大装置はどうつながっている?(データの流れ)

五大装置はバラバラに動いているのではなく、お互いにメッセージをやり取りしています

その中心にいるのが「制御装置」と「記憶装置」です

Photo by Hmvn / CC BY-SA 4.0
1. 命令の流れ(コントロール)

制御装置が「指揮者」となり、他のすべての装置に「次、動いて!」と指示を出します

  • 制御装置 → 入力・出力・記憶・演算のすべてへ
2. データの流れ(メインルート)

データは基本的に記憶装置(メモリ)を中継地点にして動きます

  • 入力装置  →  記憶装置 →  出力装置
  • 記憶装置  ←→  演算装置(計算するためにやり取りする)

わかりやすい動作のステップ

例えば、パソコンで「1 + 1」の計算をして画面に出すときは、こんな順番で動いています

  1. 入力: キーボードで「1 + 1」と打ち込む
  2. 記憶: そのデータが一旦、メモリ(記憶装置)に保存される
  3. 制御: 制御装置が「演算装置さん、これ計算して」と命令する
  4. 演算: 演算装置が「答えは 2 だ!」と計算する
  5. 記憶: 答えの「2」がまたメモリ(記憶装置)に保存される
  6. 出力: 制御装置が「画面さん、メモリにある 2 を表示して」と命令し、モニターに映る

演算と制御装置について

データが動くとき、この二人の間では次のようなやり取りが行われています

1.命令を受け取る(制御の仕事)

まず、制御装置(監督)が「記憶装置(メモリ)」へ行き、これからやるべき仕事が書かれた「指示書」を持ってきます。

2.命令を読み解く(制御の仕事)

制御装置(監督)は、その指示書を読んで「今回は足し算だな」と理解します

そして、演算装置(作業員)に「これとこれを足して!」と指示を出します

3.実際に動く(演算の仕事)

演算装置(作業員)は、言われた通りのデータを使って、一瞬で計算を終わらせます。

4. 報告する(二人の連携)

演算装置(作業員)が「答えはこれです!」と報告し、それを聞いた制御装置(監督)が、答えをまた「記憶装置(メモリ)」に書き込みます

制御装置の働き

五大装置の図を見ると、制御装置からすべての装置(入力・出力・記憶・演算)に矢印が伸びていることがわかります

これは、コンピュータの部品たちが勝手にバラバラに動かないように、制御装置が「今は入力の番!」「次は演算の番!」と、交通整理をしているからです

  • 制御装置がいないと… どの装置も「いつ動けばいいか」わからず、パニックになります
  • 演算装置がいないと… 命令はわかっても、実際の計算がいつまで経っても終わりません

まとめ

コンピュータの頭脳の内側では、

  1. 制御装置が「指示書」を読んで、みんなにゴーサインを出す
  2. 演算装置がその指示通りに、必死に計算する

この「指示」と「作業」がセットになることで、初めてコンピュータは動くことができるのです

アナログからデジタルへの変換

私たちが入力装置(キーボードやマイク)で扱う情報は、もともと連続的なアナログ情報です

これをコンピュータが理解できる「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進数 変換

変換結果(10進数)

※1桁目は「2を0回掛けた数(1)」、2桁目は「2を1回掛けた数(2)」…

10進数から2進数のトレーニング

10進数 → 2進数 変換器

数字を入力すると、2で割り算する過程を表示します。

0と1だけで、画像や写真も表現できる!

数字だけじゃありません

コンピュータの中にあるすべての情報(文字・音・画像・動画など)は、結局0と1の組み合わせで表されています

身近な例として、画像(写真やイラスト)で考えてみましょう。

画像は「小さな点」の集まり

コンピュータの画面や写真は、たくさんの小さな点でできています

この小さな点を 画素(がそ) または ピクセル(pixel) と呼びます。

  • 1つのピクセル = 1つの色を持った点
  • 画面全体がたくさんのピクセルで埋め尽くされている

たとえば、タテヨコ24マスの場合は縦24ピクセル、横24ピクセルで576ピクセルあることになります

これを 解像度(かいぞうど) と言います。

  • 解像度が高い(ピクセル数が多い)→ 画像が細かくきれいに見える
  • 解像度が低い(ピクセル数が少ない)→ 画像が粗く見える
24×24 忍者キャンバス
左クリック: 塗る / 黒をクリック: 消す
ドラッグ: 連続塗り・消しゴム

では、1つのピクセルはどうやって0と1で表すの?

1つのピクセルは「色」を持っています

コンピュータでは、色を明るさの強さで表します

たとえば、グレースケール(白黒+灰色の画像)の場合:

  • 真っ黒 → 0(00000000)
  • 真っ白 → 255(11111111)

この0〜255までの数字を、8ビット(0と1が8個) で表しています

つまり、1つのピクセルに8個のスイッチ(0か1)があるイメージです

カラーの画像になるともっと複雑になります

赤・緑・青(RGB)の3色をそれぞれ0〜255で表すので、 1ピクセルあたり24ビット(8ビット×3色) も使います

つまり、1枚の写真は、 何百万個ものピクセル × それぞれ24ビット(0と1の並び) という、ものすごい量の0と1の集まりでできているんです!

イメージで言うと…

  • 画面全体を「大きなマス目(方眼紙)」だと思う
  • 1マス1マスが1ピクセル
  • 各マスに「この色にするよ」という0と1の指示が書いてある

これを全部集めると、きれいな写真やイラストになるわけです

まとめ

  • 2進数は0と1の組み合わせと「位の重み」で、どんな数字も表せる
  • 画像は「ピクセル」という小さな点の集まり
  • 1つのピクセルは0と1(ビット)で色を表現している
  • ピクセル数が多いほど 解像度 が高くなり、画像がきれいに見える

16進数ってどんな数字?

16進数は、0〜15までの16種類の数字を使って数を表す方法です

私たちが普段使う10進数は0〜9までですが、16進数では10〜15をアルファベットで表します

0〜9 → そのまま 0,1,2,3,4,5,6,7,8,9
10 → A
11 → B
12 → C
13 → D
14 → E
15 → F


つまり、16進数で使える数字は 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F の16個です

なぜ16進数が便利なの?

実は、2進数4桁16進数1桁 にぴったり対応するからです

2進数4桁で表せる組み合わせはちょうど 16通り(2×2×2×2=16)あります

それが16進数の0〜Fにそのまま対応するんです

この表を見ると、2進数4桁を1つの16進数の数字にまとめられるのがわかります

例:

2進数 1010 → 16進数 A
2進数 1111 → 16進数 F
2進数 10110100 → 4桁ずつに分けて 1011 0100 → 16進数 B4

先ほどの長い2進数を16進数にすると、ずっと短く・見やすくなります!

16進数はどこで使われているの?

コンピュータの色指定(例:#FF0000 は真っ赤)
画像や音声のデータの一部を表示するとき

人間がプログラムを書くときにとても便利なんです

16進数の使われ方

16進数 ➡ 2進数 変換

マス 1 を選択中
1
2
3
4
5
6
1111 1111 1111 1111 1111 1111

16進数のトレーニング

16進数 ➡ 10進数 変換器

変換結果(10進数)
📝 計算過程の解説

まとめ(ここまでのポイント)

・コンピュータはすべて0と1(2進数)で情報を扱う

・画像はピクセルの集まりで、1ピクセルはたくさんの0と1で色を表す

・でも人間には2進数が読みにくいので、16進数を使って短く・見やすくする

・16進数は2進数4桁を1桁にまとめられるので、相性が抜群に良い

データについて

データの正体は「0」と「1」の集まり

写真も、文字も、音楽も、動画も…… コンピューターの中でやりとりされたり保存されたりしているすべてのデータの正体は、0と1の長い集まり だけなんです

では、この0と1をコンピューターはどうやって扱っているのでしょうか?

ここで大事になってくるのが、ビットという単位です

ビットって何?

ビット(bit) は、コンピューターが扱う情報の 一番小さな単位 です

  • 1ビット = 01 のどちらかだけ
  • 「bit」は「binary digit(2進数の数字)」の略です

つまり、ビット1つで「スイッチがオンかオフか」の2通りの状態を表せます

ビットが1つだけだとできることはとても少ないですが、 ビットをたくさん組み合わせることで、さまざまな情報を表現できるようになります

ビットがいくつになると何ができる?

ビットが増えると、表せるパターンが急激に増えていきます

  • 1ビット → 2通り(0、1)
  • 2ビット → 4通り(00、01、10、11)
  • 3ビット → 8通り
  • 4ビット → 16通り
  • 8ビット → 256通り

特に重要なのが 8ビット です

8ビットが1セットになったものを 1バイト(byte) と呼びます

1バイト(8ビット)で、0から255までの256種類の情報を表すことができます

身近な例でイメージしよう

白黒の画像の場合:1ピクセルを1ビットで表すこともできる(0=黒、1=白)

普通のカラーの写真の場合:1ピクセルを24ビット(赤8ビット+緑8ビット+青8ビット)で表す

文字の場合:アルファベットの「A」は通常8ビット(1バイト)で表現される

このように、ビット を最小単位として、データを少しずつ組み立てていくのがコンピューターの仕組みです

KBとKiBの違い

教科書では「1KB=1024バイト」と習いますが、 実はこれを厳密に表すときは KiB(キビバイト) と書きます

  • KB → メーカーが箱に書くときの単位(1KB=1000バイト)
  • KiB → コンピューターが実際に計算するときの単位(1KiB=1024バイト)

Windowsやパソコンの画面で表示される容量は、ほとんど KiB ベースです

だから「1TBのSDカード買ったのに、表示が少し少ない…」と感じるのは正しいです

教科書では1024と習うけど、実際はKBとKiBの2種類があることを覚えておいてください

コンピュータの容量について

1バイトがデータの基本単位だとわかりました

ここからコンピューターが扱う「容量」の単位を見てみましょう

主な容量単位の一覧(1024倍ずつ大きくなっていきます)

単位読み方コンピューターの計算どれくらい?
Bバイト1バイト = 8ビット1文字分のデータくらい
KBキロバイト1KB = 1024 Bテキストファイル1ページ分くらい
MBメガバイト1MB = 1024 KB1曲のMP3(低音質)1曲分
GBギガバイト1GB = 1024 MB高画質写真数百枚、または映画1本(圧縮済み)
TBテラバイト1TB = 1024 GBブルーレイ映画数十本分、大容量の外付けHDD
PBペタバイト1PB = 1024 TBデータセンターが扱うレベルの巨大なデータ量
EBエクサバイト1EB = 1024 PB国家レベルの超巨大データセンターで使われる単位


単位は B → KB → MB → GB → TB → PB → EB の順で、1024倍ずつ大きくなっていきます

現代のスマホやパソコンでは GBTB がよく使われています

例:

・スマホのストレージは128GB、256GB、512GBなどが一般的

・パソコンのSSDは512GB、1TB、2TBなどが人気


この容量の単位を知っておくと、「ストレージがいっぱいになった」「どのくらいの容量が必要か」がイメージしやすくなります