このページの本文へ

ロードマップでわかる!当世プロセッサー事情第492回

業界に多大な影響を与えた現存メーカー RISCの誕生につながったIBMの801プロジェクト

2019年01月07日 12時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/) 編集●北村/ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

電話交換機は中止となったが
プロセッサーの開発は続行

 こうした研究結果が出たためか、本来は電話交換機の中止にあわせて中止されるはずだったプロセッサーのプロジェクトは、1975年に改めてIBM 801プロジェクトとして、そのまま存続することになった。

 もちろんこの時点ではまだIBM 801は物理的に存在していないが、命令フォーマットの検討などと並行しながらソフトウェアの移植がスタートする。

 最初に移植されたのはPL/1のサブセットであるPL.8(“ドット”は発音せず、ピーエルエイトと呼ばれた)で、次にこれを利用してPL/1や、Fortran/Cのコンパイラなどが次々に移植されていく。

 命令フォーマットも、最初のバージョンは“Destructive”(破壊的)な3Byteフォーマットだったのが、第2版では“Non-Destructive”な4Byteフォーマット(正確には4Bytes or 2Bytes)に改められた。

 Destructiveというのは、A=A+Bといった(x86などではおなじみの)フォーマットで、Aレジスターの内容とBレジスターの内容の合計をAレジスターに上書きする(Aレジスターの元の値は破壊される)方式、Non-DestructiveはC=A+Bのフォーマットで、Aレジスターの内容とBレジスターの内容の合計をCレジスターに書き込みするので、Aレジスターの内容が保存される方式だ。

 Destructiveはレジスターの絶対数が足りない場合には妥当な方式だが、その分余分に命令が増えることになる。Non-Destructiveは、レジスターの数さえ十分ならば余分な命令を実行する必要もなく、妥当な方式である。

 そのレジスターは32個とされたが、普通にプログラマーから見えるのは16個のみだった。ただこれでもコンパイラはハンドコーディングに匹敵する性能を出すコードを容易に生成できたそうだ。

 1977年にはSystem/370 Model 168上でシミュレーションも稼働するようになり、この上でさまざまなソフトウェアを動かして動作検証が行なわれたが、PL.8で記述されたコードはSystem/370 Model 168上で直接動かすと2MIPS程度の性能だったのが、シミュレーター上では4.5~6MIPS相当の性能を実現したという。

この連載の記事

注目ニュース

ASCII倶楽部

最新記事

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン