LARC

UNIVAC LARC("Livermore Advanced Research Computer")は、レミントンランド社初のスーパーコンピュータ構築の試みである。
解説.
その設計は、2個のCPU(これをコンピュータと称する)と1個の入出力(I/O)プロセッサ(これをプロセッサと称する)によるマルチプロセッシングである。
実際に製造された LARC は以下の2台だけであった:
LARCは接合型トランジスタを使用しており、最初のシステムが納入された時点で時代遅れになっていた。LARCは完成時点では非常に高速なコンピュータと言える。その加算時間は4μ秒、乗算時間は8μ秒、除算時間は22μ秒である。1960年から1961年まで世界最高速の地位を維持したが、IBM 7030にその座を奪われた。
技術的詳細.
LARCは、48ビットワード長の大型コンピュータである。二五進法を採用し、4ビットで1桁を表すので11桁の符号付数値を扱うことができる。命令は48ビット、つまり1ワードが1命令に対応している。各桁にパリティビットがあってエラー検出するため、実際には全体で60ビット(データ48ビット、パリティ用12ビット)となっている。基本構成で26本の汎用レジスタを持ち、最大99本の汎用レジスタを持つことができる。汎用レジスタのアクセス時間は1マイクロ秒である。
基本構成では1個の「コンピュータ」を持ち、2台目の「コンピュータ」を接続してマルチプロセッサ構成に拡張することができた。
「プロセッサ」は独立した装置(命令セットも「コンピュータ」とは異なる)であり、12～24台の磁気ドラムメモリ装置、4～40台の磁気テープ装置、2台の電子ページレコーダー、1～2台の高速プリンタ、1台の高速パンチカードリーダーを接続できる。
LARCでは、2500ワードの磁気コアメモリバンクを使用し、1台のメモリ筐体に4個のメモリバンクを格納する。基本構成では8バンク(メモリ筐体2台)であり、20000ワードとなる。最大構成は39バンク(10筐体)、97500ワードである。磁気コアメモリも桁毎のパリティビットをエラー検出のために持っており、1ワード60ビットである。磁気コアメモリのアクセス時間は8μ秒、サイクル時間は4μ秒である。各バンクは独立して操作され、ビジー状態でなければ任意のサイクル時間毎にアクセスを開始することができる。違うバンクにきちんとメモリアクセスが分散されるようにインターリーブアクセスすることで、全体としてスループットを4μ秒とすることができた(例えば、命令フェッチとデータアクセスを別々のバンクになるようプログラムを配置する)。
データ転送バスは2個の「コンピュータ」と1個の「プロセッサ」に接続され、コアメモリは多重化されてスループットを最大限に引き出している。4μ秒のバスサイクルは8つの500ナノ秒のスロットに分割され、以下のようにバスを使用する。このため基本構成で8バンクとなっている。
競合やデッドロックをなくし、システムの複数のセクション(「コンピュータ」、「プロセッサ」、I/O DMA 同期機構)による同一メモリバンクへの同時アクセスを避けるため、コアメモリシステムは優先度とインターロックを行う。あるメモリバンクにアクセスが発生すると、次の4μ秒のサイクル中はアクセスできない。その期間中に他のセクションがその同じメモリバンクにアクセスしようとした場合、それは次のサイクルまで待たされることになる(インターロック)。デッドロックを防ぎ、I/Oシステムのタイムアウトを防ぐため、以下のような優先度制御が行われる。
もし高い優先度のセクションがインターロックで4μ秒サイクル待たされるなら、次の4μ秒サイクルで再試行する間、他の低優先度のセクションはそのメモリバンクへの新たなアクセスができないよう制御される。