通信用語の基礎知識 全国のICカードこれひとつ 戻る

AMD64
辞書:科学用語の基礎知識 中央演算処理装置用語x86編 (IYCP86)
読み:エイエムディーろくじゅうよん
外語:AMD64
品詞:名詞

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相対アドレッシング

プログラムカウンター相対アドレッシングに対応した。RIPは、IP/EIPが64ビット化したことに伴い導入された64ビットレジスターである。

従来も、ジャンプ命令にPC相対は存在したが、データアクセスでは存在しなかった。このアドレッシングを使うことで、データアクセスを完全なリロケータブルにできる。

命令セット

AMD64プラットフォームの機能を実現するために導入された新たな命令セットをAMD64 ISAという。

従来のAMDの命令セットと同様、x87 FPUMMX3DNow!Enhanced 3DNow!に対応し、更に、SSESSE2にも対応する。

SSE/SSE2では8本の128ビットXMMレジスターを使用するが、AMD64ではこれを拡張し、16本にレジスターを増やしている。

AMDがSSE/SSE2を正式に導入したことで、従来のMMXや3DNow!で提供されていた機能がSSEシリーズで網羅されることになった。x87 FPUやMMX系の従来命令は、既に互換性のためだけに残されたレガシーなものとなっている。実際にMMXの拡張である3DNow!は、後に廃止されている。

リンク
用語の所属
AMD
関連する用語
AMD64 ISA
Opteron
Athlon 64
IA-32e
Intel 64

[再検索] [戻る]


通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club
KisoDic