包报头预载的方法与装置和使用所述方法的系统的制作方法

文档序号:7945159阅读:96来源:国知局
专利名称:包报头预载的方法与装置和使用所述方法的系统的制作方法
技术领域
本发明涉及一种包处理,特别涉及一种包报头预载的方法与装置。
背景技术
因特网日益普及,各种不同的应用也随之迅速发展,而许多团队也相继投入于提升因特网的数据传输性能的研究。在不同的使用场合中,数据传输时所允许使用的包长度 不尽相同,且包含多种包数据运算处理程序,如检查、拆解、组合、搜索、内容比对、转递等程 序。随着家用网络、校园网络和企业网络等网络应用的带宽需求急剧上升和大量的包数据 传输,包的传输性能以及包的运算处理技术发展也日益受到重视。在网络包数据应用中,为确保其服务质量,因而对包传输有一些相关的要求。例 如,在网络语音服务的应用中,包迟延会造成回音与颤音。当包迟延时,人耳就可以分辨出 有回音出现。好的网络传输环境与包数据处理性能需确保包迟延低于150毫秒。人耳能接 受的声音迟延大约是150毫秒到400毫秒。超过400毫秒的迟延会造成声音质量恶劣而无 法接听。因此,除了加强网络传输质量外,各类型包的传送时机也需加以适当管理。例如, 依缓急程度标示所述包的处理优先顺序,使随后的网络设备能够依其服务特性的需求而加 以处理。随着网络传输速度不断提高且需要同时处理语音传输以及多媒体传输的包信息, 为提升处理的性能,多种技术和方法被提出。例如,系统芯片设计厂商致力于提高中央处 理单元的运算时钟、加大高速缓冲存储器空间或在系统中使用专门处理包数据的运算处理 器。然而,上述的方式也随之提高了成本和功率损耗。因此产业界需要一种以低成本的方 式而能提高包传输速度的方法。

发明内容
本发明的包报头预载方法与装置在中央处理单元执行下载一包报头数据之前,预 先将所述包报头数据下载至一包报头寄存器中以加速所述包报头数据的处理速度。本发明的一实施例揭示一种包报头预载装置,所述包报头预载装置包含至少一包 检测器、至少一包报头寄存器和至少一数据调度器。所述至少一包检测器用以监测至少一 包直接存储器存取控制器将至少一包存储至一主存储器的动作。所述至少一数据调度器用 以将所述至少一包的报头数据从所述主存储器读出且寄存于所述至少一包报头寄存器。本发明的另一实施例揭示一种包报头预载方法。所述方法包含下列步骤监测至 少一包直接存储器存取控制器将至少一包存储至一主存储器的动作;下载所述至少一包的 报头数据至一包报头寄存器中;以及如果在一设定时间内,一中央处理单元希望读取所述 至少一包的报头数据,那么由所述包报头寄存器提供所述至少一包的报头数据。本发明的一实施例揭示一种系统,其包含一媒体存取控制、一包直接存储器存取 控制器、一中央处理单元、一主存储器以及一包报头预载装置。所述包报头预载装置监测所 述包直接存储器存取控制器将至少一包存储至一主存储器的动作,并在所述中央处理单元尚未读取所述至少一包的报头数据之前预先读取。且如果在一设定时间内所述中央处理单元希望读取所述包的报头数据时,那么所述包的报头数据由所述包报头预载装置提供。


图1展示本发明的一实施例的包处理系统方框图;图2展示本发明的一实施例的包报头预载装置的方框图;图3展示本发明的另一实施例的包报头预载装置的方框图;以及图4展示本发明的再一实施例的包报头预载方法的流程图。
具体实施例方式图1展示本发明的一实施例的包处理系统方框图。媒体存取控制(media access control, MAC) 103提供定址及媒体存取的控制方式,使得不同设备或网络上的节点可以 在多点的网络上通信。当媒体存取控制103接收到包后,经由包直接存储器存取(direct memory access, DMA)控制器102传送数据至主存储器101。在本发明实施例中,所述主存 储器101可为动态随机存取存储器、同步动态随机存取存储器或双通道同步动态随机存取 存储器。在中央处理单元106由主存储器101读取一包报头数据至高速缓冲存储器105之 前,包报头预载装置104即预先完成所述包读取工作,并存储所述包报头数据至包报头预 载装置104中。图2展示包报头预载装置104的内部方框图。所述包报头预载装置104包含一包 检测器201、位置信息队列202、包报头寄存器203、计时器204以及数据调度器205。包检测 器201监测所述包直接存储器存取控制器102将包存储至主存储器101的动作。当所述包 检测器201检测到一包由直接存储器存取102存储至主存储器101的动作时,即将所述包 在主存储器101的存放位置另外存储于位置信息队列202中。位置信息队列202的长度可 经由用户设定所述长度的大小。包报头寄存器203则根据位置信息队列202中的包在主存 储器101的存放位置,通过数据调度器205下载所述包的报头数据于包报头寄存器203中。 在本发明实施例中,所述包报头寄存器203可为静态随机存取存储器。当所述包下载完成 后,计时器204随即设定一寄存时间。当中央处理单元106要下载所述包的报头数据时则 直接从包报头寄存器203下载,而无须从主存储器101下载。另一方面,经过所述设定的寄 存时间后,如果中央处理单元106仍未读取所述包报头数据,那么清除包报头寄存器203和 位置信息队列202中所有存储数据。本发明实施例的包检测器201可以软件实现、硬件实 现、内嵌单一处理器或多处理器的平台上实现的其中一种方式来实现。图3展示本发明的另一实施例的包报头预载装置的系统方框图。包报头预载装 置300包含以太网端口包检测器301、位置信息队列302、无线局域网端口包检测器303、位 置信息队列304、以太网端口包报头寄存器305、计时器306、无线局域网端口包报头寄存器 307、计时器308以及数据调度器309。以太网端口包检测器301和无线局域网端口包检测器303分别监测以太网端口包 直接存储器存取控制器310和无线局域网端口包直接存储器存取控制器311将包存储至主 存储器101的动作。当以太网端口包检测器301检测到一包由以太网端口包直接存储器存 取控制器310存储至主存储器101的动作时,即将所述包在主存储器101的存放位置存储于位置信息队列302中。以太网端口包报头寄存器305则根据位置信息队列302中的包在 主存储器101的存放位置,通过数据调度器309下载所述包的报头数据于以太网端口包报 头寄存器305中。当所述包下载完成后,计时器306随即设定一寄存时间。当中央处理单 元要下载所述包的报头数据时则直接从包报头寄存器305下载,而无须再通过数据调度器 309从主存储器101下载。另一方面,经过所述设定的寄存时间后,如果中央处理单元仍未 读取所述包报头数据,那么清除以太网端口包报头寄存器305和位置信息队列302中所有 存储数据。相同地,当无线局域网端口包检测器303检测到一包由无线局域网端口包直接存 储器存取控制器311存储至主存储器101的动作时,即将所述包在主存储器101的存放位 置存储于位置信息队列304中。无线局域网端口包报头寄存器307则根据位置信息队列 304中的包在主存储器101的存放位置,通过数据调度器309下载所述包的报头数据于无 线局域网端口包报头寄存器307中。当所述包下载完成后,计时器308随即设定一寄存时 间。当中央处理单元要下载所述包的报头数据时则直接从无线局域网端口包报头寄存器 307下载,而无须再通过数据调度器309从主存储器101下载。另一方面,经过所述设定的 寄存时间后,如果中央处理单元仍未读取所述包报头数据,那么清除无线局域网端口包报 头寄存器307和位置信息队列304中所有存储数据。本发明实施例中,以太网端口包报头 寄存器305和无线局域网端口包报头寄存器307可为静态随机存取存储器。位置信息队列 302和位置信息队列304的长度可经由用户设定所述长度的大小。本发明实施例的以太网 端口包检测器301和无线局域网端口包检测器303可以软件实现、硬件实现、内嵌单一处理 器或多处理器的平台上实现的其中一种方式来实现。为了使所属领域的技术人员可以通过本实施例的教导实施本发明,以下搭配上述 包报头预载装置,另外提出一包报头预载方法的实施例。图4展示本发明的再一实施例的包报头预载方法的流程图。在步骤S401中,一包 检测器保持监测包存取状态。在步骤S402中,判断是否有由一直接存储器存取存储一包至 一主存储器的动作。如果没有,那么回到步骤S401继续保持监测。如果有,那么在步骤S403 中将所述包在主存储器的存放位置存储于一位置信息队列中。在步骤S404中,一包报头寄 存器则根据位置信息队列中的包在主存储器的存放位置,通过一数据调度器下载所述包的 报头数据于包报头寄存器中。下载所述包的报头数据至所述包报头寄存器后,即清除所述 位置信息队列中所述包的位置信息。在步骤S405中,设定一寄存时间。在步骤S406中,判 断是否已被读取。如果是,那么在步骤S408中清除所述包报头寄存器的存储数据。如果否, 那么在步骤S407中判断是否已经超过所述寄存时间。如果否,那么回到步骤S406再次判 断是否已被读取。如果是,那么在步骤S409中清除所述包报头寄存器和所述位置信息队列 中所有存储的数据。综上所述,本发明的包报头预载方法与装置在中央处理单元执行下载一包报头数据之前,预先将所述包报头数据下载至一包报头寄存器中以加速所述包报头数据的处理速 度。此外,本发明并入有设定一寄存时间的机制以提升本发明的包报头预载装置处理包的 稳健性。本发明的技术内容和技术特点已揭示如上,然而所属领域的技术人员仍可能基于 本发明的教示和揭示而作种种不脱离本发明精神的替换和修饰。因此,本发明的保护范围应不限于实施例所揭示,而应包括各种不脱离本发明的替换和修饰,并由所附的权利要求书所涵盖。
权利要求
一种包报头预载的装置,其特征在于其包含至少一包检测器,用以监测至少一包直接存储器存取控制器将至少一包存储至主存储器的动作;至少一包报头寄存器;以及至少一数据调度器,用以将所述至少一包的报头数据从所述主存储器读出且寄存于所述至少一包报头寄存器。
2.根据权利要求1所述的装置,其特征在于其另外包含计时器,所述计时器耦合于所 述包报头寄存器且用以计算所述包的报头数据存储于所述包报头寄存器的时间。
3.根据权利要求1所述的装置,其特征在于其另外包含位置信息队列,所述位置信息 队列耦合于所述包检测器且用以存储所述包在所述主存储器的位置。
4.根据权利要求1所述的装置,其特征在于其中所述至少一包检测器包含以太网端口 包检测器和无线局域网端口包检测器。
5.根据权利要求1所述的装置,其特征在于其中所述至少一包报头寄存器包含以太网 端口包报头寄存器和无线局域网端口包报头寄存器。
6.根据权利要求1所述的装置,其特征在于其中所述包直接存储器存取控制器为以太 网端口包直接存储器存取控制器或无线局域网端口包直接存储器存取控制器。
7.根据权利要求1所述的装置,其特征在于其中所述包报头寄存器为静态随机存取存 储器。
8.根据权利要求1所述的装置,其特征在于其中所述主存储器为动态随机存取存储 器、同步动态随机存取存储器或双通道同步动态随机存取存储器。
9.根据权利要求1所述的装置,其特征在于其中所述包检测器是以软件实现、硬件实 现、内嵌单一处理器或多处理器的平台上实现。
10.一种包报头预载的方法,其特征在于其包含监测至少一包直接存储器存取控制器存储至少一包至主存储器的动作;下载所述至少一包的报头数据至包报头寄存器中;以及如果在设定时间内,中央处理单元要读取所述至少一包的报头数据,那么由所述包报 头寄存器提供所述至少一包的报头数据。
11.根据权利要求10所述的方法,其特征在于其另外包含将所述包在所述主存储器的 位置存储至位置信息队列中的步骤。
12.根据权利要求11所述的方法,其特征在于其中下载所述包的报头数据至所述包报 头寄存器中的步骤是根据所述位置信息队列中所述包的位置信息。
13.根据权利要求11所述的方法,其特征在于其另外包含在下载所述包的报头数据至 所述包报头寄存器后清除所述位置信息队列中所述包的位置信息的步骤。
14.根据权利要求11所述的方法,其特征在于其中所述位置信息队列的长度是根据用 户的设定。
15.根据权利要求10所述的方法,其特征在于其另外包含下列步骤当所述包的报头数据由所述中央处理单元读取后清除所述包的报头数据;下载下一个包的报头数据至所述包报头寄存器中。
16.根据权利要求11所述的方法,其特征在于其另外包含下列步骤如果所述包的报头数据超过设定时间后仍未被所述中央处理单元读取时,那么清除所 述包的报头数据和所述位置信息队列的所有存储数据。
17.根据权利要求10所述的方法,其特征在于其中所述存储动作为突发写入动作。
18.—种系统,其特征在于其包含媒体存取控制、包直接存储器存取控制器、中央处理 单元、主存储器以及包报头预载装置,其中所述包报头预载装置监测所述包直接存储器将 控制器存储至少一包存取至主存储器的动作,并在所述中央处理单元尚未读取所述至少一 包的报头数据前预先读取,且如果在设定时间内所述中央处理单元要读取所述包的报头数 据时,那么由所述包报头预载装置提供。
19.根据权利要求18所述的系统,其特征在于其中所述包报头预载装置包含至少一包检测器,用以监测至少所述包直接存储器存取控制器将所述至少一包存储至 所述主存储器的动作;至少一包报头寄存器;以及至少一数据调度器,用以将所述至少一包的报头数据从所述主存储器读出且寄存于所 述至少一包报头寄存器。
20.根据权利要求19所述的系统,其特征在于其中所述包报头预载装置另外包含位置 信息队列,所述位置信息队列耦合于所述包检测器且用以存储所述包在所述主存储器的位置。
全文摘要
本发明涉及一种包报头预载的方法与装置,以及应用所述方法的系统。所述方法在中央处理单元执行下载一包报头数据之前,预先将所述包报头数据从主存储器下载至一包报头寄存器中以加速所述包报头数据的处理速度。
文档编号H04L12/56GK101808029SQ20091000950
公开日2010年8月18日 申请日期2009年2月13日 优先权日2009年2月13日
发明者吕国正 申请人:雷凌科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1