マンチェスター・マーク1は、初期のプログラム内蔵型コンピュータの一つで、イギリスのマンチェスターにあるビクトリア大学で、マンチェスター・ベビー(1948年6月に稼働開始)をベースに開発された。開発は1948年8月に始まり、最初のバージョンは1949年4月までに稼働した。メルセンヌ素数を探索するプログラムは、1949年6月16日から17日にかけての夜に9時間エラーなく実行された。
この機械の成功はイギリスの報道機関で広く報じられ、読者に向けて「電子脳」という言葉で表現された。この表現はマンチェスター大学神経外科部長の反発を招き、電子コンピュータが真に創造的になれるのかどうかという、長きにわたる議論の始まりとなった。
Mark 1は、大学内で計算リソースを提供し、研究者がコンピュータの実践的な使用経験を積むことを可能にするためのものでしたが、すぐにフェランティの商用版の設計の基礎となるプロトタイプにもなりました。開発は1949年末に中止され、このマシンは1950年末頃に廃棄され、1951年2月に世界初の商用汎用電子コンピュータであるフェランティ Mark 1に置き換えられました。 [ 1 ]
このコンピュータは、インデックスレジスタを先駆的に搭載したことで特に歴史的に重要な意義を持ちます。インデックスレジスタは、プログラムがメモリ内のワード配列を順次読み込むことを容易にする革新的な機能でした。このマシンの開発から34件の特許が取得され、その設計の背後にある多くのアイデアは、IBM 701や702、フェランティ Mark 1などの後継商用製品に組み込まれました。主任設計者のフレデリック・C・ウィリアムズとトム・キルバーンは、Mark 1での経験から、コンピュータは純粋数学よりも科学分野でより多く使用されるだろうと結論付けました。1951年、彼らはMark 1の後継機であるMeg の開発に着手し、浮動小数点演算ユニットを搭載することになりました。
それはマンチェスター自動デジタルマシン、またはMADMとも呼ばれた。[ 2 ]
1936年、数学者のアラン・チューリングは、処理中のデータとともにプログラムをテープに保持する理論上の「汎用計算機」の定義を発表しました。チューリングは、そのような機械はアルゴリズムを記述できるあらゆる数学的問題を解決できることを証明しました。[ 3 ] 1940年代には、チューリングやコンラート・ツーゼなどの人々が、テープの代わりにコンピュータ自身のメモリを使用してプログラムとデータの両方を保持するというアイデアを開発しましたが、[ 4 ]マンチェスター・マーク1の基盤となったプログラム内蔵型コンピュータ・アーキテクチャを定義した人物として広く知られるようになったのは、数学者のジョン・フォン・ノイマンでした。[ 5 ]
フォン・ノイマン・コンピュータの実用的構築は、適切な記憶装置の入手可能性に依存していた。世界初の電子式プログラム内蔵型コンピュータであるマンチェスター大学のBabyは、1948年6月21日に最初のプログラムを実行することで、プログラム内蔵方式と、標準的な陰極線管(CRT)に基づく初期のコンピュータ記憶装置であるウィリアムズ管の実用性を実証した。 [ 6 ]初期の電子コンピュータは、一般的に配線をやり直したり、プラグやパッチパネルを介してプログラムされていた。現代のコンピュータのように、メモリに個別のプログラムが格納されることはなかった。たとえば、ENIACを再プログラムするには数日かかることもあった。 [ 7 ]プログラム内蔵型コンピュータは、国立物理研究所のPilot ACE、ケンブリッジ大学のEDSAC、米国陸軍のEDVACなど、他の研究者によっても開発されていた。[ 8 ] BabyとMark 1の主な違いは、水銀遅延線の代わりにウィリアムズ管をメモリデバイスとして使用していた点である。[ 9 ]
1948 年 8 月頃から、Baby は、当初は大学により現実的な計算設備を提供することを目的として、Manchester Mark 1 のプロトタイプとして集中的に開発されました。[ 10 ] 1948 年 10 月、英国政府の主任科学者ベン・ロックスペイザーは、マンチェスター大学を訪問中にプロトタイプ Mark 1 のデモンストレーションを受けました。ロックスペイザーは、見たものに非常に感銘を受け、すぐに地元のFerranti社と政府契約を結び、このマシンの商用版である Ferranti Mark 1 を製造することにしました。 [ 11 ] 1948 年 10 月26 日付けの同社宛の手紙で 、ロックスペイザーは同社に「我々が話し合った方針に従って、すなわち、FC ウィリアムズ教授の指示に従って電子計算機を製造する」ことを許可しました。[ 12 ]それ以降、Mark 1 の開発には、Ferranti 社が商用マシンのベースとするための設計を提供するという追加の目的がありました。[ 13 ]政府とフェランティとの契約は1948年11月から5年間で、年間約35,000ポンド(2024年換算で年間144万ポンド[ 14 ]に相当)の費用がかかった。[ 15 ] [ a ]

マンチェスター マーク 1 の構想は、マンチェスター ベビーの開発中の 1947 年 12 月に始まった。[ 16 ]ベビーは、フレデリック C. ウィリアムズ、トム キルバーン、ジェフ トゥーティルのチームによって設計された。マーク 1 を開発するために、研究学生のD. B. G. エドワーズと GE トーマスが加わり、1948 年 8 月に本格的に作業が開始された。このプロジェクトはすぐに、フェランティに商用マシンであるフェランティ マーク 1 のベースとなる動作可能な設計を提供することと、研究者がそのようなマシンを実際にどのように使用できるかを経験できるコンピュータを構築するという 2 つの目的を持つようになった。マンチェスター マーク 1 の 2 つのバージョンのうち最初のバージョン ( 中間バージョンとして知られる ) は、1949 年 4 月までに動作可能になった。[ 10 ]しかし、この最初のバージョンには、メイン ストアと新しく開発された磁気バック ストアの間でデータをプログラムで転送するために必要な命令などの機能が欠けており、マシンを停止して手動で転送を開始する必要があった。これらの不足していた機能は最終仕様版に組み込まれ、1949年10月までに完全に動作するようになった。[ 13 ]このマシンには4,050個の真空管が搭載され、消費電力は25キロワットだった。[ 17 ]信頼性を高めるため、Babyで使用されていた標準デバイスの代わりに、 GECが製造した専用のCRTがマシンに使用された。[ 1 ]
Babyの32ビットワード長は40ビットに拡張されました。各ワードには、1つの40ビット数値または2つの20ビットプログラム命令のいずれかを格納できます。メインストアは当初、2つのダブル密度ウィリアムズ管で構成され、それぞれに32 x 40ビットワード (ページと呼ばれる)の2つのアレイが格納され、さらに32ページを格納できる磁気ドラム によってバックアップされていました。最終仕様バージョンでは、容量が4つのウィリアムズ管上の8ページのメインストアと128ページの磁気ドラムのバックアップストアに拡張されました。[ 18 ]当初は磁気ホイールとして知られていた直径12インチ(300 mm)のドラム[ 19 ]には、表面の周囲に一連の平行な磁気トラックがあり、それぞれに独自の読み書きヘッドがありました。各トラックには2,560ビットが格納され、これは2ページ(2×32×40ビット)に相当します。ドラムの1回転には30ミリ秒かかり、その間に両方のページをCRTメインメモリに転送することができたが、実際のデータ転送時間は、ページが読み書きヘッドの下に到達するまでの時間であるレイテンシーに依存した。ドラムへのページの書き込みには、読み取りの約2倍の時間がかかった。[ 13 ]ドラムの回転速度はメインの中央処理装置のクロックに同期していたため、ドラムを追加することが可能だった。データは、現在でもマンチェスター符号化として知られる位相変調技術を使用してドラムに記録された。[ 20 ]
このマシンの命令セットは、Babyの7から当初は26に増加し、ハードウェアで行われる乗算も含まれるようになった。最終仕様バージョンでは、命令数は30に増加した。各ワードの10ビットが命令コード を格納するために割り当てられた。標準命令時間は1.8ミリ秒であったが、乗算はオペランドのサイズに応じてはるかに遅かった。[ 21 ]
このマシンの最も重要な革新は、現代のコンピュータでは一般的なインデックスレジスタの組み込みであると一般的に考えられています。Babyには、アキュムレータ(A)とプログラムカウンタ(C)という、ウィリアムズ管として実装された2つのレジスタが含まれていました。AとCは既に割り当てられていたため、当初Bラインと呼ばれていた2つのインデックスレジスタを保持する管はBと名付けられました。レジスタの内容はプログラム命令を変更するために使用でき、メモリに格納された数値の配列を簡単に反復することができました。Mark 1には、乗算演算の被乗数と乗数を保持するための4番目の管(M)もありました。[ 20 ]

各プログラム命令に割り当てられた 20 ビットのうち、10 ビットは命令コードを保持するために使用され、これにより 1,024 (2 10 ) 種類の異なる命令が可能になった。当初、このマシンには 26 個の命令があったが、[ 10 ]磁気ドラムと陰極線管 (CRT) メイン ストア間のデータ転送をプログラムで制御する機能コードが追加されると 30 個に増加した。中間バージョンでは、プログラムはキー スイッチで入力され、出力は、Mark 1 が開発された Baby と同様に、出力装置として知られる陰極線管上に一連のドットとダッシュとして表示された。しかし、1949 年 10 月に完成した最終仕様のマシンでは、5 穴の紙テープ リーダーとパンチを備えたテレプリンターが追加された。[ 13 ]
1948 年 9 月にマンチェスター大学の計算機研究所の副所長という名目上の役職に任命された数学者アラン・チューリング[ 10 ]は、プログラムとデータを紙テープに書き込んだり読み取ったりできる標準的なITA2 5 ビット テレプリンタ コードに基づいた 32進数エンコーディング方式を考案しました。 [ 22 ] ITA2 システムでは、5 ビット (2 5 )で表現できる 32 個のバイナリ値のそれぞれを1 つの文字にマッピングします。したがって、「10010」は「D」、「10001」は「Z」などを表します。チューリングは標準エンコーディングのごく一部だけを変更しました。たとえば、テレプリンタ コードで「効果なし」と「改行」を意味する 00000 と 01000 は、それぞれ「/」と「@」の文字で表されました。スラッシュで表されるバイナリゼロは、プログラムやデータの中で最も一般的な文字であり、その結果、シーケンスは「////////////////」のように記述された。初期のユーザーの一人は、チューリングがスラッシュを選んだのは無意識の選択であり、汚れた窓から見える雨を表し、マンチェスターの「悪名高いほど陰鬱な」天候を反映したものだと示唆した。[ 23 ]
Mark 1は40ビットのワード長だったため、各ワードをエンコードするには8つの5ビットテレプリンタ文字が必要でした。例えば、バイナリワードは次のようになります。
紙テープには ZDSLZWRF と表記される。格納されている任意の単語の内容は、テレプリンターのキーボードから設定し、プリンターに出力することもできた。この機械は内部的にはバイナリで動作していたが、入力と出力それぞれに必要な 10 進数から 2 進数、および 2 進数から 10 進数への変換を実行することができた。[ 19 ]
Mark 1 にはアセンブリ言語は定義されていませんでした。プログラムはバイナリ形式で記述して提出する必要があり、40 ビットのワードごとに 8 つの 5 ビット文字としてエンコードされていました。プログラマーは作業を容易にするために、修正された ITA2 コーディング スキームを記憶することが推奨されていました。データはプログラム制御で紙テープ パンチから読み書きされました。Mark 1 にはハードウェア割り込みのシステムはありませんでした。プログラムは、読み取りまたは書き込み操作が開始された後、別の入出力命令に遭遇するまで継続し、その時点でマシンは最初の命令が完了するまで待機しました。[ 24 ]
Mark 1にはオペレーティングシステムがなく、唯一のシステムソフトウェアは入出力のための基本的なルーチン数個でした。[ 1 ]開発元であるBabyと同様に、確立された数学的慣習とは対照的に、このマシンのストレージは最下位桁が左に配置されていました。そのため、1はより一般的な「00001」ではなく、5ビットで「10000」と表現されました。負の数は、今日でもほとんどのコンピュータが使用している2の補数を使用して表現されました。この表現では、最上位ビットの値が数値の符号を示します。正の数はその位置に0を持ち、負の数は1を持ちます。[ 24 ]したがって、各40ビットワードに保持できる数値の範囲は、-2 39から+2 39 - 1(10進数:-549,755,813,888から+549,755,813,887)でした。
Mark 1で実行された最初の現実的なプログラムは、1949年4月初旬に行われたメルセンヌ素数の探索でした[ 25 ]。これは1949年6月16日から17日の夜に9時間エラーなく実行されました。
このアルゴリズムはマンチェスター大学数学科長のマックス・ニューマンによって規定され、プログラムはキルバーンとトゥーティルによって書かれた。アラン・チューリングは後にこのプログラムの最適化版を作成し、メルセンヌ・エクスプレスと名付けた。[ 20 ]
マンチェスター・マーク1は、リーマン予想の調査や光学の計算など、1950年まで有用な数学的作業を継続した。[ 26 ] [ 27 ]
トゥーティルは、フェランティ・マーク1の設計作業を継続するため、1949年8月にマンチェスター大学からフェランティ社に一時的に移籍し、同社で4ヶ月間勤務した。[ 28 ]マンチェスター・マーク1は1950年8月に解体され、廃棄された。[ 29 ]数か月後には、世界初の商用汎用コンピュータである最初のフェランティ・マーク1に置き換えられた。[ 1 ]
1946年から1949年の間、Mark 1とその前身であるBabyの開発に携わった設計チームの平均人数は約4人だった。その期間中、供給省またはその後継機関である国立研究開発公社 によって、チームの研究に基づいて34件の特許が取得された。[ 2 ] 1949年7月、IBMはMark 1の設計について話し合うため、ウィリアムズを全額費用負担で米国に招待した。同社はその後、ウィリアムズ管を含む、このマシン用に開発された特許取得済みのアイデアのいくつかを、自社の701および702コンピュータの設計にライセンス供与した。[ 30 ]マンチェスターMark 1の最も重要な設計上の遺産は、おそらくインデックスレジスタの組み込みであり、その特許はウィリアムズ、キルバーン、トゥーティル、ニューマンの名義で取得された。[ 2 ]
キルバーンとウィリアムズは、コンピュータは純粋数学よりも科学的な役割でより多く使用されるだろうと結論付け、浮動小数点演算ユニットを含む新しいマシンを開発することにした。作業は1951年に始まり、その結果として1954年5月に最初のプログラムを実行したマシンは、Meg、またはメガサイクルマシンとして知られていた。Mark 1よりも小さくシンプルで、数学の問題に対してはるかに高速だった。フェランティは、ウィリアムズ管をより信頼性の高いコアメモリに置き換えたMegのバージョンを製造し、フェランティ・マーキュリーとして販売した。[ 31 ]
マンチェスター・マーク1とその前身であるベビーの成功は、イギリスの報道機関で広く報じられ、これらの機械を「電子頭脳」と表現した。[ 32 ]ルイス・マウントバッテン卿は、1946年10月31日に英国無線技術者協会で行った講演で、当時利用可能だった原始的なコンピュータがどのように進化するかについて推測し、この用語を先に導入していた。[ 33 ] 1949年に初めて認識できる現代的なコンピュータの報道をめぐる興奮は、開発者にとって予想外の反応を引き起こした。マンチェスター大学の神経外科教授であるジェフリー・ジェファーソン卿は、1949年6月9日にリスター記念講演 を行うよう依頼された際、「機械人間の心」を講演テーマに選んだ。彼の目的は、マンチェスター・プロジェクトを「論破」することだった。[ 34 ]講演の中で彼は次のように述べた。
機械が、偶然の記号の出現ではなく、感じた思考や感情に基づいてソネットを書いたり協奏曲を作曲したりできるようになるまでは、機械が脳と同等である 、つまり、書くだけでなく、書いたことを認識できると認めることはできないだろう。機械は 、成功に喜びを感じたり、バルブが溶けたときに悲しんだり、お世辞に温められたり、間違いで惨めになったり、セックスに魅了されたり、欲しいものが手に入らなかったときに怒ったり惨めになったりすることはできない。[ 34 ]
翌日、タイムズ紙はジェファーソンの演説を報じ、ジェファーソンが「王立協会の優雅な部屋が、これらの新しい会員を収容するためのガレージに改造される日は決して来ないだろう」と予言したと付け加えた。これは、マンチェスターチームの研究を継続するために協会から助成金を得ていたニューマンに対する意図的な侮辱と解釈された。これに対し、ニューマンはタイムズ紙に続報記事を書き、その中でマーク1の構造と人間の脳には密接な類似性があると主張した。 [ 35 ]彼の記事にはチューリングへのインタビューが含まれており、チューリングは次のように付け加えた。
これはこれから起こることのほんの一端に過ぎず、これから起こることの影に過ぎない。機械の能力を真に理解するには、ある程度の経験を積む必要がある。新たな可能性に慣れるまでには何年もかかるかもしれないが、それが通常人間の知性が担う分野に参入し、最終的には対等な立場で競争できない理由はないと思う。[ 36 ]
{{cite web}}: CS1 メンテナンス: その他 (リンク)