- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
直接存—基本原理、直接存储器存取(DMA)控制器是一种在系统内部转移数据的独特外设,可以将其视为一种能够通过一组专用总线将内部和外部存储器与每个具有DMA能力的外(kBps或者更高)的外DMA能力,
一般而言,DMA控制器将包括一条地址DMA控制器将具有
一个DMA控制器。DMA通道,以及多条直接与存(memory bank)和外1所示。在很多高性能DMA控制器。第一“系DMA控制器”,可以(外)的(SCLK)来ADI的Blackfin为例,频率最高可达133MHz。第二DMA控制器(IMDMA),(L1-L1、L1-L2,或者L2-L2),周期数的(CCLK)为基准来进行,该时钟的速度可以超过600MHz。
DMA控制器有一FIFO,起到DMA子系MemDMA(Memory DMA)来FIFO存在。当FIFO可以提供数据的
因DMA控制器DMA控制—那些
图1:系DMA架构。
在一个L1存DMA引擎会在内核准2给出了处理器和DMA控制器“数据已”。
2:DMA控制器。
数据除了往来外L3存DMA(MemDMA)来将像素L1或者L2存
到目前DMA的DMA的控制器配置L1指令存往往存L1。
DMA控制器的
让我们考察一下在定义DMA活
对于任何类型的DMA传输,我们都需要规定数据的起始源和目标地址。对于外设DMA的情况来FIFO可以作(内部或外部)(内部或者外部)
在最MemDMA情况中,我DMA控制器源端地址、目DMA的情况下,我8、16或者12位。1维(“1D”)统一“跨度”(unity stride)的DMA控制器8位的1字16位2字32位4字1D DMA传输的设置参数。
我DMA的灵活性。例如,采用非32位的4个采16字(4个32位字)。
1D DMA得到了广泛的2维(2D) DMA,特2D功能是我1D DMA的情形的一XCOUNT和XMODIFYYCOUNT和YMODIFY2D DMA可以XCOUNT和XMODIFY来YCOUNT和YMODIFY1D DMA可以被2D传输的“内循”,如下形式:
for y = 1 to YCOUNT /* 2D的外循环*/
for x = 1 to XCOUNT /* 1D的内循 */
{
/* 传输循环主体转移到这里 */
}
XMODIFY决定了XCOUNTDMA控制器的跨度YMODIFY则决定了YCOUNT每次减少时对应的跨度值。与XCOUNT和XMODIFY一YOUNT可以以YMODIFY则以字节数来定义。值得注意的是,YMODIFY可以DMA控制器回
对于外设DMA来“存”可以是1D或2D。不1D的。唯一的限制是在DMA(源端和目)传输的字节总数必须相同。例如,如果我们从3个10字30字以是任何可能的、所支持的
MemDMA提供的灵活度1D-2D1D-2D1个2D-1D2D-2DDMA传输模块的两端所传送的字节总数必须相等。
DMA的
目前有两DMA传输结构:寄存器模式和描述符模式。无论属于哪一类DMA,表1所描述的几DMA控制器中出DMA以寄存器模式工作DMA控制器只是中,DMA控制器在存
表1:DMA寄存器
基于寄存器的DMA
在基于寄存器的DMA内部,DMA控制寄存器DMA提供了最佳的DMA控制器性能,因
基于寄存器的DMA由两(Autobuffer)模式和停止模式。在自DMA中,当一个DMA进程重新启动,开销为零。
正如我3中所看到的那DMA设定为从外设传输一定数量的字到L1数据存DMA控制器将会在最后一个字“循”,因
图3:用DMA
自DMA特DMA控制器可以在独立于DMA进程需要定期启动和停止时,采用这种工作方式就没有什么意义。
停止模式的工作方式与自DMA类似,区别在于各寄存器在DMA结束后不会重新载入,因此整个DMA传输只发生一次。停止模式对于基于某种事件的一次性传输来说十分有用。例如,非定期地将数据块从一个位置转移到另一个位置。当你需要对事件进行同步时,这种模式也非常有用。例如,如果一个任务必须在下一次传输前完成的话,则停止模式可以确保各事件发生的先后顺序。此外,停止模式对于缓冲器的初始化来说非常有用。
描述符模型
基于描述符(descriptor)的DMA要求在存DMA的系列操作。DMA控制寄存器DMA操作序列串在一起。在基于描述符的DMA操作中,我DMA通道DMA传输。基于描述符的方式为管理系统中的DMA传输提供了最大的灵活性。
ADI 的Blackfin两—描述符
在描述符DMA控制器依然从存(以及它)的两个数据字就并不必要。因“下一描述符”指DMA控制器希望一
当各描述符在存“背”时,可以使用一个描述符列表。实际上这里涉及多种子模式,从而再一次实现了性能和灵活性之间
文档评论(0)