コラム

Athlonのアーキテクチャ

デジタルアドバンテージ
1999/12/20

 これまでx86互換プロセッサというと、周辺チップを統合した特殊なCyrixのMediaGXなどを除けば、インテル製プロセッサとのソケット互換性を維持したものが一般的だった。つまり、互換プロセッサベンダは同じマザーボードで、プロセッサだけをこのような互換プロセッサに差し替えさえすれば動作するようにしてきたわけだ。これにより、PCベンダは容易に互換プロセッサに切り替えが可能になるうえ、互換プロセッサベンダにしてもチップセットなどを独自に開発する手間が省けるというメリットがあった。しかしこのことは逆に、インテルが新しいソケットを発表すると、それに追従しなければならず、常にインテルの後塵を排する要因ともなっていた。

 これに対し、最大のx86互換プロセッサベンダであるAMDは、Athlonで初めて独自バスのEV6(Alphaプロセッサ バスをベースにしたもの)を採用し、インテルのソケット互換から脱却した。これは、AMD K6-2の成功により、IBMやCompaq Computerといった大手PCベンダが採用する互換プロセッサベンダとしての地位を築いたことや、インテルが当初はP6バスのアーキテクチャや特許を他社にライセンスしなかったことが要因だろう。また、インテルよりも高速なプロセッサを出荷するためには、インテルと同じバスを使っていたのでは難しいという面があったのかもしれない。

Athlonのマイクロアーキテクチャ

 このようにAthlonは、x86命令互換プロセッサではあるものの、独自のマイクロアーキテクチャとバスを採用している。ここではAthlonの概要を紹介しよう。

 Athlonは、パッケージにPentium IIと同じSECC(Single Edge Contact Cartrige)を採用し、スロット形状もSlot 1と同じもの(AMDではSlot Aと呼んでいる)を採用している。これは、リテンションキット(プロセッサを固定する金具類)やコネクタをPentium IIと共通化することで、これらの部品にかかるコストを削減するのが目的だ。ただし、物理形状は同じだが、信号レベルやバスプロトコルなどは異なるので、Pentium II/III対応のマザーボードにAthlonを搭載することはできないので注意が必要だ。

 現在、0.25ミクロンプロセスで製造されている500MHz/550MHz/600MHz/650MHz/700MHzと、0.18ミクロンプロセスで製造されている750MHzの合計6種類の動作クロックに対応した製品が出荷されている。Athlonのトランジスタ数は2200万個で、0.25ミクロンプロセスの場合、ダイサイズは184平方mmとなっている。Pentium IIIが950万トランジスタ、約130平方mmであることと比較すると、圧倒的にトランジスタ数は多く、ダイサイズは4割ほど大きい。単純に大きさだけから判断すると、Pentium IIIに比べてAthlonのほうが製造コストは高いと判断できる(一般に半導体の製造コストはダイサイズに比例するため)。

 Athlonは、128Kbytes(命令64Kbytes+データ64Kbytes)の1次キャッシュを搭載しており、これはPentium II/IIIの4倍もの容量である。トランジスタ数が多く、ダイサイズを小型化できない最大の要因がここにある。2次キャッシュとしては、容量512KbytesのSRAMがプロセッサカートリッジに同梱されており、プロセッサコアの動作クロックの2分の1でバックサイドバスに接続されている。これは、Pentium IIや従来のPentim III(開発コード名:Katmai/カトマイ)などと同様だ。Athlonのマイクロアーキテクチャでは、最大8Mbytesまでの2次キャッシュをサポートできるようにしている。

 x86命令のデコードは、Athlonでは1クロックあたり3個、Pentium II/IIIは1個となっている。Athlonでは、これを固定長の「Macro-Ops」と呼ぶ内部命令に変換する(Pentium II/IIIは、uopsという内部形式に変換する)。この方式は、AMD-K5やK6などと同様だが、内部命令については公開されておらず、それぞれのプロセッサで異なっているようだ。また、1個のx86命令が何個のMacro-Opsに変換されるのかについても公開されていない。なお、Athlonでは最大9個のMacro-Opsを同時に実行可能できる。

 Athlonは、x86命令に加え、AMD独自のSIMD拡張命令である「3DNow!テクノロジ」をさらに拡張した「エンハンスト3DNow!テクノロジ」をサポートする。エンハンスト3DNow!テクノロジは、3DNow!テクノロジに加え、新たに24命令を追加したものだ。追加された命令の内訳は、MMX整数演算性能を向上し、インターネット・ストリーミング・アプリケーションのデータ転送能力を高めるための19命令と、ソフトウェアモデム、ソフトウェアADSL 、Dolby Digital、MP3アプリケーション用のDSP拡張命令が5命令である。3DNow!テクノロジと同様、インテルのMMXテクノロジを包含しているものの、Pentium IIIがサポートするインターネット・ストリーミングSIMD拡張命令とは互換性がない。Windows 2000に実装されているDirectX 7.0では、3DNow!テクノロジのサポートは行われているものの、エンハンスド3DNow!テクノロジのサポートについては公式な発表が行われていない(現状では未サポートと思われる)。

 Athlonの実行ユニットは、パイプライン化されたスーパースケーラの整数演算ユニットが3本、アドレス演算ユニットが3本、浮動小数点実行ユニットが3本で構成される。これらはすべてアウト オブ オーダーによる実行が可能だ。なお、浮動小数点実行ユニットで、すべての浮動小数点(x87)命令、MMX命令、3DNow!命令が実行される。パイプラインは、整数演算が10段、浮動小数点演算が15段と、K6-2/IIIの6段(整数演算、浮動小数点とも)に比べて深くなっている。一般的にスーパーパイプライン アーキテクチャを採用するプロセッサでは、パイプラインの段数が深いほど、動作クロックを引き上げることが容易になるといわれている。AMDによれば、0.18ミクロンプロセスと銅配線を使用した製造プロセスの採用で、2000年中には1GHz以上の動作クロックを実現するという。

クリックすると図が拡大表示されます
Athlonのマイクロアーキテクチャのブロック

 Athlonのシステムバスは、前述のようにAlpha EV6をベースにしている。現在のシステムバスクロックは200MHzだが、将来的には400MHz以上に引き上げることも予定されている。このシステムバスは、マルチプロセッサに対応しており、各プロセッサとシステムロジック(チップセット)が1対1で接続される「Point-to-Point Bus」を採用している。これにより、マルチプロセッサとした場合でも、各プロセッサとシステムロジックの間は1.6Gbytes/sec(200MHz X 64bit)のバンド幅が常に確保される。これに対しPentium II/IIIは、1つのプロセッサバスを複数のプロセッサで共有する「Shared Bus」を採用しているため、800Mbytes/sec(100MHz X 64bit)もしくは1Gbytes/sec(133MHz X 64bit)のプロセッサバスを、搭載する各プロセッサ間で共有することになる。

AthlonとPentium II/IIIのバスの違い

 また、Athlonのバスはクロック制御に「ソース同期クロック(クロック・フォワーディング)テクノロジ」を用いる。ソース同期クロックとは、Point-to-Pointでデータを転送する場合に有効な方法で、データの送り手(たとえばプロセッサ)が受け手(システムロジック)に対し、データとともにクロック信号を供給するというものだ。受け手側はデータとクロックを同時に受信するため、クロックとデータのずれなどの発生を考慮する必要がない。これにより、AMDでは容易に高いシステムバスクロックの実現が可能だと述べている。

 また、AthlonおよびAthlon用システムバスは、最大で8Tbytesまでのメモリをサポートしており、大規模なサーバ用途にも十分に対応可能となっている。ただし、実際にサポートされるメモリ容量はチップセットによって異なり、AMD-750は768Mbytesまで、VIA Apollo KX133では2Gbytesまでとなっている。

 このようにAthlonは、優れたマイクロアーキテクチャとバスアーキテクチャを備えている。実際、各種ベンチマークテストの結果を見ても、同じ動作クロックのPentium IIIに比べ、10%から40%も高速という結果も得られている。

 
     
 INDEX
  検証:Athlon搭載マシンにWindows 2000をインストールする(1/2)
コラム:Athlonのアーキテクチャ
    コラム:Athlonのロードマップ
 
 
 検証


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間