我々はmallocとアクセス・メモリを使用する場合、物理ページはこのアドレス空間のために与えられているが、彼らがキャッシュ可能か非キャッシュページであるページ属性の種類を、持っていますか?のmallocメモリページはキャッシュまたは非キャッシュして設定された属性はありますか?
答えて
通常のメモリ - ほとんど常にキャッシュ可能とマークされる - ユーザ空間またはカーネルのためか。それ以外の場合は、そのメモリを使用すると大きなパフォーマンスが低下します。
一般に、メモリが実際には外部デバイス(つまりメモリチップ以外のデバイス)の一部である場合、メモリをキャッシュ不可能にする必要があるのは、使用されるPCIデバイスのBAR領域デバイス制御レジスタを実装する。
キャッシュの読み取りと書き込みは、通常、と多く、の基礎となるRAMの読み書きよりも高速です。そして、キャッシングは読み書きを「束ねる」ことができるので、RAMチップ上の操作は大幅に少なくなります。欠点は、それを使用することによって、RAMの読み書きに対する正確な制御を一般に断念することです。
通常、メインRAMはキャッシュコントローラによって決定される「ランダム」時間に読み書きされ、通常は「キャッシュライン」と呼ばれる大きなブロック(32,64,128のブロック)で読み書きされます1バイトずつ。 (:それは今までにキャッシュから転送される前に、それが上書きされてしまうかもしれません、これまでならば)あなたがキャッシュされたメモリに値を書き込むと、その値は、いくつかの不確定後の時間まで、実際のRAMチップに書き込まれないことがあります。これは、もちろん、あなたが記憶のユーザーとして隠されていることです - 一般的にそれを知る必要はありません。
しかし、書き込み先のメモリが制御レジスタである場合(たとえば、デバイスのモードや特性を設定した場合)、そのレジスタの値を、不確定ではない後で、あなたはそのレジスタへの書き込みは、アドレス空間内で近くに位置することができる任意の他のレジスタに影響を与えたくありません。あなたは、ステータス・レジスタの値を読めば
同様に、それは「揮発性」であるかもしれない:あなたが値をキャッシュしたくないので、連続した2つが同じレジスタの読み取りで、すなわち、その値が変更される可能性があります。そして、レジスタを読むことは副作用があるかもしれないので、アクセスするために明示的な読み込みが必要なだけです。
- 1. Rails:キャッシュキャッシュまたは非キャッシュ
- 2. networkaddress.cache.ttl設定のためにJVMキャッシュURLがありますか?
- 3. キャッシュまたはキャッシュしない
- 4. pythonやPandasのキャッシュ結果はありましたか?
- 5. キャッシュされたgrepのようなものはありますか?
- 6. カラースキームファイルはキャッシュされていますか?
- 7. UserManager.FindByIdAsync(User.Identity.GetUserId())キャッシュはありますか?
- 8. Apacheキャッシュ.htaccessルールはありますか?
- 9. アンドロイドはアプリケーションの設定をキャッシュしていますか?
- 10. コンテンツはキャッシュされます
- 11. Apache Igniteキャッシュが閉鎖または破棄されました
- 12. プロキシされたアセットはキャッシュされますか?
- 13. cURLは常にキャッシュされたコピーをフェッチしています
- 14. キャッシュされたWebページのキャッシュを解除するには
- 15. Androidアプリのキャッシュ制限を設定する方法はありますか?
- 16. インデックスまたはタグを使ってキャッシュ用のライブラリがありますか?
- 17. 設定データをキャッシュするためにプロパティまたはディクショナリオブジェクトを使用する必要があります
- 18. RubyやRailsのキャッシュにはrequire()されたスクリプトがキャッシュされていますか?
- 19. AngularJS:キャッシュされたURLまたはキャッシュされていないURLをロードする
- 20. session.invalidate()はセッションに設定された属性を削除しますか?
- 21. 定数計算はPythonでキャッシュされていますか?
- 22. jquery.jsはブラウザにキャッシュされますか?
- 23. リクエストはキャッシュされますか?
- 24. エンティティはクエリキャッシュにキャッシュされますか?
- 25. DjangoがありませんVary:キャッシュされたビューのCookieヘッダー
- 26. 一貫性キャッシュは、渡されたフィルタのデータを戻しません。
- 27. Swiftデフォルトのパラメータはキャッシュされた値を使用します
- 28. キャッシュは設定から期限が切れます
- 29. オブジェクトのキャッシュとデータベースのクエリのキャッシュとの競合はありますか?
- 30. PHP用のキャッシュ - キャッシュされたファイル