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

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

【技术实现步骤摘要】

本专利技术是有关于直接存储器存取(Dire ct 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与多个周边装置进行通讯。多本文档来自技高网
...

【技术保护点】
一种动态使用直接存储器存取信道的方法,其特征在于,一第一装置的多个直接存储器存取控制器利用至少一直接存储器存取信道以指引该第一装置的所述直接存储器存取控制器与一第二装置间的数据传输,该动态使用直接存储器存取信道的方法包括下列步骤:允 许所述直接存储器存取控制器的任一个自由使用任一该至少一直接存储器存取信道;以及若部分直接存储器存取控制器同时请求使用一目标信道,则让该部分直接存储器存取控制器共用该目标信道,其中该目标信道为该至少一直接存储器存取信道其中之一。

【技术特征摘要】
US 2006-2-24 11/361,737书所界定的范围为准。 附图中符号的简单说明如下102微处理器104系统存储器106、108周边装置110中央处理单元112内部总线控制器114系统存储器控制器120、122、124、130、132、134直接存储器存取控制器300装置302直接存储器存取仲裁电路304直接存储器存取控制器0~N306直接存储器存取信道0~M310直接存储器存取控制器0502直接存储器存取控制器仲裁模块 504直接存储器存取信道选取电路506直接存储器存取方针暂存器508信道选取暂存器权利要求1.一种动态使用直接存储器存取信道的方法,其特征在于,一第一装置的多个直接存储器存取控制器利用至少一直接存储器存取信道以指引该第一装置的所述直接存储器存取控制器与一第二装置间的数据传输,该动态使用直接存储器存取信道的方法包括下列步骤允许所述直接存储器存取控制器的任一个自由使用任一该至少一直接存储器存取信道;以及若部分直接存储器存取控制器同时请求使用一目标信道,则让该部分直接存储器存取控制器共用该目标信道,其中该目标信道为该至少一直接存储器存取信道其中之一。2.根据权利要求1所述的动态使用直接存储器存取信道的方法,其特征在于,更包括储存多个信道选择设定值,每一信道选择设定值表示所述直接存储器存取控制器中的一所请求使用的直接存储器存取信道。3.根据权利要求2所述的动态使用直接存储器存取信道的方法,其特征在于,更包括自多个直接存储器存取仲裁方针中选取合适的直接存储器存取仲裁方针;自所述直接存储器存取控制器接收使用该目标信道的请求;检查所述信道选择设定值,以决定是否部分所述直接存储器存取控制器同时请求使用同一目标信道;若部分所述直接存储器存取控制器同时请求使用同一目标信道,则依据所选取的直接存储器存取仲裁方针,自争取同一目标信道的直接存储器存取控制器中选择一信道占有者;若仅有所述直接存储器存取控制器其中之一请求使用该目标信道,则指派请求该目标信道的直接存储器存取控制器为信道占有者;以及批准该信道占有者使用该目标信道的请求。4.根据权利要求3所述的动态使用直接存储器存取信道的方法,其特征在于,所述直接存储器存取仲裁方针中包括下列其一一严格优先级方针,于该严格优先级方针下,同时请求使用同一目标信道的直接存储器存取控制器中被授予最高优先级者被选取为该信道占有者,且该信道占有者获准使用该目标信道直至其数据传输结束为止;一循环赛方针,于该循环赛方针下,同时请求使用同一目标信道的直接存储器存取控制器轮流被选取为该信道占有者,以分享该目标信道;以及一被动方针,于该被动方针下,由该第二装置自同时请求使用同一目标信道的直接存储器存取控制器中选取该信道占有者,以透过该目标信道导引与该第二装置间的数据传输。5.根据权利要求2所述的动态使用直接存储器存取信道的方法,其特征在于,更包括依据所述信道选择设定值,动态地连接请求使用所述直接存储器存取信道的所述直接存储器存取控制器与所述直接存储器存取信道。6.根据权利要求3所述的动态使用直接存储器存取信道的方法,其特征在于,更包括依据该信道占有者的信道选择设定值,耦接该信道占有者与该目标信道。7.根据权利要求6所述的动态使用直接存储器存取信道的方法,其特征在于,更包括经由该目标信道,向该第二装置发送信道占有者的直接存储器存...

【专利技术属性】
技术研发人员:陈国清陈泰成杜铭义汪立翔
申请(专利权)人:威盛电子股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1