第7回(最終回) パソコンはどうやって計算をしているのかな?その中身を学ぼう!

第7回(最終回) パソコンはどうやって計算をしているのかな?その中身を学ぼう!

ナビ
これまで「機械語(きかいご)」って言葉(ことば)が出てきたけど、実際(じっさい)はどういう仕組(しく)みなんだにゃ?
にゃんで「0」と「1」の数字(すうじ)で計算(けいさん)ができるのか不思議(ふしぎ)だにゃ。
はかせ
ほっほっ。最後(さいご)にパソコンがどうやって計算して、それを人間(にんげん)にわかるようにしているかを学ぶぞい!

計算をする小さな部品の集まり

パソコンはたくさんの部品(ぶひん)(ハードウェア)の集(あつ)まりで、それらが計算をする、データを記憶(きおく)するなど、それぞれの役割(やくわり)の仕事をし、お互(たが)いでデータをやり取りすることによって便利(べんり)に使えることを学びました。
では、いったいパソコンはどのように計算をしているのでしょうか?
パソコンが動く仕組みの最終回(さいしゅうかい)は、パソコンが中でどうやって計算をしているのかを説明したいと思います。

パソコンの中で、実際(じっさい)に計算をしているところは「CPU」です。このCPUは、いったいどのようにして、人間が入力(にゅうりょく)したデータを計算し、その結果(けっか)を出力(しゅつりょく)しているのでしょうか?
じつは、「CPU」自体(じたい)も「小さな部品(ぶひん)のあつまり」なのです。CPUだけでなく、マザーボードやメモリなども、「小さな部品のあつまり」です。この小さな部品一つ一つが、実際に計算をしたりしているのです。
この小さな部品のひとつに「IC(アイシー)」と呼ばれるものがあります。このICは、「計算をする回路(かいろ)のあつまり」で、このICの中には、「トランジスタ」と呼ばれる、実際に計算をしてくれるものがたくさん入っています。
このトランジスタは、電気が流れない(OFF)・流れる(ON)をコントロールし、流れない時を「0」、流れる時を「1」として、それをたくさんの回路の組み合わせで行うことによって、計算をするのです。

これまで読んできた方は、「あっ!機械語だ!」とピンときたかもしれませんね!そう、パソコンが命令を理解するためには、このトランジスタの「ON」と「OFF」を示さなければ計算できません。そのため、「0」と「1」の機械語で表(あらわ)してあげる必要があるのです。

機械語「二進数」に翻訳

では、どうやってパソコンは私たちの与えた仕事を「0」と「1」にできるのでしょうか?その役割をするのが「プログラム」です。
以前、ソフトウェアは「プログラム」の集まりであることを説明しました。プログラムにもたくさん役割があり、ソフトウェアが、人間がパソコンで実際に仕事ができるためのプログラムであれば、「そのプログラムを機械語に翻訳(ほんやく)してくれるプログラム」もあるのです。ソフトウェアが、この「機械語への翻訳プログラム」を使うことによって、私たちの仕事が機械語に翻訳され、パソコンが計算してくれるのです。そしてこの逆もあり、機械語をソフトウェアや私たちがわかるように翻訳してくれるプログラムもあるのです。
パソコンはどうやって計算をしているのかな?その中身を学ぼう!

では、「0」と「1」で、何がどのように表されるのでしょうか?

パソコンの計算の世界では、「0」と「1」のみで、「2」以上の数字はありません。そのため、「0」→「1」とすすんだら、次は「10」とけたがあがります。この時も2以上の数字はパソコンの世界にないので「じゅう」とは読まず、「いち・ぜろ」と読みます。パソコンの世界での「10」は、私たちの世界だと「2」になります。
この「0」と「1」という2つの数字で表される数を「二進数(しんすう)」と言います。私たちが普段使う数字は「十進数」で、0から9までの10個の数字で表します。

そのため、私たちの十進数は、パソコンの世界の二進数で次のように表されます。

十進数 二進数
0 0
1 1
2 10
3 11
4 100
十進数 二進数
5 101
6 110
7 111
8 1000
9 1001

次に文字です。パソコンの画面にうつしだされる文字は、すべて「ルール」に従って出力されます。このルールは「文字コード」と呼ばれ、この数字はこの文字に置き換えなさい、というルールです。文字コードには「ASCII(アスキー)コード」と呼ばれるアルファベットや数字、記号をあらわすものや、日本語(ひらがなやカタカナ、漢字)を含む「Shift JIS(シフトジフ)コード」「Unicode(ユニコード)」などがあります。
ASCIIコードは十進数で、Shift JISコードは16進数で表され、パソコンはそれぞれをまた二進数に翻訳して理解します。(16進数は、0から9までの数字と、AからFまでのアルファベットの計16個の数字文字で表したものです。)
たとえば、アルファベットの大文字「A」から「E」をASCIIコードで、日本語の「あ」から「お」までをShift JISコードで表すと次のようになります。

文字 ASCIIコード(十進数) 二進数
A 65 1000001
B 66 1000010
C 67 1000011
D 68 1000100
E 69 1000101
文字 Shift JISコード(16進数) 二進数
あ 82A0 1000 0010 1010 0000
い 82A1 1000 0010 1010 0001
う 82A2 1000 0010 1010 0010
え 82A3 1000 0010 1010 0011
お 82A4 1000 0010 1010 0100

最後に「色」です。
パソコンの画面は、「画素(がそ)」と呼ばれる、とっても小さなタイルの集まりでできています。このタイル1つ1つが、「赤」と「緑」と「青」の3色の光を出すことができ、一般的なモニタはそれぞれ「256」段階で、これらの光を出すことができます。この「色」と「段階」で、たくさんの色を画面に出すことができるのですが、この色と段階も、数字で表すことで、パソコンは「あ、この色を出すんだな」ということが理解できます。この色と段階も16進数で表され、パソコンはそれが二進数に翻訳されたもので理解します。

色 色を表す16進数 二進数
赤 緑 青
白 FF FF FF 11111111 11111111 11111111
赤 FF 00 00 11111111 00000000 00000000
緑 00 FF 00 00000000 11111111 00000000
青 00 00 FF 00000000 00000000 11111111
黄 FF FF 00 11111111 11111111 00000000
黒 FF FF FF 11111111 11111111 11111111

このように、パソコンはすべての情報を、プログラムを通して二進数に変換して理解し、そして計算して、結果をまた人間に分かるように変換して、出力しているのです。これで、「パソコンの仕組み」の内容はすべて終わりです。普段何気なく使っているパソコンも、実は色々な部品と働きによって動いているのが分かったと思います。もし、もっとこの部分が知りたい!調べたい!ということがあったら、ぜひ、おうちの方とインターネットなどで調べてみてくださいね!

ナビ
ねぇ、はかせ、パソコンの中は、とってもたくさんの部品とプログラムの集まりなんだにゃ!
はかせ
そうじゃ。
この部品やプログラムにもさらに種類があるんだから、パソコンってすごいんじゃぞ。
ナビ
これでパソコンにとっても詳しくなれたにゃ!