• ベストアンサー

CPUメモリマップについて

以前も質問させて頂いたのですが、どうしても分からない為、 どなたか教えて下さい。 以下に参考資料をを挙げさせて頂きます。 ARMのアーキテクチャマニュアルです。 https://www.jp.arm.com/document/manual/files/051020DDI0100HJ_v6_1.pdf の761ページの「デフォルトメモリマップ」について質問です。 ICache, DChache, ライトスルーキャッシュ, ストロングオーダなど、 単語単語の意味はなんとなく理解できるのですが、 ・このアドレス空間は何を示しているのでしょうか?  通常のアドレスマップは仮想アドレス空間にどのデバイスが割当て  られている状態、を表したものだと理解しています。 ・これによって何を読み取ることができるのでしょうか? 漠然とした質問ですみません‥がこれも無知が故です。 すみませんが、どなたかご回答お願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • kent85
  • ベストアンサー率52% (38/73)
回答No.1

P761 だけ読んで書きます。 > 通常のアドレスマップは仮想アドレス空間にどのデバイスが割当て > られている状態、を表したものだと理解しています。 それは I/O マップ表 / メモリマップ表とかですよね。 ポートアドレスとか、このアドレスはどこぞにひもづいているとか。 マップは「こうなってます」な定義なのでいろいろです。 > ・このアドレス空間は何を示しているのでしょうか? このアドレスの範囲は、こうです。というマップです。 §アドレス範囲   ごく一般的なアドレス - この範囲のアドレスは~~ですよ §ICache 許可の場合の命令メモリタイプ   ICache 許可である場合「指定アドレス範囲のものの」命令メモリタイプ   → 属性というか扱いというか、こんなですという意味が読み取れればいい。     → 指定範囲のアドレスにおいては、その動作をします。 §ICache 禁止の場合の命令メモリタイプ   ICache 禁止である場合「指定アドレス範囲のものの」命令メモリタイプ」   → 属性というか扱いというか、こんなですという意味が読み取れればいい。     → 指定範囲のアドレスにおいては、その動作をします。 §DCache 許可の場合のデータメモリタイプ   ICache 許可である場合「指定アドレス範囲のものの」データメモリタイプ   → 属性というか扱いというか、こんなですという意味が読み取れればいい。     → 指定範囲のアドレスは、こういう扱いです。 §DCache 禁止の場合のデータメモリタイプ   ICache 禁止である場合「指定アドレス範囲のものの」データメモリタイプ   → 属性というか扱いというか、こんなですという意味が読み取れればいい。     → 指定範囲のアドレスは、こういう扱いです。 > ・これによって何を読み取ることができるのでしょうか?  デフォルトのCPUの動作が読み取れます。 ------ ICache / DChache というのが cpuのモード設定とかそんなので それはP761ではなく、他のページに書いてあるんだと思います。

inouesh
質問者

お礼

ご回答ありがとうございます。 このアドレスの範囲で~ができる、ということが読み取れるんですね。 例えば ・0xC00000000~0xFFFFFFFF ストロングオーダ  「このアドレスの範囲はメモリアクセスの順序が制限されてます」 ということでしょうか。

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

その「制限」が「実装者に対する制限」であることを理解してれば大体 OK. 厳密には, 制限されるのは「順番」だけじゃないけど. だから, その範囲に I/O を割り当てれば, 何も考えずにメモリマップトI/O として実装できます. しかし, この辺はやっぱり英語を読んだ方がいいかもしれない. これでもまだましな日本語で, 昔はひどかったからなぁ.... 本で「4方向キャッシュ」って書いてあるのを見てぶっ飛んだことがあります. 頭の中で元の英語を探した結果「4-way cache」にたどり着いて「4方向ってなんだ, 上下左右のことか」と突っ込みつつ「何も考えずに 4ウェイキャッシュって書いておけばよかったのにな」と思いました. さすがにほどなくして改訂版が出ました.

inouesh
質問者

お礼

ご回答ありがとうございます。 やっぱ英語読まなきゃですね‥精進します。

関連するQ&A