发明名称 控制直接记忆体存取转移之方法及设备
摘要 本发明的一个目的为允许一CPU在直接记忆体存取(DMA)转移下谘询资料用以降低在DMA转移期间CPU的潜候时间(latency time)。一种用来控制DMA转移的设备10包含用来侦测一CPU是否要求存取已被DMA转移的资料之机构,及允许CPU藉由暂停执行中的DMA转移来谘询该资料之机构。
申请公布号 TWI259955 申请公布日期 2006.08.11
申请号 TW091103874 申请日期 2002.03.01
申请人 万国商业机器公司 发明人 上田真
分类号 G06F13/00 主分类号 G06F13/00
代理机构 代理人 蔡坤财 台北市中山区松江路148号11楼
主权项 1.一种控制一DMA(直接存取记忆体)控制器实施一资 料处理系统中的记忆体至记忆体DMA转移的方法,该 资料处理系统包括一主记忆体其经由一系统滙流 排连接至一CPU(中央处理单元),该方法至少包含以 下的步骤: 侦测步骤,其系用以侦测对于存取包括在一正被DMA 转移的资料块内之资料的一CPU要求;及 允许步骤,其系用以在该DMA转移的执行中,优先允 许该CPU存取该被要求的资料。 2.如申请专利范围第1项所述之方法,其中 该侦测步骤包含侦测该被要求的资料是否已经被 DMA转移;及 该允许步骤包含: 一第一步骤,其允许该CPU存取该被要求的资料,如 果该被要求的资料已被DMA转移的话;及 一第二步骤,其暂停该DMA转移用以优先允许该CPU存 取该被要求的资料,如果该被要求的资料尚未被DMA 转移的话。 3.如申请专利范围第2项所述之方法,其中该DMA控制 器包含: 一第一暂存器,用来贮存尚未被DMA转移的资料的数 目;及 一第二暂存器,用来贮存DMA贮存中之资料的位址; 及该侦测步骤包含: 比较该被要求的资料的位址与从该第一及第二暂 存器获得之尚未被DMA转移的资料的位址用以决定 是否相符。 4.如申请专利范围第2或3项所述之方法,其中该DMA 控制器被连接于该CPU与该系统滙流排之间,且该第 二步骤包含: 让该DMA控制器将该被要求的资料送至该CPU;及 重新开始被暂停的DMA转移。 5.如申请专利范围第2或3项所述之方法,其中该DMA 控制器经由该系统滙流排而被连接于该CPU与主记 忆体之间,且该第二步骤包含: 要求该CPU再次存取该尚未被DMA转移的资料; 暂停执行中之DMA转移用以DMA转移该被要求的资料 直到该CPU再度存取该资料为止;及 在该CPU存取该尚未被DMA转移的资料之后,重新开始 该被暂停的DMA转移。 6.一种控制在一资料处理系统中的记忆体至记忆 体DMA转移的设备,该资料处理系统包括一主记忆体 其经由一系统滙流排连接至一CPU,该设备至少包含 : 侦测机构,其系用以侦测对于存取包括在一正被DMA 转移的资料块内之资料的一CPU要求;及 允许机构件,其系用以在该DMA转移的执行中,优先 允许该CPU存取该被要求的资料。 7.如申请专利范围第6项所述之设备,其中该侦测机 构包括用以侦测该被要求的资料是尚未被DMA转移 的资料的机构及该允许机构包括: 优先地DMA转移该被要求的资料的机构;及 允许该CPU存取该已被DMA转移的资料的机构。 8.如申请专利范围第7项所述之设备,其更包含: 一第一暂存器,用来贮存尚未被DMA转移的资料的数 目;及 一第二暂存器,用来贮存DMA贮存中之资料的位址, 其中该侦测机构包括比较该被要求的资料的位址 与从该第一及第二暂存器获得之尚未被DMA转移的 资料的位址用以决定是否相符的机构。 9.如申请专利范围第6-8项中任何一项所述之设备, 其中该侦测机构及允许机构系被连接于该CPU与该 系统滙流排之间。 10.如申请专利范围第6-8项中任何一项所述之设备, 其中该侦测机构系被连接于该CPU与该系统滙流排 之间及该允许机构系经由该系统滙流排而被连接 于该CPU与该主记忆体之间。 11.如申请专利范围第10项所述之设备,其中该侦测 机构包含一缓冲记忆体,用来暂时贮存被侦测为尚 未被DMA转移的资料之资料。 12.如申请专利范围第6-8项中任何一项所述之设备, 其中一快取记忆体被连接于该CPU与该系统滙流排 之间。 图式简单说明: 第1(a)至1(d)图显示介于一主记忆体的记忆体位置 之间的一依据本发明的DMA转移控制的实施例。第1 (a)图显示一系统架构的例子,第1(b)图显示一用来 控制该DMA转移的讯号流,第1(c)图显示来自于一CPU 之存取要求讯号流,及第1(d)图显示由一DMA控制器 对于首先被CPU所要求的DMA转移资料而发出之讯号 流。 第2(a)图显示在第1(d)图所示的DMA转移完成之后该 被要求的资料被该DMA控制器从该主记忆体送至该 CPU,及第2(b)图显示被该CPU要求存取且从一快取或 该主记忆体被送至该CPU之该资料的流向。 第3图显示被第1(a)图所示的DMA控制器所控制之资 料块DB的一DMA转移的程序的例子。 第4图显示藉由第1(a)图所示的DMA控制器来DMA转移 一资料块DB的程序的一个例子。 第5(a)至5(d)图显示介于一主记忆体的记忆体位置 之间的一依据本发明的DMA转移控制的另一实施例 。第5(a)图显示一系统架构的例子,第5(b)图显示在 该DMA转移期间来自一CPU的一存取要求讯号流,第5(c )图显示当一DMA命中被侦测到时被该CPU要求的资料 的一位址讯号从一DMA命中侦测器转移至DMA控制器, 及第5(d)图显示由一DMA控制器所发出之一讯号流用 来要求CPU再次尝试存取该被要求的资料。 第6(a)图由该DMA控制器所发出的一讯号流,用以再 此存取该被要求的资料如第5(d)图所示般地被要求 时,用来指示该主记忆体藉由暂时停止该CPU的存取 来将该被要求的资料DMA转移至一快取或主记忆体, 第6(b)图显示在完成该被要求的资料的DMA转移之后 ,被该DMA控制器送至该CPU之经过DMA转移的该被要求 的资料的流向,及第6(c)图显示当一DMA命中没有被 侦测到时从该快取或主记忆体至该CPU之该被要求 的资料流。 第7图显示用来控制由示于第5(a)图中的DMA控制器 所实施的DMA转移的程序的一个例子。 第8(a)至第8(c)图显示介于一主记忆体的记忆体位 置之间的一依据本发明的DMA转移控制的另一实施 例。第8(a)图显示一系统架构的例子,第8(b)图显示 被DMA控制器送至一缓冲器之该被DMA转移的资料流, 第8(c)图显示一资料流其中该DMA命中侦测器将贮存 在第8(b)所示的该缓冲器内的资料转移至该CPU。 第9(a)至9(d)图显示一传统的DMA转移控制的实施例 。第9(a)图显示一系统架构的例子,第9(b)图显示用 来控制一DMA转移的讯号流,及第9(c)图显示从一DMA 控制器至一CPU的讯号流用来宣布该DMA转移已经完 成,及第9(d)图显示介于一CPU与一快取或主记忆体 之间的存取。 第10(a)图显示一将被DMA转移的资料块的例子,及第 10(b)图显示在该DMA控制器内的一转移计数器的数 値及一转移位址的位置资讯及每一资料的状态资 料。 第11图显示用示于第9(a)图所示的DMA控制器来控制 一DMA转移的程序的例子。 第12图显示用第9(a)图中的DMA控制器来实施一资料 块的DMA转移的程序的例子。
地址 美国