メモリーDMA
ADSP-2191は内蔵メモリーDMAを持っており、メモリー間あるいはメモリーとIOデバイスの間でデータ転送を行うことができます。メモリーDMAはDSPの介入を必要としないため、信号処理のバックグラウンドで高速にデータを移動することができます。
メモリーDMAはDMA転送の指定にデスクリプタを使います。ユーザーはメモリー上にデスクリプタを定義し、そのアドレスをDMAエンジンに教えることでDMAを開始します。
メモリーDMAには書き込み側(W)と読み出し側(R)の二つのDMAエンジンがあります。両者は対を成しており、それぞれがデータのコピー先とコピー元を指し示します。
書き込み側
  - DMACW_PTR
  
- 書き込み側デスクリプタのアドレスを指し示しています。
  
- DMACW_CFG
  
- 書き込み側DMAの動作パラメータなどを設定します。
  
- DMACW_SRP
  
- 書き込み側DMAがデータを転送するメモリーページとメモリー空間を指定します。
  
- DMACW_SRA
  
- 書き込み側転送のスタートアドレスを指し示しています。
  
- DMACW_CNT
  
- 書き込み側転送の転送カウントを指し示しています。
  
- DMACW_CP
  
- 書き込み側転送の次のデスクリプタアドレスを示しています。
  
- DMACW_CPR
  
- 転送に使うデスクリプタへのポインタが有効になった、つまり転送の準備ができたことをDMAに知らせるためのものです。
  
- DMACW_IRQ
  
- 書き込み側のDMA完了割り込みをクリアするためのレジスタです。
読み出し側
  - DMACR_PTR
  
- 読み出し側デスクリプタのアドレスを指し示しています。
  
- DMACR_CFG
  
- 読み出し側DMAの動作パラメータなどを設定します。
  
- DMACR_SRP
  
- 読み出し側DMAがデータを転送するメモリーページとメモリー空間を指定します。
  
- DMACR_SRA
  
- 読み出し側転送のスタートアドレスを指し示しています。
  
- DMACR_CNT
  
- 読み出し側転送の転送カウントを指し示しています。
  
- DMACR_CP
  
- 読み出し側転送の次のデスクリプタアドレスを示しています。
  
- DMACR_CPR
  
- 転送に使うデスクリプタへのポインタが有効になった、つまり転送の準備ができたことをDMAに知らせるためのものです。
  
- DMACR_IRQ
  
- 読み出し側のDMA完了割り込みをクリアするためのレジスタです。