文明の発達とともに計算需要が増えて行き、それを精度よく、できるだけ簡単に計算したいということから、さまざまな計算デバイスが考案され、用いられた。初期のデバイスは、自律的には計算を行うことができず、人間が操作する計算補助具であったが、計算機械(Computer)を作るテクノロジーの進歩とともに、より高度な計算を高速で行えるようになってきた。
それぞれの時代で、最高性能の計算が行えるコンピュータはスーパーコンピュータ(スパコン)と呼ばれる。そして、その卓越した性能を実現するために、色々なアーキテクチャが開発されてきた。
初期の計算デバイス
計算の需要が増えると、その計算を簡単に、かつ、正確に行うことが必要になる。人類の歴史の中で、最初に、計算の需要が増えたのは農耕の普及と、それに伴う税(年貢米などの穀物)の計算であろうと思われる。このために作られたのが図1.1に示すアバカス(Abacus、そろばん)である。
図1.1の写真は、Computer History Museumにおいて筆者が撮影したものであるが、漢数字に向きそうな縦型のそろばんや、5珠や1の珠の個数にバリエーションがあるものが作られている。
ご存じのように、そろばんを使うと、計算の速度や精度を改善することが出来るが、そろばんは自動的に計算してくれる訳ではなく、人間が珠を動かす必要がある計算補助具であるので、スーパーコンピュータというには物足りない。
パスカルの原理で有名なパスカルのお父さんは徴税吏で、いつも税金の計算に追われていたのを見かねて、1642年に設計し、1645年に図1.2に示すPascalineと呼ばれることになる歯車を使った計算機を開発した。
図1.2の写真では少し見づらいが、白い丸の外側に数字に対応する穴が開いたリングがあり、例えば3の穴にスタイラスを入れて、ストッパーのところまでリングを回転させるとその数字の3が加算され、桁上がりの伝播の処理機構も備えていた。計算は、10進だけではなく、当時のフランスの貨幣体系の対応しており、6進、10進、12進、20進のリングがあり右端のリングは12進、右から2つ目のリングは20進になっている。
なお、この写真はComputer History Museumに展示されているものを撮影したもので、初期のPascalineは穴あきリングではなく、スポークのついた車輪のような形で、スポークの間にスタイラスを入れて廻す構造になっていた。
繰り上がりをメカニカルに自動的に処理する機構を持っているので、計算補助具であるそろばんと違って、最初のコンピュータと呼べるのではないかと思う。しかし、スタイラスを使ってリングを廻すという入力方法では、そろばんより速く計算できたかどうかは疑問である。
租税の計算はエジプト時代からあったが、次に計算需要が急増したのは産業革命時代である。蒸気機関が発明され、それに使われるボイラーやピストンの設計が必要になった。また、蒸気機関を動力として動く、汽車や蒸気船、織機などの各種の機械の設計が行われるようになって、計算需要が大幅に伸びた。
これらの設計計算には、加減算だけでなく、乗除算や三角関数、対数などが必要になった。この目的で広く用いられたのが計算尺(Slide Rule)である。科学技術計算機能を備えた電卓が普及してくる1980年代以前には、計算尺は理工系の学生の必須のアイテムであったことを思い出される読者もおられよう。
図1.3の写真の左上あたりに展示されている、横長で中央の尺がスライドするものがなじみ深いが、円盤型や円筒型の計算尺も各種、作られている。
計算尺は、手軽で良いが、尺につけられた目盛りを合わせるようにスライドして、結果のところの目盛りを読み取るので、3桁~4桁程度の精度がせいぜいである。
より精度の高い技術計算を行う場合には、加減乗除算は筆算で行うにしても、三角関数や対数の値が必要になる。この場合にはlog(x)やsin(x)の値を、xを0.01とか0.001とかの刻みで計算した結果を載せた数表という本が用いられた。数表にぴったりのxの値がない場合は、xの両側の値から内挿でlog(x)やsin(x)を求めるという使い方がなされる。
この数表であるが、産業革命の時代には、log(x)やsin(x)を範囲を区切って多項式近似を行い、この多項式にxの値を代入して筆算で計算を行って作られた。この計算は大勢のCalculator(計算機ではなく計算人)が分担して行われたが、人間のやることであるから間違いも含まれていた。
また、数表を印刷するには、鉛の活字を並べて箱に詰め込んで原版を作る必要があった。しかし、活字を拾う過程で間違いが混入するし、また、重い活字の箱を運ぶときに落としてしまい、飛び出した活字を適当に詰め込んでしまうということもあったという。このため、当時の数表には間違いが多く、正誤表が出され、さらに正誤表の正誤表が出されるという状況であった。このため、誤った数表を使って設計したために、例えば、ボイラーの強度が不足して、爆発するというような事故が起こることが憂慮されていたとのことである。
(次回は12月15日に掲載します)