| 開発者 | デジタルイクイップメントコーポレーション システムリサーチセンター |
|---|---|
| タイプ | 共有メモリ 非対称マルチプロセッサ ワークステーション |
| オペレーティング·システム | Taos、V (オペレーティング システム) |
| メモリ | 4MB~128MB |
| 画面 | 1024 x 768 ピクセルのモノクロディスプレイ |
| 入力 | キーボードとマウス |
Fireflyは、 Digital Equipment Corporation内の研究機関であるSystems Research Centerによって開発された、共有メモリ 非対称マルチプロセッサ ワークステーションです。最初に構築されたバージョンには、最大 7 個のMicroVAX 78032マイクロプロセッサが搭載されていました。各マイクロプロセッサのキャッシュは、キャッシュ コヒーレンスアルゴリズムであるFirefly プロトコルを使用して、同じメイン メモリの一貫したビューを維持していました。Firefly の 2 番目のバージョンでは、より高速な CVAX 78034 マイクロプロセッサが使用されました。これは後に、コード名Firefox のVAXstation 3520/3540として DEC によって製品として導入されました。
ハードウェアの説明
Firefly は、マイクロプロセッサのうち 1 つだけがI/O サブシステムを実装する Q-Busインターフェイスにアクセスできるため、非対称マルチプロセッサに特化したラック型コンピュータでした。
プロセッサ
Firefly には、プライマリ プロセッサ ボードと、0、1、2、または 3 枚のセカンダリ プロセッサ ボードが含まれていました。これらのプロセッサ ボードのサイズは 8 x 10 インチでした。プライマリ プロセッサ ボードには、マイクロプロセッサ、その浮動小数点コプロセッサとキャッシュ、および Q-Bus 制御ロジックが含まれていました。セカンダリ プロセッサ ボードにはそれぞれ、2 つのマイクロプロセッサ、その浮動小数点コプロセッサとキャッシュが含まれていました。オリジナルの Firefly プロセッサ ボードでは、MicroVAX 78032マイクロプロセッサと MicroVAX 78132 浮動小数点コプロセッサが使用されていましたが、後の Firefly システムでは、より高速なCVAX 78034マイクロプロセッサ、CVAX 浮動小数点チップ (浮動小数点コプロセッサ) が使用されました。プロセッサ ボードは、MBus を介して相互に、およびメモリと通信しました。オリジナルの Firefly のプロセッサ ボードで使用されていたコンポーネントは、MicroVAX II システム用に最初に設計されたものと同じでした。当初、このシステムは、この一般的なアーキテクチャ内で Motorola 68010 プロセッサを使用するように設計されていました。[1]
Firefly のキャッシュは、単純化とマルチプロセッシングのサポートのためにダイレクトマップ方式を採用し、キャッシュの一貫性を確保するためにFirefly プロトコルを採用しました。MicroVAX プロセッサ ボードのキャッシュは容量が 16 KB (4,096 4 バイト ライン) で、11 個の 2 KB (4 ビット x 4,096 ワード) SRAMと 20 個のトランジスタ トランジスタ ロジック(TTL) デバイスで実装されていました。キャッシュ制御ロジックは 15 個のデバイスで実装され、そのほとんどはプログラマブル アレイ ロジック(PAL) デバイスで構成されていました。CVAX プロセッサ ボードのキャッシュは容量のみが異なり、64 KB (16,384 4 バイト ライン) で、8 KB (4 ビット x 16,384 ワード) SRAM で実装されていました。
メモリ
Firefly のプロセッサは、個々のキャッシュと MBus を介してメイン メモリと通信しました。メモリは、MBus に接続する 1 ~ 4 つのメモリ モジュールによって実装されました。オリジナルの Firefly には、容量が 4 MB のマスター メモリ モジュールと、同じ容量の最大 3 つのスレーブ メモリ モジュールがあり、メモリ容量は 4 ~ 16 MB でした。その後の Firefly システムでは、容量が 32 MB のメモリ モジュールが使用され、メモリ容量は 32 ~ 128 MB になりました。オリジナルの MicroVAX ベースの Firefly のメモリ アクセス時間は 400 ns でしたが、CVAX バージョンのメモリ アクセス時間は 200 ns でした。
入出力
I/O デバイスは Q-Bus 経由でシステムに接続され、その 22 ビット アドレス空間は、マスター プロセッサによって制御されるマッピング レジスタを使用して、Firefly の 24 ビット メモリ アドレス空間にマッピングされました。デバイスは、メイン プロセッサのキャッシュを介してメモリにアクセスするために、ダイレクト メモリ アクセス(DMA) を使用しました。Firefly の I/O デバイスは、モノクロ ディスプレイ コントローラ(MDC)、磁気ディスク ドライブ用のバッファ コントローラ、RQDX3、およびDEQNA Ethernet コントローラでした。
DEC は I/O システムのほとんどに既存のコンポーネントを使用しましたが、ディスプレイ コントローラは、既存の製品ではパフォーマンス要件を満たせないと感じたプロジェクトのエンジニアによって Firefly 専用に設計されました。ディスプレイ コントローラは 2 つあり、1 つはカラー グラフィックス用、もう 1 つはモノクロ グラフィックス用でした。これらのコントローラは、DMA を使用してメモリ内にセットアップされた作業キューをチェックすることで動作し、すべてのプロセッサによるディスプレイ ハードウェアへの完全に対称的なアクセスを提供しました。
モノクロ ディスプレイ コントローラ (MDC) は、プロセッサ ボードの半分の大きさのボードに収められており、1024 x 768 ピクセルの解像度を実現できました。このボードには、10 MHz で動作する 16 ビットのAm29116マイクロプロセッサと、2,048 ワードの 40 ビット マイクロ命令メモリを含む 10 KB のメモリが搭載されていました。1024 x 1024 ピクセルのフレーム バッファはVRAMで実装され、その 4 分の 3 はディスプレイビットマップの保持に使用され、残りはディスプレイ マネージャ用またはフォントのキャッシュに使用されました。
29116 マイクロプロセッサは、DMA を使用してメモリ内にセットアップされた作業キューを定期的にチェックし、そのキューからコマンドを実行しました。コマンドは、フレーム バッファ内、システム メモリとフレーム バッファ間でBitBlt操作を実行し、フォント キャッシュから文字を描画するためにも使用されました。
ディスプレイ ハードウェアは、キーボードとマウスのインターフェイスも提供しました。MDC は、マウスの位置と、キーボードの状態を表すエンコードされていないビットマップを 1 秒間に 60 回メモリに書き込みました。MDC を I/O デバイスとして実装した結果、Firefly は複数のモニターに接続された 1 つのシステムで複数のディスプレイ コントローラーをサポートしました。
ソフトウェア
Firefly の派生型のうち 2 つはTopazと呼ばれるシステム ソフトウェアを使用していました。これは、 Nubと呼ばれるマイクロカーネルを使用するTaos オペレーティング システムやTrestleウィンドウ システムなど、複数のコンポーネントで構成されていました。Taos の特徴の 1 つは、Ultrixバイナリ呼び出しインターフェイスをサポートし、MicroVAX用にコンパイルされた既存の Ultrix バイナリを Firefly 上で変更されていないイメージで実行できることでした。Ultrix とは対照的に、Topaz は複数のプロセッサにまたがる複数のスレッドを持つプロセスをサポートし、Taos システムは Ultrix と Topaz の両方のアプリケーションを同時に実行できました。Modula -2+ ( Modula-2拡張言語) は、Topaz とそのアプリケーションのプログラミングに使用されました。
Stanford V (オペレーティング システム) は、 BA123 シャーシと QVSS?VCB01 グラフィックス内の 1 つの CVAX と 4 つの Microvax-II CPU を備えた構成で Firefly もサポートしていました。
参照
- Firefly プロトコル- Firefly で使用されるキャッシュ一貫性プロトコル。
参考文献
- ^ Thacker, Charles (1984年9月22日). Fireflyワークステーション(PDF) (技術レポート). Digital Systems Research Center . 2021年11月21日閲覧。
外部リンク
- Paul R. McJones と Garret F. Swart、「マルチスレッド プログラムをサポートするための UNIX システム インターフェイスの進化」、1987 年 9 月 28 日。
- Charles P. Thacker、Lawrence C. Stewart、Edwin H. Satterthwaite Jr. (1987 年 12 月 30 日)。「Firefly: マルチプロセッサ ワークステーション」(PDF)。
{{cite web}}: CS1 maint: 複数の名前: 著者リスト (リンク)代替URL - マルチプロセッサワークステーション
- VAX3520/40 Firefox Firefly製品に関するコンピュータの説明メッセージ
