IBM POWERアーキテクチャ

IBM POWERは、 IBMが開発した縮小命令セットコンピュータ(RISC)命令セットアーキテクチャ(ISA)です。名称は、Performance Optimization With Enhanced RISC(パフォーマンス最適化による拡張RISC)の頭字語です。[ 1 ]

ISAは1990年代初頭にIBMのハイエンドマイクロプロセッサに使用され、IBMの多くのサーバー、ミニコンピュータワークステーションスーパーコンピュータに搭載されました。これらのプロセッサは、 POWER1(RIOS-1、RIOS.9、RSCRAD6000)およびPOWER2(POWER2、POWER2+、P2SC) と呼ばれています。

ISAはPowerPC命令セットアーキテクチャへと進化しましたが、1998年にIBMがPOWER3プロセッサ(主に32/64ビットPowerPCプロセッサでしたが、後方互換性のためにIBM POWERアーキテクチャの機能を搭載)を発表した際に廃止されました。その後 オリジナルのIBM POWERアーキテクチャは廃止されました。PowerPCは2006年に再びPower ISAへと進化しました。

さまざまなPOWER、PowerPC、Power ISAの進化を示すチャート

IBMは、特定用途向け集積回路(ASIC)製品に搭載するためのPowerPCマイクロプロセッサ・コアの開発を継続しています。多くの量産アプリケーションにPowerPCコアが組み込まれています。

歴史

801研究プロジェクト

1974年、IBMは1秒あたり少なくとも300件の通話を処理できる潜在能力を持つ大規模電話交換ネットワークを構築するという設計目標を掲げたプロジェクトに着手した。各通話をリアルタイムで処理するには2万の機械語命令が必要となると予測され、12MIPSの性能を持つプロセッサが必要とれた。[ 2 ]この要件は当時としては非常に野心的なものであったが、このマシンはI/O、分岐、レジスタ間の加算、レジスタとメモリ間のデータ移動のみを実行する必要があり、高度な演算を実行するための特別な命令は必要ないため、当時のCPUの複雑さの多くを省くことができることが認識された。

複雑な操作の各ステップが 1 つのマシン命令によって明示的に指定され、すべての命令が同じ一定時間内に完了する必要があるというこの単純な設計哲学は、後にRISCとして知られるようになりました。

1975年までに、電話交換機プロジェクトはプロトタイプが完成しないまま中止されました。しかし、プロジェクト初年度に行われたシミュレーションの推定値から、このプロジェクトのために設計されていたプロセッサは非常に有望な汎用プロセッサになり得ると判断されたため、トーマス・J・ワトソン研究所801号館で801プロジェクトの作業が継続されました。[ 2 ]

1982年のチータープロジェクト

ワトソン研究センターでは 2 年間にわたり、 801 設計のスーパースカラーの限界について調査が行われました。たとえば、IBM System/360 モデル 91CDC 6600 (モデル 91 はCISC設計に基づいていた) で行われたのと同様に、複数の機能ユニットを使用して設計を実装してパフォーマンスを向上させることの実現可能性や、RISC マシンがサイクルごとに複数の命令を維持できるかどうか、または複数の実行ユニットを可能にするために 801 設計にどのような設計変更を加える必要があるかなどが調査されました。

性能向上のため、Cheetahは分岐、固定小数点浮動小数点の各演算ユニットを独立して搭載していました。[ 3 ] [ 4 ] 801の設計には、複数の演算ユニットを搭載できるように多くの変更が加えられました。Cheetahは当初、バイポーラ・エミッタ結合論理(ECL)技術を用いて製造される予定でしたが、1984年までに相補型金属酸化膜半導体(CMOS)技術が導入され、回路の集積度が向上し、トランジスタロジックの性能も向上しました。

アメリカプロジェクト

1985年、IBMトーマス・J・ワトソン研究所で第2世代RISCアーキテクチャの研究が開始され、「AMERICAアーキテクチャ」が誕生した。[ 2 ] 1986年、IBMオースティンはこのアーキテクチャをベースにRS/6000シリーズの開発を開始した。[ 3 ] [ 4 ]

1990年2月、 IBMがPOWER命令セットを初めて搭載したコンピュータは、「RISC System/6000」またはRS/6000と呼ばれました。これらのRS/6000コンピュータは、ワークステーションサーバーの2つのクラスに分けられ、それぞれPOWERstationおよびPOWERserverとして発表されました。RS/6000 CPUには、「RIOS-1」と「RIOS.9」(または一般的には「POWER1」CPU)と呼ばれる2つの構成がありました。RIOS-1構成は、命令キャッシュチップ、固定小数点チップ、浮動小数点チップ、4つのデータキャッシュチップ、ストレージ制御チップ、入出力チップ、クロックチップの合計10個の個別チップで構成されていました。より低価格のRIOS.9構成は、命令キャッシュチップ、固定小数点チップ、浮動小数点チップ、2つのデータキャッシュチップ、ストレージ制御チップ、入出力チップ、クロックチップの合計8個の個別チップで構成されていました。

RIOS のシングルチップ実装である RSC ( RISC Single Chip ) は、ローエンドの RS/6000 向けに開発されました。RSC を使用した最初のマシンは 1992 年にリリースされました。

パワー2

IBMは、 1991年にテキサス州オースティンApple、IBM、Motorolaの提携が成立する2年前、POWER1の後継プロセッサとしてPOWER2プロセッサの開発に着手しました。Apple、IBM、Motorolaの提携を活性化させるためのリソースの転用による影響を受けたにもかかわらず、POWER2は開発開始からシステム出荷まで5年を要しました。2つ目の固定小数点ユニットと2つ目の浮動小数点ユニットを追加し、その他の性能強化を図ったPOWER2は、1993年11月の発表時点で、業界をリードする性能を実現しました。

命令セットには新しい命令も追加されました。

  • クワッドワードストレージ命令。クワッドワードロード命令は、隣接する2つの倍精度値を隣接する2つの浮動小数点レジスタに移動します。
  • ハードウェア平方根命令。
  • 浮動小数点から整数への変換命令。

1996年にRS/6000およびRS/6000 SP2製品ラインをサポートするため、IBMは独自の設計チームに、Apple/IBM/Motorolaアライアンスの外部で、IBMの最先端かつ高密度のCMOS-6Sプロセスを用いてPOWER2のシングルチップ版であるP2SC(「POWER2スーパーチップ」)を実装させました。P2SCは、POWER2の個別命令キャッシュ、固定小数点、浮動小数点、ストレージ制御、およびデータキャッシュチップのすべてを1つの巨大なダイに統合しました。発表当時、P2SCは業界で最大かつ最多のトランジスタ数を誇るプロセッサでした。サイズ、複雑さ、および高度なCMOSプロセスという課題にもかかわらず、プロセッサの最初のテープアウトバージョンは出荷に成功し、発表当時は浮動小数点性能でトップクラスでした。P2SCは、チェスのグランドマスター、ガルリ・カスパロフを破った1997年のIBMチェス・スーパーコンピュータDeep Blueに使用されたプロセッサです。 P2SCは、洗練されたツインMAF浮動小数点ユニットと、広帯域かつ低レイテンシのメモリインターフェースを備え、主にエンジニアリングおよび科学技術アプリケーション向けに設計されました。P2SCの後継機はPOWER3で、64ビット、SMP機能、そしてP2SCの洗練されたツインMAF浮動小数点ユニットに加え、PowerPCへの完全移行が図られました。

建築

POWERアーキテクチャの歴史

POWERの設計は、真のRISCプロセッサ設計の先駆けと広く考えられている801のCPUから直接派生したものです。801はIBMハードウェア内の多くのアプリケーションで使用されました。[ 2 ]

PC/RTの発売とほぼ同時期に、IBMは市場で最も強力なCPUを設計するためのアメリカプロジェクトを開始しました。彼らは主に、801の設計における2つの問題を修正することに注力していました。

浮動小数点演算はアメリカ・プロジェクトの焦点となり、IBMは1980年代初頭に開発された、64ビット倍精度の乗算と除算を1サイクルで実行できる新しいアルゴリズムを採用することができました。設計のFPU部分は命令デコーダーおよび整数部分から分離されており、デコーダーはFPUとALU(整数)実行ユニットの両方に同時に命令を送信できました。IBMはこれを複雑な命令デコーダーで補完し、1つの命令をフェッチし、別の命令をデコードし、ALUとFPUに同時に送信することで、当時としては初期のスーパースカラCPU設計の一つを実現しました。

このシステムは、それぞれ専用のユニットに32個の32ビット整数レジスタと32個の64ビット浮動小数点レジスタを備えていました。分岐ユニットには、プログラムカウンタなど、分岐ユニット専用の「プライベート」レジスタもいくつか含まれていました。

このアーキテクチャのもう一つの興味深い特徴は、すべてのアドレスを52ビット空間にマッピングする仮想アドレスシステムです。これにより、アプリケーションは「フラット」な32ビット空間でメモリを共有でき、すべてのプログラムがそれぞれ異なる32ビットのブロックを持つことができます。

PowerPCアーキテクチャブックバージョン2.02 [ 5 ]のブックI:PowerPCユーザー命令セットアーキテクチャの付録Eでは、 POWERとPOWER2の命令セットアーキテクチャの違いと、POWER5で実装されたPowerPC命令セットアーキテクチャのバージョンについて説明しています。

参照

参考文献

  1. ^ Bakoglu, HB; Grohoski, GF; Montoye, RK (1990年1月). 「IBM RISC System/6000プロセッサ:ハードウェア概要」. IBM Journal of Research and Development . 34 (1): 12– 22. doi : 10.1147/rd.341.0012 .
  2. ^ a b c d Cocke, J.; Markstein, V. (1990年1月). 「IBMにおけるRISC技術の進化」(PDF) . IBM Journal of Research and Development . 34 (1): 4– 11. doi : 10.1147/rd.341.0004 .
  3. ^ a b John Paul Shen、Mikko H. Lipasti(2013年7月30日)。『現代のプロセッサ設計:スーパースカラプロセッサの基礎』 Waveland Press、380ページ。ISBN 9781478610762
  4. ^ a b G. F. Grohoski (1990年1月). 「IBM RISC System/6000プロセッサのマシン構成」. IBM Journal of Research and Development . 34 (1): 37– 58. doi : 10.1147/rd.341.0037 .
  5. ^ 「PowerPC Architecture Book, Version 2.02」。IBM 。2020年11月29時点のオリジナルよりアーカイブ
注記

さらに読む

  • ワイス、シュロモ、スミス、ジェームズ・エドワード (1994). POWER and PowerPC . モーガン・カウフマン. ISBN 978-1558602793— 関連部分: 第 1 章 (POWER アーキテクチャ)、第 2 章 (アーキテクチャの実装方法)、第 6 章 (POWER2 アーキテクチャで導入された追加機能)、付録 A および C (すべての POWER 命令の説明)、付録 F (POWER アーキテクチャと PowerPC アーキテクチャの違いの説明)
  • Dewar, Robert BK; Smosna, Matthew (1990). 『マイクロプロセッサ:プログラマの視点』McGraw-Hill.— 第12章では、POWERアーキテクチャ(以前はRIOSと呼ばれていました)とその起源について説明します。