フォーラム - neorail.jp R16

いま問うA9のココロ
信号機のG現示の色がこんなにメロンソーダなわけがない
ATC・ATSの「Aの字」も出さずに効果音と動作を実装するには
「場内信号機 作り方」「信号機に名前をつける機能」とは


発行:2016/2/25
更新:2020/8/26

[3178]

リアルタイムオンライン座席予約処理装置「MARS-1」(マルス1)を読み解く(中編)


「磁気ドラム」は『オルゴール±RW(データ用)』!
1000×200の方眼紙を筒状にして持てェ!
ヒットしてビットするMARS-1の『キャッシュ』
「エカケイ素」と「猫のひげ」で探る「電気」と「電子」の境界
電子情報通信学会のほうから見える「鉄道業界」のようなもの
入出力そして通信へ
「きっぷ」

(約39000字)

 この一連の記事では、国鉄と日立製作所が共同開発したリアルタイムオンライン座席予約処理装置「MARS-1」(マルス1)を題材として、電気・電子の両分野にまたがる「電気通信」「情報処理」、それらにまたがる「情報通信」について、歴史的な流れをふまえた立体的な理解を目指します。

 前編([3179])では、「コンピューターとは何か」「コンピューターと呼べるのはどこからか」を意識しながら、現在の「データベース」につながる歴史的な流れを追います。このため、黎明期の「装置」を読み解くための基礎知識を導入します。

 そして、鉄道博物館における展示内容(説明文)と、情報処理学会「コンピュータ博物館」における説明文を読み比べます。これにより、電気分野としての成果と、情報分野としての成果を切り分けて見ることができるようになることを目指します。

 中編([3178])では、MARS-1で使われた素子など、ひとつひとつの要素技術に着目し、「装置」全体の立体的な理解を目指します。最新の記憶素子についても概観します。(「素子とは何か」を含みます。)

 そして、当時のきっぷの写真を参照しながら、「乗車券センター」「(交)大阪川口」を読み解きます。ここから、「オンラインリアルタイム処理」を実現するための通信網に焦点を移していきます。

 後編([3177])では、電信回線について実感的な理解を目指し、鉄道電話につながる歴史的な流れを追います。通信網の構築における交換局と端局の階層構造についても概観します。(「通信とは何か」を含みます。)

 記事の中では、勉強のため、「仮定」をしながら見ていく部分があります。最後に「日立評論」の(当時の)記事(技報)を参照して、「答えあわせ」をしてみます。


●「磁気ドラム」は『オルゴール±RW(データ用)』!


 まず、イメージをつかむために映像を参照しましょう。

・YouTube 「磁気ドラム式の時報装置」
 https://youtu.be/aM2osLTMf2I?t=8m33s




 「時報」の音響信号(ただいまの時刻をお伝えする音声!)が記録され、それを回し続ければ所定の時刻に時報が流れるんです、という、なんともわかりやすい「装置」です。これを「コンピューター!」とは(当時も、現在も)呼ばないことがわかりますが、使われる要素技術(ここでは「磁気ドラム」)は共通しているんだといって、CDラジカセにCD-ROMを入れようとする人を「大きな声」で引き留めましょう。

・ウィキペディア「磁気ドラムメモリ」
 https://ja.wikipedia.org/wiki/%E7%A3%81%E6%B0%97%E3%83%89%E3%83%A9%E3%83%A0%E3%83%A1%E3%83%A2%E3%83%AA

 > 磁気ドラムメモリは1950年代から1960年にかけて、コンピュータの記憶装置として広く使われた。 多くのマシンで磁気ドラムメモリは主記憶装置として使われ、紙テープやパンチカードからプログラムやデータをロードして使用された。あまり高速ではないが、大容量かつ不揮発性だったため、補助記憶装置として使われたこともある。 磁気ドラムメモリは非常に一般的だったため、コンピュータをドラムマシンと呼ぶこともあった。 磁気ドラムメモリは後に、主記憶装置としてはもっと高速で可動部分のない磁気コアメモリに、補助記憶装置としては磁気ディスク装置に置き換えられていく。

※「記憶装置」が「主記憶」と「補助記憶」に分かれていくというのも、コンピューターとして洗練されていく過程でのことであって、それ以前の黎明期にあっては、そのあたりも曖昧であったとみられます。そして今後もまた、磁気ディスクが廃れてメモリ(DRAM)に、あるいは磁気で記憶するがDRAMのように扱えるMRAMに、などと、さらに洗練されていくのだと楽観されます。

・日経エレクトロニクス「MRAMは大容量化の正念場、NANDの死角狙うReRAM」(2015年7月2日)
 http://techon.nikkeibp.co.jp/article/MAG/20150702/425923/?rt=nocnt

 「マルス1」を当時「(われらが)コンピューター!」と呼んだということは理解はできますが、しかし、同じ定義からは、あらゆる黎明期の「コンピューターっぽい装置(ただし演算しない、汎用性もない)」がすべからく「コンピューター」と呼ばれることになろうかと思います。いま、コンピューターとは何か、といって多くのかたが自然と思い浮かべられるような定義が、当時、広く共有されていたわけではないことに注意しながら資料を読み解いていくことが重要ですね。

 3年と9か月で「リプレース」されたという、いえ、それでも貴重なシステムであり、何物にも代えがたい「自前」での開発体験(※)であったことは疑いようがありません。まさに「礎」だと感じます。

※あくまで国鉄側(狭くは「鉄研」=現在の鉄道総研)にとっての話です。後年、「かしこいユーザー企業!(エヘンエヘン[3161])」になるための下地が培われたという意味です。他方、メーカー側としては、なんのこれしき! といって、ぴろぴろりん、「当社のフラッグシップ機!」をすとーんとすとすとまいる…いえ、「ストレートまっすぐっ!」に納められたらどんなに楽ができるか(開発のための資源等が一本化できる等)とも思われていたかもしれません。じきに「ソフトウェア工場」(前編[3179]で先述)だというくらいの、紛れもない「高度な知見」(国鉄側が持ちえない=国鉄としては一種「1人称!」で見ているところ、メーカーとしては「3人称!」で、しかも多くの事例を同時並行で見てきている、の意)があったのですから、そんな、ハードウェア(物理的な回路)をいろいろ工夫して(専用機を起こして)所望の処理系を実現するんだというのは、周辺機器だけで勘弁願いたいと思われていたのではないかなぁ、などと邪推されてきそうです。(あくまで邪推です。)

・なんのこれしき! といって、ぴろぴろりん「ピロシキは遠がった」(本文とは無関係です)
 http://tabelog.com/miyagi/A0402/A040201/4002084/dtlrvwlst/3974462/
 http://image1-4.tabelog.k-img.com/restaurant/images/Rvw/12240/640x640_rect_12240468.jpg

 > 遠刈田温泉本町を車で3、4回ぐるぐるして町の全体図をキャッチ。
 > 100円のピロシキをたった一個注文。
 > 店内を見ていると、JR東日本のびゅーのポスターが貼られてあって、あれ?
 > さっきの店主さん、ポスターに載ってる??

※なぜ脈絡もなく「ピロシキ」といって検索して、「びゅう」に関連するソレが出てくるのかといって、Google先生のほうから漂う何かに一種「せん慄」のようなものを覚えてみます。

・Google先生!「すとーんとすとすとまいる」の検索結果
 https://www.google.co.jp/search?q=%E3%81%99%E3%81%A8%E3%83%BC%E3%82%93%E3%81%A8%E3%81%99%E3%81%A8%E3%81%99%E3%81%A8%E3%81%BE%E3%81%84%E3%82%8B&ie=utf-8&oe=utf-8&hl=ja

※情報検索の勉強をすれば、「すとーんとすとすとまいる」というクエリ(検索語)がちゃんと機能することが立体的に理解できるはずです。こちらは「戦りつ」するまでもない「あたりまえのこと」ですね、わかります!

 博物館に装置がデンと展示され「すごい装置であった」などと(「プロジェクトX」ふうに)説明されますと、あたかも「マルス1」という装置がすばらしかったかのように錯覚されますが、いえ、この時代にこの装置を「ゼロベース」で構想し、装置に必要なものを「手作り」(すべての部品が部品として売られていたわけではない、の意)したことがすばらしい…いえ、すばらしいかどうかは別として、たいへんまっとうな開発のプロセスであった(⇔まっとうであったので「現に実現」された)というわけです…たぶん。

・YouTube 「Warming up the LGP-30」(2008年)
 https://youtu.be/7WaYYNUCWMY?t=8s




 > The LGP 30 computer is a computer made of valves, diodes and a drum memory.
 > This machine is from 1958.

 > Just to get an imagination what that kind of machine looked and feeled like.

 シュトゥットガルト大学(ドイツ)の博物館に所蔵されている「1958年」の「LGP-30」という「計算機」の電源ボタンを押して…延々と待たされるところからの映像です。いかにもな音がいたします。まず冷却ファンが回り、しばらくしてから磁気ドラムが回りだすと説明されています。『コンピューターサイエンス学部の博物館』なら、このくらい整備できてあたりまえだ、といわれそうです。日本でもできたいですね。

 休み休み(と思える)に印字されているのは、これが「情報処理装置」でなく「計算機」であって、何がしかの計算に時間がかかっているからですね。「情報処理装置」や、通信(電信)の中継であれば、まったく休みなくテープはカチャカチャ、印字ヘッドはガリガリといい続けるのでしょう…たぶん。

 …そして、電源を切っても磁気ドラムにブレーキがかかるわけでなく、自然に止まるまで回り続けているかのような音がしています。映像の最後まで必見です!

 > (コメント欄より)
 > The drum is the main memory of the computer. It is the device you hear starting to spin up at 1:20. The drum not only is the main memory, but also stores the computer's registers. It is erased and re-initialized during startup- there is a special sequence for startup which most former operators will remember quite fondly.

※remember fondly:懐かしい思い出だ。

 磁気ドラムが主記憶装置とレジスタを兼ねている、スタートアップ時にはぜんぶ消されて再初期化される、(本機の)元オペレーターなら誰でも懐かしく思い出すはずだ! …ということのようですね。映像の1:20から回り始めるのが磁気ドラムだということです。ワー!

 > I used one of these machines around 1961-62. The listing shown at the end of this video is in a programming language called Act III. The LGP-30 had the most complicated bootstrap procedure from a cold start that I have ever encountered. I'd love to see a video of that process.

※most complicated:非常に複雑で難解な。have ever encountered:いつもコイツと格闘したもんだ。

 おおー! これは貴重な「ユーザーの声!」ですね!! いまでいう「BIOS」にあたる部分まで、ユーザーが自分の「プログラム」の冒頭で毎回、書いていたんだと早合点すれば、それなりにイメージがつかめましょう。…だからこそ「BIOS」が考案されたんですね、わかります!

・「±RW」
 http://faq.buffalo.jp/app/answers/detail/a_id/15828

・Wikipedia「LGP-30」
 https://en.wikipedia.org/wiki/LGP-30

 > Librascope General Purpose
 > an early off-the-shelf computer
 > The LGP-30 was first manufactured in 1956 with a retail price of $47,000―equivalent to about $409,000 today.
 > The LGP-30 was commonly referred to as a desk computer.

 「汎用Librascope」ですね。計算してもいいし、情報処理してもいいんです、の意。1956年に生産が開始され、当時4.7万ドル(現在の40.9万ドル)で売られたということです。「1日20ドル!」の日本人(後述の井深さん)「2350日(約6.4年)分!」となってしまい、とても買えません買えません(=当時の日本で)、と早合点されました。本当でしょうか。

※Google先生! きょう(2016年2月某日)のレートでは…ヨッ、ヨンセンロッピャクキュウジュウマンエン…? 「基盤研究(A)」では無理で(電源と空調を含む搬入・設置の費用や『内装工事費』が出せなくなりますっ!!)、「基盤研究(S)」ですね、わかります! それでも、(あくまでいまでいえば)『科研費で買えるくらいのお値段』には収まっています。そうやってみると、いまも昔も、物価と研究費はちゃんと対応しているんだなぁ、と思われそうです。(当時、LGP-30を買った日本の大学があるのかどうかまではわかりませんが、同等品は同じくらいのお値段だっただろうと推定します、の意。)

 初期の卓上型コンピューターとして知られ、「デスクコンピューター」の代名詞になっている、ということです。(あくまで抄訳です。)といっても、重さは340kgとのこと。卓上(ラックマウントでない、の意)とはいえ「据え置き型」といいますか、「1家に1台、アップライトピアノ!」くらいのソレですね。

 > The primary design consultant for the Librascope computer was Stan Frankel, a Manhattan Project veteran and one of the first programmers of ENIAC. He designed a usable computer with a minimal amount of hardware. The single address instruction set had only 16 commands. Not only was the main memory on magnetic drum, but so were the CPU registers, timing information and the master bit clock, each on a dedicated track. The number of vacuum tubes were kept to a minimum by using solid-state diode logic, a bit-serial architecture and multiple usage of each of the 15 flip-flops.

※veteran:ベテラン、老兵。dedicated:専用の。vacuum tubes:真空管。

 『「マンハッタン計画」出身でENIACに関わった初期のプログラマーの一人であるStan Frankel!』とでも訳しましょうか。その人を『監修者』として迎えて開発された、彼が目指したのは最小限のハードウェアで十分に有用なコンピューターをつくること、コマンドはわずか16、(略)、磁気ドラム上の専用のトラックがタイミングとクロックを供給した、などと訳せるかもしれません。本当でしょうか。そして、…「磁気ドラムって、そういうことだったのん!会議」がぱんぱかぱぁーんと「開花!」いたしてまいります。みなさま、どうぞ!!([3124])…ただいま、「金田1号2号」…いえ、「第2こだま」が、発車いたしました…たぶん。

・「こだま」
 https://ja.wikipedia.org/wiki/%E3%81%93%E3%81%A0%E3%81%BE_%28%E5%88%97%E8%BB%8A%29

 磁気ドラムを指して「記憶装置」だの「遅延線の代わり」だのといって、その実、もっと装置全体を司る「クロック源」(クロック供給源)をも兼ねていたんですね、とわかります。その発想はどこから来るのかといえば、やはり蓄音機やミシン(あるいは布を織る織機)などなんでしょうか…それは「機械」(分野)ですね、わかります! 「電源同期式」について[3121]も参照。新幹線のATCも、マルス1も、通りいっぺんの「ニッポン、がんばった! 打った! 走った!」でなく、もっと地道かつ「丹ねん」に読み解いていこうと、いまココロザシのようなものをあらたにしてみようと思いました。

 ここで、「答えあわせ」となる「日立評論」を既に読んでしまった『5分後の自分!』がチョイチョイと、「ヒントが書かれた紙!」([3101])をわざとらしく目の前に落としていきます。えー、なになに?

・磁気ドラムをクロック源にまでしてしまうのは、スタンドアロンで使われる「LGP-30」ならではの方法とみられる(『ミニマム』にこだわるのは、もはや『こだわり』の域であるとかなんとか)

・「オンライン」かつ「リアルタイム」な装置であるMARS-1(マルス1)では、さすがに磁気ドラム由来のクロックでは精度が不十分とみられ、「水晶発振子」を使った「100kc」(100キロサイクル=100kHz)のクロックを用いたとのこと。

※学習の上で、どのタイミングで『正解』を見ればいいのか、というのは難しいですね。


●1000×200の方眼紙を筒状にして持てェ!


[3179]
 > おおー! このくらい情報が示されていれば「自由研究」として模擬して「追体験」など、できるかもしれない、と思われてきそうです。ただ、そこを通り越して、きわめて俗には「自分でもつくれる!」「子どもでもつくれる!」などと、そういう印象を「あん易」に抱いてしまいますと、MARS-1(マルス1)を指して「手作り」(ウィキペディア)と評されることとなるのでしょう。…本当でしょうか。

 このあたりを詳しく見ていきましょう。(あわよくば「自由研究」にできるかもしれませんよ、の意。「子どもでもつくれる!」といって見下すためではないのですよ、お間違えなきよう。)

・(再掲)「【日立・国鉄】MARS-1」情報処理学会  http://museum.ipsj.or.jp/computer/dawn/0030.html

 > 座席用ファイルに40万ビットの磁気ドラム記憶装置
 > 座席パターンの高速な検索と更新のために,1列車の各座席が空いているかどうかを示す900ビットのレジスタ2個が使用
 > 回転数3000rpm,全トラック数200で,うち10トラック分が循環レジスタ
 > 「つばめ」,「はと」の3,600座席,15日分を対象

・(再掲)交通協力会 電子図書館「国鉄線」No.130(1960年3月)  http://library.transport.or.jp/e-library/%E5%9B%BD%E9%89%84%E7%B7%9A/pdf/1960-03_%E5%9B%BD%E9%89%84%E7%B7%9A%28s35%29.pdf

 > 一五日間
 > 三区間
 > 四個列車
 > 三六〇〇座席(一列車九〇〇座席以内)

・1ビット:本当に「1ビット」で、「1日1列車1座席1区間」の「予約の有無」(2値)を記録していたことがわかります。

 上掲の資料の記述から、15×3×4×900=162000と電卓がたたかれ(電卓などという、きわめて便利でおトクな超小型卓上電子計算機のうすしお…いえ、ホコリをはらいつつ、の意)ます。磁気ドラムが2台で40万ビットだとしますと、1台では20万ビット(200トラック)、そのうち19万ビット(190トラック)が「座席パターン」のために使われるとしまして、おお、15×3×4=180で、10トラックほど余らせつつ、1列車1トラック…といいますか、「磁気ヘッド1つ」から出てくる「パルス列」が、そのままCRT表示(ただしA型に限る)の『映像信号!』になりそうですねぇ、などと生々しく想像されてきそうです。残りの10トラックの用途が気になりますが、▼発車済みや運休列車の予約打ち切り、▼磁気ドラムでなくレジスタ(いまでいうキャッシュの役割)を使わせる列車の指定、▼払い戻し(取消し)、などで使ったのかなぁ、と想像されました。(あくまで想像です。)

※「アナログLEDテレビ!」については[3175]を参照。

・(再掲)「【日立・国鉄】MARS-1」情報処理学会  http://museum.ipsj.or.jp/computer/dawn/0030.html

 > ファイル更新にはレコードのサムチェックが行われた.

 1トラックは1000ビットと電卓されます。おおー! 1文字が8ビットで1バイト! などという「高度な知見!」(標準的な文字コード)が(通信でなく記憶装置において)導入される前の時代ですから、「1KiB=1024バイト」などというソレにする必要はなかったんだとわかります。1列車900座席の1座席ごとに1ビットを使いつつ、100ビット、余ります。列車番号などを照合するヘッダーと、後ろ側にはチェックサム(※情報処理学会の資料によります)、そういう前後の部分に挟まれて記録されていそうですね。(あくまで推定です。)

 …え? 「答えあわせ」となる「日立評論」を既に読んでしまった『45分後の自分』がチョイチョイと、「ヒントが書かれた紙!」を…(略)。なになに?

・記憶装置としては1トラックは2000ビットあり、それを1000ビットずつに分けて1列車の記憶に使うという記述があり、(いまふうにいえば)記憶装置のレイヤーでも冗長性を持たせていたらしい?(RAID1のようなもの?):記憶装置の実際に使える容量という意味で「40万ビット」を一種「公称」していたとみられる(そこまで明記はされていないので『要出典』!)

※RAIDを使うことと、OSがファイルシステムにあってCRCなどすること、さらに、HDD自体がECCしていることなど、現在のシステムでも何重にもそういうことは重ねられています。さすがにATCの電文は「むきだしっ!」([3175])と感じますが、MARS-1は(地上で据え付けて使うんですから当然ですが)きちんと手厚いなぁ、と感じられそうです。

 また、情報処理学会の資料では「レコード」と呼ばれていますが、これはいまでいうレコード(固定長レコードからなるファイルへのランダムアクセスでいうレコード=データベースや「表計算」でいう「行」)ということなのか、当時としても「レコード」と呼ばれたのかどうか、気になります。理解のためには、まさに「レコード」と呼んで、その固定長が1000ビットで、その中にチェックサムも含むと見ればよさそうで、しかし、「電気」としてのソレを見ようというときには、なぜチェックサムはレコードの末尾になければならないかといって、その実、ハードウェアの回路によって、そういう順で「情報処理」され、そのまま記録されるんだ(読込にあっては、レコードを読み込みながらチェックサムを求めていき、レコードのチェックサムを読み込むときには、手元にも計算済みのチェックサムがあり、そこを照合してOKとなれば、読み込んだレコードを出力していいんだと、この順序で記録しないと実現できないんだ)とわかります。

 いわば、横1000、縦200の「大きなExcel!(方眼紙!)」を筒状にして回転させながら、「120行目を見たいんですけど」といって、120行目のところだけ読み取れる「窓のついた定規」のようなものをあてて読み取るような感覚ですね。マス目が「O」なら空席、「φ」なら予約済みだということです。

・(再掲)交通協力会 電子図書館「国鉄線」No.130(1960年3月)
 http://library.transport.or.jp/e-library/%E5%9B%BD%E9%89%84%E7%B7%9A/pdf/1960-03_%E5%9B%BD%E9%89%84%E7%B7%9A%28s35%29.pdf

 > 座席状況を印刷した通知書は、各座席が区間によつて予約されているか空席になつているかを「O」「φ」の記号で表示したもので、これをセンタ