x64の3つの動作モードを知る(2/2 ページ)

» 2005年06月27日 05時30分 公開
[ch3,C MAGAZINE]
前のページへ 1|2       

互換モード

 新しい64ビットOS上で従来の32ビットアプリケーションを利用する場合に用いられるモードです。このモードでは、デバイスドライバはすべて64ビットのものが必要となります。また、OSはx64のテクノロジを利用することができますが、IA-32向けのアプリケーションからx64のリソース(たとえば、拡張された汎用レジスタなど)を利用することはできません。

 このモードでは、既存の32ビットアプリケーションを64ビットOSのもとで実行できるので、非常に円滑な64ビットへの移行を実現できます。ただし、64ビットOSと64ビット対応のドライバ、64ビット対応のBIOSが必要であり、現在使用中のアプリケーションが新しい環境に適しているかをアプリケーション開発者や開発ベンダが確認して提供する必要があります。

 ちなみに、既存の32ビットプロテクトモードアプリケーションは、基本的に再コンパイルなしで動作させることができますが、16ビットのプロテクトモードアプリケーションが動作するかどうかは、OSやドライバのサポートに依存することになります。

 また従来の32ビットプラットホームでは、通常はOSとすべてのアプリケーションが利用可能な4Gバイトのメモリを共有しています(Windowsなどではメモリ全体のうちの約半分がOS用に確保されています)。一方、64ビットOSのもとで既存の32ビットアプリケーションを実行すると、アプリケーションごとに4Gバイトのメモリを割り当てられるしくみになっています。そういった違いからも、互換性のある適切なドライバをインストールしたうえで、現在使用中のアプリケーションが新しいOSのもとで正しく動作するかどうかをテストしなければなりません。

64ビットモード

 新しい64ビットOS上で新しい64ビットアプリケーションを利用する場合に用いられるモードです。このモードでは、64ビットコンピューティングのメリットである最大1TB(テラバイト)のメモリ(注1)を利用できます。64ビットのOS、64ビット対応のドライバとBIOSが必須であり、64ビットのアドレス機能を利用する場合は、既存の32ビットアプリケーションを64ビット環境に対応(移植と最適化)させたうえで、再コンパイルと検証を行う必要があります。

 この移行によって、64ビットデータの操作がネイティブで可能になり、メモリ容量も大幅に拡張されます。

注1
 x64は、40ビット(1Tバイト)までの物理アドレスと48ビットまでの仮想アドレスをサポートする。ちなみに、物理アドレスは原理的に52ビット(1Pバイト)までサポート可能だが、現状では40ビットに使用制限されている

前のページへ 1|2       

Copyright(C) 2010 SOFTBANK Creative Inc. All Right Reserved.

注目のテーマ