- ベストアンサー
CPUアドレスマップとは?
- CPUアドレスマップとは、32bitのアドレス空間の構成を示したものです。
- アドレスマップは、0x00000000~0xFFFFFFFFの範囲で表されます。
- アドレスマップには、予約、リマッパブル、ストロングオーダ、共有デバイス、キャッシュ不可などの要素が含まれます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
これはかなりまじめに取り組まないと達成できないゴールである、と先に言っておきます。 ・予約 ・リマッパブル ・ストロングオーダ ・共有デバイス ・キャッシュ不可 これらは全部違う話をしていることを理解しましょう。 少し例をいれます。 0xC0000000~0xC8000000:DRAM この書き方は、指定されたアドレス空間は、DRAMという部品で構成されていることを示しています。 0xC0000000~0xC8000000:キャッシュ不可 とあった場合は、デバイスが何かを示しているのではなくて、そのアドレス空間の属性を示しています。デバイスはDRAMかも知れませんし、そうではないかもしれません。 予約とだけかかれてもちと判断に苦しみます。CPUのアドレスマップにそういう記述がある場合は、何のための予約であるかの情報が必要です。リマッパブルは多分CPU側の話ではないと感じます。むしろOSかな。ストロングオーダーは、アクセスの順序の話です。メモリ空間の属性の1つですね。共有デバイスは、CPUではなくてシステム側の属性と思われます。 このように、挙げられた例はあまり適切ではないのですが、それは勉強中なればこそでしょう。 CPUの勉強をしているとのことですので、決定版の参考書をあげておきます。(参考URLを参照ください) この中のVolume3A,3Bと、Optimization Manualがよろしいでしょう。これははっきりいって茨の道ですが、到達点は最上です。 また、日本語でかかれたものは、まともなものはほとんどないのですが、唯一これは使えます。惜しむらくは絶版となっているので、入手はとても難しいです。 80386プログラミング 工学社 http://www.fukkan.com/fk/VoteDetail?no=9013
その他の回答 (1)
- Tacosan
- ベストアンサー率23% (3656/15482)
可能ならどこに書いてあるか出してもらえますか? 「予約」は「CPU が何らかの事情て使うので他人が手を出してはならない領域」なんだろうけど.
補足
たびたびすみません‥ まずはARMのリファレンスマニュアルです。 https://www.jp.arm.com/document/manual/files/051020DDI0100HJ_v6_1.pdf 761ページの「デフォルトメモリマップ」ですが、 ・命令メモリタイプ、データメモリタイプ ・キャッシュ不可、ライトスルーキャッシュ可能 ・非共有デバイス ・ストロングオーダ などがあります。 単語単語の意味は分かるのですが、メモリマップに記載されて いると意味が良く分からなくなってしまいます‥
お礼
ご回答ありがとうございます。 土日で探してみましたが、扱っている本屋がありませんでした‥