2011年4月29日金曜日

古い計算機

今回はPascalが発明したといわれる計算機, パスカリーヌの繰上げ処理のことを書きたい.

Pascalは1623年生まれ. 計算機を考えたのが1642年から45年だから, 20歳くらいのことになる.

そんなに高級なことが出来たわけではなく, 例によって歯車にスタイラスを指してぐるーっと回すと, その分だけ加算出来, 結果が表数車に現れるという代物である. 減算は補数を足して実現したようだ. つまり歯車類は, 一方向にだけ回転する構造であった.


ウェブページ
にあった図を一つ借用すると, 計算機構は下のようになっていたらしい.



図の 0 1 は表数車で, パスカリーヌは十進法以外にも対応していたらしいが, 一応は外側に0から9と, 内側にその補数が書いてあった. 2 は歯止めである. 歯車といっても, 精密な工作は出来ぬ時代なので, 円周から棒がたっている程度のもので, むかしのからくりでよく見かけるものがあり, 歯止めはそれを上から重力で押さえている.

図の 3 はベベルギアの片割れである. 下の方の図にも 3 はあるが, 表面の歯車をスタイラスで回すと, このベベルギアで水平面の軸の回転に変わる. この軸が1段の歯車を介して表数車を回す.

ところで繰上げは, 下の桁の水平軸の用意した2本のピン 4 が主役である. 軸が図でみて時計方向に回ると, このピンは, 上の桁の水平軸で回転する 5 のフォーク状のフックを押し上げ始める. やがて 4 5 の下から抜けるが, それがちょうど表数車が9から0になる時で, フックが重力で墜落することにより, 上の桁のピン 6 が押されて, 繰上げを生じる仕掛けである.

繰上げ処理には, 力がいるのが普通だが, パスカリーヌでは重力を利用するのが面白い. 表数車が5, 6, 7, 8と回るにつれ, ポテンシャルを高めていき, 9を過ぎると一気に落ちるのである.

私はこの仕掛けをみると, 昔のテレタイプを思い出す. テレタイプは1文字ずつ受信, 印字しながら, 印字位置が次第に右に移動し, 復帰信号を受信すると印字位置を左端へ戻すのだが, このエネルギーは, 印字位置を右に移動するときにためていく. 復帰でフックがはずれ, 蓄えたエネルギーで左端へ飛んで戻るが, 最後にダッシュポットがあって, ブレーキをかけ, 静止する. 従って, 左からほんの数文字を印字した後の復帰では, 力が弱く, 左端まで充分戻れないこともあった.

これは, 手動のタイプライタとは, 全く反対のエネルギーの使い方であった. 手動のタイプライタでは, 手でプラテンを右に寄せると, その時にエネルギーを蓄えるのであった. 1文字打つたびに, そのエネルギーにより, プラテンが左へ送られるのである.

パスカリーヌのこの動きを, いつものようにポストスクリプトで描いたのが次の紙芝居である. 4 あたりから, ピンがフックを押し上げ始め, 9 で最高点に達する. その直後にフックは墜落し, 上の桁のピンを回す.



いかにもうまく行きそうだが, 繰上げが続くと, 2, 3段で駄目になったという説明を読んだようにも思う. なお上の図の動画がhttp://playground.iijlab.net/~ew/pascalinecarry/pascalinecarry.htmlにある.

0 件のコメント: