WWIの命令と画面

目次

使用可能レジスタ

演算命令

加減算命令乗算命令除算命令シフト命令呼び出し命令ストア命令

完成後の追加命令群

周辺機器制御命令I/O 命令Flip-Flop reset 命令チェック命令ビット演算命令謎の命令

完成時の27命令って?

オシロスコープ

初期のもの中期のもの後期のもの


後期のもの

APTで描いた3D形状 1954年9月に書かれたプログラムガイドでは、CRT にはキャラクタ表示機能やライン機能が追加されています。

中期と比較して、なぜか縦横の指定方法が逆になりました。si で縦を決め、rc で横を決めます。縦線を引くよりも、横線を引くほうが需要として多かった、ということでしょうか。



画像は後期のCRTに描かれた画像(1958年の論文より)。なかなか綺麗な出力だが、この画像を描いたプログラムがまたすごい。
WWI の開発を行ったサーボ研究所では、WWI と並行して、複雑な形状の金属部品を加工できる機械を研究していた。現代では CNC(Computer Numeric Control:コンピューター数値制御)加工機と呼ばれるものの元祖だ。
最初のころは、CNC加工機を直接プログラムして制御していた。しかしやがて、形状データを数式で示すと、その形状を削り出すためのCNC加工機のプログラムを紙テープに生成するコンパイラが作成された。

画像は、そのコンパイラが CRT 上に示した、加工機の「刃」の移動経路と、それによって作り出される形状の概要だ。

この形状で問題がなければ、あとは CNC加工機に紙テープを読み込ませれば、設計した通りの 3D 形状が取り出せる。
最近話題の「3D プリンタ」を、60年も前に実現していたわけだ。

キャラクタを書くには、si 命令でキャラクタ描画用の機器番号を指定します。(通常は機器番号は8進数3桁ですが、CRT の特別機能のために最上位の4桁目が準備されました)

キャラクタ設定方法 縦横位置の指定は同じですが、rc 命令でアドレスを指定し、そのメモリ内容が送られます。CRT 側では、この上位 8bit を取り出し、7セグに類似する表示を行います。(最上位ビットは無視。ここは普通に考えると符号ビットだから避けたと思われる)


右図が、描かれるキャラクタ形状。これじゃ数字しか描けないよ、なんて言ってはならない。
工夫次第でアルファベットも書けるし、おかしな文字や見分けがつかない文字でも、文脈次第で読めてしまうものだ。
それに、これは「簡単に文字を書く機能」なのだから、どうしても書けない文字だけ、別の機能を使って自分で描いたってよいのだ。



線も、キャラクタと類似の方法で書かれます。まず線描画の機器番号を指定し、縦横位置を指定します。この際、rc 命令でアドレスを指定し、そのメモリ内容が送られます。

CRT 側では、これを上位8bit と下位8bit にわけ縦横への相対位置データとします。データの内容は、上位 6bitだけを取り出し、先頭を符号、残り5bit を座標と考え、先頭位置からの線を引きます。

つまり、指定した点から、縦横に ± 31 ドットの位置までの短い線が描けることになります。

中期の CRT では、線を引くのには、点をたくさん描く必要がありました。その 31回分を1回の操作で行えるのだから、非常に強力な命令です。


実は「後期」の機能で完成、というわけではなく、さらに後になって、キャラクタの「拡大表示」機能が追加されたらしい記述がみられる。
80年代のパソコンでは文字の拡大なんかできなかったのに、すごいもんだ。
文字ごとに拡大率も変えられるので、結構にぎやかな画面が作れたのではないかと思う。




…というところで、ハードウェアの詳細は終わりにします。

これくらいで終わりたいところだったけど、WWI は非常に興味深いし、資料も大量に公開されている。

調べているうちに、語りたいことがどんどん増えてきました。


というわけで、次はアセンブラの仕様や、実際のプログラムでの自己書き換えがどのように行われていたかを紹介します。

Whirlwind のアセンブラ



参考文献
WHIRLWIND I COMPUTER BLOCK DIAGRAMSR.R. Everett & F.E. Swain1947MIT
Review of electronic digital computersR.R. Everett1951AIEE-IRE
WHIRLWIND SUBROUTINE SPECIFICATION1952MIT
WHIRLWIND (メモ)
Programing for In Out UnitsPhilip R. Bagley1952MIT
Programing for In Out UnitsPhilip R. Bagley & H. H. Denman1954MIT
Automatic Program ToolsDouglas T. Ross1958MIT


前ページ 1 2 3 4 5 6

(ページ作成 2013-02-09)
(最終更新 2013-02-15)

前記事:WWI 初の現代的コンピュータ     戻る     次記事:Whirlwindのアセンブラ
トップページへ

-- share --

1000

-- follow --




- Reverse Link -