福野泰介の一日一創 - create every day

今週8/1、プログラミングを伝授に行く予定の静岡県三島市。
お隣、沼津市に世界最古級の稼働するコンピューターがあることを発見。

60年前のコンピューター、動かし続ける「守人」:朝日新聞デジタル

制御パネルに表示されるランプが示す数は、2進数ではない縦表記の不思議な並び。どうやらこれは二五進法。0から24までの25進法ではなく、二・五進法とも表記する、二進法と五進法の組み合わせ。おなじみ、そろばんはその一種。(二五進法 - Wikipedia

ふがく界最古級のコンピュータ、次世代スパコンふがくのCPUを開発している富士通製「FACOM128B」。コンピュータ博物館によると、計算速度は1秒間に10回程度。IchigoJamの500万分の1、富岳の10京分の1のスピード。 電気を通すと磁石になる電磁石を使って接点を物理的にONにしたりOFFにしたりするリレー、まさに自動スイッチでできたコンピューター。(参考、なぜコンピューターは計算が速いのか? 電気回路で計算ができる謎を解く

コンピューターとしては2進数で計算したほうが何かと効率はいいわけですが、桁が大きくなると人間にとっては読みづらく、10進数にするにはちょっと手間のかかる計算が必要なので、折衷案である二五進法が採用された様子。

なかなかかっこいいので、二五進数による時計、まずは画面上で作ってみました。

「二五進時計」(RUN on IchigoJam)

10 VIDEO3:CLS:CLT:H=23:M=54 20 N=H*100+M:GSB100 30 IF TICK()<60*60 CONT 40 CLT:M=M+1:IF M=60 M=0:H=H+1:IF H=24 H=0 50 GOTO20 100 [0]=`110000 101 [1]=`101000 102 [2]=`100100 103 [3]=`100010 104 [4]=`100000 105 [5]=`010001 106 [6]=`001001 107 [7]=`000101 108 [8]=`000011 109 [9]=`000001 110 A=N 120 FOR I=0 TO 3 130 B=[A%10] 140 FOR J=0 TO 5 150 LC 11-I*2,J+2 155 IF 1<<J&B ?"o"ELSE?" " 156 LC 11-I*2,10:?A%10 160 NEXT 165 A=A/10 170 NEXT 180 RTN

100〜109行が、FACOM128Bの二五進数と思われる0-9の10進数を6bitで表現したもの(動画で登場しない4と6と9は推測です)。冗長な表現でエラー検出するという技!
10行のHとMに時間と分をセットして、実行!TICKを使っているのでずれます。RTCと物理LEDを使った「物理二五進置き時計」とかにするとステキかも?

単純にカウントアップするプログラムの差分はこちら

10 VIDEO3:CLS:N=0 20 GSB100:N=N+1:CONT

子供のころ使っていたMSXでの小数表現、二進化十進表現(BCD)もメモリが少ない時代の工夫。 現代社会を作りあげた、工夫の積み重ねには感動です。Let's do 工夫!


富士通リレー式計算機「FACOM128B」 - YouTube

links
- FACOM128B - 富士通
- 池田記念室・富士通アーカイブズ見学に関するお問い合わせ - 富士通
- 天馬空を行くがごとく生きた男 天馬空を行くがごとく生きた男 (池田敏雄 国産コンピュータに書けた転載の軌跡) - 富士通
- リレー式計算機「FACOM128B」が重要科学技術史資料として登録 : 富士通
- リレー式計算機 FACOM 128A,128B-コンピュータ博物館
- FACOM - Wikipedia
- ASCII.jp:世界最古級コンピュータが頑張っている!|キャリア・ピックアップ
- 世界最古級のコンピュータを動かし続けるCEの挑戦(前編) : FUJITSU JOURNAL(富士通ジャーナル)
- 60年前のコンピューター、動かし続ける「守人」:朝日新聞デジタル
- Technician keeps computer made in 1959 still humming along:The Asahi Shimbun

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / アイコン画像 / プロフィール画像