データ メモリとSFR


 PIC24Fファミリのデータ メモリは、全部で64kバイトの空間がありますが、
大きく前半の32kバイトと後半の32kバイトに別れています。
 またデータ アクセスは、16ビットのワード アクセスと8ビットのバイト アクセス
のどちらでもできるようになっています。

【データ メモリ】

 64kバイトのデータメモリ空間は下図のように構成されています。
 最初のアドレス0番地からの2kバイトの範囲は、特殊機能レジスタ(SFR)の領域で、
SFRは全て直接アドレッシングでアクセスできます。
このSFRによって内蔵周辺モジュールの制御がすべて行えます。

 その後にデータ空間があります。アドレスが0 〜 0x1FFFまでの8kワードの範囲は、
ニア データ空間と呼ばれています。ニア データ空間(Near)は、ファイル レジスタを
扱う命令のオペランドに含まれる13ビットのアドレスによって直接アクセスできる範囲
となっています。
 ニア データ空間には、SFRのすべてと汎用データ領域の一部が含まれますから、
小さなシステムでデータを少ししか使わない使い方の場合には、1ワード命令の直接
アクセスだけでプログラムができますので、効率のよいメモリサイズの小さなプログラム
とすることができます。
 特にPIC24Fファミリの実装データ サイズは2K+4kバイトか2k+8kバイトですので、大部分
がニアデータ空間としてアクセスすることができます

 その後はファーデータ空間で、間接アドレッシング モードでアクセスできます。
 さらにその後はRAMデータとしては何も実装されていませんが、0x8000番地以降の
16kワード(32kバイト)には、プログラム空間可視化(PSV)機能を有効にすると、プログラム
メモリの16kワード境界単位が割り当てられ、この範囲のプログラム メモリの下位16ビット
のデータが、データ領域の固定定数データとして扱えるようになります。




【SFR】

 PIC24FファミリのSFR(Special Function Register)は、0番地からの2kワード内にすべて
配置されていますので、直接アドレッシングを使った命令で簡単に読み書きができます。
 SFRは各モジュールごとにグループ化されてデータメモリ内に配置されていて、現状の
SFRのメモリ配置は下図のようになっています。









   目次ページへ