2016-05-01 12 views
0

Atmel AVRアーキテクチャでは、レジスタとSRAMは同じデータメモリ空間にあります(たとえば0x0000がレジスタで0x300Fが内部SRAMの場合)。どのように実装されていますか?仮想メモリと同じ原則ですか?Atmel AVR SRAM vsレジスタ

+0

私は、デバイス・レジスタがアドレス空間にマップされているメモリマップI/Oよりも類似性が高いと思います。 –

答えて

1

別々のラムであってもよいし、別々のラムであってもよいし、複数の別個のラムブロックであってもよい。それはプロセッサコアから始まり、そのコアがハーバードアーキテクチャであり、命令がvsデータをフェッチし、少なくとも2つのバスに分割された後、データバスに入り、次に周辺装置を分離するためのある種のアドレスデコーダを有するramとおそらくsramから登録します。

これらは、単に一般的なsramの一部であることが非常によくあるかもしれません。あるいは、彼らはプロセッサに近いラムの独自の銀行であるかもしれませんが、それはアドレス可能であることが起こります。そして、そのアドレスデコードはコアで起こり、プロセッサの端にそれがないようにすることができます。

分割されている場合、あるアドレススペースに別のものにマップするスペースがあるという点で仮想メモリのように感じるかもしれません。しかし、仮想メモリとは違って、mmuがそれをやっているとは言えません。特にプログラムを書き換えたり権限をチェックしたりすることができます。

このアドレスレジスタは、他の8ビットプロセッサの機能です。 8051のように、AVRはそのような機能も備えて設計されているかもしれません。しかし、BCDの数学の指示のように、道端で行っている機能です。それを見ているよりもそれを見ない方がずっと多いでしょう。