AMD64とは?

辞典・百科事典の検索サービス - Weblio辞書

初めての方へ

参加元一覧


用語解説|製品情報|ニュース|動画|本・雑誌|文献|商品|全文検索

ウィキペディア

ウィキペディアウィキペディア

AMD64

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2012/02/08 04:12 UTC 版)

AMD64は、x86アーキテクチャをAMD が拡張して64ビット化した、命令セットアーキテクチャ

インテルがAMD64と互換性を持つ命令セットをIntel 64の名称で採用しており、総称としてx86-64、x64などが用いられている。

AMD64は、AMDのOpteronAthlon 64Turion 64など最初に実装されたK8マイクロアーキテクチャとその後継製品に実装されている。

目次

経緯

PC用アーキテクチャとして広く普及したx86は、半導体の製造技術とマイクロアーキテクチャの革新とともに性能の向上を続け、サーバやワークステーションといったエントリークラスのエンタープライズ市場でも広く受け入れられるに至った。しかし、IA-32の性能向上によって自社開発の64ビットアーキテクチャであるIA-64との競合を懸念したインテルは、x86の拡張を32ビットアーキテクチャの範囲に留めてIA-64との棲み分けを図った。これに対し、市場からは広く普及したIA-32アーキテクチャと互換性を保ちつつ64ビットに拡張した、よりコストパフォーマンスに優れたエンタープライズ製品の登場が待ち望まれていた。高収益を望めるエンタープライズ市場への進出を図っていたAMDはそうした需要に応えて、x86の64ビット拡張アーキテクチャとして、従来のIA-32のソフトウェアも利用が可能な命令セットとしてx86-64を発表した。その後の実際の製品発表でAMD64と改称された。この計画は、2000年8月に発表され、最初のプロセッサは2003年4月に出荷された。

インテルはIA-64を実装したItaniumで32ビットのx86アーキテクチャに対する明確な利点を示せず市場では苦戦を強いられていたため、AMDの64ビット拡張とは別個に社内でIA-32アーキテクチャを64ビットに拡張する計画[1]を持っていたが、これはAMD64とは互換性がなかった。OS市場を事実上掌握していたマイクロソフトは64ビット拡張の命令体系の一本化を要請し、その命令セットとしてAMDのx86-64を採用することを決定した。これによりintelは、自社開発のx86の64bit拡張アーキテクチャを断念し、AMD64を後にEM64Tとして採用するに至った。その後、Intel 64に改称されている。

Windows以外にも、Mac OS XLinuxBSD系OSなどがAMD64に対応している。AMD64、Intel 64 の総称としてx86_64 ( Windowsでは x64 ) が用いられている。

アーキテクチャ概要

AMD64命令セットには、インテルのIA-32アーキテクチャに指摘されるアンバランスで特異な部分を、きれいで使いやすいものにするという目論見があった。また、同時に先行している 64ビットRISC環境に似せたアーキテクチャにしようと考えて設計された。DEC Alpha の設計者の一人 ダーク・メイヤー が AMD64仕様の作成に関わり、彼をはじめとするDEC出身者の経験がこのプロジェクトに活かされた。特筆すべき点は以下のようなものである。

レジスタの追加と拡張
汎用レジスタ (GPR) 数はIA-32の8本 (EAX,EBX,ECX,EDX,ESI,EDI,EBP,ESP) に更にR8〜R15の8本を追加して16本に増やされ、各レジスタのビット幅も32ビットから64ビットに拡張された。IA-32は汎用レジスタが少ないことからコンパイラによる最適化に限界があり、これが最も大きな欠点とされた。AMD64に最適化されたアプリケーションでは、レジスタ本数の増加によって性能向上が見込まれ、特に深いループを持った演算主体のソフトウェアでその傾向が強いと見込まれる。さらに128ビットのXMMレジスタの本数も8本から16本に増やされた(Streaming SIMD命令で使われる)。
アドレス空間の拡張
AMD64アーキテクチャでは、現状の実装で48ビットのアドレス空間を持ち、256テラバイトまでのメモリを扱うことが出来る。IA-32アーキテクチャにおいて初期のプロセッサでは、アドレス空間は32ビットで表現できる4GiBに制約され、Pentium Pro以降の実装で追加された物理アドレス拡張機能を使用することで64GiBのメモリを接続できるが、1プロセスで利用可能なメモリ空間はやはり4GiBに制約された。32bit版Windowsシリーズにおいては、OSの仕様でアプリケーションが利用可能なメモリはおよそ3GiBに制約される[2]。これに対しAMD64のLongモードでは、IA-32の物理アドレス拡張をベースに、論理アドレス空間を48ビットへ拡張し(現状物理アドレス空間は52ビット)、将来の拡張で4エクサバイトまでの仮想空間をサポートできるようになっている。
関連:2進接頭辞
RIP相対データアクセス
プログラムカウンタ (RIP) 相対でデータにアクセスすることができ、リロケータブルな共有ライブラリのコードを作成できる。また、共有ライブラリを仮想アドレス空間のどこにでも配置することができる。
SSE 命令
AMD64アーキテクチャでは明確にインテルのSSESSE2を基本命令セットに組み込んでいる。SSE2はx87の80ビット浮動小数点数から 32ビット/64ビットの浮動小数点数に置き換えたものである。SSE/SSE2命令セットは追加の8本のXMMレジスタを扱えるように拡張された。SSEとSSE2がAMD64命令セットに組み込まれており、それが従来のx87 FPUMMX3DNow!の機能をカバーする。x64版Windowsでの64ビットプログラムでは、FPU/MMXレジスタをコンテキストスイッチの際に保存しないようにすると噂されたが、実際には保存されるようになっている[1]



[ヘルプ]
  1. ^ Yamhill、後にClakamas Technologyのコード名で呼ばれた。詳細はIntel 64を参照のこと。
  2. ^ 詳細についてはWindows NT系を参照のこと。


「AMD64」の続きの解説一覧




固有名詞の分類



AMD64に関連した本

AMD64に関係した商品


AMD64のページへのリンク
「AMD64」の関連用語
AMD64のお隣キーワード
モバイル
モバイル版のWeblioは、下記のURLからアクセスしてください。
http://m.weblio.jp/
» モバイルで「AMD64」を見る
_ _   


AMD64のページの著作権
Weblio 辞書情報提供元は参加元一覧にて確認できます。

  
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのAMD64 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2012 Weblio RSS