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

文档序号:9401927阅读:来源:国知局
户可调整待针对所述通道高速缓存的描述符块的大小。由于流数据的转移趋向于由存储器的连续块的众多连续转移组成,所以将用于流数据转移的通道可经调整以因将需要相对稀少高速缓存转储清除而使用更大描述符块。然而,当正转移包数据时,此数据趋向于由使用基于指针的检索模式(例如,乒乓缓冲区及圆形缓冲区)来频繁转移的更小存储器块组成。在此情况中,通道可定制以使用更小描述符块且可甚至使用与由所利用的检索模式正使用的缓冲区的大小相一致的描述符块大小。
[0045]各种混合链表实施例允许设计尤其适合于转移流数据流的DMA控制器,所述流数据流趋向于包含大量循序转移指令。混合链表允许以常规循序列表的效率来执行循序指令的此类块。然而,混合链表通过允许待编程的DMA控制器执行由描述符数据结构界定的检索模式而仍提供常规链表的所有灵活性。此外,混合链表提供这些能力,同时改进由常规链表DMA控制器提供的效率。鉴于现代装置中需要实时数据转移,具灵活性及效率两者的解决方案的需求尤为迫切。
[0046]根据混合链表的实施例的以上描述,与常规循序列表及链表相比较,若干不同优点是显而易见的。混合链表利用与常规链表相比更小的描述符,且其提供与循序列表的效率相当的效率。不同于常规链表,混合链表可促进其通过高速缓存用于更快检索的描述符的连续块而循序地执行描述符的事实。处置块中的描述符也即时促成通过DMA控制器的总线转移的效率,与个别地处理每一描述符相反。提供这些优点,同时维持提供链表及循序列表两者的准确功能性的能力。最后,混合链表提供基于逐个通道而定制DMA控制器的操作的能力,使得通道基于正转移的数据的特性而表现得更像常规循序列表或常规链表。
【主权项】
1.一种DMA控制器,其包括: 控制单元,其经配置以通过与所述DMA控制器耦合的总线来执行数据转移,其中所述控制单元进一步经配置以使用存储于存储器中的DMA指令的一或多个列表来执行多个数据转移,且其中所述控制单元将从每一列表条目读取地址信息,且其中基于每一列表条目内的至少一个位而将所述地址信息确定为缓冲区指针或跳跃指针。2.根据权利要求1所述的DMA控制器,其进一步包括: DMA指令的高速缓存,其中所述控制单元将列表条目的块加载到所述高速缓存中且其中所述控制单元循序地执行存储于所述高速缓存中的所述DMA指令。3.根据权利要求2所述的DMA控制器,其中当待执行的所述高速缓存条目被识别为跳跃指针时,所述控制单元转储清除所述高速缓存。4.根据权利要求1所述的DMA控制器,其中每一列表条目包括第一位字段及第二位字段,其中所述第一位字段存储所述地址信息,且所述第二位字段存储指示所述地址信息是否提供缓冲区指针或跳跃指针的一或多个位。5.根据权利要求1所述的DMA控制器,其中所述缓冲区指针包括识别待由所述控制器转移的数据存储器的连续块的开头的起始地址。6.根据权利要求5所述的DMA控制器,其中所述缓冲区指针进一步包括结束地址,且其中所述起始地址及所述结束地址指定待转移的数据存储器的所述连续块。7.根据权利要求5所述的DMA控制器,其中所述缓冲区指针进一步包括指定待转移的数据存储器的所述连续块的大小的缓冲区深度值。8.一种用于由DMA控制器转移数据的方法,所述方法包括: 将列表中的一组DMA指令存储于存储器中,其中所述列表中的每一条目包括识别所述条目的类型的至少一个位; 从所述列表检索DMA指令; 基于所述至少一个位而确定所述所检索的DMA指令的类型,其中所述DMA指令被确定为缓冲区描述符或跳跃描述符; 如果DMA指令被确定为缓冲区描述符,那么检索由所述缓冲区描述符指定的存储器中的地址指定的数据; 如果DMA指令被确定为跳跃描述符,那么跳跃到由所述跳跃描述符指定的所述列表中的位置处的DMA指令。9.根据权利要求8所述的方法,其进一步包括: 将列表条目的块存储于高速缓存中;及 循序地执行存储于所述高速缓存中的所述列表条目。10.根据权利要求9所述的方法,其进一步包括: 当待执行的下一高速缓存条目被识别为跳跃描述符时,转储清除所述高速缓存。11.根据权利要求8所述的方法,其中每一列表条目包括第一位字段及第二位字段,其中所述第一位字段存储缓冲区指针或跳跃指针,所述第二位字段存储指示所述第一位字段是否提供缓冲区指针或跳跃指针的一或多个位。12.根据权利要求8所述的方法,其中所述缓冲区指针包括识别待由所述控制器转移的数据存储器的连续块的开头的起始地址。13.根据权利要求12所述的方法,其中所述缓冲区指针进一步包括结束地址,且其中所述起始地址及所述结束地址指定待转移的数据存储器的所述连续块。14.根据权利要求12所述的方法,其中所述缓冲区指针进一步包括指定待转移的数据存储器的所述连续块的大小的缓冲区深度。15.一种存储程序指令的非暂时性计算机可存取存储器媒体,其中所述程序指令可执行以: 将列表中的一组DMA指令存储于存储器中,其中所述列表中的每一条目包括识别所述条目的类型的至少一个位; 从所述列表检索DMA指令; 基于所述至少一个位而确定所述所检索的DMA指令的类型,其中所述DMA指令被确定为缓冲区指针或跳跃指针; 如果DMA指令被确定为缓冲区指针,那么检索由所述缓冲区指针指定的存储器中的地址指定的数据; 如果DMA指令被确定为跳跃指针,那么跳跃到由所述跳跃指针指定的所述列表中的位置处的DMA指令。16.根据权利要求8所述的存储器媒体,其中所述程序指令进一步可执行以: 将列表条目的块存储于高速缓存中;及 循序地执行存储于所述高速缓存中的所述列表条目。17.根据权利要求16所述的存储器媒体,其中所述程序指令进一步可执行以: 当待执行的所述高速缓存条目被识别为跳跃指针时,转储清除所述高速缓存。18.根据权利要求15所述的存储器媒体,其中每一列表条目包括第一位字段及第二位字段,其中所述第一位字段存储缓冲区指针或跳跃指针,所述第二位字段存储指示所述第一位字段是否提供缓冲区指针或跳跃指针的一或多个位。19.根据权利要求15所述的存储器媒体,其中所述缓冲区指针包括识别待由所述控制器转移的数据存储器的连续块的开头的起始地址。20.根据权利要求19所述的存储器媒体,其中所述缓冲区指针进一步包括结束地址,且其中所述起始地址及所述结束地址指定待转移的数据存储器的所述连续块。21.根据权利要求19所述的存储器媒体,其中所述缓冲区指针进一步包括指定待转移的数据存储器的所述连续块的大小的缓冲区深度。
【专利摘要】本发明涉及一种直接存储器存取DMA控制器,其存储列表中的一组DMA指令,其中所述列表中的每一条目包含识别所述条目的类型的位字段。基于所述位字段,所述DMA控制器确定每一DMA指令是否为缓冲区指针或跳跃指针。如果DMA指令被识别为缓冲区指针,那么所述DMA控制器将数据转移到由所述缓冲区指针指定的位置或从由所述缓冲区指针指定的位置转移数据。如果DMA指令被识别为跳跃指针,那么所述DMA控制器跳跃到由所述跳跃指针指定的所述列表中的位置。可高速缓存所述DMA指令列表的子集,且所述DMA控制器循序地执行所述高度缓存条目。如果在所述高速缓存中遇到跳跃指针,那么所述DMA控制器转储清除所述高速缓存且基于所述跳跃指针从主要存储器重新加载所述高速缓存。
【IPC分类】G06F13/28
【公开号】CN105122228
【申请号】CN201480020834
【发明人】J·R·多斯特, 刘向森
【申请人】密克罗奇普技术公司
【公开日】2015年12月2日
【申请日】2014年4月17日
【公告号】US20140317333, WO2014172516A1
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1