再訂正・NOP命令の誕生

目次

ハーバード・マーク1

SSEC の NOP

「命令」の誕生同時処理自己書き換え積極的に何もしない

もう一台の計算機

NOP のまとめ

SSEC はコンピューターか

コンピューターの基準境界線上の SSEC

終わりに


NOP のまとめ

今までの調査を通じて、NOP が実装された機械には、NOP に注目するだけの理由があると思っています。


何もしない、なんて簡単だから誰でも作れる、という話ではありません。

安易な考えで「何もしない」仕組みを作ったのであれば、そこには名前が与えられないでしょう。



マーク1や、もし存在したとして EDSAC などは、何もしない命令はあっても名前が与えられていません。

SSEC もまた、NOP が存在しなくてはならない強い理由があるように思います。

そして、おそらくは最古の NOP です。


調査済みの機械のリストは、以前のページのものに追記しておくことにします。


SSEC はコンピューターか

SSEC の C は「Calculater」の意味です。「Computer」ではありません。

IBM の公式見解としては、SSEC はコンピューターでは無いことになります。


でも、これはあまり決定的な事項ではありません。

当時、IBM は会計機の販売の際に、そのオペレーター派遣まで含めたサービスを行っており、オペレーターは「computer」という肩書で呼ばれていました。

computer は元々「計算手」の意味です。肩書としておかしくはありません。


もし、IBM が機械に Computer と名づければ、社内的な事情で混乱が起きますし、失職の危機として労働団体も黙ってはいないでしょう。


そのような状況下でつけられた名前で「コンピューターでは無い」と示す決定的証拠にはなりません。


コンピューターの基準

さて、一応 SSEC はコンピューターでは無いことになっています。

その一方で、ノイマンの EDVAC レポート、ENIAC の発表に影響を受けている節があります。


SSEC はコンピューターと呼べるでしょうか?

非常に微妙なところです。


人によって基準は異なります。


2進法を採用して計算を行う、というだけでコンピューターだとする人がいます。

(ABC マシンが最初とする主張)


計算回路が完全電子化された時点でコンピューターと呼べる、とする人がいます。

(ENIAC が最初とする主張。周辺回路や記憶が物理動作を伴っても構わない)


プログラムが可能となった時点でコンピューターとする人がいます。

(ツーゼ Z3 が最初とする主張)


プログラムを内蔵できた時点でコンピューターだとする人がいます。

(EDSAC が最初とする主張)


他にも、完全電子化を求める人もいます。

ただ、完全電子化を求める人は結構 EDSAC あたりを最初と主張する場合が多いみたい。

メモリが物理動作を伴っているのにも関わらず。何をもって「完全」とするのか定かでない。


人によって考えは違いますから、これら多数の基準を否定するつもりはありません。

ただ、「最初のコンピューターはどれ?」という質問を発する人は、自分なりの基準を持たなくてはなりません。

そうしないと、いろんな主張にただ翻弄されるだけになるためです。


ちなみに僕は、「プログラム内蔵派」です。このサイトはそのつもりで書かれているので、別の意見を持つ場合には、その点を割り引いて考えてください。


境界線上の SSEC

問題は…SSEC を上記の基準で考えようとすると、従来の基準に当てはまらず、概念が揺らいでしまうのです。


SSEC は2進法を使用し、計算回路は完全電子化されており、プログラム可能で、「命令」を内蔵できます。


僕としては、内蔵できるのが「命令」というのが引っかかっていて、プログラム自体は内蔵できないからコンピューターでは無い、という気持ちがあります。


一方で、そもそも「プログラム内蔵」の意図を理解することも重要です。


当初は、物理動作を減らして速度をあげるためだったようです。

ただ、現実問題として当時は物理動作を伴わない素子…真空管が非常に高価で、「プログラム内蔵」といいつつ、物理動作を伴った超音波で記録を行う「水銀遅延管」が使われるようになります。


じゃぁ、速度が上がらなくてダメかと言えばそうではありません。

すでに別の意図の方が重視されていたために、「物理的でも構わないから」プログラム内蔵型にしたのです。


それは、コンピューターが自分自身のプログラムを書き変えることで、柔軟な処理を可能とする可能性です。


たとえば、初期のコンピューターは命令が貧弱で、条件分岐やサブルーチン呼び出しの機能が不十分でした。

命令内蔵式になると、プログラムが自分自身を書き変えることで、これらの機能不足を補えるのです。


その点では、命令全体を内蔵していなくても、「命令を」メモリに持てる SSEC は、この意図を十分に実現しています。


EDVAC レポート…つまり、現代のコンピューターの基礎である「ノイマン型」の論文の影響を受けて作られた物なのですから、この機能があることが当然と言えば当然です。


ならば、コンピューターとして分類したって良いのではないか、という気持ちもあります。




最初に書いた通り、コンピューターとは何か、という基準は曖昧です。

なので、この問題は答えが出せるものではなく、個人の考えにゆだねられます。


初回に書きましたが、SSEC は誤解も多い機械で、僕も今回調べるまでは「マーク1と同程度の、電気機械式計算機」だと思ってました。


世の中の多くの人がそう考えているので、SSEC はコンピューターか否か、というのも勘違いによる議論も多いです。

つまり、世の中の言葉はあまりあてになりません。自分で考えるしかありません。


皆さんは、SSEC はコンピューターだと思いますか?


終わりに

NOP 命令と、そもそも SSEC がコンピューターかどうか、についてまとめました。


SSEC がノイマン型コンピューターだとしたら、おそらくは最初の「ノイマン型」と言えます。

その機械に NOP 命令が実装されていた、となると、「NOP は最初のコンピューターから存在していた」と言ってよいでしょう。


また、SSEC はコンピューターでは無い、と考えるのであれば、「NOP はコンピューター以前から存在していた」ことになります。


CPU 命令の話なのに、「コンピューター以前から存在」。

…こちらの方が、話としては面白いな。ニヤリ




参考文献
SSEC特許書面(1982年に書かれた解説付き)F.E. Hamilton1953/1982IBM
その他、WEB上の各種ページ


前ページ 1 2 3

(ページ作成 2015-06-18)

前記事:SSECの周辺装置     戻る
トップページへ

-- share --

64000

-- follow --




- Reverse Link -