ノルド5

Nord-5はノルスク・データ社初の32ビットマシンであり、様々な条件付きではあるものの、初の32ビットミニコンピュータであると主張された[ 1 ]。同社の資料では「2台以上のNORD-1コンピュータによって監視される補助コンピュータ」と説明されており、この構成は「NORD統合コンピュータシステム」またはNORDICシステムを構成する。このより包括的な構成こそが、このマシンが業界初を達成したという主張を裏付けていたと言えるだろう。[ 2 ] : iii NORDIC構成は、550万ノルウェークローネ(63万ドル、現在の価値で約3980万ノルウェークローネ)を超える費用でノルウェー気象研究所に納入された。 [ 3 ]後継機であるNord-50も「特殊用途コンピュータ」と称され、同様にNord-10ホストコンピュータに依存していた。[ 4 ] : III

1972年に発表されたNord-5は、報告書では「スーパーミニコンピュータ」に分類され、回顧的に「技術的には成功していたが、商業的には失敗だった」と評された。[ 5 ] 1977年までに販売された顧客は、ノルウェー原子力研究所、ノルウェー気象研究所、アルジェリア国立気象局のわずか3社であった。この時点でNord-50システムは10台納入されていた。[ 6 ]両モデルは、最終的に1981年に発表されたND-500ファミリーに置き換えられた。 [ 7 ]

当初はUNIVAC 1106IBM System/360 Model 44に対抗するNord-1の大型版として説明されていたが[ 8 ]、Nord-5はフロントエンドのコンソールプロセッサとしてNord-1を使用し、オペレーティングシステムの大部分を実行した。[ 9 ]「数値計算における高性能」を目的として設計されたこのマシンは、浮動小数点乗算を約1μs、除算を約8μsで実行できた。[ 2 ] : iii

Nord-50は、「IBM 370/158-33031と同等の処理能力を10万ポンド強で実現」し、「ミニスーパーコンピュータ、 CDC Cyber​​ 76やCray-1の小型版」と評された。[ 6 ]実際には、ベンチマークテストで50万MWIPS(Whetstone命令/秒)を達成したと報告されている。これは、それぞれ0.8MWIPSと0.9MWIPSという、より高価なIBMマシンの性能を大幅に上回るものだった。[ 10 ]

Nord-5とNord-50のアーキテクチャ

Nord-5とNord-50は、専用の入出力命令、割り込み関連命令、メモリ管理機能をサポートしない、ほぼ同様のCPUを提供しました。これらの機能は、それぞれNord-1とNord-10ホストコンピュータに委任されていました。 [ 2 ] : iii [ 4 ] : III 各マシンのCPUは、メモリアクセスを実行するもの、内部または外部レジスタを操作するもの、レジスタ値と定数オペランドまたは引数を組み合わせるものに分かれた、さまざまなデータ操作をサポートする3つのクラスの命令を提供します。[ 2 ] [ 11 ]

Nord-50のCPUはTTL集積回路で実装され、レジスタストレージにはSN7489 64ビットRAMチップ[ 4 ] : III-5-1 SN74181算術論理ユニットが採用されていました。後者はCPUがサポートする命令エンコーディングに影響を与え、74181の機能選択入力エンコーディングはメモリアドレス指定命令の機能コードフィールドに影響を与えました。[ 4 ] : III-6-1

限られた数の 16 ビット レジスタを提供していた Nord-1 および Nord-10 と比較すると、Nord - 5および Nord - 50より多くの汎用 32 ビット レジスタを提供し、これはその命令セット に反映されており、Nord-1 および Nord- 10の 16 ビット命令ワードとは対照的に 32 ビット ワード内に命令をエンコードし、Nord-1 および Nord-10によって提供されるレジスタ固有の命令と は対照的に、 ロード、ストア、シフト操作のためのより汎用的な命令を提供しています。算術演算およびレジスタ転送操作の命令は同等の Nord-1 および Nord-10 の命令のように特定のレジスタに対する操作に限定されるのとは対照的に、より汎用的です。倍精度浮動小数点演算もNord-5とNord-50の注目すべき利点であり、追加命令に値します。[ 4 ]:CI.1~CI.6

レジスター

Nord-5およびNord-50のCPUは、32ビットサイズの汎用レジスタを64個備えており、GR 0..63と表記される。浮動小数点演算は各システムの中核機能であるため、浮動小数点演算でもこれらのレジスタが使用される。ここで、Nord-5とNord-50は浮動小数点表現のサポートにおいて相違があり、Nord-5は52ビットの仮数部と11ビットの指数部を持つ64ビット表現のみをサポートしている[ 2 ] : 1–2, 1–3。 一方、Nord-50は32ビットと64ビットの表現をサポートしており、後者は55ビットの仮数部と9ビットの指数部を備えている[ 11 ] : 1–2, 1–3。

Nord-5/Nord-50 の汎用レジスタエイリアス
3 1... 0 03 1... 0 0
ベースレジスタ インデックスレジスタ フローティングレジスタ 変更登録 浮動小数点レジスタ(64ビット)
BR 0..15XR 0..15FR 0..15MR 0..15
GR 0GR 16FR 0 / FDR 0
... ... ...
GR 15GR 31FR 15 / FDR 15
GR 32GR 48FR 32 / FDR 32
... ... ...
GR 47GR 63FR 47 / FDR 47
Nord-50の指定はイタリック体で表記されます

64ビット値には32ビット汎用レジスタのペアが必要となるため、Nord-5はFR 0..15の各浮動小数点レジスタを、64ビット表現の最上位ワードに対応するGR 0..15のレジスタにマッピングし、そのレジスタを最下位ワードに対応するGR 16..31のレジスタとペアにします。同様に、FR 32..47は、GR 32..47のレジスタをGR 48..63のレジスタとペアにします。[ 2 ] : 1–4 この配置は、倍精度浮動小数点レジスタ(FDR 0..15,32..47と表記)のNord-50でも引き継がれており、単精度浮動小数点レジスタFR 0..15,32..47はGR 0..15,32..47に対応し、これにより、倍精度浮動小数点レジスタに割り当てられたペアのレジスタのうちの1つだけが使用される[ 11 ] : 1–4

最初の 16 個の汎用レジスタは、メモリアクセス命令でベースレジスタまたはインデックスレジスタの役割を果たすことができるという点でより汎用性が高く、ベースレジスタ BR 0..15とインデックスレジスタ XR 0..15を提供します。次の 16 個の汎用レジスタは、特定の状況下では変更レジスタとしての特別な役割も担い、 MR 0..15はGR 16..31に対応します。[ 2 ] : 1–5 [ 11 ] : 1–7 他のプロセッサアーキテクチャと同様に、ゼロレジスタ GR 0はゼロの値に接続され、これはレジスタのすべての解釈に影響します( BR 0、 FR 0、 XR 0、および MR 0)。[ 2 ] : 1–4 [ 11 ] : 1–4

特定の役割を担う特殊レジスタには、乗算に適用されるオーバーフローレジスタ(OR)と除算に適用される剰余レジスタ(RR)がある。プログラムカウンタレジスタ(P)はメモリから読み出される命令のアドレスを保持し、命令レジスタ(IR)は現在実行中の命令を保持している。[ 2 ] : 1–5 [ 11 ] : 1–7

命令セット

メモリ参照命令は、実効メモリアドレスの計算と、その計算された位置へのアクセスを伴います。このような命令は、直接アドレス指定または間接アドレス指定を伴う場合があります。直接アドレス指定命令は、実効アドレスと指定されたレジスタを用いて、指定された関数の実行を伴います。

メモリ参照命令(直接および間接)
少し
313029282726252423222120191817161514131211109876543210
私 = 0X(インデックス)B(ベース)FC(機能コード)R/F/FD(レジスタ指定子)D(変位)
私 = 1X(インデックス)B(ベース)0D(変位)

どちらの形式でも、有効なアドレスは、指定されたベース レジスタとインデックス レジスタを使用して計算され、変位値が加算されます。

Ea = RB + R X + D

Iフィールドがセットされていないかクリアされている場合、直接アドレス指定命令は、実効アドレスとレジスタ指定フィールドで指定されたレジスタを用いて、FCフィールドで指定された機能を実行します。各機能は特定の命令の基礎となり、以下の例が含まれます。

説明書オペレーション
LDR、STR、XMRレジスタとメモリ間の転送(ロード、ストア、交換)
LDF、STF (Nord-5) LDD、STD (Nord-50)レジスタとメモリワードのペア間の倍精度浮動小数点値の転送(ロード、ストア)
ADD、ADM、AND、DIV、MPY、SUB結果がレジスタまたはメモリに格納される算術演算および論理演算
FAD、FDV、FMU、FSB単精度(Nord-50)または倍精度(Nord-5)浮動小数点演算、レジスタの更新
FADD、FDVD、FMUD、FSBD倍精度(Nord-50)浮動小数点演算、レジスタの更新
JRF、JRN、JRP、JRZ条件ジャンプ操作はレジスタ値をテストし、実効アドレスにジャンプします。
JFM、JNM、JPM、JZM条件付きジャンプ操作は、変更されたレジスタ値をテストし、有効なアドレスにジャンプします。
RTJジャンプ、戻りアドレスをレジスタに格納

より特殊な操作としては、条件付きスキップ操作(CRD、CRE、CRG、CRLなど)があります。これは、レジスタ値と実効アドレスから取得した値を比較し、条件が満たされたストリーム内の次の命令をスキップします。リモート実行(EXC)は、実効アドレスから取得した命令の実行、あるいは計算されたアドレス値自体を命令として解釈して実行します。

Iフィールドがセットされると、間接アドレス指定命令が発生し、実効アドレスの計算に潜在的に大きな変位値が組み込まれる。しかし、関数は何も関与しない。代わりに、計算された実効アドレス位置の32ビットワードが取得され、新しい実効アドレスの詳細をエンコードする別のメモリ参照命令が提供される。このように、命令は通常の命令ストリームの外部から実質的にロードされ、実行される。これはEXC命令に似ている。別の間接アドレス指定命令が取得されると、新しい実効アドレスを取得するサイクルが繰り返され、最大16個の間接参照の連鎖がアーキテクチャによって許可され、直接参照によって終了する。[ 2 ]:2–1、2–2 [ 11 ]:2–1、2–2

レジスタ間命令は、レジスタのみを使用する操作です。メモリ参照命令とは、ビット18~22がクリアされていることで区別できます。また、ビット31は引数命令と区別するためにクリアされています。[ 2 ] : 2–3 [ 11 ] : 2–3

レジスタ間命令
少し
313029282726252423222120191817161514131211109876543210
0RFC(機能コード)RSC(サブ機能コード)0DR/DF/DFD(宛先レジスタ指定子)SRA/SRAD(ソースレジスタA指定子)SRB(ソースレジスタB指定子)

このフォーマットは、一般的に2つのソースレジスタと1つの結果(デスティネーション)レジスタの使用を示唆しています。ただし、一部の命令では、SRBフィールドを使用してシフト量やビット番号などの定数をエンコードします。このクラスの命令でエンコードされる機能は、以下のものを含め、いくつかの命令をサポートしています。

説明書オペレーション
リン、敗走プロセッサと外部レジスタ間の転送
SHR、SHD32ビットおよび64ビット値に対する算術および論理シフト演算
BCL、BCM、BST指定されたビットに対するクリア、補数、およびセット操作
FIX、FLO FIR、FIRD、FIXD、FLOD (Nord-50)整数値と浮動小数点値間の変換
FRO、IRO、LRO浮動小数点および整数演算、論理演算

条件付きスキップ命令もこのクラスの命令に含まれており、個々のビットのテスト(BSO、BSZ)を行うか、浮動小数点演算と整数演算を行った後にゼロとの比較演算(FRS、IRS)を行い、その結果によって次の命令をスキップするかどうかを決定します。特異なのは、モニター呼び出し(STOP)命令で、これは機能関連フィールドにゼロを使用し、Nord-1またはNord-10モニタープログラムではビット0から17を機能コードとして使用します。[ 2 ] : 3–2 [ 11 ] : 3–2

引数命令は、命令内にエンコードされた定数値をレジスタ値に適用し、レジスタを更新する操作です。メモリ参照命令との区別は、ビット18~22がクリアされ、ビット31がレジスタ間命令と区別するためにセットされている点が異なります。[ 2 ]:2~3 [ 11 ]:2~3

引数命令
少し
313029282726252423222120191817161514131211109876543210
1AFC(機能コード)DR(宛先レジスタ)0ASF(サブ機能コード)A(議論)

このクラスの命令は、単純な算術演算(DAR)、論理演算(DLR)、またはオペランドと補数演算を含む条件付きスキップ演算(DSK)を実行する3種類の「直接」命令に限定されています。[ 2 ]:4–1、4–2 [ 11 ]:4–1、4–2

分類

大きなレジスタファイル、マイクロコードの欠如、そしてレジスタ間高速演算の重視から、Nord-5はRISCアーキテクチャの要件を満たしていると主張された。[ 14 ]しかし、ベースオペランドやインデックスオペランドとしての使用など、特定の用途におけるレジスタの利用制限は、レジスタファイルをアドレスレジスタとデータレジスタに分割するMotorola 68000などのCISCアーキテクチャに類似している。また、一部の命令は、従来のRISCアーキテクチャのロード・ストア・アーキテクチャの特徴とは異なり、処理操作とメモリアクセスを組み合わせている。また、実効アドレスの繰り返し計算とそれらのアドレスからの値取得を伴う間接アドレッシング機構は、複数のサイクルを必要とするため、従来のRISCアーキテクチャが採用している、いくつかの単純なアドレッシングモードを持ち、ほとんどの命令をシングルサイクル実行に限定するという原則にも反する。このアーキテクチャでは命令実行はパイプライン化されていないが、次の命令は現在の命令の実行と並行して取得される。[ 4 ] : III-8-1

参考文献

  1. ^ Holt, Knut (1988).製品イノベーションマネジメント. Butterworth & Co. (Publishers) Ltd. p. 318 . 2023年7月7日閲覧
  2. ^ a b c d e f g h i j k l m n NORD-5 命令セット(PDF)。 A/S Norsk Data-Elektronikk。 1971 年 9 月2024 年8 月 30 日に取得
  3. ^ “データシュティルト・ヴァールヴァースリング” . Glåmdalen (ノルウェー語ブークモール)。 1972 年 5 月 4 日。p. 112025 年9 月 21 日に取得
  4. ^ a b c d e f NORD 50 機能説明(PDF) . Norsk Data AS. 1977年11月. 2024年8月24日閲覧
  5. ^スミス、ケビン(1985年12月16日)「ノルスク・データ、汎欧州展開で急成長」エレクトロニクス』 62~ 63頁 。 2023年7月7日閲覧
  6. ^ a b Lamond, Fred (1977年11月10日). 「ノルウェーの『メインフレーム』ミニの成功」 Computer Weekly . p. 31. 2026年2月3日閲覧
  7. ^ Cahill, Kevin (1981年4月9日). 「Norskが欧州初の32ビットミニを発売」 Computer Weekly . p. 3. 2024年6月24日閲覧
  8. ^ 「ノルウェーのコンピューターを船が受け入れる」エレクトロニクス』誌、1970年12月21日、p.76 。 2023年7月7日閲覧
  9. ^ NORD-10 の設計目標(PDF)。ノルスク データ AS。 p. 32024 年8 月 26 日に取得
  10. ^ 「Whetstoneベンチマークの履歴と結果」 Roy LongbottomのPCベンチマークコレクション。2014年10月。 2024年8月31日閲覧
  11. ^ a b c d e f g h i j k NORD-50 リファレンス マニュアル(PDF)。ノルスク データ AS。 1976 年 2 月2024 年8 月 26 日に取得
  12. ^ a b NORD-1 リファレンス マニュアル(PDF)。 A/S Norsk Data-Elektronikk。 1970 年 2 月2024 年8 月 31 日に取得
  13. ^ a b NORD-10/S リファレンス マニュアル(PDF)。ノルスク データ AS。 1977 年 6 月2024 年8 月 31 日に取得
  14. ^スカール、ロルフ (1989)。ノルスクの情報技術。 Ingeniørforlaget/Teknisk Ukeblad。12~ 13ページ 2025 年11 月 21 日に取得