64bit OSによる恩恵の原因

かなりエッセンスだけ書いたところ、当然のようにsumiiさんに突っ込まれたのでちゃんと書きます。というか、本当のことを言うと、64bit OSにしたときに改善される本質が何なのかベンチマークの結果しかないので実はわからず、結果だけ書いておけば誰かが教えてくれないかなぁと思っていました。でも、そんなに都合はよくないので、ちゃんとその辺考えた結果を書きます。
まず、sumiiさんからの質問にあった、「"n-bit OS" (n∈{32,64})とはどういう定義」という質問ですが、これはx86であればx64命令セットを使用しているかどうか、ということでいいと思っています。つまりは単純に命令セットが違う、と。
その上で、「なぜ速くなるのか」ですが、世の中には誤解も多いと思うので、ひとつずつ考えていきたいと思います。
まず、単純なCPU命令による問題として、よりI/O命令が特化された可能性がありますが、僕の知る限りにおいてはありません。あと、よくある誤解にCPU-メモリバスが太いだとか、太く使用できるようになるとか言うのもありますが、そんなことも「今回の場合は」ありません。そういうCPUがないとは言えませんけど。また、sumiiさんの質問にあった「32ビットで済む整数やポインタまで64ビットになってしまうと、I/O帯域が実質半分になって遅くなる、という話を聞いたことがあるので」とのことですが、これはそういうこともあるでしょうけど、32bitと64bitのベンチマーク比較では関係ないと思うのです。普通はそのあたり、統一してやりますよね?・・・ちょっと不安になってきましたが。
さて、ここまででは特に64bitが速くなる要素がないような書き方をしましたし、実際になぜ速くなるのか、というところは出てきていません。でも、実際にベンチマークは速いんです。ということで、ありえそうなところが二点ほどあります。それはTLBのページサイズです。要は仮想アドレスと物理アドレスの変更機構の話です。
それについて、きちんとしたWeb上の文章はないのですが、以下の記事では同じようなことが言われていると思います。
http://itpro.nikkeibp.co.jp/article/COLUMN/20071016/284680/

64ビット化の最大の利点は,広大なメモリー空間を利用できることだ。32ビット版でもAWE(Address Windowing Extensions)に対応しているので,最大64Gバイトのメモリーを扱える。だがこの方法は,非ページ化メモリーを32ビットのアドレス空間に動的にマッピングしながらアクセスさせているにすぎない。一方,直接64Gバイトのメモリーをアドレッシングでき,リニアにアクセス可能な64ビット版の方が高速にアクセスできる。メモリー・アクセス性能は,仮想化ソフトウエアの処理性能に大きく影響を与える。

つまりは、TLB missが性能低下を起こしているというのが原因ではないかと思ったわけです。・・・それなら最初から32bitでHuge TLBを使えば、Linuxなら何の問題もないのではないかということになったのですが、実際どうなっているのか知っている人 or ベンチマーク取った結果をほしいです。HPLでもMatrix Transposeは入っているのでぜひぜひ。