コアレジスタ
ADSP-219xのコアにはプログラミングモデルで説明した演算レジスタやアドレッシングレジスタのほかにステータスレジスタや、シーケンス制御用のレジスタがあります。
コアレジスタの中にはレイテンシが大きなものがありますので注意してください。コアレジスタが長いレイテンシを持つ場合、それらはインターロックされません。つまり、値が確定する前に参照すると、ストールせずに間違った値を読んでしまいます。
- ASTAT, MSTAT, SSTAT
- この三つのレジスタはステータスの表示やモードの変更を行うためのものです。
- ICNTL, IMASK, IRPTL
- この三つのレジスタは割り込みの制御用です。
- STACKP & STACKA
- サブルーチン呼び出しや割り込み時に戻りアドレスを設定するレジスタです。
- LPSTACKP & LPSTACKA
- ループ用のスタックです。
- IJPG
- ジャンプ先が現在とは異なるページにあるとき、IJPGにあらかじめジャンプ先のページを設定しておきます。
- DMPG1 & DMPG2
- DAG1およびDAG2からバスをアクセスするときにどのページを利用するのかを指定します。
- IOPG
- IOアクセスを行うページを指定します。
- CNTR
- ループ繰り返し回数を設定します。
- CCODE
- 間接条件指定用のレジスタです。
- CACTL
- キャッシュ制御レジスタです。
- PX
- 24bitメモリー空間にデータを書き込むとき、16ビットレジスタで足りない分をこのレジスタで補います。