コンピューターの知識(1)から続く。
(2)コンピューターのハードウェア
ここでは、1965年のアメリカのS. S. Kuo著「Numerical Methods and Computers(数値解析とコンピューター)」の図でコンピューターを説明する。教科書は古いが、コンピューターの本質を分かり易く説明しているのでこの教科書を使う。図に出典:Kuoとあるのは引用した図、【転載禁止】とあるのは筆者の資料である。
1)2進数
人類の記数法として、2進数、8進数、10進数、12進数、16進数、60進数などがある。このうち2進数では、0と1、2つの数字を使用する。2進数の0、1、10、11、100、101は10進数の0、1、2、3、4、5にそれぞれ対応する。もちろん、2進数も四則演算が可能である。
英語では2進数をBinaryといい、その1桁の数字、0また1をビット(Bit:Binary Digitの造語)という。本来の英語の“bit”には“小片”や“少し”の意味がある。
2)磁気コア
2進数を用いるコンピューターは、0と1を明確に識別しなければならない。たとえば、電気のスイッチはオンかオフのいずれかで中間はあり得ない。このスイッチのような物体をBistate Element(二つの状態を持つもの=適当な和訳はない)という。
下の図1は、1960年代のコンピューターが使用したBistate Elementを示している。図1左端の上から、磁気コア(Magnetic Core)、パンチドカード、電気パルス、スイッチまたはリレー、真空管、トランジスターを示すとともに、それぞれの0-State(ゼロの状態)と1-State(1の状態)を図解している。たとえば、磁気コアの場合は、反時計回り方向の磁界を0-State、時計回り方向の磁界を1-Stateとしている。また、2番目のパンチドカードは、穴があいていない状態を0-State、穴があいている状態を1-Stateとしている。
図1 Bistate Element(2つの状態を表現できるもの)
出典:Kuo
図1の磁気コアは、1970年代中頃まで主記憶装置として使われたドーナツ型の記憶媒体(直径約5mmの磁性体)だった。
図2 磁気コア(Magnetic Core)
出典:Kuo
図2は、磁気コアと電線を示している。左端の(a)では、電線に左から右方向に電気を流すと、磁気コアに反時計回りの磁界が生じる。この状態を0-Stateという。
次に中央の(b)では、電流を停止する。しかし、磁界の方向は反時計回りのままで変化しない。すなわち、(b)は磁気コアが“0”を記憶した状態を示している。
さらに右端の(c)のように、電気を右から左方向に流すと、磁界も時計回り方向に反転(flip)し、磁気コアは1-Stateになる。このように、電気の方向を変えることにより、磁気コアに“0”か“1”を書き込むことができる。
図3は、磁気コアにデータを書き込み、また読み取る仕組みを示している。
図3 磁気コアのデータ読み書き
出典:Kuo
上の図に示すとおり、磁気コアには2本の電線は通っている。一本はデータの書き込み用、他方はデータの読み取り用の電線である。
データの書き込みと読み取りのプロセスは次のようになる。
1.書き込み電線に右から左方向に電気を流す⇒時計回り方向の磁界が発生⇒データ“1”を記録
2.時計回り方向の磁界は、読み取り用の電線に右から左方向の電流を発生させる(誘導電流)。
3.読み取り用電線の誘導電流を増幅器で増幅し、“1”と認識(読み取り)
注)書き込み前の磁気コアの状態が“0”であっても“1”であっても問題はない。
昨年11月のこのブログで、文字の“0”や“1”や“A”は、それぞれ“00110000”や“00110001”や“01000001”とASCIIコードが定義していると説明した。もしここに、8個の磁気コアがあれば、1つの文字を書き込み、記憶することができる。【参照:グローバル工場---機能の階層(1)(2011-12-25)、(2)データベースと文字コード、1)コンピューターが取り扱うデータ】
なお、コンピューター用語では、8ビット(Bit)=1バイト(Byte)と定義している。この定義により0、1、Aなどを1バイト文字という。また、漢字1文字は16ビットで定義するので、2バイト文字という。ちなみに、日本では半角文字(1バイト文字)や全角文字(2バイト文字)との云い方もある。
1980年代に漢字が使えるようになり、氏名や住所を漢字でプリントできるようになった。(それまでは、氏名や住所は半角の片仮名だった)
図4に示すコアアレー(磁気コアの配列)は、磁気コアの主記憶装置である。
図4 コアアレー(Core Array:磁気コアの配列)
出典:Kuo
当時、128KB(キロバイト)の主記憶装置と云えば、128,000バイトX8ビット/バイト=1,024,000ビット、約100万個の磁気コアを装備したコンピューターだった。下の図5は、コンピューターとコアアレーの関係を示している。
図5 コンピューターとコアアレーの関係
出典:Kuo
3)磁気ドラムやテープ
実際のコンピューターは、CPUと主記憶装置(メインメモリー)だけではなく、磁気ドラムや磁気テープ、パンチドカードリーダーやプリンターでデータを出し入れ(インプット/アウトプット)している。図6は磁気ドラムへのデータ書き込みと読み取りの様子を示している。
図6 磁気ドラムへのデータ書き込み/読み込み
出典:Kuo
磁気ドラムや磁気テープへのデータの書き込みと読み取りは、磁気コアと同じである。磁気ドラムやテープの場合は、表面に塗布した磁性体の磁界の方向で“0”か“1”を判別する。
下の図7は、1976年秋に筆者が社員教育のために自作した磁気テープの教材である。図の下に磁気テープ、その上にテープの内容を示している。
図7 磁気テープの中身
【図7の説明】
使用した磁気テープの仕様:テープ幅=1/2インチ、テープ長=2,400フィート、記録密度=1,600BPI(Bits per Inch)、IRG(Inter-record Gap)=約1.5cm
【図7の制作方法】
1.微細な鉄粉の揮発性溶液を、データを記録した磁気テープに塗布する。
2.塗布した液体は揮発し、鉄粉だけがテープ上に残る。この鉄粉はテープ上のデータの磁界で縞模様になっている。
3.その縞模様の鉄粉をセロテープで写し取り、そのセロテープを磁気テープの上の余白に張り付けた。
参考:ガラス板の上に鉄粉を撒き、ガラス板の下に磁石を当てると鉄粉が磁力線で縞模様になる。同様に、磁気テープに微細な鉄粉を塗布すると縞模様が現れる。
図8は図7の縞模様を拡大した図である。垂直方向のビット間の空白が水平方向に走っているのが分かる。しかし、一つ一つのビットは識別できない。
図8 磁気テープの拡大図
【図8の説明】
テープの垂直方向:
垂直方向1列9ビット(8ビット=1バイト=1文字+1パリティーチェックビット=9トラック)
テープの水平方向:
1列9ビット(1文字)が水平方向に4,000列(=文字)のブロックで並んでいる。その記録密度は1,600BPI、計算すると長さは6.35cmである。(4,000÷1,600×2.54cm=6.35cm)
図の薄茶色の部分は、セロテープの接着剤が36年の歳月で劣化・変色したシミである。
【補足説明】
1.幅約1cm、長さ約6.35cmに9ビット/列X4,000列=36,000ビット、これは、36,000個の磁気コアに相当する。
2.当時、記録密度=6,250BPIの磁気テープも使っていたが、6,250BPIは高密度すぎて縞模様を肉眼で識別できなかった。目に見えるサンプルを作るために、低密度の1,600BPIテープを使用した。
3.記録密度=6,250BIPの磁気テープで計算すると、同じ面積(幅約1cm、長さ約6.35cm)の記憶容量は約14万個の小豆粒程の磁気コアに相当する。
この高密度化の技術は、はさらに半導体の世界に進んでいった。
4)LSI(高密度集積回路)
下の図9は、1997年に記念品として筆者が仕事先のアメリカの半導体会社でもらったLSIウェハである。もちろん、製品でなく試作品である。このウェハは、直径約10cm、750個のチップを載せている。このウェハは750チップの在来製品だが、当時の最新型ではチップの搭載数と機能ともにさらに進歩していた。
図9 LSIウェハ上のチップとパッケージ(図の左上)のイメージ
(注:例示のパッケージの中身は、このウェハのチップではない)
【図9の説明】
説明が長くなるので、ここでは外観だけを説明する。チップ(赤い丸印)には数千~数万の電子素子が組み込まれている。このチップを切り出し、配線したものがLSIパッケージである(図の左上のイメージ)。パッケージの中身は、マイクロプロセッサーや半導体メモリーなどである。
このようなLSIで、コンピューターはさらに小型化し記憶容量も大きくなった。
ここまでの説明で、データの構成要素がビット(“0”か“1”)であることを理解して頂ければ十分である。このことは、数値、文字、画像、動画、色、音など、コンピューターが処理する情報すべてに共通である。また、記憶容量が非常に大きくなると同時に、小型化したのでノート型PCやiPhoneが実現した。
次回の(3)「コンピューターの論理」に続く。