数据传送装置和信息处理系统的制作方法

文档序号:6461786阅读:106来源:国知局
专利名称:数据传送装置和信息处理系统的制作方法
技术领域
本发明涉及数据处理中的数据传送,更具体地说,涉及从多处理器 系统中的存储单元读取并传送所请求的数据的数据传送装置以及信息处 理系统。
背景技术
近年来,数据(例如音频和视频数据)的量不断增加,并且需要不 断地努力来寻找操作和处理这种大量数据的快速方法。 一个这种努力的 结果是多处理器信息处理系统,其包括多个中央处理单元(CPU)板, 每个CPU板都带有CPU并且执行预期的处理;存储器板,该存储器板 带有共享存储器并且通过公共总线连接到CPU板,并且可由各个CPU访问。在这种多处理器信息处理系统中,当CPU访问共享存储器时,带有 CPU的CPU板对于公共总线具有独占(exclusive)权限。因此,其它CPU 板进入等待状态,直到它们对公共总线具有独占权限时为止,这导致系 统的处理能力下降。已经提出了多种方法来防止处理能力的下降。例如,在日本专利申 请特开No. H7-225737中提出了一种总线控制方法,其中通过基于由中央 控制装置向存储装置发出的输入/输出请求确定顺序存取的比率高还是随 机存取的比率高,来估计基于数据传送量确定的总线负载特性,通过自 动调整面向数据传送性能的总线使用方法或面向随机存取性能的总线使 用方法来改变数据传送量。在日本专利申请特开No. H7-282023中提出了一种数据传送量可调 处理器,其确定要访问的数据在该处理器的分布式存储器中还是在另一 处理器的分布式存储器中,并且基于确定的结果,改变被访问的数据的传送量。换言之,数据传送量可调处理器改变数据传送量,使得针对传 送总线的数据传送量小于针对存储器总线的数据传送量。在日本专利申请特开No. H7-225737中公开的技术中,因为根据数 据传送量自动调整面向数据传送性能的总线使用方法或面向随机存取性 能的总线使用方法,所以即使操作条件改变,也可以有效地利用总线并 且可以提高系统的处理能力。在日本专利申请特开No. H7-282023中公开的技术中,缩短了一个 循环中的传送总线的使用周期,因此减小了传送总线的利用率。因此, 整个系统可实现高速处理,提高了系统的处理能力。让我们描述在发生单次数据传送时发生了什么。在多处理器信息处 理系统中,将从共享存储器读取的数据传送到做出请求的CPU板所花费 的时间根据每个CPU板的处理拥塞而变化。因此,当在单次数据传送循 环中通过CPU板独占地使用总线以固定长度的分组传送数据时,来自另 一个CPU板的访问共享存储器的请求将具有非常长的等待周期,由此增 加了数据传送时间。但是,在上述的技术中,因为在单次数据传送(即,与单次访问请 求相对应的数据传送)中传送的分组是固定长度的,所以不能縮短从存 储器读取数据所需的时间和数据的传送时间。因此,不可能缩短用于对 总线的独占权限的等待周期(其根据做出请求的CPU板中的处理拥塞而 变化)和防止数据传送持续时间的增加。发明内容本发明的目的是至少部分地解决传统技术中的问题。 根据本发明的一个方面,通过总线连接到多个处理模块的数据传送 装置包括存储单元,其中存储有所述多个处理模块所需的数据;以及 控制单元,在接收到来自所述多个处理模块中的一个处理模块的数据请 求时,该控制单元以分别具有最优分组长度的分组的形式从所述存储单 元中读取所请求的数据,并且以在传送前一个分组的同时读取下一个分 组的方式依次传送这些分组,所述控制单元基于分组传送时间来设置最优分组长度。根据本发明的另一方面, 一种信息处理系统包括分别执行各种处 理的多个处理模块;以及数据传送装置,该数据传送装置包括存储单元, 该存储单元中存储有所述多个处理模块所需的数据,并且连接到所述多 个处理模块。所述数据传送装置还包括控制单元,在接收到来自所述多 个处理模块中的一个处理模块的数据请求时,该控制单元以分别具有最 优分组长度的分组的形式所述存储单元中读取所请求的数据,并且以在 传送前一个分组的同时读取下一个分组的方式顺序地传送这些分组,该 控制单元基于分组传送时间来设置最优分组长度。通过结合附图阅读本发明的当前优选实施方式的以下详细描述,将 更好地理解本发明的以上和其它的目的、特征、优点以及技术和工业重 要性。


图1是用于说明由根据本发明的数据传送装置执行的数据传送和分组长度优化的示意图;图2是应用了根据本发明的数据传送装置的信息处理系统的结构图;图3是数据传送处理的流程图; 图4是分组长度优化处理的流程图; 图5是传统信息处理系统的结构图; 图6是用于说明传统信息处理系统的功能的示意图; 图7是用于说明根据本发明的信息处理系统的功能的示意图; 图8是用于比较传统信息处理系统和根据本发明的信息处理系统的 处理时间的示意图。
具体实施方式
下面参照附图描述根据本发明的数据传送装置和信息处理系统的示 例实施方式。下面参照图1到8描述根据本发明的数据传送装置的实施方式。图 1是用于说明由根据本发明的数据传送装置执行的数据传送和分组长度 优化的示意图。在涉及从存储器读取X字节(其中X是正整数)的数据 并且传送所读取的数据的传统数据传送中,数据传送装置首先从存储器读取x字节的数据并且传送所读取的数据。因此,如果x字节数据的数 据读取时间是tl并且x字节数据的数据传送时间是t2,则数据读取和数 据传送的总时间总计为tl+t2。相反地,根据本发明的数据传送装置不是一次读取所有x字节的传 送数据,而是将数据分解为、'字节(其中、'是小于或等于x的正 整数)的多个分组,以'a'字节的分组为单位读取和传送数据,在传送 一个分组的同时读取下一个分组。换言之,数据传送装置执行读取和传 送分组的并行处理。如果从存储器读取'a'字节的分组所需的时间是ta,并且分组的传 送时间是tb,当数据读取时间ta大于分组传送时间tb时,可由表达式(l) 表示数据读取和数据传送的总时间T,而当数据读取时间ta小于分组传 送时间tb时,可由表达式(2)表示总时间T。T= (ta X分组传送计数)+tb (1)T= ta+ (tb X分组传送计数) (2)因此,可以通过将数据读取时间ta和分组传送时间tb中的较大值和 分组传送计数相乘,并且将该结果与数据读取时间ta和分组传送时间tb 中的较小值相加,来获得用于读取和传送数据的总时间T。因此,如果数 据读取时间ta和分组传送时间tb是相同的持续时间,则可以获得最短的 总时间T。根据本发明的数据传送装置由此通过改变分组长度以使得分组 读取时间和分组传送时间是相同的持续时间或近似,来优化分组长度。图2是应用了根据本发明的数据传送装置的信息处理系统的结构 图。图2中所示的信息处理系统包括用作数据传送装置的存储器板l; 以及都通过总线3相互连接的多个CPU板2-1到2-3。存储器板1包括接口单元(下文中称为"I/F单元")11、共享存储 器12、高速缓冲存储器13、控制数据存储单元14、和控制单元15。I/F单元11经由总线3连接存储器板1和CPU板2-1到2-3。共享 存储器12中存储有CPU板2-1到2-3的各种处理所需的数据。高速缓冲 存储器13中存储有共享存储器12中所存储的数据的一部分。控制数据存储单元14中存储有控制读取和传送共享存储器12和高 速缓冲存储器13中所存储的数据所需的控制数据,并且包括管理表141 和时间表142。管理表141包含诸如表示共享存储器12中所存储的数据 的存储位置和状态的存储地址以及表示高速缓冲存储器13中所存储的数 据的存储位置和状态的存储地址的数据。高速缓冲存储器13中的数据可 针对各个CPU板2-1到2-3独立地进行存储。时间表142包含优化分组长度和传送分组所需的数据。具体地说, 时间表142包含字段分组读取时间、分组传送时间、总时间(数据读取 时间和传送时间)、过去的累积时间、最优分组长度、和分组传送计数。字段分组读取时间中存储有从共享存储器12读取分组长度的数据 所需的时间。字段分组传送时间中存储有从共享存储器12将分组长度的 数据传送到CPU板2-1到2-3所需的时间。在字段总时间中存储有从共 享存储器12读取所请求数据的第一个分组开始直到将最后一个分组传送 到CPU板2-1到2-3为止的总时间。在字段过去的累积时间中存储有过 去的累积时间。在字段最优分组长度中存储有当前最优分组长度。在字 段分组传送计数中存储了以分组(即,数据长度/分组长度)为单位传送 所请求的数据所需的分组传送的次数。在时间表142中对于多个预设的分组长度以相关联的形式存储有分 组读取时间、分组传送时间、总时间、和过去的累积时间。通过将所请 求数据的数据长度除以预设的常数m (其中l<m,并且m是整数),来 计算分组长度,可以使用实际的数据长度作为最大分组长度。具体地说,如果常数m是2,并且最大分组长度是512字节,则分 组长度将是512字节、256字节、128字节、64字节等。在时间表142中 存储有对于这些分组长度中的每一个的分组读取时间、分组传送时间、 总时间、和过去的累积时间。当初始化或重置系统时已经设置了管理表141和时间表142中的字段的值。然而,系统管理员可以使用未示出的输入装置来预设这些值。基于管理表141和时间表142,控制单元15响应于来自CPU板2-1 到2-3的访问命令(数据写入请求或数据读取请求),访问共享存储器12 或高速缓冲存储器13,从共享存储器12或高速缓冲存储器13读取数据 或向其写入数据,并且执行数据传送。当执行数据传送时,控制单元15 执行分组长度优化处理。控制单元15包括寄存器151、数据传送单元152、和分组长度优化 单元153。寄存器151是先入先出(FIFO)型的,并且保存来自CPU板 2-1至U2-3的访问命令。数据传送单元152依次执行寄存器151中所保存的命令。如果命令 是数据读取请求,则数据传送单元152基于管理表142确定从共享存储 器12还是从高速缓冲存储器13读取数据。如果从共享存储器12读取数 据,则数据传送单元152读取等于时间表142中所存储的最优分组长度 的数据,并且传送分组,并行地执行读取一个分组和传送前一个读取的 分组。如果从高速缓冲存储器13读取数据,则数据传送单元152从高速 缓冲存储器13读取所请求数据的数据长度的数据,并且将所读取的数据 传送到CPU板2-1到2-3。分组长度优化单元153基于数据传送单元152传送分组的当前分组 传送时间和管理表141来优化分组长度,以使得从共享存储器12读取分 组的时间和分组传送时间之间的差最小。CPU板2-1到2-3中的每一个是执行预期处理的处理装置,并且包 括控制单元22和I/F单元21。控制单元22包括未示出的CPU和其中存 储有由CPU执行的程序的未示出的存储单元。LT单元21经由总线3将 CPU板2-1到2-3连接到存储器板1 。下面参照图3和4中示出的流程图来说明信息处理系统的功能。根 据本发明的数据传送装置和信息处理系统的显著特征是关于如何从共享 存储器12读取数据并且将其传送到做出请求的CPU板2-1到2-3,以及 在执行数据传送时的分组长度优化。但是,当数据传送装置和信息处理 系统将来自CPU板2-1到2-3的数据写入到共享存储器12或高速缓冲存储器13时,该处理与任何现有的写入处理相似。因此,这里仅描述响应于从CPU板2-1到2-3到存储器板1的数据读取请求的操作。根据本发明的数据传送装置响应于数据读取请求而执行数据传送处 理和分组长度优化处理。在数据传送处理中,数据传送装置从共享存储 器12或高速缓冲存储器13读取由CPU板2-1到2-3请求的数据,并且 将数据发送到做出请求的CPU板2-1到2-3。在分组长度优化处理中,当 从共享存储器12读取数据时优化分组长度。图3是数据传送处理的流程 图。为了发出访问存储器板1的共享存储器12中所存储的数据的请求, CPU板2-1到2-3的控制单元22经由I/F单元21将数据读取请求发送到 存储器板1 。在该周期内,将数据读取请求从CPU板2-1到2-3传送到存 储器板1,做出请求的CPU板2-1到2-3独占地拥有总线3。存储器板1的数据传送单元152经由I/F单元11接收来自CPU板 2-1到2-3接收数据读取请求(步骤SlOl)。数据传送单元152基于数据 读取请求和管理表141中所存储的数据来确定所请求的数据是否存储在 高速缓冲存储器13中(步骤S102)。具体地说,通过参照管理表141,数据传送单元152能够识别高速 缓冲存储器13中所存储的数据和共享存储器12中的该数据的地址之间 的关联,以及所请求的数据和共享存储器12中的该数据的地址之间的关 联。通过比较这两个地址,数据传送单元152确定所请求的数据是否存 储在高速缓冲存储器13中("命中"数据)。数据传送单元152首先识别高速缓冲存储器13中可得到的数据是否 属于共享存储器12中的范围从上界(upper bound)地址到下界(lower bound)地址的区域中的地址。如果由所请求的上界地址到下界地址所限 定的整个区域包括在所识别的区域中,则数据传送单元152推测数据命 中,即,所请求的数据在高速缓冲存储器13中可得到。如果由所请求的 上界地址到下界地址所限定的整个区域不包括在所识别的区域中,则数 据传送单元152推测所请求的数据在高速缓冲存储器13中不可得到(数 据"未命中")。如果所请求的数据在高速缓冲存储器13中可得到(在步骤S102为 是),数据传送单元152从高速缓冲存储器13提取该数据(步骤S103), 并且经由I/F单元11将所提取的数据发送到做出请求的CPU板2-1到2-3 (步骤S104)。当在接收到数据读取请求时进行命中确定时,总线3空闲, 并且当将数据从存储器板1传送到做出请求的CPU板2-1到2-3时,由 做出请求的CPU板2-1到2-3再次使用总线3。做出请求的CPU板2-1到2-3的控制单元22经由I/F单元21接收 数据并且根据所接收的数据来执行处理。如果所请求的数据在高速缓冲存储器13中不可得到(在步骤S102 为否),则数据传送单元152在寄存器151中保存与数据读取请求相对应 的命令(步骤S105)。以保存命令的顺序读取寄存器151中所保存的命令 且执行这些命令。数据传送单元152读取存储在寄存器151中的与数据读取请求相对 应的命令(步骤S106),并且再次确定所请求的数据在高速缓冲存储器 13中是否可得到(步骤S107)。换言之,存在以下的可能性响应于将 命令存储在寄存器151的时间和从寄存器151读取命令的时间之间的间 隔时间内执行的命令,将数据从共享存储器12存储到高速缓冲存储器13。 因此,在执行命令之前再一次执行命中确定。如果所请求的数据在高速缓冲存储器13中可得到(在步骤S107为 是),则数据传送单元152从高速缓冲存储器13提取所请求的数据(步 骤S103),并且经由I/F单元11将该数据发送到做出请求的CPU板2-1 到2-3 (步骤S104)。做出请求的CPU板2-1到2-3的控制单元22经由I/F单元21接收 数据并且根据所接收的数据执行处理。如果所请求的数据在高速缓冲存储器13中不可得到(在步骤S107 为否),则数据传送单元152读取时间表142中所存储的最优分组长度和 分组传送计数(步骤S10S)。数据传送单元152随后重置未示出的传送计 数器的计数器值(重置为"1")(步骤S109)。数据传送单元152从共享存储器12提取最优分组长度的数据(步骤SllO)。具体地说,数据传送单元152确定表示要首先读取的所请求数据 的开始的读取地址并且从该读取地址读取最优分组长度的数据。数据传 送单元152通过将最优分组长度与该读取地址相加或从该读取地址减去 最优分组长度,来计算表示下一次要读取的最优长度的数据的开始的读 取地址,并且将表示数据开始的所计算的读取地址作为下一读取地址。数据传送单元152开始经由I/F单元11将分组长度的数据(分组) 发送到做出请求的CPU板2-1到2-3 (步骤Slll)。数据传送单元152除了发送分组以外,还将这些分组存储在高速缓 冲存储器13中(步骤S112)。数据传送单元152使传送计数器递增(步 骤S113)并且将传送计数值与分组传送计数相比较(步骤S114)。如果 传送计数值小于分组传送计数(在步骤S114为否),则数据传送单元152 基于读取地址从共享存储器12提取最优分组长度的数据(分组)(步骤 SllO)。数据传送单元152随后开始发送所提取的分组(步骤Slll)。从第二 个分组开始,数据传送单元152确定以前提取的分组是否已发送,如果 没有,在开始当前提取的分组的发送处理之前进行等待,直到发送了前 一个分组为止。换言之,从第二个分组的提取开始,数据传送单元152 在发送前一个提取的分组的同时,执行分组提取和涉及将所发送的分组 写入到高速缓冲存储器13的数据写入处理。如果传送计数值大于分组传送计数(在步骤S114为是),则数据传 送单元152使用该条件来表示已发送了全部所请求的数据,在高速缓冲 存储器13中反映所存储的内容,并且更新管理表141 (步骤S115)。图4是分组长度优化处理的流程图。分组长度优化单元153在其中 从共享存储器12读取且发送分组长度的数据(分组)的数据传送处理期 间,执行分组长度优化处理。分组长度优化单元153从时间表142获取从共享存储器12读取当前 最优分组长度所需的读取时间(步骤S201)。具体地说,分组长度优化单 元153读取在时间表142的字段最优分组长度中存储的分组长度,并且 读取与分组长度相关联地存储在时间表142的字段分组读取时间中的数据读取时间(分组读取时间)。例如,如果在字段最优分组长度中存储的分组长度是512字节,则分组长度优化单元153读取与分组长度512字 节相关联的分组读取时间,并且如果分组长度是256字节,则读取与256 字节相关联的分组读取时间。正在执行数据传送处理的数据传送单元152测量分组传送时间(步 骤S202),并且与字段最优分组长度中的分组长度关联地存储所测量的分 组传送时间。具体地说,数据传送单元152测量从传送计数器的计数值 示出预设值时到完成传送时的时间,并且在时间表142中与字段最优分 组长度中的分组长度相关联地存储所测量的传送时间。在时间表142的字段分组传送时间中存储了传送时间后,分组长度 优化单元153从时间表142读取分组传送时间,并且将它与在步骤S201 获取的分组读取时间相比较(步骤S203)。如果分组读取时间大于分组传 送时间(在步骤S203为是),则分组长度优化单元153通过上面给出的 表达式(1)计算总时间(步骤S204)。换言之,分组长度优化单元153 使用时间表142中存储的分组传送计数、时间表142中的与分组长度相 关联的分组读取时间、和分组传送时间,通过表达式"((分组读取时间) X(分组传送计数》+(分组传送时间)"来计算总时间。分组长度优化单元153从时间表142读取与存储在字段最优分组长 度中的分组长度关联地存储的过去的累积时间,并且将其与所计算的总 时间相比较(步骤S205)。如果过去的累积时间小于所计算的总时间(在 步骤S205为否),则分组长度优化单元153推测与当前时间周期相比, 过去在相同时间周期或在更短的时间周期内执行数据读取和传送,并且 结束该处理,而不更新时间表142中的最优分组长度。如果过去的累积时间大于所计算的总时间(在步骤S205为是),则 分组长度优化单元153推测当前的数据读取和传送时间周期比过去的 要小,并且与存储在时间表142的字段最优分组长度中的分组长度相关 联地将所计算的总时间输入到字段过去的累积时间中(步骤S206)。分组长度优化单元153随后计算新的分组长度(步骤S207)。具体 地说,分组长度优化单元153通过将当前分组长度除以预设常数m,来计算新的分组长度。分组长度优化单元153在时间表142的字段最优分组长度中存储新 计算的分组长度(步骤S208)。分组长度优化单元153随后计算用于新计 算的分组长度的分组传送计数并且将其存储在时间表142的字段分组传 送计数中,并且返回到步骤S201。如果分组读取时间小于分组传送时间(在步骤S203为否),则分组 长度优化单元153确定分组传送时间是否大于分组读取时间(步骤 S209)。如果分组传送时间小于分组读取时间(如果考虑步骤S203的确 定步骤,则这将表示分组传送时间等于分组读取时间),则分组长度优化 单元153推测数据传送时间对于当前最优分组长度是最短的,并且结 束该处理,而不更新最优分组长度。如果分组传送时间大于分组读取时间,则分组长度优化单元153通 过上面给出的表达式(2)来计算总时间(步骤S210)。换言之,分组长 度优化单元153使用存储在时间表142中的分组传送计数、与时间表142 中的分组长度相关联的分组读取时间、和分组传送时间,通过表达式"(分 组读取时间)+((分组传送计数)X(分组传送时间""来计算总时间。分组长度优化单元153从时间表142读取与存储在字段最优分组长 度中的分组长度关联地存储的过去的累积时间,并且将其与所计算的总 时间相比较(步骤S211)。如果过去的累积时间小于所计算的总时间(在 步骤S211为否),则分组长度优化单元153推测与当前的时间周期相 比,过去在相同时间周期或在更短的时间周期内执行数据读取和传送, 并且结束该处理,而不更新时间表142中的最优分组长度。如果过去的累积时间大于所计算的总时间(在步骤S211为是),则 分组长度优化单元153推测当前的数据读取和传送时间周期比过去的 要小,并且与存储在时间表142的字段最优分组长度中的分组长度相关 联地将所计算的总时间存储到字段过去的累积时间中(步骤S212)。分组长度优化单元153随后计算新的分组长度(步骤S213)。具体 地说,分组长度优化单元153通过将当前分组长度除以预设常数m,来 计算新的分组长度。分组长度优化单元153在时间表142的字段最优分组长度中存储新计算的分组长度(步骤S214)。分组长度优化单元153 随后计算用于新计算的分组长度的分组传送计数并且将其存储在时间表 142的字段分组传送计数中,并且返回到步骤S201 。对于从共享存储器12读取和传送数据的情况,上面已经描述了分 别参照图3和4说明的数据传送处理和分组长度优化处理。但是,相同 的描述适用于从高速缓冲存储器13读取和传送数据的情况。为了使得能够从高速缓冲存储器13读取和传送数据,需要与高速缓 冲存储器13相对应的独立时间表142,以使得当要访问共享存储器12时, 可使用与共享存储器12相对应的时间表142来执行数据传送和分组长度 优化,而当要访问高速缓冲存储器13时,可使用与高速缓冲存储器13 相对应的时间表142来执行数据传送和分组长度优化。参照图5到8,将通过传统信息处理系统进行的数据传送和通过根 据本发明的信息处理系统进行的数据传送相比较,在下面的描述中,通 过给出其中由不同的CPU板发出对共享存储器12中的512字节数据的数据读取请求的情况来进行比较。图5是传统信息处理系统的结构图。传统信息处理系统包括存储器 板1000、都通过总线3000相互连接的多个(在示出的示例中是三个) CPU板2000-1到2000-3。存储器板1000包括接口单元(下文中称为"I/F单元")1100、共享 存储器1300、和控制单元1200。 I/F单元1100经由总线3000将存储器板 1000连接到CPU板2000-1到2000-3。共享存储器1300中存储有CPU 板2000-1到2000-3执行处理所需的数据。控制单元1200响应于来自CPU 板2000-1到2000-3的请求而访问共享存储器1300,执行数据读取和写 入,并且经由I/F单元1100将从共享存储器1300读取的数据传送到做出 请求的CPU板2000-1到2000-3。当将数据传送到做出请求的CPU板 2000-1到2000-3时,控制单元1200以预设数据长度的数据分组传送数据。CPU板2000-1到2000-3中的每一个都包括I/F单元2100、高速缓 冲存储器2400、管理表2300、和控制单元2200。 I/F单元2100经由总线 3000将CPU板2000-1到2000-3连接到存储器板1000。高速缓冲存储器2400中存储有共享存储器1300中所存储的数据的一部分。管理表2300 包含诸如表示共享存储器1300中所存储的数据的存储位置和状态的存储 地址以及表示CPU板2000-1到2000-3本身的高速缓冲存储器2400中所 存储的数据的存储位置和状态的存储地址的数据。控制单元2200包括未 示出的CPU和其中存储由CPU执行的程序的存储单元,并且执行预期 的处理。此外,控制单元2200通过基于管理表2300执行高速缓冲存储 器2400的命中确定,来选择是否要处理对共享存储器1300的访问请求。图6是用于说明传统信息处理系统的功能的示意图。当CPU板 2000-1请求访问共享存储器1300中所存储的数据时,CPU板2000-1的 控制单元2200基于管理表2300来确定所请求的数据在高速缓冲存储器 2400中是否可得到。如图6中所示,当所请求的数据在高速缓冲存储器 2400中不可得到时,控制单元2200向存储器板1000发送数据读取请求。当接收到数据读取请求时,存储器板1000的控制单元1200访问共 享存储器1300并且以6.5MB/sec读取所请求的数据。控制单元1200随后 以20 MHz将从共享存储器1300读取的数据发送到CPU板2000-1 。同时,如果CPU板2000-2也请求访问共享存储器1300中所存储的 数据,则CPU板2000-2的控制单元2200基于管理表2300确定所请求的 数据在高速缓冲存储器2400中是否可得到。如图6中所示,当所请求的 数据在高速缓冲存储器2400中不可得到时,控制单元2200向存储器板 1000发送数据读取请求。然而,CPU板2000-1从向存储器板1000发送 数据读取请求时到CPU板2000-1接收到所请求的数据时独占地拥有总线 3000。因此,CPU板2000-2必须进行等待,直到总线3000空闲为止。在获得总线权限后,CPU板2000-2向存储器板1000发送数据读取 请求。当接收到数据读取请求时,存储器板1000的控制单元1200访问 共享存储器1300并且以6.5MB/sec读取所请求的数据。换言之,控制单 元1200再次从共享存储器1300读取CPU板2000-1所请求的相同数据。 此后,控制单元1200以20 MHz将从共享存储器1300读取的数据发送到 CPU板2000-2。图7是用于说明根据本发明的信息处理系统的功能的示意图。为了请求访问共享存储器12中所存储的数据,CPU板2-1向存储器板1发送 数据读取请求。如果命中确定的结果是未命中,则存储器板1的控制单 元15访问共享存储器12,开始以最优分组长度的分组来读取数据,在高 速缓冲存储器13中存储该数据,同时执行数据传送处理以将最优分组长 度的数据分组发送到CPU板2-1 。此外,存储器板1的控制单元15执行 分组长度优化处理。同时,如果CPU板2-2请求访问共享存储器12中所存储的数据, 则由于在存储器板1的控制单元15执行命中确定时总线3空闲,所以使 得能够接收由CPU板2-2进行的数据读取请求。当完成了从共享存储器12的数据传送时,由CPU板2-1请求的数 据现在在存储器板1的高速缓冲存储器13中可得到。还更新了管理表 141。如果CPU板2-2请求的数据与CPU板2-1请求的数据相同,则控 制单元15进行的命中确定的结果将是命中。因此,当控制单元15可从 高速缓冲存储器13读取数据并且将数据发送到CPU板2-2时,其不必访 问共享存储器12。因此,在传统的信息处理系统中,如果不同的CPU板2000-1到 2000-3请求相同的数据,则对于来自CPU板2000-1到2000-3中的每一 个的数据读取请求,必须访问共享存储器1300。在根据本发明的信息处 理系统中,仅对于来自首先发送请求的CPU板的数据读取请求,需要访 问共享存储器12。此后,可在高速缓冲存储器13中访问所请求的数据, 并且对于由任何其它CPU板进行的对数据的任何后续请求,仅需要访问 高速缓冲存储器13。通常,访问高速缓冲存储器13比访问共享存储器 12花费的时间少得多。因此,根据本发明的信息处理系统与对于每一个 数据读取请求都访问共享存储器12的传统信息处理系统相比,花费更少 的时间来处理数据读取请求。图8是用于比较传统信息处理系统和根据本发明的信息处理系统的 处理时间的示意图。在传统信息处理系统中,为了处理第一个数据读取 请求(来自图6中示出的CPU板2000-1),需要大约78.77U sec来以 6.5 MB/sec从共享存储器1300读取512字节数据,并且需要另外的大约30 " sec来将数据传送到CPU板2000-1。类似地,为了处理下一个数据 读取请求(来自图6中示出的CPU板2000-2),再次需要大约78.77y sec 来以6.5 MB/sec从共享存储器1300读取512字节数据,并且需要另外的 大约30 U sec来将数据传送到CPU板2000-2。因此,需要大约217.54 U sec 的总时间来响应于来自两个不同的CPU板2000-1和2000-2的数据读取 请求,从相同地址读取并传送数据。相反地,在根据本发明的信息处理系统中,如果最优分组长度是16 字节并且分组读取时间大于分组传送时间,则响应于第一个数据读取请 求(来自图7中示出的CPU板2-1)从共享存储器12读取512字节数据 且传送数据所需的总时间将是(aX32) +b,其中a是分组读取时间而b 是分组传送时间。如果分组读取时间a大约为2.4ysec,并且分组传送时 间b大约为sec,则总时间将大约为80.47li sec。 aX32的总的数据 读取时间基本上与传统信息处理系统对共享存储器12的数据读取时间相 同。因此,响应于第一个数据读取请求的总时间减少了 (30-b) usec, 艮卩28.25 y sec。响应于数据读取请求(来自图7中示出的CPU板2-2),信息处理系 统通过访问高速缓冲存储器13而不是共享存储器12来读取所请求的数 据并且传送该数据。访问高速缓冲存储器13比访问共享存储器12花费 的时间少得多。即使像在传统信息处理系统中那样进行数据的传送,也 可以在大约30ysec内传送数据。因此,响应于来自两个不同CPU板的 请求读取和传送相同数据可以在110.52u sec内完成。因此,根据本发明的信息处理系统完成任务所花费的时间比传统信息处理系统所花费的时 间少49。/0。因此,在本实施方式中,存储器板1具有控制数据存储单元14,该 控制数据存储单元14中存储有时间表142,该时间表142以与多个预设 分组长度相关联的形式包含诸如分组读取时间、过去的累积时间、最优 分组长度、和分组传送计数的数据。分组读取时间是从共享存储器12读 取最优分组长度的分组所需的时间。过去的累积时间是在过去从共享存 储器12读取所请求的数据直到完成了所请求数据的传送为止的所需时间。最优分组长度是用于数据传送的分组的长度。分组传送计数是要传 送整个所请求的数据需要传送最优分组长度的分组的次数。存储器板1的数据传送单元152以最优分组长度的分组从共享存储器12读取数据并且以传送前一个分组的同时读取下一个分组的方式依次传送这些分组。此外,数据传送单元152测量分组传送时间,该分组传送时间是从传送 开始到传送结束为传送分组而花费的时间。存储器板1的分组长度优化 单元153根据分组读取时间较长还是分组传送时间较长,使用两个不同 的公式来计算总时间,该总时间是以最优分组长度的分组读取所请求的 数据并且将这些分组传送到做出请求的CPU板,直到传送了所有的分组 为止所需的时间。如果分组读取时间较长,则分组长度优化单元153通 过将分组读取时间和分组传送计数相乘并且将分组传送时间与该乘积相 加,来计算总时间。如果分组传送时间较长,则分组长度优化单元153 通过将分组传送时间和分组传送计数相乘并且将分组读取时间与该乘积 相加,来计算总时间。分组长度优化单元153将通过将当前最优分组长 度和预设常数相乘而获得的新的最优分组长度存储在时间表142的字段 最优分组长度中,并且将用于该新的最优分组长度的传送计数存储在时 间表142的字段传送计数中。换言之,分组长度优化单元153改变分组长 度,以使得同时执行的分组读取和分组传送处理所需时间之间的差最小。因此,通过减少从共享存储器12读取和传送数据的持续时间,信息 处理系统使总线3被占用的持续时间更短,使得其对于其它CPU板2-1 到2-3更容易可用。此外,在本实施方式中,存储器板1包括共享存储器12和高速缓冲 存储器13。存储器板1执行命中确定以检査CPU板2-1到2-3所请求的 数据在高速缓冲存储器13中是否可得到。如果数据在高速缓冲存储器13 中可得到,则从高速缓冲存储器13以分组为单位读取数据并且将这些分 组依次传送到做出请求的CPU板。如果所请求的数据在高速缓冲存储器 13中不可得到,则从最早到最后依次排列并执行这些请求。当执行每个 请求时,再次执行命中确定,以检査所请求的数据在高速缓冲存储器13 中是否可得到。如果所请求的数据在高速缓冲存储器13中可得到,则从高速缓冲存储器13以分组为单位读取数据并且将这些分组依次传送到做出请求的CPU板。如果所请求的数据在高速缓冲存储器13中不可得到, 则从高速缓冲存储器12以分组为单位读取数据并且依次传送这些分组。 因此,除了在数据传送期间执行分组长度优化,通过仅对来自CPU板2-1 到2-3的第一个请求从共享存储器12读取数据并且使得能够响应于CPU 板2-1到2-3的后续请求从高速缓冲存储器13读取数据,该信息处理系 统减少了数据读取时间。作为减少数据读取时间的结果,还减小了其它 CPU板2-1到2-3获得总线3的使用权限的等待周期。在本实施方式中,仅存在用于共享存储器12的一个时间表142。然 而,可为CPU板2-1至U2-3中的每一个提供一个时间表142,以使得可以 在数据传送处理和分组长度优化处理中使用相应的做出请求的CPU板 2-1至lj2-3的时间表142。在本实施方式中存储器板1和CPU板2-1到2-3通过路径型拓扑 (path-type topology)互连。然而,还可使用其它类型的拓扑,例如星型。在本实施方式中,在存储器板1中提供了高速缓冲存储器13。然而, 即使如在传统信息处理系统中一样在CPU板2-1到2-3中的每一个中提 供高速缓冲存储器13,存储器板1也可构造为当从共享存储器12传送数 据时执行根据本发明的数据传送处理和分组长度优化处理。因此,根据本发明的实施方式,在数据传送期间执行的分组长度优 化减小了获得总线权限的等待周期。根据本发明的实施方式,当接收到不同的处理模块对于相同数据的 读取请求时,仅对第一个处理模块的读取请求访问一次共享存储器。响 应于来自其它处理模块的读取请求,可以依次从高速缓冲存储器获取数 据。因此,除了数据传送期间执行的分组长度优化以外,还减小了数据 读取时间和获得总线权限的等待周期。尽管为了完整和清楚的公开而针对特定实施方式描述了本发明,但 是所附权利要求不因此受到限制,而是应该解释为涵盖对于本领域技术 人员容易想到的落入这里描述的基本教导之内的所有修改和替换结构。
权利要求
1、一种数据传送装置,该数据传送装置通过总线连接到多个处理模块,该数据传送装置包括存储单元,该存储单元中存储有所述多个处理模块所需的数据;以及控制单元,当接收到来自所述多个处理模块中的一个处理模块的数据请求时,该控制单元以分别具有最优分组长度的分组的形式从所述存储单元读取所请求的数据,并且以在传送前一个分组的同时读取下一个分组的方式依次传送这些分组,该控制单元基于分组传送时间来设置所述最优分组长度。
2、 根据权利要求l所述的数据传送装置,该数据传送装置还包括 控制数据存储单元,该控制数据存储单元中存储有时间表,该时间表包 含分组读取时间、过去的累积时间、最优分组长度、和分组传送计数, 其中,所述分组读取时间是从存储单元读取预设分组长度的分组所需的 时间,所述过去的累积时间是在过去从所述存储单元读取所请求的数据 开始直到完成所请求的数据的传送的处理所需的时间,所述最优分组长 度是在数据传送时使用的分组的长度,所述分组传送计数是传送整个所 请求的数据需要传送最优分组长度的分组的次数,其中,所述控制单元还包括,数据传送单元,该数据传送单元从所述存储单元以存储在所述时间 表中的最优分组长度的分组读取所请求的数据,并且以在传送前一个分 组的同时读取下一个分组的形式依次传送这些分组,并且测量分组传送 时间,该分组传送时间是从分组传送的开始到完成的时间,以及分组长度优化单元,该分组长度优化单元基于(1)与所述最优分组 长度相关联地存储在所述时间表中的分组读取时间和分组传送计数以及 (2)由所述数据传送单元测量的分组传送时间,来计算总传送时间,并 且如果所计算的总传送时间小于存储在所述时间表中的过去的累积时 间,则改变存储在所述时间表中的最优分组长度,以使得所述分组读取时间和所测量的分组传送时间之间的差最小。
3、 根据权利要求2所述的数据传送装置,其中,如果所述分组读取时间大于所述分组传送时间,则所述分组长度优化单元通过将所述分组 传送时间与所述分组读取时间和所述分组传送计数的乘积相加,来计算 所述总传送时间,并且将通过将当前分组长度除以一预设常数而获得的 值作为所述最优分组长度存储在所述时间表中,并且如果所述分组传送时间大于所述分组读取时间,则所述分组长度优 化单元通过将所述分组读取时间与所述分组传送时间和所述分组传送计 数的乘积相加,来计算所述总传送时间,将通过将当前分组长度乘以一 预设常数而获得的值作为所述最优分组长度存储在所述时间表中,并且 将为传送整个所请求的数据而需要传送的所存储的最优分组长度的分组 的次数作为所述分组传送计数存储在所述时间表中。
4、 一种信息处理系统,该信息处理系统包括 多个处理模块,该多个处理模块分别执行各种处理;以及数据传送装置,该数据传送装置包括存储单元,该存储单元中存储 有所述多个处理模块所需的数据,并且连接到所述多个处理模块,其中所述数据传送装置还包括控制单元,当接收到来自所述多个处理模 块中的一个处理模块的数据请求时,该控制单元从所述存储单元以分别 具有最优分组长度的分组的形式读取所请求的数据,并且以在传送前一 个分组的同时读取下一个分组的方式依次传送这些分组,所述控制单元 基于分组传送时间来设置所述最优分组长度。
5、 根据权利要求4所述的信息处理系统,其中,所述存储单元包括, 共享存储器,该共享存储器中存储有所述多个处理模块所需的所有数据,以及高速缓冲存储器,该高速缓冲存储器中存储有存储在所述共享存储 器中的数据的一部分,其中,所述控制单元执行命中确定,以确定所述处理模块请求的数 据在所述高速缓冲存储器中是否可得到,并且如果所述处理模块请求的 数据在所述高速缓冲存储器中可得到,则所述控制单元以分组的形式读取数据,并依次将这些分组从所述高速缓冲存储器传送到做出请求的处 理模块,并且如果所述处理模块请求的数据在所述高速缓冲存储器中不 可得到,则所述控制单元临时地排列来自所述处理模块的请求并且对于 所排列的请求从最早的请求到最后的请求再次执行命中确定,其中,如 果所请求的数据在所述高速缓冲存储器中可得到,则所述控制单元以分 组的形式读取数据,并依次将这些分组从所述高速缓冲存储器传送到做 出请求的处理模块,并且如果所请求的数据在所述高速缓冲存储器中不 可得到,则所述控制单元以分组的形式读取数据,并依次将这些分组从 所述共享存储器传送到做出请求的处理模块。
全文摘要
本发明涉及一种数据传送装置和信息处理系统。数据传送单元基于管理表和来自CPU板的请求对高速缓冲存储器执行命中确定。如果所请求的数据在高速缓冲存储器中不可得到,则该数据传送单元从共享存储器以时间表中所存储的最优分组长度的分组的形式,以在传送前一个分组的同时读取下一个分组的方式读取并且依次传送所请求的数据。此外,该数据传送单元测量分组传送时间。分组长度优化单元基于数据传送单元计算的分组传送时间和时间表中所存储的数据,改变最优分组长度,以使得分组传送时间和分组读取时间之间的差最小。
文档编号G06F13/38GK101266591SQ20081008641
公开日2008年9月17日 申请日期2008年3月14日 优先权日2007年3月16日
发明者佐藤富由太, 古田昌之 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1