Selective Sequence Electronic Calculator

SSEC（Selective Sequence Electronic Calculator）は、IBMが開発した電気機械式計算機である。設計は1944年末から始まり、1948年1月から1952年まで運用された。プログラム内蔵方式の多くの特徴を備え、世界で初めて命令をデータとして扱えるコンピュータといえるが、完全な電子式ではない。SSECはいくつかの用途で役立ったが、すぐに時代遅れとなった。史上最大で最後の電気機械式コンピュータであり、その最大の功績はIBMの名を世間に広めたことである。 SSECは Harvard Mark I で虚仮にされたIBMが威信をかけて開発した計算機であり、大規模なものとしては最後の電気機械式計算機である。プログラム内蔵式コンピュータだが、完全に電子化されてはいない。開発責任者はウォーレス・ジョン・エッカート。完成後、ニューヨークのIBM本社ビルの一階ショールームに設置され、道行く人々からその動作する様子が見えるようになっていた。公式なデモンストレーションが行われたのは1948年1月27日である。1952年8月まで動作し、ショールームには新たにIBM 701が設置され、SSECは破棄されたという。 第二次世界大戦中、IBMはハーバード大学のハワード・エイケンの Automatic Sequence Controlled Calculator (ASCC) 構築を支援していた。このマシンは1944年8月に正式に納入され、一般には Harvard Mark I の名で知られている。IBM社長トーマス・J・ワトソンは、エイケンが報道機関への発表でIBMの貢献について全く言及しなかったことに怒った。ワトソンとエイケンはその後袂を分かち、IBMは独自により大型で目立つ機械を作るプロジェクトを開始した。コロンビア大学の天文学者のウォーレス・ジョン・エッカートが新たな機械の仕様を提供した。プロジェクト予算は約100万ドルで、当時としては莫大である。ASCCと同様、フランシス・ハミルトン (1898–1972) が構築を指揮した。ハーバード大学からロバート・R・シーバー・ジュニアが雇われ、新たなマシンのチーフアーキテクトとなった。1945年12月に基本設計が完成すると、エンディコットのIBMの工場でジョン・マクファーソンの指揮でモジュールの製造が始まった。 1946年2月、完全電子式のENIACの報道でプロジェクトは活気付いた。IBM Selective Sequence Electronic Calculator (SSEC) と名付けられた新たな機械は、1947年8月には組み立てられるところまで到達した。ワトソンや他の多くの人々はこのような機械を "calculators" と呼んでいた。というのも "computer" は計算を行う従業員（計算手）のことを指す言葉だったからである。 SSECはニューヨークのマディソン街590番地にあるIBM本社近くのビルの1階の一室で、三方の壁にそって組み立てられ始めた。もう一方はガラス張りで通りに面しており、道行く人々が中を見られるようになっていた。騒々しいSSECは、それを見た歩行者から Poppa などと呼ばれた。デモンストレーションが一般公開されたのは1948年1月27日のことである。1950年以降、電子工学責任者としてA・ウェイン・ブルックがこのマシンの運用を担当するようになった。ハーブ・グロッシュ（英語版）が最初のプログラマの1人となった。他にもエドガー・F・コッドがプログラマを担当した。エリザベス・スチュアートは主任オペレータを務め、広告写真などによく登場した。 SSECは真空管と電気機械式リレーを共に使用している。約12,500本の真空管は演算装置と8本の高速レジスタに使われた。レジスタのアクセス時間は 1ミリ秒以下である。また、21,400個のリレーは制御装置と150本の低速レジスタ（アクセス時間は20ミリ秒）に使われた。リレー技術はASCCと似たようなもので、クレア・D・レイク (1888–1958) が発明したテクノロジーに基づいている。SSECの演算装置は電子乗算機 IBM 603（英語版） を改造したもので、ジェームズ・W・ブライス（英語版）が設計した。大型の真空管は軍のレーダー用の余剰品で、1つの壁面を埋め尽くした。メモリは符号付きの十進19桁の数値を格納するよう構成されている。乗算は乗数と被乗数それぞれ14桁で計算される。400,000桁といわれる記憶容量のほとんどは、さん孔紙テープのリールの形で提供されている。 加算には285マイクロ秒、乗算には20ミリ秒かかり、これは Harvard Mark I よりずっと高速であった。素早く検索する必要のあるデータは電子回路内に保持されるが、それら以外はリレーや3本のさん孔テープに格納され、それらがもう一方の壁を埋め尽くしている。重い紙テープのリールを持ち上げるのに巻き上げ機を必要とした。命令やデータは30台の紙テープ読み取り装置から読み込まれ、3台のパンチ装置に接続し、それとは別に表参照のための36台の紙テープ読み取り装置がある。データ読み取り用のパンチカード読み取り装置があり、出力もパンチカードまたは高速プリンターで行える。19桁のワードは二進化十進表現で76ビットとなって格納され、さらに符号とパリティを示す2ビットが追加されている。これを1行で格納する紙テープはIBMの一般的なパンチカードと同じ幅の連続紙であり、両端の穴はスプロケットとして使われた。 従来からのテクノロジーを使っているためSSECの計算は当時としては正確で高精度だったが、初期のプログラマの1人であるジョン・バッカスは「プログラムを実行中はその場を離れられない。なぜなら3分に1回止まってしまうからで、プログラムした本人でないと実行を再開できないからだ」と述べている。ENIACの設計者の1人ジョン・プレスパー・エッカートはSSECを「向こうにあるなんだか大きな怪物。とても正しく動くとは思えない」と評した。 シーバーは注意深く命令をデータとして扱えるよう設計した。そのため、プログラム制御下でプログラム自体を書き換えることができる。IBMがSSECについて1949年1月19日に出願した特許は、後にプログラム内蔵方式の能力を示す証拠となった。各命令は任意のソース（電子式レジスタ、機械式レジスタ、テープ読取装置）から入力をとることができ、結果を任意の場所（電子式レジスタ、機械式レジスタ、テープさん孔装置、カードパンチ、プリンター）に出力でき、次の命令のアドレスを指定でき、命令自体も任意のソースからとってくることができる。したがって理論的にはどんなことも可能である。ただし、命令は通常紙テープに格納されており、平均実行速度は約50命令毎秒である。紙テープは逐次的記憶装置であるため、SSECのプログラミングは第二次世界大戦中の計算機によく似ていた。例えば、ループは実際に紙テープの両端をくっつけて物理的にループを形成して実現していた。新たなプログラムを実行する際には、紙テープとカードデッキを読取装置に物理的にセットし、出力フォーマットを変更するためにプリンターのプラグボードの配線を変更した。以上から、SSECは最初のプログラム内蔵方式コンピュータとは見なされず、一般に最後のプログラム可能計算機に分類されることになった。 SSECはまず、月と惑星の位置の計算、すなわち天体暦の計算に使われた。月のある時点の位置の計算には、11,000回の加算と9,000回の乗算、2,000回の表参照を必要とし、SSECでは7分かかった。この計算のために約6カ月かかり、その後もSSECの利用予定はぎっしりつまっていた。 なお、SSECが作成した月の位置の表が、1969年のアポロ計画のフライトプラン策定の際にコースを決めるのに使われたと言われている。しかし当時の記録によれば、無関係ではないものの、直接使われたわけではないことを示唆している。NASAのジェット推進研究所で働いていたマルホランドとデヴァインの報告 (1968) によれば、JPLの天体暦システムは「アメリカでの宇宙計画における事実上あらゆる宇宙機の軌道計算に使われ」、月の天体暦には 'The Improved Lunar Ephemeris' と呼ばれる情報源のデータも採用されている。これはSSECで1951年から1971年までの月の天体暦を計算した結果をまとめたものであり、さらに修正版 (1966) も出ていて、1968年には補遺も出ている。つまり、アポロ計画ではSSECの計算結果をそのまま使ったのではなく、それを修正し訂正したデータを使ったと見られる。 最初に使用料を支払ってSSECを使った顧客はゼネラル・エレクトリックである。またアメリカ原子力委員会がNEPAプロジェクトでの計算に使用した。ロスアラモス国立研究所のロバート・D・リヒトマイヤー（英語版）はSSECを使って世界初の大規模なモンテカルロ法の計算を行った。ルウェリン・トーマス（英語版）は層流の安定性問題を解いた。そのプログラムはドナルド・A・クォールズ・ジュニアとフィリス・K・ブラウンが書いている。1949年、カスバート・ハード（英語版）が雇われ、応用科学部門を創設。SSECの運用はその部門が担当することになった。 SSECの部屋は床が二重になっていて、いわゆるOAフロアの初期の採用例である。そのため、床上をケーブルが這っているということがなかった。ライトの点滅や無数のリレーの騒々しい音で、IBMの名を世間に広めることになった。SSECはジョン・エドガー・フーヴァーの著書を原作とした映画 Walk East on Beacon (1952) に登場している。SSECは概ね好意的に報道された。SSECは新たな顧客や従業員を惹き付ける役割を果たした。ハードとバッカスもSSECのデモンストレーションを見てからIBMに入社している。 1946年のENIACはSSEC以上に真空管を使っており、高性能である。しかし元々は柔軟性が低く、新たな問題を解くには配線を変更する必要があった。1948年末には、SSECの大きな真空管を時代遅れにした新たな真空管技術を採用した乗算機 IBM 604（英語版） を発表している。1949年5月には Card-Programmed Electronic Calculator（英語版） を発表し、9月に出荷を開始した。これはSSECの技術をスケールダウンしたもので、同様の計算が可能な機械である。1948年末の時点でも、SSECの電子記憶装置の容量不足が問題となっていた。間もなくIBMはマンチェスター大学の Manchester Small-Scale Experimental Machine で開発されたウィリアムス管のライセンスを取得している。その後のコンピュータは、プロセッサのレジスタ群から命令を取り出して実行するのではなく、電子的なRAMを持つようになっていく。また、77ビットという長いワードも使われなくなり、もっと短いワードをより高速に処理する方向にむかった。 1951年、ウィリアムス管を採用した Ferranti Mark I がイギリスで発売され、アメリカでは水銀遅延線メモリを使った UNIVAC I がそれに続いた。これらのメモリ技術がプログラム内蔵方式をより実用的なものにしていった。プログラム内蔵方式の概念は1945年の『EDVACに関する報告第一草稿』で広く認知され、フォン・ノイマン・アーキテクチャと呼ばれるようになった。EDVACはENIACの後継であり（1949年稼働）、UNIVACを開発したチームが設計した。 SSECは完全電子式コンピュータの登場で時代遅れとなり、1952年8月に退役となった。SSECが撤去された部屋には、1953年4月7日のデビューに向けて IBM 701 が設置された。1953年7月、より低価格の IBM 650 が発表された。650の開発はSSECの開発に関わったエンディコットのチームが行った。 [脚注の使い方] ^ SSECの開発責任者のウォーレス・ジョン・エッカートと同じ姓だが、血縁関係にはない。 ^ C. J. Bashe, W. Buchholz, G. V. Hawkins, J. J. lngram, N. Rochester (September 1981). “The Architecture of IBM’s Early Computers”. IBM Journal of System Development 25 (5): 363–376. doi:10.1.1.93.8952. "The SSEC was the first operating computer capable of treating its own stored instructions exactly like data, modifying them, and acting on the result."  ^ “IBM's ASCC introduction”. IBM Archives. 2011年4月23日閲覧。 ^ Interviewed by Grady Booch (September 5, 2006). “Oral History of John Backus”. Reference number: X3715.2007. Computer History Museum. 2011年4月23日閲覧。 ^ Kevin Maney (2004). The Maverick and His Machine: Thomas Watson, Sr. and the Making of IBM. John Wiley and Sons. pp. 347–355. ISBN 978-047167925-7. https://books.google.co.jp/books?id=uljGzJu2tuAC&pg=PA347&redir_esc=y&hl=ja  ^ “ASCC People and progeny: Frank E. Hamilton”. IBM Archives. 2011年4月23日閲覧。 ^ a b c d e Emerson W. Pugh (1995). Building IBM: Shaping an Industry and Its Technology. MIT Press. pp. 124–190. ISBN 9780262161473  ^ Frank da Cruz (February 17, 2005). “The IBM Selective Sequence Electronic Calculator”. Columbia University Computing History. 2011年4月23日閲覧。 ^ Richard R. Mertz (August 24, 1970). “Herb Grosch Interview”. Computer Oral History Collection. Smithsonian National Museum of American History Archives Center. 2011年4月30日閲覧。 ^ Herman Heine Goldstine (1980). The computer from Pascal to von Neumann. Princeton University Press. p. 327. ISBN 978-069102367-0  ^ a b “Guide to the A. Wayne Brooke Papers, 1948 - 1986”. North Carolina State University library. 2011年4月23日閲覧。 ^ a b Herbert R.J. Grosch (1991). Computer: Bit Slices From a Life. Third Millennium Books. ISBN 0-88733-085-1. http://www.columbia.edu/acis/history/computer.html  ^ “ASCC People and progeny: Clair D. Lake”. IBM Archives. 2011年4月25日閲覧。 ^ “ASCC People and progeny: James W. Bryce”. IBM archives. http://www-03.ibm.com/ibm/history/exhibits/markI/markI_team2.html 2011年4月23日閲覧。  ^ a b c d W. J. Eckert (November 1948). “Electrons and Computation”. The Scientific Monthly. https://books.google.co.jp/books?id=Dwj4RmcZ1AoC&pg=PA223&redir_esc=y&hl=ja  ^ “Pathfinder”. Think: pp. 18–24. (July 1979). http://www-03.ibm.com/ibm/history/exhibits/builders/builders_backus2.html 2011年4月22日閲覧。  ^ “Nancy B. Stern interview with J. Presper Eckert”. Oral History. Charles Babbage Institute, University of Minnesota (October 28, 1977). 2011年4月22日閲覧。 ^ F.E. Hamilton, R.R. Seeber, R.A. Rowley, and E.S. Hughes (January 19, 1949). “Selective Sequence Electronic Calculator”. US Patent 2,636,672. 2011年4月28日閲覧。 1953年4月28日発効 ^ Allan Olley (September 20–23, 2010). “Existence Precedes Essence—Meaning of the Stored-Program Concept”. History of Computing:Learning from the Past: 169–178. ISBN 9783642151989. https://books.google.co.jp/books?id=EzuAjubj90AC&pg=PA169&redir_esc=y&hl=ja.  (Proceedings of IFIP WG 9. 7 International Conference Held as Part of WCC 2010, Brisbane, Australia) ^ Alexander Feinberg (September 12, 1949). “Mechanical Giant Calculator in a Few Days Charts Sky a Century Ahead for Navigators; Also for Atomic Physics; Tool of Several Sciences Has Used 10,000,000 Operations in Fixing Positions of Stars”. The New York Times: pp. 23. http://select.nytimes.com/gst/abstract.html?res=FB0813FE3F5F177B93C0A81782D85F4D8485F9  ^ Jean Ford Brennan (1971). “The Selective Sequence Electronic Calculator”. The IBM Watson Laboratory at Columbia University: A History. International Business Machines Corporation. pp. 21–26. http://columbiauniversity.org/acis/history/brennan/  (See comments and corrections) ^ a b Robert Seidel (November 18, 1994). “An Interview with Cuthbert C. Hurd”. Charles Babbage Institute, University of Minnesota. 2011年4月25日閲覧。 ^ J D Mulholland & C J Devine, Science (1968) 160, 874-5 ^ Eckert, W J, et al., Improved Lunar Ephemeris, (US Government Printing Office, 1954). ^ Eckert, W J, et al., 1966, Transformations of the Lunar Coordinates and Orbital Parameters, Astron J 71, 314. ^ Supplement to the Astronomical Ephemeris 1968 (US Government Printing Office, 1966) ^ Nicholas Metropolis (1987). “The beginning of the Monte Carlo method”. Los Alamos Science (1987): 129. http://library.lanl.gov/la-pubs/00326866.pdf.  Special Issue dedicated to Stanisław Ulam ^ L. H. Thomas (August 1953). “The Stability of Plane Poiseuille Flow”. Physical Review 91 (4): 780–783. doi:10.1103/PhysRev.91.780.  ^ John Brooks and Brendan Gill (March 4, 1950). “Never Stumped”. The New Yorker: pp. 20–21. http://www.newyorker.com/archive/1950/03/04/1950_03_04_020_TNY_CARDS_000222904  ^ William Laurence (January 28, 1948). “Mechanical 'Brain' is Given to Science: Giant Electronic Calculator Built by IBM, Can Do in Days What Once Took a Lifetime”. The New York Times: pp. 25. http://select.nytimes.com/gst/abstract.html?res=F70E16FD395B177A93CAAB178AD85F4C8485F9  ^ “A notable first: The IBM 701”. IBM archives. 2011年4月29日閲覧。 ^ “650 Chronology”. IBM archives. 2011年4月29日閲覧。 Charles J. Bashe (October 1982). “The SSEC in Historical Perspective”. IEEE Annals of the History of Computing 4 (4): 296–312. doi:10.1109/MAHC.1982.10037.  John C. McPherson; Frank E. Hamilton; Robert R. Seeber , Jr. (October 1982). “A Large-Scale, General-Purpose Electronic Digital Calculator: The SSEC”. IEEE Annals of the History of Computing 4 (4): 313–326. doi:10.1109/MAHC.1982.10041.  Originally written in 1948 Ernest S. Hughes (January 1986). “The SSEC and Its Carry-Over Effects on the IBM Type 650”. IEEE Annals of the History of Computing 8 (1): 12–13. doi:10.1109/MAHC.1986.10002.  Byron E. Phelps (July 1980). “Early Electronic Computing Developments at IBM”. IEEE Annals of the History of Computing 2 (3): 253–267. doi:10.1109/MAHC.1980.10035.  Cuthbert C. Hurd (November 1980). “Computer Developments at IBM”. In Nicholas Metropolis, Jack Howlett, Gian-Carlo Rota. A history of computing in the twentieth century: a collection of essays. Academic Press. ISBN 9780124916500. https://books.google.co.jp/books?id=_H9QAAAAMAAJ&redir_esc=y&hl=ja  Moreau, René (1984年). The Computer Comes of Age: The People, the Hardware, and the Software. MIT Press. ISBN 0-262-13194-3  自己書き換えコード 計算機の歴史 EDSAC Harvard Mark I IBM SSEC 制御卓の 写真 “Selective Sequence Electronic Calculator (SSEC)”. IBM Archives. 2011年4月22日閲覧。 写真 IBM Archives: FAQ's for Products and Services Cruz, Frank da (2005年2月17日). “The IBM Selective Sequence Electronic Calculator”. Columbia University Computing History. 2006年10月閲覧。 “SSEC Tape”. Columbia University. 2011年4月25日閲覧。 写真 “Computer Pioneers—Pioneer Computers Part 1: 1935–1945”. The Computer Museum, Boston (1996年). 2011年4月26日閲覧。 ゴードン・ベルによる動画（SSECは42分ごろに登場）