ICDロゴ

AMD64

【エー・エム・ディー・ロク・ヨン】

別名
x86-64テクノロジ (x86-64 technology) 【エックス・ハチロク・ロクジュウヨン・テクノロジ】

最終更新日: 2005/04/30

 AMDが提唱している、x86アーキテクチャを64bitに拡張したマイクロプロセッサアーキテクチャ。AMDが発売するハイエンドのプロセッサに実装されることになっている。

 x86アーキテクチャは、IA-32アーキテクチャとも呼ばれるところからも分かるように、32bitのマイクロプロセッサ向けアーキテクチャである。32bit幅のデータやアドレスを扱うように設計されているので、ユーザーは4Gbytesのフラットなアドレス空間を利用することができる。しかしアプリケーションやシステムの大規模化などに伴い、これでは不十分になってきた。そこで求められているのが、より広いアドレス空間やそれを扱うことができる64bitマイクロプロセッサアーキテクチャである。このために、すでにIntel社ではIA-64という64bitアーキテクチャをHP社と共同で開発、推進しているが、これは従来のIA-32アーキテクチャとはまったく異なるものなので、既存のシステムとの継続性はほとんどなく、コンパイラやOS、アプリケーションなどをすべて新しく開発し直す必要がある。

 それに対してAMDでは、既存のx86アーキテクチャとの継続性や互換性を最重要視して新しくx86-64というアーキテクチャを開発した。x86アーキテクチャにおける32bit処理機能は、もともと16bitアーキテクチャであった8086プロセッサに対する拡張機能として開発されてきたという経緯があるが、x86-64ではそれをさらに拡張して、64bitのデータやアドレス空間を扱えるようにしている。

 x86-64で新しく導入される64bit処理モードは「Long Mode」という。これに対して従来の32bit処理モードは「Legacy Mode(従来モード)」と呼ばれ、プロセッサはこの2つの状態を切り替えながら動作する。Legacy Modeは従来の32bit x86プロセッサと同じ動作モードであり、プロセッサは最初はこのモードで起動する。そのため、x86-64をサポートした新しいプロセッサやシステムを導入しても、64bitモードをサポートするような新しいソフトウェアやOSを使用しなければ、従来のシステムとまったく同じであるし、64bit化の恩恵を受けることはない。

 Long Modeを利用するためには、64bitモードをサポートした新しいOSが必要となる。OSがいったんプロセッサをLong Modeに切り替えると、64bit機能が利用できるようになる。ただしLong Modeには「64bit Mode」と「Compatibility Mode」という2つのサブモードがあり、64bitレジスタや64bitアドレッシングモードといった64bit機能をフルに利用するためには、前者の64bit Modeを利用する必要がある。しかしこのためには、プログラムをすべて再コンパイルしたり、作り直したりしなければならない。これに対して、従来の32bitモードのライブラリやアプリケーションのバイナリコードをそのまま使うならばCompatibility Modeにしておけば良い。この2つのサブモードは、コードセグメントごとに切り替えて共存させることができるので、例えば新しく作成するコードは64bit Modeで記述するが、ライブラリなどは当面は従来のバイナリをそのまま利用する、というふうに利用することができる。また、プログラムはそのままだが、パフォーマンスが要求される一部のルーチンだけを64bitコードで書き直す、という使い方も可能となっている。

 64bitモードでは、従来の32bitモードと比べると、アドレス空間が広くなるだけではなく、利用できるレジスタなども拡張されている。64bitモードでは、64bitのリニアでフラットな論理アドレス空間(物理アドレス空間は最大252)、16本の64bit汎用レジスタ(従来は32bit幅×8本のみ)、SSE/SSE2向けの128bit×16本のXMMレジスタ、64bit幅の命令レジスタ、命令レジスタ相対アドレッシングモード、などが新たに利用可能になる。

 x86-64テクノロジを実装した最初の製品Opteron(開発コード名「SledgeHammer」)は2003年前半に発表されることになっている。そして48bitの仮想アドレス空間と40bitの物理アドレス空間をサポートする予定である。

Copyright (C) 2000-2007 Digital Advantage Corp.

参考リンク

アイティメディアの提供サービス

キャリアアップ