01:コンピュータの仕組み
目次
コンピュータが記憶する仕組み
前回はコンピュータについて、概要をご説明しました。コンピュータで情報を覚える部分を記憶装置(記憶喪失では、ありません:笑)と言うのでした。
それでは、コンピュータはどうやって情報を記憶しているのでしょうか?。
私たちは脳みそで情報を記憶しています。違うという意見もあるようですが、とりあえず「そういうこと」にします。その記憶は、感覚記憶、短期記憶、長期記憶の3つに分類されるそうです。
(画像URL:illust-AC 様)
一方で、コンピュータは(一部を除き)記憶装置と呼ばれる機械で情報を記憶します。
人間の長期記憶に相当するのが、外部記憶装置(HDDなど)。短期記憶に相当するのが、メモリと考えて頂ければ、わかり易いかもしれません。
人間が脳みそに情報を記憶する仕組みは、まだ良くわかっていないそうです。ですがコンピュータが情報を記憶する仕組みは、意外と単純です。
コンピュータは機械です。機械にとって最もわかりやすいのは、電気が流れているか、流れていないか(ONとOFF)ですよね。だからコンピュータでは、電気のON/OFFで情報を記憶する仕組みとなっているのです。
具体的には
- 電気が流れている=情報がある=ON=1
- 電気が流れていない=情報なし=OFF=0
といった感じで、全ての情報を1か0かで記憶しています。
ところで、みなさんは2進数を覚えているでしょうか?。2進数・・・はるか昔、算数の時間に習った事がある気がしますが・・・あまり馴染みがない事だと思います(汗)。
私たちがよく使う10進数では
0⇒1⇒2⇒3⇒4⇒5⇒6⇒7⇒8⇒9⇒繰り上がって10
というように、9の次が1と0をくっつけた記号10(ジュウ)になります。
0から9の10個の記号をつかって数値を表すので、10進数といいます。
一方、2進数では
0⇒1⇒繰り上がって10⇒11⇒繰り上がって100
といった感じで、1と0の2つだけを使って数値を表します。1の次(10進数の2)は繰り上がって10(ジュウではありません。イチゼロと読みます)になります。
この2進数が、電気のON/OFFと相性が良かったため、現代のコンピュータは2進数をつかって情報を記憶・計算しているのです。
(画像URL:illust-AC 様)
ちなみに前回紹介した初期のコンピュータであるENIACは、なんと10進数を使って情報を記憶し、計算していたそうです。そのため回路が複雑になり、とても沢山の真空管(17,468本)を使いました。
その後に作られたEDSAC(エドサック)では、2進数で情報を記憶するようになりました。これにより、大幅に真空管の本数を減らすこと(3000本)に成功したのです。(参考:Webで学ぶ情報処理概論 様)
2進数はコンピュータと、とても相性が良い考え方なのです。
情報量
ところで、いろいろな物には数え方がありますよね。船はイッソウ、人参はイッポン、体重はキログラム、長さはセンチメートル。私の体重は・・・内緒(笑)。
そして数え方(単位)は、一定の単位で繰り上がります。例えば長さでは、10mm(ミリメートル)を1cm(センチメートル)、100cmを1m(メートル)というように、単位が繰り上がっていきます。
コンピュータでは、2進数の1か0かという1つの値(ONかOFFかを示す最小限の値)を1ビット(bit)といいます。ビットの事を「情報の記録単位=情報量」などともいいます。どのくらい情報を記録できるかを表す単位という事ですね。
- 0・・・これは1ビットの情報
- 10・・・これは2ビットの情報
- 01010101・・・これは8ビットの情報
そして、ビットが8つ集まっている(8bit)ことを1バイト(1byte=8ビット)といいます。
- バイトが1024個集まったものを1キロバイト(K)
- キロが1024個集まったものを1メガバイト(M)
- メガが1024個集まったものを1ギガバイト(G)
といいます。
1bit<1byte(=8bit)<1K(=1024byte)<1M(=1024K)<1G(=1024M)<1T(=1024G)・・・・
ちなみにギガの上はテラ(T)、テラの上は坊主・・・ではなくてペタ(P)。ペタの上はエクサ(EX)、エクサの上はゼタ(Z)、ゼタの上はヨタ(Y)です。(参考:Wiki ヨタ記事 様)
電気屋さんで売られているCDやDVDに700MBなどと書かれているのを、ご覧になった事があるでしょうか?。あの事です。情報を覚えられる量(単位)の事なんですね。そのCDに、どのくらい音楽や映像が記録できるかを示しているのです。
(画像URL:photo-AC 様)
繰り上がりが1000単位ではなく、1024単位になっている事が面白いですよね。
(注:電気屋さんで売られているCDの容量は、厳密には700MB=1024×700KBではありません)
2進数で管理できる情報量
ところで2進数の世界で扱える情報の量は、どの程度なのでしょか?。2進数には1と0しかありません。1ビットで表せる数(情報量)は、0か1の2つという事になります。
では2ビットでは、いくつまでかぞえる事ができるでしょうか?。0と1と2の3つでしょうか?。・・・いいえ、違います。
- 00:0
- 01:1
- 10:2
- 11:3
の4つまで数えることが、できます。情報量は4という事です。
では3ビットでは?。・・・・答えは
- 000:0
- 001:1
- 010:2
- 011:3
- 100:4
- 101:5
- 110:6
- 111:7
の8つまで数えることができます。
だから、あなたの手の指が5本(5bit)あるなら、片手でかぞえられる数は0から5までの6つではなく、32個にもなります。両手の指10本なら1024個もの数(情報)をかぞえられます。
ちなみにCPUの種類には、32ビットとか64ビットと呼ばれるものがあります。あれは、そのCPUが「メモリなどから、一度に読み書きできる情報量」が32ビットだよという意味なのです。
前回、メモリは情報を蓄えておく場所だと説明しましたよね。そのメモリとCPUが情報を読み書きする単位(大きさ)が、1回あたり32ビットずつか、64ビットずつかという事なのです。
リンゴの木がメモリだとして、そこからリンゴをもぎ取る時、あなたが両手をつかって2個ずつリンゴを取れるのなら、あなたは2ビットCPUという事になります(笑)。
(画像URL:illust-AC 様)
必ずではありませんが、一般的にビット数が大きなCPUほど、1回の処理で沢山の情報をメモリと読み書きできますので、性能が高い事になります。
今日の言葉
・2進数
1と0だけで数をかぞえる方法。10進数はよく使いますが、2進数は馴染みがないですよね。
・情報量
どのくらい記憶できるかという単位の事。ビット、バイト、キロバイト、メガバイト、ギガバイトなどと数えます。
・XXbit CPU
32bit CPUとか64bit CPUと呼ばれるものです。メモリとCPUが、一度にどのくらいの量の情報を読み書きできるかを指しています。普通はbit数が大きいCPUの方が、性能が高い事になります。え、私?・・・私は手足を入れても4bit CPUですね・・・(笑)。
今日のまとめ
- コンピュータは、2進数で計算したり記憶する
- ビットの事を情報量と言う。ビット、バイト、キロバイト、メガバイトなどと数える
- 2進数と情報量。5ビットでは32個もの数を扱う事ができる
電子書籍のご案内
よりわかりやすく詳細にまとめたものを、以下の電子書籍として販売しております。書籍については、下記書籍ページを参照してください。
本ページの文章及びプログラムは、全てMSLABOに著作権があります。
本ページで利用している画像、フォントには、参照元リンクの企業・団体・個人に著作権があります。
著作権に従い、適切に利用して下さい。