ICL 2900シリーズ

ICL 2966 モデル39

ICL 2900 シリーズは、1974 年 10 月 9 日に英国のメーカーInternational Computers Limitedによって発表されたメインフレームコンピュータシステムシリーズです。同社は 1968 年の設立直後から「New Range」という名前で開発を開始しました。このシリーズは、同社が以前に製造したマシンや競合他社のマシンとの互換性を考慮して設計されたものではなく、むしろさまざまなソースから得られる最良のアイデアを組み合わせた 総合的なオプションとして考案されました。

マーケティング的には、2900 シリーズは1980 年代半ばにシリーズ 39に置き換えられましたが、シリーズ 39 は、本質的には 2900 シリーズのアーキテクチャを実装した新しいマシン セットであり、その後の ICL マシンも「Trimetra」というブランド名で販売されました。

起源

1968年、 International Computers and Tabulators(ICT)とEnglish Electric Leo MarconiElliott Automationの合併によりICLが設立された際、同社は将来の製品ラインについていくつかの選択肢を検討しました。これには、ICTの1900シリーズまたはEnglish Electric System 4の改良、そしてJK IliffeのBasic Language Machineをベースにした開発が含まれていました。最終的に選択されたのは、いわゆるSynthetic Option、つまりゼロから構想された新しい設計でした。

名前が示すように、この設計は多くのものか​​ら影響を受けており、その中には初期のICLマシンも含まれています。ICLは単一の高級言語に設計を最適化するという概念を拒否しましたが、Burroughsメインフレームの設計は大きな影響を与えました。Multicsシステムは、特に保護の分野で、他のアイデアを提供しました。しかし、最も大きな外部からの影響を受けたのはおそらくマンチェスター大学で開発されたMU5マシンでしょう。

建築コンセプト

ICL 2966 ディスクドライブ
オペレーターがディスクパックをユニットに装填する
オペレーターがディスクパックをユニットに装填する

仮想マシン

2900シリーズアーキテクチャでは、プログラムが利用できるリソースセットとして仮想マシンの概念を採用しています。2900シリーズアーキテクチャにおける仮想マシンの概念は、他の環境で使用される用語とは異なります。各プログラムは独自の仮想マシン内で実行されるため、この概念は他のオペレーティングシステムにおけるプロセスに似ていますが、2900シリーズのプロセスはスレッドに似ています。

仮想マシンにおける最も顕著なリソースは仮想ストア(メモリ)です。その他のリソースには、周辺機器、ファイル、ネットワーク接続などがあります。

仮想マシンでは、コードはアクセス レベル (またはメカニズムを制御するアクセス制御レジスタにちなんで ACR レベル) と呼ばれる 16 層の保護のいずれかで実行できます。最高権限レベルのオペレーティング システム コード (カーネル)は、ファイルストア アクセスやネットワークを実装するサブシステムなどの中間レベルと同様に、ユーザー アプリケーションと同じ仮想マシンで動作します。したがって、システム コールには保護レベルの変更が伴いますが、異なる仮想マシンでコードを呼び出すためのコストの高い呼び出しにはなりません。すべてのコード モジュールは特定のアクセス レベルで実行され、より低いレベルの (より権限の高い) コードによって提供される機能を呼び出すことができますが、そのレベルのメモリやその他のリソースに直接アクセスすることはできません。したがって、アーキテクチャには、システムの整合性を確保するための組み込みのカプセル化メカニズムが用意されています。

メモリセグメントは仮想マシン間で共有できます。共有メモリには2種類あります。オペレーティングシステムが使用するパブリックセグメント(すべての仮想マシンに存在)と、アプリケーションレベルの共有データに使用されるグローバルセグメントです。後者のメカニズムは、2つの仮想マシン間で通信を行うアプリケーション要件がある場合にのみ使用されます。例えば、グローバルメモリセグメントはデータベースのロックテーブルに使用されます。ハードウェアセマフォ命令は、このようなセグメントへのアクセスを同期するために使用できます。ただし、グローバルセグメントを共有する2つの仮想マシンは、同じメモリ位置に異なる仮想アドレスを使用します。つまり、仮想アドレスをある仮想マシンから別の仮想マシンに安全に渡すことはできません。

ICL 2900 シリーズおよびICL シリーズ 39マシンで使用される中央処理装置(CPU)の用語は、「オーダー コード プロセッサ (OCP)」です。

アドレス指定メカニズム

2900アーキテクチャはハードウェアベースのコールスタックをサポートしており、特に再帰関数呼び出しを可能にする高水準言語プログラムを実行するための効率的な手段を提供します。これは当時としては先進的な決定でした。なぜなら、当初はCOBOLFORTRANがプログラミング言語の主流になると予想されていたからです。このアーキテクチャは、スタックを使用してプロシージャ呼び出しを行うための組み込みメカニズムと、スタックのトップと現在のスタックフレームのベースをアドレス指定するための 特殊用途レジスタを提供します。

オフスタックデータは通常、記述子を介してアドレス指定されます。これは、32ビットの仮想アドレスと32ビットの制御情報を含む64ビット構造です。制御情報は、アドレス指定対象の領域がコードかデータかを識別します。データの場合は、アドレス指定対象の項目のサイズ(1、8、32、64、または128ビット)、ハードウェアによる配列境界チェックが必要かどうかを示すフラグ、その他様々な詳細が含まれます。

32 ビットの仮想アドレスは、14 ビットのセグメント番号とセグメント内の 18 ビットの変位で構成されます。

命令コードは厳密には2900アーキテクチャの一部ではありません。この事実は、他のマシンの命令セットをマイクロコード化することでエミュレートするために利用されてきました。しかし実際には、2900シリーズのすべてのマシンは、PLI(Primitive Level Interface)と呼ばれる共通の命令コードまたは命令セットを実装しています。これは主に高級言語コンパイラをターゲットとして設計されています。2980や2988などの最も強力なマシンはすべての命令をハードウェアで実装していましたが、その他のマシンはマイクロコード化されたファームウェアを使用していました。

レジスタは複数あり、それぞれが特定の用途向けに設計されています。アキュムレータレジスタ(ACC)は汎用的に使用でき、32ビット、64ビット、または128ビットのサイズを選択できます。Bレジスタは配列のインデックスに使用されます。LNB(ローカルネームベース)レジスタは現在のスタックフレームのベースを指し、SF(スタックフロント)レジスタはスタックの移動可能な「トップ」を指します。DRレジスタはヒープへのアドレス指定用の記述子を保持するために使用されます。その他、スタック外データへの32ビットポインタが2つあります。XNB(エクストラネームベース)とLTB(リンクテーブルベース)です。

PLI 命令が認識するデータ形式には、32 ビットの符号なし整数、32 ビットと 64 ビットの 2 の補数整数、32 ビット、64 ビット、128 ビットの浮動小数点数、32 ビット、64 ビット、128 ビットのパック 10 進数があります。C や UNIX の慣例に反して、ブール値trueはゼロ、false はマイナス 1 で表されます。文字列は 8 ビット文字の配列として格納され、通常はEBCDICでエンコードされます (ただし、ICL の EBCDIC は IBM のバージョンとは若干異なります)。特権レジスタに制御ビットを設定することで、EBCDIC の代わりにISO (基本的にはASCII )を使用することもできます。これは、特に、特定の 10 進変換命令に影響します。

PLI命令の一部、特に手続き呼び出し命令は非常に強力であるため(特にシステムコール)、2900シリーズの命令速度は必ずしも競合他社のハードウェアと直接比較できるとは限りません。ICLのマーケティング資料では、「IBM相当のMIPS」という概念が用いられる傾向がありました。これは、アプリケーションベンチマークで同等のスループットを達成したIBMメインフレームのMIPS性能です。2900アーキテクチャによって達成された効率性、特にシステムコールのオーバーヘッドの回避は、比較的遅いハードウェア性能を補うものでした。

実装

ICL 2900シリーズ(1980年時点)[ 1 ]
プロセッサモデル発表配達済み後期モデル
Pシリーズ
P429801974年10月1975年6月
P329701974年10月1974年12月
P2L29601976年3月1975年12月
P2S2950キャンセル
PI2940キャンセル
P02930キャンセル
Sシリーズ
S4キャンセル
S329661980年11月1981年6月2955、2958、2977、2988
シーズン229561980年11月-
S129501977年11月1978年6月2946

P(並列)シリーズ

オペレータコンソールとして使用されるICL 7561端末

2900 シリーズで最初に発表されたマシンは、2980 と 2970 でした。2980 では、1 つまたは 2 つのオーダー コード プロセッサ (OCP) が許可され、それぞれが 1 秒あたり最大 300 万命令で動作し、最大 8 メガバイトまで構成可能な実メモリと 500 ナノ秒のアクセス時間を備えていました。

2980は、当初ICLのニューレンジ・メインフレーム・コンピュータの中で最も高性能なモデルでした。OCPに加え、ストア多重アクセス・コントローラ(SMAC)1台と1台以上のストア・アクセス・コントローラ(SAC)、汎用周辺装置コントローラ(GPC)、1台以上のディスク・ファイル・コントローラ(DFC)、通信リンク・コントローラ(CLC)、ディスクドライブ(標準的な構成ではEDS 200ドライブ8台)、テープデッキ、オペレーティング・ステーション(OPER)、ライン・プリンタ、カードリーダーで構成されていました。ICL VME(VME/B、VME/K)またはエジンバラ多重アクセス・システム(EMAS)オペレーティングシステムを実行できました。2980の標準的な構成は約200万ポンド(2023年の1600万ポンドに相当)でした。

2980 とは異なり、2970 と後続の 2960 はマイクロコード化されており、古い 1900 シリーズや System 4 などの命令セットのエミュレーションが可能でした。

2900シリーズマシンは、それぞれが独立したキャビネットに収納された複数の機能モジュールで構成されていました。周辺機器は、ICLのプリミティブインターフェース(ソケット/プラグおよびケーブルセット)を介してSMAC上のポートアダプタに接続されていました。論理アドレス指定が採用され、ポート、トランク、ストリームというグループ方式を用いてシステムコンポーネントが識別されました。

トランクは、周辺機器コントローラが割り当てられるポート内の総称とハードウェアアドレスです。トランクとは、複数のストリームデバイス用のコントローラの総称です。ストリームとは、個々の周辺機器を参照できるチャネルの総称です。

2960シリーズのブートプロセスは特筆に値します。OCPにはミニOPER端末とカセットデッキが搭載されていました。ブート時に、OCPは指定されたIPLデバイスから初期プログラムロード(IPL)を実行します。IPLコードは、OCPがストリーム、トランク、ポートを照会し、ブートするマイクロコードセットやオペレーティングシステムのデフォルトまたは手動で選択されたブートデバイスを見つけることで、システムのハードウェア構成を検出する手段を提供しました。このプロセスはGROPE(General Reconnaissance Of Peripheral Equipment:周辺機器の総合偵察)と呼ばれていました。カセットロード方式により、エンジニアリングスタッフは診断ソフトウェアをロードして実行することもできました。

S(シリアル)シリーズ

その後、最初のマシンは、2966ミッドレンジ設計に基づくマシンファミリーに置き換えられました。2966は製造コストが低く、並列接続ではなくシリアル接続を採用していました。2966は、性能が2988まで拡張され、さらに2958まで性能が拡張され、デュアルプロセッサ版も追加され、全性能範囲をカバーしました。[ 2 ]

参照

出典

参考文献

  1. ^ Campbell-Kelly, Martin (1989年11月). 「ICL社の研究開発。第3部:新製品群とその他の開発」(PDF) . ICL技術ジャーナル. 6 (4). ICL: 791– 795. 2021年12月19日閲覧
  2. ^ Moralee, Dennis (1981年11月~12月). 「Robb Wilmot: The ICL Story」 . Electronics & Power . 27 (11). doi : 10.1049/ep.1981.0360 . 2021年12月18日閲覧。
手前にある44、45などのラベルが貼られたキャビネットは交換可能なディスクドライブです。キャビネット上部のプラスチック製の容器は、ドライブから取り外されたディスクを収納するために使われます。プラッタを多く収納できる大きな容器は200MBの容量があり、小さな容器は通常40MBの容量です。キャビネットのオレンジ色(正式名称は「バーント・タンゴ」)は、システムがリリースされた当時、ICLの企業イメージで主に使用されていた色です。