(Translated by https://www.hiragana.jp/)
EDSAC - Wikipedia

EDSAC

イギリスで1949ねん開発かいはつされたコンピュータ

EDSAC(エドサック、Electronic Delay Storage Automatic Calculator[※ 1])は、初期しょきイギリスコンピュータのひとつ[1]。このマシンはジョン・フォン・ノイマンがまとめたEDVACについてのレポート(EDVACにかんする報告ほうこくしょだいいち草稿そうこう)に刺激しげきされ、モーリス・ウィルクスケンブリッジ大学けんぶりっじだいがく数学すうがく研究所けんきゅうじょ英語えいごばんのチームが開発かいはつした。EDSACは、世界せかいはつ実用じつようてきプログラム内蔵ないぞう方式ほうしき電子でんし計算けいさんであるが、プログラム内蔵ないぞう方式ほうしき世界せかいはつ稼働かどうしたマシンではない[※ 2]

Electronic delay storage automatic calculator (EDSAC)
EDSAC I in June 1948
開発元かいはつもと モーリス・ウィルクスケンブリッジ大学けんぶりっじだいがく数学すうがく研究所けんきゅうじょのチーム
製造元せいぞうもと ケンブリッジ大学けんぶりっじだいがく
世代せだい 1
発売はつばい 1949ねん5がつ6にち (75ねんまえ) (1949-05-06)
販売はんばい期間きかん 1949–1958
販売はんばい終了しゅうりょう yes
出荷しゅっか台数だいすう 1
OS なし
CPU :en:Derated thermionic valves
メモリ 512 17-bit words, upgraded in 1952 to 1024 17-bit words. (temperature stabilized mercury delay lines)
ディスプレイ テレプリンタ
入力にゅうりょく機器きき 5あなテープ
電源でんげん 11 キロワット
後方こうほう互換ごかん なし
次世代じせだいハード en:EDSAC 2LEO I
関連かんれん商品しょうひん EDVAC
EDSAC

プロジェクトは J. Lyons & Co. Ltd. が資金しきん援助えんじょし、同社どうしゃはEDSACのデザインにもとづいたはつ商用しょうようコンピュータ LEO I開発かいはつした。1949ねん5月6にち、EDSACじょう最初さいしょ動作どうさしたプログラムは、0から99までの整数せいすうじょうひょうつくるプログラムと[2]素数そすうのリストをつくるプログラムであった。

技術ぎじゅつ概要がいよう

編集へんしゅう

ハードウェア構成こうせい

編集へんしゅう

EDSACが開発かいはつされると即座そくざ大学だいがく研究けんきゅうよう使つかわれはじめた。3000ほん真空しんくうかん使用しようし、消費しょうひ電力でんりょくは12kW。しゅ記憶きおく装置そうちには水銀すいぎん遅延ちえんかん使用しようしている。入力にゅうりょくには5あなかみテープ使用しようし、出力しゅつりょくにはテレタイプ端末たんまつ使用しようしている。

当初とうしょレジスタとしてはアキュムレータ乗算じょうざん器用きようレジスタしかなかった。1953ねんデビッド・ホイーラーイリノイ大学だいがくからもどると、インデックスレジスタ設計せっけいしてEDSACのハードウェアを拡張かくちょうしている。

記憶きおく装置そうち命令めいれい

編集へんしゅう

しゅ記憶きおく容量ようりょうは1024ワード(1ワード(ショートワード)は17ビット)だが、実際じっさいにメモリが実装じっそうされたのは512ワードまでだった。ロングワードは35ビットで、偶数ぐうすうアドレスと奇数きすうアドレスのショートワードを、なかに「サンドイッチビット」とばれるビット(記憶きおく装置そうち都合つごうによるスタートビットけんストップビットのようなものがそのままはいる)をはさんで連続れんぞくして使用しようする。数値すうち2の補数ほすう表現ひょうげん進数しんすうである。

18命令めいれいそなえていた。17ビットのショートワード先頭せんとう5ビットが命令めいれいコードだが、かみテープの文字もじコードをそのまま使つかい、ニーモニックの文字もじコードを命令めいれいコードとしていた。たとえば "Add" 命令めいれい命令めいれいコードは "A" の文字もじコードだった。そのに1ビットの使用しようビットをはさみ、10ビットのメモリアドレスがあり、最後さいごの1ビットはオペランドがショートワードなのかロングワードなのかを指定していする。

乗算じょうざん数値すうち固定こてい小数点しょうすうてんすうとしてあつかい、その範囲はんいは -1 ≤ x < 1 となるよう設計せっけいされている。すなわち、小数点しょうすうてん符号ふごうのすぐにある。アキュムレータは71ビットはばで、35ビットのロングワード同士どうし乗算じょうざんおこなっても切捨きりすてがきないよう設計せっけいされている。

命令めいれいとしては、加算かさん減算げんざん乗算じょうざん照合しょうごう[※ 3]ひだりシフト、みぎシフト、乗算じょうざん器用きようレジスタへのロード、アキュムレータの内容ないようのストア(オプションでアキュムレータをクリア)、条件じょうけんづけスキップ、入力にゅうりょくテープみ、文字もじ印字いんじ、アキュムレータをまるめる、NOP、ストップなどがある。除算じょざん命令めいれいはなく(サブルーチンで実装じっそう)、アキュムレータに直接ちょくせつメモリからロードする命令めいれいもない(アキュムレータをストア命令めいれいでゼロクリアしてから[※ 4]加算かさん命令めいれいで「ゼロに該当がいとう加算かさん」することで、ロードと同様どうよう結果けっかになる)。

システムソフトウェア

編集へんしゅう

イニシャルオーダ (initial orders) はスイッチぐん実装じっそうされていて、起動きどうにメモリの先頭せんとうワードぐんにロードされる。1949ねん5がつには、上述じょうじゅつしたニーモニック設計せっけいかした初歩しょほてきアセンブラ機能きのうがわずか31ワードのイニシャルオーダに搭載とうさいされている[3]。これが世界せかいはつのアセンブラであり、ソフトウェア産業さんぎょう出発しゅっぱつてんともえる。

EDSACはどう大学だいがく様々さまざま実際じっさい問題もんだいくのに使つかわれ、今日きょうオペレーティングシステムふくまれるような様々さまざま技法ぎほう考案こうあんされた。ユーザーはプログラムをアセンブリ言語げんごくと、かみテープをさんこうして入力にゅうりょく準備じゅんびをする。ユーザーはかみテープをてコードをれるようになった。準備じゅんびができると、かみテープを読取よみと装置そうちちかくにあるひもける。オペレータはそのひもけられたかみテープぐんから1つをえらび、EDSACにませる。これがいわゆるジョブキューの役割やくわりたした。プログラムの実行じっこうによってプリントアウトされたものとかみテープはユーザーにかえされる。なに出力しゅつりょくされない場合ばあい停止ていししたメモリ位置いちをユーザーにらせる。デバッガはまだなかったが、ブラウン管ぶらうんかん使つかって指定していしたメモリ位置いち内容ないよう表示ひょうじすることができた。これはたとえば数値すうち収束しゅうそくしているかどうかをるのに使つかわれた。通常つうじょう業務ぎょうむ時間じかん終了しゅうりょうすると、許可きょかたユーザーがみずからマシンを操作そうさでき、真空しんくうかん故障こしょうしないかぎよるおそくまで使つかっていたが、あるユーザーによれば真空しんくうかん故障こしょうはよくきたという[4]

プログラミング技法ぎほう

編集へんしゅう

初期しょきのプログラマは今日きょうでは推奨すいしょうされない技法ぎほうとくコード使つか必要ひつようがあった。当初とうしょインデックスレジスタがなかったため、配列はいれつにアクセスするには命令めいれいないのアドレス部分ぶぶん実行じっこうえてやる必要ひつようがあった。

デビッド・ホイーラーはこのプロジェクトで世界せかいはつ計算けいさん科学かがくのPhDを取得しゅとくしたが、サブルーチン概念がいねん発明はつめいしゃとされている。ルーチンにジャンプする命令めいれいのあるアドレスに1をくわえたアドレスをレジスタに格納かくのうした状態じょうたいでルーチンにジャンプする(これを Wheeler jump とぶ)。サブルーチンがわはそのわたされたアドレスでさい後尾こうびのジャンプ命令めいれいのアドレスえる。このえをサブルーチンの先頭せんとうおこなえば、さらにべつのサブルーチンコールをぶ、実現じつげんすることもできる(再帰さいきはできない、ということに注意ちゅうい)。

ただし当時とうじリロケータブルバイナリなどといったものがあるわけでは当然とうぜんなく、プログラマがジャンプさき位置いち計算けいさんする必要ひつようがあり、かくルーチンのながさをあらかじ正確せいかくっている必要ひつようがあった。サブルーチンはあらかじめマスターテープとしてつくられており、それをテープじょうでプログラム本体ほんたいうしろにつづけてコピーするというならば「人力じんりきリンク」のような作業さぎょうおこなわれていた(そのため、サブルーチンの先頭せんとう位置いちはプログラムによってことなるが、コーディングのさいには事前じぜんのアドレス計算けいさんによりもとめておく必要ひつようがあった)。[※ 5]

また重要じゅうようなこととして、以上いじょうのような技法ぎほうはじめとした、ほん利用りようによってられた経験けいけんと、具体ぐたいてきにそのプログラムとを The Preparation of Programs for an Electronic Digital Computer という書籍しょせきとして公刊こうかんし、世界せかいてきひろまれた、ということがげられる。当時とうじ米国べいこく一部いちぶのコンピュータのように、ぐん兵器へいき米国べいこく安全あんぜん関与かんよしているため秘密ひみつにすることが強要きょうようされ知見ちけんまった共有きょうゆうされなかったひとしといったれいもあったなかで、同書どうしょ世界せかいてきに「プログラミング」の実例じつれいひろめたのみならず、そのプログラム内蔵ないぞう方式ほうしき乃至ないしノイマンがた)コンピュータを設計せっけいするものへの指針ししんともなったなど、ひろ世界せかい貢献こうけんした。

アプリケーションソフトウェア

編集へんしゅう

サブルーチンの概念がいねんからライブラリができるようになった。1951ねんにはつぎのような分野ぶんやの87のサブルーチンがひろ使つかわれていた。

EDSACの利用りようれい

編集へんしゅう
  • 1950ねん、ウィルクスとホイーラーはロナルド・フィッシャー論文ろんぶん[5]にあった遺伝子いでんし頻度ひんどかんする微分びぶん方程式ほうていしきをEDSACでいた。これは生物せいぶつがく分野ぶんやでの世界せかいはつのコンピュータ利用りようである。
  • 1951ねん、ミラーとホイーラーは当時とうじとしては最大さいだいの79けた素数そすう発見はっけんした[6]
  • 1952ねん大学院生だいがくいんせいだったアレキサンダー・サンディ・ダグラス英語えいごばんさんもくならのグラフィカルバージョンである 『OXO』 というプログラムをEDSACじょう作成さくせいした。これが画面がめん写真しゃしんのこっている世界せかいはつコンピュータゲームである。
  • 以下いか後継こうけいのEDSAC 2(en:EDSAC 2)による(後継こうけい EDSAC 2 の稼働かどうにより、先代せんだい EDSAC の稼働かどう終了しゅうりょうした)

その開発かいはつ

編集へんしゅう

EDSACの後継こうけい EDSAC 2 は1958ねん動作どうさ開始かいしした。1961ねん、EDSAC 2 ようAutocodeALGOLふう科学かがく技術ぎじゅつけい算用さんよう高水準こうすいじゅん言語げんご)を D.F. Hartley が開発かいはつした。

1960年代ねんだいなかばには EDSAC 2 の後継こうけい計画けいかくされたが、結局けっきょく Atlas 2 のプロトタイプである Titan が導入どうにゅうされた。Atlas 2 はマンチェスター大学だいがくフェランティ、Plessy のさんしゃ開発かいはつした Atlas コンピュータの後継こうけいである。

復元ふくげんプロジェクト

編集へんしゅう

2011ねん1がつ13にちComputer Conservation Society がEDSACのじつどうするレプリカをイギリスブレッチリー・パーク国立こくりつコンピューティング博物館はくぶつかんにて製作せいさくすると発表はっぴょうした[7]。2015ねん稼働かどう目指めざし、その定期ていきてき動作どうささせるデモンストレーションをおこな予定よていだという。

プロジェクトを指揮しきする Andrew Herbert はモーリス・ウィルクスのしたまなんだことがある。

参考さんこう文献ぶんけん

編集へんしゅう
  • The Preparation of Programs for an Electronic Digital Computer by Professor Sir Maurice Wilkes, David Wheeler and Stanley Gill, Addison–Wesley, Edition 1, 1951[8]

注釈ちゅうしゃく

編集へんしゅう
  1. ^ "delay storage" は使用しようしている遅延ちえん記憶きおく装置そうちしている
  2. ^ Manchester Mark IプロトタイプであるBabyほうはやい。ただし Baby はウィリアムスかん評価ひょうかよう製作せいさくされており、実用じつようてきではなかった。A brief informal history of the Computer Laboratory参照さんしょう。マンチェスター大学だいがくでは1949ねん4がつから Manchester Mark I稼働かどうしはじめているが、完成かんせいしたのはすこである。
  3. ^ 指定していされたメモリワードと乗算じょうざん器用きようレジスタの内容ないようビット単位たんいのANDほどこし、結果けっかをアキュムレータに格納かくのうする命令めいれい
  4. ^ ストア命令めいれいに、たんにストアする命令めいれいと、ストアにつづきアキュムレータをゼロクリアする命令めいれいの2種類しゅるいがあり、そのしゃ使つかう、ということ。
  5. ^ 当時とうじ資料しりょう映像えいぞうに、1976ねんにウィルクスが解説かいせつけた動画どうが(79) EDSAC 1951 - YouTube )にプログラミングの光景こうけいがある。4ふんから5ぶんのあたりで設計せっけい、5ふんから5ふん30びょうのあたりでコーディング、5ふん30びょうからさきのあたりで、かみテープへのパンチングと、該当がいとうするサブルーチンの編集へんしゅうとう作業さぎょうられる。

出典しゅってん

編集へんしゅう
  1. ^ Wilkes, W. V.; Renwick, W. (1950). “The EDSAC (Electronic delay storage automatic calculator)”. Math. Comp. 4: 61-65. http://www.ams.org/journals/mcom/1950-04-030/S0025-5718-1950-0037589-7/. 
  2. ^ “Pioneer computer to be rebuilt”. Cam 62: 5. (Lent 2011). 
  3. ^ Martin Richards. “EDSAC Initial Orders and Squares Program”. University of Cambridge, Computer Laboratory. 2024ねん3がつ20日はつか閲覧えつらん
  4. ^ Professor David Barron, Emeritus Professor of the University of Southampton at a Cambridge Computer Lab seminar to mark the 60th anniversary May 6th 2009.
  5. ^ Gene Frequencies in a Cline Determined by Selection and Diffusion, R. A. Fisher, Biometrics, Vol. 6, No. 4 (Dec., 1950), pp. 353-361
  6. ^ Caldwell - largest known primes by year One reference gives Miller, J. C. P. "Larger Prime Numbers" (1951) Nature 168(4280):838, ただし こちらには言及げんきゅうがない。
  7. ^ Ward, Mark (2011ねん1がつ13にち). “Pioneering Edsac computer to be built at Bletchley Park”. BBC News. 2024ねん3がつ20日はつか閲覧えつらん
  8. ^ Todd, John (1952). “Review: The Preparation of Programs for an Electronic Digital Computer, by M. V. Wilkes, D. Wheeler, and S. Gill”. Bull. Amer. Math. Soc. 58 (2): 276-278. http://www.ams.org/journals/bull/1952-58-02/S0002-9904-1952-09610-5/. 

関連かんれん項目こうもく

編集へんしゅう

外部がいぶリンク

編集へんしゅう