Am9516A通用DMA控制器(UDC)是一款用于8086和68000 CPU的高性能外设接口电路。除了提供内存与外设之间的数据块传输能力外,UDC的两个通道中的每一个都可以执行外设到外设以及内存到内存的传输。一种特殊的搜索操作模式可将从内存或外设源读取的数据与模式寄存器的内容进行比较。
对于所有DMA操作(搜索、传输以及传输并搜索),UDC可以处理字节或字的数据大小。在某些系统配置中,可能需要在字组织的内存和面向字节的外设之间进行传输。UDC通过其字节 - 字漏斗式传输或传输并搜索选项提供字节打包/解包功能。一些DMA应用可能会在相同的两个内存区域之间持续传输数据。这些应用可能不需要从内存表重新加载寄存器所固有的灵活性。为了支持这些重复性的DMA操作,每个通道都提供了基址寄存器,用于重新初始化当前的源地址、目标地址和操作计数寄存器。为了在CPU控制下改变数据传输方向,该控制器允许将源地址重新指定为目标地址,将目标地址重新指定为源地址,从而无需实际重新加载这些地址寄存器。
通常,DMA设备必须与慢速外设或慢速内存接口。除了提供硬件WAIT输入外,Am9516A UDC允许用户为源地址和目标地址独立选择自动插入0、1、2或4个等待状态。用户甚至可以完全禁用WAIT输入引脚功能,仅使用这些软件编程的等待状态。
如果DMA需要主机CPU频繁重新加载,那么高吞吐量和强大的传输选项的实用性就会受到限制。Am9516A UDC通过允许每个通道将其控制参数从内存加载到通道的控制寄存器中,最大限度地减少了与CPU的交互。CPU唯一需要执行的操作是将控制参数表的地址加载到通道的链式地址寄存器中,然后发出“启动链式操作”命令以启动寄存器加载操作。
Am9516A UDC采用48引脚双列直插式封装(DiP),使用单一的+5 V电源。