PA-RISCぴーえーりすく)は、ヒューレット・パッカード社 (HP) のSystems & VLSI Technology Operationが開発したマイクロプロセッサ アーキテクチャである。

PA-RISC (HP/PA)
開発者 ヒューレット・パッカード
ビット数 64ビット (32→64)
発表 1986年 (1996年 PA-RISC 2.0)
バージョン 2.0 (1996年)
デザイン RISC
エンコード Fixed
ブランチ Compare and branch
エンディアン ビッグエンディアン
拡張 MAX, MAX-2
オープン No
レジスタ
汎用 32
浮動小数点 32 64ビット (PA-RISC 1.0では16 64ビット)

その名前にも含まれているようにRISCアーキテクチャの実装であり、PAはPrecision Architecture(精密なアーキテクチャ)の略である。また、HP/PAつまりHewlett Packard Precision Architectureと呼ばれることもある。

1986年2月26日、PA-RISCの最初の実装であるTS1を採用した HP 3000 Series 930HP 9000 Model 840 が発表された[1][2]

HPとインテルItaniumIA-64 ISA)を共同開発し、PA-RISCはItaniumに取って代わられた[3]。2008年末にはPA-RISCベースの HP 9000 システムの販売を終了したが、サポートは2013年まで継続予定である[4]

背景

編集
 
PA-RISCロゴ

1980年代後半、HPはCISCのCPUを使った4つのコンピュータシリーズを製造していた。1つは80286ベースのPC/AT互換機 Vectra シリーズだが、残る3つはインテルベースではない。1つはアポロコンピュータ社を買収した際に得たモトローラ68000ファミリを使ったUNIXワークステーション HP Series 300 で、残る2つは Silicon-on-sapphire (SOS) 技術を使ったHP独自設計の 16ビットCPUHP3000シリーズと、独自設計のFOCUS英語版マイクロプロセッサを使ったUNIXワークステーションHP 9000 シリーズ(16ビットおよび32ビット)である。HPはこれらPC互換機以外のマシンをPA-RISCを用いてひとつの RISC CPU ファミリに統合しようとしていた。

Precision Architecture は1986年に登場した。当初、32ビットの整数レジスタを32本と64ビットの浮動小数点レジスタを16本持っていた。浮動小数点レジスタが16本では性能に悪影響があることがわかり、バージョン1.1で倍の32本にしている。設計を行ったアーキテクトは、Allen Baum、Hans Jeans、Michael J. Mahon、Ruby Bei-Loh Lee、Russel Kao、Steve Muchnick、Terrence C. Miller、David Fotland、William S. Worley らである[5]

PA-7000シリーズ

編集
 
HP PA-RISC 7300LC マイクロプロセッサ

初期のPA-RISCチップは32ビットであった。最初の実装TS1は、TTL (74F) チップを組合わせてCPUを構成したものである。その後、VLSIを使ったマルチチップ方式となり、NMOSプロセス(NS1とNS2)とCMOSプロセスのもの(CS1とPCX)が作られた。1980年代終盤、そういった初期のPA-RISCチップがHP3000シリーズの新しいマシン930と950に使われた。これらのマシンは当時、開発した研究所の名前をとってSpectrumと呼ばれた。OSはMPE/iXが動作した。HP 9000シリーズもすぐにPA-RISCプロセッサを導入し、OSはHP製UNIXHP-UXであった。

PA-RISCプロセッサ上に移植された他のオペレーティング・システムとしては、MachLinuxOpenBSDNetBSDNEXTSTEP、そしてリリースされなかったWindows NTがある。

PA-RISCの興味深い点は、そのシリーズのほとんどがL2キャッシュを持たなかったことである。その代わり大きな一次キャッシュを使っているが、以前は別チップをバスで接続していたが、現在は内蔵している。PA-7100LCとPA-7300LCだけがL2キャッシュを持つ。もうひとつPA-RISC独自と言えるのは7100LCで初めて導入された"Multimedia Acceleration eXtensions (MAX)"形式のマルチメディア命令 (SIMD) である。

PA-8000シリーズ

編集

1996年、ISA64ビットに拡張され、PA-RISC 2.0 と名付けられた。積和演算も追加されており、浮動小数点を多用するアルゴリズムで役立つ。MAX SIMD 拡張も備えており、マルチメディア・アプリケーションで役立つ命令を提供している。最初の PA-RISC 2.0 の実装は1996年1月、PA-8000英語版 としてリリースされた。PA-8000は10個の機能ユニットを持ち、先進的なパイプラインシステムを搭載していた。また、命令キャッシュをふたつに分け、長期保持のキャッシュと短期保持のキャッシュを設けた。1997年にリリースされたPA-8200はPA-8000とほぼ同じであるが、分岐予測機能が改善され、TLBミス率が低減され、大容量高速キャッシュを持っていた。

PA-8500では1.5Mバイトの一次キャッシュをチップ上に組み込み、大きな性能向上を実現した。また、同時にDDRバスを導入し、最大2GB/sのメモリ転送速度を実現した。分岐予測のための履歴テーブルは2倍の2048エントリとなり、TLBは120エントリから160エントリに拡張された。

8600は8500の高クロック版であり、"quasi-LRU instruction cache eviction policy"(擬似LRU命令キャッシュ入れ替えポリシー)を採用している。8700は8600をさらに高クロックにして、2.25MBの一次キャッシュを持っている。また、擬似LRU命令キャッシュ入れ替えポリシー(命令キャッシュの中で最も使われていないエントリを見つけて入れ替える方式。本当に使用頻度を記録するのは至難なので「擬似」的に使用頻度を決める)とデータプリフェッチ機能(ロード命令を実行する前に、メモリから読み込んでくる)を備えている。一次キャッシュは大容量であるもののあまり速くなく、性能の足かせとなった。しかし、プロセスのサイズを考慮するとHPが内蔵したキャッシュのサイズは印象的である。

PA-8800(コードネームMako)は2つの独立したマクロプロセッサをひとつのダイに組み込んでいる。そして、ひとつのチップで2ウェイのSMPを構成する。8800内の各プロセッサは1.5Mバイトの一次キャッシュを持つが、HPは一次キャッシュのみというポリシーをやめて32MBの外部L2キャッシュをサポートした。外部バスは6.4GB/sのItanium2のバスを採用し、PA-RISCとItaniumに共通のサーバデザインを採用した。

PA-8900は8800によく似ているが、L2キャッシュを64MBまで拡張し、キャッシュエラー検出や訂正などの機能を強化した。噂されていたような8800のダイ縮小版ではない。これがPA-RISCシリーズの最後のマイクロプロセッサである。

HP社の方針と思われるが、PA-RISCは高性能であるものの周辺を含めたシステムとしての販売のみを行ってきたため、MIPSのように広く使われることはなかった。PA-RISCは既にその役目を終え、MIPSのように組み込みプロセッサとして残ることはない。

モデルの変遷

編集
モデル 別名 登場年 周波数[MHz] メモリバス[MB/s] プロセス[μm] トランジスタ[百万個] ダイサイズ[mm2] 電力[W] Dキャッシュ[kB] Iキャッシュ[kB] L2キャッシュ[MB] ISA 備考
TS-1 ? 1986 8 ? ? ? ? ? 1.0
CS-1 ? 1987 8 ? 1.6 0.164 72.93 1 0.25 1.0 [6]
NS-1 ? 1987 25/30 ? 1.5 0.144 70.56 ? ? ? 1.0 [7]
NS-2 ? 1989 27.5/30 ? 1.5 0.183 196 27 512 512 1.0 [8]
PCX ? 1990 ? ? ? ? ? ? ? ? ? 1.0
PCX-S PA-7000 1991 66 ? 1.0 0.58 201.6 ? 256 256 1.1a
PCX-T PA-7100英語版 1992 33–100 ? 0.8 0.85 196 ? 2048 1024 1.1b
PCX-T PA-7150 1994 125 ? 0.8 0.85 196 ? 2048 1024 1.1b
PCX-T' PA-7200英語版 1994 120 960 0.55 1.26 210 30 1024 2048 1.1c
PCX-L PA-7100LC英語版 1994 60–100 ? 0.75 0.9 201.6 7–11 1 2 1.1d
PCX-L2 PA-7300LC 1996 132–180 ? 0.5 9.2 260.1 ? 64 64 0–8 1.1e
PCX-U PA-8000英語版 1996 160–180 960 0.5 3.8 337.68 ? 1024 1024 2.0
PCX-U+ PA-8200 1997 200–240 960 0.5 3.8 337.68 ? 2048 2048 2.0
PCX-W PA-8500 1998 300–440 1920 0.25 140 467 ? 1024 512 2.0 [9]
PCX-W+ PA-8600 2000 360–550 1920 0.25 140 467 ? 1024 512 2.0 [9]
PCX-W2 PA-8700(+) 2001 625–875 1920 0.18 186 304 <7.1@1.5 V 1536 768 2.0
Mako PA-8800 2003 800–1000 6400 0.13 300 361 ? 768/core 768/core 32 2.0
Shortfin PA-8900 2005 800–1100 6400 0.13 ? ? ? 768/core 768/core 64 2.0

脚注・出典

編集
  1. ^ "One Year Ago". (26 February 1987). Computer Business Review.
  2. ^ Hewlett-Packard Company (September 1987). Hewlett-Packard Journal 38 (9): p. 3.
  3. ^ PA-RISCの歴史に幕、HPが最後の製品リリースでItaniumへの移行を完了 マイナビ、2005年6月1日
  4. ^ How long will HP continue to support HP 9000 systems?
  5. ^ Smotherman, Mark (2 July 2009). Recent Processor Architects.
  6. ^ Marston, A. et al. (1987). "A 32b CMOS single-chip RISC type processor". ISSCC Digest of Technical Papers. pp. 28–29.
  7. ^ Yetter, J. et al. (1987). "A 15 MIPS 32b Microprocessor". ISSCC Digest of Technical Papers.
  8. ^ Boschma, Brian D. et al. (1989). "A 30 MIPS VLSI CPU". ISSCC Digest of Technical Papers. pp. 82–83, 299
  9. ^ a b HP L1000 & L2000 (rp5400/5450) Servers OpenPA.net

外部リンク

編集
  NODES