CN104133790B - 用于直接存储器访问控制器的条件链接 - Google Patents

用于直接存储器访问控制器的条件链接 Download PDF

Info

Publication number
CN104133790B
CN104133790B CN201410094302.XA CN201410094302A CN104133790B CN 104133790 B CN104133790 B CN 104133790B CN 201410094302 A CN201410094302 A CN 201410094302A CN 104133790 B CN104133790 B CN 104133790B
Authority
CN
China
Prior art keywords
link
mode
dma controller
read
condition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410094302.XA
Other languages
English (en)
Other versions
CN104133790A (zh
Inventor
S.科塔姆
F.黑尔维希
H.兹维克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of CN104133790A publication Critical patent/CN104133790A/zh
Application granted granted Critical
Publication of CN104133790B publication Critical patent/CN104133790B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Bus Control (AREA)
  • Communication Control (AREA)

Abstract

本发明涉及用于直接存储器访问控制器的条件链接。某些实施例涉及直接存储器访问(DMA)控制器有关。DMA控制器包括具有系统总线接口并且被配置成从存储器位置经由系统总线接口读取模式的总线控制器。模式比较逻辑将读取的模式与至少一个预定的模式比较。控制逻辑导致总线控制器如果读取的模式与预定的模式不同则通过系统总线接口处理第一条件链接,以及导致总线控制器如果读取的模式与预定的模式不同则通过系统总线接口处理第二条件链接。

Description

用于直接存储器访问控制器的条件链接
技术领域
本发明涉及用于直接存储器访问控制器的条件链接。
背景技术
直接存储器访问(DMA)控制器允许在计算系统内的硬件子系统以有限的努力(effort)从中央微处理器单元访问存储器。为了图示一般的DMA功能性,考虑图1A的示例,图1A的示例图示了数字系统100,数字系统100包括微处理器102、存储器104、DMA控制器106、以及输入/输出块108,所有这些都经由系统总线110可操作地耦合。在没有DMA控制器106的情况下,与大的数据传送相关联的连续的读取和写操作、例如在存储器104内复制数据或者向或从I/O块108移动数据可以完全地占用微处理器102持续延长的时段。然而,在DMA控制器106就位的情况下,微处理器102针对DMA控制器106提供某些最小的编程,并且,在对控制器106进行编程之后,微处理器102可以在DMA控制器处理数据传送的时候从事其他任务。
更特别地,为传送数据,DMA控制器106可以利用链表结构150,链表结构150存储在存储器104中,如图1B中所示。该链表结构150包括多个链接152(例如,DMA链接1、DMA链接2、…、DMA链接N),其中每个链接包括数据字段154和引用字段156。数据字段154指向用于相应链接的要被传送的数据,并且引用字段156指向链表结构150中的下一个链接。在图1A-1B的示例中,微处理器102用第一链接(DMA链接1)对DMA控制器106进行编程,并且DMA控制器106随后传送如DMA链接1的数据字段154中指定的数据。然后,DMA控制器106从第一链接的引用字段156标识第二链接(DMA链接2)的位置,从存储器104取回第二链接(DMA链接2),并且传送如DMA链接2的数据字段中指定的数据。然后,DMA控制器106移到第三DMA链接上、第四DMA链接上,以此类推。在链表150中的所有链接已经被处理之后(即,并且完成了完全的数据传送),DMA控制器106可以标记中断(IRQ)以向微处理器102通知数据传送完成。
虽然该常规的链表DMA技术允许微处理器102针对大数据传送将某些计算努力卸载到DMA控制器106,但这些技术对于许多应用而言仍然需要微处理器102针对DMA控制器106的正在进行的“保持持续(hold-holding)”或者管理。本公开的方面提供了展示自微处理器的更大独立性的DMA控制器,并且因此,潜在地增强了系统性能。
附图说明
图1A示出了利用直接存储器访问(DMA)控制器的数字系统的框图。
图1B示出了常规的链表DMA结构的图。
图2A示出了根据某些实施例的DMA控制器。
图2B示出了根据某些实施例的条件链表的执行。
图3A示出了根据某些实施例的DMA控制器。
图3B示出了根据某些实施例的条件链表的执行。
图4示出了根据某些实施例的具有DMA控制器的数字系统的框图。
图5示出了根据某些实施例的具有DMA控制器的数字系统的框图。
具体实施方式
参照附图做出了本文描述,其中贯穿全文一般地利用相同的参考标号指代相同的元素,并且其中各种结构不一定是按比例绘制的。在下文的描述中,为了解释,记载了许多的具体细节,以便促进理解。然而,对于本领域的普通技术人员可能是清楚的是,本文描述的一个或多个方面可以用程度较轻的这些具体细节实践。在其他的情况下,在框图中示出已知的结构和设备以促进理解。
如在下文的更多细节中将理解,本公开涉及利用条件链接以传送数据的DMA控制器。与其中连续的链接遵循严格的线性结构(参见例如,图1B)的常规的DMA链表结构对比,条件DMA链表可以包括一个或多个只有某些条件满足时才被处理的条件链接。
图2A示出了根据某些实施例的DMA控制器200的示例。DMA控制器200包括具有系统总线接口204的总线控制器202,以及控制寄存器206和模式比较逻辑208。DMA控制器200也包括第一模式存储器元件210,诸如寄存器或者硬连线的(hardwired)数据值,其存储一个或多个预定的感兴趣的比特模式,以及第二模式存储器元件212,诸如寄存器,以存储从通过(from over)系统总线接口204读取的模式。条件链接(例如,条件链接1、条件链接2、……)或者到这样的条件链接的指针被存储在链接存储器元件(例如214、216、……)中。
在操作期间,DMA控制器200从通过系统总线接口204读取比特模式,并且在第二模式存储器元件212中存储读取的比特模式。在从通过系统总线接口204读取比特模式之后,模式比较逻辑208然后将在第二模式存储器元件212中的读取的比特模式与在第一模式存储器元件210中存储的预定模式进行比较以查看两个模式是否匹配。如果模式的确匹配,那么模式比较逻辑208以第一条件链接(例如在第一链接存储器元件214中存储的)为基础设置控制寄存器206。另一方面,如果模式是不同的,那么模式比较逻辑208以第二条件链接(例如在第二链接存储器元件216中存储的)为基础设置控制寄存器206。第一和第二条件链接可以具有彼此不同的源和目的地指针。因此,DMA控制器200可以以从通过系统总线接口204读取的比特模式为基础处理不同的条件链接,这些条件链接指向在不同的存储器位置的数据。在许多应用中,这些“条件”链接的选择性处理向DMA控制器200增加附加的功能以及自主性,并且因此限制DMA控制器需要的处理器管理的量,由此潜在地改进系统性能。
在某些情况下,总线控制器202通过轮询存储器位置读取在212中存储的该比特模式,存储器位置诸如控制寄存器或者外围设备(peripheral)的状态寄存器。在“轮询”该存储器位置中,将理解DMA控制器200重复地读取该存储器位置以检查在其中存储的比特模式中的改变。在没有微处理器需要管理的情况下轮询发生,并且因此,向DMA控制器200借出某些附加的自主性。典型地,通过系统总线接口204以有规律的间隔完成轮询,但是轮询也可以以不规律的时间间隔完成。
虽然“轮询”可以使DMA控制器200更自主,但是与仅仅基于中断的DMA控制器相比,它也可以消耗在系统总线接口204上的附加的带宽。例如,虽然每个时钟周期轮询存储器位置将允许DMA控制器200以检测精确的时钟周期,存储器位置中的比特模式以该时钟周期改变,但是该手段可以贯穿轮询过程阻碍(tie up)系统总线。另一方面,通过很不频繁地轮询,DMA控制器200可能过迟地通过系统总线检测比特模式的改变,或者甚至完全地错过比特模式的改变。因此,为了为用户提供DMA控制器200通过系统总线接口204轮询存储器位置的速率中的某些灵活性,DMA控制器200的某些实施例包括设置轮询速率的可编程定时器218。在被设置成初始值之后,定时器218可以递增地“倒计数”并且仅当定时器达到预定值(例如零)的时候才读取存储器位置。在读取存储器位置之后,定时器218重新设置为初始值,再一次倒计数,并且当再一次达到预定值的时候重新读取存储器位置。通过将定时器218设置为相对大的初始值,轮询速率是相对低的(例如慢轮询),其消耗系统总线上有限的带宽,虽然具有比特模式改变的不精确的检测。另一方面,通过将定时器218设置为相对小的初始值,轮询速率是相对高的(例如快轮询),其提供比特模式改变的相对精确的检测,虽然消耗系统总线上的更多的带宽。计数器可以替代地从某个初始值向上计数直到达到某个预定值,而非“倒计数”。
图2B示出了可以如何处理条件链接的另一个示例。图2B示出四个链接(例如第一链接250、第二链接252、第三链接254,以及第四链接256),其中第三和第四链接254、256指向为了简单和清楚而没有示出的附加的下游链接。每个链接都包括描述要执行的数据传送的数据字段以及指向在链表结构中的要处理的下一个链接的引用字段。因此,第一链接引用字段258指向第二链接252,第二链接引用字段260指向第三链接254,并且第三链接引用字段262指向下游(未图示)链接。然而,第四链接256不一定在第一到第三引用字段258-262中被指定,而是条件链接,如将在下文的更多细节中理解的那样。
现在参照图2A并发地描述如何处理图2B的链接的更详细的描述。为了处理这些链接,微处理器或者其他外围设备向DMA控制寄存器206写第一链接250的基础地址(或者写第一链接本身的内容).当接收第一链接250的地址(或者第一链接250的内容)的时候,DMA控制器标识描述由第一链接数据字段264指定的数据传送的源地址和目的地地址,并且也标识在第一链接引用字段258中的链接地址,在该地址存储第二链接252。在从264标识源和目的地地址之后,DMA控制器200开始从源地址向目的地地址传送数据,经常以逐字方式和/或利用脉冲操作。例如,数据传送可以通过如下发生:DMA控制器读取起始于源基础地址的连续的字并且递增计数器以从源基础地址加上偏移量而读取连续的字以读取与第一链接相对应的数据大小,并且类似地针对连续字向目的地基础地址加上偏移量写数据字。
因为针对第一链接250从源向目的地传送了数据,所以模式比较逻辑208将每个传送的数据字(或者多个数据字)的比特模式与在210中存储的预定比特模式比较。只要传送的数据字的比特模式与预定的比特模式不同,DMA控制器200就在由第一链接指定的数据传送完成之后,经常在没有产生中断的情况下,移到处理第二链接252。
在处理第二链接252中,DMA控制器标识在第二链接数据字段266中指定的源和目的地地址,并且开始从源地址向目的地地址传送数据,同时将每个传送的字与在210中存储的预定的比特模式比较。只要传送的数据的比特模式与在210中存储的预定比特模式不同,DMA控制器就完成了在第二链接252中指定的数据传送,并且及时移到连续的链接(例如254、……)。
如果在任何时候,传送的数据的比特模式与在210中存储的比特模式匹配,那么DMA控制器200停止数据传送,并且分支到交替的条件链接——此处是第四链接256(参见线268)。该交替的条件链接可以是在216中存储的默认值,并且其仅当212和210之间发生比特模式匹配时被处理。例如,在某些实施例中,在210中存储的预定比特模式可以指示最近传送的数据字是文件结束或者包结束字,并且交替的条件链接256可以指向预期下一个文件或包期待所处的地址。因此,当传送的数据中的字在任何点处匹配预定的比特模式时,DMA控制器200跳至第四链接256,但是否则继续处理由第一、第二和第三链接250-254组成的链表结构。DMA控制器也可以在数据传送正在发生的时候轮询状态或者控制寄存器,而不是比较在存储器中实际传送的数据,并且因此如果轮询的寄存器值与在210中的预定模式匹配,则分支到第四链接256。
虽然图2A-2B图示仅比较在210中存储的单个的预定比特模式,但是该概念延伸至任何数目的预定比特模式,预定比特模式的每个都可以引起不同的条件链接的执行。为此,图3A示出了其中出现N个条件链接(参见302到306)的DMA控制器300的示例。为确定在给定时间要处理哪个条件链接,模式比较逻辑308可以将在312中存储的通过系统总线读取的比特模式与在各自的存储器元件314到316中存储的N-1个预定模式的每个比较。例如,在314中存储的第一预定模式可能具有b‘00001的数字值,并且与在302中的第一链接相对应,第二预定模式可能具有b‘00010的数字值,并且与在304中的第二链接相对应,以此类推。如果从通过系统总线(310)读取的比特模式与预定模式之一匹配,那么DMA控制器以与那个预定模式相对应的条件链接为基础执行数据传送。例如,如果从系统总线读取b‘0010的数字值,那么DMA控制器将执行在条件链接2中指定的数据传送。如果读取的比特模式不与任何预定模式匹配,那么在某些实施例中可以处理默认条件链接(例如条件链接N)。因此,在DMA控制器中存储的链接是“有条件的”,其中由DMA控制器实际执行哪个链接取决于由DMA读取的数据是否和预定模式之一匹配。
图3B示出了与图3A的实施例相对应的链表结构。稍微与图2B类似,该链表结构包括多个链接350-354,其中每个都有明确地指向链表结构中的下一个顺序链接的引用字段,而条件链接356和358的地址不一定在链接350-354(或链表结构的任何其他链接)中明确提及。只要不存在模式匹配,DMA控制器就继续链接350-354的处理,但是当模式匹配发生时,DMA控制器就跳至与匹配的模式相对应的条件链接。
在某些实现中,DMA事务可以是环(例如无尽的事务),该环仅当传送的数据字与预定模式匹配的时候才停止。
为图示示例上下文,示例上下文中这样的DMA控制器可以是有利的,图4示出了根据某些实施例的数字系统400。数字系统400包括微处理器402、存储器404、DMA控制器406,以及外围模块408,这些的全部都是经由系统总线410可操作地耦合的。在该示例中,为了图示,存储器404包括第一先进先出(FIFO)412和第二FIFO 414。在某些实现中也可以出现可选的中断控制器(未示出),其从DMA控制器406和多个各自的外围设备(例如包括408)接收中断请求(IRQ)并且赋予中断请求优先级。
为使有效的数据传送实现,微处理器402可以将第一条件链接编程到第一链接存储器元件416中,将第二条件链接编程到第二存储器元件418中,并且将预定模式编程到第一模式存储器元件420。在下文的示例中,在416中的第一条件链接指向第一FIFO 412,并且在418中的第二条件链接指向第二FIFO 414。替代地,第一和/或第二条件链接可以是硬编码的(hard-coded),和/或预定模式可以是硬编码的。例如,硬编码可以通过将比特依靠于(tying)掩膜(mask)中的功率或者地线,或者通过在制造期间烧断(blowing)保险丝以设置硬编码值而完成。
在操作期间,在该示例中,外围模块408接收由包组成的数据流并且向第一FIFO412或第二FIFO 414写每个包。当外围模块408写每个包之时,它更新它的状态和/或控制寄存器422以指示是否已向第一FIFO 412或第二FIFO 414写了最近的包。
尝试以某个方式处理接收的包的DMA控制器406轮询状态或控制寄存器422并且将读取的状态或控制寄存器比特模式存储在第二存储器元件424中。如果在424中存储的读取的状态或控制寄存器比特模式和在420中存储的预定比特模式匹配,那么DMA控制器处理在416中的第一条件链接。例如,如果在422中(在424中读取和存储)的状态/控制寄存器的值指示已经向第一FIFO 412写了最近的包,并且因此DMA控制器406以在416中的第一条件链接为基础设置它的控制寄存器426并且处理向第一FIFO 412刚刚写的包,那么这可以发生。另一方面,如果在422中的读取的状态或控制寄存器比特模式和在420中的预定模式不匹配,那么DMA控制器处理在418中的第二条件链接。在该示例中,当外围模块向422输出指示已经向第二FIFO 414写了最近的包的状态/控制寄存器值(现在存储在424中),并且因此,DMA控制器406以在418中的第二条件链接为基础设置它的控制寄存器426并且处理向第二FIFO 414刚刚写的包的时候,这可以发生。第一和第二条件链接经常是分离的链表结构的一部分,因为第一条件链接不指向第二条件链接(或者反之亦然)。
如在存储器404中存储的第一和第二条件链接结构可以每个都包括DMA控制信息和指针。例如,每个条件链接都可以包括指向第一源数据块的基础地址的源地址字段(加载到源寄存器428中),DMA控制器将从该第一源数据块的基础地址读取数据。每个条件链接也包括指向第一目的地块的基础地址的目的地地址字段(加载到目的地寄存器430中),DMA控制器要向第一目的地块的基础地址写第一源数据块。每个条件链接也包括指定要传送的源数据块的大小的大小字段(加载到寄存器432中)。为使具有来自微处理器的有限的管理的传送实现,DMA控制器406在第一源数据块的基础地址处读取第一数据字,并且然后向第一目的地块的基础地址写该第一数据字。然后,DMA控制器递增计数器以代表自第一基础地址的偏移量,并且然后从基础地址加该偏移量读取第二数据字。然后向目的地基础地址(加上偏移量)写该第二数据字。通过连续地递增计数器以留意偏移量而从源数据块读取附加的字并且向目的地数据块写附加的字。当计数器值(或它的缩放版本)与连接中指定的数据大小相对应的时候,停止数据传送。
每个条件链接可以指向另一个链接以使链表产生。当被看作集体时,每个链表的链接都可以“聚集”跨非毗连的存储器位置分散的源数据,和/或可以跨非毗连的目的地地址“分散”数据。在某些情况下,可以在一个连续的DMA操作中执行第一和/或第二条件链接(以及任何与其相关联的链表结构)而不产生任何中断和/或不需要在数据传送操作之间来自微处理器的指令。
虽然图4仅图示以读取的状态/控制比特模式是否与感兴趣的预定比特模式匹配为基础选择的两个条件链接,但是该概念延伸至任何数目的条件链接。因此,图5示出示例DMA控制器406,其中出现N个条件链接,其中每个条件链接都指向在存储器404中的N个FIFO的不同的一个。为确定在给定时间要处理哪个条件链接,模式比较逻辑419可以将从状态或控制寄存器读取的比特模式与在各自的存储器元件中存储的N-1个预定模式的每个比较。例如,第一预定模式可能具有b‘00001的数字值,与当外围设备已经向第一FIFO(FIFO 1)写数据的时候向状态/控制寄存器输出的数字值相对应;第二预定模式可能具有b‘00010的数字值,与当外围设备已经向第二FIFO(FIFO 2)写数据的时候向状态/控制寄存器输出的数字值相对应,并且依此类推。如果从状态或控制寄存器422读取的比特模式,其在DMA 406内的424中存储,与在434内存储的预定模式之一匹配,那么DMA控制器执行以与该预定模式相对应的条件链接为基础的数据传送。例如,如果从状态/控制寄存器422读取b’0010的数字值,那么DMA控制器将从第二FIFO读取数据。如果读取的模式不和任何的预定模式匹配,那么处理默认条件链接(例如条件链接N)。因此,在DMA控制器中存储的链接是“有条件的”,其中由DMA控制器实际执行哪个链接取决于满足还是不满足至少一个预定条件。
因此,将理解某些实施例涉及一种系统。系统包括耦合至系统总线的直接存储器访问(DMA)控制器,以及包括对与DMA控制器而言通过系统总线可访问的状态或控制寄存器的外围设备。DMA控制器被配置成轮询状态或控制寄存器以确定状态和控制模式。当状态或控制模式和预定模式匹配的时候,DMA控制器选择性地处理第一条件链接,并且当状态或控制模式和预定模式不同的时候选择性地处理第二条件链接。
另一实施例涉及一种直接存储器访问(DMA)控制器。DMA控制器包括具有系统总线接口的总线控制器,并且被配置成经由系统总线接口读取存储器位置以确定模式。模式比较逻辑将确定的模式与至少一个预定模式比较。如果确定的模式与预定模式匹配,那么控制逻辑导致总线控制器通过系统总线接口处理第一条件链接。如果确定的模式与预定模式不同,那么控制逻辑导致总线控制器通过系统总线接口处理第二条件链接。
又一实施例涉及一种操作DMA控制器的方法。该方法经由耦合至DMA控制器的系统总线读取模式。方法将确定的模式与至少一个预定模式比较,其中在读取模式之前确定预定模式。然后,如果确定的模式与预定模式匹配,那么方法处理第一条件链接,并且如果确定的模式与预定模式不同,那么处理第二、不同的条件链接。
应理解在本文包含的实施例的描述中图中示出的或本文描述的功能块、设备、部件、电路元件或其他物理或功能单元之间的任何直接连接或耦合也可以通过间接的连接或耦合实现,即包括一个或多个介入元素的连接或耦合。更进一步地,应理解图中示出的功能块或单元在某些实施例中可以实现为分立电路,但是在其他实施例中也可以在共同的电路或共同的集成电路中完全地或者部分地实现,或者在某些情况下也可以通过据此对处理器编程而联合地实现。
应注意,提供图是为给予本发明的实施例的某些方面和特征的图示,并且应被认为仅是示意性的。特别地,图中示出的元素不一定与彼此成比例,并且选择图中各种元素的放置是为了提供对各自的实施例的清楚理解,并且不应解释为必要地作为示出的各种部件和元素的实际的相对位置的代表。本文描述的各种实施例的特征可以彼此组合。另一方面,以多个特征描述实施例不应解释为指示为了实现本发明,所有那些特征都是必要的,因为其他实施例可以包括更少的特征和/或替代特征。

Claims (21)

1.一种直接存储器访问(DMA)控制器,包括:
总线控制器,其具有系统总线接口并被配置成经由系统总线接口从存储器位置读取模式;
模式比较逻辑,被配置成将读取的模式与至少一个预定模式比较;以及
控制逻辑,被配置成如果读取的模式与预定模式匹配则导致总线控制器通过系统总线接口处理第一条件链接,并且进一步地被配置成如果读取的模式与预定模式不同则在没有产生中断的情况下导致总线控制器通过系统总线接口处理第二条件链接。
2.根据权利要求1的DMA控制器,还包括:
第一链接存储器元件,用于存储第一条件链接;
第二链接存储器元件,用于存储第二条件链接;以及
第三链接存储器元件,用于存储第三条件链接;
其中控制逻辑被配置成如果读取的模式与第一预定模式匹配,那么导致总线控制器通过系统总线接口处理第一条件链接,并且进一步地被配置成如果读取的模式与第二预定模式匹配,那么导致总线控制器通过系统总线接口处理第二条件链接,并且进一步地被配置成如果读取的模式与第一和第二预定模式不同,那么导致总线控制器通过系统总线接口处理第三条件链接,其中第一和第二预定模式是不同的。
3.根据权利要求1的直接存储器访问(DMA)控制器,其中控制逻辑被配置成处理在耦合至系统总线接口的存储器中的链表中布置的链接的序列,其中链表描述要由DMA控制器处理的数据传送。
4.根据权利要求1的DMA控制器,其中第一条件链接指定数据大小和第一基础地址,并且其中DMA控制器读取开始于第一基础地址的连续的字并且从第一基础地址加上偏移量递增计数器来读取连续的字以读取与第一链接相对应的数据大小。
5.根据权利要求1的DMA控制器,其中读取的模式对应于根据轮询速率从耦合至系统总线接口的外围设备的状态或控制寄存器读取的状态或控制比特模式。
6.根据权利要求5的DMA控制器,其中连续的轮询读操作之间的时间是可编程的,或者其中轮询速率是可编程的。
7.根据权利要求6的DMA控制器,进一步地包括:
可编程定时器,其中编程至可编程定时器中的定时器值设置连续的轮询读操作之间的时间或者设置轮询速率。
8.根据权利要求1的DMA控制器,其中第一条件链接包括在由多个链接组成的并且由DMA控制器当前执行的链表结构中,并且其中第二条件链接不是在链表结构中指定的。
9.一种操作直接存储器访问(DMA)控制器的方法,包括:
从通过耦合至DMA控制器的系统总线读取模式;
将读取的模式与至少一个预定模式比较,其中在读取模式之前确定预定模式;以及
如果读取的模式与预定模式匹配,则处理第一条件链接,并且如果读取的模式与预定模式不同,则在没有产生中断的情况下处理第二、不同的条件链接。
10.根据权利要求9的方法,其中从通过系统总线读取模式包括轮询耦合至系统总线的外围设备的状态或控制寄存器。
11.根据权利要求10的方法,进一步地包括:
将连续的轮询读操作之间的时间设置为不同的时间值或者将轮询速率设置为不同的轮询速率。
12.根据权利要求9的方法,进一步地包括:
将确定的模式与第一预定模式和第二预定模式比较;
如果确定的模式与第一预定模式匹配,则处理第一条件链接;
如果确定的模式与第二预定模式匹配,则处理第二条件链接;以及
如果确定的模式与第一预定模式和第二预定模式不同,则处理第三条件链接。
13.根据权利要求11的方法,其中连续地处理第一、第二和第三条件链接而在处理第一条件链接的第一时间与处理第三条件链接的第三时间之间不与微处理器交换通信。
14.一种系统,包括:
直接存储器访问(DMA)控制器,耦合至系统总线;以及
外围设备,包括对DMA控制器而言通过系统总线可访问的状态或控制寄存器,其中状态或控制寄存器被配置成存储指示数据包所存储的存储器位置的比特模式;
其中DMA控制器被配置成轮询状态或控制寄存器以确定与其相关联的比特模式,并且被进一步地配置成当比特模式与预定模式匹配的时候选择性地处理第一条件链接,并且当比特模式与预定模式不同的时候在没有产生中断的情况下选择性地处理第二条件链接。
15.根据权利要求14的系统,其中第一条件链接指向第一地址,第一地址驻留在耦合至系统总线的第一存储器元件内,并且其中第二条件链接指向第二、不同的地址,第二、不同的地址驻留在耦合至系统总线的第二存储器元件内。
16.根据权利要求15的系统,其中第一存储器元件是第一先入先出(FIFO)。
17.根据权利要求16的系统,其中第二存储器元件是第二FIFO,所述第二FIFO与第一FIFO无关地存储数据。
18.根据权利要求14的系统,进一步地包括:
微处理器,耦合至系统总线并且被配置成通过系统总线与DMA控制器通信;以及
其中DMA控制器连续地处理第一和第二条件链接而在处理第一条件链接的第一时间与处理第二条件链接的第二时间之间不与微处理器交换通信。
19.根据权利要求14的系统,其中第一条件链接指定数据大小和第一基础地址,并且其中DMA控制器在第一基础地址处读取第一数据字,并且递增计数器以代表第一基础地址加上连续的偏移量来读取在第一条件链接中指示的数据的块的连续的字,直到传送了所述数据大小。
20.根据权利要求14的系统,其中连续的轮询读操作之间的时间是可编程的,或者其中轮询速率是可编程的。
21.根据权利要求20的系统,其中DMA控制器包括可编程定时器,其中编程至可编程定时器内的定时器值设置连续的轮询读操作之间的时间或者设置轮询速率。
CN201410094302.XA 2013-03-14 2014-03-14 用于直接存储器访问控制器的条件链接 Active CN104133790B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/803,811 US9569384B2 (en) 2013-03-14 2013-03-14 Conditional links for direct memory access controllers
US13/803811 2013-03-14

Publications (2)

Publication Number Publication Date
CN104133790A CN104133790A (zh) 2014-11-05
CN104133790B true CN104133790B (zh) 2019-10-01

Family

ID=51419135

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410094302.XA Active CN104133790B (zh) 2013-03-14 2014-03-14 用于直接存储器访问控制器的条件链接

Country Status (4)

Country Link
US (1) US9569384B2 (zh)
KR (1) KR101567198B1 (zh)
CN (1) CN104133790B (zh)
DE (1) DE102014103347B4 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9723048B2 (en) * 2008-10-29 2017-08-01 Oracle International Corporation System and method for providing timer affinity through notifications within a session-based server deployment
US9846662B2 (en) * 2014-09-20 2017-12-19 Netronome Systems, Inc. Chained CPP command
CN106484642B (zh) * 2016-10-09 2020-01-07 上海新储集成电路有限公司 一种具有运算能力的直接存储器访问控制器
CN108388527B (zh) * 2018-02-02 2021-01-26 上海兆芯集成电路有限公司 直接存储器存取引擎及其方法
FR3084179A1 (fr) * 2018-07-19 2020-01-24 Stmicroelectronics (Grenoble 2) Sas Acces direct en memoire
CN110399322B (zh) * 2019-06-28 2021-03-09 苏州浪潮智能科技有限公司 一种数据传输方法及乒乓dma架构
US20220027464A1 (en) * 2020-07-23 2022-01-27 Nxp Usa, Inc. Systems and methods for constraining access to one time programmable storage elements

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101040272A (zh) * 2004-08-17 2007-09-19 皇家飞利浦电子股份有限公司 支持突发读写操作的处理装置
CN101506785A (zh) * 2006-08-24 2009-08-12 密克罗奇普技术公司 直接存储器存取控制器

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5630048A (en) * 1994-05-19 1997-05-13 La Joie; Leslie T. Diagnostic system for run-time monitoring of computer operations
US6874054B2 (en) * 2002-12-19 2005-03-29 Emulex Design & Manufacturing Corporation Direct memory access controller system with message-based programming
JP2004287654A (ja) 2003-03-20 2004-10-14 Ricoh Co Ltd Dma転送装置
KR100703406B1 (ko) * 2005-02-04 2007-04-03 삼성전자주식회사 Dma 제어 장치 및 방법
US7523228B2 (en) * 2006-09-18 2009-04-21 International Business Machines Corporation Method for performing a direct memory access block move in a direct memory access device
US8041847B1 (en) 2007-05-10 2011-10-18 Marvell International Ltd. Periodic and conditional execution of DMA operations
KR101579592B1 (ko) * 2009-12-03 2015-12-22 삼성전자 주식회사 직접 메모리 액세스 컨트롤러 및 직접 메모리 액세스 컨트롤러의 동작 방법
US8943238B2 (en) * 2012-05-18 2015-01-27 Atmel Corporation Operations using direct memory access

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101040272A (zh) * 2004-08-17 2007-09-19 皇家飞利浦电子股份有限公司 支持突发读写操作的处理装置
CN101506785A (zh) * 2006-08-24 2009-08-12 密克罗奇普技术公司 直接存储器存取控制器

Also Published As

Publication number Publication date
KR101567198B1 (ko) 2015-11-06
DE102014103347B4 (de) 2022-08-25
CN104133790A (zh) 2014-11-05
US20140281098A1 (en) 2014-09-18
DE102014103347A1 (de) 2014-09-18
US9569384B2 (en) 2017-02-14
KR20140113438A (ko) 2014-09-24

Similar Documents

Publication Publication Date Title
CN104133790B (zh) 用于直接存储器访问控制器的条件链接
US8914551B2 (en) Sensor polling unit for microprocessor integration
EP2097828B1 (en) Dmac to handle transfers of unknown lengths
CN101589377B (zh) 内容终止直接存储器存取电路,方法及计算系统
US5530875A (en) Grouping of interrupt sources for efficiency on the fly
US7406550B2 (en) Deterministic microcontroller with configurable input/output interface
US7526579B2 (en) Configurable input/output interface for an application specific product
CN101149717A (zh) 计算机系统及直接内存访问传输方法
CN105677455A (zh) 一种设备调度方法及任务管理器
JP2006195867A (ja) バス調停方法及び半導体装置
CN104636289A (zh) 半导体装置
US20170046102A1 (en) Flexible interface for nand flash memory
EP1865415A1 (en) Methods and system for providing low latency and scalable interrupt collection
CN109345221A (zh) 资源流转的核对方法及装置
CN102388359B (zh) 信号保序方法和装置
US12124398B2 (en) Input/output unit for data acquisition with a field-bus system
WO2016024483A1 (ja) アナログ/ディジタル変換回路
CN105022706A (zh) 控制器电路,数据接口块和用于传输数据的方法
US20060168373A1 (en) Configurable application specific standard product with configurable I/O
US9256558B2 (en) Direct memory access descriptor-based synchronization
CN106100790B (zh) 一种数据传输方法及系统
CN102043750B (zh) 一种微处理器总线结构及微处理器
CN112445743B (zh) 一种去除毛刺的方法、装置及状态机
JP4731126B2 (ja) 割り込み制御回路
JP2020064340A5 (zh)

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant