ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
x86命令セットアーキテクチャーを64ビットに拡張した、AMDの64ビットプラットフォーム。「AMD64プラットフォーム」ともいう。
32ビットだったx86アーキテクチャーIA-32に対し、IntelはIA-64という独自のアーキテクチャーを提供した。Intelは、IA-64との競合を避けるため、x86アーキテクチャーは32ビットに限定する方針とした。
一方市場は、x86と互換性のある64ビットアーキテクチャーを求めていた。この需要に応えたのが、AMD64アーキテクチャーだった。
後塵を拝することになったIntelにも、64ビット化の計画はあった。これはもちろんAMD64とは全く互換性が無かったが、OS市場を事実上独占していたMicrosoftはx86の64ビット拡張を一本化することを要求、これによってIntelは先行したAMD64互換の64ビットアーキテクチャーをEM64Tとして採用せざるをえなくなった。EM64Tは、後にIntel 64に改名され、現在に至っている。
x86命令とほぼ完全な互換性を維持しながら、命令セットを64ビット化した。
既存の32ビットレジスターを拡張して64ビットレジスターを実装し、更に汎用レジスターとSSEレジスターを従来の8本から16本へと増設した。従来の拡張はRAXなどとなる他、追加されたレジスターはR8-R15、XMM8-XMM15などとなる。アドレス空間が64ビット化されたため、命令のポインターも64ビット化された。
但し、FPU/MMXレジスターは変更がなく、従来通り80ビットのレジスターが8本のままである。
K8系の製品シリーズから導入されている。2003(平成15)年4月23日に発売されたOpteronが初の製品であり、その後、デスクトップ/モバイル用として2003(平成15)年9月にAthlon 64が発表された。
AMD64という名称が発表される以前は「x86-64テクノロジ」などと呼ばれていた。
また、プラットホーム自体は、CPUの開発コードネームであるSledgeHammerやClawHammerなどの名で呼ばれていた。
AMDは、プラットホームは「AMD64プラットフォーム」とし、この技術で使われる命令セットアーキテクチャーx86-64を「AMD64 ISA」とした。
IA-32はCISCであり、また8ビットCPUとの互換性も考慮されていたため、独特の設計になっていた。
AMDは、この独特の設計の改善をもくろんでいた。DEC Alphaの設計者もAMD64の仕様策定に参加しており、64ビットマイクロプロセッサーとして先行していたRISCに似せたアーキテクチャーを導入することにした。
汎用レジスターは、IA-32は8本(EAX、ECX、EDX、EBX、ESP、EBP、ESI、EDI)だった。これに更にR8〜R15の8本を追加して16本とした。
また、各レジスターのビット幅も、32ビットから64ビットへと拡張された。
IA-32は汎用レジスターの数が少なく、このためコンパイラーによる最適化にも限界がありRISCより不利な点とされていた。16本のレジスターも、RISCと比べると多いとは言えないが、本数が倍になったことで最適化が進み、これによる性能向上も期待されている。
加えて、128ビット長のXMMレジスターも、従来の8本から16本に増やされた。
なお、64ビット長のMMXレジスターは、8本のまま変更がない。SSEが主流となった現在では、MMXおよびx87 FPUは、もはや互換性のために残されている存在である。
アプリケーションが扱える仮想アドレス空間は従来の32ビットから64ビットに拡張され、64ビットのフラット仮想アドレッシングに対応した。
IA-32の初期のプロセッサーは物理アドレス空間が32ビットであるため、232バイト=4Giバイトまで扱うことができた。Pentium Pro以降では、物理アドレス拡張機能(PAE)を使うことで物理アドレス空間が36ビットに拡張されたため、64Giバイトまで扱うことができるようになった。
AMD64でも物理アドレス拡張を使用するが、これを拡張した。64ビットCPUだが、設計仕様上の最大を52ビット、252バイト=4Eiバイト、当面の実装では48ビット、248=256Tiバイトまで扱えるようにしている。
プログラムカウンター相対アドレッシングに対応した。RIPは、IP/EIPが64ビット化したことに伴い導入された64ビットレジスターである。
従来も、ジャンプ命令にPC相対は存在したが、データアクセスでは存在しなかった。このアドレッシングを使うことで、データアクセスを完全なリロケータブルにできる。
AMD64プラットフォームの機能を実現するために導入された新たな命令セットをAMD64 ISAという。
従来のAMDの命令セットと同様、x87 FPU、MMX、3DNow!、Enhanced 3DNow!に対応し、更に、SSE、SSE2にも対応する。
SSE/SSE2では8本の128ビットXMMレジスターを使用するが、AMD64ではこれを拡張し、16本にレジスターを増やしている。
AMDがSSE/SSE2を正式に導入したことで、従来のMMXや3DNow!で提供されていた機能がSSEシリーズで網羅されることになった。x87 FPUやMMX系の従来命令は、既に互換性のためだけに残されたレガシーなものとなっている。実際にMMXの拡張である3DNow!は、後に廃止されている。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます