先日、これまでコンピューターの本質を何もわかっていなかったな、と反省させられました。以下のブログで紹介した『コンピューターってどんなしくみ?』を読んだときです。
https://1mbookreview.net/20210117-computershikumi/これまで文系の道を歩んできて、仕事もI T関係ではないということもあり、コンピューターについて体系的に学んだことがないと言えばないのですが、わかった気でいたことが改めてわかりました。
本書は、子ども向けに書かれた本なのですが、だからこそコンピューターの本質的な部分が学べます。本書で学んだ内容をメモ的に本記事でまとめておきたいと思います。コンピューターについて詳しくない方の参考になればと思います。
1 コンピューターとは何か?
子どもに「コンピューターって何?」と聞かれたら、本書を読む前は、答えれなかったと思います。思わず、パソコンって答えていたかもしれません。
パソコン(パーソナルコンピューター)もコンピューターの一部ですが、コンピューターはそれだけではありません。
コンピューターにはさまざまな形状がありますが、コンピューターとは「計算」と「記憶」ができる装置です。
計算するところ(CPU)と記憶するところ(メモリ)、あとは「入力」と「出力」するところがあるのがコンピューターの基本の仕組みです。
だから、パソコンだけでなく、スマートフォンもタブレットコンピューターというわけです。
2 日常にコンピューターはあふれている
コンピューターは身近にたくさんあります。
炊飯器、冷蔵庫、洗濯機など、日常的に使っている電化製品には、小さなコンピューターが入っています。「マイクロコントローラー」、略してマイコンです。
例えば、炊飯器。
計算と記憶を使って手順どおりに動くことでご飯を炊いているのですが、この手順のことを「アルゴリズム」、コンピューターに命令することを「プログラミング」といいます。
3 コンピューターの中身
コンピューターの中にはさまざまな装置があります。
「トランジスタ」という小さな電子部品が数億個から数千億個集まってIC(集積回路)チップを作り、ICチップが集まってCPUやメモリなどのコンピューターの装置となります。
コンピューターの電源を入れると、装置の回路に電気が流れ、トランジスタに電気が流れるとスイッチオン、流れないとスイッチオフになる。この組み合わせでコンピューターは動いています。
「CPU」はコンピューターの頭脳。「プロセッサ」とも言われます。CPUは、すべての装置に命令を出して、動きをコントロールする「制御装置」と、命令に従って計算をする「演算装置」が入っています。
よって、コンピューターの性能は、CPUの性能によって大きく左右され、CPUの性能、命令を処理するスピードは「クロック周波数」(Hz ヘルツ)で表されます。
「メモリ」は、RAMとも言われ、勉強机に例えるとわかりやすいかもしれません。
勉強するときに教科書やノート、筆記用具などを机の上に広げますが、勉強が終われば片付けるのと同じで、メモリも作業中は一時的に記憶していますが、作業が終わればデータは消えます。
コンピューターと様々な機器をつなぐつなぎ目を「インターフェース」と言います。接点という意味です。USBやHDMIなどです。
4 インターネットの仕組み
インターネットの仕組みは「TCP/IP」という「プロトコル」があります。プロトコルとは約束事のことです。
その約束事は、やりとりするデータは決まった形の小包(パケット)にまとめて住所(IPアドレス)をつけ、送れるまで送り続ける、というルールです。
インターネットにつながる流れは、ユーザーがドメインをブラウザに入力→ネームサーバーが該当のIPアドレスを教えてくれる→そのWebサーバーに行きWebページのデータをを送ってくれる、というイメージです。
5 コンピューターは「0」と「1」しかわからない
コンピューターは「0」と「1」しか使えません。例えば、文字は数字を羅列した文字コードで表します。画像も白いマスを「0」黒いマスを「1」というようにマス(ピクセル)を数字で表します。
ちなみに、コンピューターは「0」と「1」しか使えないですが、「0」と「1」だけではユーザーは扱いにくいため、ユーザーはプログラミング言語(指示書)によりCPUに指示をし、CPUは機械語と呼ばれる数字に置き換えてコンピューターの装置に指示を与えています。
6 おわりに
いかがでしたでしょうか。
そんなの知ってるわ!と思われた方は必要ないかもしれませんが、少しでも「そうなんだ、なるほどね」と思われた方は、本書を読めば、もっとコンピューターの本質について理解が深まると思います。
私は、本書に感銘を受け、引き続き以下の類書を読みました。
こちらも子ども向けにしておくのはもったいないほど、大人でもプログラミングの本質について理解が深まる本でした。
『プログラミングでなにができる?:ゲーム・ロボット・AR・アプリ・Webサイト……新時代のモノづくりを体験 [Kindle]』(杉浦学)の感想 – ブクログ