CN1341242A - 高速处理器系统,使用该系统的方法和记录介质 - Google Patents

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

Info

Publication number
CN1341242A
CN1341242A CN00802983A CN00802983A CN1341242A CN 1341242 A CN1341242 A CN 1341242A CN 00802983 A CN00802983 A CN 00802983A CN 00802983 A CN00802983 A CN 00802983A CN 1341242 A CN1341242 A CN 1341242A
Authority
CN
China
Prior art keywords
cache memory
mpu
high speed
processor system
speed processor
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.)
Granted
Application number
CN00802983A
Other languages
English (en)
Other versions
CN100483389C (zh
Inventor
大场章男
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Publication of CN1341242A publication Critical patent/CN1341242A/zh
Application granted granted Critical
Publication of CN100483389C publication Critical patent/CN100483389C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30047Prefetch instructions; cache control instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7821Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set

Abstract

本发明的目的是提供一个高速处理器系统,它不需修改常规编程风格就能执行分布并行处理。根据本发明,该处理器系统有一个CPU,多个并行的DRAM和多个分层配置排列的高速缓冲存储器。给每一个高速缓冲存储器配备一个MPU,它与CPU二进制兼容,具有用作处理器的功能。

Description

高速处理器系统,使用该系统的方法和记录介质
技术领域
本发明涉及层次式配置的并行计算机系统,特别涉及能执行高速并行处理而无需修改已有编程风格的高速处理器系统,涉及使用高速处理器系统的方法和一种记录介质。
背景技术
具有一个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,r1
Max r2,r2,r3
Max r0,r0,r2/*最大值数据检索结束*/
这一例子基于图8所示的指定数据已被寄存在从DRAM0到DRAM3中的假定。指令IPREF DRAM0到IPREF DRAM3是用于执行一个指定程序的指令。在进行D高速缓冲存储器10b中的指定区域的内容被高速缓冲出去之后,已被寄存的程序按照IPREF指令执行。该IPREF在DRAM0到DRAM3执行,而CPU10发送控制协议到DRAM0至DRAM3。当在高速缓冲存储器中已经设置最大值时执行加载指令。在这种场合,有可能通过使用包括四个IPREF指令和四个加载指令的八个指令来决定四个最大值,不过可得到的最大值的数目取决于DRAM的传输长度。真实的最大值可以通过逐一检查获取的最大值来决定。
从以上的说明可以看出,根据本发明,提供一个处理器系统,它具有多个高速缓冲存储器,每一个高速缓冲存储器结合一个MPU,该MPU既可作为高速缓冲存储器逻辑也可作为附属层次级的处理器。使用该处理器系统,可以实现高速和高效的并行处理,而无需对常规编程风格做任何修改。

Claims (24)

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的单个芯片实现。
CNB008029830A 1999-01-21 2000-01-21 高速处理器系统和使用该系统的方法 Expired - Lifetime CN100483389C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP1348699 1999-01-21
JP13486/99 1999-01-21

Publications (2)

Publication Number Publication Date
CN1341242A true CN1341242A (zh) 2002-03-20
CN100483389C CN100483389C (zh) 2009-04-29

Family

ID=11834461

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB008029830A Expired - Lifetime CN100483389C (zh) 1999-01-21 2000-01-21 高速处理器系统和使用该系统的方法

Country Status (15)

Country Link
US (3) US6578110B1 (zh)
EP (2) EP1445701A3 (zh)
JP (1) JP3698358B2 (zh)
KR (1) KR100678372B1 (zh)
CN (1) CN100483389C (zh)
AT (1) ATE266884T1 (zh)
AU (1) AU3075600A (zh)
BR (1) BR0008905A (zh)
CA (1) CA2364338A1 (zh)
DE (1) DE60010674T2 (zh)
ES (1) ES2220386T3 (zh)
HK (1) HK1039809A1 (zh)
RU (1) RU2001122104A (zh)
TW (1) TW472197B (zh)
WO (1) WO2000043902A1 (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105608490A (zh) * 2015-07-29 2016-05-25 上海磁宇信息科技有限公司 细胞阵列计算系统以及其中的通信方法
CN105718992A (zh) * 2015-07-29 2016-06-29 上海磁宇信息科技有限公司 细胞阵列计算系统
CN105718991A (zh) * 2015-07-29 2016-06-29 上海磁宇信息科技有限公司 细胞阵列计算系统
CN105718392A (zh) * 2016-01-15 2016-06-29 上海磁宇信息科技有限公司 细胞阵列文件存储系统及其文件存储设备与文件存储方法
CN105718996A (zh) * 2015-07-29 2016-06-29 上海磁宇信息科技有限公司 细胞阵列计算系统以及其中的通信方法
CN105718990A (zh) * 2015-07-29 2016-06-29 上海磁宇信息科技有限公司 细胞阵列计算系统以及其中细胞之间的通信方法
CN105718993A (zh) * 2015-07-29 2016-06-29 上海磁宇信息科技有限公司 细胞阵列计算系统以及其中的通信方法
CN105718994A (zh) * 2015-07-29 2016-06-29 上海磁宇信息科技有限公司 细胞阵列计算系统
CN105718379A (zh) * 2015-07-29 2016-06-29 上海磁宇信息科技有限公司 细胞阵列计算系统以及其中细胞间群发通信方法
CN105718995A (zh) * 2015-07-29 2016-06-29 上海磁宇信息科技有限公司 细胞阵列计算系统及其调试方法
CN105718380A (zh) * 2015-07-29 2016-06-29 上海磁宇信息科技有限公司 细胞阵列计算系统
CN105740946A (zh) * 2015-07-29 2016-07-06 上海磁宇信息科技有限公司 一种应用细胞阵列计算系统实现神经网络计算的方法
CN107203481A (zh) * 2016-03-18 2017-09-26 想象技术有限公司 非线性高速缓存逻辑
CN107291209A (zh) * 2016-04-01 2017-10-24 上海磁宇信息科技有限公司 细胞阵列计算系统
CN107341129A (zh) * 2016-04-29 2017-11-10 上海磁宇信息科技有限公司 细胞阵列计算系统及其测试方法

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0125711D0 (en) * 2001-10-26 2001-12-19 Ibm In-memory arithmetic
US7133972B2 (en) 2002-06-07 2006-11-07 Micron Technology, Inc. Memory hub with internal cache and/or memory access prediction
US7117316B2 (en) 2002-08-05 2006-10-03 Micron Technology, Inc. Memory hub and access method having internal row caching
US6820181B2 (en) 2002-08-29 2004-11-16 Micron Technology, Inc. Method and system for controlling memory accesses to memory modules having a memory hub architecture
US7120743B2 (en) 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
US7330992B2 (en) 2003-12-29 2008-02-12 Micron Technology, Inc. System and method for read synchronization of memory modules
US8560475B2 (en) 2004-09-10 2013-10-15 Cavium, Inc. Content search mechanism that uses a deterministic finite automata (DFA) graph, a DFA state machine, and a walker process
US8392590B2 (en) * 2004-09-10 2013-03-05 Cavium, Inc. Deterministic finite automata (DFA) processing
US8301788B2 (en) * 2004-09-10 2012-10-30 Cavium, Inc. Deterministic finite automata (DFA) instruction
US20070005902A1 (en) * 2004-12-07 2007-01-04 Ocz Technology Group, Inc. Integrated sram cache for a memory module and method therefor
US7653785B2 (en) * 2005-06-22 2010-01-26 Lexmark International, Inc. Reconfigurable cache controller utilizing multiple ASIC SRAMS
US8819217B2 (en) * 2007-11-01 2014-08-26 Cavium, Inc. Intelligent graph walking
US8180803B2 (en) * 2007-11-27 2012-05-15 Cavium, Inc. Deterministic finite automata (DFA) graph compression
US7949683B2 (en) * 2007-11-27 2011-05-24 Cavium Networks, Inc. Method and apparatus for traversing a compressed deterministic finite automata (DFA) graph
JP2010015233A (ja) * 2008-07-01 2010-01-21 Panasonic Corp 集積回路及び電子機器
US8473523B2 (en) 2008-10-31 2013-06-25 Cavium, Inc. Deterministic finite automata graph traversal with nodal bit mapping
US9274950B2 (en) * 2009-08-26 2016-03-01 Hewlett Packard Enterprise Development Lp Data restructuring in multi-level memory hierarchies
US8331123B2 (en) * 2009-09-21 2012-12-11 Ocz Technology Group, Inc. High performance solid-state drives and methods therefor
US20130318280A1 (en) * 2012-05-22 2013-11-28 Xockets IP, LLC Offloading of computation for rack level servers and corresponding methods and systems
EP2954419B1 (en) * 2013-02-05 2017-03-29 ARM Limited Virtualisation supporting guest operating systems using memory protection units
JP6228523B2 (ja) * 2014-09-19 2017-11-08 東芝メモリ株式会社 メモリ制御回路および半導体記憶装置
US10409754B2 (en) 2016-04-28 2019-09-10 Smart Modular Technologies, Inc. Interconnected memory system and method of operation thereof
JP6493318B2 (ja) * 2016-06-24 2019-04-03 株式会社デンソー データ処理システム
GB2553102B (en) 2016-08-19 2020-05-20 Advanced Risc Mach Ltd A memory unit and method of operation of a memory unit to handle operation requests
KR102631380B1 (ko) * 2018-05-17 2024-02-01 에스케이하이닉스 주식회사 데이터 연산을 수행할 수 있는 다양한 메모리 장치를 포함하는 반도체 시스템

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2539385B2 (ja) * 1986-08-08 1996-10-02 株式会社日立製作所 情報処理装置
AU2278688A (en) 1988-02-16 1989-08-17 Sun Microsystems, Inc. Distributed cache architecture
JPH0239339A (ja) 1988-07-29 1990-02-08 Hitachi Ltd キヤツシユメモリ装置
EP0375883A3 (en) 1988-12-30 1991-05-29 International Business Machines Corporation Cache storage system
US5226169A (en) * 1988-12-30 1993-07-06 International Business Machines Corp. System for execution of storage-immediate and storage-storage instructions within cache buffer storage
JPH033047A (ja) 1989-05-31 1991-01-09 Nec Corp 演算機能付きメモリ
DE69132495T2 (de) * 1990-03-16 2001-06-13 Texas Instruments Inc Verteilter Verarbeitungsspeicher
US5617577A (en) * 1990-11-13 1997-04-01 International Business Machines Corporation Advanced parallel array processor I/O connection
US5260898A (en) 1992-03-13 1993-11-09 Sun Microsystems, Inc. Result cache for complex arithmetic units
US6000027A (en) * 1992-08-25 1999-12-07 Texas Instruments Incorporated Method and apparatus for improved graphics/image processing using a processor and a memory
JPH06215160A (ja) * 1992-08-25 1994-08-05 Texas Instr Inc <Ti> データ処理方法および装置
JP3207591B2 (ja) 1993-03-19 2001-09-10 株式会社日立製作所 キャッシュメモリを有する計算機の改良
US6226722B1 (en) * 1994-05-19 2001-05-01 International Business Machines Corporation Integrated level two cache and controller with multiple ports, L1 bypass and concurrent accessing
DE19540915A1 (de) * 1994-11-10 1996-05-15 Raymond Engineering Redundante Anordnung von Festkörper-Speicherbausteinen
US5778436A (en) * 1995-03-06 1998-07-07 Duke University Predictive caching system and method based on memory access which previously followed a cache miss
US5848254A (en) 1996-07-01 1998-12-08 Sun Microsystems, Inc. Multiprocessing system using an access to a second memory space to initiate software controlled data prefetch into a first address space
US5900011A (en) 1996-07-01 1999-05-04 Sun Microsystems, Inc. Integrated processor/memory device with victim data cache
JP3075183B2 (ja) 1996-07-17 2000-08-07 日本電気株式会社 キャッシュメモリシステム
US5895487A (en) * 1996-11-13 1999-04-20 International Business Machines Corporation Integrated processing and L2 DRAM cache
JPH10214223A (ja) 1997-01-29 1998-08-11 Hitachi Ltd 情報処理システム
US5987577A (en) * 1997-04-24 1999-11-16 International Business Machines Dual word enable method and apparatus for memory arrays
US6192451B1 (en) * 1998-02-17 2001-02-20 International Business Machines Corporation Cache coherency protocol for a data processing system including a multi-level memory hierarchy
US6453398B1 (en) * 1999-04-07 2002-09-17 Mitsubishi Electric Research Laboratories, Inc. Multiple access self-testing memory

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105718991B (zh) * 2015-07-29 2019-02-19 上海磁宇信息科技有限公司 细胞阵列计算系统
CN105718991A (zh) * 2015-07-29 2016-06-29 上海磁宇信息科技有限公司 细胞阵列计算系统
CN105718379B (zh) * 2015-07-29 2018-09-14 上海磁宇信息科技有限公司 细胞阵列计算系统以及其中细胞间群发通信方法
CN105718380B (zh) * 2015-07-29 2019-06-04 上海磁宇信息科技有限公司 细胞阵列计算系统
CN105718996A (zh) * 2015-07-29 2016-06-29 上海磁宇信息科技有限公司 细胞阵列计算系统以及其中的通信方法
CN105718990A (zh) * 2015-07-29 2016-06-29 上海磁宇信息科技有限公司 细胞阵列计算系统以及其中细胞之间的通信方法
CN105718993A (zh) * 2015-07-29 2016-06-29 上海磁宇信息科技有限公司 细胞阵列计算系统以及其中的通信方法
CN105718994A (zh) * 2015-07-29 2016-06-29 上海磁宇信息科技有限公司 细胞阵列计算系统
CN105718379A (zh) * 2015-07-29 2016-06-29 上海磁宇信息科技有限公司 细胞阵列计算系统以及其中细胞间群发通信方法
CN105718995A (zh) * 2015-07-29 2016-06-29 上海磁宇信息科技有限公司 细胞阵列计算系统及其调试方法
CN105718380A (zh) * 2015-07-29 2016-06-29 上海磁宇信息科技有限公司 细胞阵列计算系统
CN105740946A (zh) * 2015-07-29 2016-07-06 上海磁宇信息科技有限公司 一种应用细胞阵列计算系统实现神经网络计算的方法
CN105718993B (zh) * 2015-07-29 2019-02-19 上海磁宇信息科技有限公司 细胞阵列计算系统以及其中的通信方法
CN105718994B (zh) * 2015-07-29 2019-02-19 上海磁宇信息科技有限公司 细胞阵列计算系统
CN105718992B (zh) * 2015-07-29 2019-02-19 上海磁宇信息科技有限公司 细胞阵列计算系统
CN105718992A (zh) * 2015-07-29 2016-06-29 上海磁宇信息科技有限公司 细胞阵列计算系统
CN105608490B (zh) * 2015-07-29 2018-10-26 上海磁宇信息科技有限公司 细胞阵列计算系统以及其中的通信方法
CN105718990B (zh) * 2015-07-29 2019-01-29 上海磁宇信息科技有限公司 细胞阵列计算系统以及其中细胞之间的通信方法
CN105718996B (zh) * 2015-07-29 2019-02-19 上海磁宇信息科技有限公司 细胞阵列计算系统以及其中的通信方法
CN105718995B (zh) * 2015-07-29 2019-02-01 上海磁宇信息科技有限公司 细胞阵列计算系统及其调试方法
CN105740946B (zh) * 2015-07-29 2019-02-12 上海磁宇信息科技有限公司 一种应用细胞阵列计算系统实现神经网络计算的方法
CN105608490A (zh) * 2015-07-29 2016-05-25 上海磁宇信息科技有限公司 细胞阵列计算系统以及其中的通信方法
CN105718392B (zh) * 2016-01-15 2019-01-29 上海磁宇信息科技有限公司 细胞阵列文件存储系统及其文件存储设备与文件存储方法
CN105718392A (zh) * 2016-01-15 2016-06-29 上海磁宇信息科技有限公司 细胞阵列文件存储系统及其文件存储设备与文件存储方法
CN107203481B (zh) * 2016-03-18 2023-01-03 想象技术有限公司 逻辑器件、生成地址的方法、集成电路制造系统和介质
CN107203481A (zh) * 2016-03-18 2017-09-26 想象技术有限公司 非线性高速缓存逻辑
CN107291209A (zh) * 2016-04-01 2017-10-24 上海磁宇信息科技有限公司 细胞阵列计算系统
CN107291209B (zh) * 2016-04-01 2021-02-09 上海磁宇信息科技有限公司 细胞阵列计算系统
CN107341129B (zh) * 2016-04-29 2021-06-29 上海磁宇信息科技有限公司 细胞阵列计算系统及其测试方法
CN107341129A (zh) * 2016-04-29 2017-11-10 上海磁宇信息科技有限公司 细胞阵列计算系统及其测试方法

Also Published As

Publication number Publication date
ES2220386T3 (es) 2004-12-16
TW472197B (en) 2002-01-11
WO2000043902A1 (en) 2000-07-27
CA2364338A1 (en) 2000-07-27
JP3698358B2 (ja) 2005-09-21
DE60010674D1 (de) 2004-06-17
EP1161729B1 (en) 2004-05-12
BR0008905A (pt) 2001-11-06
EP1445701A3 (en) 2009-03-25
EP1161729A1 (en) 2001-12-12
US6745290B2 (en) 2004-06-01
HK1039809A1 (zh) 2002-05-10
DE60010674T2 (de) 2005-06-16
US20030217228A1 (en) 2003-11-20
RU2001122104A (ru) 2003-06-27
US6578110B1 (en) 2003-06-10
ATE266884T1 (de) 2004-05-15
KR100678372B1 (ko) 2007-02-05
US7028141B2 (en) 2006-04-11
JP2002535777A (ja) 2002-10-22
EP1445701A2 (en) 2004-08-11
CN100483389C (zh) 2009-04-29
KR20010101628A (ko) 2001-11-14
US20040215881A1 (en) 2004-10-28
AU3075600A (en) 2000-08-07

Similar Documents

Publication Publication Date Title
CN1341242A (zh) 高速处理器系统,使用该系统的方法和记录介质
CN1208723C (zh) 处理有序数据请求到存储器的方法及设备
TWI238935B (en) Reconfigurable cache controller for nonuniform memory access computer systems
EP2542973B1 (en) Gpu support for garbage collection
CN102023931B (zh) 一种自适应缓存预取方法
CN112558889B (zh) 一种基于SEDRAM的堆叠式Cache系统、控制方法和Cache装置
CN101063957A (zh) 管理锁定的高速缓冲存储器中的组替换的系统和方法
CN1955948A (zh) 用于管理高速缓存数据的数字数据处理设备和方法
EP2941707B1 (en) Shared and managed memory unified access
CN1537275A (zh) 低等待时间存储器系统访问
CN1470019A (zh) 用于在一个分布式存储器、高速缓存相干的多处理器系统中把有序的输入/输出事务流水线处理到相干存储器的方法和装置
JPH04303248A (ja) マルチバッファデータキャッシュを具えているコンピュータシステム
CN1896972A (zh) 用于虚实地址变换及读写高速缓冲存储器的方法及装置
CN101034375A (zh) 计算机存储系统
CN1955947A (zh) 一种高速缓存失效的处理器访存指令处理方法
US20200341764A1 (en) Scatter Gather Using Key-Value Store
CN1896971A (zh) 操作系统辅助磁盘高速缓存系统和方法
CN1740994A (zh) 具有多维行行走功能的dma控制器的系统和方法
JP2001249846A (ja) キャッシュメモリ装置及びデータ処理システム
US20220374348A1 (en) Hardware Acceleration
US10782918B2 (en) Near-memory data-dependent gather and packing
CN116737237A (zh) 一种基于指令控制的神经网络加速器数据重用架构
EP4002117A1 (en) Systems, methods, and devices for shuffle acceleration
CN1529244A (zh) 含有显式高速缓冲存储器的计算机微体系结构
US5584011A (en) Multiprocessor system with parallel execution of data

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
CX01 Expiry of patent term

Granted publication date: 20090429

CX01 Expiry of patent term