运算装置、计算机系统以及移动机器的制作方法

文档序号:6612043阅读:173来源:国知局
专利名称:运算装置、计算机系统以及移动机器的制作方法
技术领域
本发明涉及多个处理器集成于单芯片的运算装置,尤其涉及被多 个处理器共享的高速缓冲存储器也被集成在一起的运算装置。
背景技术
近几年,有关多个处理器集成于单芯片的运算装置的技术开发十 分活跃。并且,通常为了提高这种运算装置的处理性能,高速缓冲存 储器也被集成在一起。因此,由多个处理器来有效利用高速缓冲存储 器变得很重要。针对该重要性,由多个处理器共享高速缓冲存储器的 各种各样的技术被提出。(例如,参照参考文献l。)
参考文献h日本特开平1-280860号公报
然而,由于所述高速缓冲存储器被多个处理器共享,所以每个处 理器都设有数据端口 (data port),并必须提供与数据端口数量相当的 数据线。在此,数据端口是输出端口和输入端口的总称,该输出端口 用于从高速缓冲存储器读出数据,所述输入端口用于向高速缓冲存储 器写入数据。
例如,以由两个处理器共享可读写128比特数据的高速缓冲存储 器的情况为例进行说明。在这种情况下,至少需要与128比特数量对 应的信号线两套。因此存在以下问题,即使高速缓冲存储器的容量相
同,数据端口为多端口的高速缓冲存储器的电路面积大于数据端口为 单端口的高速缓冲存储器的电路面积。并且,如果处理器的数量增加, 则数据端口的数量也增加。因此,处理器的数量越多,则上述问题越 严重。

发明内容
本发明的目的在于提供一种运算装置,其可以节省电路面积,同 时把多个处理器和被多个处理器共享的高速缓冲存储器集成于单芯 片。
为了达到上述目的,本发明所涉及的运算装置是(a)集成于单芯片 的运算装置,其包括(al)可并行执行多个任务的多个处理器(a2)被所 述多个处理器共享的高速缓冲存储器,(a3)所述高速缓冲存储器包括 多个数据存储部和多个读出数据选择部,(a3-l)所述多个数据存储部 分别具备的数据输出端口是一个端口 , (a3-2)所述多个读出数据选择 部的各选择部与所述多个处理器的各处理器以一对一的关系相对应, 并从所述多个数据存储部中选择存储有被与读出数据选择部相对应的 各处理器读出的数据的数据存储部。
据此,与数据存储部和处理器相连接的部分可以以如读出数据选 择部那样简单的选择电路来构成,从而可以少量硬件数构成具备多个 处理器的运算装置。并且,无需对每个处理器设置数据存储部的数据 输出端口,而多个处理器可共享输出端口。再者,本发明与多端口存 储器相比,可以把单元面积小的单端口存储器作为数据存储部来使用, 从而节省高速缓冲存储器的面积,为低成本化做出贡献。
并且,(b) (bl)所述多个数据存储部分别具备的存储器访问请求输
入端口和数据输入端口分别是一个端口 , (b2)所述高速缓冲存储器包 括多个存储器访问请求选择部,(b2-l)所述多个存储器访问请求选择 部的各选择部与所述多个数据存储部的各存储部以一对一的关系相对 应,并从由被所述多个处理器分别输出的存储器访问请求中选择由正 在执行任务的处理器输出的存储器访问请求,所述任务是被指定给与 存储器访问请求选择部相对应的数据存储部的任务。
据此,因为多个处理器不同时访问同一数据存储部,所以无需对 每个处理器设置数据存储部访问请求输入端口,而多个处理器可共享 输入端口。并且,因为多个处理器部不同时对同一数据存储部进行数 据的写入和读出,所以数据存储部的数据输入端口和数据输出端口可 以被多个处理器共享。再者,本发明与多端口存储器相比,可以把单 元面积小的单端口存储器作为数据存储部来使用,从而节省高速缓冲 存储器的面积,为低成本化做出贡献。并且,因为可以避免对同一数 据存储部的访问发生冲突,所以无需对访问冲突进行调停,从而为提 高处理性能做出贡献。
并且,(c) (cl)所述多个数据存储部分别被分类为多个数据存储区 域中的任一个,所述多个数据存储区域是由一个以上的数据存储部所 构成的各数据存储区域构成的,(c2)所述高速缓冲存储器包括(c2-l) 指定信息保存部,其将指定信息与所述规定的数据存储区域相对应进 行保存,所述指定信息表示对所述多个数据存储区域中规定的数据存 储区域指定了规定的任务;(c2-2)确定部,如果对所述规定的任务发生了再填充,其根据所述指定信息保存部中保存的指定信息从所述多 个数据存储区域中,确定所述规定的数据存储区域作为可再填充的数 据存储区域。
据此,可以避免因随着执行规定的任务而发生的再填充引起的被 指定给其他任务的数据存储部无防备地被改写的情况。并且,由于规 定的任务对规定的数据存储部的访问受到限制,因此可以避免对同一 数据存储部的访问发生冲突。并且,因为多个处理器不同时访问同一 数据存储部,多个处理器可共享存储器访问请求输入端口、数据输入 端口以及数据输出端口。再者,本发明与多端口存储器相比,可以把 单元面积小的单端口存储器作为数据存储部来使用,从而节省高速缓 冲存储器的面积,为低成本化做出贡献。
并且,(d)(dl)高速缓冲存储器也可以是n(n是自然数)路径集联 方式(way set-associative)的高速缓冲存储器,(d2)所述多个数据存 储部的各存储部与所述n个路径的各路径以一对一的关系相对应。
据此,可以通过存在于每个路径中的晶片选择容易地实现对各数 据存储部的管理。
另外,本发明所涉及的计算机系统包括(e) (el)所述运算装置和 (e2)存有指定程序的主存储装置,(e3)执行了所述指定程序的所述运 算装置在所述规定的任务被生成时,从所述多个数据存储区域中,对 所述规定的任务指定所述规定的数据存储区域,并将所述指定信息与 所述规定的数据存储区域相对应地登记到所述指定信息保存部。
据此,即使在多个处理器同时执行多个任务的情况下,也由于各
任务与各数据存储区域相对应而受到管理,因此可以在避免对同一数 据存储区域的访问发生冲突的状态下执行任务。由此,对构成数据存 储区域的一个以上的数据存储部也可以避免访问发生冲突,因此可以 由多个处理器共享存储器访问请求输入端口、数据输入端口和数据输 出端口。再者,本发明与多端口存储器相比,可以把单元面积小的单 端口存储器作为数据存储部来使用,从而节省高速缓冲存储器的面积, 为低成本化做出贡献。
并且,(f)执行了所述指定程序的所述运算装置也可以管理对所述 多个数据存储区域的各区域指定任务的工作,从所述多个数据存储区 域中,按每个任务来指定不同的数据存储区域,并将按每个任务而不 同的指定信息,与按每个任务而不同的数据存储区域相对应地登记到 所述指定信息保存部。
据此,即使在任意的处理器执行任意的任务的情况下,由于按每 个任务指定不同的数据存储区域,因此可以在避免对同一数据存储区 域的访问发生冲突的状态下执行任务。由此,对构成数据存储区域的 一个以上的数据存储部也可以避免访问发生冲突,因此可以由多个处 理器共享存储器访问请求输入端口 、数据输入端口和数据输出端口 。 再者,本发明与多端口存储器相比,可以把单元面积小的单端口存储 器作为数据存储部来使用,从而节省高速缓冲存储器的面积,为低成 本化做出贡献。
并且,(g)执行了所述路径指定程序的所述运算装置,也可以将所 述多个数据存储区域的各区域分类为多个缓存区域中的任一个,管理
对所述多个数据存储区域的各区域指定任务的工作,所述多个缓存区 域的各区域与所述多个处理器的各处理器以一对一的关系相对应,所 述运算装置对所述多个处理器中规定的处理器所执行的任务从规定的 缓存区域中指定数据存储区域,所述规定的缓存区域是所述多个缓存 区域中与所述规定的处理器相对应的规定的缓存区域,所述运算装置 还把多个指定信息与所述规定的缓存区域相对应地登记到所述指定信 息保存部,所述多个指定信息分别识别所述规定的处理器所执行的多 个任务。
据此,即使在被分类为规定的缓存区域的数据存储区域的数量比 规定的处理器所执行的任务的数量还要少的情况下,也可以在避免对 同一数据存储区域的访问发生冲突的状态下执行任务。其原因为,可 访问的数据存储区域按每个处理器受到限制,所以多个处理器不会同 时访问同一数据存储区域。由此,对构成数据存储区域的一个以上的 数据存储部也可以避免访问发生冲突,因此可以由多个处理器共享存 储器访问请求输入端口、数据输入端口和数据输出端口。再者,本发 明与多端口存储器相比,可以把单元面积小的单端口存储器作为数据 存储部来使用,从而节省高速缓冲存储器的面积,为低成本化做出贡献。
并且,(h)执行了所述指定程序的运算装置也可以将构成所述规定 的缓存区域的多个数据存储区域的各区域分类为第一部分缓存区域和 第二部分缓存区域中的任一个,所述规定的处理器所执行的任务是规 定的种类的任务时,从所述第一部分缓存区域中指定数据存储区域,
所述规定的处理器所执行的任务不是规定的种类的任务时,从所述第 二部分缓存区域中指定数据存储区域,所述第一缓存区域由只能指定 给一个任务的数据存储区域构成,所述第二部分缓存区域由可指定给 多个任务的数据存储区域构成。据此,即使在规定的缓存区域中被分类的数据存储区域的数量比 规定的处理器所执行的任务的数量还要少的情况下,也可以在避免对 同一数据存储区域的访问发生冲突的状态下执行任务。其原因为,可 访问的数据存储区域按每个处理器受到限制,所以多个处理器不会同 时访问同一数据存储区域。由此,对构成数据存储区域的一个以上的 数据存储部也可以避免访问发生冲突,因此可以由多个处理器共享存 储器访问请求输入端口、数据输入端口和数据输出端口。再者,本发 明与多端口存储器相比,可以把单元面积小的单端口存储器作为数据 存储部来使用,从而节省高速缓冲存储器的面积,为低成本化做出贡 献。并且,对规定的处理器所执行的多个任务,按照任务指定依任务 而不同的数据存储区域,或指定多个任务可共享的数据存储区域,从 而可降低因任务切换而引起的缓存失败,为提高处理性能做出贡献。 从下面的例子也可以容易地理解上述内容。例如,对规定的处理器所执行的多个任务指定了同一数据存储区 域。在这种情况下,可以对规定的处理器指定多个任务。但是,在这 些任务之间切换任务时容易发生缓存失败。另一方面,设对这些任务指定了不同的数据存储区域。在这种情
况下,无法对规定的处理器指定多个任务。但是,在这些任务之间切 换任务时不易发生缓存失败。
另外,本发明所涉及的运算装置中(i) (il)多个处理器包括以第一 工作速度来工作的第一处理器和以第二工作速度来工作的第二处理 器,所述第二工作速度比第一工作速度慢,(i2)所述多个读出数据选 择部包括与所述第一处理器相对应的第一读出数据选择部和与所述第 二处理器相对应的第二读出数据选择部,(i3)所述高速缓冲存储器包 括速度差调整部,该速度差调整部根据所述第一处理器的工作速度和 所述第二处理器的工作速度的速度差,来调整从所述第二读出数据选 择部输出的数据向所述第二处理器输入的定时。
并且(j) (j 1)所述第一工作速度是所述第二工作速度的k (k是自然 数)倍,(J2)所述高速缓冲存储器的工作时钟与所述第一处理器的工作 时钟相同,(j3)所述速度差调整部包括延迟电路,该延迟电路以所述 高速缓冲存储器的工作时钟为基准进行换算,将从所述第二读出数据 选择部输出的数据向所述第二处理器输入的定时相对于从所述第一读 出数据选择部输出的数据向所述第一处理器输入的定时,延迟k-1个 时钟的时间段。
据此,即使在工作速度不同的多个处理器共享高速缓冲存储器的 情况下,多个处理器的各处理器也可以不在意处理器之间的工作速度 差,而分别以同样的序列进行同时访问。并且,由于可以调整工作速 度差,因此无需在每个处理器设置数据存储部的数据输出端口,而多 个处理器可以共享所述数据输出端口。再者,本发明与多端口存储器
相比,可以把单元面积小的单端口存储器作为数据存储部来使用,从 而节省高速缓冲存储器的面积,为低成本化做出贡献。并且,(k)(kl)所述第一处理器在工作模式为第一模式时,以所述第一工作速度来工作,在工作模式为第二模式时,以所述第二工作速度来工作,(k2)所述速度差调整部在所述第一模式时调整向所述第二 处理器输入的定时,在所述第二模式时不调整向所述第二处理器输入 的定时。据此,即使在工作速度不同的多个处理器共享高速缓冲存储器的 情况下,多个处理器的各处理器也可以不在意处理器之间的工作速度 差,并且也无需在意切换工作速度的定时,而能够分别以同样的序列 进行同时访问。并且,由于可以调整工作速度差,因此无需在每个处 理器设置数据存储部的数据输出端口,而多个处理器可以共享所述数 据输出端口。再者,本发明与多端口存储器相比,可以把单元面积小 的单端口存储器作为数据存储部来使用,从而节省高速缓冲存储器的 面积,为低成本化做出贡献。而且,本发明不仅可以作为运算装置来实现,也可以作为控制运算装置的方法等来实现。并且,也可以如下实现本发明具备运算装置的功能的LSI(Large Scale Integration:大规模集成电路); IP (Intellectual Property)芯片,在FPGA (Field Programmable Gate Array :现场可编禾呈门阵列)、CPLD (Complex Programmable Logic Device:复杂可编程逻辑器件)等可编程逻辑器形成上述功能;以及存 储有该IP芯片的存储介质等。另外,也可以如下实现本发明具备了
运算装置的计算机系统、控制该计算机系统的方法、使运算装置执行 该方法的程序以及存储该程序的存储介质等。进而,也可以如下实现 本发明具备上述计算机系统的移动机器、控制该移动机器的方法、 使移动机器执行上述方法的程序以及存储该程序的存储介质等。以上,通过采用本发明的运算装置,可以避免对同一数据存储部 的访问发生冲突。并且,可以避免因随着执行规定的任务而发生的再 填充引起的被指定给其他任务的数据存储部无防备地被改写的情况。 因此,由于规定的任务对规定的数据存储部的访问受到限制,因此可 以避免对同一数据存储部的访问发生冲突。再者,多个处理器可以共享存储器访问请求输入端口、数据输入 端口以及数据输出端口。再者,本发明与多端口存储器相比,可以把 单元面积小的单端口存储器作为数据存储部来使用,从而节省高速缓 冲存储器的面积,为低成本化做出贡献。并且,与数据存储部和处理器相连接的部分可以以如读出数据选 择部那样简单的选择电路来构成,从而可以少量硬件数构成具备多个 处理器的运算装置。并且,因为可以避免对同一数据存储部的访问发生冲突,所以无 需对访问冲突进行调停,从而为提高处理性能做出贡献。并且,可以通过存在于每个路径中的晶片选择容易地实现对各数 据存储部的管理。另外,通过采用本发明的计算机系统,即使在多个处理器同时执 行多个任务的情况下,由于各任务在与各数据存储区域相对应的状态
下受到管理,因此可在对同一数据存储区域的访问不相互冲突的状态 下执行任务。由此,对构成数据存储区域的一个以上的数据存储部也可以避免 访问发生冲突,因此多个处理器可以共享存储器访问请求输入端口、 数据输入端口和数据输出端口。再者,本发明与多端口存储器相比, 可以把单元面积小的单端口存储器作为数据存储部来使用,从而节省 高速缓冲存储器的面积,为低成本化做出贡献。并且,即使在任意的处理器执行任意的任务的情况下,由于对每 个任务指定不同的数据存储区域,因此可以在避免对同一数据存储区 域的访问发生冲突的状态下执行任务。并且,即使在被分类为规定的缓存区域的数据存储区域的数量比 规定的处理器所执行的任务的数量还要少的情况下,也可以在避免对 同一数据存储区域的访问发生冲突的状态下执行任务。其原因为可 访问的数据存储区域按每个处理器受到限制,所以多个处理器不会同 时访问同一数据存储区域。并且,对规定的处理器所执行的多个任务指定不同的数据存储区 域,从而可降低因任务切换而引起的缓存失败,为提高处理性能做出 贡献。例如,对规定的处理器所执行的多个任务指定同一数据存储区 域。在这种情况下,可以对规定的处理器指定多个任务。但是,在这 些任务之间切换任务时容易发生缓存失败。另一方面,设对这些任务 指定了不同的数据存储区域。在这种情况下,无法对规定的处理器指 定多个任务。但是,在这些任务之间切换任务时不容易发生缓存失败。
如上所述,通过采用本发明,即使在多个处理器同时执行多个任 务的情况下,由于各任务在与高速缓冲存储器的各数据存储区域相对 应的状态下受到管理,因此可在对高速缓冲存储器的同一数据存储区 域的访问不相互冲突的状态下执行任务。其结果为,由于在可以避免 对同一数据存储区域的访问发生冲突的状态下执行任务,因此多个处 理器可以共享存储器访问请求输入端口、数据输入端口和数据输出端 口。并且,本发明与多端口存储器相比,作为数据存储部可以使用单 元面积小的单端口存储器,从而节省高速缓冲存储器的面积,为低成 本化做出贡献。并且,本发明与访问发生冲突而需要调停的情况相比, 为提高性能做出贡献。


图1是示出本发明所涉及的实施例1的计算机系统的结构图。图2是示出本发明所涉及的实施例1的存储器访问请求/写入数据 选择部的结构图。图3是示出本发明所涉及的实施例1的读出数据选择部的结构图。 图4是示出本发明所涉及的实施例1的区域管理部的结构图。 图5是示出本发明所涉及的实施例1的路径管理表的数据构成图。 图6是示出本发明所涉及的实施例1的路径指定处理流程图。 图7是示出本发明所涉及的实施例2的计算机系统的结构图。 图8是示出本发明所涉及的实施例2的路径管理表的数据构成图。 图9是示出本发明所涉及的实施例2的路径指定处理流程图。 图10是示出本发明所涉及的实施例3的计算机系统的结构图。 图11是示出本发明所涉及的实施例3的路径管理表的数据构成图。图12是示出本发明所涉及的实施例3的路径指定处理流程图。 图13是示出本发明所涉及的实施例4的计算机系统的结构图。 图14是示出本发明所涉及的实施例4的标签速度差调整部的结构图。图15是示出本发明所涉及的实施例4的读出数据速度差调整部的 结构图。图16是示出本发明所涉及的实施例4的工作波形的时序图。 图17是示出本发明所涉及的实施例4的工作波形的时序图。 图18是示出本发明所涉及的实施例5的计算机系统的结构图。 图19是示出本发明所涉及的实施例5的标签速度差调整部的结构图。图20是示出本发明所涉及的实施例5的读出数据速度差调整部的 结构图。图21是示出本发明所涉及的实施例5的工作波形的时序图。 图22是示出本发明所涉及的实施例6的移动机器的结构图。
具体实施方式
(实施例1)以下,参照

本发明所涉及的实施例l。本实施例所涉及的运算装置具备下列(a)至(d)所示的特征。(a)该装置是集成于单芯片的运算装置,其包括(al)可并行执行多个任务的多个处理器(a2)被多个处理器共享的高速缓冲存储器,(a3) 高速缓冲存储器包括多个数据存储部和多个读出数据选择部,(a3-l) 各数据存储部具备的数据输出端口是一个端口, (a3-2)各读出数据选 择部与各处理器以一对一的关系相对应,并从多个数据存储部中选择 一个数据存储部,该数据存储部存有被与读出数据选择部相对应的处 理器读出的数据。(b) (bl)各数据存储部具备的存储器访问请求输入端口和数据输 入端口分别是一个端口, (b2)高速缓冲存储器包括多个存储器访问请 求选择部,(b2-l)各存储器访问请求选择部与各数据存储部以一对一 的关系相对应,并从被多个处理器分别输出的存储器访问请求中选择 一个存储器访问请求,该存储器访问请求由正在执行任务的处理器输 出,所述任务是被指定给与存储器访问请求选择部相对应的数据存储 部的任务。(c) (cl)各数据存储部被分类为多个数据存储区域中的任一个,所 述多个数据存储区域是由一个以上的数据存储部所构成的各数据存储 区域构成的,(c2)高速缓冲存储器包括(c2-l)指定信息保存部,其将 指定信息与规定的数据存储区域相对应地进行保存,所述指定信息表 示对规定的数据存储区域指定了规定的任务;(c2-2)确定部,如果对 规定的任务发生了再填充,所述确定部根据指定信息保存部中保存的 指定信息从多个数据存储区域中,确定规定的数据存储区域作为可再 填充的数据存储区域。(d) (dl)高速缓冲存储器是n(n是自然数)路径集联方式的高速缓 冲存储器,(d2)各数据存储部与各路径以一对一的关系相对应。并且,具备本实施例所涉及的运算装置的计算机系统具备下列(e) 和(f)所示的特征。(e) 该系统包括(el)所述运算器;(e2)存有指定程序的主存储装 置,(e3)执行了指定程序的运算装置在规定的任务被生成时,从多个 数据存储区域中,对规定的任务指定规定的数据存储区域,并将指定 信息与规定的数据存储区域相对应地登记到指定信息保存部。(f) 执行了指定程序的运算装置管理对各数据存储区域指定任务 的工作,从多个数据存储区域中,按每个任务来指定不同的数据存储 区域,并将按每个任务而不同的指定信息,与按每个任务而不同的数 据存储区域相对应地登记到指定信息保存部。在上述的基础上,以具备本实施例所涉及的运算装置的计算机系 统为例进行说明。首先说明本实施例所涉及的计算机系统的结构。图1是示出本实施例所涉及的计算机系统的结构图。如图1所示, 计算机系统100包括运算装置101,在该运算装置中,处理器102-1 和102-2以及高速缓冲存储器103等集成于单芯片。所述计算机系统 100还包括主内存110,该主内存110中存有任务A171、任务B172以 及操作系统181等。处理器102-1预先在操作系统181的控制下生成任务,例如生成 任务A171、任务B172。此时,处理器102-1执行路径指定程序182。 相应地,正在执行路径指定程序182的处理器102-1参照路径管理表
183来决定可以指定给所生成的任务的路径。处理器102-1生成路径确 定信息,该路径确定信息是使所决定的路径和所生成的任务相关联的 信息。并且,将所生成的路径确定信息经由信号线163-1输出到高速 缓冲存储器103。在此,路径确定信息包括任务的识别信息(以下称为 任务ID)和路径的识别信息(以下称为路径号码)。此后,处理器102-1在执行任务时,经由信号线154-1向高速缓 冲存储器103输出任务ID,该任务ID被指定给要执行的任务。正在执 行任务的过程中访问高速缓冲存储器103时,处理器102-1经由信号 线151-1向高速缓冲存储器103输出包含访问处地址的存储器访问请 求。此时,访问请求以写入为目的时,处理器102-1经由信号线152-1 向高速缓冲存储器103写入数据。如果访问请求以读出为目的,则处 理器102-1经由信号线153-1从高速缓冲存储器103读出数据。在此, 所需信号线152-1和信号线153-1的数量与数据的传送尺寸相对应。再者,由于处理器102-2与处理器102-1的结构相同,因此省略 其说明。并且,处理器102-2可执行的指令组与处理器102-1可执行 的指令组相同。高速缓冲存储器103是n(n是正整数)路径集联方式的高速缓冲存 储器。在此,作为一个例子,所述高速缓冲存储器103包括标签存储 器104、数据存储器105、存储器访问请求/写入数据选择部106-1至 106-n、读出数据选择部107-1和107-2、区域管理部108以及缓存命 中判断部109-1至109-2n等。标签存储器104由多端口存储器104-1至104-n构成。多端口存
储器104-1至104-n分别与路径1至n相对应。多端口存储器是具有多个可独立访问的端口的存储器。在此,作 为例子所举出的存储器中,标签请求输入端口及标签输出端口的各端 口数与处理器的数量相同。在此,标签请求输入端口是标签请求被输 入的端口,该标签请求是从处理器被输出的。标签输出端口是标签被 输出的端口,该标签与被输入的标签请求相对应。例如,在多端口存储器104-1中,与信号线151-l相连接的各端 口以及与信号线151-2相连接的各端口相当于标签请求输入端口。同 时,与信号线156-1相连接的各端口以及与信号线156-2相连接的各 端口相当于标签输出端口。数据存储器105由单端口存储器105-1至105-n构成。单端口存 储器105-1至105-n分别与路径1至n相对应。单端口存储器只具有一个可独立访问的端口。在此,作为例子举 出的存储器中,假设存储器访问请求输入端口、数据输入端口以及数 据输出端口的各端口数是一个。在此,存储器访问请求输入端口是存 储器访问请求被输入的端口,所述存储器访问请求是从处理器被输出 的。数据输入端口是数据被输入的端口,所述数据是从处理器被写入 的。数据输出端口是数据被输出的端口,所述数据是被处理器读出的。例如,在单端口存储器105-1中,与信号线157-1相连接的端口 相当于存储器访问请求输入端口。与信号线158-1相连接的端口相当 于数据输入端口 。与信号线159-1相连接的端口相当于数据输出端口 。单端口存储器105-1中存有被任务读出的数据或从该任务写入的 数据,所述任务与路径1相对应。多端口存储器104-1中存有与单端 口存储器105-1所存储的数据相关联的标签。再者,由于单端口存储器105-2至105-n和单端口存储器105-1 的结构相同,因此省略其说明。由于多端口存储器104-2至104-n和 多端口存储器104-1的结构相同,因此省略其说明。在此,数据存储器105所存储的数据的尺寸远远大于标签存储器 104所存储的标签的尺寸。因此,只是数据存储器105由单端口存储器 来构成也能够为节省电路面积做出贡献。存储器访问请求/写入数据选择部106-1至106-n分别与单端口存 储器105-1至105-n以一对一的关系相对应,并从处理器102-1和 102-2分别输出的存储器访问请求中至少选择一个存储器访问请求,该 存储器访问请求从正在执行任务的处理器输出,所述任务是被指定给 与数据选择部相对应的单端口存储器的任务。读出数据选择部107-1和107-2分别与处理器102-1和102-2以 一对一的关系相对应,并从单端口存储器105-1至105-n中至少选择 一个单端口存储器,该单端口存储器中存储与数据选择部相对应的处 理器读出的数据。区域管理部108中保存有与规定的路径相对应的路径信息,该路 径信息表示对规定的路径指定了规定的任务,如果对规定的任务发生 了再填充,根据所保存的路径信息,从n个路径中确定所规定的路径 作为可再填充的路径。标签从标签存储器104-1经由信号线156-1被输入到缓存命中判
断部109-1。存储器访问请求从处理器102-1经由信号线151-1被输入 到缓存命中判断部109-1。缓存命中判断部109-1将被输入的标签与被输入的存储器访问请 求所包含的地址进行比较。并将比较后的结果作为缓存命中信息来输 出。例如,缓存命中判断部109-1在标签和地址相一致的情况下,艮卩, 命中了缓存的情况下,作为缓存命中信息输出O。另一方面,在标签和 地址不一致的情况下,即,未命中的情况下,则缓存命中判断部109-1 作为缓存命中信息输出1。标签从标签存储器104-1经由信号线156-2被输入到缓存命中判 断部109-2。存储器访问请求从处理器102-2经由信号线151-2被输入 到缓存命中判断部109-2。缓存命中判断部109-2将被输入的标签与被输入的存储器访问请 求所包含的地址进行比较。并将比较后的结果作为缓存命中信息来输 出。例如,缓存命中判断部109-2在标签和地址相一致的情况下,艮卩, 命中了缓存的情况下,作为缓存命中信息输出O。另一方面,在标签和 地址不一致的情况下,即,未命中的情况下,则缓存命中判断部109-2 作为缓存命中信息输出1。再者,缓存命中判断部109-3至109-(2n-l)与缓存命中判断部 109-1的结构相同,因此省略其说明。缓存命中判断部109-4至109-2n 与缓存命中判断部109-2的结构相同,因此省略其说明。地址和访问请求从高速缓冲存储器103经由信号线161被输入到 主内存110。
主内存110具备存储器控制器(不予图示)。存储器控制器(不予图 示)在访问请求是写入请求的情况下,将从高速缓冲存储器103经由信 号线162被输入的数据从地址进行写入。在访问请求是读出请求的情 况下,存储器控制器经由信号线162向高速缓冲存储器103输出从地 址读出的数据。图2是示出本实施例所涉及的存储器访问请求/写入数据选择部 106-1至106-n的结构图。如图2所示,存储器访问请求/写入数据选 择部106-1包括存储器访问信号选择电路111-1和写入数据选择电路 112-1等。缓存命中信息(以下称为第一缓存命中信息)作为控制信号被输入到存储器访问信号选择电路in-1,所述缓存命中信息是经由信号线155-1从缓存命中判断部109-1被输出的。缓存命中信息(以下称为第 二缓存命中信息)作为控制信号被输入到存储器访问信号选择电路 111-1,所述缓存命中信息是经由信号线155-2从缓存命中判断部 109-2被输出的。存储器访问信号选择电路in-i按照所输入的第一缓存命中信息 和第二缓存命中信息来选择输入源。若存储器访问请求从所选择的输 入源被输入,存储器访问信号选择电路111-1就经由信号线157-1向 单端口存储器105-1输出被输入的存储器访问请求。例如,设被输入到存储器访问信号选择电路111-1的第一缓存命 中信息是0,第二缓存命中信息是l。并且,从处理器102-1被输出的 存储器访问请求(以下称为第一存储器访问请求)经由信号线151-1被
输入到存储器访问信号选择电路111-1。在这种情况下,存储器访问信号选择电路111-1经由信号线157-1向单端口存储器105-1输出第一 存储器访问请求。另外,设被输入到存储器访问信号选择电路111-1的第一缓存命 中信息是l,第二缓存命中信息是O。并且,从处理器102-2输出的存 储器访问请求(以下称为第二存储器访问请求)经由信号线151-2被输 入到存储器访问信号选择电路111-1。在这种情况下,存储器访问信号 选择电路111-1经由信号线157-1向单端口存储器105-1输出第二存 储器访问请求。另外,设被输入到存储器访问信号选择电路111-1的第一缓存命 中信息是l,第二缓存命中信息也是l。在这种情况下,存储器访问信 号选择电路111-1不输出第一存储器访问请求及第二存储器访问请求。另外,设被输入到存储器访问信号选择电路111-1的第一缓存命 中信息是0,第二缓存命中信息也是O。在这种情况下,存储器访问信 号选择电路lll-l不输出第一存储器访问请求及第二存储器访问请求。从缓存命中判断部109-1被输出的缓存命中信息(以下称为第一缓 存命中信息)经由信号线155-1作为控制信号被输入到写入数据选择电 路112-1。并且,从缓存命中判断部109-2被输出的缓存命中信息(以 下称为第二缓存命中信息)经由信号线155-2作为控制信号被输入到写 入数据选择电路112-1 。写入数据选择电路112-1按照被输入的第一缓存命中信息和第二 缓存命中信息来选择输入源。若写入数据从所选择的输入源被输入,
写入数据选择电路112-1就经由信号线158-1向单端口存储器105-1 输出被输入的写入数据。例如,设被输入到写入数据选择电路112-1的第一缓存命中信息 是0,第二缓存命中信息是l。并且,从处理器102-1被输出的写入数 据(以下称为第一写入数据)经由信号线152-1被输入到写入数据选择 电路112-l。在这种情况下,写入数据选择电路112-1经由信号线158-1 向单端口存储器105-1输出第一写入数据。另外,设被输入到写入数据选择电路112-1的第一缓存命中信息 是l,第二缓存命中信息是O。并且,从处理器102-2被输出的写入数 据(以下称为第二写入数据)经由信号线152-2被输入到写入数据选择 电路112-1。在这种情况下,写入数据选择电路112-1经由信号线158-1 向单端口存储器105-1输出第二写入数据。另外,设被输入到写入数据选择电路112-1的第一缓存命中信息 是1,第二缓存命中信息也是1。在这种情况下,写入数据选择电路 112-1不输出第一写入数据及第二写入数据。另外,设被输入到写入数据选择电路112-1的第一缓存命中信息 是0,第二缓存命中信息也是0。在这种情况下,写入数据选择电路 112-1不输出第一写入数据及第二写入数据。再者,存储器访问请求/写入数据选择部106-2至106-n与存储器 访问请求/写入数据选择部106-1的结构相同,因此省略其说明。图3是示出本实施例所涉及的读出数据选择部107-1和107-2的 结构图。如图3所示,读出数据选择部107-1包括读出数据选择电路113-1等。缓存命中信息(以下称为第一缓存命中信息、......、第2n-l缓存命中信息)经由信号线155-1至155-(2n-l)作为控制信号分 别被输入到读出数据选择电路113-1,所述缓存命中信息是从缓存命中 判断部109-1至109-(2n-l)分别被输出的。读出数据选择电路113-1按照分别被输入的第一缓存命中信息、......、第2n-l缓存命中信息来选择输入源。若读出数据从所选择的输入源被输入,读出数据选择电路113-1就经由信号线 153-1向处理器102-1输出被输入的读出数据。例如,设分别被输入到读出数据选择电路113-1的第一缓存命中信息、......、第2n-l缓存命中信息中第i缓存命中信息是0,其他缓存命中信息是1。并且,从单端口存储器105-i输出的读出数据 (以下称为第i读出数据)经由信号线159-1至159-n中的信号线159_i 被输入。在这种情况下,读出数据选择电路113-1经由信号线153-1 向处理器102-1输出第i读出数据。另外,设分别被输入到读出数据选择电路113-1的第一缓存命中信息、......、第2n-l缓存命中信息中多个缓存命中信息是0。在这种情况下,读出数据选择电路113-1不输出任何读出数据。另外,设分别被输入到读出数据选择电路113-1的第一缓存命中信息、......、第2n-1缓存命中信息中所有的缓存命中信息都是l。在这种情况下,读出数据选择电路113-1不输出任何读出数据。再者,读出数据选择部107-2与读出数据选择部107-1的结构相 同,因此省略其说明。图4是示出本实施例所涉及的区域管理部108的结构图。如图4 所示,区域管理部108包括路径信息保存部114、比较器115-1至 115-2n、路径决定部116-1和116-2、"与非"(NAND: not and)电路 118-1和118-2,调停部119以及任务ID输入寄存器120-1和任务ID 输入寄存器120-2等。路径信息保存部114由路径信息保存区域114-1至114-n构成。 路径信息保存区域114-1至114-n中分别保存有与路径1至n相对应 的路径信息。各路径信息保存区域中对从0到m(m是正整数)为止的任 务ID,分别设定enable(有效)及disable (失效)中的某一个指定信息。 再者,设disable为初始值。并且,任务被生成时,根据路径指定程序182指定信息(enable) 被登记到路径信息保存区域,所述指定信息表示所生成的任务己被指 定,所述路径信息保存区域与对所生成的任务指定的路径相对应。另 外,当任务被删除时,根据路径指定程序182,指定信息(enable)从路 径信息保存区域中被删除,该指定信息表示被删除的任务已被指定, 所述路径信息保存区域与对被删除的任务而指定的路径相对应。再者, 若enable被删除,则变成disable。路径信息保存区域114-1中保存有路径信息,该路径信息是有关 路径1的,该路径1包括多端口存储器104-1和单端口存储器105-1。 所述路径信息中,对被指定给路径1的任务ID设为enable,对其他的 任务ID设为disable。再者,路径信息保存区域114-2至l 14-n与路 径信息保存区域114-1的结构相同,因此省略其说明。并且,路径信息分别从处理器102-1和102-2经由信号线163-1 和163-2被输入到路径信息保存部114。路径信息保存部114将分别被输入的路径信息保存到相对应的路 径信息保存区域。路径信息从路径信息保存区域114-1经由信号线162-1被输入到 比较器115-1。任务ID从任务ID寄存器120-1经由信号线164-1被输 入到比较器115-1。比较器115-1将被输入的路径信息与被输入的任务ID进行比较, 并将比较后的结果作为路径一致信息输出。路径信息从路径信息保存区域114-1经由信号线162-1被输入到 比较器115-2。任务ID从任务ID寄存器120-2经由信号线164-2被输 入到比较器115-2。比较器115-2将被输入的路径信息与被输入的任务ID进行比较。 并将比较后的结果作为路径一致信息输出。再者,比较器115-3至115-(2n-l)与比较器115-1的结构相同, 因此省略其说明。比较器115-4至115-2n与比较器115-2的结构相同, 因此省略其说明。路径一致信息分别从比较器115-1至115-(2n-l)经由信号线 165-1至165-(2n-l)被输入到路径决定部116-1。路径决定部116-1根据分别被输入的路径一致信息来决定再填充 对象的路径。关于所决定的信息作为再填充路径信息被输出。 再者,路径决定部116-2与路径决定部116-1的结构相同,因此 省略其说明。缓存命中信息分别从缓存命中判断部109-1至109-(2n-l)经由信 号线155-1至155-(2n-l)被输入到"与非"电路118_1。分别被输入到"与非"电路118-1的缓存命中信息全部都是1的 情况下,"与非"电路118-1作为控制信息输出O。除此之外的情况, "与非"电路118-1则作为控制信息输出1。再者,"与非"电路118-2 和"与非"电路118-1的结构相同,因此省略其说明。若从"与非"电路118-1被输出的控制信息经由信号线161-1被 输入到调停部119,调停部119就根据所输入的控制信息来判断对指定 给处理器102-1的路径是否需要进行再填充。例如,设被输入到调停部119的控制信息是1。在这种情况下,由 于命中了缓存,调停部119则判断被指定给处理器102-1的路径无需 再填充。另一方面,设被输入到调停部119的控制信息是0。在这种情况下, 由于未命中缓存,调停部119则判断被指定给处理器102-1的路径需 要再填充。然后,调停部119将再填充路径指示经由信号线160向标 签存储器104和数据存储器105输出,所述再填充路径指示用于指示 对指定给处理器102-1的路径进行再填充。此时,根据经由信号线 166-1从路径决定部116-1被输出的再填充路径信息,指定给处理器 102-1的路径被确定。同样,若从"与非"电路118-2被输出的控制信息经由信号线161-2
被输入到调停部119,调停部119就根据所输入的控制信息来判断指定 给处理器102-2的路径是否需要再填充。例如,设输入到调停部119的控制信息是1。在这种情况下,调停 部119判断命中了缓存,并判断指定给处理器102-2的路径无需再填 充。另一方面,设被输入到调停部119的控制信息是0。在这种情况下, 调停部119判断未命中缓存,并判断指定给处理器102-2的路径需要 再填充。然后,调停部119将再填充路径指示经由信号线160向标签存储 器104和数据存储器105输出,所述再填充路径指示用于指示对指定 给处理器102-2的路径进行再填充。此时,根据经由信号线166-2从 路径决定部116-2被输入到调停部119的再填充信息,指定给处理器 102-2的路径被确定。并且,若从区域管理部108输出的再填充路径指示经由信号线160 被输入到缓存控制器(不予图示),缓存控制器就根据所输入的再填充 路径指示来确定再填充的路径,所述缓存控制器控制标签存储器104 和数据存储器105。并且,所述缓存控制器从主内存110读出数据,并将所读出的数据写入所确定的路径。再者,如果多数存在作为再填充 对象的路径,则根据LRU (Least Recently Used:最近最少使用)方式、 FIFO(First In First Out:先进先出)方式、随机方式等来确定再填 充的路径。任务ID从处理器102-1经由信号线154-1被输入到任务ID输入 寄存器120-1。任务ID输入寄存器120-1保存被输入的任务ID。
再者,任务ID输入寄存器120-2与任务ID输入寄存器120-1的 结构相同,因此省略其说明。其次,对本实施例所涉及的路径管理表的数据构成进行说明。 图5是示出本实施例所涉及的路径管理表的数据构成图。如图5 所示,路径管理表183是与路径和任务相对应的表。在各任务ID中, 可指定给持该任务ID的任务的路径被设为enable。不可指定给持该任 务ID的任务的路径被设为disable。例如,可以对任务ID是0的任务 指定路径l。例如,有关路径管理表183中路径1的行的路径信息被保存在路 径信息保存区域114-1。同样,有关路径管理表183中路径n的行的路 径信息被保存在路径信息保存区域114-n。其次,对按照本实施例所涉及的路径指定程序来执行的路径指定 处理进行说明。图6是示出本实施例所涉及的路径指定处理的流程图。如图6所 示,在操作系统181的控制下,若任务被生成(S101:Yes),路径指定 程序182就由处理器102-1和102-2中的任一个来执行。具体而言, 执行了路径指定程序182的处理器参照路径管理表183(S102),并按照 所参照的路径管理表183来决定可指定的路径(S103)。此时,按每个 任务来选择不同的路径。并且,处理器选择了可指定的路径之后,向路径信息保存区域登 记指定信息(enable) (S104),该指定信息表示所生成的任务已被指定, 所述路径保存区域是构成路径信息保存部114的路径信息保存区域中,
与所选择的路径相对应的路径信息保存区域。路径信息保存部114被更新(S105)。另外,若任务被删除(S106),处理器就参照路径管理表183(S107) 确定被开放的路径(S108)。从路径信息保存区域删除指定信息 (enable),该指定信息表示已被删除的任务被指定之事宜,所述路径 信息保存区域是构成路径信息保存部114的路径信息保存区域中,与 所确定的路径相对应的路径信息保存区域(S109)。路径信息保存部114 被更新(SllO)。以上,通过采用本实施例所涉及的运算装置IOI,与数据存储部和 处理器相连接的部分可以以如读出数据选择部那样简单的选择电路来 构成,从而可以少量硬件数构成具备多个处理器的运算装置。并且,可以避免因随着执行规定的任务而发生的再填充引起的被 指定给其他任务的数据存储部无防备地被改写的情况。并且,由于规 定的任务对规定的数据存储部的访问受到限制,因此可以避免对同一 数据存储部的访问发生冲突。并且,因为多个处理器不同时访问同一数据存储部,所以无需对 每个处理器设置数据存储部的存储器访问请求输入端口,而多个处理 器可共享输入端口。并且,因为多个处理器不同时对同一数据存储部进行数据的写入 和读出,所以多个处理器可以共享数据存储部的数据输入端口和数据 输出端口。再者,本发明与多端口存储器相比,可以把单元面积小的单端口
存储器作为数据存储部来使用,从而节省高速缓冲存储器的面积,为 低成本化做出贡献。并且,因为可以避免对同一数据存储部的访问发 生冲突,所以无需对访问冲突进行调停,从而为提高处理性能做出贡 献0而且,通过采用本实施例所涉及的计算机系统100,即使多个处理器同时执行多个任务,也由于各任务与各数据存储区域相对应而受到 管理,因此可以在避免对同一数据存储区域的访问发生冲突的状态下执行任务。并且,即使在任意的处理器执行任意的任务的情况下,由于按每 个任务指定不同的数据存储区域,因此可以在避免对同一数据存储区 域的访问发生冲突的状态下执行任务。再者,因为也可以避免对构成数据存储区域的一个以上的数据存 储部的访问发生冲突,所以多个处理器可以共享存储器访问请求输入 端口、数据输入端口以及数据输出端口。再者,本发明与多端口存储 器相比,可以把单元面积小的单端口存储器作为数据存储部来使用, 从而节省高速缓冲存储器的面积,为低成本化做出贡献。再者,本实施例中示出由两个处理器构成的运算装置101,但并不限定为两个处理器,即使是三个以上的处理器也可以适用。同时,本实施例中,对每个任务指定不同的数据存储区域。但是,如果允许因发生再填充而引起的处理性能低下,也可以对多个任务中的一部分任务指定同一数据存储区域。并且,本实施例中,对一个任务指定一个路径。但也可以对一个
任务指定多个路径。例如,设各路径被分类到多个数据存储区域中的 任一个,该多个数据存储区域由一个以上的路径所构成的各数据存储区域而构成。并且,执行了路径指定程序182的运算装置101在任务 被生成时,对所生成的任务指定多个数据存储区域中的数据存储区域, 并将路径信息登记到与该数据存储区域相对应的路径信息保存部114。 (实施例2)下面参照附图,说明本发明所涉及的实施例2。 本实施例所涉及的计算机系统具备下列(g)所示的特征。 (g)执行了路径指定程序的运算装置管理对各数据存储区域指定 任务的工作,所述各数据存储区域被分类为多个缓存区域中的任一个, 该多个缓存区域的各缓存区域与各处理器以一对一的关系相对应,所 述运算装置对多个处理器中规定的处理器所执行的任务从规定的缓存 区域指定数据存储区域,所述规定的缓存区域是多个缓存区域中与规 定的处理器相对应的规定的缓存区域,所述运算装置还把多个指定信 息与规定的缓存区域相对应地登记到指定信息保存部,所述多个指定 信息分别识别规定的处理器所执行的多个任务。在上述的基础上,说明本实施例所涉及的计算机系统。再者,与 实施例1所涉及的结构相同的结构,标有同一参考符号并省略其说明。 首先,说明本实施例所涉及的计算机系统的结构。 图7是示出本实施例的计算机系统的结构图。如图7所示,计算 机系统200与实施例1所涉及的计算机系统100相比(例如,参照图1) 代替主内存110而具备主内存210。并且,主内存210中代替操作系统181而设有操作系统281。操作系统281与操作系统181相比不同之处 为代替路径指定程序182和路径管理表183而具有路径指定程序282 和路径管理表283。设路径指定程序282由处理器102-1和102-2中的某一个来执行。 路径1至n被分类到第一缓存区域和第二缓存区域。第一缓存区域是 对处理器102-1所执行的任务指定的路径所属的区域。第二缓存区域 是对处理器102-2所执行的任务指定的路径所属的区域。在这种情况下,执行了路径指定程序282的处理器将多个任务分 类为由处理器102-1执行的任务和由处理器102-2执行的任务。从第 一缓存区域对由处理器102-1来执行的任务指定路径。从第二缓存区 域对由处理器102-2来执行的任务指定路径。其次,对本实施例所涉及的路径管理表的数据构成进行说明。图8是示出本实施例所涉及的路径管理表的数据构成图。如图8 所示,路径管理表283是执行处理器和路径以及任务相对应的表。在 各任务ID中,可指定给持该任务ID的任务的路径被设为enable。不 可指定给持该任务ID的任务的路径被设为disable。例如,可以对任 务ID为0和1的任务指定路径1和2(以下称为第一缓存区域)可以对 任务ID为2至m的任务指定路径3至n (以下称为第二缓存区域)。并 且,设处理器102-1和102-2中的某一个执行持各个任务ID的任务。 例如,处理器102-1执行任务ID为0和1的任务。处理器102-2执行 任务ID为2至m的任务。艮P,根据执行了路径指定程序282的处理器,从第一缓存区域对 处理器102-1所执行的任务(任务ID为0和1的任务)指定路径。而从 第二缓存区域对处理器102-2所执行的任务(任务ID为2至m的任务) 指定路径。其次,对按照本实施例所涉及的路径指定程序来执行的路径指定 处理进行说明。图9是示出本实施例所涉及的路径指定处理的流程图。如图9所 示,在操作系统281的控制下,若任务被生成(S101:Yes),则处理器 102-1和102-2中的任一个执行路径指定禾呈序282。具体而言,执行了 路径指定程序282的处理器参照路径管理表2S3(S102),并按照所参照 的路径管理表283来决定可指定的路径(S203)。此时,从第一缓存区域对处理器102-1所执行的任务选择路径。 另外,从第二缓存区域对处理器102-2所执行的任务选择路径。并且,选择了可指定的路径之后,处理器向路径保存区域登记指 定信息(enable),该指定信息表示所生成的任务已被指定,所述路径 保存区域是构成路径信息保存部114的路径信息保存区域中,与选择 出的路径相对应的路径保存区域(S104)。路径信息保存部114被更新 (S105)。同时,若任务被删除(S106),处理器就参照路径管理表283(S107) 确定被开放的路径(S108)。并从与所确定的路径相对应的路径信息保 存区域删除表示已被删除的任务被指定之事的指定信息 (enable) (S109)。路径信息保存部114被更新(SllO)。以上,通过采用本实施例所涉及的计算机系统200,即使在规定的 缓存区域中被分类的数据存储区域的数量比规定的处理器所执行的任 务的数量还要少的情况下,也可以在避免对同一数据存储区域的访问 发生冲突的状态下执行任务。其原因为,可访问的数据存储区域按每 个处理器受到限制,所以多个处理器不会同时访问同一数据存储区域。 由此,也可以避免对构成数据存储区域的一个以上的数据存储部 的访问发生冲突,因此多个处理器可以共享存储器访问请求输入端口、 数据输入端口和数据输出端口。再者,本发明与多端口存储器相比, 可以把单元面积小的单端口存储器作为数据存储部来使用,从而节省 高速缓冲存储器的面积,为低成本化做出贡献。例如,实施例1所涉及的计算机系统100中有必要把所有的任务 指定给不同的路径,所以存在以下问题,运算装置101具有的路径数n 少于任务的数量m的情况下就不能直接使用。与此相对,根据本实施例所涉及的计算机系统200则可以解决这 种问题。如果由预先被设定的处理器102-1或102-2来执行任务,就不会 使同时被执行的任务对同一存储区域的访问发生冲突,也不会发生由 于单方的处理器对缓存的访问使另一个处理器对缓存的访问发生等 待,从而可以提高处理性能。并且,本实施例中指定由多个路径组成 的数据存储区域,但是各数据存储区域只要由一个以上的路径构成即 可,因此本实施例所需的路径数只要与处理器的个数相同即可。(实施例3)其次参照

本发明的实施例3。
本实施例所涉及的计算机系统具备下列(h)所示的特征。 (h)执行了指定程序的运算装置将构成规定的缓存区域的多个数 据存储区域的各区域分类为第一部分缓存区域和第二部分缓存区域中 的任一个,规定的处理器所执行的任务是规定的种类的任务时,从第 一部分缓存区域中指定数据存储区域,规定的处理器所执行的任务不 是规定的种类的任务时,从第二部分缓存区域中指定数据存储区域, 所述第一缓存区域由只能指定给一个任务的数据存储区域构成,所述 第二部分缓存区域由可指定给多个任务的数据存储区域构成。在上述的基础上,说明本实施例所涉及的计算机系统。再者,与实施例2所涉及的结构相同的结构,标有同一参考符号并省略其说明。 图10是示出本实施例的计算机系统的结构图。如图IO所示,计 算机系统300与实施例2所涉及的计算机系统200相比(例如,参照图 7)代替主内存210而具备主内存310。并且,主内存310中代替操作系 统281而设有操作系统381。操作系统381与操作系统281相比不同之 处为代替路径指定程序282和路径管理表283而具有路径指定程序382 和路径管理表383。设处理器102-1和102-2中的任一个执行路径指定程序382。路径 1至n被分类到第一缓存区域和第二缓存区域。第一缓存区域是对处理 器102-1所执行的任务指定的路径所属的区域。第二缓存区域是对处 理器102-2所执行的任务指定的路径所属的区域。在这种情况下,执行了路径指定程序382的处理器将多个任务分 类为处理器102-1执行的任务和处理器102-2执行的任务。从第一缓
存区域对处理器102-1所执行的任务指定路径。从第二缓存区域对处 理器102-2所执行的任务指定路径。并且,对规定的任务指定规定的 路径。图11是示出本实施例所涉及的路径管理表的数据构成图。如图11 所示,路径管理表383是执行处理器和路径以及任务相对应的表。在 各任务ID中,可指定给持该任务ID的任务的路径被设为enable。关 于不可指定给持该任务ID的任务的路径被设为disable。例如,可以 对任务ID为0和1的任务指定路径1 (以下,称为第一缓存区域)对任 务ID为2的任务只可指定路径2至n(以下,称为第二缓存区域)中的 路径2。对任务ID为3和4的任务只可指定第二缓存区域中的路径3 和4。对任务ID为m的任务只可指定第二缓存区域中的路径n。并且,设处理器102-1和102-2中的某一个执行各任务ID的任务。 例如,处理器102-1执行任务ID为0和1的任务。处理器102-2执行 任务ID为2至m的任务。在此,作为一个例子,在处理器102-2所执行的任务中占有处理 器的时间长的任务(高负荷的任务),即,要独占路径来使用的任务被 设为其任务ID为2或m等。另外,占有处理器的时间短的任务(低负 荷的任务),即,共享路径也无大碍的任务被设为其任务ID为3或4 等。艮P,由执行了路径指定程序382的处理器,从第一缓存区域对处 理器102-1所执行的任务(任务ID为0和1的任务)指定路径。从第二 缓存区域对处理器102-2所执行的任务(任务ID为2至m的任务)指定路径。并且,第二缓存区域被分类为第一部分缓存区域和第二部分缓存 区域中的任一个区域,所述第一部分缓存区域由第二缓存区域中只能 指定给一个任务的路径构成,所述第二部分缓存区域由第二缓存区域中可指定给多个任务的路径构成。并且,处理器102-2所执行的任务 是所规定的种类的任务(高负荷的任务)的情况下,对其指定第一部分 缓存区域中的路径。另一方面,处理器102-2所执行的任务不是所规 定的种类的任务(高负荷的任务)的情况下,对其指定第二部分缓存区 域中的路径。总之,实施例2所涉及的路径指定程序282中,如果根据路径管 理表283只要是属于第一缓存区域(第二缓存区域)的路径,则可指定 第一缓存区域(第二缓存区域)中的任一个路径。可是,本实施例所涉 及的路径指定程序382与路径指定程序282相比不同之处为,根据路 径管理表383,即使是属于第一缓存区域(第二缓存区域)的路径,可指 定的路径也根据任务而受到限定。图12是示出本实施例所涉及的路径指定处理的流程图。如图12 所示,在操作系统381的控制下,若任务被生成(S101:Yes),就由处 理器102-1和102-2中的任一个执行路径指定程序382。具体而言,执 行了路径指定程序382的处理器参照路径管理表3S3(S102),并按照所 参照的路径管理表383来决定可指定的路径(S303)。此时,从第一缓存区域对处理器102-1所执行的任务选择路径。 同时,从第二缓存区域对处理器102-2所执行的任务选择路径。再者, 从各缓存区域选择路径时,从依任务而受限定的缓存区域中选择路径。 并且,选择了可指定的路径之后,向路径保存区域登记指定信息(enable) (S104),该指定信息表示所生成的任务已被指定,所述路径 保存区域是构成路径信息保存部114的路径信息保存区域中,与所选 择的路径相对应的路径保存区域。路径信息保存部114被更新(S105)。另外,若任务被删除(S106),处理器就参照路径管理表383(S107) 确定被开放的路径(S108)。从与确定的路径相对应的路径信息保存区 域,删除指定信息(enable),该指定信息表示已被删除的任务被指定 之事宜(S109)。路径信息保存部114被更新(S110)。以上,通过采用本实施例所涉及的计算机系统300,即使在规定的 缓存区域中被分类的数据存储区域的数量少于规定的处理器所执行的 任务的数量的情况下,也可以在避免对同一数据存储区域的访问发生 冲突的状态下执行任务。其原因为,可访问的数据存储区域按每个处 理器受到限制,所以多个处理器不会同时访问同一数据存储区域。并且,也可以避免对构成数据存储区域的一个以上的数据存储部 的访问发生冲突,因此多个处理器可以共享存储器访问请求输入端口、 数据输入端口和数据输出端口。再者,本发明与多端口存储器相比, 可以把单元面积小的单端口存储器作为数据存储部来使用,从而节省 高速缓冲存储器的面积,为低成本化做出贡献。并且,对规定的处理器所执行的多个任务指定不同的数据存储区 域,从而可降低因任务切换而引起的缓存失败,为提高处理性能做出贝献。
例如,对规定的处理器所执行的多个任务指定同一数据存储区域。 在这种情况下,可对规定的处理器指定多数任务。可是,在这些任务 之间切换任务时容易发生缓存失败。另一方面,设对这些任务指定了不同的数据存储区域。在这种情 况下,无法对规定的处理器指定多数任务。但这是为了在这些任务之 间切换任务时不易发生缓存失败。通过采用实施例2所涉及的计算机系统200,可以避免所执行的任 务对同一存储区域的访问发生冲突,但是,若按每个处理器来切换所执 行的任务,由于要使用以前所执行的任务使用过的存储区域,所以在 每一次切换所执行的任务时则在处理器上会发生缓存失败,有可能导 致处理性能比命中缓存时的性能恶化。与此相对,根据本实施例所涉及的计算机系统300可以解决这种 问题。如果由预先设定的处理器102-1和102-2来执行任务,可以避免 所执行的任务同时对同一存储区域的访问发生冲突,从而避免因一个 处理器对存储器的访问而使另一个处理器的访问发生等待这种性能的 恶化。同时,指定给任务2的路径2,不会由处理器102-2所执行的任 务2之外的任务来使用,也不会由于同时被执行的任务以及在处理器 102-2进行的任务切换中的任一个理由而被更新。如此,按照各处理器所执行的任务对其指定不同缓存区域,从而 可以与实施例2 —样避免因同时所执行的任务而引起的访问发生冲突 为源的性能恶化。并且只对一部分的任务指定缓存区域中与其他任务
不同的存储区域,这样即使路径数少于所有的任务数,也可以减少由 切换任务而引起的缓存失败,从而提高处理性能。(实施例4)其次参照

本发明的实施例4。本实施例所涉及的运算装置具备下列(i)至(k)所示的特征。(i) (il)多个处理器包括以第一工作速度来工作的第一处理器和 以第二工作速度来工作的第二处理器,所述第二工作速度比第一工作 速度慢,(i2)多个读出数据选择部包括与第一处理器相对应的第一读 出数据选择部和与第二处理器相对应的第二读出数据选择部,(i3)高 速缓冲存储器包括速度差调整部,该速度差调整部根据第一处理器的 工作速度和第二处理器的工作速度的速度差,来调整从第二读出数据 选择部输出的数据向第二处理器输入的定时。(j) (jl)第一工作速度是第二工作速度的k(k是自然数)倍,(j2) 高速缓冲存储器的工作时钟与第一处理器的工作时钟相同,(J3)速度 差调整部包括延迟电路,该延迟电路以高速缓冲存储器的工作时钟为 基准进行换算,把从第二读出数据选择部输出的数据向第二处理器输 入的定时相对于从第一读出数据选择部输出的数据向第一处理器输入 的定时,延迟k-l个时钟的时间段。(k)第二处理器可执行的指令组与第一处理器可执行的指令组相同。在上述的基础上,以具备本实施例所涉及的运算装置的计算机系 统为例进行说明。再者,与实施例3所涉及的结构相同的结构,标有同一参考符号并省略其说明。首先,说明本实施例所涉及的计算机系统的结构。图13是示出本实施例所涉及的计算机系统的结构图。如图13所 示,计算机系统400与实施例3所涉及的计算机系统300相比(例如, 参照图IO)代替运算装置101而具备运算装置401,该运算装置401是 高速处理器421、低速处理器422、高速缓冲存储器403等集成于单芯 片的运算装置。高速处理器421预先在操作系统381的控制下生成任务,如生成 任务A171、任务B172。此时,高速处理器421执行路径指定程序382。 相应地,正在执行路径指定程序382的高速处理器421参照路径管理 表383来决定可指定给所生成的任务的路径。高速处理器421还生成 与所决定的路径和所生成的任务相关联的路径确定信息。并且,高速 处理器421经由信号线163-1向高速缓冲存储器403输出所生成的路 径确定信息。在此,路径确定信息包含任务ID和路径号码。此后,高速处理器421在执行任务时,经由信号线154-1向高速 缓冲存储器403输出向要执行的任务指定的任务ID。高速处理器421 在执行任务的过程中访问高速缓冲存储器403时,经由信号线151-1 向高速缓冲存储器403输出包含访问处地址的存储器访问请求。此时, 如果访问请求以写入为目的,高速处理器421则经由信号线152-1向 高速缓冲存储器403写入数据。如果访问请求以读出为目的,高速处 理器421则经由信号线468-1从高速缓冲存储器403读出数据。在此, 所需信号线152-1和信号线468-1的数量取决于数据的传送尺寸。
同时,高速处理器421以低速处理器422的k倍的工作速度来工 作。在此,设k二2作为一个例子来说明。限低速处理器422的工作速度比高速处理器421的工作速度慢。 同时,与高速处理器421相比,低速处理器422是降低了耗电量且縮 小了面积的处理器。再者,由于限低速处理器422为低速工作,因此 可以升高构成处理器的晶体管的阈值电压或縮小晶体管的尺寸。另外, 也可以减少缓冲器的级数。据此,低速处理器422与高速处理器421 相比可降低耗电量并縮小面积。同时,低速处理器422的指令组与高速处理器421的相同。再者,关于低速处理器422的任务生成和路径指定处理,由于与 高速处理器421相同,因此省略其说明。高速缓冲存储器403是n (n是正整数)路径集联方式的高速缓冲存 储器。在此,作为一个例子,设高速缓冲存储器403以与高速处理器 421相同的速度进行工作。并且,高速缓冲存储器403与高速缓冲存储 器103相比不同之处为,还包括标签速度差调整部423-1至423-n以 及读出数据速度差调整部424等。图14是示出本实施例所涉及的标签速度差调整部的结构图。如图 14所示,标签速度差调整部423-1包括延迟电路425-1等。高速处理器421用标签信息从标签存储器104-1经由信号线156-1 被输入到标签速度差调整部423-1。低速处理器422用标签信息从标签 存储器104-1经由信号线156-2被输入到标签速度差调整部423-1。标 签速度差调整部423-1把经由信号线156-1被输入的高速处理器421
用标签信息经由信号线467-1直接输出到高速处理器421。经由信号线 156-2被输入的低速处理器422用标签信息在延迟电路425-1被延迟 (k-l)个级(stage),延迟后的低速处理器422用标签信息经由信号线467- 2被输出到低速处理器422。在此,由于设k=2,因此低速处理器422用标签信息被延迟电路 425-1延迟了一个级。再者,标签速度差调整部423-2至423-n与标签速度差调整部 423-1的结构相同,因此省略其说明。图15是示出本实施例所涉及的读出数据速度差调整部的结构图。 如图15所示,读出数据速度差调整部424包括延迟电路426等。高速处理器421用读出数据从读出数据选择部107-1经由信号线 153-1被输入到读出数据速度差调整部424。低速处理器422用读出数 据从读出数据选择部107-2经由信号线153-2被输入到读出数据速度 差调整部424。读出数据速度差调整部424将经由信号线153-1被输入的高速处 理器421用读出数据经由信号线468-1 '直接输出到高速处理器421 。经 由信号线153-2被输入的低速处理器422用读出数据在延迟电路426 被延迟(k-l)个级,延迟后的低速处理器422用读出数据经由信号线468- 2被输出到低速处理器422。在此,由于设k=2,因此低速处理器422用读出数据在延迟电路 426被延迟了一个级。图16和图17是示出本实施例所涉及的工作例子的时序图。 例如,如图16所示,标签请求QAO及项地址AAO从高速处理器421 经由信号线151-1被输出到高速缓冲存储器403,路径1被命中。此时, 标签TAO从与路径1相对应的标签存储器104-1被输出,所述标签TAO 是根据标签请求QAO及项地址M0被确定。与标签TAO相对应的读出 数据DAO从与路径1相对应的单端口存储器105-1被输出。读出数据 DAO从高速缓冲存储器403经由信号线468-1被输出到高速处理器421 。在这种情况下,项地址AAO被输入到标签存储器104-1之后,直 到标签TAO被输入到标签速度差调整部423-1为止,所需时间等于高 速缓冲存储器403的时钟的一个时钟的时间段。这个由以下被表明, 图中路径1的标签存储器的高速处理器用输入端口(信号线151-1)和 路径1的标签速度差调整部的高速处理器用输入端口 (信号线156-1)。在此,标签速度差调整部423-1不使标签TAO延迟而直接经由信 号线467-1输出到缓存命中判断部109-1,所述标签TAO是从标签存储 器104-1经由信号线156-1被输入的。由此,标签TAO被输入到标签 速度差调整部423-1之后,直到标签TAO被输入到缓存命中判断部 109-l为止,在同一时钟周期内进行。这个由以下被表明,图中路径l 的标签速度差调整部的高速处理器用输入端口 (信号线156-1)和路径1 的标签速度差调整部的高速处理器用输出端口 (信号线467-1)。并且,存储器访问请求RAO被输入到单端口存储器105-1之后, 直到读出数据DAO被输入到读出数据速度差调整部424为止,所需时 间等于高速缓冲存储器403的时钟的一个时钟的时间段。这个由以下 被表明,图中路径1的数据存储器的存储器访问请求输入端口 (信号线
157-1)和读出数据速度差调整部的高速处理器用输入端口 (信号线 153-1)。在此,从读出数据速度差调整部424不使读出数据DAO延迟而直 接经由信号线468-1输出到高速处理器421,所述读出数据DAO是从读 出数据选择部107-1经由信号线153-1被输入的。由此,读出数据DAO 被输入到读出数据速度差调整部424之后,直到读出数据DAO被输入 到高速处理器421为止,在同一时钟周期内进行。这个由以下被表明, 图中读出数据速度差调整部的高速处理器用输入端口 (信号线153-1) 和读出数据速度差调整部的高速处理器用输出端口 (468-1)。并且,高速处理器421向高速缓冲存储器403输出标签请求QA0 之后,经过等于高速缓冲存储器403的时钟的两个时钟的时间段之后, 从高速缓冲存储器403取得读出数据DA0。在此,高速缓冲存储器403 的时钟的两个时钟也就是以高速处理器421的时钟来换算而言,相当 于两个时钟周期。由此,可在标签请求的两个周期后取得读出数据。再者,由于对标签请求QA1至QA7的工作与对标签请求QAO的工 作相同,因此省略其说明。另一方面,如图17所示,标签请求QB0及项地址AB0从低速处理 器422经由信号线151-2被输出到高速缓冲存储器403,路径1被命中。 此时,标签TB0从与路径1相对应的标签存储器104-1被输出,所述 标签TB0是根据标签请求QB0及项地址AB0被确定的。与标签TB0相 对应的读出数据DB0从与路径1相对应的单端口存储器105-1被输出。 读出数据DB0从高速缓冲存储器403经由信号线468-2被输出到低速 处理器422。在这种情况下,从项地址ABO被输入到标签存储器104-1之后, 直到标签TBO被输入到标签速度差调整部423-1为止,所需时间等于 高速缓冲存储器403的时钟的一个时钟的时间段。这个由以下被表明, 图中路径1的标签存储器的低速处理器用输入端口(信号线151-2)和 路径1的标签速度差调整部的低速处理器用输入端口 (信号线156-2)。在此,标签速度差调整部423-1将标签TBO延迟一个级,再将延 迟后的标签TBO经由信号线467-2输出到缓存命中判断部109-2,所述 标签TBO是从标签存储器104-1经由信号线156-2被输入的。因此, 从标签TBO被输入到标签速度差调整部423-1之后,直到标签TBO被 输入到缓存命中判断部109-2为止,所需时间等于高速缓冲存储器403 的时钟的一个时钟的时间段。这个由下述被表明,图中路径1的标签 速度差调整部的低速处理器用输入端口(信号线156-2)和路径1的标 签速度差调整部的低速处理器用输出端口 (信号线467-2)。并且,存储器访问请求RBO被输入到单端口存储器105-1之后, 直到读出数据DBO被输入到读出数据速度差调整部424为止,所需时 间等于高速缓冲存储器403的时钟的一个时钟的时间段。这个由下述 被表明,图中路径1的数据存储器的存储器访问请求输入端口 (信号线 157-l)和读出数据速度差调整部的低速处理器用输入端口 (信号线 153-2)。在此,读出数据速度差调整部424将低速处理器422用读出数据 DBO延迟一个级,并将延迟后的读出数据DB0经由信号线468-2输出到
低速处理器422,所述低速处理器422用读出数据DBO是从读出数据选 择部107-2经由信号线153-2被输入的。由此,从读出数据DBO被输 入到读出数据速度差调整部424之后,直到读出数据DBO被输入到低 速处理器422为止,所需时间等于高速缓冲存储器403的时钟的一个 时钟的时间段。这个由下述被表明,图中读出数据速度差调整部的低 速处理器用输入端口 (信号线153-2)和读出数据速度差调整部的低速 处理器用输出端口 (468-2)。并且,低速处理器422将标签请求QB0输出到高速缓冲存储器403 之后,经过等于高速缓冲存储器403的时钟的四个时钟的时间段之后, 取得读出数据DBO。在此,高速缓冲存储器403的时钟的四个时钟也就 是以低速处理器422的时钟来换算而言,相当于两个时钟周期。由此, 低速处理器422也与高速处理器421 —样,可在标签请求的两个周期之后取得读出数据。再者,对标签请求QB1至QB3的工作与对标签请求QB0的工作相 同,因此省略其说明。以上,通过采用本实施例所涉及的运算装置401,即使在工作速度不同的多个处理器共享高速缓冲存储器的情况下,多个处理器的各处 理器也可以不在意处理器之间的工作速度差,而分别以同样的序列进 行同时访问。并且,由于可以调整工作速度差,因此无需在每个处理器设置数 据存储部的数据输出端口 ,而多个处理器可以共享所述数据输出端口。 再者,本发明与多端口存储器相比,可以把单元面积小的单端口存储
器作为数据存储部来使用,从而节省高速缓冲存储器的面积,为低成 本化做出贡献。(实施例5)其次参照

本发明的实施例5。 本实施例所涉及的运算装置具备下列(1)所示的特征。 (1) (ll)第一处理器在工作模式为第一模式时,以第一工作速度来 工作;工作模式为第二模式时,以第二工作速度来工作,(12)速度差 调整部在第一模式时调整向第二处理器进行输入的定时,在第二模式 时不调整向第二处理器进行输入的定时。在上述的基础上,以具备本实施例所涉及的运算装置的计算机系 统为例进行说明。再者,与实施例4所涉及的结构相同的结构,标有 同一参考符号并省略其说明。首先,说明本实施例所涉及的计算机系统的结构。 图18是示出本实施例所涉及的计算机系统的结构图。如图18所 示,计算机系统500与实施例4所涉及的计算机系统400相比(例如, 参照图13),代替运算装置401而具备运算装置501,该运算装置501 是高速处理器521、低速处理器522和高速缓冲存储器503等集成于单 芯片的运算装置。并且,计算机系统500还包括工作模式终端529。并 且,高速缓冲存储器503与高速缓冲存储器403相比不同之处为,代 替标签速度差调整部423-1至423-n和读出数据速度差调整部424,而 具有标签速度差调整部523-1至523-n和读出数据速度差调整部524。 高速处理器521预先在操作系统381的控制下生成任务,如生成
任务A171、任务B172。此时,高速处理器521执行路径指定程序382。 相应地,正在执行路径指定程序382的高速处理器521参照路径管理 表383来决定可指定给所生成的任务的路径。高速处理器521还生成 与所决定的路径和所生成的任务相关联的路径确定信息。并且,高速 处理器521经由信号线163-1向高速缓冲存储器503输出所生成的路 径确定信息。在此,路径确定信息包含任务ID和路径号码。此后,高速处理器521在执行任务时,经由信号线154-1向高速 缓冲存储器503输出向要执行的任务指定的任务ID。在执行任务的过 程中访问高速缓冲存储器503时,高速处理器521经由信号线151-1 向高速缓冲存储器503输出包含访问处地址的存储器访问请求。此时, 如果访问请求以写入为目的,高速处理器521则经由信号线152-1向 高速缓冲存储器503写入数据。如果访问请求以读出为目的,高速处 理器521则经由信号线468-1从高速缓冲存储器503读出数据。在此, 所需信号线152-1和信号线468-1的数量取决于数据的传送尺寸。另外,工作模式信号从工作模式终端529经由信号线568被输入 到高速处理器521 。设工作模式信号是模式(mode) 1时,高速处理器521 以低速处理器522的k倍的工作速度来工作,工作模式信号是模式2 时,以与低速处理器522相同的速度来工作。在此,设1^2作为一个 例子来说明。低速处理器522是低耗电量的处理器,其最高工作速度比高速处 理器521的最高工作速度慢。同时,与高速处理器521相比,低速处 理器522是降低了耗电量且縮小了面积的处理器。再者,由于限低速 处理器522为低速工作,因此可以升高构成处理器的晶体管的阈值电 压或縮小晶体管的尺寸。同时,也可以减少缓冲器的级数。据此,低 速处理器522与高速处理器521相比可降低耗电量并縮小面积。同时,低速处理器522的指令组与高速处理器521的相同。再者,关于低速处理器522的任务生成和路径指定处理,由于与 高速处理器521的相同,因此省略其说明。再者,设低速处理器522可执行的指令组与高速处理器521可执 行的指令组相同。高速缓冲存储器503是n (n是正整数)路径集联方式的高速缓冲存 储器。在此,作为一个例子,设工作模式信号从工作模式终端529经 由信号线568被输入到高速缓冲存储器503,高速缓冲存储器503按照 被输入的工作模式信号以与高速处理器521相同的速度来工作。另外, 高速缓冲存储器503与高速缓冲存储器403相比不同之处为,代替标 签速度差调整部423-1至423-n和读出数据速度差调整部424,而具备 标签速度差调整部523-1至523-n和读出数据速度差调整部524。图19是示出本实施例所涉及的标签速度差调整部的结构图。如图 19所示,标签速度差调整部523-1包括延迟电路525-1和选择电路 527-1等。高速处理器521用标签信息从标签存储器104-1经由信号线156-1 被输入到标签速度差调整部523-1。低速处理器522用标签信息从标签 存储器104-1经由信号线156-2被输入到标签速度差调整部523-1。工 作模式信号从工作模式终端529经由信号线568被输入到标签速度差
调整部523-1。标签速度差调整部523-1把经由信号线156-1被输入的高速处理 器521用标签信息经由信号线467-1直接输出到高速处理器521。另外,工作模式信号为模式1时,标签速度差调整部523-1将低 速处理器522用标签信息,即,在延迟电路525-1被延迟了(k-l)个级 后的低速处理器522用标签信息,经由信号线467-2输出到低速处理 器522,所述低速处理器522用标签信息经由输入源被输入,该输入源 是选择电路527-1作为输入源而选择的信号线569-1。在此,由于设k=2,因此低速处理器522用标签信息被延迟电路 525-1延迟了一个级。并且,工作模式信号为模式2时,标签速度差调整部523-1将低 速处理器522用标签信息经由信号线467-2输出到低速处理器522,所 述低速处理器522用标签信息经由输入源被输入,该输入源是选择电 路527-1作为输入源而选择的信号线156-2。再者,标签速度差调整部523-2至523-n与标签速度差调整部 523-1的结构相同,因此省略其说明。图20是示出本实施例所涉及的读出数据速度差调整部的结构图。 如图20所示,读出数据速度差调整部524包括延迟电路526和选择电 路528等。高速处理器521用读出数据从读出数据选择部107-1经由信号线 153-1被输入到读出数据速度差调整部524。低速处理器522用读出数 据从读出数据选择部107-2经由信号线153-2被输入到读出数据速度差调整部524。工作模式信号从工作模式终端529经由信号线568被输 入到读出数据速度差调整部524。读出数据速度差调整部524将经由信号线153-1所输入的高速处 理器521用读出数据经由信号线468-1直接输出到高速处理器521。另外,工作模式信号为模式l时,读出数据速度差调整部524将 低速处理器522用读出数据,BP,在延迟电路526被延迟了(k-l)个级 后的低速处理器522用读出数据,经由信号线468-2输出到低速处理 器522,所述低速处理器522用读出数据经由输入源被输入,该输入源 是选择电路528作为输入源而选择的信号线570。在此,由于设k=2,因此低速处理器522用读出数据在延迟电路 526被延迟一个级。并且,工作模式信号为模式2时,读出数据速度差调整部524将 低速处理器522用读出数据经由信号线468-2输出到低速处理器522, 所述低速处理器522用读出数据经由输入源被输入,该输入源是选择 电路528作为输入源而选择的信号线153-2。图21是示出本实施例所涉及的工作例的时序图。如图21所示, 首先,说明工作模式为模式l时的工作。此时,例如,设标签请求QDO 及项地址ADO从低速处理器522经由信号线151-2被输出到高速缓冲 存储器503,且路径1被命中。相应地,标签TD0从与路径1相对应的 标签存储器104-1被输出,该标签TDO是根据标签请求QD0及项地址 AD0被确定的。与标签TD0相对应的读出数据DD0从与路径1相对应的 单端口存储器105-1被输出。读出数据DD0从高速缓冲存储器503经
由信号线468-2被输出到低速处理器522。在这种情况下,从项地址ADO被输入到标签存储器104-1之后, 直到标签TDO被输入到标签速度差调整部523-1为止,所需时间等于 高速缓冲存储器503的时钟的一个时钟的时间段。这个由下述被表明, 图中路径1的标签存储器的低速处理器用输入端口(信号线151-2)和 路径1的标签速度差调整部的低速处理器用输入端口 (信号线156-2)。在此,在标签速度差调整部523-1中的选择电路527-1选择信号 线569-2作为输入源,而在延迟电路525-1被延迟了一个级的标签TDO 经由信号线467-2被输出到缓存命中判断部109-2。结果是,从标签 TDO被输入到标签速度差调整部523-1之后,直到标签TDO被输入到缓 存命中判断部109-2为止,所需时间等于高速缓冲存储器503的时钟 的一个时钟的时间段。这个由下述被表明,图中路径1的标签速度差 调整部的低速处理器用输入端口(信号线156-2)和路径1的标签速度 差调整部的低速处理器用输出端口 (信号线467-2)。并且,从存储器访问请求RDO被输入到单端口存储器105-l之后, 直到读出数据DDO被输入到读出数据速度差调整部524为止,所需时 间等于高速缓冲存储器503的时钟的一个时钟的时间段。这个由下述 被表明,图中路径l的数据存储器的存储器访问请求输入端口(信号线 157-1)和读出数据速度差调整部的低速处理器用输入端口(信号线 153-2)。在此,读出数据速度差调整部524中的选择电路528选择信号线 570作为输入源,而在延迟电路526被延迟了一个级的处理器522用读
出数据DDO经由信号线468-2被输出到低速处理器522。结果是,从读 出数据DDO被输入到读出数据速度差调整部524之后,直到读出数据 DDO被输入到低速处理器522为止,所需时间等于高速缓冲存储器503 时钟的一个时钟的时间段。这个由下述被表明,图中读出数据速度差 调整部的低速处理器用输入端口 (信号线153-2)和读出数据速度差调 整部的低速处理器用输出端口 (468-2)。其次,说明工作模式为模式2时的工作。此时,例如,设标签请 求QD2及项地址AD2从低速处理器522经由信号线151-2被高速缓冲 存储器503输出,且路径l被命中。相应地,标签TD2从与路径1相 对应的标签存储器104-1被输出,该标签TD2是根据标签请求QD2及 项地址AD2被确定的。与标签TD2相对应的读出数据DD2从与路径1 相对应的单端口存储器105-1被输出。读出数据DD2从高速缓冲存储 器503经由信号线468-2被输出到低速处理器522。在这种情况下,从项地址AD2被输入到标签存储器104-1之后, 直到标签TDO被输入到标签速度差调整部523-1为止,所需时间等于 高速缓冲存储器503的时钟的一个时钟的时间段。这个由下述被表明, 图中路径1的标签存储器的低速处理器用输入端口(信号线151-2)和 路径1的标签速度差调整部的低速处理器用输入端口 (信号线156-2)。在此,标签速度差调整部523-1中的选择电路527-1选择信号线 156-2作为输入源,而未延迟的标签TD2直接经由信号线467-2被输出 到缓存命中判断部109-2。结果是,从标签TD2被输入到标签速度差调 整部523-1之后,直到标签TD2被输入到缓存命中判断部109-2为止, 在同一时钟周期内进行。这个由下述被表明,图中路径1的标签速度差调整部的低速处理器用输入端口(信号线156-2)和路径1的标签速 度差调整部的低速处理器用输出端口 (信号线467-2)。并且,从存储器访问请求RD2被输入到单端口存储器105-1之后, 直到读出数据DD2被输入到读出数据速度差调整部524为止,所需时 间等于高速缓冲存储器503时钟的一个时钟的时间段。但是,模式2 的情况与模式1的情况相比需要两倍的时间。这个由下述被表明,图 中路径1的数据存储器的存储器访问请求输入端口(信号线157-l)和 读出数据速度差调整部的低速处理器用输入端口 (信号线153-2)。在此,标签速度差调整部524将未延迟的低速处理器522用读出 数据DD2直接经由信号线468-2输出到处理器522,选择电路528选择 信号线153-2作为输入低速处理器522用读出数据DD2的输入源。由 此,读出数据DD2被输入到读出数据速度差调整部524之后,直到读 出数据DD2被输入到低速处理器522为止,在同一时钟周期内进行。 这个由下述被表明,图中读出数据速度差调整部的低速处理器用输入 端口 (信号线153-2)和读出数据速度差调整部的低速处理器用输出端 口 (468-2)。并且,高速处理器521在取得读出数据时,以模式2进行时所需 时间是以模式1进行时所需时间的两倍。可是,与以模式1进行时同 样,可在标签请求的两个周期之后取得读出数据。与此相对,低速处理器522在取得读出数据时,以模式2进行时 与以模式l进行时相同。由此,与以模式l进行时同样,可在标签请
求的两个周期之后取得读出数据。再者,即使在切换工作模式前后的定时中,标签速度差调整部523-1的选择电路527-1以及读出数据速度差调整部524的选择电路 528也可以根据工作模式信号进行切换。由此,能够连续访问高速缓冲 存储器。以上,通过采用本实施例所涉及的运算装置501,即使在工作速度 不同的多个处理器共享高速缓冲存储器的情况下,多个处理器的各处 理器也可以不在意处理器之间的工作速度差,并且也无需在意切换工 作速度的定时,而能够分别以同样的序列进行同时访问。并且,由于可以调整工作速度差,因此无需在每个处理器设置数 据存储部的数据输出端口,而多个处理器可以共享该数据输出端口。 再者,本发明与多端口存储器相比,可以把单元面积小的单端口存储 器作为数据存储部来使用,从而节省高速缓冲存储器的面积,为低成 本化做出贡献。并且,本实施例中,由于在高速处理器521命中的情况下,高速 处理器521和高速缓冲存储器503的工作可以不依照工作模式的切换 而以相同的速度进行工作,因此可以以同样的序列进行访问,在此省 略其说明。与实施例4相比,通过组合处理器和工作模式,可以使处理性能 和耗电量有更多选择,可以实现针对各种各样的处理具备适当的处理 性能及耗电量的计算机系统。(实施例6) 其次参照

本发明的实施例6。再者,实施例中,说明具备实施例1至5中所涉及的任一个计算 机系统的移动机器。本实施例所涉及的移动机器具备下列(m)所示的特征。 (m)该移动机器包括(ml)实施例1至5的任一个运算装置;(m2)主 存储装置,其存储用于解码声音数据的声音解码程序和用于解码图像 数据的图像解码程序;(m3)声音输出装置,其根据声音解码结果输出 声音;以及(m4)图像输出装置,其根据图像解码结果输出图像,(m5) 多个处理器中执行了图像解码程序的处理器将解码图像数据而得的图 像解码结果输出到图像输出装置,(m6)多个处理器中执行了声音解码 程序的处理器将解码声音数据而得的声音解码结果输出到声音输出装 置。在上述的基础上,说明本实施例所涉及的移动机器。再者,在此, 作为一个例子,关于具备实施例1所涉及的计算机系统100的移动机 器进行说明。图22是示出本实施例所涉及的移动机器的结构图。如图22所示, 移动机器631包括计算机系统100、声音输出控制装置633、图像输出 控制装置634、数据总线635、声音输出装置636以及图像输出装置637 等。在此,作为一个例子,设任务A171是解码声音数据的任务(程序)。 并且,设任务B172是解码图像数据的任务(程序)。运算装置101并行执行任务A171和任务B172。例如,由处理器
102-2执行任务A171,由处理器102-1执行任务B172。相应地,解码 声音数据而得的声音解码结果经由数据总线635被输出到声音输出控 制装置633。并且,解码图像数据而得的图像解码结果经由数据总线 635被输出到图像输出控制装置634。再者,各处理器并不被限定为执行图像解码程序及声音解码程序 中的任一个。声音输出控制装置633接收声音解码结果,并将接收了的声音解 码结果依次传送到声音输出装置636,所述声音解码结果是从运算装置 101经由数据总线635被输入的。图像输出控制装置634接收图像解码结果,并将接收了的图像解 码结果依次传送到图像输出装置637,所述图像解码结果是从运算装置 101经由数据总线635被输入的。声音输出装置636根据从声音输出控制装置633依次被传送来的 声音解码结果来输出声音。图像输出装置637根据从图像输出控制装置634依次被传送来的 图像解码结果来输出图像。移动机器631通常主要是通过电池来工作的,因此需要控制耗电 量。另一方面,同时再生动态图像和声音时需要高度处理性能。由此, 需要可以与低负荷、低耗电量以及高负荷、高性能的双方相对应的运 算装置。在此,通过适用实施例1所涉及的计算机系统100中的运算 装置IOI,可以按照程序的处理量(任务数)来改变处理器的工作数,从 而能够实现低耗电量且具备高性能的移动机器。同时,通过采用具备 多个处理器却节省了面积的运算装置,可以实现移动机器的小型化。 并且,由于可以避免对同一数据存储部的访问发生冲突,因此为提高 移动机器的处理性能做出贡献。 (其他变化实施例)再者,本发明所涉及的运算装置和主内存也可以集成于单芯片。 再者,本发明所涉及的运算装置也可以通过具备了运算装置的各功能的大规模集成电路(LSI)来实现。再者,LSI也可以由如全定制(Fu11-custom)LSI、专用集成电路 (ASIC: Application Specific Integrated Circuit)等半定制LSI、 如FPGA和CPLD等可编程逻辑器件或可动态地改写电路结构的动态可 再配置器件来形成。并且,将运算装置的各功能形成到LSI的设计数据也可以是根据 硬件记述语言被记述了的程序(以下,称为HDL程序)并且,也可以是 将HDL程序进行逻辑综合而得的门级网络表。并且,也可以是向门级 网络表中附加了配置信息和过程条件等的区块型模组信息。并且,也 可以是规定了尺寸和定时等的掩模数据。在此,作为硬件记述语言, 有VHDL(Very high speed integrated circuit Hardware Description Language) 、 Verilog-HDL禾口系统(System) C。并且,设计数据也可以被存储在可读取的存储介质中,该存储介 质可以被通用的计算机系统、编入系统等硬件系统读取。并且,设计 数据也可以通过存储介质被其他硬件系统读出来执行。进而,通过这 些存储介质被其他硬件系统读取的设计数据,也可以通过下载电缆被
可编程逻辑器件下载。在此,作为可以被通用的计算机系统读取的存储介质,有光学存储介质(例如,CD-ROM等)、磁性存储介质(例如,硬 盘等)、光磁存储介质(例如,MO等)和半导体存储器(例如,存储卡等) 等。再者,设计数据可以被保存在硬件系统中,该硬件系统与互联网、 局域网等网络相连接。并且,也可以通过网络被其他硬件系统下载来 执行。并且,通过这些网络被其他硬件系统取得的设计数据也可以通 过下载电缆被可编程逻辑器件下载。在此,网络有地上广播网、卫星 广播网、电力线通信(PLC: Power Line Communication)、移动电话网、 有线通信网(例如,IEEE802. 3等)和无线通信网(例如,IEEE802. 11等) 等。并且,设计数据也可以预先被存储在串行ROM中以在通电时可被 FPGA传送。并且,存储在串行ROM的设计数据也可以在通电时直接被 FPGA下载。另外,设计数据也可以在通电时被微处理器生成并被FPGA下载。 产业上的可利用性本发明作为计算机系统等可被利用,该计算机系统具备被多个处 理器共享的高速缓冲存储器。
权利要求
1、 一种运算装置,集成于单芯片,其特征在于,该运算装置包括 多个处理器,可并行执行多个任务;以及 高速缓冲存储器,被所述多个处理器共享;所述高速缓冲存储器包括多个数据存储部和多个读出数据选择部,所述多个数据存储部各自具备的数据输出端口是一个端口 , 所述多个读出数据选择部的各选择部与所述多个处理器的各处理 器以一对一的关系相对应,并从所述多个数据存储部中选择存储有与 读出数据选择部相对应的处理器读出的数据的数据存储部。
2、 如权利要求1所述的运算装置,其特征在于, 所述多个数据存储部各自具备的存储器访问请求输入端口和数据输入端口分别是一个端口,所述高速缓冲存储器包括多个存储器访问请求选择部, 所述多个存储器访问请求选择部的各选择部与所述多个数据存储 部的各存储部以一对一的关系相对应,并从由所述多个处理器分别输 出的存储器访问请求中选择由正在执行任务的处理器输出的存储器访 问请求,所述任务是被指定给与存储器访问请求选择部相对应的数据 存储部的任务。
3、 如权利要求1所述的运算装置,其特征在于, 所述多个数据存储部分别被分类为多个数据存储区域中的任一 个,所述多个数据存储区域由所述多个数据存储部中一个以上的数据 存储部分别构成,所述高速缓冲存储器包括指定信息保存部,其将指定信息与规定的数据存储区域相对应地 进行保存,所述指定信息表示对所述多个数据存储区域中所述规定的 数据存储区域指定了规定的任务;以及确定部,在对所述规定的任务发生了再填充的情况下,其根据所 述指定信息保存部中保存的指定信息从所述多个数据存储区域中,确 定所述规定的数据存储区域作为可再填充的数据存储区域。
4、 如权利要求1所述的运算装置,其特征在于, 所述高速缓冲存储器是n路径集联方式的高速缓冲存储器,n是自然数,所述多个数据存储部的各存储部与所述n个路径的各路径以一对 一的关系相对应。
5、 一种计算机系统,其特征在于,该计算机系统包括如权利要求3所述的运算装置和存储有指定程 序的主存储装置,执行了所述指定程序的所述运算装置在所述规定的任务被生成 时,从所述多个数据存储区域中,对所述规定的任务指定所述规定的 数据存储区域,并将所述指定信息与所述规定的数据存储区域相对应 地登记到所述指定信息保存部。
6、如权利要求5所述的计算机系统,其特征在于,执行了所述指定程序的所述运算装置管理对所述多个数据存储区 域的各区域指定任务的工作,从所述多个数据存储区域中,按每个任 务来指定不同的数据存储区域,并将按每个任务而不同的指定信息, 与按每个任务而不同的数据存储区域相对应地登记到所述指定信息保 存部。
7、如权利要求5所述的计算机系统,其特征在于, 执行了所述指定程序的所述运算装置,将所述多个数据存储区域 的各区域分类为多个缓存区域中的任一个,管理对所述多个数据存储 区域的各区域指定任务的工作,所述多个缓存区域的各区域与所述多 个处理器的各处理器以一对一的关系相对应,所述运算装置对所述多个处理器中规定的处理器所执行的任务, 从规定的缓存区域中指定数据存储区域,所述规定的缓存区域是所述 多个缓存区域中与所述规定的处理器相对应的规定的缓存区域,所述运算装置还把多个指定信息与所述规定的缓存区域相对应地 登记到所述指定信息保存部,所述多个指定信息分别识别所述规定的 处理器所执行的多个任务。
8、如权利要求7所述的计算机系统,其特征在于, 执行了所述指定程序的所述运算装置,将构成所述规定的缓存区 域的多个数据存储区域的各区域分类为第一部分缓存区域和第二部分 缓存区域中的任一个,所述第一部分缓存区域由只能指定给一个任务 的数据存储区域构成,所述第二部分缓存区域由可指定给多个任务的 数据存储区域构成,所述规定的处理器所执行的任务是规定的种类的任务时,从所述 第一部分缓存区域中指定数据存储区域,所述规定的处理器所执行的 任务不是规定的种类的任务时,从所述第二部分缓存区域中指定数据 存储区域。
9、 如权利要求l所述的运算装置,其特征在于, 所述多个处理器包括以第一工作速度来工作的第一处理器和以第二工作速度来工作的第二处理器,所述第二工作速度比所述第一工作 速度慢,所述多个读出数据选择部包括与所述第一处理器相对应的第一读 出数据选择部和与所述第二处理器相对应的第二读出数据选择部,所述高速缓冲存储器包括速度差调整部,该速度差调整部根据所 述第一处理器的工作速度和所述第二处理器的工作速度的速度差,来 调整从所述第二读出数据选择部输出的数据向所述第二处理器输入的 定时。
10、 如权利要求9所述的运算装置,其特征在于, 所述第一工作速度是所述第二工作速度的k倍,k是自然数, 所述高速缓冲存储器的工作时钟与所述第一处理器的工作时钟相同,所述速度差调整部包括延迟电路,该延迟电路,以所述高速缓冲 存储器的工作时钟为基准进行换算,将从所述第二读出数据选择部输 出的数据向所述第二处理器输入的定时,相对于从所述第一读出数据 选择部输出的数据向所述第一处理器输入的定时延迟k-1个时钟的时间段。
11、 如权利要求9所述的运算装置,其特征在于,所述第二处理 器可执行的指令组与所述第一处理器可执行的指令组相同。
12、 如权利要求9所述的运算装置,其特征在于, 所述第一处理器在工作模式为第一模式时,以所述第一工作速度来工作,在工作模式为第二模式时,以所述第二工作速度来工作,所述速度差调整部在所述第一模式时调整向所述第二处理器输入 的定时,在所述第二模式时不调整向所述第二处理器输入的定时。
13、 一种移动机器,其特征在于,该移动机器包括 如权利要求1所述的运算装置;主存储装置,其存储用于解码声音数据的声音解码程序和用于解 码图像数据的图像解码程序;声音输出装置,其根据声音解码结果输出声音;以及图像输出装置,其根据图像解码结果输出图像,所述多个处理器中执行了所述图像解码程序的处理器将解码图像 数据而得到的图像解码结果输出到所述图像输出装置,所述多个处理器中执行了所述声音解码程序的处理器将解码声音 数据而得到的声音解码结果输出到所述声音输出装置。
14、 一种控制运算装置的控制方法,所述运算装置是多个处理器 和高速缓冲存储器集成于单芯片的运算装置,所述多个处理器可并行 执行多个任务,所述高速缓冲存储器可被所述多个处理器共享,其特 征在于,该控制方法包括指定步骤,规定的任务被生成时,从所述高速缓冲存储器的多个 数据存储区域中对所述规定的任务指定规定的数据存储区域;以及选择步骤,从所述多个数据存储区域中选择存储有数据的数据存 储区域,所述数据是被所述多个处理器中正在执行所述规定的任务的 规定的处理器读出的数据。
全文摘要
本发明提供运算装置、计算机系统以及移动机器。一种集成于单芯片的运算装置,其包括可并行执行多个任务的多个处理器和被多个处理器共享的高速缓冲存储器,高速缓冲存储器包括多个单端口存储器和多个读出数据选择部,多个单端口存储器分别有一个端口作为数据输出端口,多个读出数据选择部的各选择部与多个处理器的各处理器以一对一的关系相对应,从多个单端口存储器中选择存储被与读出数据选择部相对应的处理器读出的数据的单端口存储器。
文档编号G06F12/08GK101145133SQ200710148800
公开日2008年3月19日 申请日期2007年9月11日 优先权日2006年9月11日
发明者中岛雅逸, 细木哲 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1