PA-RISC
PA-RISC(ぴーえーりすく)は ヒューレット・パッカード社(HP)のSystems & VLSI Technology Operationが開発したマイクロプロセッサ アーキテクチャである。
その名前にも含まれているようにRISCアーキテクチャの実装であり、PAはPrecision Architectureの略である。 また、HP/PAつまりHewlett Packard Precision Architectureと呼ばれることもある。 PAはHPの本社があるパロアルトにも関係があるかもしれない。
1980年代終盤、HPはCISCのCPUを使った3つのコンピュータシリーズを製造していた。 ひとつはSilicon-on-sapphire (SOS)技術を使ったHP独自のCPUをベースに設計されたUNIXワークステーションのHP 9000である。 もうひとつは、アポロコンピュータ社を買収した際に得たモトローラの68000ファミリを使ったUNIXワークステーション。 さらにHPの設計した16ビットCPUをベースとしたミニコンピュータHP3000シリーズがあった。 HPはこれらのマシンをPA-RISCを用いてひとつのRISC CPUファミリをベースとしたマシンに統合しようとしていた。
PA-7000シリーズ
初期のPA-RISCチップは32ビットであった。 1980年代終盤、最初のPA-RISCチップがHP3000シリーズの新しいマシン930と950に使われた。 これらのマシンは当時、開発した研究所の名前をとってSpectrumと呼ばれた。 OSはMPE/ixが動作した。 HP 9000シリーズもすぐにPA-RISCプロセッサを導入し、OSはHP製UNIXのHP-UXであった。
PA-RISCプロセッサ上に移植された他のオペレーティング・システムとしては、 Mach、Linux、OpenBSD、NetBSD、NEXTSTEP、そしてリリースされなかったWindows NTがある。
PA-RISCの興味深い点は、そのシリーズのほとんどがL2キャッシュを持たなかったことである。 その代わり大きな一次キャッシュを使っているが、以前は別チップをバスで接続していたが、現在は内蔵している。 PA-7100LCとPA-7300LCだけがL2キャッシュを持つ。 もうひとつPA-RISC独自と言えるのは7100LCで初めて導入された"Multimedia Acceleration eXtensions(MAX)"形式のマルチメディア命令(SIMD)である。
PA-8000シリーズ
1996年、64ビットのPA-RISC 2.0アーキテクチャが設計され、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キャッシュ[k] | Iキャッシュ[k] | L2キャッシュ | ISA |
---|---|---|---|---|---|---|---|---|---|---|---|---|
PCX-S | PA-7000 | 1989 | 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 | 2MB | 1.1d |
PCX-L2 | PA-7300LC | 1996 | 132-180 | ? | 0.5 | 9.2 | 260.1 | ? | 64 | 64 | 1-8MB | 1.1e |
PCX-U | PA-8000 | 1996 | 160-180 | 960 | 0.5 | 3.8/4.5? | 338/347? | ? | 1024 | 1024 | -- | 2.0 |
PCX-U+ | PA-8200 | 1997 | 200-240 | 960 | 0.5 | 3.8/4.5? | 338/347? | ? | 2048 | 2048 | -- | 2.0 |
PCX-W | PA-8500 | 1998 | 300-440 | 1920 | 0.25 | 140 | 467 | ? | 1024 | 512 | -- | 2.0 |
PCX-W+ | PA-8600 | 2000 | 480-552 | 1920 | 0.25 | 140 | 467 | ? | 1024 | 512 | -- | 2.0 |
PCX-W2 | PA-8700(+) | 2001 | 625-875 | 1920 | 0.18 | 186 | 304 | ? | 1536 | 768 | -- | 2.0 |
Mako | PA-8800 | 2003 | 900-1000 | 6400 | 0.13 | 300 | 361 | ? | 768/core | 768/core | 32MB | 2.0 |
? | PA-8900 | 2005 | 1000-1100 | 6400 | 0.13 | ? | ? | ? | 768/core | 768/core | 64MB | 2.0 |
注:ISAとは命令セットアーキテクチャ(Instruction Set Architecture)
外部リンク
- OpenPA.net 分かりやすいPA-RISCチップとコンパイラに関する情報
- PA-RISC Linux PA-RISC向けLinux移植に関するサイト