CN100442258C - 动态使用直接存储器存取信道的方法与仲裁电路 - Google Patents

动态使用直接存储器存取信道的方法与仲裁电路 Download PDF

Info

Publication number
CN100442258C
CN100442258C CNB2006101722585A CN200610172258A CN100442258C CN 100442258 C CN100442258 C CN 100442258C CN B2006101722585 A CNB2006101722585 A CN B2006101722585A CN 200610172258 A CN200610172258 A CN 200610172258A CN 100442258 C CN100442258 C CN 100442258C
Authority
CN
China
Prior art keywords
dma
memory access
direct memory
channel
controller
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
CNB2006101722585A
Other languages
English (en)
Other versions
CN1996272A (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.)
Via Technologies Inc
Original Assignee
Via Technologies 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 Via Technologies Inc filed Critical Via Technologies Inc
Publication of CN1996272A publication Critical patent/CN1996272A/zh
Application granted granted Critical
Publication of CN100442258C publication Critical patent/CN100442258C/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

Abstract

本发明提供一种动态使用直接存储器存取信道的方法与仲裁电路。其中一第一装置的多个直接存储器存取控制器利用至少一直接存储器存取信道以指引该第一装置的所述直接存储器存取控制器与一第二装置间的数据传输。首先,允许所述直接存储器存取控制器的任一个自由运用任一该至少一直接存储器存取信道。接着,若部分直接存储器存取控制器同时请求使用一目标信道时,则让该部分直接存储器存取控制器共用该目标信道,其中该目标信道为该至少一直接存储器存取信道其中之一。本发明所述的动态使用直接存储器存取信道的方法与仲裁电路,在系统硬件或软件设计上都便利许多,避免了系统资源的浪费。

Description

动态使用直接存储器存取信道的方法与仲裁电路
技术领域
本发明是有关于直接存储器存取(Direct Memory Access,DMA),特别是有关于直接存储器存取控制器(DMA controller)与直接存储器存取信道(DMA channel)。
背景技术
直接存储器存取技术可加速一装置与一存储器之间的数据传输,因为通过直接存储器存取进行数据传输时不需中央处理单元的介入。直接存储器存取技术让计算机的子系统在不依靠中央处理单元介入的情况下,直接存取系统存储器以进行读取或写入动作。目前已有许多硬件装置支持此项功能,例如磁盘控制器、影像处理接口卡、网络卡以及音效卡。
由于直接存储器存取技术让不同速度的周边装置直接相通讯,因而使中央处理单元省去了在周边装置间的暂存器间来回复制数据片段并重新写入他方暂存器的大量负担,因此可让中央处理单元可专注地处理其他事项,而提高系统效能。
图1显示一支持直接存储器存取的计算机系统100的区块图。计算机系统100包括微处理器102、系统存储器104、以及周边装置106与108。周边装置106与108可为磁盘控制器、影像处理接口卡、网络卡、音效卡以及需要大量数据传输的芯片,例如网络交换器芯片。微处理器102包含一中央处理单元110,一控制系统存储器104的数据传输的系统存储器控制器114,一控制微处理器102的内部总线的内部总线控制器112,以及多个通过直接存储器存取信道(DMA channel)0~N控制直接存储器存取的数据传输过程的直接存储器存取控制器(DMA controller)0~N。直接存储器存取控制器通过直接存储器存取信道以指引系统存储器104与周边装置106、108间的数据传输。
于图1中,每一直接存储器存取控制器有一专属的直接存储器存取信道。举例来说,直接存储器存取控制器0仅能使用其专属的直接存储器存取信道0,直接存储器存取控制器1仅能使用其专属的直接存储器存取信道1,而直接存储器存取控制器N仅能使用其专属的直接存储器存取信道N。每一直接存储器存取信道耦接于双方的直接存储器存取控制器间,以让两者沟通数据如何传输。举例来说,直接存储器存取信道0连接于微处理器102的直接存储器存取控制器0与周边装置106的直接存储器存取控制器130之间,而直接存储器存取信道N连接于微处理器102的直接存储器存取控制器N与周边装置108的直接存储器存取控制器134之间。每一装置可以包含多个直接存储器存取控制器,如微处理器102与周边装置106。于直接存储器存取信道上传输的有两种信号:直接存储器存取请求信号(DREQ)与直接存储器存取应答信号(DACK),以协调数据的传输。
图2为以直接存储器存取控制器实行直接存储器存取的方法200的流程图。首先于步骤202中,装置的驱动程序于该装置包含的多个直接存储器存取控制器中选择一直接存储器存取控制器,以供数据传输。由于每一直接存储器存取控制器含有对应的多个组态暂存器,在启动数据传输前,必须先于步骤204中事先设定直接存储器存取控制器的组态暂存器。典型的组态暂存器包括一用以储存数据来源与数据储存目标的起始地址的地址暂存器,一用以计算已传输数据位数的计数暂存器,以及一指示单一传输模式(single mode)或要求传输模式(demand mode)的传输模式暂存器。接着于步骤206中决定数据传输方向以进行读取或写入动作。直接存储器存取控制器接着于步骤208中经由直接存储器存取信道发送或接收直接存储器存取请求信号DREQ或直接存储器存取应答信号DACK。当数据传输完成时,装置于步骤210中发出中断(interrupt)信号通知中央处理单元,于是中央处理单元便可检查所进行的直接存储器存取动作是已经成功执行或执行失败。
然而,由于每一直接存储器存取控制器有一专属的直接存储器存取信道,因此直接存储器存取信道不能由直接存储器存取控制器所共用。若两个以上的直接存储器存取控制器尝试在同时运用同一直接存储器存取信道,则在直接存储器存取信道上传送的信号会相混淆,导致信号传输的错误。再者,由于系统中仅包含有限数目的直接存储器存取信道,若系统中有多个装置均包含多个直接存储器存取控制器,则这些直接存储器存取控制器将需求太多个直接存储器存取信道,因而实际可使用直接存储器存取信道的装置将减少,进而造成系统资源的浪费。
发明内容
有鉴于此,本发明提供一种动态使用直接存储器存取(DirectMemory Access,DMA)信道的方法,以解决已知技术存在的问题。其中一第一装置的多个直接存储器存取控制器(DMA controller)利用至少一直接存储器存取信道,(DMA channel)以指引该第一装置的所述直接存储器存取控制器与一第二装置间的数据传输。首先,允许所述直接存储器存取控制器的任一者自由运用任一该至少一直接存储器存取信道。接着,若部分直接存储器存取控制器同时请求使用一目标信道时,则让该部分直接存储器存取控制器共用该目标信道,其中该目标信道为该至少一直接存储器存取信道其中之一。
本发明更提供一种动态使用直接存储器存取信道的仲裁电路,所述仲裁电路耦接于一第一装置的多个直接存储器存取控制器(DMAcontroller)与至少一直接存储器存取信道(DMA channel)间。其中所述直接存储器存取控制器利用该至少一直接存储器存取信道以指引该第一装置的所述直接存储器存取控制器与一第二装置间的数据传输。该直接存储器存取仲裁电路包括一直接存储器存取控制器仲裁模块与一直接存储器存取信道选取电路。该直接存储器存取控制器仲裁模块耦接至所述直接存储器存取控制器,用以自同时请求使用一目标信道的部分直接存储器存取控制器中选取一信道占有者,以让该信道占有者使用该目标信道,其中该目标信道为该至少一直接存储器存取信道其中之一。该直接存储器存取信道选取电路耦接于该直接存储器存取控制器仲裁模块及该至少一直接存储器存取信道之间,用以让该信道占有者动态地连接至并使用该目标信道。
本发明所述的动态使用直接存储器存取信道的方法与仲裁电路,在系统硬件或软件设计上都便利许多,避免了系统资源的浪费。
附图说明
图1为一支持直接存储器存取的计算机系统的方块图;
图2为传统方式下以直接存储器存取控制器实行直接存储器存取的方法的流程图;
图3为依据本发明动态使用直接存储器存取信道的直接存储器存取仲裁电路的连接关系示意图;
图4为依据本发明以直接存储器存取控制器进行直接存储器存取动作的方法的流程图;
图5为依据本发明的直接存储器存取仲裁电路的方块图;
图6为本发明选取使用目标信道的信道占有者的方法的流程图,其中该方法为直接存储器存取控制器仲裁模块所执行;
图7为本发明让信道占有者使用目标信道的方法的流程图,其中该方法为直接存储器存取信道选取电路所执行。
具体实施方式
为了让本发明的上述和其他特征和优点能更明显易懂,下文特举多个较佳实施例,并配合所附图示,作详细说明如下:
图3为依据本发明动态使用直接存储器存取信道的直接存储器存取仲裁电路302的连接关系示意图。直接存储器存取仲裁电路302内含于一装置300,并耦接于多个直接存储器存取控制器304与至少一直接存储器存取信道306之间。装置300可为图1的微处理器102,其运用直接存储器存取信道306与多个周边装置进行通讯。多个直接存储器存取控制器304包含直接存储器存取控制器0~N。直接存储器存取信道306则包括直接存储器存取信道0~M。其中直接存储器存取信道的数目M可以不同于或小于直接存储器存取控制器的数目N。直接存储器存取仲裁电路302可以让直接存储器存取控制器304的任一个自由运用任一直接存储器存取信道306。若部分直接存储器存取控制器304同时请求使用一目标信道时,则直接存储器存取仲裁电路302可让所述直接存储器存取控制器共用该目标信道,其中该目标信道为直接存储器存取信道306其中之一。
图4为依据本发明以直接存储器存取控制器进行直接存储器存取动作的方法400的流程图。于步骤402中,自多个备用的直接存储器存取仲裁方针中选择其一,以供直接存储器存取仲裁电路302运用。由于此时直接存储器存取信道并非专属于单一直接存储器存取控制器,多个直接存储器存取控制器可能同时请求使用同一直接存储器存取信道。此被要求使用的直接存储器存取信道,于后文中称之为目标信道。接着,直接存储器存取仲裁电路302必须于步骤402中依据所选取的直接存储器存取仲裁方针选择一直接存储器存取控制器作为使用一目标信道的信道占有者。该直接存储器存取仲裁方针可能为严格优先级(strict-priority)方针、循环赛(round robin)方针或为被动(passive)方针。于严格优先级方针下,同时请求使用同一目标信道的直接存储器存取控制器中被授予最高优先级者将被选取为信道占有者,且信道占有者获准使用该目标信道直至其数据传输结束为止。于循环赛方针下,同时请求使用同一目标信道的直接存储器存取控制器轮流被选取为该信道占有者,以分享该目标信道。于被动方针下,则由与装置300通过直接存储器存取信道306互通数据的第二装置,自同时请求使用同一目标信道的直接存储器存取控制器中选取该信道占有者,以通过该目标信道导引与该第二装置间的数据传输。
装置300接着于步骤404中自其拥有的多个直接存储器存取控制器304中选择用来与第二装置作数据传输的直接存储器存取控制器。由于每一直接存储器存取控制器含有对应的多个组态暂存器,在启动数据传输前,必须先于步骤406中事先设定直接存储器存取控制器的组态暂存器。典型的组态暂存器包括一用以储存数据来源与数据储存目标的起始地址的地址暂存器,一用以计算已传输数据位数的计数暂存器,以及一指示单一传输模式(singlemode)或要求传输模式(demand mode)的传输模式暂存器。接着于步骤408中决定数据传输方向以及进行读取或写入动作。由于于本发明中,直接存储器存取信道不再专属于单一直接存储器存取控制器,因此装置300必须于步骤410中,依据信道占有者所要求使用的目标信道,将信道占有者表示的直接存储器存取控制器耦接至其目标信道。信道占有者接着于步骤412中经由目标信道发送或接收直接存储器存取请求信号DREQ或直接存储器存取应答信号DACK。当数据传输完成时,装置300于步骤414中发出中断信号通知中央处理单元,于是中央处理单元便可检查所进行的直接存储器存取动作是已经成功执行或执行失败。
图5为依据本发明的动态使用直接存储器存取信道的直接存储器存取仲裁电路302的方块图。直接存储器存取仲裁电路302耦接于装置300的多个直接存储器存取控制器304与至少一直接存储器存取信道306间。虽然直接存储器存取控制器304包括直接存储器存取控制器0~N,但为简化图示与说明,图5中仅绘出一直接存储器存取控制器0。同样地,直接存储器存取信道306包括直接存储器存取信道0~M,但为简化图示与说明,图5中仅绘出作为目标信道的直接存储器存取信道。直接存储器存取仲裁电路302包括一直接存储器存取控制器仲裁模块502及一直接存储器存取信道选取电路504。直接存储器存取控制器仲裁模块502自同时请求使用一目标信道的部分直接存储器存取控制器304中选取一信道占有者,以让该信道占有者使用该目标信道。直接存储器存取信道选取电路504则让该信道占有者动态地连接至并使用该目标信道。直接存储器存取仲裁电路302尚包括一直接存储器存取方针暂存器506及多个信道选取暂存器508。直接存储器存取方针暂存器506用以储存于步骤402中由多个备用的直接存储器存取仲裁方针中所选取的合适的直接存储器存取仲裁方针。多个信道选取暂存器508则用以储存多个信道选择设定值,每一信道选择设定值表示所述直接存储器存取控制器304中的一所请求使用的直接存储器存取信道(即目标信道)。
图6为选取使用目标信道的信道占有者的方法600的流程图,其中方法600为直接存储器存取控制器仲裁模块502所执行。首先,直接存储器存取控制器仲裁模块502于步骤602中自所有直接存储器存取控制器304接收使用直接存储器存取信道的请求。接着于步骤604中,直接存储器存取控制器仲裁模块502依据事先选取的直接存储器存取仲裁方针,从请求同一直接存储器存取信道的直接存储器存取控制器304中选取一信道占有者。若直接存储器存取控制器0与直接存储器存取控制器1皆同时向直接存储器存取控制器仲裁模块502发送信道请求信号510,则直接存储器存取控制器仲裁模块502会检查信道选取暂存器508中储存的信道选取设定值,以确定是否直接存储器存取控制器0与直接存储器存取控制器1皆同时请求同一目标信道。若直接存储器存取控制器0与直接存储器存取控制器1请求不同的目标信道,则直接存储器存取控制器仲裁模块502可分别指派予直接存储器存取控制器0与直接存储器存取控制器1各自的目标信道。然而,若直接存储器存取控制器0与直接存储器存取控制器1同时请求同一个目标信道,则直接存储器存取控制器仲裁模块502必须依据直接存储器存取仲裁方针暂存器506中储存的直接存储器存取仲裁方针,自直接存储器存取控制器0与直接存储器存取控制器1中选取其一作为目标信道的信道占有者。
假设于步骤604中,直接存储器存取控制器0与直接存储器存取控制器1争取同一目标信道,且直接存储器存取控制器0被选取为信道占有者。直接存储器存取控制器仲裁模块502接着于步骤606中向作为信道占有者的直接存储器存取控制器0发送信道允准信号512。直接存储器存取控制器仲裁模块502接着于步骤608中向直接存储器存取信道选取电路504发送信道占有者的直接存储器存取控制器编号514。信道占有者所发出的直接存储器存取请求信号(DREQ)亦被直接存储器存取控制器仲裁模块502转送至直接存储器存取信道选取电路504。
当直接存储器存取信道选取电路504接收信道占有者的直接存储器存取控制器编号514后,直接存储器存取信道选取电路504会将信道占有者与其目标信道相耦接,因此信道占有者可以运用目标信道传送或接收来自他方的直接存储器存取请求信号(DREQ)与直接存储器存取应答信号(DACK)以及数据传输。图7为让信道占有者使用目标信道的方法700的流程图,其中方法700为直接存储器存取信道选取电路504所执行。于步骤702中,首先直接存储器存取信道选取电路504自直接存储器存取控制器仲裁模块502接收信道占有者的直接存储器存取控制器编号514。接着于步骤704中,直接存储器存取信道选取电路504依据信道选取暂存器508中储存的信道选择设定值,以决定信道占有者的目标信道为哪一个直接存储器存取信道,并将信道占有者与目标信道相耦接。接着于步骤706中,信道占有者便可经由直接存储器存取信道发送直接存储器存取请求信号(DERQ)516。
于目标信道另一端的第二装置接着会以直接存储器存取应答信号(DACK)518回应直接存储器存取请求信号(DERQ)516,因此直接存储器存取信道选取电路504在经由目标信道接收直接存储器存取应答信号(DACK)518后(步骤708),便将该直接存储器存取应答信号(DACK)518以直接存储器存取应答信号520转送至信道占有者(步骤710)。当数据传输结束后,信道使用者的直接存储器存取控制器0于图6的步骤610中向直接存储器存取控制器仲裁模块502发送一信道使用完毕信号522(如图5中所示)。接着,直接存储器存取控制器仲裁模块502于图6的步骤612中检查是否还有其他直接存储器存取控制器请求同一目标信道。若有,则直接存储器存取控制器仲裁模块502回到图6的步骤604,继续选择另一要求使用目标信道的直接存储器存取控制器,作为目标信道的信道占有者。由于此时直接存储器存取控制器1仍等待使用同一目标信道,因此直接存储器存取控制器仲裁模块502便选取直接存储器存取控制器1作为目标信道的信道占有者。
本发明所提供的一种动态使用直接存储器存取信道的方法,是由一直接存储器存取仲裁电路耦接于多个直接存储器存取控制器与多个直接存储器存取信道间。该直接存储器存取仲裁电路包括一直接存储器存取控制器仲裁模块,用以自同时请求使用一目标信道的部分直接存储器存取控制器中选取一信道占有者,以让该信道占有者使用该目标信道。该直接存储器存取仲裁电路亦包括一直接存储器存取信道选取电路,用以让该信道占有者动态地连接至并使用该目标信道。由于装置的任一直接存储器存取控制器可以动态耦接至任一直接存储器存取信道,因此无论在系统硬件或软件设计上都便利许多。
以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神和范围内,可在此基础上做进一步的改进和变化,因此本发明的保护范围当以本申请的权利要求书所界定的范围为准。
附图中符号的简单说明如下:
102:微处理器
104:系统存储器
106、108:周边装置
110:中央处理单元
112:内部总线控制器
114:系统存储器控制器
120、122、124、130、132、134:直接存储器存取控制器
300:装置
302:直接存储器存取仲裁电路
304:直接存储器存取控制器0~N
306:直接存储器存取信道0~M
310:直接存储器存取控制器0
502:直接存储器存取控制器仲裁模块
504:直接存储器存取信道选取电路
506:直接存储器存取方针暂存器
508:信道选取暂存器

Claims (13)

1.一种动态使用直接存储器存取信道的方法,其特征在于,一第一装置的多个直接存储器存取控制器利用至少一直接存储器存取信道以指引该第一装置的所述直接存储器存取控制器与一第二装置间的数据传输,该动态使用直接存储器存取信道的方法包括下列步骤:
允许所述直接存储器存取控制器的任一个自由使用任一该至少一直接存储器存取信道;以及
若部分直接存储器存取控制器同时请求使用一目标信道,则让该部分直接存储器存取控制器共用该目标信道,其中该目标信道为该至少一直接存储器存取信道其中之一。
2.根据权利要求1所述的动态使用直接存储器存取信道的方法,其特征在于,更包括储存多个信道选择设定值,每一信道选择设定值表示所述直接存储器存取控制器中的一所请求使用的直接存储器存取信道。
3.根据权利要求2所述的动态使用直接存储器存取信道的方法,其特征在于,更包括:
自多个直接存储器存取仲裁方针中选取合适的直接存储器存取仲裁方针;
自所述直接存储器存取控制器接收使用该目标信道的请求;
检查所述信道选择设定值,以决定是否部分所述直接存储器存取控制器同时请求使用同一目标信道;
若部分所述直接存储器存取控制器同时请求使用同一目标信道,则依据所选取的直接存储器存取仲裁方针,自争取同一目标信道的直接存储器存取控制器中选择一信道占有者;
若仅有所述直接存储器存取控制器其中之一请求使用该目标信道,则指派请求该目标信道的直接存储器存取控制器为信道占有者;以及
批准该信道占有者使用该目标信道的请求。
4.根据权利要求3所述的动态使用直接存储器存取信道的方法,其特征在于,所述直接存储器存取仲裁方针中包括下列其一:
一严格优先级方针,于该严格优先级方针下,同时请求使用同一目标信道的直接存储器存取控制器中被授予最高优先级者被选取为该信道占有者,且该信道占有者获准使用该目标信道直至其数据传输结束为止;
一循环赛方针,于该循环赛方针下,同时请求使用同一目标信道的直接存储器存取控制器轮流被选取为该信道占有者,以分享该目标信道;以及
一被动方针,于该被动方针下,由该第二装置自同时请求使用同一目标信道的直接存储器存取控制器中选取该信道占有者,以通过该目标信道导引直接存储器存取控制器与该第二装置间的数据传输。
5.根据权利要求2所述的动态使用直接存储器存取信道的方法,其特征在于,更包括:依据所述信道选择设定值,动态地连接请求使用所述直接存储器存取信道的所述直接存储器存取控制器与所述直接存储器存取信道。
6.根据权利要求3所述的动态使用直接存储器存取信道的方法,其特征在于,更包括:依据该信道占有者的信道选择设定值,耦接该信道占有者与该目标信道。
7.根据权利要求6所述的动态使用直接存储器存取信道的方法,其特征在于,更包括:
经由该目标信道,向该第二装置发送信道占有者的直接存储器存取请求信号;
经由该目标信道,从该第二装置接收一直接存储器存取应答信号;以及
将该直接存储器存取应答信号传递予该信道占有者。
8.一种动态使用直接存储器存取信道的仲裁电路,其特征在于,所述仲裁电路耦接于一第一装置的多个直接存储器存取控制器与至少一直接存储器存取信道间,其中所述直接存储器存取控制器利用该至少一直接存储器存取信道以指引该第一装置的所述直接存储器存取控制器与一第二装置间的数据传输,该动态使用直接存储器存取信道的仲裁电路包括:
一直接存储器存取控制器仲裁模块,耦接至所述直接存储器存取控制器,用以自同时请求使用一目标信道的部分直接存储器存取控制器中选取一信道占有者,以让该信道占有者使用该目标信道,其中该目标信道为该至少一直接存储器存取信道其中之一;以及
一直接存储器存取信道选取电路,耦接于该直接存储器存取控制器仲裁模块及该至少一直接存储器存取信道之间,用以让该信道占有者动态地连接至该目标信道并使用该目标信道。
9.根据权利要求8所述的动态使用直接存储器存取信道的仲裁电路,其特征在于,更包括多个信道选取暂存器,耦接至该直接存储器存取信道选取电路,用以储存多个信道选择设定值,每一信道选择设定值表示所述直接存储器存取控制器中的一所请求使用的直接存储器存取信道。
10.根据权利要求9所述的动态使用直接存储器存取信道的仲裁电路,其特征在于,更包括一直接存储器存取方针暂存器,耦接至该直接存储器存取控制器仲裁模块,用以储存由多个直接存储器存取仲裁方针中所选取的合适的直接存储器存取仲裁方针,而该直接存储器存取控制器仲裁模块自所述直接存储器存取控制器接收使用该目标信道的请求,检查所述信道选择设定值以决定是否部分所述直接存储器存取控制器同时请求使用同一目标信道,当部分所述直接存储器存取控制器同时请求使用同一目标信道时,则依据所选取的直接存储器存取仲裁方针自争取同一目标信道的直接存储器存取控制器中选择一信道占有者,当仅有所述直接存储器存取控制器其中之一请求使用该目标信道,则指派请求该目标信道的直接存储器存取控制器为信道占有者。
11.根据权利要求10所述的动态使用直接存储器存取信道的仲裁电路,其特征在于,所述直接存储器存取仲裁方针中包括下列其一:
一严格优先级方针,于该严格优先级方针下,该直接存储器存取控制器仲裁模块自同时请求使用同一目标信道的直接存储器存取控制器中选取被授予最高优先级者为该信道占有者,且该信道占有者获准使用该目标信道直至其数据传输结束为止;
一循环赛方针,于该循环赛方针下,该直接存储器存取控制器仲裁模块轮流选取同时请求使用同一目标信道的直接存储器存取控制器为该信道占有者,以分享该目标信道;以及
一被动方针,于该被动方针下,由该第二装置自同时请求使用同一目标信道的直接存储器存取控制器中选取该信道占有者,以通过该目标信道导引直接存储器存取控制器与该第二装置间的数据传输。
12.根据权利要求9所述的动态使用直接存储器存取信道的仲裁电路,其特征在于,该直接存储器存取信道选取电路依据所述信道选择设定值,动态地连接请求使用所述直接存储器存取信道的所述直接存储器存取控制器与所述直接存储器存取信道。
13.根据权利要求12所述的动态使用直接存储器存取信道的仲裁电路,其特征在于,该直接存储器存取信道选取电路经由该目标信道向该第二装置发送信道占有者的直接存储器存取请求信号,经由该目标信道从该第二装置接收一直接存储器存取应答信号,并将该直接存储器存取应答信号传递予该信道占有者。
CNB2006101722585A 2006-02-24 2006-12-30 动态使用直接存储器存取信道的方法与仲裁电路 Active CN100442258C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/361,737 US7689732B2 (en) 2006-02-24 2006-02-24 Method for improving flexibility of arbitration of direct memory access (DMA) engines requesting access to shared DMA channels
US11/361,737 2006-02-24

Publications (2)

Publication Number Publication Date
CN1996272A CN1996272A (zh) 2007-07-11
CN100442258C true CN100442258C (zh) 2008-12-10

Family

ID=38251369

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101722585A Active CN100442258C (zh) 2006-02-24 2006-12-30 动态使用直接存储器存取信道的方法与仲裁电路

Country Status (3)

Country Link
US (1) US7689732B2 (zh)
CN (1) CN100442258C (zh)
TW (1) TWI326829B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008210280A (ja) * 2007-02-27 2008-09-11 Fujitsu Ltd 半導体装置及びdmaコントローラ
US8325633B2 (en) * 2007-04-26 2012-12-04 International Business Machines Corporation Remote direct memory access
US8417842B2 (en) * 2008-05-16 2013-04-09 Freescale Semiconductor Inc. Virtual direct memory access (DMA) channel technique with multiple engines for DMA controller
JP5173707B2 (ja) * 2008-09-26 2013-04-03 キヤノン株式会社 情報処理装置、及びその制御方法
KR101202738B1 (ko) * 2008-12-22 2012-11-20 한국전자통신연구원 멀티 채널 데이터 전송 장치
US8767757B1 (en) * 2012-02-15 2014-07-01 Applied Micro Circuits Corporation Packet forwarding system and method using patricia trie configured hardware
US9128925B2 (en) * 2012-04-24 2015-09-08 Freescale Semiconductor, Inc. System and method for direct memory access buffer utilization by setting DMA controller with plurality of arbitration weights associated with different DMA engines
US8732352B1 (en) * 2013-01-25 2014-05-20 Apple Inc. Dynamic allocation of buffers for direct memory access
US20140281099A1 (en) * 2013-03-14 2014-09-18 Broadcom Corporation METHOD, SYSTEM, AND COMPUTER PROGRAM PRODUCT FOR CONTROLLING FLOW OF PCIe TRANSPORT LAYER PACKETS
CN103714027B (zh) * 2014-01-10 2016-04-20 浪潮(北京)电子信息产业有限公司 一种直接内存存取控制器的数据传输方法及装置
US9558528B2 (en) * 2015-03-25 2017-01-31 Xilinx, Inc. Adaptive video direct memory access module
US10374805B2 (en) 2015-07-20 2019-08-06 Intel Corporation Technologies for trusted I/O for multiple co-existing trusted execution environments under ISA control
JP6900691B2 (ja) * 2017-02-07 2021-07-07 オムロン株式会社 制御装置および通信装置
CN111101763B (zh) * 2018-10-26 2021-02-19 珠海格力电器股份有限公司 一种电机驱动电路、控制方法、驱动芯片
JP7192427B2 (ja) * 2018-11-19 2022-12-20 オムロン株式会社 制御システムおよび制御装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN88100962A (zh) * 1987-03-27 1988-12-14 国际商用机器公司 具有可编程序直接存贮器存取控制的计算机系统
US4811306A (en) * 1982-11-09 1989-03-07 Siemens Aktiengesellschaft DMA control device for the transmission of data between a data transmitter
US5251312A (en) * 1991-12-30 1993-10-05 Sun Microsystems, Inc. Method and apparatus for the prevention of race conditions during dynamic chaining operations
US5561820A (en) * 1994-11-30 1996-10-01 International Business Machines Corporation Bridge for interfacing buses in computer system with a direct memory access controller having dynamically configurable direct memory access channels
CN1368686A (zh) * 2000-09-27 2002-09-11 德克萨斯仪器股份有限公司 具dma控制器的数字信号处理器多个部件间的信号组交换

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5781799A (en) * 1995-09-29 1998-07-14 Cirrus Logic, Inc. DMA controller arrangement having plurality of DMA controllers and buffer pool having plurality of buffers accessible to each of the channels of the controllers
US5774680A (en) * 1995-12-11 1998-06-30 Compaq Computer Corporation Interfacing direct memory access devices to a non-ISA bus
US6425021B1 (en) * 1998-11-16 2002-07-23 Lsi Logic Corporation System for transferring data packets of different context utilizing single interface and concurrently processing data packets of different contexts
US7062591B2 (en) * 2001-09-28 2006-06-13 Dot Hill Systems Corp. Controller data sharing using a modular DMA architecture

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4811306A (en) * 1982-11-09 1989-03-07 Siemens Aktiengesellschaft DMA control device for the transmission of data between a data transmitter
CN88100962A (zh) * 1987-03-27 1988-12-14 国际商用机器公司 具有可编程序直接存贮器存取控制的计算机系统
US5251312A (en) * 1991-12-30 1993-10-05 Sun Microsystems, Inc. Method and apparatus for the prevention of race conditions during dynamic chaining operations
US5561820A (en) * 1994-11-30 1996-10-01 International Business Machines Corporation Bridge for interfacing buses in computer system with a direct memory access controller having dynamically configurable direct memory access channels
CN1368686A (zh) * 2000-09-27 2002-09-11 德克萨斯仪器股份有限公司 具dma控制器的数字信号处理器多个部件间的信号组交换

Also Published As

Publication number Publication date
CN1996272A (zh) 2007-07-11
TWI326829B (en) 2010-07-01
US7689732B2 (en) 2010-03-30
US20070204073A1 (en) 2007-08-30
TW200732919A (en) 2007-09-01

Similar Documents

Publication Publication Date Title
CN100442258C (zh) 动态使用直接存储器存取信道的方法与仲裁电路
US4720784A (en) Multicomputer network
JP2622654B2 (ja) 複数要求間の仲裁方法およびその装置
JPS61109164A (ja) バス制御方法
JP2009508247A (ja) バス調停に関する方法及びシステム
JP2561759B2 (ja) マルチプロセッサシステムおよびそのメッセージ送受信制御装置
JPH0844681A (ja) 複数の処理装置により共用される資源の集中管理
EP0518527A2 (en) Method of reducing wasted bus bandwidth in a computer system
EP3469480B1 (en) Method and apparatus for uniform memory access in a storage cluster
EP0675444B1 (en) Multiple arbitration scheme
US8213461B2 (en) Method of designating slots in a transmission frame for controlling transmission of data over an interconnect coupling a plurality of master units with a plurality of slave units
CN104854845B (zh) 使用高效的原子操作的方法和装置
KR920009449B1 (ko) 공통 버스제어방법 및 시스템
US5708784A (en) Dual bus computer architecture utilizing distributed arbitrators and method of using same
EP1895429B1 (en) Transmission control device and transmission control method
EP0742520A2 (en) Information processing system for performing mutual control of input/output devices among a plurality of clusters
CA1178685A (en) Data transmitting link
US7043533B2 (en) Method and apparatus for arbitrating master-slave transactions
JP2000244585A (ja) バスインタフェース回路
JPH0844661A (ja) 情報処理装置
JPH0844662A (ja) 情報処理装置
JPH08278953A (ja) 計算機システムにおける排他制御方式
JPH08272754A (ja) マルチプロセッサシステム
KR100215572B1 (ko) 인터페이스 버퍼 제어 방법 및 장치
JP2752894B2 (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