ノート:キャッシュメモリ
キャッシュからの分割
[編集]構成の説明をキャッシュから移動しました。それに伴いこちらの問題点のある箇所を修正しようと思いましたが、キャッシュに一般論を記述してあるため、そちらへのリンクとし、思い切って全面改訂しました。--ちぇす 2004年9月20日 (月) 16:40 (UTC)
シノニム検出
[編集]仮想インデックスで物理タグなライトバック方式のキャッシュで、mmap()や共有メモリを自由にアドレス指定してマッピングさせると、同じ物理ページを異なる仮想アドレスにマップしてしまうため、キャッシュ上に同じ物理タグのキャッシュラインが複数出現してバーーン、ということになるというのを思い出した。最近のプロセッサはこれをどうしてるんだろう? Melan 2005年10月23日 (日) 08:45 (UTC)
シノニム問題ですね。キャッシュにプロセスIDも記録したりシノニムがあったらパージするなどで対応させますね。仮想記憶がらみですが、記載すべき事項かもしれませんね。--ちぇす 2005年10月23日 (日) 12:43 (UTC) あれ?仮想インデックスで物理タグだとシノニムは発生しないのでは。--ちぇす 2005年10月23日 (日) 13:16 (UTC)
- 普通はそうなんだけど、MIPSは二次キャッシュにシノニム検出を任せたんです。ところが、二次キャッシュなしのバージョンがありますので、両方サポートする場合は避けて通れない問題です。 つまり一次キャッシュを高速化するためにチェックを単純化したせいでそうなったんでしょうね。 Melan 2005年10月23日 (日) 20:58 (UTC)
OSがキャッシュ操作をしているわけではない
[編集]「通常はオペレーティングシステム(OS)がキャッシュメモリにデータ保存や主記憶装置の代替を行わせるため、基本的に主記憶装置上のプログラムがキャッシュを意識する必要はない。」とありますが、OSがキャッシュ動作をコントロールしているわけではありません(もちろん初期設定はするでしょうが)。通常はハードウエアレベルで自動で行っています。もしかして仮想記憶と勘違いされていますか?
また本項目はCPUキャッシュを代表例として想定してはいますが、キャッシュメモリ自体はOSのあるCPUにのみ存在するわけではありません。OSの介在しないキャッシュメモリを搭載したDSPやGPU, 専用回路などに対して説明が矛盾するという面もあります。
もしソフトウェアキャッシュに対する説明の追加ということでしたら、キャッシュメモリという実装依存の項目よりもキャッシュ (コンピュータシステム)の方が適切かと思われますが、いかがでしょうか。--ちぇす 2006年8月2日 (水) 17:04 (UTC)
RAID装置など特定デバイスに関する記述
[編集]「そのほかに、特定のデバイスの処理速度を高速化させる場合に利用される場合もある。たとえば、RAID装置において、見かけ上のディスク処理速度を高速化させるために、バスとディスク装置の間に用いられることがある。」とありますが、それ以前の記述もCPUに特化した記述ではなく、CPUを事例としてはいますが抽象的に処理装置と記憶装置の間の事項を記載しているため、RAID装置などをそのほかとして別扱いする必要性はないと考えます。そのため、この記述を削除したいと考えますがいかがでしょうか。--ちぇす 2008年9月15日 (月) 06:25 (UTC)
- 削除しました。--ちぇす 2008年9月22日 (月) 00:18 (UTC)
詳細画像がありません
[編集]画像:Read 4waycache.png の詳細画像にアクセスできません.この画像は何回か改訂されたようですが, 最終改訂の一つ前までは詳細画像が登録されています.
A-saitoh 2008年11月30日 (日) 05:10 (UTC)
- 新たにsvgファイルとして登録し直しました。--ちぇす(会話) 2012年4月7日 (土) 01:31 (UTC)
CPUキャッシュへの改名提案
[編集]キャッシュの実装は、さまざまな局面でメモりとなります(たとえばディスクキャッシュ)が、この記事はほぼ完全にCPUキャッシュのみを扱っているので、CPUキャッシュに改名提案します。
加筆してキャッシュメモリについての総合的な記事にすることは、言語間リンクや、「キャッシュ」「メモリ」それぞれで述べられるべきこと以上の共通点に乏しいことから、好ましくないと思います。キャッシュメモリは、より一般的な概念であるキャッシュ (コンピュータシステム)にリダイレクトします。--Greeneyes3(会話) 2013年4月15日 (月) 12:21 (UTC)
- 反対です。確かに現状の記述はCPUと例示されてる箇所か多く、CPUに特化した内容と取られる要素はあると思います。がこれら本項目で挙げている事項の多くはCPUに限った機能ではありません。GPU内部でも同様の構造が各所で取られていますし、ASICなどによる専用回路でも多数実装されています。コヒーレンシに関しても実績があります。ですので、一般的なキャッシュメモリとしての記事でいいと思います。CPUに特化した内容をセクション分けする事は有効と思いますが、CPU特有の項目とするにはそれなりの出典が必要と思われます。例えば実行トレースキャッシュなどはPentium4特有のキャッシュメモリで、つまりCPU特有と言えます。これら明らかにできるものをセクション分けすることは賛成ですし、量が多ければ記事を分けることになるかと思います。また、現状でCPU特化と取られかねない記述は修正が必要ですね。--ちぇす(会話) 2013年4月25日 (木) 08:42 (UTC)
- 返信 「CPU以外のプロセッサ」は、失念していました。ご指摘ありがとうございます。
- しかし、現在の記事の内容はCPU以外のプロセッサのキャッシュにはおおよそ当てはまり、比較的少ない修正でプロセッサのキャッシュ全般の記事に再構成可能ですが、それが「キャッシュメモリ」という記事にふさわしくないという問題は、回避することはできないでしょう。--Greeneyes3(会話) 2013年5月7日 (火) 11:52 (UTC)
- コメント 不勉強で申し訳ありませんが、CPUキャッシュという表現を初めて見ました。CPUキャッシュを定義するような文献をご提示頂けないでしょうか。--Y717(会話) 2013年4月29日 (月) 20:13 (UTC)
- 返信 「CPUキャッシュ」という表現については[1]や[2]をご覧ください。またこれらの文献で定義なしで使われていることは、CPUキャッシュが「CPUのキャッシュ」であることは改めて定義する必要がなく自明であることを示すと考えます。--Greeneyes3(会話) 2013年5月7日 (火) 11:52 (UTC)
- 提案 ちぇすさんのご指摘を受け、「プロセッサキャッシュ」への改名提案とします。提案理由は、(当初の提案での「CPU」を「プロセッサ」に置き換えた事柄となりますが、再度整理すると)、キャッシュメモリはプロセッサのキャッシュに限定されないため記事名をより限定的にすることが好ましいこと。加えて、記事内容のほうを変更して「キャッシュメモリ」の総合的な記事とすることは、「キャッシュ (コンピュータシステム)」で述べられるべき抽象的なこと以上の共通点に乏しいこと、言語間リンクのほとんどがキャッシュメモリの一般的な記事とはなっていないことから、記事内容の変更よりは改名が適切であると考えます。なお「プロセッサキャッシュ」の用例として[3][4]を挙げます。--Greeneyes3(会話) 2013年5月7日 (火) 11:54 (UTC)
- まとめての返信となります。まずキャッシュメモリは部品として単体のIPで提供されており、ASIC開発者が専用回路として組み込むことが可能です。例えばwikipediaのプロセッサの項目にあるようなISAを持つものをプロセッサとするなら、ビデオ系のエンジンなどそこから外れるような専用回路での使用例も多く、"CPU以外のプロセッサのキャッシュにはおおよそ当てはまり"は現実ではありません(追記:プロセッサにはもちろん当てはまりますが、それだけではないという意味)。
- また名称は世間で流通しているデファクトスタンダードが代表名であるべきです。それはGreeneyes3さんが指摘されているような名称の構成が論理的であるかどうかに関わらず、歴史的経緯や、中には当初は誤解から誤って世間に広まってしまって定着してしまったものなど様々な理由で成り立っている場合が往々にしてあります。wikipediaはそれを"論理的に正しい名称に直してあげよう"などとしてはいけないでしょう。Greeneyes3さんが提案されている名称"プロセッサキャッシュ"は、使用実績はあるかもしれませんが、決して一般的に使用されている名称ではありませんよね(傍証としてgoogleの検索結果を挙げます。"キャッシュメモリ":261,000件、"CPUキャッシュ":25,000件、"プロセッサキャッシュ":4,220件。もちろんgoogle検索結果は出典にはなりえませんが)。
- 本項目で扱っているものを代表的な文献や製品で見ると(パタヘネやヘネパタ(原著も含む)、インテルやARMのサイト)単にキャッシュとしている例が多いです。しかし経産省が行っている基本情報技術者試験や情報処理技術者試験ではキャッシュメモリを該当名称として採用していますし、東芝や日立のASIC関連ではキャッシュメモリが通常使用されています。上述のようにgoogleの検索結果でもキャッシュメモリが多用されていることがわかります。内容を見るとこれらは皆本記事が指す内容に合致しています。キャッシュはそれこそ範囲が広い名称となるため、本記事を指す名称としてはキャッシュメモリは一般的な名称として十分妥当と考えます。それ以外の事例があったとしても、本記事の項目は代表的な構成であり、例外事項としての記載とすることも可能と思います。--ちぇす(会話) 2013年5月11日 (土) 02:45 (UTC)
- 最後の記入から約一か月が経ったため、本話題は収束(終息)したと考え、本文の改名提案を削除しようと思います。--ちぇす(会話) 2013年6月8日 (土) 01:30 (UTC)