世界のスーパーコンピュータとそれを動かす人々


3月 22, 2021

新HPCの歩み(第36回)-1965年(b)-

小柳 義夫 (高度情報科学技術研究機構)

IBMでベクトル演算器が提唱され、69年には演算加速装置として売り出された。KohnとShamは密度汎関数法を確立した。Gordon Mooreは、「チップのトランジスタ数は18か月で倍になる」とは言わなかった。DEC社はPDP-8を導入し、初めて商業的に成功したミニコンと言われた。

日本の企業の動き

日本では各社がさまざまな開発を行っている。

 
 

富士通 FACOM270-30

出典:一般社団法人 情報処理学会Web サイト「コンピュータ博物館」

   

1) 富士通(FACOM 270シリーズ、FACOM 230-10)
1965年1月、富士通(1967年6月以前は富士通信機製造株式会社が正式名)は科学技術計算用およびリアルタイム処理を目的としたFACOM 270シリーズを発表した。メモリは磁気コアであるが、一部はICを使用している。後に(1968年~73年)筆者が愛用したFACOM 270-20(高橋・後藤研究室)は、その小型クラスである。

また事務処理用として1965年3月にFACOM 230-10を発表した。発売後、爆発的な人気を得、急激な需要に対応するため同社長野工場が建設され、5年余りで、同社で初めて製造台数が1000台を超えるベストセラーとなった。

2) 日立(HITAC 5020)
HITAC 5020の1号機は、1965年京都大学にKDC-IIとして導入された。ついで電電公社、東京大学に導入された。

東京大学では、4月に全国共同利用施設として大型計算機センターが発足し、HITAC 5020を2台設置した(7月と9月)。その後のことになるが、HITAC 5020/5020Eは筆者が本格的に利用した最初のコンピュータであった。TACの中心的設計者であった村田健郎氏と中澤喜三郎氏(両氏とも故人)が日立に入社して開発されたマシンであり、両氏のスピリットを感じる。ずっと後になってつくばで両氏とお近づきになれたのは幸いであった。今のコンピュータとはだいぶ違うアーキテクチャを持っていた(日立評論、1964年4月号1967年8月号参照)。

開発の当初、語長を24ビットにするか36ビットにするか大議論となった。2のべき乗なら32ビットだが精度が足りないという議論もあった。すったもんだの末32ビットにしたが、その時IBMのSystem/360が発表され、32ビットが標準となった。36ビットにしなくてよかった。

1語は32ビットであったが、浮動小数演算(基数は2、指数部8ビット、符号1ビット、仮数部23ビット、ケチ表現なし)においては、倍精度はもちろん、単精度数の演算であっても、結果は2語のレジスタ(64ビット)に倍精度(仮数部55ビット)として保存され、丸め誤差を減らす工夫が見られる。演算や代入では丸め誤差が減ってよかったが、サブプログラムの実引数に数式を書くとこれも倍精度でサブルーチンに引き渡された。実数の場合は、仮引数が単精度でも下位ビットが切り捨てられるだけ(big endianで、IEEE754と異なり指数部8ビットは共通)であるが、単精度複素数の数式だと、倍精度複素数となった実数部の下位32ビットを仮引数の虚数部として処理してしまい、最初はわかりにくいバグとなった。

どう使うのかはわからないが、固定小数演算では4倍長関連の命令がいくつかある。加減算では、2命令で4倍長の加減算ができる。乗算では、倍長数の積が4語のレジスタに保存され、除算では倍長数の除算で、商2語と余り2語が保存される。

5020にはないが、5020E/Fでは何と四倍長浮動小数演算のハードウェアが装備されていた(5020では擬命令としてソフトで処理)。内部表現は、指数部8ビット、符号1ビット、仮数部119ビットである。言語のHARPでは、文法としては4倍長浮動小数の演算がサポートされていたが、入出力はなく、定数も特別な関数で与える仕様であった(システムとしてできたのは3年後)。丸め誤差を減らすため、演算の途中だけに使うつもりだったのかと思う。高橋初代センター長の回想では、「ハードさえ用意しておけば、どうしても利用したい人は、アセンブリ言語でも何でもつかってどうにかするだろう」という発想ではなかったかと述べている。いかにも物理屋的な発想であるが、今は、はやらない。情報処理学会歴史特別委員会編『日本のコンピュータの歴史』P.110によると、TACにおいて原子分子分野で必要な「小谷・雨宮テーブル」という数表の計算が、倍精度でも追いつかなかったという経験があり、村田らが5020Eでは四倍精度の四則演算のハードウェアを用意したとのことである。東大大型計算機センター広報7号(1966年4月)によると、3月に日立製作所から四倍精度の全面的使用禁止の申し入れがあった、という記事があり、何かの不都合が発見されたものと思われる。その後、6月1日に再開された。

サブルーチン等の副プログラムに配列を渡す時には仮想的な添字0の番地が渡された。その方がアドレスの計算が楽だからである。2次元配列を渡すときは、各列(FORTRANだからcolumn-majorである)の仮想先頭アドレス(0番要素に対応)の1次元テーブルが同時に渡された。足し算だけでアドレスを計算するためである。ポインタ配列のポインタを渡しているわけで、今から考えると、列と行の違いはあるが、何かC言語を彷彿とさせる。しかし10年史の高橋秀俊教授の『センター発足の頃』によると、当時、IBMのFORTRANで書かれた泡箱写真解析プログラムがあり、それには実引数に配列要素を置いて、副プログラムでその要素を先頭とする配列として使うという仕様であった(一種のポインタ渡し)。これは当時のISOでもJISでも禁止されていたが、便利なのでNASTRANなど多くのパッケージで使われていた。上記の仕様のため、これだけは互換にできなかったとのことである。その後のHITAC 8700/8800のFORTRANでは修正され、筆者らの開発したSALSでもallocateの代わりに多用した。5020/5020Eのコンパイラについては中田育夫の論文を参照。

6個のインデックスレジスタ、14個のAレジスタ(累算器、一部インデックスレジスタと共用)、および各種インディケータは、メモリ(もちろん実メモリ)の0~31番地のアドレスに割り当てられていた。31番地は実時間クロックレジスタ(単位 74μsec)であったが、これに何かを書き込んでとんでもないことが起こった(起こした?)という伝説を聞いたことがある。HITAC 5020/5020Eは実に忘れがたい名機であった。

後にベクトルコンピュータHITAC S810を使ったが、「5020とちょっと似ている」と直感した。倍精度が基本であること、倍精度数の積の仮数部が内部的に4倍長分(14バイト)保持される点、実アドレスモードであること、事実上FORTRAN専用機である点など。ついでにS810の拡張記憶(SSD)も5020のDRUM DIMENSION(実行中の作業領域をドラムに取る)に見えた。

 
 

日立 HITAC 8500

出典:一般社団法人 情報処理学会Web サイト「コンピュータ博物館」

   

3) 日立製作所(HITAC 8000シリーズ)
これとは別に、日立は、RCA社との技術提携を基に、自社の独自技術を加え、大・中型汎用機のHITAC 8000シリーズ(IC採用)を発表した。これらは、IBMのSystem/360 に刺激された動きであろう。この技術導入路線を推進したのは、電気試験所から日立製作所に移った高橋茂(神奈川工場主任技師)であると言われる。村田健郎・中澤喜三郎はHITAC 5020の国産技術を軸とする路線を主張した。ちなみに後述の8700/8800は8000シリーズとは別ファミリーである。

4) 日本電気(NEACシリーズ2200)
日本電気は1965年5月にワン・マシン・コンセプトのNEACシリーズ2200を発表した(磁気コアメモリを利用し、一部はICであった)。1965年5月にはまずモデル100、200、300、400、500を発表し、1966年8月に小型のモデル50、1968年11月に最上位モデル700を発表した。日本電気府中事業場に保存されているNEACシリーズ2200モデル700 パッケージは、情報処理学会から2017年度情報処理技術遺産に認定された。

5) 東京芝浦電気(TOSBAC-5100)
東京芝浦電気は1965年に中型事務処理用コンピュータTOSBAC-5100を発表した。モデル10と20はトランジスタ方式であるが、1969年にはLSIを採用したモデル30を発表した。OSはCOSと呼ばれる。何種類かある。

6) 日本IBM社
日本IBM社は、1965年5月より、三井銀行の普通預金窓口業務のオンラインシステムを稼働させた。わが国初のオンラインバンキングシステムであった。中央処理装置はIBM1410とIBM1440をそれぞれ2セット設置している。

日本IBM社は、IBM1440の現地生産に引き続き、1965年3月、System/360 model 20およびmodel 40の千鳥町工場での現地生産を発表した。1966年6月、model 40の1号機が完成した。

世界の学界の動き

1) Mooreの知らない「Mooreの法則」
フェアチャイルド・セミコンダクターを設立し(1957)、その後(1968/7)インテルの共同創立者となったGordon Mooreは、1965年4月19日発行のElectronics Magazineにおいて、チップ(メモリらしい)の複雑さ(トランジスタ数)は、毎年2倍の割合で増大してきたと指摘し、この増大は今後少なくとも10年は続くと予言した。IC(集積回路)が始まったばかりの時点でこのような予言をしたことは先見の明があったというか、無謀だったというか、微妙なところである。

彼は10年後1975年に、マイクロプロセッサの動向から、2年で2倍になると修正した。現在、「ムーアの法則」と言われている、「チップのトランジスタ数は、18ヶ月毎に倍になる」という命題は、両者の平均のようなものであるが、Moore自身が述べたものではない(と本人が強調している)。

2) ベクトル処理の提唱
筆者が重要と思うのは、1965年IBM社のD.N. SenzigとR.V. Smithが後述のAFIP‘65において”Computer Organization for Array Processing” という論文を発表し、ベクトル処理を提案していることである。この論文では、ベクトル処理と並列処理を比較し、その利害得失を論じている。並列処理はすでにSolomon(1962年中止)などのプロジェクトがあったが、SIMDではなく、演算パイプラインによるベクトル処理を公に論じたのはこの論文が最初ではないかと思う。IBMは4年後、世界初のベクトル演算器(外付け)を売り出すことになる。

3) 高速フーリエ変換
1965年、CooleyとTukeyがFFT(高速フーリエ変換)を発表した。日本では高橋秀俊が1960年頃からPC-1のために考え始め、1966年頃独立に発見した。東大大型センターのライブラリに登録されている。

4) 計算流体力学
Los Alamos国立研究所のF. H. Harlow and J. E. Welchは、差分法によるMAC法(Marker and Cell Method)を用いて、自由表面をもつ2次元流体について、初めてコンピュータによるシミュレーションを実現した。IBM 7030(通称Stretch)を使用した。

5) ソリトンのシミュレーション
また、アメリカのBell研究所のNorman J. Zabusky (1929- ) と プリンストン大学のMartin Kruskal (1925-2006) は1965年に、KdV (Korteweg-de Vries)方程式の数値解析から、形状が変わらずに一定速度で伝播する孤立波が存在し、孤立波同士が衝突した場合に形を変えず伝播することを見いだし、ソリトンと名付けた。線形な方程式であれば重ね合わせの原理が成り立つので当然であるが、KdV方程式のような非線形方程式において衝突後も形を変えずに伝播することは驚くべきことであった。使ったコンピュータは不明。

6) 密度汎関数法(コーン・シャム方程式)
電子密度から物理量の計算が原理的に可能であることは、1964年、Walter KohnとPierre Hohenbergによって示されたが、1965年、Walter KohnとLu Jeu Sham(沈呂九)はこれに基づく実際の計算手法を示した。これにより密度汎関数法が確立された。

国際会議

1) ISSCC 1965
12回目となるISSCC 1965 (1965 IEEE International Solid-State Circuits Conference)は、1965年2月17日~19日にPennsylvania大学Irvine AuditoriumとUniversity Museum、およびPhiladelphia Sheratonホテルを会場に開催された。主催はIEEE Professional Technical Group on Circuit Theory、IEEE Philadelphia Sections、IEEE Electronic Circuits and Systems Committee、University of Pennsylvaniaである。組織委員長はJames B. Angeli (Stanford U.)、プログラム委員長はG. Herzog (RCA Labs)であった。電子版の会議録はIEEE Xploreに置かれている。

2) IFIP Congress 1965
第3回目となるIFIP Congress 1965が1965年5月24日~29日、アメリカのNew Yorkで開催された。会議録はInformation processing 1965 : proceedings of IFIP Congress 65のタイトルで、2巻本として1966年、WashingtonのSpartan Books社から出版された。展示会(INTERDATA 65)が併設されていた。

世界の企業の動き

1) IBM社(IBM 1130)
IBM社は1965年2月11日、安価なコンピュータIBM 1130を発表した。System/360と同様なSolid Logic Technologyでつくられ、16ビットアーキテクチャである。アドレス空間は15ビット(32 KW)で、磁気コアを用いている。1965年第4四半期に出荷した。

2) CDC社(CDC 6600)
CDC社 (Control Data Corporation、1957年創立)は、1965年1月14日、CDC 6600をCERN (Geneva)に納入した。

3) DEC社(PDP-8)
DEC (Digital Equipment社)は、1957年創立であるが、1965年3月22日に12ビットのPDP-8を発売した。世界ではじめて商業的に成功したミニコンと言われる。約5万台生産された。インタフェースが公開され、他の装置に接続したり、組み込んだりすることが容易であった。小規模システム用のOSはあったようであるが、1966年、PDP-8のためにMS/8(別名RL Monitor System)というOSが開発された。1971年にはOS/8というOSが開発された。ファイル名にはファイルの型を示す2文字の拡張子がついている。

主任設計者のEdson de Castroは後にData General社を創立した。

京都コンピュータ学院に保存されているPDP-8/Iは、情報処理学会から2014年度情報処理技術遺産に認定された。

4) General Electric社(DTSS、GE-265)
同社は、1960年代初めに、Dartmouth大学とタイムシェアリングシステムの開発に取り組んでおり、同社の工場用プロセス制御小型コンピュータDatanet-30に多数のテレタイプ端末を接続してDTSS (Dartmouth Time Sharing System)を構成した。GE-235はその背後で要求されたプログラムを実行していた。1965年、同社はDatanet-30とGE-235をまとめてGE-265を構成した。GE-265は世界初のTSSマシンであり、1964年、Dartmouth BASICがその上で開発された(ちょっと年が合わないが)。DTSSは大型機のGE-635でも動いた。

5) RCA社(RCA Spectra 70)
RCA社は、1965年4月、RCA Spectra 70シリーズの汎用コンピュータを製造した。非特権命令の命令セットはIBM S/360と互換性がある(筆者もHITAC 8700/8800の命令セットがIBMと類似しているので不思議に思ったことがある。日立はRCAとの技術提携があった)。文字はEBCDIC文字集合を用いた。モデルとしては、15, 25, 35, 45, 46, 55, 60, 61があるが、上位互換性を担保している。モデル15の1号機は1965年9月15日に出荷された。1966年のモデル70/45は中型機であるが、いわゆるmonolithic ICを用いた最初のコンピュータの一つである。IBM社の初期のS/360は、hybrid ICしか用いていなかった。IBM社がmonolithic ICを採用したのは、1969年のmodel 85, 25からである。

6) Honeywell社
1961年、Minneapolis-Honeywell Regulator Co.の社長になったJames H. Bingerは、1965年会長に就任し、通称のHoneywellを正式な社名とした。

1966年4月、東大に全国共同利用施設として大型計算機センターが発足し、HITAC 5020を正式運用する。日本電気は1965年5月にワン・マシン・コンセプトのNEACシリーズ2200を発表した。東京芝浦電気は1965年に中型事務処理用コンピュータTOSBAC-5100を発表した。

left-arrow   new50history-bottom   right-arrow