.jpg/500px-HP-HP9000-PARISC-PA8000-CPU_001_(cropped).jpg)
PA -8000 (PCX-U)、コードネームOnyxは、ヒューレット・パッカード(HP)が開発、製造したマイクロプロセッサで、 PA-RISC 2.0命令セットアーキテクチャ(ISA) を実装しています。[1]これは、以前の PA-RISC マイクロプロセッサから派生した回路を持たない、完全に新しい設計でした。PA-8000 は、Precision RISC Organization (PRO) のメンバーへの出荷が開始された 1995 年 11 月 2 日に発表されました。[2]これは PRO メンバーのみが使用し、マーチャント市場では販売されませんでした。後続のすべての PA-8x00 プロセッサ (PA-8200 から PA-8900、詳細は後述) は、基本的な PA-8000 プロセッサ コアに基づいています。
PA-8000 は以下で使用されました:
- HPのHP 9000およびHP 3000 [3]ワークステーションおよびサーバー
- NECのTX7/P590サーバー
- Stratus TechnologiesのContinuumフォールトトレラントサーバー
説明
PA-8000は、命令をアウトオブオーダーかつ投機的に実行する4ウェイスーパースカラマイクロプロセッサです。[1] [4]これらの機能は以前のPA-RISC実装には見られなかったため、PA-8000は、パフォーマンスを達成するために単純なマイクロアーキテクチャと高クロックレート実装を使用するという伝統を打ち破った最初のPA-RISC CPUとなりました。[5]
命令フェッチユニット
PA-8000 には 4 段階のフロントエンドがあります。最初の 2 段階では、命令フェッチ ユニット (IFU) によって命令キャッシュから 4 つの命令がフェッチされます。[5] IFU には、プログラム カウンタ、分岐履歴テーブル (BHT)、分岐先アドレス キャッシュ (BTAC)、および 4 エントリの変換ルックアサイド バッファ(TLB) が含まれています。[1] [5] TLB は、命令キャッシュにアクセスするために仮想アドレスを物理アドレスに変換するために使用されます。TLB ミスが発生した場合、メイン TLB から変換が要求されます。[1]
分岐予測
PA-8000 は、静的または動的な方法を使用して分岐予測を実行します。[1] PA-8000 が使用する方法は、各 TLB エントリのビットによって選択されました。静的予測では、ほとんどの後方分岐が実行され、前方分岐が実行されなかったとみなされます。静的予測では、コンパイラによって命令自体にエンコードされたヒントを調べることで、分岐の結果を予測しました。[1] [5]
動的予測では、分岐の記録された履歴を使用して、分岐が行われるか行われないかを決定します。この情報は、256 エントリの BHT に格納されます。各 BHT エントリは、3 ビットのシフト レジスタです。PA-8000 は多数決アルゴリズムを使用しており、3 ビットの過半数が設定されている場合は分岐が行われ、クリアされている場合は行われません。[1]予測が誤った分岐は、5 サイクルのペナルティを引き起こします。[5]分岐の結果が判明すると、BHT が更新されます。PA-8000 は 1 サイクルあたり 2 つの分岐命令を実行できますが、BHT は実装を簡素化するためにデュアル ポート化されていないため、結果の 1 つだけが記録されます。[4]
PA-8000 には、分岐のターゲット アドレスを命令キャッシュに送る前に計算する必要があるため、正しく予測された分岐に対して 2 サイクルのバブルがあります。[5]このバブルの発生を減らすために、PA-8000 は 32 エントリの完全連想 BTAC を使用します。BTAC は分岐のターゲット アドレスをキャッシュします。同じ分岐が発生し、分岐が実行されるものと予測されると、アドレスは直ちに命令キャッシュに送信され、遅延なくフェッチを開始できます。[1]
BTAC の有効性を最大限に高めるために、予測分岐の分岐先のみがキャッシュされます。分岐が予測されない場合でも、分岐先アドレスが BTAC にキャッシュされている場合、そのエントリは削除されます。BTAC がいっぱいで、新しいエントリを書き込む必要がある場合は、ラウンドロビン置換ポリシーを使用して置換されるエントリが選択されます。[1]
命令キャッシュ
命令キャッシュは外部にあり、256 KB ~ 4 MB の容量をサポートします。命令は、各命令に 5 ビットを追加することで、キャッシュに入る前に事前にデコードされます。これらのビットにより、パイプラインの後半で命令をデコードするのに必要な時間が短縮されます。命令キャッシュは、セット アソシエイティブ キャッシュの複雑さを回避するためにダイレクト マップされ、148 ビット バスを介してアクセスされます。キャッシュのタグも外部にあります。これは、同期 SRAM (SSRAM) から構築されます。
デコード、および命令並べ替えバッファ
第 3 段階では、命令がデコードされます。第 4 段階では、命令は命令並べ替えバッファ (IRB) に配置されます。IRB の目的は、レジスタ名の変更、アウトオブオーダー実行、投機的実行を実装し、命令がリタイアされるまで結果を一時的に保存する場所を提供することです。IRB は、第 5 段階で発行される命令を決定します。
IRB は 2 つのバッファで構成されます。1 つは整数および浮動小数点命令用、もう 1 つはロードおよびストア命令用です。一部の命令は両方のバッファに配置されます。これらの命令は分岐命令と特定のシステム命令です。各バッファには 28 個のエントリがあります。各バッファは 1 サイクルあたり最大 4 つの命令を受け入れ、1 サイクルあたり最大 2 つの命令をその機能ユニットに発行できます。
実行
すべての命令は、10 個の機能ユニットでステージ 6 中に実行を開始します。乗算を除く整数命令は、2 つの算術論理ユニット(ALU) と 2 つのシフト/マージ ユニットで実行されます。これらのユニットで実行されるすべての命令は 1 サイクルのレイテンシを持ち、その結果はステージ 7 で宛先レジスタに書き込まれます。
浮動小数点命令と整数乗算命令は、2 つのFMAC (融合乗算累算) ユニットと 2 つの除算/平方根ユニットで実行されます。FMAC ユニットはパイプライン化されており、レイテンシは 3 サイクルです。乗算はステージ 6 で、加算はステージ 7 で、丸めはステージ 8 で、書き戻しはステージ 9 で実行されます。乗算ステージと累算ステージの間では丸めは行われません。FMAC ユニットは、乗算命令と加算命令も個別に実行しますが、単精度と倍精度の両方のバリアントでレイテンシは 3 サイクルです。除算/平方根ユニットはパイプライン化されておらず、レイテンシは 17 サイクルです。レジスタ ポートの制限により、クロック サイクルごとに 1 つの命令を発行できますが、ユニット同士および FMAC ユニットと並列に動作できます。
整数と浮動小数点の両方のロードおよびストア命令は、2 つの専用アドレス加算器によって実行されます。
翻訳ルックアサイドバッファ
変換ルックアサイド バッファ(TLB) には 96 個のエントリがあり、デュアル ポートでフル アソシエイティブです。1 サイクルあたり 2 つの仮想アドレスを変換できます。この TLB は、命令とデータの両方のアドレスを変換します。IFU の TLB がミスすると、この TLB が変換を行います。ロードとストアの変換は、命令の変換よりも優先度が高くなります。各 TLB エントリは、4 KB から 16 MB までのサイズのページに4 の累乗でマップできます。
データキャッシュ
PA-8000 には、最大 4 MB の容量を持つデータ キャッシュがあります。データ キャッシュはデュアル ポートなので、サイクルごとに 2 つの読み取りまたは書き込みを実行できます。デュアル ポートは、2 つのキャッシュ バンクを実装することによって実現されますが、2 つの読み取りまたは書き込みが同じバンクを参照する場合、競合が発生し、1 つの操作しか実行できないため、真のデュアル ポートではありません。2 つの 64 ビット バス (各バンクに 1 つ) によってアクセスされます。キャッシュ タグは外部にあります。キャッシュ タグのコピーが 2 つあるため、各バンクで独立したアクセスが可能です。データ キャッシュは、命令キャッシュと同じ理由で直接マップされます。SSRAM から構築されます。
ランウェイバス
外部インターフェースは、64 ビットのアドレスとデータが多重化されたバスであるRunway バスです。PA-8000 は 40 ビットの物理アドレスを使用するため、1 TB の物理メモリをアドレス指定できます。
物理的な
.jpg/500px-HP-HP9000-PARISC-PA8000-CPU_010_(cropped).jpg)
PA-8000には380万個のトランジスタがあり、サイズは17.68 mm x 19.10 mm、[6]面積は337.69 mm 2です。これはHPのCMOS-14Cプロセスで製造されたもので、CMOS-14プロセスの10%ゲート縮小版です。[5] CMOS-14Cプロセスは、0.5 μm、5レベルアルミニウム相互接続、相補型金属酸化膜半導体(CMOS)プロセスでした。ダイには信号用に704個のはんだバンプがあり、電源またはグランド用に1,200個のはんだバンプがあります。1,085パッドのフリップチップ アルミナセラミック ランドグリッドアレイ(LGA)にパッケージ化されています。 [7] PA-8000は3.3 V電源を使用します。
PA-8200
.jpg/500px-HP-HP9000-PARISC-PA8200-CPU_001_(cropped).jpg)
PA -8200 (PCX-U+) はコードネームVulcan で、PA-8000 をさらに発展させたものである。PA-8200 を使用する最初のシステムは 1997 年 6 月に利用可能になった。PA-8200 は 200 ~ 240 MHz で動作し、主に Alpha 21164と競合した。分岐予測と TLB が改良された。[4] [8]分岐予測は、BHT エントリ数を 4 倍の 1,024 に増やすことで改良されたが、周囲の回路を再設計せずに収まるようにするには 2 ビット アルゴリズムを使用する必要があった。また、書き込みキューを実装することで、BHT が 1 つではなく 2 つの分岐結果を記録できるようにした。TLB エントリ数は 96 から 120 に増加し、TLB ミスが削減された。クロック周波数も回路のマイナー再設計によって改良された。 PA-8200 のダイは、ダイの空き領域を利用して改良されたため、PA-8000 と同じサイズでした。CMOS-14C プロセスで製造されました。
PA-8500
.jpg/500px-HP-HP9000-PARISC-PA8500-CPU_001_(cropped).jpg)
PA-8500 (PCX-W) はコード名Barracudaで、PA-8200 をさらに発展させたものです。1998 年初めにテープアウトされ、1998 年後半にシステムに導入されました。量産バージョンは 300 ~ 440 MHz の周波数で動作しましたが、最大 500 MHz で動作するように設計され、実際にその動作を実現しています。[9]最も注目すべき改善点は、より高い動作周波数と、プライマリ キャッシュのオンダイ統合です。[10]より高い動作周波数と、コアと同じダイ上へのプライマリ キャッシュの統合は、0.25 μm プロセスへの移行によって可能になりました。新しいプロセスでの PA-8500 コアの寸法は 10.8 mm x 11.4 mm (123.12 mm 2 ) で、0.5 μm PA-8200 の半分以下の面積でした。
PA-8500 には、512 KB の命令キャッシュと 1 MB のデータ キャッシュがあります。マイクロアーキテクチャのその他の改良点としては、PA-8200 の 2 倍の容量である 2,048 エントリを含むより大きな BHT と、160 エントリを含むより大きな TLB があります。PA-8500 は、新しいバージョンのRunway バスを使用します。新しいバージョンは 125 MHz で動作し、クロック信号の立ち上がりエッジと立ち下がりエッジの両方でデータを転送し (ダブル データ レート、つまり DDR)、240 MT/s または 2 GB/s の帯域幅を実現します。Runway バスはアドレスとデータの転送に使用されるため、使用可能な帯域幅は 2 GB/s の 80%、つまり約 1.6 GB/s です。
PA-8500には1億4千万個のトランジスタが含まれており、大きさは21.3 mm x 22.0 mm (468.6 mm 2 )である。[9]これはIntel Corporationによって5層のアルミニウム相互接続を備えた0.25 μm CMOSプロセスで製造された。2.0 V電源を使用する。HPは、以前のPA-RISCマイクロプロセッサの製造に使用されたCMOS-14Cよりも新しいプロセスを実装するために工場をアップグレードすることを中止したため、PA-8500を自社で製造しなかった。
PA-8500 は、ダイ上のプライマリ キャッシュの統合により外部キャッシュおよび関連する I/O パッドと通信する 2 つの 128 ビット バスが削除されたため、より小型の 544 パッドランド グリッド アレイ(LGA) にパッケージ化されました。
PA-8600
.jpg/500px-HP-HP9000-PARISC-PA8600-CPU_001_(cropped).jpg)
PA-8600 (PCX-W+) は、コード名Landshark で、2000年1月に発表された PA-8500 のさらなる発展型である。PA-8600 は、2000年半ばに発表される予定であった。[11]これは、PA-8500 を微調整して、480~550 MHz のより高いクロック周波数を実現できるようにしたバージョンである。命令キャッシュに準 LRU (Least Recently Used ) の排除ポリシーを使用することで、マイクロアーキテクチャを改良した。これは Intel によって製造された。
PA-8700
.jpg/500px-HP-HP9000-PARISC-PA8700-CPU_002_(cropped).jpg)
PA-8700 (PCX-W2) はコード名Piranhaで、PA-8600 をさらに発展させたものです。2001 年 8 月に発表され、625 ~ 750 MHz で動作しました。改善点としては、データ プリフェッチの実装、データ キャッシュの準 LRU 置換ポリシー、および 16 TB の物理メモリをアドレス指定するための 44 ビットの物理アドレス空間の拡大が挙げられます。[12] PA-8700 には、命令キャッシュとデータ キャッシュも大きくなっており、容量はそれぞれ 50% 増加して 0.75 MB と 1.5 MB になりました。PA-8700 は、IBM Microelectronics [13]によって 7 層の銅配線と低誘電率誘電体を使用した 0.18 μmシリコン オン インシュレータ(SOI) CMOS プロセスで製造されました。
PA-8700+
PA-8700+は、2002年半ばにシステムに導入されたPA-8700のさらなる発展型であり、875MHzで動作した。[13]
PA-8800
.jpg/500px-HP-HP9000-PARISC-PA8800-CPU_001_(cropped).jpg)

PA-8800(コード名Mako)は、PA-8700のさらなる発展型である。[14] 2004年に発表され、HPのC8000ワークステーションとHP 9000 Superdomeサーバーで使用された。0.8、0.9、1.0GHzで利用可能であった。PA-8800は、 1つのダイ上に2つの改良型PA-8700+マイクロプロセッサを搭載したデュアルコア設計であった。各コアには768KBの命令キャッシュと768KBのデータキャッシュがある。プライマリキャッシュはPA-8700のものよりも小さく、両方のコアを同じダイに収めることができるようになっている。
PA-8700 に対する改良点は、分岐予測の改善と、外部 32 MB 統合セカンダリ キャッシュの組み込みです。セカンダリ キャッシュの帯域幅は 10 GB/秒、レイテンシは 40 サイクルです。これは 4 ウェイ セット アソシエイティブで、物理的にインデックス付けされ、128 バイトのライン サイズで物理的にタグ付けされています。セット アソシエイティブを選択したのは、I/O ピンの数を減らすためです。L2 キャッシュは、4 つの 72 Mbit (9 MB) の Enhanced Memory Systems Enhanced SRAM (ESRAM) チップを使用して実装されています。これは、その名前に反して、 SRAM のようなインターフェイスを備えた1T-SRAM (ダイナミック ランダム アクセス メモリ(DRAM)) の実装です。各コアによるこのキャッシュへのアクセスは、オンダイ コントローラによって調停され、1 MB のセカンダリ キャッシュ タグも SRAM としてオンダイに存在し、ECC によって保護されています。 PA-8800 は、6.4 GB/秒の帯域幅を実現するMcKinley Itaniumマイクロプロセッサと同じフロントサイド バスを使用し、zx1 などの HP のItaniumチップセットと互換性があります。
このプロセッサは、23.6 mm x 15.5 mm (365.8 mm 2 )のダイ上に3億個のトランジスタで構成され、そのうち2,500万個はロジック用でした。 [14] IBMによって、銅配線とlow-k誘電体を使用した0.13 μm SOIプロセスで製造されました。PA-8800は、4つのESRAMとともにプリント回路基板(PCB)上に搭載されたセラミックボールグリッドアレイにパッケージ化されており、初期のItaniumマイクロプロセッサで使用されていたものと同様のモジュールを形成しています。
PA-8900
.jpg/500px-HP-HP9000-PARISC-PA8900-CPU_001_(cropped).jpg)

PA-8900 (コード名Shortfin ) は、PA-8800 の派生製品です。開発された最後の PA-RISC マイクロプロセッサであり、マイクロプロセッサを使用するシステムが利用可能になった 2005 年 5 月 31 日に発表されました。HP 9000サーバーおよび C8000 ワークステーションで使用されました。動作周波数は 0.8、0.9、1.0、および 1.1 GHz でした。以前噂されていたように、PA-8800 のダイ シュリンクではありません。L2 キャッシュの容量は 64 MB に倍増し、レイテンシが低くなり、キャッシュのエラー検出と修正が向上しました。McKinley システム バスを使用し、HP zx1 などの Itanium 2 チップセットと互換性がありました。マイクロアーキテクチャの変更はありませんでしたが、浮動小数点ユニットとオンダイ キャッシュ回路が再設計されて消費電力が削減され、各コアは 1.0 GHz で約 35 W を消費するようになりました。
注記
- ^ abcdefghi ハント 1995
- ^ 「HP、PRO パートナー向けに PA-8000 のリリースを発表」
- ^ Cooper, Kevin (2008年7月22日). 「MPE/iX 7.5およびHP e3000 PA-8700パフォーマンスアップデート」(PDF) . HP . 2024年7月3日閲覧。
- ^ abc スコット 1997
- ^ abcdefg グウェナップ 1994
- ^ ガディス 1996、1697 ページ
- ^ クマール、「HP PA-8000 RISC CPU」
- ^ グウェナップ 1996
- ^ バーンズ 1999より
- ^ グウェナップ 1997
- ^ Wermer、「HP の PA-8600 プロセッサ、予想より早く出荷」。
- ^ クルーウェル 2000
- ^ ComputerWire 2002より
- ^ ジョンソン 2001、p. 1より
参考文献
- バーンズ、フィリップ (1999 年 2 月 26 日)。「1.5 MByte オンチップ キャッシュを備えた 500 MHz 64 ビット RISC CPU」。国際固体回路会議の議事録。
- ComputerWire (2002 年 6 月 28 日)。「HP がデュアル コア PA-8800 を準備中」The Register。
- Gaddis, N.; Lotz, J. (1996 年 11 月)。「64 ビット 4 チャネル CMOS RISC マイクロプロセッサ」。IEEE Journal of Solid-State Circuits 31 (11): pp. 1697–1702。
- Gwennap, Linley (1994 年 11 月 14 日)。「PA-8000 は複雑さと速度を兼ね備えています」。マイクロプロセッサ レポート、第 8 巻、第 15 号。
- Gwennap, Linley (1996 年 10 月 28 日)。「HP が PA-8x00 ファミリーを強化」。マイクロプロセッサ レポート、第 10 巻、第 14 号。
- Gwennap, Linley (1997 年 11 月 17 日)。「PA-8500 の 1.5M キャッシュがパフォーマンスを向上」。マイクロプロセッサ レポート。
- Hewlett-Packard 社(1995 年 11 月 2 日)。HPが PRO パートナー向けに PA-8000 のリリースを発表。(プレス リリース)
- Hill, J. Michael および Lachman, Jonathan (2000)。「オンチップ CPU を搭載した 900MHz 2.25MByte キャッシュ - SOI/Cu で実現」。2000国際ソリッド ステート回路会議。
- Hunt, D. (1995)。「64 ビット PA-8000 の高度なパフォーマンス機能」。CompCon の議事録。pp. 123–128。
- Johnson, David JC (2001 年 10 月 16 日)。「HP の Mako プロセッサ」。2001 Microprocessor Forum。
- Krewell, Kevin (2000 年 5 月 22 日)。「HP が 8700 で PA-RISC を拡張」。マイクロプロセッサ レポート。
- Kumar, Ashok (1996 年 8 月 19 日)。「HP PA-8000 RISC CPU」。Hot Chips VIII の議事録。
- Lesartre, Greg; Hunt, Doug (1997)。「PA-8500: PA-8000 ファミリーの継続的な進化」。CompConの議事録。
- Pountain, Dick (1995 年 7 月)。「HP の高速 RISC」。Byte。
- Scott, Anne P. 他 (1997 年 8 月)。「4 ウェイ スーパースカラ PA-RISC プロセッサ」。Hewlett -Packard Journal。
- Tsai, Li C. (2001 年 2 月 16 日)。「1GHz PA-RISC プロセッサ」。国際固体回路会議。
- Wermer, Sandra (1999 年 3 月 8 日)。「HP の PA-8600 プロセッサ、予想より早く出荷」HOISe。
さらに読む
- Burch, C. (1997) 「PA-8000: 静的および動的分岐予測のケーススタディ」国際コンピュータ設計会議の議事録97~105 ページ。
- Gaddis, NB 他 (1996)。「56 エントリ命令リオーダー バッファ」。ISSCC技術論文ダイジェスト。pp. 212–213、447。
- Heikes, C.; Colon-Bonet, G. (1996)。「FMAC アーキテクチャを備えたデュアル浮動小数点コプロセッサ」。ISSCC技術論文ダイジェスト。pp. 354–355、472。
- Kumar, A. (1997 年 3 月)。「HP PA-8000 RISC CPU」。IEEE Micro。pp . 27–32。
- Lotz, J. 他 (1996)。「4 回の発行によるアウトオブオーダー RISC CPU」。ISSCC技術論文ダイジェスト。pp. 210–211、446。
- Naffzinger, S. (1996). 「サブナノ秒 0.5 μm 64 b 加算器の設計」. ISSCC 技術論文ダイジェスト. pp. 362–363.
- PA-8000 PA-RISCプロセッサOpenPA.net
- PA-8200 PA-RISCプロセッサOpenPA.net
- PA-8500 PA-RISCプロセッサOpenPA.net
- PA-8600 PA-RISCプロセッサOpenPA.net
- PA-8700 PA-RISCプロセッサOpenPA.net
- PA-8800 PA-RISC プロセッサーOpenPA.net
- PA-8900 PA-RISC プロセッサーOpenPA.net
