LARC

UNIVAC **LARC**（*Livermore Advanced Research Computer*）は、核兵器設計のための流体力学シミュレーションを実行するために、エドワード・テラーが発表した要件に基づいて設計され、スペリーランド社が製造したメインフレームコンピューターである。同社初のスーパーコンピュータ構築の試みであり、初期のスーパーコンピューターの1つである。重量は約52トン。

## 概要
その設計は、2個のCPU（これを**コンピュータ**と称する）と1個の入出力（I/O）プロセッサ（これを**プロセッサ**と称する）によるマルチプロセッシングである。基本構成では1個の「**コンピュータ**」を持ち、2台目の「**コンピュータ**」を接続してマルチプロセッサ構成に拡張することができたが、実際に製造された LARC は以下の2台だけで、いずれも1個の「**コンピュータ**」を持っているだけであった:

# 1号機はローレンスリバモア国立研究所に1960年6月に納入された。
# 2号機はアメリカ海軍のデヴィッド・タイラー水槽試験所に納入された。
使用された素子は、Philco社が開発したシリコン表面障壁型バイポーラトランジスタで、完成時点では非常に高速なコンピュータと言えたが、納入された時点で時代遅れになっていた。その加算時間は4μ秒、乗算時間は8μ秒、除算時間は28μ秒である。1960年から1961年まで世界最高速の地位を維持したが、1961年には、IBM 7030（Stretch）にその座を奪われた。

LARCはStretchと異なり、開発した技術をその後の製品に活用できなかった。UNIVAC III（1962年）、UNIVAC 490（1963年？）、UNIVAC 1107（1960年発表、1962年出荷）という3つの開発プロジェクトが競合し、ともに完成が遅れていた。

## 技術的詳細

### システム構成
基本構成は1個の「**コンピュータ**」であり、2個目の「**コンピュータ**」を追加すればマルチプロセッサーに拡張できる。

「**プロセッサ**」は、命令セットも「**コンピュータ**」とは異なる独立した装置であり、12～24台の磁気ドラムメモリ装置、4～40台の磁気テープ装置、2台の電子ページレコーダー（ブラウン管に面した35mmフィルムカメラ）、1～2台の高速プリンタ、1台の高速パンチカードリーダーの制御を行う。

48ビットワード長、二五進法を採用し、4ビットで1桁を表すので11桁の符号付数値を扱うことができる。命令は48ビット、つまり1ワードが1命令に対応している。各桁にパリティビットがあってエラー検出するため、実際には全体で60ビット（データ48ビット、パリティ用12ビット）となっている。基本構成で26本の汎用レジスタを持ち、最大99本の汎用レジスタを持つことができる。汎用レジスタのアクセス時間は1マイクロ秒である。

2500ワードの磁気コアメモリバンクを使用し、1台のメモリ筐体に4個のメモリバンクを格納する。基本構成では8バンク（メモリ筐体2台）であり、20,000ワードとなる。最大構成は39バンク（10筐体）、97,500ワードである。磁気コアメモリも桁毎のパリティビットをエラー検出のために持っており、1ワード60ビットである。磁気コアメモリのアクセス時間は8μ秒、サイクル時間は4μ秒である。各バンクは独立して操作され、ビジー状態でなければ任意のサイクル時間毎にアクセスを開始することができる。違うバンクにきちんとメモリアクセスが分散されるようにインターリーブアクセスすることで、全体としてスループットを4μ秒とすることができた（例えば、命令フェッチとデータアクセスを別々のバンクになるようプログラムを配置する）。
データ転送バスは2個の「**コンピュータ**」と1個の「**プロセッサ**」に接続され、コアメモリは多重化されてスループットを最大限に引き出している。4μ秒のバスサイクルは8つの500ナノ秒のスロットに分割され、以下のようにバスを使用する。このため基本構成で8バンクとなっている。
#*プロセッサ* - 命令とデータ
#*コンピュータ* 1 - 命令
#*コンピュータ* 2 - データ
#I/O DMA 同期機構 - データ
#未使用
#*コンピュータ* 2 - 命令
#*コンピュータ* 1 - データ
#I/O DMA 同期機構 - データ

競合やデッドロックをなくし、システムの複数のセクション（「コンピュータ」、「プロセッサ」、I/O DMA 同期機構）による同一メモリバンクへの同時アクセスを避けるため、コアメモリシステムは優先度とインターロックを行う。あるメモリバンクにアクセスが発生すると、次の4μ秒のサイクル中はアクセスできない。その期間中に他のセクションがその同じメモリバンクにアクセスしようとした場合、それは次のサイクルまで待たされることになる（インターロック）。デッドロックを防ぎ、I/Oシステムのタイムアウトを防ぐため、以下のような優先度制御が行われる。
#I/O DMA 同期機構 - 最高優先度
#*プロセッサ*
#*コンピュータ* - 最低優先度
もし高い優先度のセクションがインターロックで4μ秒サイクル待たされるなら、次の4μ秒サイクルで再試行する間、他の低優先度のセクションはそのメモリバンクへの新たなアクセスができないよう制御される。

LARCの**コンピュータ**は、UNIVACが各システムに書き込んで提供する**プロセッサ**制御プログラムを読み込んで解釈できるように、プロセッサ用のメモリにサマリー・オーダーのリストを書き込み、必要なI/Oを要求する。

## 1デジット数字コード
LARCの基本的な5ビットの2進コードでは、15の組み合わせが許されており、そのうちのどれかが記憶装置のどの桁の位置にも記憶される可能性がある。

## 参考文献
* *From Dits to Bits... : A Personal History of the Electronic Computer*, Herman Lukoff, 1979年. Robotics Press, ISBN 0-89661-002-0

## 脚注

## 関連文献
* 
* 

## 関連項目
* ユニバック製品一覧
* 計算機の歴史
* 二進化十進表現
* UNIVAC
* ジェフリー・チュアン・チュー - 主任設計者

## 外部リンク
*Universal Automatic Computer Model LARC
*LARC Manuals and documentation
*Margaret R. Fox Papers, 1935–1976, Charles Babbage Institute, University of Minnesota.  collection contains reports, including the original report on the ENIAC, UNIVAC, and many early in-house National Bureau of Standards (NBS) activity reports; memoranda on and histories of SEAC, SWAC, and DYSEAC; programming instructions for the UNIVAC, **LARC**, and MIDAC; patent evaluations and disclosures relevant to computers; system descriptions; speeches and articles written by Margaret Fox's colleagues.
*Universal Automatic Computer Model LARC
*LARC Manuals and documentation