【CS01-05】第5話 コンピュータはどのように処理を行うのか?

0
461

CS-1章 コンピュータサイエンスと基本

【CS01-05】第5話 コンピュータはどのように処理を行うのか?

Fabshopの連載「コンピュータ・サイエンス」では、コンピュータの仕組みを基礎からご紹介しています。

本連載では、まずは広く浅く学び、徐々に1つ1つの事を掘り下げていきます。第1章では、広く浅くコンピュータの知識を紹介しているため、まだぼんやりしているところが沢山あると思います。深く掘り下げていくのは第2章からですので、もう少し広い知識を入れていきましょう。

ここまでに最も広くコンピュータと理解されている「パソコン」にはCPUやRAM、HDDなどがあることを学びました。CPUはコンピュータが処理をする頭脳のような場所でHDDにはデータを保管しておきます。皆さんが作ったデータやダウンロードしたソフトウェアなどはHDDに保管されています。実際にパソコンの操作を開始すると、RAM上にデータが展開されてパソコンが動作するようになります。

では、これらパソコンはどのように処理をこなしているのでしょうか?

パソコンの中にはマザーボードというボードが入っていて、この上にCPUやそれを冷却するファン、RAMなど様々な部品が搭載されています。これらはパソコンを使う人の指示により動作して、画面上で文字や映像、音楽などを表示してくれています。

その処理は一体パソコンの中でどのようにおこなわれるのかを考えていきましょう。

全てのデータは0と1だけでできている

コンピュータの中には沢山の電子部品があり、それぞれがいろいろな働きをしているのですが、実はものすごく単純にできています。コンピュータの中で扱われるデータの根本は、実は数字の「0」と「1」だけです。

Desktop-Laptop Fabshop

第1章の第2話「コンピュータ」の歴史でもお話ししましたが、人間は10進法という計算をしますが、コンピュータは0と1の2つの数字だけ使う「2進法」を使います。

なぜコンピュータには2進法が最適なのかと言うと、「0」は電気が通っていないとき、「1」は電気が通っているとき。もっと言えば、「0」はスイッチがOFFの時。「1」はスイッチがONの時という2種類の状態だけなら電子部品でその状態を表現しやすいからです。(2進数の計算方法などはもう少し先の章でしっかり解説していきます。)

データを表示させるという事

コンピュータの中のデータはすべて0と1だけで作られたデータです。このことをバイナリーデータと呼びます。例えば「00000101」というような形で表しますが、これでは人が理解できません。文字や色、画像など情報は全て0と1で作られていてこれらを人に見せるためにコンピュータが計算をして処理していきます。

例えば赤い長方形の中に白い文字で「Fabshop」と書かれたデータを画面に表示させる事を考えてみましょう。

次の章で詳しく触れますが、コンピュータのディスプレイは「ピクセル(pixel)」と呼ばれる小さい「点」が沢山並んでいて、皆さんにデータを見える形で表示してくれています。横に1,280ピクセル、縦に1,024ピクセルの点が並んでいれば1,280×1,024=1,310,720個の点が並んでいることになり、およそ131万画素(ピクセル)という事になります。画素=ピクセルという事ですね。

色は「赤:Red」「緑:Green」「青:Blue」の3色で全ての色が表現できます。これを「色の3原色」といいます。1つのピクセルを「白」にしたい場合、赤、緑、青を同じ量混ぜると「白」になります。これも2進法で表します。色は3つの情報の量を変えることで表され、赤、緑、青をそれぞれ8ケタの2進数で表します。2進数で白を表すと「11111111,11111111,11111111」となります。

データにはどんな項目があるか?

パソコンの中で赤い四角の中に白い「Fabshop」という文字を表示させる場合、どのような情報を考える必要があるでしょうか?

  • 長方形の縁の色は?
  • 長方形を塗りつぶしている色は?
  • 長方形の高さと横幅は?
  • 画面上で長方形が描かれる位置は?
  • 長方形の中でFabshopの文字の位置は?
  • Fabshopの文字の大きさ、色、文字の形は?

などちょっと考えただけでも沢山の項目があります。これらを全て0と1だけで表現しています。色が黒なら「00000000,00000000,00000000」ですし、「F」という文字なら「01000110」などです。

人にコンピュータの中で起こっている事を見せるのは大変!

ちょっと考えただけでも、これだけの情報が出てきますが、実はもっと沢山の事をコンピュータは処理しています。表示しているソフトやマウスの位置、ノートパソコンなら電池の充電状況、今は日本語入力なのか、英語入力なのかなど画面上に様々なものを表示しています。

コンピュータは計算機です。計算してその結果を届けるのがその役目ですが、人がコンピュータを様々な用途に使うようになったため、この「人に見せる」という事を沢山こなさなければならなくなりました。しかも「分かりやすく見せる」という処理が沢山必要になったのです。白黒の画面に文字列が沢山並んでいるだけでは嫌になりませんか?それよりもフルカラーでマウスの矢印で操作できる方が良いですが、そのためにコンピュータが沢山処理をしなければならなくなっているのです。

ハードウェアからデータ(ソフト)へ

実体があるものをハードウェアと呼びますが、コンピュータの中でデータと呼ばれるものは「ソフトウェア」と呼び、実際には目に見えないものです。ハードウェアをどの様に動かすかを決めているのはソフトウェアですが、そのソフトウェアを作るのもハードウェアです。ソフトウェアはプログラムとかコードとも呼ばれます。コードと呼ばれるプログラム言語で書かれた文章が集まって1つのプログラムを作ります。

この文章を書く場合、人間が「コード」を入力するためにキーボードを使います。時にはマウスも使います。「A」という文字を入力する際に、キーボードの「A」キーを押せばバイナリデータ「01000001」というデータがプロセッサ(CPU)に送り込まれます。マウスを動かして文字を入れたい場所を指定すれば、その位置の情報がバイナリデータで送られます。これらを処理して、液晶モニタで表示されます。

全てが「0」と「1」に置き換わっている

コンピュータはインターネットと接続されることで更にその利用範囲を広げています。今までは自宅でそのコンピュータの処理能力でしかできなかったことが、世界中のコンピュータと接続されることでより多くの事が出来るようになってきました。あまり意識していませんが、自分のコンピュータでは処理する内容を指示するだけで、あとはデータセンターにあるコンピュータが高度な計算をして出来上がった結果を皆さんのパソコンやスマートフォンに届けているだけです。

フィジカルコンピューティングの世界

キーボードやマウスを使ってコンピュータに何か指示をすることを「入力」といいます。コンピュータが私たちに画面を通じて結果を表示したり、指示した動画を呼び出してきて見せたり、音楽を聞かせたりしてくることを「出力」と呼んだりします。このようにマウスやキーボードを使った従来のコンピュータとの接し方ではなく、人の表情をとらえたり、声や音に反応したり、人が触れた強さでコンピュータに指示を与えることをフィジカルコンピューティングと言います。

最近では「スマートスピーカ」などが発売され、音声で調べたい事を入力するとインターネットを通じた先にあるコンピュータが情報を処理して瞬時に私たちに情報を提供してくれます。これらフィジカルコンピューティングでも音声のデータは0と1に置き換えられ、コンピュータの中で処理され、0と1の信号でスピーカのところまで戻して音に変えて答えてくれます。

人間が人間とコミュニケーションを取るときのインターフェースは「耳」や「目」「口」「手」「足」などを使ってコミュニケーションを取ります。コンピュータもこれにだんだん近づいてきたことになります。