マイコンに限った話ではないかとは思いますが、現在マイコンプログラムの勉強をしておりますが、マイコンのデータシートのメモリマップを見ると先頭番地からフラッシュメモリのマッピングがあり、その次に各種レジスタやRAMのマッピングがなされています。
(1)このメモリマップというものは論理アドレスと物理アドレスの対応表のようなものだと解釈しておりますが、この対応表自体はRAMの一部に格納されているのでしょうか?
(2)例えばフラッシュメモリの物理アドレスが00~FFまであり、RAMの物理アドレスも00~FFだった場合で且つ
フラッシュメモリの後ろにRAMのマップを作る場合、メモリマップの中の論理アドレスは00~2FFまでで物理アドレスはフラッシュメモリの部分は00~FF,RAMのブツリアドレスも00~FFになるという理解で良いですか?
ひょっとするとかなり見当違いをしている質問かもしれません。
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
うーん、なんかピンとこないですね。
何か勘違いしてるかも。
1)一般的にメモリマップとは、どこからどこまでのアドレスにどんなハードウェアが接続されているかとか何に使われているか。の図です。
000000-00ffff:フラッシュメモリ
010000-010fff:レジスタ
011000-0fffff:メインメモリ
という感じなはずです。
メインメモリで、ここからここはこれ、という図も「メモリマップ」です。
区別するなら「メインメモリのメモリマップ」です。
2)1)で書いたメモリマップ内00000-fffffで、レジスタの先頭は10000から始まります。
そのレジスタだけに注目した場合、相対的な位置は000-fffの範囲になります。
この相対的な位置のことを「論理アドレス」と言っているのでしょうか。
「論理アドレス」「物理アドレス」とは仮想記憶を使う場合に使用する用語です。
バンク切替などを行わない場合、この言葉は使いません。
固定のメモリマップの場合、単に「アドレス」というだけです。
あえていうなら「相対アドレス」ですが、かえってややこしくなるので普通は使いません。
どうもありがとうございます。
仮想記憶の物理アドレスはメモリマップ(メインメモリではないメモリマップ)とどういう関係にあるのでしょうか?
>1)一般的にメモリマップとは、どこからどこまでの>アドレスにどんなハードウェアが接続されているかと>か何に使われているか。の図です。
>000000-00ffff:フラッシュメモリ
>010000-010fff:レジスタ
>011000-0fffff:メインメモリ
>という感じなはずです。
例えば上記のメモリマップで000000にアクセスがあった場合フラッシュメモリにアクセスするまでにどのような道筋を通るのでしょうか?
お時間あればお願いします。
No.2
- 回答日時:
普通、物理アドレス・論理アドレスというと、仮想記憶とかもっと上位の概念を指すことが多いような気がするけど。
。(1)普通は、ハードでアドレスデコーダーを作る場合が多いとは思います。デコーダーにI/O命令を送ると変更できたりする場合も多いと思います。
対応表自体をRAMにいれるという設計も可能でしょうが。
(2)これは、言わんとしていることは多分あってるんでしょうが、使われてる用語(メモリマップ・物理アドレス・論理アドレス等)に違和感がありますね。
どうもありがとうございます。
仮想記憶と勘違いをしていたみたいです。
>普通は、ハードでアドレスデコーダーを作る場合が多いとは思います。
ということは対応表のようなものがアドレスデコーダーに保存されているということになるんでしょうか?
お時間ありましたらお願いします。
No.1
- 回答日時:
>ひょっとするとかなり見当違いをしている質問かもしれません。
(~ヘ~;)ウーン
そんな気がします、だって、何を仰りたいのか、何の事を書いているのかさっぱり解りませんので。
物理アドレスとか論理アドレスとかってなんの事でしょう?ひょっとしてバンク切替えの事言ってるのかなぁ?とか。
それとも連続しているメモリチップをアドレスデコーダであっちゃこっちゃに振り撒く事言っているのかなぁとか想像はつきません。
ちなみにこの2例はいずれも物理的な仕組みです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- IT・エンジニアリング アドレス空間(メモリマップ)について教えてください。 マイコンには必ずメモリマップが記載されています 3 2022/06/17 09:42
- その他(学校・勉強) この中で間違ってある説明はありますか?詳しい方に教えていただきたいです。 A. 1つのプログラムが複 2 2023/07/14 01:15
- CPU・メモリ・マザーボード 質問お願いします 「「RAM2GB+拡張4GB」などと書いてあるのは、搭載されているメモリ(RAM) 6 2023/08/28 12:31
- Outlook(アウトルック) 【 Windows 10 】アドレス帳に正しくインポートを完了させたい。 3 2023/04/23 13:41
- 会社・職場 引っかけ問題って出していいの? 2 2023/04/27 07:15
- CPU・メモリ・マザーボード PCのRAM動作電圧は1.5Vと1.35Vとあるようですが? 3 2022/11/08 14:01
- CPU・メモリ・マザーボード パソコンのメモリについての質問です。 8 2023/04/29 22:30
- デスクトップパソコン 古ーいパソコン/Atheros AR2181 PCIe Gigabit LAN コントローラー 7 2022/09/07 12:58
- その他(スマートフォン・携帯電話・VR) 携帯メール・アドレスのドメインを教えてください 4 2023/07/13 10:29
- オープンソース arduino ide 2.0.0 について 1 2022/09/19 15:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAの配列サイズとメモリに関して
-
C言語で、メモリを解放しないで...
-
sil_rew_memのメモリアクセスに...
-
【C言語】再帰が時間がかかる...
-
C言語初心者です。debug assert...
-
エクセルのメモリ使用状況/Appl...
-
マインスイーパ、自動解析プロ...
-
メモリを解放しないとどうなる?
-
バッチファイルでの実行EXEのメ...
-
メモリ不足
-
ターボDelphi 独自カーソルの設定
-
C言語における再帰呼び出しの...
-
メモリのセグメント違反の解決...
-
メモリの解放の仕方
-
VB.netでUSBメモリの固有I...
-
GPUプログラミング時の表示用GPU
-
EXCEL-VBAにてADOのレコードセ...
-
ExitProcessの関数コールについ...
-
エクセルVBA 大容量CSVファイル...
-
C,C++プログラムの強制終了時の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語で、メモリを解放しないで...
-
VBAの配列サイズとメモリに関して
-
「ヒープサイズの設定」て何?
-
C言語における再帰呼び出しの...
-
エクセルVBA 大容量CSVファイル...
-
動的メモリとexit(C言語)
-
エクセルのメモリ使用状況/Appl...
-
メモリが不足しています(VBA)
-
ファイルマッピング関数で失敗
-
大容量のメモリ確保をスワップ...
-
メモリのセグメント違反の解決...
-
EXCEL-VBAにてADOのレコードセ...
-
メモリ不足
-
エクセル キャッシュメモリー...
-
【C言語】再帰が時間がかかる...
-
C#のOutOfMemoryException発生...
-
closeとメモリの開放について
-
バッチファイルでの実行EXEのメ...
-
メモリの解放について VB6 VBA
-
「memcpy」と「strcpy」について
おすすめ情報