CN101506785B - 直接存储器存取控制器 - Google Patents

直接存储器存取控制器 Download PDF

Info

Publication number
CN101506785B
CN101506785B CN2007800313803A CN200780031380A CN101506785B CN 101506785 B CN101506785 B CN 101506785B CN 2007800313803 A CN2007800313803 A CN 2007800313803A CN 200780031380 A CN200780031380 A CN 200780031380A CN 101506785 B CN101506785 B CN 101506785B
Authority
CN
China
Prior art keywords
data
register
pattern
address
coupling
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
CN2007800313803A
Other languages
English (en)
Other versions
CN101506785A (zh
Inventor
奈尔沙·拉杰巴尔提
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.)
Microchip Technology Inc
Original Assignee
Microchip Technology Inc
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 Microchip Technology Inc filed Critical Microchip Technology Inc
Publication of CN101506785A publication Critical patent/CN101506785A/zh
Application granted granted Critical
Publication of CN101506785B publication Critical patent/CN101506785B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/16Handling requests for interconnection or transfer for access to memory bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种直接存储器存取控制器可包括用于从源向目的地地址传递数据的数据寄存器、样式寄存器、与数据寄存器和样式寄存器耦合的数据比较器,以及与所述比较器耦合的的控制单元,所述控制单元可操作以在所述比较器检测到所述数据寄存器与所述样式寄存器匹配的情况下停止数据传递。

Description

直接存储器存取控制器
技术领域
本申请案的技术领域涉及直接存储器存取控制器。
背景技术
直接存储器存取控制器(DMA)通常用于微处理器系统、集成微控制器等中。DMA控制器用于独立于计算机系统的中央处理单元而执行从存储器到外围设备和从外围设备到存储器的数据传递。为此,DMA控制器可视为具有有限能力的第二可编程处理单元。大体上,DMA控制器经指令以从源位置向目的地位置传递特定量的数据。源可在存储器内,所述存储器例如是微控制器的数据存储器、外围设备的存储器,或者所述源是由外围设备产生或可在外围设备内存取的数据,所述外围设备例如为模拟到数字转换器、端口、捕捉比较单元等。目的地也可在存储器内,因此允许计算机系统或微控制器的存储器装置内的高速传递。然而,目的地也可为外围设备,例如数字到模拟转换器、端口等。为了从源向目的地传递数据,DMA控制器必须接收相应的源和目的地地址。另外,需要指定每一传递长度。为此,DMA控制器需要接收数据传递的长度或待传递的数据的开始和结束地址。因此,需要一种更灵活的DMA控制器。
发明内容
在一个实施例中,直接存储器存取控制器可包括:数据寄存器,其用于从源向目的地地址传递数据;样式寄存器;数据比较器,其与所述数据寄存器和所述样式寄存器耦合;以及控制单元,其与所述比较器耦合且可操作以在所述比较器检测到所述数据寄存器与所述样式寄存器的匹配的情况下停止数据传递。
在另一实施例中,一种微控制器可包括:中央处理单元;总线,其与所述中央处理单元耦合;存储器,其与所述总线耦合;外围单元,其与所述总线耦合;以及直接存储器存取控制器,其与所述总线耦合,所述直接存储器存取控制器包括:数据寄存器,其用于从源向目的地地址传递数据;样式寄存器;数据比较器,其与所述数据寄存器和所述样式寄存器耦合;以及控制单元,其与所述比较器耦合且可操作以在所述比较器检测到所述数据寄存器与所述样式寄存器的匹配的情况下停止数据传递。
在又一实施例中,一种微控制器可包括:中央处理单元;第一总线,其与所述中央处理单元耦合;外围单元,其与所述第一总线耦合;第二总线,其与所述中央处理单元耦合;存储器,其与所述第二总线耦合;直接存储器存取控制器,其与所述第一和第二总线耦合,所述直接存储器存取控制器包括:数据寄存器,其用于从源向目的地地址传递数据;样式寄存器;数据比较器,其与所述数据寄存器和所述样式寄存器耦合;以及控制单元,其与所述比较器耦合且可操作以在所述比较器检测到所述数据寄存器与所述样式寄存器的匹配的情况下停止数据传递。
在又一实施例中,一种通过直接存储器存取控制器执行从源到目的地的多个数据的传输的方法包括步骤:a)确定是否使用了样式检测;b)存储源地址和目的地地址的开始地址;c)如果使用了样式检测,那么存储样式;否则存储传输长度;d)从所述源地址读取数据;e)将数据存储在所述目的地地址中;f)如果使用了样式检测,那么将所述数据与所述样式比较,且在匹配时终止所述传输;g)使所述源和目的地地址递增;h)如果没有使用样式检测,那么在已达到所述传输长度的情况下终止所述传输;以及i)重复步骤d)-h)。
所属领域的技术人员通过以下图示、描述和权利要求书将容易了解本发明的其它技术优点。本申请案的各种实施例仅获得所陈述的优点中的一子组优点。没有哪一个优点对所述实施例来说是关键的。
附图说明
通过参考结合附图做出的以下描述可获得对本发明及其优点的更完整理解,附图中相同参考标号指示相同特征,且其中:
图1是展示例如微控制器的计算机系统内的典型DMA控制器的方框图;
图2是展示DMA控制器的第一实施例的细节的方框图;
图3是展示DMA控制器的第二实施例的细节的方框图;
图4是展示DMA控制器的第三实施例的细节的方框图;
图5是用于DMA控制器的初始化例行程序的流程图;以及
图6是用于DMA控制器的传递例行程序的流程图。
具体实施方式
如上所述,在一个实施例中,直接存储器存取控制器可包括用于从源向目的地地址传递数据的数据寄存器、样式寄存器、与数据寄存器和样式寄存器耦合的数据比较器,以及与比较器耦合的可操作以在比较器检测到数据寄存器与样式寄存器的匹配的情况下停止数据传递的控制单元。
直接存储器存取控制器可进一步包括用于将源或目的地地址与预定义结束地址比较的地址比较器。直接存储器存取控制器可进一步包括用于从数据和地址比较器的输出信号产生传输信号的结束的逻辑构件。样式寄存器可包括多个数据区段,且数据比较器可经控制以将选定的区段与数据寄存器比较。直接存储器存取控制器可进一步包括与数据寄存器耦合的多个比较器。直接存储器存取控制器可进一步包括与样式寄存器和数据寄存器耦合的多路复用器。直接存储器存取控制器可进一步包括用于控制多路复用器的控制单元。
如上所述,在另一实施例中,微控制器可包括中央处理单元、与中央处理单元耦合的总线、与总线耦合的存储器、与总线耦合的外围单元,以及与总线耦合的直接存储器存取控制器,其包括用于从源向目的地地址传递数据的数据寄存器、样式寄存器、与数据寄存器和样式寄存器耦合的数据比较器,以及与比较器耦合的可操作以在比较器检测到数据寄存器与样式寄存器的匹配的情况下停止数据传递的控制单元。
上文提到的直接存储器存取控制器可进一步包括用于将源或目的地地址与预定义结束地址比较的地址比较器。直接存储器存取控制器可进一步包括用于从数据和地址比较器的输出信号产生传输信号的结束的逻辑构件。样式寄存器可包括多个数据区段,且数据比较器可经控制以将选定的区段与数据寄存器比较。直接存储器存取控制器可进一步包括与数据寄存器耦合的多个比较器。直接存储器存取控制器可进一步包括与样式寄存器和数据寄存器耦合的多路复用器。直接存储器存取控制器可进一步包括用于控制多路复用器的控制单元。
如上所述,在又一实施例中,一种通过直接存储器存取控制器执行从源到目的地的多个数据的传输的方法包括步骤:a)确定是否使用了样式检测;b)存储源地址和目的地地址的开始地址;c)如果使用了样式检测,那么存储样式;否则存储传输长度;d)从源地址读取数据;e)将数据存储在目的地地址中;f)如果使用了样式检测,那么将数据与样式比较,且在匹配时终止传输;g)使源和目的地地址递增;h)如果没有使用样式检测,那么在已达到传输长度的情况下终止传输;以及i)重复步骤d)-h)。
此方法可进一步包括即使在使用了样式检测的情况下也使用步骤h)。可将多个数据与多个数据样式比较,且仅在所述多个数据与所述多个数据样式匹配的情况下才终止传输。所述多个数据样式可为循序数据样式。循序数据样式可包括连续数据序列。
参看图式,现在将描述本发明的示范性实施例。图1描绘例如微控制器的计算机系统内的DMA控制器的典型实施例。计算机系统100(比如,例如微控制器)大体上包括中央处理单元(CPU)110,其耦合到一个或一个以上总线系统。在图1中,展示示范性主总线140。通过此总线140,CPU 110可与多个外围装置180a...180n通信,所述外围装置例如是I/O端口、存储器;A/D和D/A转换器、定时器;脉冲宽度调制器等。此外,可提供专用存储器总线160以将CPU 110与主存储器120耦合。以标号130展示直接存储器存取控制器(DMA)。此DMA控制器130还与主总线140耦合以允许与此总线140耦合的装置之间的数据传递。另外,DMA单元也可通过额外总线170与主存储器120耦合。此外,DMA控制器130可从CPU 110接收多个控制信号150。此系统允许在与总线140耦合的任何装置180a...180n之间以及在所述装置180a...180n与存储器120之间或在存储器120内、在无需CPU 110的情况下由DMA控制器进行数据传递。通常仅需要CPU 110来初始化DMA控制器130。一旦DMA控制器130经编程,便在没有CPU 110的辅助的情况下进行适当的数据传递。CPU 110随后能够自由执行其它任务。
图2展示DMA控制器的更多细节。根据一个实施例,DMA控制器130包括至少一数据寄存器或锁存器210以及相关联的地址寄存器或锁存器240,所述两者均耦合到接收总线270和传输总线280。图2通过虚线指示接收总线270和传输总线280可为同一个总线,例如图1所示的总线140。然而在另一实施例中,DMA控制器130也可经配置以在两个不同总线之间通信。在此实施例中,接收总线270可为例如图1所示的总线140,且传输总线280可为图1所示的总线170。用于地址和数据的寄存器或锁存器210和240两者与这些总线耦合。或者,可提供用于传输和接收的单独寄存器。图2所示的单独地址寄存器240a和240b是有用的,因为源和目的地地址通常不同。数据寄存器210和传输和/或接收寄存器240a、240b可进一步与比较器耦合以确定数据或地址的匹配。
在DMA数据传递期间,DMA控制器130可经编程以将在源开始地址开始且在源结束地址结束的特定量的数据传递到目的地,所述目的地也在目的地开始地址开始且在目的地结束地址结束。为此,例如寄存器240a中加载有源开始地址,且寄存器240b中加载有目的地开始地址。DMA控制器130进一步接收待传递的数据区块的长度或源结束地址。如果使用源结束地址,那么将此地址加载到与比较器250耦合的相应寄存器240c中。或者,目的地结束地址或如上所述的数据区块的长度可用于确定传递的结束。一旦已进行此示范性初始化,那么适当的数据传递发生。
下文中解释使用单一总线140的传递。DMA控制器130将第一地址(存储在寄存器240a中的源开始地址)置于总线140上。此地址可在与总线140耦合的存储器或任何装置内。随后将相关联数据传递到数据寄存器210中。在以下步骤中,寄存器240a从总线140去耦,且寄存器240b与总线140耦合。或者,如果仅使用一个地址寄存器,那么此地址寄存器中加载有目的地开始地址。因此,目的地地址现在被置于总线140上,其寻址例如与总线140耦合的存储器或任何装置的相应目的地。随后,将存储在寄存器210中的数据传递到此目的地地址。随后使源地址寄存器240a和目的地地址寄存器240b递增,且重复所述过程直到源地址寄存器240a含有源结束地址为止。此传输结束可例如由比较器250检测,其对地址寄存器240a与寄存器240c的内容进行比较。
另外,DMA控制器130允许一旦已接收到例如预定义数据字节的特定样式时便停止传递的有条件传递。为此,DMA控制器130包括又一样式寄存器210b。在初始化后,此寄存器210b中加载有例如特定字节的样式。一旦比较器220检测到寄存器210a中加载的数据与样式寄存器210b之间的匹配,那么产生相应的信号230,其向DMA控制器130指示已达到传输的结尾。为了防止无至尽的传输,可另外使用地址比较器250,从而界定最大传递。
因此,根据此实施例的DMA控制器大体上允许两种不同类型的交易。第一交易定义为固定长度传输,其允许由DMA控制器传递经界定的数据区块。第二交易具有开放长度,且其长度由特定样式界定。举例来说,传输的结束可由特定符号界定。而且在另一实施例中,符号序列可界定传输的结束。因此,传输结束的更灵活的定义是可能的。举例来说,代替于单一字节,可使用两个字节的序列,例如回车(CR)换行(LF)序列。为此,可提供多个寄存器,其以相应序列编程。可以最大传递长度增强第二交易类型以避免无至尽的传递循环且因此提供额外安全性。
图3展示DMA控制器130的另一示范性实施例的特定寄存器。在此实施例中,提供源寄存器310和目的地地址寄存器320。此外,长度/最大长度寄存器330与可产生结束地址检测EndAddr的比较器380耦合。比较器380进一步与计数器370耦合。样式寄存器340与另一比较器350耦合,比较器350还与接收和传输适当数据D输入和D输出的数据寄存器360耦合。比较器350产生信号Match(匹配),所述信号可随后产生传输结束信号EofTrans。可提供多个样式寄存器340和相关联的比较器,如使用虚线由相应元件所指示。可提供寄存器与比较器之间的相应逻辑以允许不同类型的传输。举例来说,图3展示第一可控制驱动器385,其从比较器380接收信号EndAddr。驱动器385的输出与或门390的第一输入耦合。第二可控制反相器355从比较器350接收信号Match。驱动器355的输出与或门390的第二输入耦合。因此,或门390的输出提供传输结束信号EofTrans。
在第一模式中,驱动器355经控制以将比较器350从或门390去耦,从而在或门390的第二输入处产生恒定逻辑低信号,且驱动器385经控制以使比较器380与或门390耦合。寄存器310和320中加载有相应的源开始地址和目的地开始地址。寄存器330中加载有待传输的数据区块的长度,且计数器370重设为零。随后可开始数据传递。为此,将由寄存器310寻址的数据加载到寄存器360中且写入到寄存器320中所包含的地址。随后,将寄存器310和320递增所传输数据的大小。举例来说,如果数据寄存器是一字节宽的寄存器,那么将寄存器310和320递增1。如果数据寄存器是16位寄存器,那么将寄存器310和320递增2,依此类推。计数器370相应地递增。比较器380将计数器370的计数器值与寄存器330进行比较。重复数据传递,直到计数器值与寄存器330的内容匹配为止。如果达到此匹配,那么EndAddr信号变为逻辑高,且或门390的输出将变为高,从而指示传输结束EofTrans。因此,DMA控制器停止。
在第二模式中,驱动器385经控制以将比较器380从或门390去耦,从而在或门390的第一输入处产生恒定逻辑低信号,且驱动器355经控制以使比较器350与或门390耦合。在此模式中,源和目的地寄存器310和320中同样加载有相应开始地址。另外,样式寄存器340中加载有预定义样式。同样,开始DMA传递,且将与源寄存器相关联的第一数据加载到数据寄存器360中且将其与样式寄存器340比较。如果发生匹配,那么比较器350在其输出处产生高信号,其在或门390的输出处引起高信号且指示传输结束。否则,使寄存器310和3320递增,且传递继续,直到所传输数据与样式寄存器340之间的匹配发生为止。
在第三模式中,启动驱动器355和385两者,从而将比较器350和380两者与或门390耦合。在此模式中,寄存器310和320中同样加载有相应开始地址。此外,将最大长度值加载到寄存器330中,且将样式加载到寄存器340中。数据传递如上所述进行。然而,传输结束是由比较器350或380产生。在正常传输期间,比较器350将通过所传输数据与样式寄存器340之间的匹配来检测传输结束。然而如果由于错误或故障而使此数据从未出现,那么一旦已达到数据传输的最大长度比较器380将终止传输。
图4展示样式寄存器的另一实施例。在此实施例中,样式寄存器410具有32位的宽度,且因此由四个字节410a...410d组成。每一字节410a...410d与具有32个输入和8个输出的4∶1多路复用器420耦合。多路复用器420的输出线与比较器430耦合,比较器430将所述8个位与数据寄存器(未图示)的内容进行比较。提供控制单元440以控制多路复用器420。此实施例允许比较数据序列。在第一模式中,样式寄存器410中加载有预定义的32位样式。在数据传递的开始,多路复用器经控制以使寄存器410的第一字节410a与比较器430耦合。一旦与所传输数据字节的匹配发生,那么比较器将此匹配发信号通知控制单元440。控制单元440随后切换多路复用器420以使第二字节410b与比较器430耦合。如果DMA控制器传递的下一数据字节与第二字节410b匹配,那么控制单元再次切换多路复用器以允许所述下一字节与字节410c的比较。只有四个循序字节与寄存器410的内容匹配时,才产生传输结束信号。如果在比较最后的字节410d之前发生未中,那么将多路复用器420重设到第一字节410a以开始新的序列比较。单元可经编程以允许样式序列的任意长度。在此实施例中,例如可使用一字节序列、两字节序列、三字节序列或四字节序列。依据样式寄存器的大小,可实施任何序列长度。
在第二模式中,序列不得以连续次序发生。举例来说,可允许任意数目的中间字节。因此,如果在后面的字节中发生未匹配,那么多路复用器420将不被重设到第一字节410a。因此,如果样式寄存器例如以“0x64A8”编程,那么序列“0x68840AABC8”(带下划线的字节展示匹配)将触发传输结束信号。在又一实施例中,可使用多个比较器和一多字节寄存器来甚至允许非循序匹配。因此,假如样式内的所有字节均出现(即使其无序),那么将会产生传输结束信号。替代多个比较器,图4所示的配置也可用于通过每数据循环循序切换通过所有四个数据字节410a...410d来将每一字节410a...410d与每一所传输数据进行比较。控制单元可针对每一数据区段410a...410d设置相应的位。一旦所有的位已设置,那么可产生传输结束信号。可实施可能的比较的任何其它组合。
图5展示用于DMA控制器的初始化例行程序的实施例的流程图。在第一步骤510中,确定样式模式是否被使用。如果没有,那么例行程序分支到步骤520,其中存储源和目的地地址。在随后的步骤530中,通过结束地址或区块长度来确定传输的长度,随后例行程序结束。如果样式模式被使用,那么例行程序到达步骤540,其中设置源和目的地。随后在步骤550中,任选地设置传输的最大长度,且在步骤560中存储数据终止样式值。在步骤570中,设置样式模式,且初始化例行程序结束。
图6展示遵循图5所示的初始化例行程序的DMA传递例行程序的实施例的流程图。例行程序开始于步骤610中,其中读取开始地址下的源数据。在步骤620中将此数据写入到目的地地址。在步骤630中检查样式匹配模式是否已经设置。如果没有,那么使源地址和目的地地址递增,且在步骤660中使数据长度值递减。在步骤670中检查数据长度值是否为0。如果是,那么传递结束,如果否,那么例行程序返回到步骤610。如果样式模式已经设置,那么例行程序从步骤630分支到步骤650,在步骤650中检查数据是否与样式匹配。如果发生匹配,那么传递结束。否则,例行程序继续上述步骤640。
因此,本发明非常适合于实现所述目的且获得所提到的结果和优点以及其中固有的其它结果和优点。尽管已通过参考本发明的特定优选实施例来描绘、描述且界定本发明,但此类参考并不暗示对本发明的限制,且不应推断任何此限制。本发明能够具有所属领域的一般技术人员将想到的形式和功能上的相当多的修改、改动和等效物。本发明的所描绘和描述的优选实施例仅是示范性的,且不详尽说明本发明的范围。因此,希望本发明仅由所附权利要求书的精神和范围限制,从而提供对所有方面中的等效物的完全认定。

Claims (20)

1.一种直接存储器存取控制器,其包括:
数据寄存器,其用于从源向目的地地址并行传递多个数据,其中所述多个数据被连续载入所述数据寄存器中;
样式寄存器;
数据比较器,其与所述数据寄存器和所述样式寄存器耦合且用于将所述数据寄存器的内容与所述样式寄存器的内容相比较;以及
控制单元,其与所述数据比较器耦合,其中所述控制单元在所述数据比较器检测到所述数据寄存器与所述样式寄存器匹配的情况下停止数据传递。
2.根据权利要求1所述的直接存储器存取控制器,其进一步包括用于将所述源或所述目的地地址与预定义结束地址进行比较的地址比较器。
3.根据权利要求2所述的直接存储器存取控制器,其进一步包括用于从所述数据和地址比较器的输出信号中产生传输结束信号的逻辑构件。
4.根据权利要求1所述的直接存储器存取控制器,其中所述数据寄存器具有n位大小,所述样式寄存器包括多个具有所述n位大小的数据区段,且所述数据比较器经控制以将选定的数据区段与所述数据寄存器进行比较。
5.根据权利要求1所述的直接存储器存取控制器,其进一步包括与所述数据寄存器耦合的多个数据比较器。
6.根据权利要求4所述的直接存储器存取控制器,其进一步包括与所述样式寄存器的所述多个数据区段和所述数据比较器耦合的多路复用器。
7.根据权利要求6所述的直接存储器存取控制器,其进一步包括用于控制所述多路复用器的控制单元。
8.一种微控制器,其包括:
中央处理单元;
总线,其与所述中央处理单元耦合;
存储器,其与所述总线耦合;
外围单元,其与所述总线耦合;以及
用于从源向目的地并行传递数据的直接存储器存取控制器,其与所述总线耦合,所述直接存储器存取控制器包括:
数据寄存器,其用于从源向目的地地址传递多个数据,其中所述数据寄存器连续接收所述多个数据以用于并行传递;
样式寄存器;
数据比较器,其与所述数据寄存器和所述样式寄存器耦合;以及
控制单元,其与所述数据比较器耦合且所述控制单元在所述数据比较器检测到所述数据寄存器与所述样式寄存器匹配的情况下停止数据传递。
9.根据权利要求8所述的微控制器,其进一步包括用于将所述源或所述目的地地址与预定义结束地址进行比较的地址比较器。
10.根据权利要求9所述的微控制器,其进一步包括用于从所述数据和地址比较器的输出信号中产生传输结束信号的逻辑构件。
11.根据权利要求8所述的微控制器,其中所述数据寄存器具有n位大小,所述样式寄存器包括每一者具有所述n位大小的多个数据区段,且所述数据比较器经控制以将选定的数据区段与所述数据寄存器进行比较。
12.根据权利要求8所述的微控制器,其进一步包括与所述数据寄存器耦合的多个数据比较器。
13.根据权利要求11所述的微控制器,其进一步包括与所述样式寄存器的所述多个数据区段和所述数据比较器耦合的多路复用器。
14.根据权利要求13所述的微控制器,其进一步包括用于控制所述多路复用器的控制单元。
15.一种微控制器,其包括:
中央处理单元;
第一总线,其与所述中央处理单元耦合;
外围单元,其与所述第一总线耦合;
第二总线,其与所述中央处理单元耦合;
存储器,其与所述第二总线耦合;以及
直接存储器存取控制器,其与所述第一总线和所述第二总线耦合,所述直接存储器存取控制器包括:
n位数据寄存器,其用于从源向目的地地址传递多个n位数据,其中所述多个n位数据被连续载入所述数据寄存器中;
样式寄存器,其具有多个n位区段;
数据比较器,其与所述n位数据寄存器和所述样式寄存器的所述多个n位区段耦合;以及
控制单元,其与所述数据比较器耦合且可操作以在所述数据比较器检测到所述数据寄存器中接收的所述多个连续n位数据与所述样式寄存器的所述多个n位区段的内容匹配的情况下停止数据传递。
16.一种通过直接存储器存取控制器执行从源到目的地的多个数据的并行传输的方法,其包括步骤:
a)确定是否使用了样式检测;
b)存储源地址和目的地地址的开始地址;
c)当使用了所述样式检测时,那么存储样式;否则存储传输长度;
d)从所述源地址并行读取数据元;
e)将所述数据元并行存储在所述目的地地址中;
f)当使用了所述样式检测时,那么将所述数据元与所述样式比较,且在匹配时终止所述传输;
g)使所述源和目的地地址递增;
h)当所述样式检测未被使用时,那么在已达到所述传输长度的情况下终止所述传输;以及
i)重复步骤d)-h)直到当使用所述样式检测时所述匹配发生或达到所述传输长度。
17.根据权利要求16所述的方法,其进一步包括即使在使用了所述样式检测的情况下也使用步骤h)。
18.根据权利要求16所述的方法,其中所述样式长于所述数据元且将所述多个数据元与所述样式的经选择部分进行比较,且只有在所述多个数据元与所述样式匹配的情况下才终止所述传输,其中所述经选择部分经由多路复用器选择。
19.根据权利要求18所述的方法,其中所述多路复用器最初选择所述样式的第一部分且在第一匹配时选择所述样式的下一个部分。
20.根据权利要求19所述的方法,其中如果在所述第一匹配之后,所述数据元与所述样式的下一个部分的比较产生未匹配,重设所述多路复用器以选择所述样式的所述第一部分。
CN2007800313803A 2006-08-24 2007-08-16 直接存储器存取控制器 Active CN101506785B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/466,915 2006-08-24
US11/466,915 US7721018B2 (en) 2006-08-24 2006-08-24 Direct memory access controller with flow control
PCT/US2007/076103 WO2008024670A2 (en) 2006-08-24 2007-08-16 Direct memory access controller

Publications (2)

Publication Number Publication Date
CN101506785A CN101506785A (zh) 2009-08-12
CN101506785B true CN101506785B (zh) 2012-04-25

Family

ID=39107543

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800313803A Active CN101506785B (zh) 2006-08-24 2007-08-16 直接存储器存取控制器

Country Status (5)

Country Link
US (1) US7721018B2 (zh)
EP (1) EP2095245B1 (zh)
KR (1) KR101158780B1 (zh)
CN (1) CN101506785B (zh)
WO (1) WO2008024670A2 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7934025B2 (en) * 2007-01-24 2011-04-26 Qualcomm Incorporated Content terminated DMA
DE102007029833B4 (de) * 2007-06-28 2019-03-28 Texas Instruments Deutschland Gmbh Mikrocontroller mit Datenmodifikationsmodul und System umfassend ein Datenmodifikationsmodul
US8184503B2 (en) * 2009-05-18 2012-05-22 Magnetrol International, Incorporated Process measurement instrument with target rejection
KR101579592B1 (ko) * 2009-12-03 2015-12-22 삼성전자 주식회사 직접 메모리 액세스 컨트롤러 및 직접 메모리 액세스 컨트롤러의 동작 방법
US8635412B1 (en) * 2010-09-09 2014-01-21 Western Digital Technologies, Inc. Inter-processor communication
US9164886B1 (en) 2010-09-21 2015-10-20 Western Digital Technologies, Inc. System and method for multistage processing in a memory storage subsystem
JPWO2012039143A1 (ja) * 2010-09-21 2014-02-03 三菱電機株式会社 Dmaコントローラ及びデータ読出装置
US9665371B2 (en) 2011-11-30 2017-05-30 Intel Corporation Providing vector horizontal compare functionality within a vector register
US10318291B2 (en) 2011-11-30 2019-06-11 Intel Corporation Providing vector horizontal compare functionality within a vector register
WO2013129031A1 (ja) * 2012-02-29 2013-09-06 三菱電機株式会社 データ転送装置、データ転送方法及びデータ転送プログラム
US9569384B2 (en) * 2013-03-14 2017-02-14 Infineon Technologies Ag Conditional links for direct memory access controllers
DE102013218305A1 (de) * 2013-08-30 2015-03-05 Dr. Johannes Heidenhain Gmbh Verfahren und Vorrichtung zum Synchronisieren einer Steuereinheit und mindestens einer zugeordneten Peripherieeinheit
FR3084179A1 (fr) * 2018-07-19 2020-01-24 Stmicroelectronics (Grenoble 2) Sas Acces direct en memoire

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0470030A2 (en) * 1990-08-02 1992-02-05 International Business Machines Corporation Fast memory power-on diagnostics using direct memory addressing
US5983289A (en) * 1996-09-11 1999-11-09 Oki Data Corporation Data transfer methods and controller for transferring data in blocks without crossing certain address boundaries
CN1258362A (zh) * 1997-05-30 2000-06-28 三洋电机株式会社 通信dma装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4161719A (en) * 1977-10-04 1979-07-17 Ncr Corporation System for controlling synchronization in a digital communication system
JPS5999525A (ja) * 1982-11-30 1984-06-08 Toshiba Corp Dma転送制御方式
JP2559394B2 (ja) * 1987-02-16 1996-12-04 株式会社日立製作所 通信制御装置
JP2745521B2 (ja) * 1988-02-23 1998-04-28 株式会社日立製作所 フレーム送信方法
CA2022073A1 (en) * 1989-10-11 1991-04-12 Arthur Jacob Heimsoth Apparatus and method for receiving serial communication status data with a dma controller
JPH0496163A (ja) 1990-08-08 1992-03-27 Nec Corp Dmaコントローラ
US5721954A (en) * 1992-04-13 1998-02-24 At&T Global Information Solutions Company Intelligent SCSI-2/DMA processor
US5463762A (en) * 1993-12-30 1995-10-31 Unisys Corporation I/O subsystem with header and error detection code generation and checking
JPH07262152A (ja) * 1994-03-24 1995-10-13 Hitachi Ltd コンピュータシステム
US6081852A (en) * 1996-04-26 2000-06-27 Texas Instruments Incorporated Packet data transferring system for autonomously operating a DMA by autonomous boot mode select signal wherein the DMA is enabled to at least one program control list
US5974480A (en) * 1996-10-18 1999-10-26 Samsung Electronics Co., Ltd. DMA controller which receives size data for each DMA channel
US6092116A (en) * 1996-12-11 2000-07-18 Lsi Logic Corporation DMA controller with response message and receive frame action tables
US6185620B1 (en) * 1998-04-03 2001-02-06 Lsi Logic Corporation Single chip protocol engine and data formatter apparatus for off chip host memory to local memory transfer and conversion
JP2000099452A (ja) * 1998-09-21 2000-04-07 Seiko Epson Corp Dma制御装置
JP3765931B2 (ja) * 1998-10-15 2006-04-12 富士通株式会社 バッファ制御方法及びバッファ制御装置
US6775693B1 (en) * 2000-03-30 2004-08-10 Baydel Limited Network DMA method
US20020027985A1 (en) * 2000-06-12 2002-03-07 Farrokh Rashid-Farrokhi Parallel processing for multiple-input, multiple-output, DSL systems
US20040015617A1 (en) * 2001-01-25 2004-01-22 Sangha Onkar S. Flexible network interfaces and flexible data clocking
JP2002342262A (ja) * 2001-05-11 2002-11-29 Fujitsu Ltd ダイレクトメモリアクセス制御装置およびダイレクトメモリアクセス制御方法
JP3900863B2 (ja) 2001-06-28 2007-04-04 シャープ株式会社 データ転送制御装置、半導体記憶装置および情報機器
US20030079118A1 (en) * 2001-10-19 2003-04-24 Felix Chow Bit synchronous engine and method
KR20050045201A (ko) * 2003-11-10 2005-05-17 삼성전자주식회사 직접 메모리 액세스 전송종료 방법 및 장치
US8185600B2 (en) * 2003-12-29 2012-05-22 Broadcom Corporation Programming system and method for a video network
JP4668645B2 (ja) * 2005-02-24 2011-04-13 パナソニック株式会社 Dmaコントローラ及びデータ転送制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0470030A2 (en) * 1990-08-02 1992-02-05 International Business Machines Corporation Fast memory power-on diagnostics using direct memory addressing
US5983289A (en) * 1996-09-11 1999-11-09 Oki Data Corporation Data transfer methods and controller for transferring data in blocks without crossing certain address boundaries
CN1258362A (zh) * 1997-05-30 2000-06-28 三洋电机株式会社 通信dma装置

Also Published As

Publication number Publication date
KR101158780B1 (ko) 2012-06-22
CN101506785A (zh) 2009-08-12
US7721018B2 (en) 2010-05-18
EP2095245B1 (en) 2016-12-21
EP2095245A2 (en) 2009-09-02
US20080126662A1 (en) 2008-05-29
WO2008024670A3 (en) 2008-05-29
WO2008024670A2 (en) 2008-02-28
KR20090042969A (ko) 2009-05-04

Similar Documents

Publication Publication Date Title
CN101506785B (zh) 直接存储器存取控制器
US8825966B2 (en) Reduced pin count interface
US4062059A (en) Information processing system
US7529862B2 (en) System for providing access of multiple data buffers to a data retaining and processing device
JP4773742B2 (ja) 2線チップ間インターフェース
JPH10326254A (ja) マイクロコントローラ・システムおよびインタフェース論理回路と通信するための方法
US9495178B2 (en) Electronics apparatus able to revise micro-program and algorithm to revise micro-program
KR20080080799A (ko) 메모리의 직렬 인터페이스 방법 및 장치
US20160364354A1 (en) System and method for communicating with serially connected devices
US8335871B2 (en) Memory system and method of driving the same
US6665757B1 (en) Communication interface having a master activating/deactivating a first signal with a clock signal after a predetermined time after a slave activating/deactivating the first signal
JPH04358252A (ja) ワークステーションおよびその構成方法
US6820197B2 (en) Data processing system having configurable components
KR100720145B1 (ko) 마스터 모듈, 기능 모듈과 이를 포함하는 전자 디바이스 및id데이터 설정방법
US7539807B2 (en) Method, apparatus and system for operating an expansion card according to a signaling voltage
CN101324868B (zh) 处理器与boot flash间的连接装置及实现方法
US5313610A (en) Direct memory access control device for use with a single n-bit bus with MOF the n-bits reserved for control signals and (n-m) bits reserved for data addresses
US20090037615A1 (en) Data transfer device, request issuing unit, and request issue method
JP2006126938A (ja) データ転送システム及びそのデータ転送方法
US5317700A (en) Program history for pipelined processor including temporary storage queues for storing branch addresses
KR0146090B1 (ko) 영상처리용 고속데이타 전송장치
JP2008040575A (ja) シリアルデータ転送装置及びシリアルデータ転送方法
JP3096405B2 (ja) コンピュータシステム
US6813671B1 (en) Controller for hot swapping of extended I/O device to computer body
JP7312127B2 (ja) 制御装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant