CN101145133B - 运算装置、计算机系统以及移动机器 - Google Patents
运算装置、计算机系统以及移动机器 Download PDFInfo
- Publication number
- CN101145133B CN101145133B CN2007101488008A CN200710148800A CN101145133B CN 101145133 B CN101145133 B CN 101145133B CN 2007101488008 A CN2007101488008 A CN 2007101488008A CN 200710148800 A CN200710148800 A CN 200710148800A CN 101145133 B CN101145133 B CN 101145133B
- Authority
- CN
- China
- Prior art keywords
- data
- task
- processor
- data storage
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供运算装置、计算机系统以及移动机器。一种集成于单芯片的运算装置,其包括可并行执行多个任务的多个处理器和被多个处理器共享的高速缓冲存储器,高速缓冲存储器包括:多个单端口存储器和多个读出数据选择部,多个单端口存储器分别有一个端口作为数据输出端口,多个读出数据选择部的各选择部与多个处理器的各处理器以一对一的关系相对应,从多个单端口存储器中选择存储被与读出数据选择部相对应的处理器读出的数据的单端口存储器。
Description
技术领域
本发明涉及多个处理器集成于单芯片的运算装置,尤其涉及被多个处理器共享的高速缓冲存储器也被集成在一起的运算装置。
背景技术
近几年,有关多个处理器集成于单芯片的运算装置的技术开发十分活跃。并且,通常为了提高这种运算装置的处理性能,高速缓冲存储器也被集成在一起。因此,由多个处理器来有效利用高速缓冲存储器变得很重要。针对该重要性,由多个处理器共享高速缓冲存储器的各种各样的技术被提出。(例如,参照参考文献1。)
参考文献1:日本特开平1-280860号公报
然而,由于所述高速缓冲存储器被多个处理器共享,所以每个处理器都设有数据端口(data port),并必须提供与数据端口数量相当的数据线。在此,数据端口是输出端口和输入端口的总称,该输出端口用于从高速缓冲存储器读出数据,所述输入端口用于向高速缓冲存储器写入数据。
例如,以由两个处理器共享可读写128比特数据的高速缓冲存储器的情况为例进行说明。在这种情况下,至少需要与128比特数量对应的信号线两套。因此存在以下问题,即使高速缓冲存储器的容量相 同,数据端口为多端口的高速缓冲存储器的电路面积大于数据端口为单端口的高速缓冲存储器的电路面积。并且,如果处理器的数量增加,则数据端口的数量也增加。因此,处理器的数量越多,则上述问题越严重。
发明内容
本发明的目的在于提供一种运算装置,其可以节省电路面积,同时把多个处理器和被多个处理器共享的高速缓冲存储器集成于单芯片。
为了达到上述目的,本发明所涉及的运算装置是(a)集成于单芯片的运算装置,其包括(a1)可并行执行多个任务的多个处理器(a2)被所述多个处理器共享的高速缓冲存储器,(a3)所述高速缓冲存储器包括多个数据存储部和多个读出数据选择部,(a3-1)所述多个数据存储部分别具备一个数据输出端口,(a3-2)所述多个读出数据选择部的各选择部与所述多个处理器的各处理器以一对一的关系相对应,并从所述多个数据存储部中选择存储有被与读出数据选择部相对应的各处理器读出的数据的数据存储部,并且,(c)(c1)所述多个数据存储部分别被分类为多个数据存储区域中的任一个,所述多个数据存储区域是由一个以上的数据存储部所构成的各数据存储区域构成的,(c2)所述高速缓冲存储器包括(c2-1)指定信息保存部,其将指定信息与所述规定的数据存储区域相对应进行保存,所述指定信息表示对所述多个数据存储区域中规定的数据存储区域指定了规定的任务;(c2-2)确定部,如果对所述规定的任务发生了再填充,其根据所述指定信息保存部中保 存的指定信息从所述多个数据存储区域中,确定所述规定的数据存储区域作为可再填充的数据存储区域。
据此,与数据存储部和处理器相连接的部分可以以如读出数据选择部那样简单的选择电路来构成,从而可以少量硬件数构成具备多个处理器的运算装置。并且,无需对每个处理器设置数据存储部的数据输出端口,而多个处理器可共享输出端口。再者,本发明与多端口存储器相比,可以把单元面积小的单端口存储器作为数据存储部来使用,从而节省高速缓冲存储器的面积,为低成本化做出贡献。并且,据此,可以避免因随着执行规定的任务而发生的再填充引起的被指定给其他任务的数据存储部无防备地被改写的情况。并且,由于规定的任务对规定的数据存储部的访问受到限制,因此可以避免对同一数据存储部的访问发生冲突。并且,因为多个处理器不同时访问同一数据存储部,多个处理器可共享存储器访问请求输入端口、数据输入端口以及数据输出端口。再者,本发明与多端口存储器相比,可以把单元面积小的单端口存储器作为数据存储部来使用,从而节省高速缓冲存储器的面积,为低成本化做出贡献。
并且,(b)(b1)所述多个数据存储部分别具备一个存储器访问请求输入端口和一个数据输入端口,(b2)所述高速缓冲存储器包括多个存储器访问请求选择部,(b2-1)所述多个存储器访问请求选择部的各选择部与所述多个数据存储部的各存储部以一对一的关系相对应,并从由被所述多个处理器分别输出的存储器访问请求中选择由正在执行任务的处理器输出的存储器访问请求,所述任务是被指定给与存储器访 问请求选择部相对应的数据存储部的任务。
据此,因为多个处理器不同时访问同一数据存储部,所以无需对每个处理器设置数据存储部访问请求输入端口,而多个处理器可共享输入端口。并且,因为多个处理器部不同时对同一数据存储部进行数据的写入和读出,所以数据存储部的数据输入端口和数据输出端口可以被多个处理器共享。再者,本发明与多端口存储器相比,可以把单元面积小的单端口存储器作为数据存储部来使用,从而节省高速缓冲存储器的面积,为低成本化做出贡献。并且,因为可以避免对同一数据存储部的访问发生冲突,所以无需对访问冲突进行调停,从而为提高处理性能做出贡献。
并且,(d)(d1)高速缓冲存储器也可以是n(n是自然数)路径集联方式(way set-associative)的高速缓冲存储器,(d2)所述多个数据存储部的各存储部与所述n个路径的各路径以一对一的关系相对应。
据此,可以通过存在于每个路径中的晶片选择容易地实现对各数据存储部的管理。
另外,本发明所涉及的计算机系统包括(e)(e1)所述运算装置和(e2)存有指定程序的主存储装置,(e3)执行了所述指定程序的所述运算装置在所述规定的任务被生成时,从所述多个数据存储区域中,对所述规定的任务指定所述规定的数据存储区域,并将所述指定信息与所述规定的数据存储区域相对应地登记到所述指定信息保存部。
据此,即使在多个处理器同时执行多个任务的情况下,也由于各 任务与各数据存储区域相对应而受到管理,因此可以在避免对同一数据存储区域的访问发生冲突的状态下执行任务。由此,对构成数据存储区域的一个以上的数据存储部也可以避免访问发生冲突,因此可以由多个处理器共享存储器访问请求输入端口、数据输入端口和数据输出端口。再者,本发明与多端口存储器相比,可以把单元面积小的单端口存储器作为数据存储部来使用,从而节省高速缓冲存储器的面积,为低成本化做出贡献。
并且,(f)执行了所述指定程序的所述运算装置也可以管理对所述多个数据存储区域的各区域指定任务的工作,从所述多个数据存储区域中,按每个任务来指定不同的数据存储区域,并将按每个任务而不同的指定信息,与按每个任务而不同的数据存储区域相对应地登记到所述指定信息保存部。
据此,即使在任意的处理器执行任意的任务的情况下,由于按每个任务指定不同的数据存储区域,因此可以在避免对同一数据存储区域的访问发生冲突的状态下执行任务。由此,对构成数据存储区域的一个以上的数据存储部也可以避免访问发生冲突,因此可以由多个处理器共享存储器访问请求输入端口、数据输入端口和数据输出端口。再者,本发明与多端口存储器相比,可以把单元面积小的单端口存储器作为数据存储部来使用,从而节省高速缓冲存储器的面积,为低成本化做出贡献。
并且,(g)执行了所述路径指定程序的所述运算装置,也可以将所述多个数据存储区域的各区域分类为多个缓存区域中的任一个,管理 对所述多个数据存储区域的各区域指定任务的工作,所述多个缓存区域的各区域与所述多个处理器的各处理器以一对一的关系相对应,所述运算装置对所述多个处理器中规定的处理器所执行的任务从规定的缓存区域中指定数据存储区域,所述规定的缓存区域是所述多个缓存区域中与所述规定的处理器相对应的规定的缓存区域,所述运算装置还把多个指定信息与所述规定的缓存区域相对应地登记到所述指定信息保存部,所述多个指定信息分别识别所述规定的处理器所执行的多个任务。
据此,即使在被分类为规定的缓存区域的数据存储区域的数量比规定的处理器所执行的任务的数量还要少的情况下,也可以在避免对同一数据存储区域的访问发生冲突的状态下执行任务。其原因为,可访问的数据存储区域按每个处理器受到限制,所以多个处理器不会同时访问同一数据存储区域。由此,对构成数据存储区域的一个以上的数据存储部也可以避免访问发生冲突,因此可以由多个处理器共享存储器访问请求输入端口、数据输入端口和数据输出端口。再者,本发明与多端口存储器相比,可以把单元面积小的单端口存储器作为数据存储部来使用,从而节省高速缓冲存储器的面积,为低成本化做出贡献。
并且,(h)执行了所述指定程序的运算装置也可以将构成所述规定的缓存区域的多个数据存储区域的各区域分类为第一部分缓存区域和第二部分缓存区域中的任一个,所述规定的处理器所执行的任务是规定的种类的任务时,从所述第一部分缓存区域中指定数据存储区域, 所述规定的处理器所执行的任务不是规定的种类的任务时,从所述第二部分缓存区域中指定数据存储区域,所述第一缓存区域由只能指定给一个任务的数据存储区域构成,所述第二部分缓存区域由可指定给多个任务的数据存储区域构成。
据此,即使在规定的缓存区域中被分类的数据存储区域的数量比规定的处理器所执行的任务的数量还要少的情况下,也可以在避免对同一数据存储区域的访问发生冲突的状态下执行任务。其原因为,可访问的数据存储区域按每个处理器受到限制,所以多个处理器不会同时访问同一数据存储区域。由此,对构成数据存储区域的一个以上的数据存储部也可以避免访问发生冲突,因此可以由多个处理器共享存储器访问请求输入端口、数据输入端口和数据输出端口。再者,本发明与多端口存储器相比,可以把单元面积小的单端口存储器作为数据存储部来使用,从而节省高速缓冲存储器的面积,为低成本化做出贡献。
并且,对规定的处理器所执行的多个任务,按照任务指定依任务而不同的数据存储区域,或指定多个任务可共享的数据存储区域,从而可降低因任务切换而引起的缓存失败,为提高处理性能做出贡献。从下面的例子也可以容易地理解上述内容。
例如,对规定的处理器所执行的多个任务指定了同一数据存储区域。在这种情况下,可以对规定的处理器指定多个任务。但是,在这些任务之间切换任务时容易发生缓存失败。
另一方面,设对这些任务指定了不同的数据存储区域。在这种情 况下,无法对规定的处理器指定多个任务。但是,在这些任务之间切换任务时不易发生缓存失败。
另外,本发明所涉及的运算装置中(i)(i1)多个处理器包括以第一工作速度来工作的第一处理器和以第二工作速度来工作的第二处理器,所述第二工作速度比第一工作速度慢,(i2)所述多个读出数据选择部包括与所述第一处理器相对应的第一读出数据选择部和与所述第二处理器相对应的第二读出数据选择部,(i3)所述高速缓冲存储器包括速度差调整部,该速度差调整部根据所述第一处理器的工作速度和所述第二处理器的工作速度的速度差,来调整从所述第二读出数据选择部输出的数据向所述第二处理器输入的定时。
并且(j)(j1)所述第一工作速度是所述第二工作速度的k(k是自然数)倍,(j2)所述高速缓冲存储器的工作时钟与所述第一处理器的工作时钟相同,(j3)所述速度差调整部包括延迟电路,该延迟电路以所述高速缓冲存储器的工作时钟为基准进行换算,将从所述第二读出数据选择部输出的数据向所述第二处理器输入的定时相对于从所述第一读出数据选择部输出的数据向所述第一处理器输入的定时,延迟k-1个时钟的时间段。
据此,即使在工作速度不同的多个处理器共享高速缓冲存储器的情况下,多个处理器的各处理器也可以不在意处理器之间的工作速度差,而分别以同样的序列进行同时访问。并且,由于可以调整工作速度差,因此无需在每个处理器设置数据存储部的数据输出端口,而多个处理器可以共享所述数据输出端口。再者,本发明与多端口存储器 相比,可以把单元面积小的单端口存储器作为数据存储部来使用,从而节省高速缓冲存储器的面积,为低成本化做出贡献。
并且,(k)(k1)所述第一处理器在工作模式为第一模式时,以所述第一工作速度来工作,在工作模式为第二模式时,以所述第二工作速度来工作,(k2)所述速度差调整部在所述第一模式时调整向所述第二处理器输入的定时,在所述第二模式时不调整向所述第二处理器输入的定时。
据此,即使在工作速度不同的多个处理器共享高速缓冲存储器的情况下,多个处理器的各处理器也可以不在意处理器之间的工作速度差,并且也无需在意切换工作速度的定时,而能够分别以同样的序列进行同时访问。并且,由于可以调整工作速度差,因此无需在每个处理器设置数据存储部的数据输出端口,而多个处理器可以共享所述数据输出端口。再者,本发明与多端口存储器相比,可以把单元面积小的单端口存储器作为数据存储部来使用,从而节省高速缓冲存储器的面积,为低成本化做出贡献。
而且,本发明不仅可以作为运算装置来实现,也可以作为控制运算装置的方法等来实现。并且,也可以如下实现本发明:具备运算装置的功能的LSI(Large Scale Integration:大规模集成电路);IP(Intellectual Property)芯片,在FPGA(Field Programmable GateArray:现场可编程门阵列)、CPLD(Complex Programmable LogicDevice:复杂可编程逻辑器件)等可编程逻辑器形成上述功能;以及存储有该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)
以下,参照附图说明本发明所涉及的实施例1。
本实施例所涉及的运算装置具备下列(a)至(d)所示的特征。
(a)该装置是集成于单芯片的运算装置,其包括(a1)可并行执行多 个任务的多个处理器(a2)被多个处理器共享的高速缓冲存储器,(a3)高速缓冲存储器包括多个数据存储部和多个读出数据选择部,(a3-1)各数据存储部具备的数据输出端口是一个端口,(a3-2)各读出数据选择部与各处理器以一对一的关系相对应,并从多个数据存储部中选择一个数据存储部,该数据存储部存有被与读出数据选择部相对应的处理器读出的数据。
(b)(b1)各数据存储部具备的存储器访问请求输入端口和数据输入端口分别是一个端口,(b2)高速缓冲存储器包括多个存储器访问请求选择部,(b2-1)各存储器访问请求选择部与各数据存储部以一对一的关系相对应,并从被多个处理器分别输出的存储器访问请求中选择一个存储器访问请求,该存储器访问请求由正在执行任务的处理器输出,所述任务是被指定给与存储器访问请求选择部相对应的数据存储部的任务。
(c)(c1)各数据存储部被分类为多个数据存储区域中的任一个,所述多个数据存储区域是由一个以上的数据存储部所构成的各数据存储区域构成的,(c2)高速缓冲存储器包括(c2-1)指定信息保存部,其将指定信息与规定的数据存储区域相对应地进行保存,所述指定信息表示对规定的数据存储区域指定了规定的任务;(c2-2)确定部,如果对规定的任务发生了再填充,所述确定部根据指定信息保存部中保存的指定信息从多个数据存储区域中,确定规定的数据存储区域作为可再填充的数据存储区域。
(d)(d1)高速缓冲存储器是n(n是自然数)路径集联方式的高速缓 冲存储器,(d2)各数据存储部与各路径以一对一的关系相对应。
并且,具备本实施例所涉及的运算装置的计算机系统具备下列(e)和(f)所示的特征。
(e)该系统包括(e1)所述运算器;(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-1相连接的各端口以及与信号线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在标签和地址相一致的情况下,即,命中了缓存的情况下,作为缓存命中信息输出0。另一方面,在标签和地址不一致的情况下,即,未命中的情况下,则缓存命中判断部109-1作为缓存命中信息输出1。
标签从标签存储器104-1经由信号线156-2被输入到缓存命中判断部109-2。存储器访问请求从处理器102-2经由信号线151-2被输入到缓存命中判断部109-2。
缓存命中判断部109-2将被输入的标签与被输入的存储器访问请求所包含的地址进行比较。并将比较后的结果作为缓存命中信息来输出。例如,缓存命中判断部109-2在标签和地址相一致的情况下,即,命中了缓存的情况下,作为缓存命中信息输出0。另一方面,在标签和地址不一致的情况下,即,未命中的情况下,则缓存命中判断部109-2作为缓存命中信息输出1。
再者,缓存命中判断部109-3至109-(2n-1)与缓存命中判断部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等。
缓存命中信息(以下称为第一缓存命中信息)作为控制信号被输入到存储器访问信号选择电路111-1,所述缓存命中信息是经由信号线155-1从缓存命中判断部109-1被输出的。缓存命中信息(以下称为第二缓存命中信息)作为控制信号被输入到存储器访问信号选择电路111-1,所述缓存命中信息是经由信号线155-2从缓存命中判断部109-2被输出的。
存储器访问信号选择电路111-1按照所输入的第一缓存命中信息和第二缓存命中信息来选择输入源。若存储器访问请求从所选择的输入源被输入,存储器访问信号选择电路111-1就经由信号线157-1向单端口存储器105-1输出被输入的存储器访问请求。
例如,设被输入到存储器访问信号选择电路111-1的第一缓存命中信息是0,第二缓存命中信息是1。并且,从处理器102-1被输出的存储器访问请求(以下称为第一存储器访问请求)经由信号线151-1被 输入到存储器访问信号选择电路111-1。在这种情况下,存储器访问信号选择电路111-1经由信号线157-1向单端口存储器105-1输出第一存储器访问请求。
另外,设被输入到存储器访问信号选择电路111-1的第一缓存命中信息是1,第二缓存命中信息是0。并且,从处理器102-2输出的存储器访问请求(以下称为第二存储器访问请求)经由信号线151-2被输入到存储器访问信号选择电路111-1。在这种情况下,存储器访问信号选择电路111-1经由信号线157-1向单端口存储器105-1输出第二存储器访问请求。
另外,设被输入到存储器访问信号选择电路111-1的第一缓存命中信息是1,第二缓存命中信息也是1。在这种情况下,存储器访问信号选择电路111-1不输出第一存储器访问请求及第二存储器访问请求。
另外,设被输入到存储器访问信号选择电路111-1的第一缓存命中信息是0,第二缓存命中信息也是0。在这种情况下,存储器访问信号选择电路111-1不输出第一存储器访问请求及第二存储器访问请求。
从缓存命中判断部109-1被输出的缓存命中信息(以下称为第一缓存命中信息)经由信号线155-1作为控制信号被输入到写入数据选择电路112-1。并且,从缓存命中判断部109-2被输出的缓存命中信息(以下称为第二缓存命中信息)经由信号线155-2作为控制信号被输入到写入数据选择电路112-1。
写入数据选择电路112-1按照被输入的第一缓存命中信息和第二缓存命中信息来选择输入源。若写入数据从所选择的输入源被输入, 写入数据选择电路112-1就经由信号线158-1向单端口存储器105-1输出被输入的写入数据。
例如,设被输入到写入数据选择电路112-1的第一缓存命中信息是0,第二缓存命中信息是1。并且,从处理器102-1被输出的写入数据(以下称为第一写入数据)经由信号线152-1被输入到写入数据选择电路112-1。在这种情况下,写入数据选择电路112-1经由信号线158-1向单端口存储器105-1输出第一写入数据。
另外,设被输入到写入数据选择电路112-1的第一缓存命中信息是1,第二缓存命中信息是0。并且,从处理器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-1缓存命中信息)经由信号线155-1至155-(2n-1)作为控制信号分别被输入到读出数据选择电路113-1,所述缓存命中信息是从缓存命中判断部109-1至109-(2n-1)分别被输出的。
读出数据选择电路113-1按照分别被输入的第一缓存命中信息、……、第2n-1缓存命中信息来选择输入源。若读出数据从所选择的输入源被输入,读出数据选择电路113-1就经由信号线153-1向处理器102-1输出被输入的读出数据。
例如,设分别被输入到读出数据选择电路113-1的第一缓存命中信息、……、第2n-1缓存命中信息中第i缓存命中信息是0,其他缓存命中信息是1。并且,从单端口存储器105-i输出的读出数据(以下称为第i读出数据)经由信号线159-1至159-n中的信号线159-i被输入。在这种情况下,读出数据选择电路113-1经由信号线153-1向处理器102-1输出第i读出数据。
另外,设分别被输入到读出数据选择电路113-1的第一缓存命中信息、……、第2n-1缓存命中信息中多个缓存命中信息是0。在这种情况下,读出数据选择电路113-1不输出任何读出数据。
另外,设分别被输入到读出数据选择电路113-1的第一缓存命中信息、……、第2n-1缓存命中信息中所有的缓存命中信息都是1。在这种情况下,读出数据选择电路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至114-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-1)与比较器115-1的结构相同,因此省略其说明。比较器115-4至115-2n与比较器115-2的结构相同,因此省略其说明。
路径一致信息分别从比较器115-1至115-(2n-1)经由信号线165-1至165-(2n-1)被输入到路径决定部116-1。
路径决定部116-1根据分别被输入的路径一致信息来决定再填充对象的路径。关于所决定的信息作为再填充路径信息被输出。
再者,路径决定部116-2与路径决定部116-1的结构相同,因此省略其说明。
缓存命中信息分别从缓存命中判断部109-1至109-(2n-1)经由信号线155-1至155-(2n-1)被输入到“与非”电路118-1。
分别被输入到“与非”电路118-1的缓存命中信息全部都是1的情况下,“与非”电路118-1作为控制信息输出0。除此之外的情况,“与非”电路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的任务指定路径1。
例如,有关路径管理表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被更新(S110)。
以上,通过采用本实施例所涉及的运算装置101,与数据存储部和处理器相连接的部分可以以如读出数据选择部那样简单的选择电路来构成,从而可以少量硬件数构成具备多个处理器的运算装置。
并且,可以避免因随着执行规定的任务而发生的再填充引起的被指定给其他任务的数据存储部无防备地被改写的情况。并且,由于规定的任务对规定的数据存储部的访问受到限制,因此可以避免对同一数据存储部的访问发生冲突。
并且,因为多个处理器不同时访问同一数据存储部,所以无需对每个处理器设置数据存储部的存储器访问请求输入端口,而多个处理器可共享输入端口。
并且,因为多个处理器不同时对同一数据存储部进行数据的写入和读出,所以多个处理器可以共享数据存储部的数据输入端口和数据输出端口。
再者,本发明与多端口存储器相比,可以把单元面积小的单端口 存储器作为数据存储部来使用,从而节省高速缓冲存储器的面积,为低成本化做出贡献。并且,因为可以避免对同一数据存储部的访问发生冲突,所以无需对访问冲突进行调停,从而为提高处理性能做出贡献。
而且,通过采用本实施例所涉及的计算机系统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的任务。
即,根据执行了路径指定程序282的处理器,从第一缓存区域对 处理器102-1所执行的任务(任务ID为0和1的任务)指定路径。而从第二缓存区域对处理器102-2所执行的任务(任务ID为2至m的任务)指定路径。
其次,对按照本实施例所涉及的路径指定程序来执行的路径指定处理进行说明。
图9是示出本实施例所涉及的路径指定处理的流程图。如图9所示,在操作系统281的控制下,若任务被生成(S101:Yes),则处理器102-1和102-2中的任一个执行路径指定程序282。具体而言,执行了路径指定程序282的处理器参照路径管理表283(S102),并按照所参照的路径管理表283来决定可指定的路径(S203)。
此时,从第一缓存区域对处理器102-1所执行的任务选择路径。另外,从第二缓存区域对处理器102-2所执行的任务选择路径。
并且,选择了可指定的路径之后,处理器向路径保存区域登记指定信息(enable),该指定信息表示所生成的任务已被指定,所述路径保存区域是构成路径信息保存部114的路径信息保存区域中,与选择出的路径相对应的路径保存区域(S104)。路径信息保存部114被更新(S105)。
同时,若任务被删除(S106),处理器就参照路径管理表283(S107)确定被开放的路径(S108)。并从与所确定的路径相对应的路径信息保存区域删除表示已被删除的任务被指定之事的指定信息(enable)(S109)。路径信息保存部114被更新(S110)。
以上,通过采用本实施例所涉及的计算机系统200,即使在规定的 缓存区域中被分类的数据存储区域的数量比规定的处理器所执行的任务的数量还要少的情况下,也可以在避免对同一数据存储区域的访问发生冲突的状态下执行任务。其原因为,可访问的数据存储区域按每个处理器受到限制,所以多个处理器不会同时访问同一数据存储区域。
由此,也可以避免对构成数据存储区域的一个以上的数据存储部的访问发生冲突,因此多个处理器可以共享存储器访问请求输入端口、数据输入端口和数据输出端口。再者,本发明与多端口存储器相比,可以把单元面积小的单端口存储器作为数据存储部来使用,从而节省高速缓冲存储器的面积,为低成本化做出贡献。
例如,实施例1所涉及的计算机系统100中有必要把所有的任务指定给不同的路径,所以存在以下问题,运算装置101具有的路径数n少于任务的数量m的情况下就不能直接使用。
与此相对,根据本实施例所涉及的计算机系统200则可以解决这种问题。
如果由预先被设定的处理器102-1或102-2来执行任务,就不会使同时被执行的任务对同一存储区域的访问发生冲突,也不会发生由于单方的处理器对缓存的访问使另一个处理器对缓存的访问发生等待,从而可以提高处理性能。并且,本实施例中指定由多个路径组成的数据存储区域,但是各数据存储区域只要由一个以上的路径构成即可,因此本实施例所需的路径数只要与处理器的个数相同即可。
(实施例3)
其次参照附图说明本发明的实施例3。
本实施例所涉及的计算机系统具备下列(h)所示的特征。
(h)执行了指定程序的运算装置将构成规定的缓存区域的多个数据存储区域的各区域分类为第一部分缓存区域和第二部分缓存区域中的任一个,规定的处理器所执行的任务是规定的种类的任务时,从第一部分缓存区域中指定数据存储区域,规定的处理器所执行的任务不是规定的种类的任务时,从第二部分缓存区域中指定数据存储区域,所述第一缓存区域由只能指定给一个任务的数据存储区域构成,所述第二部分缓存区域由可指定给多个任务的数据存储区域构成。
在上述的基础上,说明本实施例所涉及的计算机系统。再者,与实施例2所涉及的结构相同的结构,标有同一参考符号并省略其说明。
图10是示出本实施例的计算机系统的结构图。如图10所示,计算机系统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等。
即,由执行了路径指定程序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的处理器参照路径管理表383(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)(i1)多个处理器包括以第一工作速度来工作的第一处理器和以第二工作速度来工作的第二处理器,所述第二工作速度比第一工作速度慢,(i2)多个读出数据选择部包括与第一处理器相对应的第一读出数据选择部和与第二处理器相对应的第二读出数据选择部,(i3)高速缓冲存储器包括速度差调整部,该速度差调整部根据第一处理器的工作速度和第二处理器的工作速度的速度差,来调整从第二读出数据选择部输出的数据向第二处理器输入的定时。
(j)(j1)第一工作速度是第二工作速度的k(k是自然数)倍,(j2)高速缓冲存储器的工作时钟与第一处理器的工作时钟相同,(j3)速度差调整部包括延迟电路,该延迟电路以高速缓冲存储器的工作时钟为基准进行换算,把从第二读出数据选择部输出的数据向第二处理器输入的定时相对于从第一读出数据选择部输出的数据向第一处理器输入的定时,延迟k-1个时钟的时间段。
(k)第二处理器可执行的指令组与第一处理器可执行的指令组相同。
在上述的基础上,以具备本实施例所涉及的运算装置的计算机系统为例进行说明。再者,与实施例3所涉及的结构相同的结构,标有 同一参考符号并省略其说明。
首先,说明本实施例所涉及的计算机系统的结构。
图13是示出本实施例所涉及的计算机系统的结构图。如图13所示,计算机系统400与实施例3所涉及的计算机系统300相比(例如,参照图10)代替运算装置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-1)个级(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-1)个级,延迟后的低速处理器422用读出数据经由信号线468-2被输出到低速处理器422。
在此,由于设k=2,因此低速处理器422用读出数据在延迟电路426被延迟了一个级。
图16和图17是示出本实施例所涉及的工作例子的时序图。
例如,如图16所示,标签请求QA0及项地址AA0从高速处理器421经由信号线151-1被输出到高速缓冲存储器403,路径1被命中。此时,标签TA0从与路径1相对应的标签存储器104-1被输出,所述标签TA0是根据标签请求QA0及项地址AA0被确定。与标签TA0相对应的读出数据DA0从与路径1相对应的单端口存储器105-1被输出。读出数据DA0从高速缓冲存储器403经由信号线468-1被输出到高速处理器421。
在这种情况下,项地址AA0被输入到标签存储器104-1之后,直到标签TA0被输入到标签速度差调整部423-1为止,所需时间等于高速缓冲存储器403的时钟的一个时钟的时间段。这个由以下被表明,图中路径1的标签存储器的高速处理器用输入端口(信号线151-1)和路径1的标签速度差调整部的高速处理器用输入端口(信号线156-1)。
在此,标签速度差调整部423-1不使标签TA0延迟而直接经由信号线467-1输出到缓存命中判断部109-1,所述标签TA0是从标签存储器104-1经由信号线156-1被输入的。由此,标签TA0被输入到标签速度差调整部423-1之后,直到标签TA0被输入到缓存命中判断部109-1为止,在同一时钟周期内进行。这个由以下被表明,图中路径1的标签速度差调整部的高速处理器用输入端口(信号线156-1)和路径1的标签速度差调整部的高速处理器用输出端口(信号线467-1)。
并且,存储器访问请求RA0被输入到单端口存储器105-1之后,直到读出数据DA0被输入到读出数据速度差调整部424为止,所需时间等于高速缓冲存储器403的时钟的一个时钟的时间段。这个由以下被表明,图中路径1的数据存储器的存储器访问请求输入端口(信号线 157-1)和读出数据速度差调整部的高速处理器用输入端口(信号线153-1)。
在此,从读出数据速度差调整部424不使读出数据DA0延迟而直接经由信号线468-1输出到高速处理器421,所述读出数据DA0是从读出数据选择部107-1经由信号线153-1被输入的。由此,读出数据DA0被输入到读出数据速度差调整部424之后,直到读出数据DA0被输入到高速处理器421为止,在同一时钟周期内进行。这个由以下被表明,图中读出数据速度差调整部的高速处理器用输入端口(信号线153-1)和读出数据速度差调整部的高速处理器用输出端口(468-1)。
并且,高速处理器421向高速缓冲存储器403输出标签请求QA0之后,经过等于高速缓冲存储器403的时钟的两个时钟的时间段之后,从高速缓冲存储器403取得读出数据DA0。在此,高速缓冲存储器403的时钟的两个时钟也就是以高速处理器421的时钟来换算而言,相当于两个时钟周期。由此,可在标签请求的两个周期后取得读出数据。
再者,由于对标签请求QA1至QA7的工作与对标签请求QA0的工作相同,因此省略其说明。
另一方面,如图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。
在这种情况下,从项地址AB0被输入到标签存储器104-1之后,直到标签TB0被输入到标签速度差调整部423-1为止,所需时间等于高速缓冲存储器403的时钟的一个时钟的时间段。这个由以下被表明,图中路径1的标签存储器的低速处理器用输入端口(信号线151-2)和路径1的标签速度差调整部的低速处理器用输入端口(信号线156-2)。
在此,标签速度差调整部423-1将标签TB0延迟一个级,再将延迟后的标签TB0经由信号线467-2输出到缓存命中判断部109-2,所述标签TB0是从标签存储器104-1经由信号线156-2被输入的。因此,从标签TB0被输入到标签速度差调整部423-1之后,直到标签TB0被输入到缓存命中判断部109-2为止,所需时间等于高速缓冲存储器403的时钟的一个时钟的时间段。这个由下述被表明,图中路径1的标签速度差调整部的低速处理器用输入端口(信号线156-2)和路径1的标签速度差调整部的低速处理器用输出端口(信号线467-2)。
并且,存储器访问请求RB0被输入到单端口存储器105-1之后,直到读出数据DB0被输入到读出数据速度差调整部424为止,所需时间等于高速缓冲存储器403的时钟的一个时钟的时间段。这个由下述被表明,图中路径1的数据存储器的存储器访问请求输入端口(信号线157-1)和读出数据速度差调整部的低速处理器用输入端口(信号线153-2)。
在此,读出数据速度差调整部424将低速处理器422用读出数据DB0延迟一个级,并将延迟后的读出数据DB0经由信号线468-2输出到 低速处理器422,所述低速处理器422用读出数据DB0是从读出数据选择部107-2经由信号线153-2被输入的。由此,从读出数据DB0被输入到读出数据速度差调整部424之后,直到读出数据DB0被输入到低速处理器422为止,所需时间等于高速缓冲存储器403的时钟的一个时钟的时间段。这个由下述被表明,图中读出数据速度差调整部的低速处理器用输入端口(信号线153-2)和读出数据速度差调整部的低速处理器用输出端口(468-2)。
并且,低速处理器422将标签请求QB0输出到高速缓冲存储器403之后,经过等于高速缓冲存储器403的时钟的四个时钟的时间段之后,取得读出数据DB0。在此,高速缓冲存储器403的时钟的四个时钟也就是以低速处理器422的时钟来换算而言,相当于两个时钟周期。由此,低速处理器422也与高速处理器421一样,可在标签请求的两个周期之后取得读出数据。
再者,对标签请求QB1至QB3的工作与对标签请求QB0的工作相同,因此省略其说明。
以上,通过采用本实施例所涉及的运算装置401,即使在工作速度不同的多个处理器共享高速缓冲存储器的情况下,多个处理器的各处理器也可以不在意处理器之间的工作速度差,而分别以同样的序列进行同时访问。
并且,由于可以调整工作速度差,因此无需在每个处理器设置数据存储部的数据输出端口,而多个处理器可以共享所述数据输出端口。再者,本发明与多端口存储器相比,可以把单元面积小的单端口存储 器作为数据存储部来使用,从而节省高速缓冲存储器的面积,为低成本化做出贡献。
(实施例5)
其次参照附图说明本发明的实施例5。
本实施例所涉及的运算装置具备下列(l)所示的特征。
(l)(l1)第一处理器在工作模式为第一模式时,以第一工作速度来工作;工作模式为第二模式时,以第二工作速度来工作,(l2)速度差调整部在第一模式时调整向第二处理器进行输入的定时,在第二模式时不调整向第二处理器进行输入的定时。
在上述的基础上,以具备本实施例所涉及的运算装置的计算机系统为例进行说明。再者,与实施例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相同的速度来工作。在此,设k=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-1)个级后的低速处理器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。
另外,工作模式信号为模式1时,读出数据速度差调整部524将低速处理器522用读出数据,即,在延迟电路526被延迟了(k-1)个级后的低速处理器522用读出数据,经由信号线468-2输出到低速处理器522,所述低速处理器522用读出数据经由输入源被输入,该输入源是选择电路528作为输入源而选择的信号线570。
在此,由于设k=2,因此低速处理器522用读出数据在延迟电路526被延迟一个级。
并且,工作模式信号为模式2时,读出数据速度差调整部524将低速处理器522用读出数据经由信号线468-2输出到低速处理器522,所述低速处理器522用读出数据经由输入源被输入,该输入源是选择电路528作为输入源而选择的信号线153-2。
图21是示出本实施例所涉及的工作例的时序图。如图21所示,首先,说明工作模式为模式1时的工作。此时,例如,设标签请求QD0及项地址AD0从低速处理器522经由信号线151-2被输出到高速缓冲存储器503,且路径1被命中。相应地,标签TD0从与路径1相对应的标签存储器104-1被输出,该标签TD0是根据标签请求QD0及项地址AD0被确定的。与标签TD0相对应的读出数据DD0从与路径1相对应的单端口存储器105-1被输出。读出数据DD0从高速缓冲存储器503经 由信号线468-2被输出到低速处理器522。
在这种情况下,从项地址AD0被输入到标签存储器104-1之后,直到标签TD0被输入到标签速度差调整部523-1为止,所需时间等于高速缓冲存储器503的时钟的一个时钟的时间段。这个由下述被表明,图中路径1的标签存储器的低速处理器用输入端口(信号线151-2)和路径1的标签速度差调整部的低速处理器用输入端口(信号线156-2)。
在此,在标签速度差调整部523-1中的选择电路527-1选择信号线569-2作为输入源,而在延迟电路525-1被延迟了一个级的标签TD0经由信号线467-2被输出到缓存命中判断部109-2。结果是,从标签TD0被输入到标签速度差调整部523-1之后,直到标签TD0被输入到缓存命中判断部109-2为止,所需时间等于高速缓冲存储器503的时钟的一个时钟的时间段。这个由下述被表明,图中路径1的标签速度差调整部的低速处理器用输入端口(信号线156-2)和路径1的标签速度差调整部的低速处理器用输出端口(信号线467-2)。
并且,从存储器访问请求RD0被输入到单端口存储器105-1之后,直到读出数据DD0被输入到读出数据速度差调整部524为止,所需时间等于高速缓冲存储器503的时钟的一个时钟的时间段。这个由下述被表明,图中路径1的数据存储器的存储器访问请求输入端口(信号线157-1)和读出数据速度差调整部的低速处理器用输入端口(信号线153-2)。
在此,读出数据速度差调整部524中的选择电路528选择信号线570作为输入源,而在延迟电路526被延迟了一个级的处理器522用读 出数据DD0经由信号线468-2被输出到低速处理器522。结果是,从读出数据DD0被输入到读出数据速度差调整部524之后,直到读出数据DD0被输入到低速处理器522为止,所需时间等于高速缓冲存储器503时钟的一个时钟的时间段。这个由下述被表明,图中读出数据速度差调整部的低速处理器用输入端口(信号线153-2)和读出数据速度差调整部的低速处理器用输出端口(468-2)。
其次,说明工作模式为模式2时的工作。此时,例如,设标签请求QD2及项地址AD2从低速处理器522经由信号线151-2被高速缓冲存储器503输出,且路径1被命中。相应地,标签TD2从与路径1相对应的标签存储器104-1被输出,该标签TD2是根据标签请求QD2及项地址AD2被确定的。与标签TD2相对应的读出数据DD2从与路径1相对应的单端口存储器105-1被输出。读出数据DD2从高速缓冲存储器503经由信号线468-2被输出到低速处理器522。
在这种情况下,从项地址AD2被输入到标签存储器104-1之后,直到标签TD0被输入到标签速度差调整部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-1)和读出数据速度差调整部的低速处理器用输入端口(信号线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进行时与以模式1进行时相同。由此,与以模式1进行时同样,可在标签请 求的两个周期之后取得读出数据。
再者,即使在切换工作模式前后的定时中,标签速度差调整部523-1的选择电路527-1以及读出数据速度差调整部524的选择电路528也可以根据工作模式信号进行切换。由此,能够连续访问高速缓冲存储器。
以上,通过采用本实施例所涉及的运算装置501,即使在工作速度不同的多个处理器共享高速缓冲存储器的情况下,多个处理器的各处理器也可以不在意处理器之间的工作速度差,并且也无需在意切换工作速度的定时,而能够分别以同样的序列进行同时访问。
并且,由于可以调整工作速度差,因此无需在每个处理器设置数据存储部的数据输出端口,而多个处理器可以共享该数据输出端口。再者,本发明与多端口存储器相比,可以把单元面积小的单端口存储器作为数据存储部来使用,从而节省高速缓冲存储器的面积,为低成本化做出贡献。
并且,本实施例中,由于在高速处理器521命中的情况下,高速处理器521和高速缓冲存储器503的工作可以不依照工作模式的切换而以相同的速度进行工作,因此可以以同样的序列进行访问,在此省略其说明。
与实施例4相比,通过组合处理器和工作模式,可以使处理性能和耗电量有更多选择,可以实现针对各种各样的处理具备适当的处理性能及耗电量的计算机系统。
(实施例6)
其次参照附图说明本发明的实施例6。
再者,实施例中,说明具备实施例1至5中所涉及的任一个计算机系统的移动机器。
本实施例所涉及的移动机器具备下列(m)所示的特征。
(m)该移动机器包括(m1)实施例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中的运算装置101,可以按照程序的处理量(任务数)来改变处理器的工作数,从而能够实现低耗电量且具备高性能的移动机器。同时,通过采用具备 多个处理器却节省了面积的运算装置,可以实现移动机器的小型化。并且,由于可以避免对同一数据存储部的访问发生冲突,因此为提高移动机器的处理性能做出贡献。
(其他变化实施例)
再者,本发明所涉及的运算装置和主内存也可以集成于单芯片。
再者,本发明所涉及的运算装置也可以通过具备了运算装置的各功能的大规模集成电路(LSI)来实现。
再者,LSI也可以由如全定制(Full-custom)LSI、专用集成电路(ASIC:Application Specific Integrated Circuit)等半定制LSI、如FPGA和CPLD等可编程逻辑器件或可动态地改写电路结构的动态可再配置器件来形成。
并且,将运算装置的各功能形成到LSI的设计数据也可以是根据硬件记述语言被记述了的程序(以下,称为HDL程序)并且,也可以是将HDL程序进行逻辑综合而得的门级网络表。并且,也可以是向门级网络表中附加了配置信息和过程条件等的区块型模组信息。并且,也可以是规定了尺寸和定时等的掩模数据。在此,作为硬件记述语言,有VHDL(Very high speed integrated circuit Hardware DescriptionLanguage)、Verilog-HDL和系统(System)C。
并且,设计数据也可以被存储在可读取的存储介质中,该存储介质可以被通用的计算机系统、编入系统等硬件系统读取。并且,设计数据也可以通过存储介质被其他硬件系统读出来执行。进而,通过这些存储介质被其他硬件系统读取的设计数据,也可以通过下载电缆被 可编程逻辑器件下载。在此,作为可以被通用的计算机系统读取的存储介质,有光学存储介质(例如,CD-ROM等)、磁性存储介质(例如,硬盘等)、光磁存储介质(例如,MO等)和半导体存储器(例如,存储卡等)等。
再者,设计数据可以被保存在硬件系统中,该硬件系统与互联网、局域网等网络相连接。并且,也可以通过网络被其他硬件系统下载来执行。并且,通过这些网络被其他硬件系统取得的设计数据也可以通过下载电缆被可编程逻辑器件下载。在此,网络有地上广播网、卫星广播网、电力线通信(PLC:Power Line Communication)、移动电话网、有线通信网(例如,IEEE802.3等)和无线通信网(例如,IEEE802.11等)等。
并且,设计数据也可以预先被存储在串行ROM中以在通电时可被FPGA传送。并且,存储在串行ROM的设计数据也可以在通电时直接被FPGA下载。
另外,设计数据也可以在通电时被微处理器生成并被FPGA下载。
产业上的可利用性
本发明作为计算机系统等可被利用,该计算机系统具备被多个处理器共享的高速缓冲存储器。
Claims (13)
1.一种运算装置,集成于单芯片,其特征在于,该运算装置包括:
多个处理器,可并行执行多个任务;以及
高速缓冲存储器,被所述多个处理器共享;
所述高速缓冲存储器包括多个数据存储部和多个读出数据选择部,
所述多个数据存储部各自具备一个数据输出端口,
所述多个读出数据选择部的各选择部与所述多个处理器的各处理器以一对一的关系相对应,并从所述多个数据存储部中选择存储有与读出数据选择部相对应的处理器读出的数据的数据存储部,
所述多个数据存储部分别被分类为多个数据存储区域中的任一个,所述多个数据存储区域由所述多个数据存储部中一个以上的数据存储部分别构成,
所述高速缓冲存储器包括:
指定信息保存部,其将指定信息与规定的数据存储区域相对应地进行保存,所述指定信息表示对所述多个数据存储区域中所述规定的数据存储区域指定了规定的任务;以及
确定部,在对所述规定的任务发生了再填充的情况下,其根据所述指定信息保存部中保存的指定信息从所述多个数据存储区域中,确定所述规定的数据存储区域作为可再填充的数据存储区域。
2.如权利要求1所述的运算装置,其特征在于,
所述多个数据存储部各自具备一个存储器访问请求输入端口和一个数据输入端口,
所述高速缓冲存储器包括多个存储器访问请求选择部,
所述多个存储器访问请求选择部的各选择部与所述多个数据存储部的各存储部以一对一的关系相对应,并从由所述多个处理器分别输出的存储器访问请求中选择由正在执行任务的处理器输出的存储器访问请求,所述任务是被指定给与存储器访问请求选择部相对应的数据存储部的任务。
3.如权利要求1所述的运算装置,其特征在于,
所述高速缓冲存储器是n路径集联方式的高速缓冲存储器,n是自然数,
所述多个数据存储部的各存储部与所述n个路径的各路径以一对一的关系相对应。
4.如权利要求1所述的运算装置,其特征在于,
所述多个处理器包括以第一工作速度来工作的第一处理器和以第二工作速度来工作的第二处理器,所述第二工作速度比所述第一工作速度慢,
所述多个读出数据选择部包括与所述第一处理器相对应的第一读出数据选择部和与所述第二处理器相对应的第二读出数据选择部,
所述高速缓冲存储器包括速度差调整部,该速度差调整部根据所述第一处理器的工作速度和所述第二处理器的工作速度的速度差,来调整从所述第二读出数据选择部输出的数据向所述第二处理器输入的定时。
5.如权利要求4所述的运算装置,其特征在于,
所述第一工作速度是所述第二工作速度的k倍,k是自然数,
所述高速缓冲存储器的工作时钟与所述第一处理器的工作时钟相同,
所述速度差调整部包括延迟电路,该延迟电路,以所述高速缓冲存储器的工作时钟为基准进行换算,将从所述第二读出数据选择部输出的数据向所述第二处理器输入的定时,相对于从所述第一读出数据选择部输出的数据向所述第一处理器输入的定时延迟k-1个时钟的时间段。
6.如权利要求4所述的运算装置,其特征在于,所述第二处理器可执行的指令组与所述第一处理器可执行的指令组相同。
7.如权利要求4所述的运算装置,其特征在于,
所述第一处理器在工作模式为第一模式时,以所述第一工作速度来工作,在工作模式为第二模式时,以所述第二工作速度来工作,
所述速度差调整部在所述第一模式时调整向所述第二处理器输入的定时,在所述第二模式时不调整向所述第二处理器输入的定时。
8.一种计算机系统,其特征在于,
该计算机系统包括如权利要求1所述的运算装置和存储有指定程序的主存储装置,
执行了所述指定程序的所述运算装置在所述规定的任务被生成时,从所述多个数据存储区域中,对所述规定的任务指定所述规定的数据存储区域,并将所述指定信息与所述规定的数据存储区域相对应地登记到所述指定信息保存部。
9.如权利要求8所述的计算机系统,其特征在于,
执行了所述指定程序的所述运算装置管理对所述多个数据存储区域的各区域指定任务的工作,从所述多个数据存储区域中,按每个任务来指定不同的数据存储区域,并将按每个任务而不同的指定信息,与按每个任务而不同的数据存储区域相对应地登记到所述指定信息保存部。
10.如权利要求8所述的计算机系统,其特征在于,
执行了所述指定程序的所述运算装置,将所述多个数据存储区域的各区域分类为多个缓存区域中的任一个,管理对所述多个数据存储区域的各区域指定任务的工作,所述多个缓存区域的各区域与所述多个处理器的各处理器以一对一的关系相对应,
所述运算装置对所述多个处理器中规定的处理器所执行的任务,从规定的缓存区域中指定数据存储区域,所述规定的缓存区域是所述多个缓存区域中与所述规定的处理器相对应的规定的缓存区域,
所述运算装置还把多个指定信息与所述规定的缓存区域相对应地登记到所述指定信息保存部,所述多个指定信息分别识别所述规定的处理器所执行的多个任务。
11.如权利要求10所述的计算机系统,其特征在于,
执行了所述指定程序的所述运算装置,将构成所述规定的缓存区域的多个数据存储区域的各区域分类为第一部分缓存区域和第二部分缓存区域中的任一个,所述第一部分缓存区域由只能指定给一个任务的数据存储区域构成,所述第二部分缓存区域由可指定给多个任务的数据存储区域构成,
所述规定的处理器所执行的任务是规定的种类的任务时,从所述第一部分缓存区域中指定数据存储区域,所述规定的处理器所执行的任务不是规定的种类的任务时,从所述第二部分缓存区域中指定数据存储区域。
12.一种移动机器,其特征在于,该移动机器包括:
如权利要求1所述的运算装置;
主存储装置,其存储用于解码声音数据的声音解码程序和用于解码图像数据的图像解码程序;
声音输出装置,其根据声音解码结果输出声音;以及
图像输出装置,其根据图像解码结果输出图像,
所述多个处理器中执行了所述图像解码程序的处理器将解码图像数据而得到的图像解码结果输出到所述图像输出装置,
所述多个处理器中执行了所述声音解码程序的处理器将解码声音数据而得到的声音解码结果输出到所述声音输出装置。
13.一种控制运算装置的控制方法,所述运算装置是权利要求1所述的运算装置,其特征在于,
该控制方法包括:
指定步骤,规定的任务被生成时,从所述高速缓冲存储器的多个数据存储区域中对所述规定的任务指定规定的数据存储区域;以及
选择步骤,从所述多个数据存储区域中选择存储有数据的数据存储区域,所述数据是被所述多个处理器中正在执行所述规定的任务的规定的处理器读出的数据。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP246000/2006 | 2006-09-11 | ||
JP2006246000 | 2006-09-11 | ||
JP2007133208A JP2008097572A (ja) | 2006-09-11 | 2007-05-18 | 演算装置、コンピュータシステム、および携帯機器 |
JP133208/2007 | 2007-05-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101145133A CN101145133A (zh) | 2008-03-19 |
CN101145133B true CN101145133B (zh) | 2011-12-07 |
Family
ID=39171142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101488008A Active CN101145133B (zh) | 2006-09-11 | 2007-09-11 | 运算装置、计算机系统以及移动机器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8090921B2 (zh) |
JP (1) | JP2008097572A (zh) |
CN (1) | CN101145133B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4607958B2 (ja) * | 2006-01-20 | 2011-01-05 | パナソニック株式会社 | プロセッサおよびプログラム変換装置 |
JP4940033B2 (ja) * | 2007-06-29 | 2012-05-30 | パナソニック株式会社 | 計算機システム、計算機システムの制御方法および携帯電話機 |
JP2010244435A (ja) * | 2009-04-08 | 2010-10-28 | Panasonic Corp | キャッシュ制御装置及びキャッシュ制御方法 |
US8244982B2 (en) * | 2009-08-21 | 2012-08-14 | Empire Technology Development Llc | Allocating processor cores with cache memory associativity |
JP5485055B2 (ja) * | 2010-07-16 | 2014-05-07 | パナソニック株式会社 | 共有メモリシステム及びその制御方法 |
JP5640204B2 (ja) * | 2011-02-25 | 2014-12-17 | 高田 周一 | メモリ制御装置 |
GB2496396B (en) * | 2011-11-09 | 2014-07-30 | Imagination Tech Ltd | Memory access for digital signal processing |
US8972665B2 (en) * | 2012-06-15 | 2015-03-03 | International Business Machines Corporation | Cache set selective power up |
JP6149595B2 (ja) * | 2013-08-13 | 2017-06-21 | 富士通株式会社 | キャッシュメモリ制御プログラム,キャッシュメモリを内蔵するプロセッサ及びキャッシュメモリ制御方法 |
JP6135392B2 (ja) * | 2013-08-16 | 2017-05-31 | 富士通株式会社 | キャッシュメモリ制御プログラム,キャッシュメモリを内蔵するプロセッサ及びキャッシュメモリ制御方法 |
JP6241164B2 (ja) * | 2013-09-18 | 2017-12-06 | 富士通株式会社 | キャッシュメモリ制御プログラム,キャッシュメモリを内蔵するプロセッサ及びキャッシュメモリ制御方法 |
CN113537481B (zh) * | 2016-12-30 | 2024-04-02 | 上海寒武纪信息科技有限公司 | 用于执行lstm神经网络运算的装置和运算方法 |
JP6979777B2 (ja) * | 2017-03-22 | 2021-12-15 | キヤノン株式会社 | インターフェース装置およびその制御方法 |
KR20220064665A (ko) * | 2020-11-12 | 2022-05-19 | 삼성전자주식회사 | 인공지능 모델을 분산 처리하는 전자 장치 및 그 동작 방법 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5247649A (en) * | 1988-05-06 | 1993-09-21 | Hitachi, Ltd. | Multi-processor system having a multi-port cache memory |
JPH01280860A (ja) | 1988-05-06 | 1989-11-13 | Hitachi Ltd | マルチポートキヤツシユメモリを有するマルチプロセツサシステム |
JPH035849A (ja) * | 1989-06-01 | 1991-01-11 | Fujitsu Ltd | 記憶装置アクセス選択方式 |
US5875464A (en) | 1991-12-10 | 1999-02-23 | International Business Machines Corporation | Computer system with private and shared partitions in cache |
US6725336B2 (en) * | 2001-04-20 | 2004-04-20 | Sun Microsystems, Inc. | Dynamically allocated cache memory for a multi-processor unit |
JP2002342163A (ja) * | 2001-05-15 | 2002-11-29 | Fujitsu Ltd | マルチスレッドプロセッサ用キャッシュ制御方式 |
JP3620473B2 (ja) * | 2001-06-14 | 2005-02-16 | 日本電気株式会社 | 共有キャッシュメモリのリプレイスメント制御方法及びその装置 |
JP4664586B2 (ja) * | 2002-11-11 | 2011-04-06 | パナソニック株式会社 | キャッシュ制御装置、キャッシュ制御方法、コンピュータシステム |
US7206949B2 (en) | 2003-03-18 | 2007-04-17 | Matsushita Electric Industrial Co., Ltd. | System and method for controlling a clock oscillator and power supply voltage based on the energy consumed for processing a predetermined amount of data |
AU2005214571B2 (en) | 2004-02-23 | 2009-10-01 | Panasonic Corporation | Display processing device |
JP2008500627A (ja) * | 2004-05-27 | 2008-01-10 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 信号処理装置 |
JP4753549B2 (ja) * | 2004-05-31 | 2011-08-24 | パナソニック株式会社 | キャッシュメモリおよびシステム |
EP1770535A4 (en) | 2004-07-06 | 2009-07-15 | Panasonic Corp | RECORDING MEDIUM AND INFORMATION PROCESSING DEVICE AND INFORMATION PROCESSING METHOD FOR THE RECORDING MEDIUM |
JP4336848B2 (ja) * | 2004-11-10 | 2009-09-30 | 日本電気株式会社 | マルチポートキャッシュメモリ及びマルチポートキャッシュメモリのアクセス制御方式 |
-
2007
- 2007-05-18 JP JP2007133208A patent/JP2008097572A/ja active Pending
- 2007-09-06 US US11/850,761 patent/US8090921B2/en active Active
- 2007-09-11 CN CN2007101488008A patent/CN101145133B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101145133A (zh) | 2008-03-19 |
US20080065833A1 (en) | 2008-03-13 |
JP2008097572A (ja) | 2008-04-24 |
US8090921B2 (en) | 2012-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101145133B (zh) | 运算装置、计算机系统以及移动机器 | |
US8214845B2 (en) | Context switching in a network on chip by thread saving and restoring pointers to memory arrays containing valid message data | |
TWI444023B (zh) | 用於性能及流量知覺的異質互連網路的方法、設備以及系統 | |
US9830294B2 (en) | Data processing system and method for handling multiple transactions using a multi-transaction request | |
US20120203971A1 (en) | Network On Chip With Caching Restrictions For Pages Of Computer Memory | |
US8490110B2 (en) | Network on chip with a low latency, high bandwidth application messaging interconnect | |
US7251803B2 (en) | Memory re-implementation for field programmable gate arrays | |
US7873701B2 (en) | Network on chip with partitions | |
US8392664B2 (en) | Network on chip | |
CN101751980B (zh) | 基于存储器知识产权核的嵌入式可编程存储器 | |
US20090109996A1 (en) | Network on Chip | |
US7844422B2 (en) | Method and system for changing a description for a state transition function of a state machine engine | |
KR20160079646A (ko) | 비대칭적 프로세서 코어 간의 협력적 실행을 위한 기법 | |
JP2009080799A (ja) | 単一のオペレーティングシステムイメージ下で動作する再構成可能なプロセッサを用いるウェブサーバのためのシステムおよび方法 | |
US5860101A (en) | Scalable symmetric multiprocessor data-processing system with data allocation among private caches and segments of system memory | |
JP2012520535A (ja) | メモリアクセス時間を最適化するための、メモリアクセスコントローラ、システム、および方法 | |
CN102033818A (zh) | 媒体缓冲和流水线式处理组件 | |
US10437750B2 (en) | Relative data width indication for read responses routed by an interconnect | |
TWI536772B (zh) | 直接提供資料訊息至協定層之技術 | |
JP2731742B2 (ja) | クラスタ構成の並列計算機 | |
KR20110066526A (ko) | 다중포트 메모리 콘트롤러 및 다중포트 캐시 | |
JPH07248967A (ja) | メモリ制御方式 | |
CN101681304B (zh) | 高速缓冲存储器控制装置及流水线控制方法 | |
CN107113252A (zh) | 用于片上网络的并行方向解码电路 | |
US7181575B2 (en) | Instruction cache using single-ported memories |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20151104 Address after: Kanagawa Patentee after: Co., Ltd. Suo Si future Address before: Osaka Japan Patentee before: Matsushita Electric Industrial Co., Ltd. |