高速处理器系统,使用该系统的方法和记录介质的制作方法

文档序号:6469521阅读:160来源:国知局
专利名称:高速处理器系统,使用该系统的方法和记录介质的制作方法
技术领域
本发明涉及层次式配置的并行计算机系统,特别涉及能执行高速并行处理而无需修改已有编程风格的高速处理器系统,涉及使用高速处理器系统的方法和一种记录介质。
背景技术
具有一个CPU和一个带高速缓冲存储器的低速大容量DRAM的高速处理器系统作为一个用于高速处理大规模数据的系统是众所周知的。如

图1所示,这样的已知高速处理器系统有包括一个一级高速缓冲存储器的CPU1,和通过共同的总线连接到CPU1的多个平行的DRAM2,每一个DRAM2配置有二级高速缓冲存储器3,二级高速缓冲存储器3用于使DRAM2能以接近CPU1的处理速度的速度处理。
在图1所示电路的操作中,根据CPU1给出的一个指令读出多个DRAM2中一个的内容,并且也根据来自CPU1的一个指令把信息写到DRAM2里。如果读指令命中,也就是如果高速缓冲存储器3保存有要从DRAM2读出的希望的内容,则CPU10可以通过访问二级高速缓冲存储器3来执行高速数据处理。但是,在没有命中的情况下,也就是,当高速缓冲存储器3中不存在希望的内容时,那么需要高速缓冲存储器3从DRAM2读出目标内容。
具有处理器、DRAM和高速缓冲存储器的高速处理器系统的所述基本配置在当前占主导地位,因为它有利地允许使用一般编程风格用于控制。
这一高速处理器系统采用高速缓冲存储器的层次式排列,但是,它不能执行并行处理,因为它采用唯一的CPU1。另外,一般的编程风格内在上不是打算用于并行处理的,而且不能容易地用于运行并行处理系统,除非它被修改,这样妨碍了实际的使用。
发明公开在这些情况下,本发明的目的是提供一种新的高速处理器系统,一种使用该高速处理器系统的方法,和一种用于记录计算机可读和计算机可执行程序的记录介质。
考虑到前述情况,本发明的一个目的是提供一个高速处理器系统,该系统能实现并行处理而无需对常规编程风格进行任何改变或修改,提供一种产生这种高速处理器系统的方法和一种记录计算机可读和计算机可执行程序的记录介质。
根据本发明,提供了一种高速处理器系统,包含具有一个一级高速缓冲存储器的CPU;设置在比CPU低一个层次的二级高速缓冲存储器,该二级高速缓冲存储器具有一个第一MPU;连接到二级高速缓冲存储器并彼此并行设置的多个主存储器,每一主存储器具有配有一个第二MPU的第三高速缓冲存储器;其中第一MPU和第二MPU的每一个都有高速缓冲存储的逻辑功能和处理器功能,因此允许分布的并行处理。
在本发明的高速处理器系统中,第三高速缓冲存储器可以有比二级高速缓冲存储器更大的线长度,二级高速缓冲存储器具有比一级高速缓冲存储器更大的线长度。
二级高速缓冲存储器由CPU作为二级高速缓冲存储器访问,和由第一MPU作为一级高速缓冲存储器访问。
第三高速缓冲存储器由CPU作为第三高速缓冲存储器访问,由第一MPU作为二级高速缓冲存储器访问,和由第二MPU作为一级高速缓冲存储器访问。
由第一MPU和第二MPU执行的每一数据处理按照一个预取指令携带的控制协议或CPU给出的一个智能预取指令来执行。同时,第一MPU和第二MPU中的每一个根据数据传送长度和数据传送频率有选择地执行数据处理,例如,第一MPU主要通过使用存储在多个主存储器中的数据和程序来执行全局传输处理或低计算级和高传输速率处理。第二MPU主要通过使用存储在相关的单个主存储器中的数据和程序来执行本地对象处理。
高速处理器系统可以以单个芯片作为ASIC-DRAM来实现。
本发明还提供使用高速处理器系统的方法,该系统包括具有一级高速缓冲存储器的CPU;设置在比CPU低一个层次级的二级高速缓冲存储器,该二级高速缓冲存储器具有一个第一MPU;连接到二级高速缓冲存储器并彼此并行设置的多个主存储器,每一主存储器具有配有第二MPU的第三高速缓冲存储器;所述方法包括使CPU主要执行高级运算处理;使第一MPU主要执行全局传输处理和低级计算和高速率传输处理;使第二MPU中的一个通过使用存储在与该第二MPU相关的主存储器中的数据和程序主要执行本地对象处理,从而执行分布并行处理。
由第一MPU和第二MPU执行的每一个数据处理按照预取指令携带的控制协议或CPU给出的智能预取指令执行。因此,高速处理器以一般编程风格得到控制。
本发明的高速处理器系统可以通过包括如下部件予以实现具有一级高速缓冲存储器的CPU,连接到CPU并彼此并行设置的多个主存储器,每一主存储器具有配有MPU提供的二级高速缓冲存储器;其中每一个MPU都具有高速缓冲存储器逻辑功能和处理器功能,因此能分布并行处理。
附图简要说明图1是一个常规并行处理器的方框图。
图2是本发明的一个实施例的方框图。
图3是表示DRAM、MPU和高速缓冲存储器的芯片布局的一个实际例子的方框图。
图4是表示二级高速缓冲存储器和MPU的内部结构的方框图。
图5是说明在一个普通高速缓冲存储器模式下的数据流的示意图。
图6是说明在本地对象分布执行中的数据流的示意图。
图7是说明由二级高速缓冲存储器执行的传输处理中的数据流的示意图。
图8表示一个智能预取指令。
图9是表示一个ASIC DRAM的芯片系统的示意图。
实现本发明的较佳方式参考图2到图9说明本发明的一个优选实施例。参考图2,高速处理器系统有一个CPU10,它包括用作一级高速缓冲存储器的一个I高速缓冲存储器(指令高速缓冲存储器)10a,一个D高速缓冲存储器(数据高速缓冲存储器)10b和高速暂存(scratch pad)存储器10c。(术语“一级高速缓冲存储器”也被用于整体表示I高速缓冲存储器10a,D高速缓冲存储器10b和高速暂存存储器10c。)高速处理器系统还有连接到CPU10的统一的高速缓冲存储器11(也称为“二级高速缓冲存储器”)。高速处理器系统的最低层次包括多个通过总线和DRAM13-1到13-3彼此平行连接的统一的高速缓冲存储器12(也称为“第三高速缓冲存储器”)。二级高速缓冲存储器和第三高速缓冲存储器分别配有MPU(微处理单元)16和14,用作高速缓冲存储器逻辑。
图2所示的配置的每一层使用一个或多个高速缓冲存储器用于实现高速处理。这样安排,对于较低层次的高速缓冲存储器使得作为高速缓冲存储器容量单位的大小,亦即突发脉冲串读/写长度的线长度,大于较高层次的高速缓冲存储器的线长度。图2所示的配置仅为了说明,并且二级高速缓冲存储器11不是必需的。亦即高速处理器系统可以有这样的配置,它包括CPU10和多个DRAM13,每一DRAM13有统一的高速缓冲存储器12。
在图2所示安排中,用作二级高速缓冲存储器12和第三高速缓冲存储器13的高速缓冲存储器逻辑的MPU16和MPU14与CPU10二进制兼容。MPU14和MPU16中的每一个有双重角色亦即用作高速缓冲存储器逻辑的功能和用作处理器的功能。高速缓冲存储器功能是用于在CPU10的命令下控制高速缓冲存储器的功能,而处理器功能是在CPU10的命令下用作分布并行系统的一个子CPU的功能。
图3是在半导体芯片15上实际实现的图2的高速处理器配置的说明。在芯片15上形成的是一个DRAM阵列13a,它构成DRAM13的主要部分,检测放大器13b,行地址13c,列地址13d,控制电路13e和数据输入/输出电路13f。图3所示的芯片15使用一个SRAM12作为高速缓冲存储器。SRAM12直接连接到检测放大器13b,后者向或从DRAM阵列13a输入和输出数据。SRAM12在它自身与数据输入/输出电路13f之间交换数据。
由SRAM12实现的高速缓冲存储器由具有高速缓冲存储器逻辑功能和处理器功能两者的MPU14控制。关于高速缓冲存储器逻辑功能,SRAM12在MPU14的控制下作为简单的统一高速缓冲存储器,使得对DRAM阵列13a上的读/写操作经由SRAM12执行。关于处理功能,在图2所示的安排中,对于CPU10,SRAM12作为第三高速缓冲存储器,使得MPU14根据预定的预取指令执行操作,诸如执行由存储在DRAM 13a中的程序和数据组成的对象和数据的预读。
MPU14由CPU10给出的预取指令驱动。一般说,处理器系统的处理速度依赖于互连CPU和存储器并作为高速存储器的高速缓冲存储器,这就是为什么要积极接受使用高速缓冲存储器的缘故。尤其是,通过使用预取指令CPU预读数据。在本发明中,用于高速缓冲存储器控制的预取指令进一步应用于MPU14,使得MPU14也能够执行处理。
实际上,MPU14可以借助可缩放的RISC(精简指令集计算机)CPU核结合在系统的高速缓冲存储器中,该CPU核可由相对小的核例如ARM(先进RISC机器)处理器或MIPS(无互锁管线级的微处理器)处理器实现,它们可以实现高性能CPU。
图4说明在图2所示的在CPU10和二级高速缓冲存储器11之间的互连的实际安排。基本上,二级高速缓冲存储器11可以被看作是结合一个统一高速缓冲存储器11a的处理器。对于CPU10执行处理功能的MPU16用作二级高速缓冲存储器,并且可以作为二级高速缓冲存储器工作。在二级高速缓冲存储器中的统一高速缓冲存储器11a由一个SRAM组成。当由CPU10访问时,统一高速缓冲存储器11a用作CPU10的二级高速缓冲存储器。当由MPU16访问时,统一高速缓冲存储器11a用作为MPU 16的一级高速缓冲存储器。在图4中,参考数字17指示用于连接到DRAM13的存储器接口。
如前所述,二级高速缓冲存储器11具有比包括I高速缓冲存储器、D高速缓冲存储器和高速暂存的一级高速缓冲存储器更大的突发脉冲串读/写长度。根据CPU10给出的控制协议,二级高速缓冲存储器11作为二级高速缓冲存储器工作,并同时执行对由存储在第三高速缓冲存储器和主存储器中的程序和数据组成的对象的处理。在这一场合的处理主要是,需要频繁在DRAM13-1到13-3之间传输数据,而不是复杂的运算处理。二级高速缓冲存储器11还根据CPU10给出的命令执行一种类型的预取指令,它们比每一第三高速缓冲存储器12的MPU 14执行的那些更一般和更复杂。例如,二级高速缓冲存储器12执行涉及多个DRAM的预取指令。
图5表示当图2所示电路在普通高速缓冲存储器方式下操作时观察到的数据流,其中MPU14和16只执行高速缓冲存储器逻辑功能而不执行处理功能。当CPU10处理包含在DRAM中的数据时,它通过二级高速缓冲存储器11读数据。亦即从最低层次级的第三高速缓冲存储器12传输数据到二级高速缓冲存储器11,并且它被设计为具有相对大的传输长度(一次传输的数据长度)和相对低的传输速率。传输到二级高速缓冲存储器11的数据被进一步传输到最高层次的一级高速缓冲存储器,并被交付给CPU10。沿上述路线逆向执行向DRAM13写数据。
因此,多次执行访问数据。进行访问的这一方式似乎通过CPU10的目前可用的堆栈功能(如后进先出的存储功能)而有效管理。然而,实际碰到的一个问题在于,必须经常访问的数据被高速缓冲出去(cache-out)是由必须仅由CPU访问一次的数据引起,诸如用于图象处理的数据和要被检索的大规模数据。这导致了无用访问数目的增加。根据本发明的高速缓冲存储器控制的所述概念是基于消除或减少这种无用访问的数目的需要。
目前可用的处理系统被设计成如图5所示的那样,假定存在许多访问路径。从一个实际观点来看,在普通编程下可操作的图5的存储器结构非常有用。
现在参考图6,图中表示当第三高速缓冲存储器12的MPU14执行处理功能时实现的数据流。在这种场合,MPU14执行本地对象的分布处理。因此,不需要由CPU10处理的本地对象根据包含在由CPU10给出的预取指令中的控制协议由MPU14处理。例如,存储在单个DRAM块中的程序或数据作为本地对象对待,并且接受诸如仅仅是增量计算或决定最大值的处理。从而可能通过使用MPU14执行分布并行处理。可以理解,在分布并行处理的执行期间,本地对象处理在其上执行的DRAM块从命令高速缓冲存储器缓冲中高速缓冲出去。
图7表示当二级高速缓冲存储器11中的MPU16执行处理功能时实现的数据流。MPU16在预定的范围里执行对象的分布处理。亦即MPU16根据CPU10给出的控制协议执行不需由CPU10处理的对象的处理。由MPU16执行的分布处理的例子是全局传输处理和低级计算和高速率传输处理,例如,从一个DRAM13-1到另一个DRAM13-2的数据传输。
基本上,MPU16可以访问所有的存储器,使得它能作为代替CPU10执行处理的多处理器系统。然而,MPU16最适合用于大规模传输如大规模数据的全局传输,因为它的计算能力比CPU10的低得多。因此,MPU16有选择地执行一类不需要CPU10的高计算能力或命令一级高速缓冲存储器的复杂功能的处理。由MPU16执行的处理也在CPU10给出的控制协议的控制下。
图8说明一个智能预取指令。该智能预取指令(IPREF)用作允许控制从属于CPU10的MPU16和14而不需要对常规编程风格进行任何改变的设备,MPU16和14附属于CPU10。参考图8,CPU10有I高速缓冲存储器10a和D高速缓冲存储器10b。高速缓冲存储器一致性的问题通过使用MPU16作为处理器而出现。亦即,作为由MPU16执行程序的结果的数据变化可能与在CPU10的D高速缓冲存储器10b中保留的数据不一致。为避免这一问题,图示实施例如此安排,当CPU10指示MPU16执行某一作业时,在CPU10的D高速缓冲存储器10b中的数据被高速缓冲出去,使得D高速缓冲存储器10b的内容用作为MPU16执行的程序的结果得到的新数据(指定的数据)来更新。
MPU16内在上是一个高速缓冲存储器,因此它可作为高速缓冲存储器控制。为此目的,MPU16根据IPREF指令以和一般高速缓冲存储器根据预取指令工作同样的方式执行一件作业。因此这有可能借助IPREF指令同时控制高速缓冲存储器和MPU16两者。特别是,MPU16响应一个预取指令起高速缓冲存储器的作用,并响应IPREF指令执行一件作业。
换句话说,参考图8,IPREF是CPU10给出的扩展指令。当执行时,该扩展指令引起D高速缓冲存储器10b中的某个指定区域被高速缓冲出去,并给低一层次级的高速缓冲存储器发送一个控制协议。在接收到控制协议时,低一层次级的指定的MPU通过对DRAM或低一层次级的存储器块访问来执行该协议指定的程序,并把希望的数据放进高速缓冲存储器。
下面表示为决定最大值数据的检索的一个例子。
IPREF DRAM 0/*DRAM 0中数据阵列的最大值*/IPREF DRAM 1/*DRAM 1中数据阵列的最大值*/
IPREF DRAM 2/*DRAM 2中数据阵列的最大值*/IPREF DRAM 3/*DRAM 3中数据阵列的最大值*/Load r0 DRAM1-MAX/*读DRAM 0中的最大值*/Load r1 DRAM1-MAX/*读DRAM 1中的最大值*/Load r2 DRAM1-MAX/*读DRAM 2中的最大值*/Load r3 DRAM1-MAX/*读DRAM 3中的最大值*/Max r0,r0,r1Max r2,r2,r3Max r0,r0,r2/*最大值数据检索结束*/这一例子基于图8所示的指定数据已被寄存在从DRAM0到DRAM3中的假定。指令IPREF DRAM0到IPREF DRAM3是用于执行一个指定程序的指令。在进行D高速缓冲存储器10b中的指定区域的内容被高速缓冲出去之后,已被寄存的程序按照IPREF指令执行。该IPREF在DRAM0到DRAM3执行,而CPU10发送控制协议到DRAM0至DRAM3。当在高速缓冲存储器中已经设置最大值时执行加载指令。在这种场合,有可能通过使用包括四个IPREF指令和四个加载指令的八个指令来决定四个最大值,不过可得到的最大值的数目取决于DRAM的传输长度。真实的最大值可以通过逐一检查获取的最大值来决定。
从以上的说明可以看出,根据本发明,提供一个处理器系统,它具有多个高速缓冲存储器,每一个高速缓冲存储器结合一个MPU,该MPU既可作为高速缓冲存储器逻辑也可作为附属层次级的处理器。使用该处理器系统,可以实现高速和高效的并行处理,而无需对常规编程风格做任何修改。
权利要求
1.一个高速处理器系统,包括具有一级高速缓冲存储器的CPU;设置在比所述CPU低一个层次级上的二级高速缓冲存储器,所述二级高速缓冲存储器具有第一MPU;连接到所述二级高速缓冲存储器并彼此并行设置的多个主存储器,每一所述主存储器具有配有第二MPU的第三高速缓冲存储器;其中,每一所述第一MPU和所述第二MPU都有高速缓冲存储逻辑功能和处理器功能,从而允许分布并行处理。
2.根据权利要求1的高速处理器系统,其中,所述第三高速缓冲存储器有比所述二级高速缓冲存储器更大的线长度,所述二级高速缓冲存储器有比所述一级高速缓冲存储器更大的线长度。
3.根据权利要求1的高速处理器系统,其中,所述第一MPU和所述第二MPU与所述CPU10二进制兼容。
4.根据权利要求1的高速处理器系统,其中,每一所述二级高速缓冲存储器和所述第三高速缓冲存储器由一个统一的高速缓冲存储器实现。
5.根据权利要求1的高速处理器系统,其中,所述二级高速缓冲存储器由所述CPU作为二级高速缓冲存储器访问,由所述第一MPU作为一级高速缓冲存储器访问。
6.根据权利要求1的高速处理器系统,其中,所述第三高速缓冲存储器由所述CPU作为第三高速缓冲存储器访问,由所述第一MPU作为二级高速缓冲存储器访问,由所述第二MPU作为一级高速缓冲存储器访问。
7.根据权利要求1的高速处理器系统,其中,由所述第一MPU和所述第二MPU执行的每一个数据处理根据由一个预取指令携带的控制协议或由所述CPU给出的一个智能预取指令执行。
8.根据权利要求1的高速处理器系统,其中,每一所述第一MPU和所述第二MPU根据数据传输长度和数据传输频率有选择地执行数据处理。
9.根据权利要求1的高速处理器系统,其中,所述第一MPU通过使用存储在所述多个主存储器中的数据和程序主要执行全局传输处理或低计算级和高传输速率处理。
10.根据权利要求1的高速处理器系统,其中,每一所述第二MPU通过使用存储在相关的单个主存储器中的数据和程序主要执行本地对象处理。
11.根据权利要求1的高速处理器系统,其中,所述主存储器由DRAM实现,每一个所述一级高速缓冲存储器和所述二级高速缓冲存储器由SRAM实现。
12.根据权利要求1的高速处理器系统,其以作为ASIC-DRAM的单个芯片实现。
13.使用高速处理器系统的一种方法,该高速处理器系统包括具有一级高速缓冲存储器的CPU;设置在比所述CPU低一个层次级的二级高速缓冲存储器,所述二级高速缓冲存储器具有第一MPU;连接到所述二级高速缓冲存储器并彼此并行设置的多个主存储器,每一个所述主存储器具有配有第二MPU的第三高速缓冲存储器;所述方法包括使所述CPU主要执行高级运算处理;使所述第一MPU主要执行全局传输处理和低计算级和高传输率处理;使所述第二MPU中的一个通过使用存储在与该第二MPU相关的所述主存储器中的数据和程序主要执行本地对象处理,从而执行分布并行处理。
14.一种根据权利要求13使用高速处理器系统的方法,其中,由所述第一MPU和所述第二MPU执行的每一个数据处理根据一个预取指令携带的控制协议或CPU给出的一个智能预取指令执行。
15.一种根据权利要求13使用高速处理器系统的方法,其中,所述高速处理器用普通编程风格控制。
16.一种根据权利要求13使用高速处理器系统的方法,其中,当所述第一MPU和所述第二MPU至少有一个正在执行数据处理功能处理数据时,MPU所属的块被高速缓冲出去。
17.一种用于高速处理器系统的计算机可读和计算机可执行程序,所述高速处理器系统包括具有一级高速缓冲存储器的CPU;设置在比所述CPU低一个层次级的二级高速缓冲存储器,所述二级高速缓冲存储器具有第一MPU;连接到所述二级高速缓冲存储器并彼此并行设置的多个主存储器,每一个所述主存储器具有配有第二MPU的第三高速缓冲存储器;所述计算机可读和计算机可执行程序包括所述CPU给所述第一MPU和所述第二MPU的预取指令或智能预取指令的上下文中的控制协议;其中,所述第一MPU通过使用存储在所述多个主存储器中的数据和程序主要执行全局传输处理或低计算级和高传输率处理;其中,所述第二MPU通过使用存储在相关的单个主存储器中的数据和程序主要执行本地对象处理,从而执行分布并行处理。
18.一个高速处理器系统,包括具有一级高速缓冲存储器的CPU;连接到所述CPU并彼此并行设置的多个主存储器,每一所述主存储器具有配有一个MPU的二级高速缓冲存储器;其中每一个所述MPU都有高速缓冲存储器逻辑功能和处理器功能,从而允许分布并行处理。
19.根据权利要求18的高速处理器系统,其中,每一所述二级高速缓冲存储器由一个统一的高速缓冲存储器实现。
20.根据权利要求18的高速处理器系统,其中,所述二级高速缓冲存储器由所述CPU作为二级高速缓冲存储器访问,由所述MPU作为一级高速缓冲存储器访问。
21.根据权利要求18的高速处理器系统,其中,由多个MPU进行的数据处理根据一个预取指令或由所述CPU给出的一个智能预取指令携带的控制协议执行。
22.根据权利要求18的高速处理器系统,其中,每一所述MPU通过使用存储在相关的单个主存储器中的数据和程序主要执行本地对象处理。
23.根据权利要求18的高速处理器系统,其中,所述主存储器由DRAM实现,所述一级高速缓冲存储器和所述二级高速缓冲存储器中的每一个由SRAM实现。
24.根据权利要求18的高速处理器系统,以作为ASIC-DRAM的单个芯片实现。
全文摘要
本发明的目的是提供一个高速处理器系统,它不需修改常规编程风格就能执行分布并行处理。根据本发明,该处理器系统有一个CPU,多个并行的DRAM和多个分层配置排列的高速缓冲存储器。给每一个高速缓冲存储器配备一个MPU,它与CPU二进制兼容,具有用作处理器的功能。
文档编号G06F9/30GK1341242SQ00802983
公开日2002年3月20日 申请日期2000年1月21日 优先权日1999年1月21日
发明者大场章男 申请人:索尼电脑娱乐公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1