具有混合的散射-聚集功能性的直接存储器存取控制器的制造方法

文档序号:9401927阅读:412来源:国知局
具有混合的散射-聚集功能性的直接存储器存取控制器的制造方法
【专利说明】具有混合的散射-聚集功能性的直接存储器存取控制器
[0001]相关串请案的交叉参考
[0002]本申请案主张2013年4月17日申请的第61/812,873号美国临时申请案的权利,所述申请案的全文并入本文中。
技术领域
[0003]本发明涉及直接存储器存取控制器;特定来说,本发明涉及一种多通道散射-聚集直接存储器存取控制器。
【背景技术】
[0004]由计算机系统使用直接存储器存取(DMA)控制器来执行存储器与硬件子系统之间的数据转移,其中所述转移独立于计算机系统的中央处理单元而完成。计算机系统可利用多个DMA控制器且可包含例如微控制器、微处理器、嵌入式系统及外围设备(其自身实施DMA控制器)的子组件。DMA控制器代理对存储于存储器中的数据的直接存取,否则需要中断系统处理器来执行转移。由DMA控制器提供的此能力尤其有利于其中硬件子系统将自身处理所检索数据的情形,在所述情况中,系统处理器仅转移数据且不处理数据。例如,需要图形卡来存取系统存储器中所存储的数据。但由于图形卡将自身处理所检索数据,所以DMA允许由图形卡检索数据,同时绕过系统处理器。这释放了系统处理器上的周期且大体上因为处理器无需等待相对较慢I/O操作而改进了效率。
[0005]DMA控制器实施用于处置DMA启用硬件子系统之间的存储器转移的逻辑。DMA控制器通常可经由多个通道而同时支持多个子系统的存储器存取。为提供此能力,DMA控制器实施用于同时管理多个通道的逻辑。因此,DMA控制器可被视为经由一组界定通道而管理对系统存储器的直接存取的专用处理单元。不管DMA控制器的有限责任集合如何,常规DMA控制器均效率低下。
[0006]—般来说,DMA控制器经指示以经由特定通道将特定数据集从源位置转移到目的位置。所述源位置及所述目的位置可位于微控制器的系统存储器(通常为RAM)或数据存储器、外围装置的嵌入式系统或可由外围设备存取的其它数据(例如,来自模/数转换器、端口、捕获比较单元等等的数据)内。为将数据从源位置转移到目的位置,常规DMA控制器接收相应源地址及目的地址作为转移指令的部分。将此地址信息提供到DMA控制器的一种方式呈由DMA控制器支持的“描述符”的形式,其中每一描述符为引导DMA控制器的指令。在常规系统中,每一描述符引导DMA控制器在系统存储器中的指定位置与数据存储器之间转移连续数据块。为识别待转移的存储器块,常规描述符也可指定块的大小作为数据转移指令的部分。由常规DMA控制器使用源地址及块大小来识别待从系统存储器转移的连续数据块。
[0007]将组织成列表的描述符提供到DMA控制器,其中所述列表中的每一条目为引导所述DMA控制器的动作的描述符。可由DMA控制器严格循序地执行描述符列表,或如果列表为链表,那么可按照任何顺序执行描述符列表,其中每一条目具有将列表中的另一条目指定为待执行的下一描述符的额外专用指针。一般使用描述符的循序执行列表而非使用描述符的链表来更有效地转移流数据(即,通常存储于存储器的连续块中的非结构化数据)。然而,包数据(即,趋向于需要处理存储于存储器中的分散位置中的每一个别数据项的结构化数据)的转移趋向于促成由链表提供的灵活性。因此,DMA控制器通常支持描述符列表的循序处理及非循序处理两者。为支持两个处理类型,常规DMA控制器利用经配置以利用所有实例中的指针的描述符的链表,其导致消耗在转移流数据时基本不需要的显著寻址开销。因此,需要一种可以有效方式处置各种类型的数据转移的更灵活的DMA控制器。

【发明内容】

[0008]常规DMA控制器将DMA描述符的链表用于描述符的循序处理及非循序处理两者。取决于正转移的数据的性质,循序处理无法提供足够灵活性,且常规链表可包含显著浪费开销。因此,需要提供循序列表及链表两者的优点的混合链表。由根据本发明的实施例的系统及方法在很大程度上克服现有技术中的这些及其它缺点。
[0009]根据实施例,DMA控制器由经配置以通过与所述DMA控制器耦合的总线来执行数据转移的控制单元组成,其中所述控制单元进一步经配置以使用存储于存储器中的DMA指令的一或多个列表来执行多个数据转移,且其中所述控制单元将从每一列表条目读取地址信息,且其中基于每一列表条目内的至少一个位而将所述地址信息确定为缓冲区指针或跳跃指针。
[0010]根据另一实施例,所述DMA控制器进一步由称为描述符的DMA指令的高速缓存组成,其中所述控制单元将描述符的块加载到所述高速缓存中,且其中所述控制单元循序地执行存储于所述高速缓存中的描述符。根据另一实施例,当待执行的高速缓存条目被识别为跳跃描述符时,所述DMA控制器的所述控制单元转储清除所述高速缓存。根据另一实施例,每一描述符包括第一位字段及第二位字段,其中所述第一位字段存储所述地址信息,且所述第二位字段存储指示所述地址信息是否提供缓冲区指针或跳跃指针的一或多个位。根据另一实施例,所述缓冲区指针包括识别待由所述控制器转移的数据存储器的连续块的开头的起始地址。根据另一实施例,所述缓冲区指针进一步包括指定待转移的数据存储器的所述连续块的大小的缓冲区深度(BD)值。
【附图说明】
[0011]所属领域的技术人员可通过参考附图而更好地理解本发明,且明白本发明的众多目的、特征及优点。用于不同图式中的相同参考符号指示类似项或相同项目。
[0012]图1为说明根据本发明的实施例的包含DMA控制器的计算机系统的高级计算机架构的框图。
[0013]图2为说明根据本发明的实施例的DMA控制器的操作的框图。
[0014]图3为说明实施描述符的循序列表的常规DMA控制器的操作的框图。
[0015]图4为说明实施描述符的链表的常规DMA控制器的操作的框图。
[0016]图5为说明根据本发明的实施例的实施描述符的混合链表的DMA控制器的操作的框图。
[0017]图6A及6B为说明根据本发明的实施例的混合链表可如何鉴于混合链表寻址方案而用于实施从完全循序列表、到完全链表、到完全循序列表与完全链表之间的任何混合循序列表/链表的描述符列表的框图。
【具体实施方式】
[0018]根据各种实施例,通过用以下两个不同类型的描述符替代常规DMA描述符而提供改进效率:支持描述符列表的循序执行的一个类型的描述符,及支持将指针用于描述符列表的非循序执行中的另一类型的描述符。此外,根据各种实施例,DMA控制器以允许描述符的循序处理与非循序处理之间的有效切换的方式利用两种类型的描述符。因此,可提供具有转移能力的更灵活及更有效集合的DMA控制器。
[0019]根据各种实施例,DMA控制器平衡提供循序处理及非循序处理两者的灵活性的需求,同时也维持存储器及总线带宽的有效使用。此外,根据一些实施例,为用户提供配置DMA控制器的个别通道的能力以基于所转移的数据的特性而更好地支持描述符的循序或非循序处理。
[0020]图1描绘计算机系统(例如,微控制器或嵌入式系统)内的DMA控制器的说明性实施例。计算机系统100大体上包括耦合到一或多个通信总线的中央处理单元(CPU) 110。在图1所说明的实施例中,图中展示外围总线140。通过此外围总线140,CPU 110可与多个外围装置180a...180η (例如,I/O端口、存储器、A/D转换器及D/A转换器、计时器、脉宽调制器、图形子系统、音频处理子系统等等)通信。此外,可提供存储器总线160以使CPU 110与主要数据存储器120 (例如,RAM存储
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1