PX ( PM Bus Exchange ) レジスタは、PMDバスを使って24ビットメモリーとデータをやり取りするときに使います。ADSP-2191のコアは16ビットのレジスタしか持っておらず、24ビットメモリーからのデータを取り落としてしまいます。そこで、PXレジスタを補助として用います。
PXレジスタを使わなければならないのは、命令を書き直す場合に限ります。データの取り扱いにはPXは使いません。したがって、通常プログラマが直接PXを使うことはありません。
図1にデータ配置を示します。初期値は不定です。
図1 レジスタの構造
PXレジスタはPMDバスを使って24ビットメモリーとデータを転送するときに使います。
ポストモディファイPM転送とプリモディファイPM転送命令も参照してください。
このレジスタは8ビットレジスタです。他のレジスタやメモリーとPXの間でデータをやり取りする場合、PXは16ビットの中で右詰し、上位はゼロフィル扱いになります。
C/C++言語用のAPI関数は用意されていません。
PXのレイテンシはISR中で見当たりませんが、1だと思われます。
レイテンシが1のとき、直後の命令からその値を使うことができます。レイテンシが2以上のとき、直後の命令でその値を参照しようとすると、古い値を参照します。なお、この表のレイテンシの数え方はHRとは異なっています。
項目 | マニュアルのページ等 |
---|---|
PMDバス転送 | HR 5-4 |