一种外围设备间的数据传输装置和传输方法

文档序号:6457977阅读:187来源:国知局
专利名称:一种外围设备间的数据传输装置和传输方法
技术领域
本发明涉及数据传输,具体涉及一种外围设备间的数据传输装置和传输 方法。
背景技术
在含有中央处理器(CPU)的嵌入式系统中,为了提高存储器和CPU的使用 效率,通常采用直接存储器访问(Direct Memory Access, DMA)的方式进行数 据传输。在现有技术中,每一个外围设备都有其对应的DMA控制器,DMA控 制器一般集成在南桥中。当将数据从第 一外围设备传输到第二外围设备中时, 其所要经过的传输路径很长。在读周期,第一外围设备的DMA控制器通过连 接在南桥和该第 一外围设备间的总线获取该第 一外围设备中的数据,并将该 数据通过另 一连接在南桥和北桥间的总线传送到北桥中,然后由北桥将数据 通过连接在北桥和存储器间的总线将数据暂存到存储器中;在写周期,暂存 在存储器中的数据经总线被传送到北桥,该数据再由北桥通过总线传送给南 桥中的第二外围设备的画A控制器,该第二外围设备的DMA控制器将该数据 存储到第二外围设备中。因此,通过DMA方式进行外围设备间的数据传输时,由于数据是暂存在 存储器中的,其数据传输的路径很长。若能找到一种缩短数据传输路径的装 置和方法,将会大大提高数据传输的效率和性能。发明内容因此,根据上述的总结,从后续的说明以及所附的权利要求书连同附图, 此发明的目的、特征以及优点将对本领域技术人员而言变得很明显。此发明提供一种控制数据传输的装置和方法,用于外围设备间的传输, 以防止上述的缺点。在一实施例中,本发明提供一种控制数据传输的装置,用于控制第一外 围设备与第二外围设备间的数据传输。该控制数据传输的装置包括第 一 控制单元、第二控制单元和暂存单元。第一控制单元用于根据需要传输的数据的 读取信息从第一外围设备中读取该数据。第二控制单元用于根据该需要传输 的数据的存储信息将该需要传输的数据存储到第二外围设备中。暂存单元, 连接于第一控制单元和第二控制单元,并与该第一控制单元和第二控制单元 集成在同一芯片中,用于暂存该第一控制单元读取的需要传输的数据,并将 该需要传输的数据传送给第二控制单元。在另一实施例中,本发明还提供了一种控制数据传输的方法,用于控制第一外围设备与第二外围设备间的数据传输。该方法包括根据读取信息从 第一外围设备中读取需要传输的数据;将该需要传输的数据暂存于暂存单元 中;以及根据存储信息将该暂存单元中的该需要传输的数据存储到第二外围 设备。本发明提供的控制数据传输的装置和方法,通过将外围设备间传输的数 据暂存在暂存单元中,避免了由于数据暂存在存储器中而带来的传输路径过 长的问题,提高了数据传输的速率和性能。


图1是传统的包含画A控制器的计算机系统架构图。 图2是采用DMA方式将1/0设备中的数据传输到硬盘中时的流程图。 图3是本发明第一较佳实施例中外围设备间的数据传输装置的计算机系 统架构图。图4是本发明第二较佳实施例中外围设备间的数据传输装置的计算机系 统架构图。图5是采用改进后的外围设备间的数据传输方法将1/0设备中的数据传 输到硬盘中时的流程图。
具体实施方式
将通过下列实施例描述本发明。然而应可了解到下列实施例并非绝对为 本发明的限制,而是本发明的典型的实施。在概述本发明的各种态样之后,将详细参照如图中所示的本发明的叙述。 虽连同这些图描述本发明,绝无意图限制本发明至在此发明的实施例。相反 地,所有替代、变更以及等效者应落在由所附的权利要求书所界定的本发明的精神与范畴内。应注意到在此呈现的图示仅供图解本发明的实施例的特定特征与态样。 从在此提供的叙述可理解得到实现多种替代实施例与实施而不悖离本发明的 精神与范畴。亦应注意到在此呈现的图示并非按比例绘制。某些构件的比例并非与其 它构件的比例成正比,以提供详尽的描述以及强调本发明。参照图1,这是传统的包含DMA控制器的计算机系统架构图。计算机系 统架构图包含了中央处理器101、北桥103、存储器105、南桥107以及相关 的外围设备。为了使图示清晰,外围设备只标出了第一外围设备109和第二 外围设备111,需要传输的数据是从第一外围设备109传送到第二外围设备 111中。外围设备包含了硬盘在内的各种输入输出(1/0)设备。中央处理器101用于生成描述数据读写操作的描述符(descriptor),该 描述符包含了读取描述符和存储描述符。其中,该读取描述符中记录了需要 传输的数据的类型,长度,以及需要从第一外围设备109中的读取的数据的 地址信息等,主要用于描述读周期的数据传输操作;该存储描述符中记录了 需要传输的数据的类型,长度,以及在第二外围设备111中存储的数据的地 址信息等,主要用于描述在写周期的数据传输操作。北桥103连接于中央处理器101,用于传输描述符和需要传输的数据。 存储器105连接于中央处理器101和北桥103,中央处理器101将生成的描 述符信息写入存储器105中,北桥103将需要传输的数据暂存到存储器105 中,因此,存储器105用于存储描述符以及需要传输的数据等信息。南桥107中包含了连接单元121、第一 DMA控制器123和第二 DMA控制 器125。连接单元121连接于北桥103,主要用于将需要传输的数据传输到北 桥103,并接收北桥103传送的描述符。第一 画A控制器123连接在连接单 元121和第一外围设备109之间,当连接单元Ul接收到读取描述符时,会 将该读取描述符传送给第一 DMA控制器12 3,第一 DMA控制器123对此读取 描述符进行解析,并将第一外围设备109中相应地址的该需要传输的数据传 送给连接单元121。第二 DMA控制器125连接在连接单元121和第二外围设 备lll之间,当连接单元121接收到存储描述符时,会将该存储描述符传送 给第二固A控制器125,第二 DMA控制器125对此存储描述符进行解析,并 将第二外围设备111中需要传输的数据传输到连接单元121。为了能更清晰地表示以DMA方式进行数据传输的过程,以将数据由I/O 设备传输到硬盘为例,图2是采用画A方式将输入输出设备中的数据传输到 硬盘中时的流程图。在步骤201,中央处理器101将此读写操作的读取描述 符写入到存储器105中。在步骤203,存储器105中存储的读取描述符将被 通过北桥103传输到连接单元121,连接单元121会将该读取描述符传输给 第一DMA控制器123。然后,第一画A控制器123对此读取描述符进行解析(步 骤205)以确定需要传输的数据的类型和长度,以及应该从第一外围设备109, 即此实施例中的I/O设备读取数据的地址等信息。在步骤207,根据解析出 来的读取描述符的信息,第一外围设备109,即此实施例中的1/0设备中需 要传输的数据被第一 画A控制器123通过连接单元121和北桥103传输到存 储器105中。在步骤209,第一 簡A控制器123判断是否已经完成数据传输 工作。如果还未完成,返回到步骤207;如果数据传输已经完成,进入到步 骤211。在步骤211,中央处理器101再将对应于此读写操作的存储描述符写 入到存储器中105。在步骤213,存储器中105存储的存储描述符将被通过北 桥103传输到连接单元121,连接单元121会将该读取描述符传输给第二 DMA 控制器125。然后,第二DMA控制器125对此存储描述符进行解析(步骤215) 以确定需要传输的数据的类型和长度,以及该数据应存储到第二外围设备 111,即此实施例中的硬盘的地址等信息。在步骤217,根据解析出来的存储 描述符的信息,该需要传输的数据通过北桥103和连接单元121被第二 DMA 控制器125传输到第二外围设备111,即此实施例中的硬盘中。在步骤219, 第二 DMA控制器125判断是否已经完成数据传输工作。如果还未完成,返回 到步骤217;如果数据传输已经完成,该工作流程结束,数据以DMA方式中 被从I/O设备传输到了硬盘中。由此流程图可以看出,数据传输的路径相当 长,若能缩短数据传输的路径,将可以大大提高了数据传输的速率和性能。图3是本发明第一较佳实施例中外围设备间的数据传输装置的计算机系 统架构图。计算机系统架构图包含了中央处理器301、北桥303、存储器305、 南桥307以及相关的外围设备。为了使图示清晰,外围设备只标出了第一外 围设备309和第二外围设备311,需要传输的数据是从第一外围设备309传 送到第二外围设备311中。中央处理器301用于生成描述数据读写操作的描述符,该描述符包含了 读取描述符和存储描述符。其中,该读取描述符中记录了需要传输的数据的类型,长度,以及需要从第一外围设备309中的读取的数据的地址信息等, 主要用于描述读周期的数据传输操作;该存储描述符中记录了需要传输的数 据的类型,长度,以及在第二外围设备311中存储的数据的地址信息等,主 要用于描述在写周期的数据传输操作。北桥303连接于中央处理器301,用于传输描述符和数据信息。存储器 105连接于中央处理器301和北桥303,中央处理器101将生成的描述符信息 写入存储器305中,如果数据并不是在外围设备间简单传输,北桥303会将 该数据传输到存储器305中,因此,存储器305用于存储描述符及数据等信 自南桥307中包含了接收单元308、第一 DMA控制器327和第二 DMA控制 器329。接收单元308连接于北桥303,主要用于接收北桥303传送的读取描 述符和存储描述符,并对该读取描述符和存储描述符进行解析,以得到需要 传输的数据的类型,长度,从第一外围设备309中的读取的数据的地址以及 在第二外围设备311中存储的数据的地址等信息。如果数据并不是在外围设 备间简单传输,接收单元308将该数据传输到北桥303。接收单元308包含了连接单元321、第一解析单元323和第二解析单元 325。连接单元321通过外部总线连接于北桥303,用于接收中央处理器301 写入到存储器305中的读取描述符和存储描述符。第一解析单元323连接于 连接单元321,用于接收从连接单元321传送过来的读取描述符,并对该读 取描述符进行解析,以得到该需要传输的数据的读取信息,例如,需要读取 的数据的类型、长度以及从外围设备中的读取的数据的地址信息等。第二解 析单元325连接于连接单元321,用于接收从连接单元3n传送过来的存储 描述符,则对该存储描述符进行解析,以得到该需要传输的数据的存储信息, 例如,需要存储的数据的类型、长度以及在外围设备中存储的数据的地址信 息等。第一控制单元327连接于第一解析单元323,用于根据解析出来的该数 据的读取信息控制从第一外围设备309中读取的需要传输的数据的传输。第 二控制单元329连接于第二解析单元325,用于根据解析出来的该数据的存 储信息控制将需要传输的数据存储到第二外围设备311中。暂存单元331连 接于第一控制单元327和第二控制单元329之间,当此数据只是用于外围设 备间的传输时,第一控制单元327将需要传输的数据暂存到暂存单元331中,第二控制单元329将暂存在暂存单元331中的数据传输到第二外围设备311 中。如果数据不仅仅是用于外围设备间的传输,则在读周期,第一控制单元 327将数据传输到第一解析单元323,第一解析单元323将数据传输到连接单 元321,连接单元321将数据传送给北桥303,数据最终由北桥303传送给存 储器305。比如,需要传输的数据为图像的数据,需要进行图像处理,此时, 数据就会由第一外围设备309经第一控制单元327,第一解析单元323,连接 单元321和北桥303,最后暂存在存储器305中;而在写周期,暂存在存储 器305中的数据会经过北桥303、连接单元321、第二解析单元325以及第二 控制单元329传送到第二外围设备311中。也就是说,当数据仅在外围设备 间传输时,需要被传输的数据被暂存在了暂存单元331中,而不是暂存在存 储器中。存储器305是与中央处理器301相连的,当需要将数据进行处理时,传 统的将数据暂存于存储器中的方法是比较适用的。但如果数据只是简单地在 外围设备间传输,传统的将数据暂存在存储器中将会带来不必要的时间延时。 由于技术的进步,将暂存单元与控制单元集成在同一芯片上的技术已经相当 成熟,因此,采用此方法来实现外围设备间的数据传输,具有很好的传输效 率,将大大简化读写操作的工作流程。参照图4,这是本发明第二较佳实施例中外围设备间的数据传输装置的 计算机系统架构图。计算机系统架构图包含了中央处理器401、北桥403、存 储器405、南桥407以及相关的外围设备。为了使图示清晰,外围设备只标 出了第一外围设备409和第二外围设备411,需要传输的数据是从第一外围 设备409传送到第二外围设备411中。中央处理器401用于生成描述数据读 写操作的描述符,与传统的描述符不同,该描述符不再分为读取描述符和存 储描述符,而是由系统软件将这两个描述符改写为读写描述符,该读写描述 符记录了需要传输的数据的类型、长度、需要从第一外围设备409中的读取 的数据的地址信息以及在第二外围设备411中存储的数据的地址信息等。该 读写描述符合并了原来读取描述符和存储描述符中重复的数据信息,可以更 简化地描述该读写操作。北桥403连接于中央处理器401,用于传输读写描 述符和数据信息。存储器405连接于中央处理器401和北桥403,中央处理 器401将生成的读写描述符信息写入存储器405中,如果数据并不是在外围设备间简单传输,北桥403会将该数据传输到存储器405中,因此,存储器 405用于存储描述符及数据等信息。南桥407中包含了接收单元408、第一控制器427和第二控制器429。接 收单元408连接于北桥403,主要用于接收北桥403传送的读写描述符,并 对该读写描述符进行解析,以得到需要传输的数据的类型、长度、从第一外 围设备409中的读取的数据的地址以及在第二外围设备411中存储的数据的 地址等信息。如果数据并不是在外围设备间简单传输,接收单元408将该数 据传输到北桥403。接收单元408包含了连接单元421解析单元423。连接单元421通过外 部总线连接于北桥403,以接收中央处理器401写入到存储器405中的读写 描述符。解析单元423连接于连接单元421,用于接收从连接单元421传送 过来的读写描述符,并对该读写描述符进行解析,以得到该需要传输的数据 的读取和存储信息,例如,需要传输的数据的类型、长度、从第一外围设备 409中的读取的数据的地址信息以及在第二外围设备411中存储的数据的地 址信息等等。第一控制单元427连接于解析单元423,用于从解析单元"3接收读取 信息,并根据解析出来的该数据的读取信息控制从第一外围设备409中读取 的需要传输的数据的传输。第二控制单元429连接于解析单元423,用于从 解析单元423接收存储信息,以根据解析出来的该数据的存储信息控制将需 要传输的数据存储到第二外围设备311中。暂存单元431连接于第一控制单元427和第二控制单元429之间,当此 数据只是用于外围设备间的传输时,第一控制单元427将需要传输的数据暂 存到暂存单元431中,第二控制单元429将暂存在暂存单元331中的数据传 输到第二外围设备411中。如果数据不仅仅是用于外围设备间的传输,则在 读周期,第一控制单元427将数据传输到解析单元423,解析单元423将数 据传输到连接单元421,连接单元421将数据传送给北桥403,数据最终由北 桥403传送给存储器405,比如,需要传输的数据为图像的数据,需要进行 图像处理,此时,数据就会由第一外围设备409经第一控制单元427 、解析 单元423、连接单元421和北桥403,最后暂存在存储器405中;而在写周期, 暂存在存储器405中的数据会经过北桥403、连接单421、解析单元423以及 第二控制单元429传送到第二外围设备411中。采用软件改写描述符的方法,可以节省一个解析单元,并且连接单元421可直接将描述符传输到唯一的一个解析单元423中,省略了判断应传输给哪 个解析单元的过程,即节省了芯片面积又提高了传输速度。而在另一实施例中,接收单元408、第一控制单元427 、暂存单元431以 及第二控制单元429是集成在另一独立的芯片中,而不是南桥407上。在一 实施例中,是将接收单元408集成在南桥407上,第一控制单元427 、暂存 单元4 31以及第二控制单元429是集成在另 一独立的芯片中。为了能与传统的DMA数据传输方式作对比,再次以将数据由1/0设备传 输到硬盘为例,图5是采用改进后的外围设备间的数据传输方法将1/0设备 中的数据传输到硬盘中时的流程图,采用的计算机系统架构如图4所述。在步骤501,中央处理器401将此读写操作的读写描述符写入到存储器 405中,该读写描述符合并了原来的读取描述符和存储描述符,包含了数据 传输所需要的必要信息。在步骤503,存储器405中存储的读写描述符将被 通过北桥403传输到接收单元408中的连接单元421,连接单元421会将该 读写描述符传输给解析单元423。然后,接收单元408中的解析单元对 此描述符进行解析(步骤505)以得到该需要传输的数据的读取和存储信息, 例如,需要传输的数据的类型、长度、从第一外围设备409中的读取的数据 的地址信息以及在第二外围设备411中存储的数据的地址信息等等。在步骤 507,解析单元123根据解析出来的描述符的信息,判断此数据传输的类型, 当此数据并不是用于外围设备间的传输时,步骤进入到508,执行传统的面A 操作。当此数据为外围设备间传输时,如果此周期为读操作,解析单元423 将读取信息传输到第一控制单元427,流程进入到步骤509;如果此周期为写 操作,解析单元423将读取信息传输到第二控制单元429,流程进入到步骤 511。在步骤509,第一外围设备409,即此实施例中的1/0设备中的数据被 第一控制单元427传送到了暂存单元431中。在步骤511,第一控制单元427 判断是否已经完成数据传输工作。如果还未完成,返回到步骤509;如果数 据传输已经完成,进入到步骤513。在步骤513,第二控制单元429将暂存单 元431中的数据传输到第二外围设备,即此实施例的硬盘中。在步骤515, 第二控制单元429判断是否已经完成数据传输工作。如果还未完成,返回到 步骤515;如果数据传输已经完成,该工作流程结束,1/0设备中的数据被传 输到了硬盘中。由此流程图可以看出,由于数据暂存在了暂存单元431中,数据传输的路径被缩短,减小了由于传输路径过长而带来的时延,这将大大 提高数据传输的速率和性能。上述说明并非意图为穷举的或将本发明限制在所发明的精确形式。有鉴 于上述的教示,可有明显的变更与变化。在这点上,讨论过的实施例是选择 并描述以提供本发明的原理以及其实际应用的最佳解释,借此使本领域普通种变更。所有此种变更与变化是在本发明的范围内,其是以所附的权利要求 书根据其应法律上与公平上应拥有的宽度加以解读为准。以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任 何本领域技术人员,在不脱离本发明的精神和范围内,可在此基础上做进一 步的改进和变化,因此本发明的保护范围当以本申请的权利要求书所界定的 范围为准。
权利要求
1.一种控制数据传输的装置,用于第一外围设备与第二外围设备间的数据传输,其特征在于,包括第一控制单元,用于根据需要传输的数据的读取信息从所述第一外围设备中读取该需要传输的数据;第二控制单元,用于根据该需要传输的数据的存储信息将所述需要传输的数据存储到所述第二外围设备中;以及暂存单元,连接于所述第一控制单元和第二控制单元,并与该第一控制单元和第二控制单元集成在同一芯片中,用于暂存该第一控制单元读取的所述需要传输的数据,并将所述需要传输的数据传送给该第二控制单元。
2. 根据权利要求1所述的控制数据传输的装置,其特征在于,还包含了 接收单元,连接于所述第一控制单元和第二控制单元,用于接收描述符,并对该描述符进行解析,以得到该需要传输的数据的所述读取信息和所述存 储信息。
3. 根据权利要求2所述的控制数据传输的装置,其特征在于,所述接收 单元包含了连接单元,连接于外部总线,用于接收所述描述符,该描述符包含了读 取描述符和存储描述符;第一解析单元,连接于该连接单元和该第一控制单元,用于对该读取描述符进行解析,以得到该需要传输的数据所述的读取信息;以及第二解析单元,连接于该连接单元和该第二控制单元,用于对该存储描述符进行解析,以得到该需要传输的数据所述的存储信息。
4. 根据权利要求2所述的控制数据传输的装置,其特征在于,所述接收 单元包含了连接单元,连接于外部总线,用于/妾收所述描述符,该描述符为读写描 述符^ 以及解析单元,连接于该连接单元、该第一控制单元和该第二控制单元,用 于对该读写描述符进行解析,以得到该需要传输的数据所述的读取信息和需要传输的数据所述的存储信息。
5. 根据权利要求1所述的控制数据传输的装置,其特征在于,所述外围设备种类包含了输入输出设备和硬盘的任意组合。
6. —种控制数据传输的方法,用于芯片中,以控制第一外围设备与第二外围设备间的数据传输,其特征在于,包含根据读取信息从第 一 外围设备中读取需要传输的数据;将所述需要传输的数据暂存于该芯片中的暂存单元;以及根据存储信息将该暂存单元中的该需要传输的数据存储到该第二外围设备。
7. 根据权利要求6所述的控制数据传输的方法,其特征在于,还包含了 接收描述符,该描述符包含了读耳又描述符和存储描述符。
8. 根据权利要求7所述的控制数据传输的方法,其特征在于,还包含了 对该读取描述符进行解析,以得到该需要传输的数据所述的读取信息;以及对该存储描述符进行解析,以得到该需要传输的数据所述的存储信息。
9. 根据权利要求6所述的控制数据传输的方法,其特征在于,还包含了 接收读写描述符,并对该读写描述符进行解析,以得到该需要传输的数据的所述的读取信息和所述的存储信息。
10. 根据权利要求6所述的控制数据传输的方法,其特征在于,所述外 围设备种类包含了输入输出设备和硬盘的任意组合。
全文摘要
本发明为一种控制数据传输的装置和方法,用于控制外围设备间数据的传输。该装置包含了两个控制单元和一暂存单元,该控制单元和暂存单元集成在同一芯片上。当数据只是在外围设备间传输时,第一控制单元将需要传输的数据由第一外围设备暂存到暂存单元中,再由第二控制单元将需要传输的数据直接从该暂存单元存储到第二外围设备中。本发明所提供的控制外围设备间数据传输的装置和方法,数据传输的路径比较短,避免了传统方法中因传输路径过长所带来的时延等问题。
文档编号G06F13/30GK101261611SQ200810005698
公开日2008年9月10日 申请日期2008年2月15日 优先权日2008年2月15日
发明者侯舒志 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1