特集
» 2005年06月08日 01時10分 公開

64ビットコンピューティング最前線:あなたホントに64ビットを説明できますか? (2/2)

[C MAGAZINE]
前のページへ 1|2       

物理アドレスと仮想アドレスの範囲

 先ほど、64ビットのアドレス範囲は16Eバイトと説明しましたが、現状の64ビット対応プロセッサでは、すべてのアドレス範囲を扱うことができるわけではありません。

 Itanium2プロセッサに代表されるインテルのIA-64アーキテクチャでは、50ビットが物理アドレスの範囲となっています。また、AMD OpteronなどのAMD64アーキテクチャでは、40ビットまでの物理アドレスと、48ビットまでの仮想アドレスがサポートされています。この40ビットという値は、1Tバイトまでの物理アドレス範囲をカバーしていることになります。

 なお、この範囲に関しては、プロセッサおよびOSの種類によって異なることがあるという点に注意してください。

 実際の64ビット対応プロセッサで扱うことのできる物理アドレスの範囲をTable 3に示します。

Table 3 主な64ビット対応プロセッサの物理アドレス範囲
プロセッサ アーキテクチャ 物理アドレス 仮想アドレス
Intel Itanium2 IA-64 50ビット 64ビット
Intel Itanium IA-64 44ビット 54ビット
AMD Opteron AMD64 40ビット 48ビット
AMD Athlon 64 AMD64 40ビット 48ビット

なぜ今64ビットなのか

 コンピュータの世代が進むごとに、ビット数は増えてきました。ではなぜ、このようにビット数が増えてきたのでしょうか。それは、技術の発達とともに処理されるべきデータ量が増え、コンピュータに実装されるメモリが上限に達してしまったことがもっとも大きな要因といえるでしょう。

 事実、ここ数年でメモリは32ビットの限界範囲である4Gバイト(232バイト)に達してしまいつつあります。一般的な32ビットコンピュータでは、4Gバイト以上のメモリを直接(物理的に)アクセスすることはできません。しかし、ハイエンドのx86マルチプロセッサシステムでは、すでにこの4Gバイトの幅を超えてしまっています。

 現在、インテルのサーバ向けXEONプロセッサ(Noconaおよび一部のPrescottコア)では「Intel Extended Server Memoryアーキテクチャ」と呼ばれる拡張機能によって、36ビットの物理アドレス空間をサポートしており、最大で64Gバイトまでのメモリ領域を扱うこともできます。しかし、これは物理アドレスの限界への根本的な解決にはなっていません。

 こういった問題を解決するために、今の段階から64ビット化への移行を行う必要性が出てきているのです。

Tips1 64ビットは32ビットの倍!?
64ビットは32ビットの倍のビット幅だから、処理速度や扱えるデータ量も倍になるのではと期待されがちですが、そういうものではありません。そういった間違った認識を持たないためにも、64ビットというものをここで正しく理解しておかなければなりません。

前のページへ 1|2       

Copyright(c)2007 SOFTBANK Creative Inc. All rights reserved.

注目のテーマ