ADSP-2191は16ビット幅のホストインターフェースを持っています。このポートを使ってホストはADSP-2191のメモリー空間、ブートメモリー空間、IOメモリー空間のデータを読み書きできます。。
HPIは比較的複雑な動作を行います。このポートは外部ホストコンピュータと、8/16ビット幅のマルチプレックス・バス経由で通信します。通信方式はバス幅、エンディアン、プリフェッチ、パイプラインなどによって変化します。これらはHPCRによって変更できます。
HPIにはホストが直接メモリー空間にアクセスするDirect Access ModeとDMAエンジンがメモリーにアクセスするDMA Modeがあります(ここにもADIの命名感覚の珍妙さが現れています。DMAがDirect Memory Accessの略であることくらい誰でも知っていそうなものですが。どうして、DMAと相対するモードにDirect Accessなんて名前を付けるのでしょうか。Host Accessくらいにしておけばいいのに)。
Direct Accessモードではホストは任意の空間の任意のアドレスにランダムアクセスすることができます。ただしアドレスを複数サイクルに渡って出し、最後にアクセスを行うという煩雑な手続きが必要です。
DMAモードではホストはアドレスを指定することはできません。また、DMA転送中にはIO空間以外にランダムアクセスすることはできません。そのかわりに内部DMAエンジンがメモリーアクセスの一切を取り仕切ります。ホストはデータの読み書きだけすればいいのでアクセス効率が上がります。
DMAモードで実行するには内部DMA設定レジスタ( HOSTD_CFG )のDENを1にしてDMAを開始します。
ホストポート関連レジスタをアクセスするにはIOPGにHost_Port_Bus_Interface_Pageを設定します。