Atmel AVRアーキテクチャでは、レジスタとSRAMは同じデータメモリ空間にあります(たとえば0x0000がレジスタで0x300Fが内部SRAMの場合)。どのように実装されていますか?仮想メモリと同じ原則ですか?Atmel AVR SRAM vsレジスタ
0
A
答えて
1
別々のラムであってもよいし、別々のラムであってもよいし、複数の別個のラムブロックであってもよい。それはプロセッサコアから始まり、そのコアがハーバードアーキテクチャであり、命令がvsデータをフェッチし、少なくとも2つのバスに分割された後、データバスに入り、次に周辺装置を分離するためのある種のアドレスデコーダを有するramとおそらくsramから登録します。
これらは、単に一般的なsramの一部であることが非常によくあるかもしれません。あるいは、彼らはプロセッサに近いラムの独自の銀行であるかもしれませんが、それはアドレス可能であることが起こります。そして、そのアドレスデコードはコアで起こり、プロセッサの端にそれがないようにすることができます。
分割されている場合、あるアドレススペースに別のものにマップするスペースがあるという点で仮想メモリのように感じるかもしれません。しかし、仮想メモリとは違って、mmuがそれをやっているとは言えません。特にプログラムを書き換えたり権限をチェックしたりすることができます。
このアドレスレジスタは、他の8ビットプロセッサの機能です。 8051のように、AVRはそのような機能も備えて設計されているかもしれません。しかし、BCDの数学の指示のように、道端で行っている機能です。それを見ているよりもそれを見ない方がずっと多いでしょう。
関連する問題
- 1. DDS補間 - 8ビットAtmel AVR ASMから12ビットDAC
- 2. SRAM読み出し動作の開始
- 3. Intel PentiumアーキテクチャのXINUバージョンをAtmel AVR STK500に移植することは可能ですか?
- 4. AVR ISP MKII、avrdude、Ubuntu 11.10
- 5. マイクロコントローラ(Atmel)のCRC-32
- 6. avr-gccを使用して、未使用のAVR I/Oレジスタに変数をバインドする方法はありますか?
- 7. SRAMインタフェース用のVerilog双方向バス
- 8. AVRのマルチタスクRTOS
- 9. Xcode 4のAVR?
- 10. Eclipse AVRプログラミング - ATMega2560
- 11. AVR GCC - タイプキャストの問題
- 12. ポートをAVRアーキテクチャに移動しますか?
- 13. アセンブリAVR ATMEGA128:CRCアルゴリズム
- 14. AVR Studio 5でAVR Studio 4プロジェクトを構築する
- 15. CodeVision AVRをAVR Studio 5に移行する方法
- 16. レジスタ
- 17. AVR atmegaの複数のプログラム
- 18. Avr Studio 5(ATmega16)の#define PORTX.x
- 19. AVRアセンブリでの集計
- 20. AVR-GCCの標準準拠
- 21. (avr-gcc)サブディレクトリのMakefileのサポート
- 22. AVR EEPROM読み書き
- 23. Verilog:レジスタへのレジスタの割り当て
- 24. あるレジスタから別のレジスタにコピー
- 25. 汎用レジスタ
- 26. レジスタとプライベートバッファ
- 27. PTX「ビットバケット」レジスタ
- 28. PHP:$ _SESSIONレジスタ
- 29. CPUレジスタのサイズ
- 30. レジスタ変数
私は、デバイス・レジスタがアドレス空間にマップされているメモリマップI/Oよりも類似性が高いと思います。 –