https://jp.quora.com/Windows%E3%81%AF2005%E5%B9%B4%E3%81%8B%E3%82%8964bit%E3%81%AB%E5%AF%BE%E5%BF%9C%E3%81%97%E3%81%9F%E3%81%BF%E3%81%9F%E3%81%84%E3%81%A7%E3%81%99%E3%81%8C-%E3%81%BB%E3%81%A8%E3%82%93%E3%81%A932bit%E3%81%AE%E3%82%A2
"64bit CPU"と"64bit版OS"は、命令体形においてアドレッシングモードが従来の16bitと32bitに加えて64bitも加えられているだけです。単一で4GByteを超えるデータやプログラムを扱う場合には32bitのアドレッシングモードでは不足しますから、インデックスレジスタでアドレスを拡張する手間が避けられません。その手間を嫌てアドレスをリニアに扱いたいなら64bit CPUと64bit版OSが必要になりますが、そうでなければわざわざ64bit版アプリケーションを作る必要性はありません。
↑Intel/AMD製の64bit CPU x64 instruction set用レジスタ グレー部分が増えたレジスタです。
↑Intel/AMD製の64bit CPU x64 ロングモード時のアドレス拡張 PAEモードでは3段階だったのがPage-Map Level 4 Tableが1段階加わって4段階になります。Intel社ではさらに5段階目のページテーブルを加えたアドレス拡張方式もCPUに備えています。
↑Intel/AMD製の64bit CPU x64での64bitアドレッシング
仮に新しいアプリケーション・ソフトウェアを販売開始する時に、それが64bitアドレッシングの必要性がなければ、わざわざ32bit版アプリケーションと64bit版アプリケーションを製造し輸送して店頭に揃えて並べるのはほとんど無駄な手間です。コンパイル時に2種類の設定でコンパイラを走らせる手間など極々僅かなものです。
仮に必要もないのに64bit版アプリケーションしか作らないミスをしたなら、32bit CPUと32bit版OSの上ではそれは全く使えません。まあ、実際は32bit版と64bit版の2種類を同梱するのでしょうが、64bitアドレッシングの必要が無ければ単に無駄なだけです。
0 コメント:
コメントを投稿