警告:これは、あなたが気付いたかもしれないよりも少し複雑な質問であり、確かにほとんどの答えが描いたものよりも多いです。ストーリーの少なくとももう少しをカバーしようとするために、この投稿はかなり長いです...
まず第一に、ビデオメモリの状況。ビデオカードのメモリ全体が(少なくとも通常は)CPUのアドレススペースに直接表示されることはありません。通常、CPUから見える約128〜256メガバイトのビデオメモリの「ウィンドウ」があります。GPUはメモリのさまざまな部分をそのウィンドウにマッピングできるので、通常はCPUからほとんどのGPUメモリに書き込むことができますが、書き込む前にGPUに何を書き込むかを事前に知らせる必要があります。たとえば、DirectXを使用していてグラフィックメモリに直接書き込みたい場合は、それを行うことができますが、それを行うLockRect
には、GPUを呼び出して適切なメモリをウィンドウにマップすることから始めます(そして終わったらすぐに電話するUnlockRect
必要に応じて他のメモリをマップできます)。少なくとも典型的なケースでは、BIOSセットアップでビデオウィンドウサイズを調整できます。
次に、32ビットモードでも、x86プロセッサは、物理アドレス拡張(PAE)と呼ばれるものをサポートします。これにより、CPUは4ギガ以上のアドレスを指定できます。メモリの。Microsoftは、Windowsの一部のバージョンでPAEをサポートしていますが、Windows Serverの比較的高価なEnterprise Editionのみです。さらに、プログラムはAWEを使用するために特別に作成する必要があります。これまでに行ったプログラムはわずかです(SQL Server Enterprise Editionなど)。結論:可能ですが、かなりまれです。
一度に64ビットを読み取る限り、一度に32ビットのみデータを読み取る最後のプロセッサは486でした。Pentium以降、すべてのプロセッサには64ビットのデータバスがあります。そのノートアドレス 64ビットのデータバスに拡張することはなかったので、バスは、データバスと同じではないではないことが起こるように、PAEは、ペンティアムプロに加え、が(より多くのメモリを持つワークにプロセッサを許すことに、64ビットデータバスへの拡張とほぼ同時でした)。
Pentiumは1クロックサイクルで64ビットのデータを読み取ることができましたが、内部では(ほとんど)32ビットずつデータを処理していました。幅の広いバスは、主に CPUとメインメモリの速度の違いを補うのに役立ちました。Pentium MMXのMMX命令は、64ビットチャンクでのデータ処理をサポートしていましたが、使用するのが面倒で、(特に)ほとんどのコンパイラーはMMXコードを生成しなかったため、それを使用するにはアセンブリ言語で書く必要がありました。Pentiumは、浮動小数点数の64ビット(および80ビット)演算もサポートしていましたが、ほとんどのプログラミングのごく一部にしか使用されていません(一般に整数を使用するよりも遅くなりました)。
x86-64設計には、32ビットx86設計の2倍の汎用レジスタがあり、これらのレジスタはそれぞれ64ビット幅です。ただし、CPUが32ビットモードで実行されている場合、32ビットCPUに存在していたレジスタのサブセットのみが使用可能です。
しばらくの間浮動小数点に戻ると、32ビットモードでは、浮動小数点演算は、元はIntel 8087数学コプロセッサー用に設計された命令セットを使用して行われます。これは、その機能を最大限に活用することをかなり困難にするモデルを使用します。Intel(およびAMD)は、最近「ストリーミングSIMD拡張機能」、つまりSSEを追加しました。ほとんどの64ビットコンパイラは、8087互換の浮動小数点の代わりにSSEを使用できる/しないコードを生成します。SSEの「SIMD」は「単一命令、複数データ」の略です。これは、1つの SSE命令が2つの別々のデータに対して2 つの浮動小数点演算を実行できることを意味します。これは必ずしも速度を2倍にするわけではありませんが、通常は速度を少なくとも少し改善します。
最後に、一般的に少し不公平な比較の一部があることをおそらく指摘する必要があります。新しいOSをインストールすると、かなり長い間使用されているOSよりも、少なくとも常に少し速くなります。プログラムは、データをレジストリ、ハードドライブなどに保存します。追加するデータが多いほど、特定の時点で必要なデータを見つけるための作業が多くなる傾向があります。「レジストリクリーナー」を販売する企業などは、この効果を頻繁に誇張しますが、とにかくある程度は真実です。そのため、ハードドライブを再フォーマットし、まったく同じOSを再インストールするだけであれば、速度の改善が期待できます-古いOSを長期間インストールして使用している場合その改善(全て単独で)、CANかなり充実しています。表示される速度の改善の少なくとも一部は、2つのOSの実際の違いとは無関係です。
もちろん、それ以上のものがありますが、あなたはアイデアを得ます。1つの機能が大きな違いを生むことはそれほど問題ではありません。多くの機能は通常、個々にかなり小さな違いをもたらしますが、それらの多くは、全体としてかなり大きな違いをもたらすために足し合わせます。