NS32000時々として知られている、32Kは、一連のあるマイクロプロセッサによって生成されるナショナルセミコンダクター。家族の最初のメンバーは1982年に市場に登場し、32016になる前に16032として簡単に知られていました。これは、市場で最初の32ビット汎用マイクロプロセッサでした。ただし、32016には多数のバグが含まれており、定格速度で実行できないことがよくありました。これらの問題、およびしばらくの間利用可能であった同様のMotorola 68000の存在は、市場でほとんど使用されませんでした。
1985年の32032を含むいくつかの改良されたバージョンが続きました。これは本質的に外部32ビットデータバスでバグ修正された32016でした。32016よりも約50%優れた速度を提供しましたが、1年前にリリースされた32ビットのMotorola68020よりも優れていました。32532 1987年のリリースでは、現代上回ったモトローラ68030をほぼ二倍に、しかし、この時点でマイクロプロセッサの中で最も関心がになっていなかったのRISCプラットフォームと、このそうでない場合は優れたデザイン鋸だけでなく、ほとんど使用します。
Nationalは32732のさらなる改善に取り組んでいましたが、最終的には中央処理装置(CPU)スペースでの競争をあきらめました。代わりに、基本的な32000アーキテクチャがいくつかのサポートシステムと組み合わされ、Swordfish マイクロコントローラとして再起動されました。これは、1990年代半ばにCompactRISCアーキテクチャに置き換えられる前に、市場である程度の成功を収めました。
デザインのコンセプト
NS32000シリーズは、その歴史を、VAX-11アーキテクチャのシングルチップ実装を作成するためのナショナルセミコンダクターによる取り組みにまでさかのぼります。[1] VAXは、高度に「直交する」命令セットアーキテクチャ(ISA)でよく知られており、任意の命令を任意のデータに適用できます。たとえば、ADD
命令は、2つのプロセッサレジスタの内容、またはメモリ内の値に対する1つのレジスタ、メモリ内の2つの値を追加したり、アドレスに対するオフセットとしてレジスタを使用したりする場合があります。この柔軟性は、複雑な命令セットコンピュータ(CISC)の時代の設計のパラゴンと見なされていました。[2]
ナショナルは、設計の合法性を確保するためにDECをカリフォルニア州の裁判所に持ち込みましたが、DECが訴訟をマサチューセッツ州(DECの本拠地)に移したとき、訴訟は取り下げられ、代わりにシリーズ32000アーキテクチャが開発されました。新しい命令セットアーキテクチャはVAX-11と互換性がありませんでしたが、高度に「直交する」設計哲学を保持していました。つまり、すべての命令を任意のタイプのデータで使用できます。当時の記事では、これを「対称」とも呼んでいました。[2]
元のプロセッサファミリは、NS16032 CPUとNS16C032低電力バリアントで構成されていました。どちらも16ビットのデータパスを備えているため、単一の32ビットワードをロードするには2マシンサイクルが必要です。どちらもNS16082メモリ管理ユニットで使用できます。NS16082メモリ管理ユニットは、最大16MBの物理メモリに24ビットの仮想メモリをサポートします。NS16008は、8ビットの外部データパスを備え、仮想メモリをサポートしないカットダウンバージョンでした。これにより、ピン数が減り、実装がいくらか簡単になりました。[2]
同時に、NationalはNS32032とNS32132の2つの将来のバージョンも発表しました。前者は基本的に、32ビットの外部データバスを備えたNS16032のバージョンであり、2倍の速度でデータを読み取ることができます。これは1984年にリリースされるプロジェクトでした。NS32132は29ビットの内部アドレスと32ビットの外部アドレスを備えたバージョンであり、完全な4GBのメモリをアドレス指定できます。1985年にリリースされる予定でした。[2]
これらはすべて、NS16081浮動小数点ユニットでも使用できます。[2]
建築
|
プロセッサには、8つの汎用32ビットレジスタと一連の専用レジスタがあります。
- フレームポインタ
- スタックポインタ(ユーザーモードとスーパーバイザーモードにそれぞれ1つ)
- グローバル変数を参照するための静的ベースレジスタ
- 動的にリンクされたモジュールのリンクベースレジスタ(オブジェクト指向)
- プログラムカウンター
- 下位ユーザーバイトと上位システムバイトを備えた典型的なプロセッサステータスレジスタ。
(追加のシステムレジスタはリストされていません)。
命令セットはCISCモデルに非常によく似ており、2オペランド命令、メモリ間操作、柔軟なアドレッシングモード、および可変長のバイト整列命令エンコーディングを備えています。アドレッシングモードには、オペランドごとに最大2つの変位と2つのメモリ間接参照、およびスケーリングされたインデックス付けが含まれるため、考えられる最長の命令が23バイトになります。実際の命令数は、現在のRISCプロセッサよりもはるかに少なくなっています。
他のいくつかのプロセッサとは異なり、ベースレジスタの自動インクリメントは提供されていません。唯一の例外は、ソースをポップして宛先をプッシュする「スタックのトップ」アドレッシングモードです。ユニークなことに、変位のサイズは最上位ビットでエンコードされます。0、10、および11の前に7、14、および30ビットの符号付き変位があります。(それ以外の場合、プロセッサは一貫してリトルエンディアンですが、命令ストリーム内の変位はビッグエンディアンの順序で格納されます)。
汎用オペランドは、5ビットフィールドを使用して指定されます。これに、インデックスバイト(インデックスレジスタと5ビットのベースアドレスを指定)、およびオペランドごとに最大2つの可変長変位を追加できます。
32016
シリーズの最初のチップは元々16032と呼ばれていましたが、32ビット内部を強調するために後に32016に名前が変更されました。これは、この分野での主要な競合他社である1979年のMotorola 68000(68k)とは対照的です。68kは32ビットの命令とレジスタを使用していましたが、処理タスク全体の大部分を制御する算術論理演算装置(ALU)は16ビットしかありませんでした。これは、操作を完了するためにALUを介して32ビットデータを2回循環させる必要があることを意味しました。対照的に、NS32000には32ビットのALUがあるため、16ビットと32ビットの命令が完了するまでに同じ時間がかかります。
32016は、1982年に46ピンDIPパッケージで最初に出荷されました。大量生産と販売に到達した最初の32ビットチップであった可能性があります(少なくともNationalのマーケティングによると)。しかし、1983年6月の出版物のレポートでは、Nationalは16032パーツの「今夏の有望な生産数量」であり、「数か月間サンプル数量を出荷」しており、浮動小数点コプロセッササンプリングは「今月」であると述べられています。 "。[3] 1982年の導入は68kより約2年後の日付ですが、68kはまだ市場で広く使用されておらず、32016は大きな関心を集めました。残念ながら、初期のバージョンはバグでいっぱいで、定格速度で実行できることはめったにありませんでした。1984年までに、2年後、エラッタリストには、プロセッサが停止してリセットを強制する制御不能な状態を指定する項目がまだ含まれていました。
元の製品ロードマップでは、1983年には6MHzと10MHzの部品、1984年には12MHzと14MHzの部品を想定していました。[2]しかし、1984年の報道によると、このロードマップを維持するのは困難であり、部品の周波数は6MHzから8MHzであり、代表者は周波数を10 MHzに上げるためにさらに「2、3、または5か月」を見積もっています。チップセット内の5つの不特定のチップのうち2つが、これらの問題の原因であると報告されました。[4] 32016ベースのWhitechapelMG-1ワークステーションに関する1985年初頭の記事では、32081メモリ管理ユニットが「バグに悩まされて」おり、ハードウェアの修正を提供する独自のボード上に配置されていたと述べています。[5]
Nationalは、部品を生産できるように設計方法を変更し、「Z」という言語に基づく設計システムを、イスラエルのヘルズリヤにある「NSC」設計センターの近くにあるテルアビブ大学と共同開発しました。。「Z」言語は、今日のVerilogおよびVHDLに似ていますが、Pascalのような構文を持ち、2相クロック設計用に最適化されています。しかし、これらの努力の成果が設計に感じられるまでに、多数の68kマシン、特にApple Macintoshがすでに市場に出回っており、32016は決して広く使用されていませんでした。
32016には、16ビットの外部データバス、24ビットの外部アドレスバス、および完全な32ビットの命令セットがあります。また、コプロセッサーインターフェイスも含まれているため、FPUやMMUなどのコプロセッサーをピアとしてメインプロセッサーに接続できます。MMUは、競合他社が使用するセグメント化メモリアプローチと比較して最も珍しい機能であるデマンドページング仮想メモリに基づいており、今日のマイクロプロセッサの設計方法の標準となっています。このアーキテクチャは、ページフォールトでの命令再起動メカニズムをサポートしています。これは、命令を続行する前に読み戻す必要があるページフォールトで内部ステータスをダンプするモトローラのアプローチよりもはるかにクリーンです。
多くの場合、68kの命令セットと比較されますが、これはNSCの従業員によって拒否されました。当時の重要なマーケティングフレーズの1つは、高度に直交するシリーズ32000を「クラッジ」と比較した「EleganceisEverything」でした。主な違いの1つは、モトローラがアドレスレジスタとデータレジスタを使用していることです。命令はアドレスレジスタまたはデータレジスタのいずれかでのみ機能します。シリーズ32000には汎用レジスタがあります。
32032
32032は1984年に導入されました。32016とほぼ完全に互換性がありますが、パフォーマンスをいくらか高速化するために32ビットデータバス(24ビットアドレスバスを維持)を備えています。低コストのアプリケーション向けにデータバスを8ビット幅に削減した32008、32016もありました。それは哲学的にはMC68008に似ており、同様に人気がありません。
Nationalは、NS32081浮動小数点ユニット(FPU)、NS32082メモリ管理ユニット(MMU)、NS32203ダイレクトメモリアクセス(DMA)、NS32202割り込みコントローラーなどの一連の関連サポートチップも製造しました。フルセットに加えてメモリチップと周辺機器を使用することで、以前は高価なミニコンピュータとメインフレームでしか不可能だった最新のマルチタスクオペレーティングシステムをサポートできる32ビットコンピュータシステムを構築することが可能でした。
- 死ぬ写真
NS16032 CPU
NS16081 FPU
NS32032 CPU
NS32081 FPU
NS32082 MMU
NS32202割り込みコントローラー
NS32203DMAコントローラー
32332、32532
1985年、ナショナルセミコンダクターは32032の大幅に改良されたバージョンであるNS32332を発表しました。データシートからの機能強化には、「新しい専用アドレス指定ハードウェア(高速ALU、バレルシフタ、アドレスレジスタで構成される)の追加」が含まれます。非常に効率的な(20バイト)命令プリフェッチキュー、新しいシステム/メモリバスインターフェイス/プロトコル、効率の向上したスレーブプロセッサプロトコル、そして最後にマイクロコードの機能強化。」また、新しいNS32382 MMU、NS32381 FPU、およびWeitek FPAへの(非常にまれな)NS32310インターフェイスもありました。これらの機能強化によるNS32332の総合的なパフォーマンスの向上により、元のNS32032よりも50%速くなっただけであり、したがって、主要な競合他社であるMC68020よりもパフォーマンスが低下しました。
ナショナルセミコンダクターは1987年初頭にNS32532を発表しました。20、25、30 MHzで動作し、5ステージのパイプライン、統合されたキャッシュ/ MMU、改善されたメモリパフォーマンスを備えた内部実装の完全な再設計であり、競合するMC68030およびi80386の2倍のパフォーマンス。この段階で、RISCアーキテクチャが浸透し始め、主要な競合他社は、NS32532よりも高速であると考えられていたAM29000とMC88000が同じように死んでしまいました。浮動小数点の場合、NS32532はWeitekFPAへの既存のNS32381またはNS32580インターフェースを使用しました。[6] NS32532は、「パブリックドメイン」ハードウェアプロジェクトであるPC532の基盤であり、実際のオペレーティングシステム(この場合はMinixまたはNetBSD)を実行する便利なマシンを製造する数少ないプロジェクトの1つでした。
半神話的なNS32732(NS32764と呼ばれることもあります)は、もともとNS32532の後継機種として想定されていました。このプログラムは決して市場に出ませんでした。
メカジキ
Swordfishと呼ばれるNS32732の派生物は、組み込みシステムを対象としており、1990年頃に到着しました。Swordfishには、統合されたフローティングポイントユニット、タイマー、DMAコントローラー、およびマイクロプロセッサーでは通常使用できないその他の周辺機器があります。64ビットのデータバスを備えており、内部で25〜50MHzにオーバークロックされています。SwordfishのチーフアーキテクトはDonaldAlpertで、Pentiumを設計する建築チームの管理を続けました。Pentiumの内部マイクロアーキテクチャは、前述のSwordfishと同様です。
Swordfishの焦点は、ハイエンドのPostscriptレーザープリンターであり、当時のパフォーマンスは並外れたものでした。競合するソリューションでは、1分あたり約1つの新しいページがレンダリングされる可能性がありますが、Swordfishデモユニットは1分あたり16ページを印刷し、レーザーエンジンのメカニズムによってのみ制限されます。各ページに、エンジンが完了するのを待って、アイドリングしていた時間を出力します。
メカジキのサイコロは巨大で、最終的にプロジェクトを完全に中止することが決定され、製品は生産されませんでした。メカジキからの教訓は、CompactRISCの設計に使用されました。当初、「Z」を使用して設計されたCompactRISC-32とCompactRISC-16の両方がありました。Nationalは、CompactRISC-32コアを搭載したチップを市場に投入したことはありません。Nationalの研究部門は、ミシガン大学と協力して最初の合成可能なVerilogモデルを開発し、VerilogはCR16C以降で使用されました。
その他
NS32CG16、NS32CG160、NS32FV16、NS32FX161、NS32FX164、NS32AM160 / 1/3などの低価格製品向けの古いNS32000ラインのバージョンは、すべてNS302CG16に基づいて1987年以降に導入されました。これらのプロセッサは、AMDおよびIntel RISCチップとの激しい競争にもかかわらず、レーザープリンタおよびファックス市場である程度の成功を収めました。特にNS32CG16に注意する必要があります。これとNS32C016の主な違いは、水晶から必要な2相クロックを生成する高価なTCU(タイミング制御ユニット)の統合と、マイクロコードスペースを便利なものとして解放するフローティングポイントコプロセッササポートの削除です。 BitBLT命令セット。これにより、レーザープリンター操作のパフォーマンスが大幅に向上し、この60,000トランジスタチップが200,000トランジスタMC68020よりも高速になります。NS32CG160はタイマーとDMA周辺機器を備えたCG16であり、NS32FV / FX16xチップは、ファックス/留守番電話市場向けのCG16BitBLTコアに加えて追加のDSP機能を備えています。これらは、後でNS32532ベースのNS32GX32によって補完されます。以前のチップとは異なり、余分なハードウェアはありませんでした。NS32GX32は、組み込みシステムにとって魅力的な価格で販売されているMMUのないNS32532です。当初、これは単なる注目のチップでした。チップが低コストの生産のために再設計されたかどうかは不明です。
NS32132のデータセットが存在し、明らかにマルチプロセッサシステム用に設計されています。これは、アービターで拡張されたNS32032です。NS32032のバス使用率は、その非常にコンパクトな命令セット、または競合他社が言うように非常に遅いパイプラインのために、約50パーセントです。実際、NS32032の1つの提案されたアプリケーションは、「2つの32032を並列に使用し、代替メモリサイクルの結果を比較してソフトエラーを検出する」「フォールトトレラントトランザクションシステム」の一部としてでした。[3] NS32132チップを使用すると、PCBを大幅に変更することなく、CPUのペアを同じメモリシステムに接続できます。プロトタイプシステムはスウェーデンのDiabData ABによって構築されましたが、同じ会社によって設計されたシングルCPUMC68020システムほどのパフォーマンスはありませんでした。
- 死ぬ写真
NS32C016 CPU
NS32381 FPU
NS32382 MMU
NS32532 CPU
NS32000シリーズを使用するマシン
- Acorn Cambridge Workstation – NS32016(6502ホスト付き)
- BBC Micro –NS32016セカンドプロセッサー[1] [2] [3]
- Canon LBP-8 Mark IIIレーザープリンター– NS32CG16
- Compupro 32016 – NS32016S -100カード
- Encore Multimax – NS32032、NS32332、NS32532マルチプロセッサ
- E-mu Systems Emax – NS32008
- E-mu Systems Emulator III – NS32016
- ETHチューリッヒセレスワークステーション– NS32032
- ETHチューリッヒセレス-2ワークステーション– NS32532
- ETHチューリッヒセレス-3ワークステーション– NS32GX32
- General Robotics Corp. Python – NS32032&N32016Q -Busカード
- Heurikon VME532 – NS32532 VMEカード(キャッシュ付き)
- IBM RT PC -いくつかの初期のモデルはのためのコプロセッサとしてNS32081 FPUを使用IBM ROMPマイクロプロセッサ
- インターメック(以前はA-Tech、次にUBI)ラベルプリンター– NS32CG16
- LabtamUnixシステムNS32032およびNS32332CPU
- LauterbachインサーキットエミュレータICE(システムコントローラ32ビット、1996年の最初のバージョン、最大16 MB ZIP20-RAM、イーサネットに対応するZ180)
- ナショナルセミコンダクターICM-3216– NS32016
- National Semiconductor ICM-332-1 – NS32332、NS32016 I / Oプロセッサ付き
- National Semiconductor SYS32 / 20 – NS32016 PCアドオンボード(Unix付き)
- Opus – NS16032PCアドオンボード
- PC532 – NS32532
- シークエント・バランス- NS32016、NS32032およびNS32332マルチプロセッサ
- シーメンスPC-MX2– NS32016
- シーメンスMX300-05 / -10 / -15 / -30 - NS32332(-05 / -10)又は下NS32532(-15 / -30)SINIX(MX300-55、後で使用i486のを)
- シーメンスMX500-75 / -85 – NS32532(2-8xCPU;後続のボード/ MX500-90は2-12xi486を使用)
- 対称的なコンピュータシステムS / 375 [4] -クロス開発するために使用NS32016、386BSD
- Syte Information Technology –Unixグラフィックワークステーション
- Tektronix 6130および6250ワークステーション–NS32016およびNS32032
- Tolerant Systems Eternityシリーズ– NS32016 I / Oプロセッサを搭載したNS32032
- Trinity Collegeワークステーション– NS32332
- Teklogix 9020ネットワークコントローラー– NS32332
- Teklogix 9200ネットワークコントローラー– NS32CG160
- ホワイトチャペルMG-1– NS32016
- ホワイトチャペルMG200– NS32332
レガシー
2015年6月、UdoMöllerはOpenCoresでのNS32000プロセッサの完全なVerilog実装をリリースしました。[7] N32381FPUを搭載したNS32532CPUと完全にソフトウェア互換であり、FPGAに実装すると大幅に高速になり、[8]より高いクロックレートで動作し、命令あたりのサイクル数が少なくなります。
参考文献
- ^ ティルソン、マイケル(1983年10月)。「Unixを新しいマシンに移行する」。BYTE。pp。266–276 。取り出さ年1月31 2015。
- ^ a b c d e f リーディ、グレン(1983年4月)。「ナショナルセミコンダクターNS16000マイクロプロセッサファミリ」。BYTE。pp。53–66 。2020年8月22日取得。
- ^ a b Libes、Sol(1983年6月)。「スーパーマイクロプロセッサ-ステータスレポート」。パーソナルコンピュータの世界。p。190 。2020年10月17日取得。
- ^ 「どんぐりはスーパーチップの疑いを払拭します」。どんぐりユーザー。1984年7月。p。7 。2020年8月28日取得。
- ^ ディック・パウンテン(1985年2月)。「夢の実現」。バイト英国。pp。379–382、384 。2020年12月18日取得。
- ^ 「NS32532-20 / NS32532-25 / NS32532-30高性能32ビットマイクロプロセッサ」 (PDF)。ナショナルセミコンダクター。1995年。
- ^ M32632 32ビットプロセッサ(OpenCores.org)
- ^ M32632パフォーマンス(cpu-ns32k.net)
- Trevor G. Marshall、George Scolaro、David L. Rand:DefiniconDSI-32コプロセッサー。Micro Cornucopia、1985年8月/ 9月、
- Trevor G. Marshall、George Scolaro、David L. Rand:DSI-32コプロセッサーボード。パート1、BYTE、1985年8月、120〜136ページ。パート2、BYTE、1985年9月、116ページ。
- この記事は、2008年11月1日より前にFree Online Dictionary of Computingから取得され、GFDLバージョン1.3以降の「再ライセンス」条件に基づいて組み込まれた資料に基づいています。
外部リンク
データシート
- データブックNS32000ファミリー(1986)
- NS32532
- NS32C032
- NS32381
- ナショナルセミコンダクターのシリーズ32000ファミリは、優れた「ファンサイト」であり、M32632FPGAクローンの本拠地です。