このページの本文へ

ロードマップでわかる!当世プロセッサー事情 第494回

業界に多大な影響を与えた現存メーカー POWERとAIXで第3の市場を開拓したIBM

2019年01月21日 12時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/) 編集●北村/ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

より高速なRISCプロセッサーの開発を開始

 1985年、もともとのIBM 801開発チームが再び集結し、より高速なRISCプロセッサーの開発を決める。“AMERICA architecture”なる開発コード名が付いたこのプロセッサー、初期デザインはヨークタウンで行なわれ、1986年にデザインをAES IBUに提示。AES IBUはこれを受け入れ、ただちにAMERICA architectureベースのマシン開発をスタートする。

 RT PC Workstationの後継がなかった理由の1つはこれである。そのAMERICA architecture、基本的な考え方はIPCの向上である。IBM 801では1命令/サイクルが目標であったが、スーパースカラーのような実装をすることで、1命令/サイクル以上の性能を実現可能という研究が当時すでに行なわれており、これを実装することが目標とされた。

 実際の実装はなかなかおもしろいものである。まず最初の特徴であるが、内部は大きく3つに分けられている。Branch Processor、Fixed-point Processor、Floating-point Processorである。

AMERICA architectureでのCPU概念図。それぞれのプロセッサーの脇の小さなものは、レジスターの管理場所である。例えばCR(Counter Register)やMSR(Machine State Register)などはBranch Processorの管理下にあるわけだ

 最近のx86の実装で言えば、Branch Processorがいわゆる命令パイプラインのフロントエンドにあたるインオーダーで実行される部分である。ここは命令フェッチとデコードを行なうほか、割り込みの管理なども行なう。

 また関数の呼び出しに向けたリンクレジスター(x86の実装で言えば、Call専用のスタックに相当するもの)もここで管理している。分岐命令そのものも、もちろんここで管理される。IBM 801やROMPで搭載されたディレイスロットに相当する実装や、簡単ながら分岐予測の機能も搭載された。

 これに対してFixed-point ProcessorとFloating-point ProcessorはそれぞれALU/FPUにあたるものである。まだロード/ストアにあたる専用ユニットはなく、これはFixed-point Processor/Floating-point Processorからそれぞれデータキャッシュへのアクセスする形になっていた。加えて、そのFloating-point Processingの性能を大幅に強化するというのが2つ目の特徴である。

 初期のデザインでは、1サイクルで64bitのMAC(Multiply-and-Add:乗加算)を可能にする予定だった。さすがにこれは実装の難易度が上がりすぎるため、実現したのはだいぶ後のモデルになる。命令セットはROMPの縮小RISC命令風から逆戻りし、IBM 801をもう少し拡張したようなフォーマット(実際4オペランド命令なども存在する)に発展した。

 ちなみにアドレッシングは、ROMPのさらに上を行く52bitの仮想アドレス(セグメントIDがROMPの12bitから、AMERICA architectureでは24bitに増強された)となっているほかは大きな違いはない。

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン