@hasegaw 確かに……それはどうしようもないですね……あくまでメモリアクセスする際の論理ー物理アドレスマッピングが高速化されるだけですね.
2012-09-27 21:32:47そもそもメモリアクセスの論理ー物理アドレスマッピングがボトルネックで,どうしてもそこを改善しないと><みたいな状況じゃないと,やる意味ない気がしてきた.なるなる.
2012-09-27 21:33:54@yogata シャドウページングしているとTLBのフラッシュは避けられないし余計に効率わるかったんでしょうね。まずはTagged TLBで不必要なフラッシュを抑制したけども結局はページテーブルのネストもハードウエア側で対応して、かつそれを世代ごとにチューニングし高速化してる。
2012-09-27 21:34:34@yogata リンク元の記事を書いたものですが「プロセス切り替え時にTLBをフラッシュする」です。x86はページテーブル切り替え(mov cr3)が同時にTLBフラッシュですが、page table walkをHWでやるCPUでもTLBフラッシュするのは少数派だと思います。
2012-09-27 21:54:49@nminoru_jp 補足ありがとうございます!1つ目の方法はやはりフラッシュするということですね,ただしそもそもTLBフラッシュ自体をしない方法をとっているということですね.
2012-09-27 22:00:21@nminoru_jp @yogata 仮想記憶を本格搭載した最初の商用機であるIBM System/370はCR3に相当するレジスタを切り替えてもTLBはフラッシュされなかった(はず)です。TLBエントリにCR3:仮想アドレスをペアで入れていたんだと思います。
2012-09-27 22:01:17TLBってなんでキャッシュじゃなくてバッファなのか? 歴史的にキャッシュよりも仮想記憶が先にできたから(よくしらんけど)? 他に考えられるのはキャッシュはなくしても動くし外からは隠されてるという特徴があるのに対して、TLBはないと動かないというちがいか? えらい人教えて。
2012-09-27 22:05:26@koie "cache"という名前が出てくるのが遅かったからだと思います。System/370 P.O.O.を見るとキャッシュはありますが"buffer storage"と呼んでいるように見えます。 http://t.co/mMK0Ehj0
2012-09-27 23:28:49S360が登場した時点で(ステージング処理が自動化されてる)キャシュの観念は存在しなかったのと、ステージングではなく単に1ウエイ・セット・アソシエイティブで格納スロット決めていたのの2点ではないかと。 @koie TLBってなんでキャッシュじゃなくてバッファなのか?
2012-09-27 23:59:04仮想メモリ方式の分類 http://t.co/3bwlOPyX やっぱりこのページが参照されてる。このページよくまとまってるよなー。なぜかARMはないけれども
2012-09-28 09:29:59