CN100535885C - 多处理器系统 - Google Patents

多处理器系统 Download PDF

Info

Publication number
CN100535885C
CN100535885C CNB2007101039598A CN200710103959A CN100535885C CN 100535885 C CN100535885 C CN 100535885C CN B2007101039598 A CNB2007101039598 A CN B2007101039598A CN 200710103959 A CN200710103959 A CN 200710103959A CN 100535885 C CN100535885 C CN 100535885C
Authority
CN
China
Prior art keywords
data
cpu
read command
storer
read
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.)
Expired - Fee Related
Application number
CNB2007101039598A
Other languages
English (en)
Other versions
CN101127028A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN101127028A publication Critical patent/CN101127028A/zh
Application granted granted Critical
Publication of CN100535885C publication Critical patent/CN100535885C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • 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/10Address translation
    • G06F12/1072Decentralised address translation, e.g. in distributed shared 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/46Multiprogramming arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供一种多处理器系统,该系统包括:判断单元,判断输入至全局地址纵横器的读命令是否为对CPU所在的系统板上的存储器的读命令;执行单元,当判断单元断定该读命令为对该CPU所在的系统板上的存储器的读命令时,基于从全局地址纵横器通知的地址在全局访问之前推测性执行该读命令;设定单元,设定为在CPU上设置的数据队列中对从存储器读取的数据进行排队,而不在存储器上设置的数据队列中对该数据进行排队;以及指示单元,基于来自全局地址纵横器的通知,指示在CPU上设置的数据队列丢弃数据或发送数据至CPU。

Description

多处理器系统
技术领域
本发明涉及一种多处理器系统,其具有通过全局地址纵横器而彼此连接并包括CPU和存储器的多个系统板,并通过向全局地址纵横器输入数据来均匀地将处理分配给所有的CPU。更具体地,本发明涉及一种能够实现减少存储器读取等待时间的多处理器系统。
背景技术
如图9中所示,对称多处理器(SMP)具有多个系统板(SB)和多个IO单元(IOU),其中多个SB中的每一个包括CPU和存储器,多个IO单元通过全局地址纵横器和全局数据纵横器与多个SB连接。该对称多处理器采用平行处理系统,所述平行处理系统具有这样的特点,即均匀地且平等地向所有CPU分配处理。
当CPU请求数据时,对称多处理器利用全局地址纵横器收集信息(这些信息将成为下文描述的本地映射(local cast)的对象)。这些信息包括如下信息:数据存在于哪个存储器中、数据存在于哪个CPU的高速缓存中、CPU高速缓存上的数据是否被CPU重写、在将数据发送到请求源处的CPU所必需的资源(队列等)是否用尽、是否通过先前命令对数据重写以及对数据的访问是否存在彼此竞争。基于这些信息,对称多处理器指示对各系统板采用何种类型的处理,以进行以下处理,即使数据请求源处的CPU获取所请求的数据。
包括SMP的多处理器系统将各CPU请求的数据地址输入至全局地址纵横器,并利用全局地址纵横器仲裁地址,以确定用以处理在该地址处的数据的系统板。多处理器系统将确定结果通知给各系统板,以均匀地且平等地向所有CPU分配处理。
参照图10说明在SMP中包括的多个系统板的每一个中运行的存储器读取处理。
当CPU1发出用以指定在存储器2中存在的数据地址的读请求时,该地址经由主地址队列4被输入至全局地址纵横器8。从全局地址纵横器8将该地址作为探测地址(snoop address)通知给数据管道3,其中数据管道3包括在多个系统板的每一个中。因此,由CPU1发出的地址被返回至具有系统板的数据管道3,其中所述系统板安装有读请求源处的CPU1。
响应该通知,在具有读请求源处的CPU1的系统板中包括的数据管道3推测性执行一读命令,该读命令指定从全局地址纵横器8通知的探测地址作为存储器读取地址。
响应该读命令的推测性执行,该存储器读取地址在从属存储器读取地址队列5中排队。根据所述排队,从存储器2被读取数据。该数据在从属存储器读取数据队列6中排队并等待来自数据管道3的指示。
另一方面,在读命令的推测性执行之后,数据管道3收集上述信息以使其成为本地映射对象并将上述信息本地映射至全局地址纵横器8,其中数据管道3包括在具有读请求源的CPU1的系统板中。
响应本地映射,全局地址纵横器8收集来自各系统板的上述信息。全局地址纵横器8在总体上进行检查(例如,CPU高速缓存检查、地址忙碌检查和系统资源用尽检查),以确定是否要采用由数据管道3执行的读命令的推测性执行,以及是否需要重复该读命令,其中数据管道3包括在具有读请求源处的CPU1的系统板中。全局地址纵横器8将确定结果全局映射至包括在所有系统板中的各数据管道3。
响应全局映射,基于来自全局地址纵横器8的通知,包括在具有读请求源处的CPU1的系统板中的数据管道3指示从属存储器读取数据队列6,将排队的数据发送给CPU1,以使从属存储器读取数据队列6将所述数据排队至主存储器读取数据队列7。数据管道3也指示从属存储器读取数据队列6丢弃已排队的数据。此外,在指示从属存储器读取数据队列6丢弃数据期间,数据管道3指示主地址队列4重复该读命令。
以这种方式,包括SMP的多处理器系统将由各CPU请求的数据地址输入至全局地址纵横器,并利用全局地址纵横器对该地址进行仲裁以确定用以处理该地址的数据的系统板。多处理器系统将确定结果通知给各系统板,以均匀地且平等地向所有CPU分配处理。
在本发明中,如下文所说明的,包括SMP的多处理器系统实现了存储器读取等待时间的减少,从而实现了系统处理性能的提高。作为与本发明相关的传统技术,例如在日本专利公开No.2001-184321中描述的发明。
在包括具有大尺寸高速缓存的CPU的系统中,存储器读取等待时间实际影响系统的处理性能。当等待时间短时,系统的处理性能得到提高。
包括SMP的多处理器系统具有这样的特点:即能够从具有相等等待时间的各节点读出来自存储器的数据。然而,物理上近似于多处理器系统的存储器的读取等待时间要差于非SMP结构的小尺寸多处理器系统的读取等待时间。
根据程序优化,每个节点的CPU可以优先使用自己节点的存储器。然而,在SMP结构的大尺寸多处理器系统中不能实现这个优点。
因此,在包括SMP的多处理器系统中,可期望简单地通过减少自各节点的存储器的读取等待时间来提高系统的处理性能。
为了实现存储器的读取等待时间的减少,重要的是减少各模块的读取等待时间。通过减少处理的排队时间也能够实现等待时间的减少。这是因为,当存在处理排队时,整个系统的等待时间由更长的等待时间确定。
参照图10说明由包括于SMP中的各系统板执行的存储器读取处理产生的排队时间。
如图10所示,在存储器读取处理中,从属存储器读取数据队列6执行用于对来自存储器2的数据进行排队的读出处理以及来自数据管道3的读命令的推测性执行的采用/不采用通知(指示数据是被发送还是被丢弃的通知)。
在这种情况下,当由于基于全局地址纵横器8的处理的全局地址的等待时间导致的延迟较长时,存储器数据较早地到达从属存储器读取数据队列6。读命令的推测性执行的采用/不采用通知较迟地到达从属存储器读取数据队列6。相反地,当存储器2的数据读取等待时间导致的延迟较长时,读命令的推测性执行的采用/不采用通知较早地到达从属存储器读取数据队列6。存储器数据较迟地到达从属存储器读取数据队列6。
从上面可看出,在传统技术中,在由包括于SMP中的各系统板执行的存储器读取处理期间,在从属存储器读取数据队列6中不可避免地产生排队时间。因此,存在不能提高系统的处理性能的问题。
发明内容
本发明的目的是提供一种多处理器系统,其通过减少由SMP中包括的各系统板执行的存储器读取处理而产生的数据和地址的排队时间来实现本地节点中储存器读取等待时间的减少。
本发明的多处理器系统是这样一种多处理器系统,其具有通过全局地址纵横器彼此连接的多个系统板,以及在多个系统板的每一个中包括CPU和存储器,并且该多处理器系统通过向全局地址纵横器输入地址来均匀地将处理分配给所有的CPU。该多处理器系统包括:判断单元,判断从CPU发出的要被输入至全局地址纵横器的读命令是否为对该CPU所在的系统板上的存储器的读命令;以及执行单元,在判断单元断定该读命令为对该CPU所在的系统板上的存储器的读命令的情况下,基于从全局地址纵横器通知的地址在全局访问之前推测性执行该读命令。
本发明的多处理器系统是这样一种多处理器系统,其具有通过全局地址纵横器彼此连接的多个系统板,以及在多个系统板的每一个中包括CPU和存储器,并且该多处理器系统通过向全局地址纵横器输入地址来均匀地将处理分配给所有的CPU。该多处理器系统包括:设定单元,设定为在CPU上设置的数据队列中对从存储器读取的数据进行排队,而不在存储器上设置的数据队列中对该数据进行排队;以及指示单元,基于来自全局地址纵横器的通知指示在CPU上设置的数据队列丢弃数据或将数据发生至CPU。
本发明的多处理器系统是这样一种多处理器系统,其具有通过全局地址纵横器彼此连接的多个系统板,以及在多个系统板的每一个中包括CPU和存储器,并且该多处理器系统通过向全局地址纵横器输入地址来均匀地将处理分配给所有的CPU。该多处理器系统包括:判断单元,判断从CPU发出的要被输入至全局地址纵横器的读命令是否为对该CPU所在的系统板上的存储器的读命令;执行单元,在判断单元断定该读命令为对该CPU所在的系统板上的存储器的读命令的情况下,基于由全局地址纵横器通知的地址在全局访问之前推测性执行该读命令;设定单元,设定为在CPU设置上的数据队列中对从存储器读取的数据进行排队,而不在存储器上设置的数据队列中对该数据进行排队;以及指示单元,基于来自全局地址纵横器的通知指示在CPU上设置的数据队列抛弃数据或将数据发送至CPU。
根据本发明,能够减少由SMP中包括的各系统板执行的存储器读取处理而产生的数据和地址的排队时间,而没有破坏SMP的基本处理。
因此,根据本发明,在包括SMP的多处理器系统中,能够实现本地节点中的存储器读取等待时间的减少,而没有破坏SMP的基本处理。
附图说明
图1和图2为说明根据本发明实施例执行的存储器读取处理的图示。
图3为根据本发明实施例的多处理器系统的图示。
图4为在传统技术中执行的存储器读取处理的程序图表。
图5为根据本发明实施例执行的存储器读取处理的程序图表。
图6至图8为说明根据本发明实施例执行的存储器读取处理中的信号流图示。
图9为说明对称多处理器的图示。
图10为说明由对称多处理器执行的存储器读取处理的图示。
具体实施方式
以下,描述本发明的概要。本发明的多处理器系统为这样一种多处理器系统,其具有通过全局地址纵横器彼此连接的多个系统板以及在多个系统板的每一个中包括(至少一个)CPU和存储器,并且其通过向全局地址纵横器输入地址来均匀地将处理分配给所有的CPU。该多处理器系统包括:(1)判断单元,其判断从CPU发出的读命令(其要被输入至全局地址纵横器)是否为对该CPU所在的系统板上的存储器的读命令;(2)执行单元,其当判断单元断定该读命令为对该CPU所在的系统板上的存储器的读命令时,基于从全局地址纵横器通知的地址在全局访问之前推测地执行该读命令;(3)设定单元,其设定为在CPU上设置的数据队列中对从存储器读取的数据进行排队,而不在存储器上设置的数据队列中对该数据进行排队;以及(4)指示单元,其基于来自全局地址纵横器的通知,指示在CPU上设置的数据队列,以丢弃该数据或将该数据发送至CPU。
该多处理器系统还可以包括:(5)第一暂时停止单元,其当与在存储器上设置的数据队列和在CPU上设置的数据队列连接的总线处于忙碌状态时,暂时停止由执行单元执行的读命令的推测性执行;(6)取消单元,其当与存储器上设置的数据队列和CPU上设置的数据队列连接的总线处于忙碌状态时,暂时取消由设定单元进行的设置,以设定为在存储器上设置的数据队列中对从存储器读取的数据进行排队;(7)暂时停止单元,其当对于读命令的推测性执行反复发生重读时,暂时停止读命令的推测性执行;以及(8)停止单元,其当读命令的推测性执行的重复次数超过指定次数时,停止读命令的推测性执行。
在如上所述构成的本发明的多处理器系统中,当CPU发出读命令时,判断单元判断该读命令是否为对该CPU所在的系统板上的存储器的读命令。当判断单元断定该读命令为对该CPU所在的系统板上的存储器的读命令时,执行单元基于从全局地址纵横器通知的地址在全局访问之前推测性执行该读命令。
当存储器中的数据被CPU重写时,考虑到推测性执行的失败,判断单元可使用设置为判断对象的特定读命令判断从CPU发出的读命令是否为对该CPU所在的系统板上的存储器的读命令,以提高推测性执行的成功可能性,其中该特定读命令例如为存储器中具有请求数据高出现可能性的读命令(例如,没有被CPU重写的读命令)。
以这种方式,如图1所示,在本发明的多处理器系统中,当由CPU发出的读命令为对该CPU所在的系统板上的存储器的读命令时,基于从全局地址纵横器所通知的地址在全局访问之前,该读命令被推测性执行。
根据本发明的上述结构,其它系统板基于从全局地址纵横器所通知的地址推测性执行读命令。因此,在本发明的多处理器系统中,SMP的基本结构没有受到破坏。
在本发明的多处理器系统中,例如,当根据本发明的特点执行单元进行读命令的推测性执行时,设定单元设定为在CPU上设置的数据队列中对从存储器读出的数据进行排队,而不在存储器上设置的数据队列中对该数据进行排队。由此,根据所述设定,指示单元基于来自全局地址纵横器的通知指示在CPU上设置的数据队列丢弃该数据或发送该数据至CPU。
以这种方式,如图2所示,在本发明的多处理器系统中,指示单元基于来自全局地址纵横器的通知指示在CPU上设置的数据队列(图2中示出的主读取数据队列7)丢弃该数据或发送该数据至CPU。
如图1所示,在本发明的多处理器系统中,当由CPU发出的读命令为对该CPU所在的系统板上的存储器的读命令时,基于从全局地址纵横器通知的地址在全局访问之前,该读命令被推测性执行。因此,能够高速地从存储器读取数据。
然而,在这种情况下,当来自全局地址纵横器的指示(丢弃数据的指示或将数据发送至CPU的指示)延迟时,从存储器读取的数据的排队时间被延长。
因此,如图2所示,在本发明的多处理器系统中,当进行这种读命令的推测性执行时,从存储器读取的数据在CPU上设置的数据队列(图2中所示的主读取数据队列7)中进行排队,而不在存储器上设置的数据队列(图2中所示的从属存储器读取数据队列6)中进行排队。多处理器系统指示在CPU上设置的数据队列丢弃该数据或发送该数据至CPU。
根据本发明的上述结构,本发明的多处理器系统能够高速从存储器读取数据,并直接将数据发送至CPU。
另一方面,虽然在图2中没有示出,但是数据可从其它系统板传送到与从属存储器读取数据队列6和主读取数据队列7连接的总线。
因此,当从存储器读取的数据在CPU上设置的数据队列中进行排队而不在存储器上设置的数据队列中进行排队时,与存储器上设置的数据队列和CPU上设置的数据队列连接的总线进入忙碌状态。
所以,优选地,本发明的多处理器系统包括在CPU上设置的数据队列中对从存储器读取的数据进行排队时使用的第一暂时停止单元。多处理器系统监测与存储器上设置的数据队列和CPU上设置的数据队列连接的总线是否进入忙碌状态。当多处理器系统检测到该总线进入忙碌状态时,多处理器系统利用第一暂时停止单元来暂时停止由执行单元执行的读命令的推测性执行。
优选地,本发明的多处理器系统包括在CPU上设置的数据队列中对从存储器读取的数据进行排队时使用的取消单元。多处理器系统监测与存储器上设置的数据队列和CPU上设置的数据队列连接的总线是否进入忙碌状态。当多处理器系统检测到该总线进入忙碌状态时,多处理器系统利用取消单元暂时取消由设定单元进行的设定,以设定为在存储器上设置的数据队列中对从存储器读取的数据进行排队。
当反复进行由执行单元执行的读命令的推测性执行的重读时,这种反复重读的原因在于,例如,数据被CPU反复重写。
因此,优选地,本发明的多处理器系统包括第二暂时停止单元。当反复执行由执行单元执行的读命令的推测性执行的重读时,多处理器系统利用利用第二暂时停止单元暂时停止由执行单元执行的读命令的推测性执行。
当由执行单元执行的读命令的推测性执行的重复执行次数超过指定次数时,这种重复执行次数超过指定次数的原因在于,例如,数据被CPU反复重写。
因此,优选地,本发明的多处理器系统包括停止单元。当由执行单元执行的读命令的推测性执行的重复次数超过所定义的次数时,多处理器系统利用停止单元停止读命令的推测性执行。
下面根据实施例详细说明本发明。
在图3中示出根据本发明实施例的包括SMP的多处理器系统。
如图中所示,本实施例的多处理器系统具有多个系统板100,所述多个系统板包括CPU 10和存储器11,并且所述多个系统板100通过全局地址纵横器200和全局数据纵横器300彼此连接。
连接于端子500的系统控制装置400被连接至本实施例的多处理器系统,其中系统控制装置400用于与系统管理员交互作用并进行整个系统的管理,例如分区结构的设定和操作模式的设定。
在本实施例的多处理器系统中包括的每个系统板100响应由该CPU所在的系统板中包括的CPU 10发出的地址生成本地请求地址包(以下称为LRA包),并将LRA包输入至全局地址纵横器200。响应LRA包的输入,全局地址纵横器200利用全局地址优选级控制电路210进行仲裁,以从系统板100输入的LRA包中选择全局选择地址包(以下称为GSA包),并将GSA包广播至所有的系统板100(它们可以是位于同一分区中的系统板100)。
当响应GSA包的广播,从每个系统板100发送用以表示例如有必要重复并且存在数据的本地映射信号(以下称为LCST信号)时,全局地址纵横器200利用GCST生成电路220生成用以表示重复指令、采用或不采用推测性执行的读命令等的全局映射信号(以下称为GCST信号)。全局地址纵横器200将GCST信号广播至所有的系统板100(它们可以是位于同一分区中的系统板100)。
按照SMP结构,根据本实施例的多处理器系统实现了向所有的CPU 10均匀地且均衡地分配处理。
在本实施例的多处理器系统中的每个系统板100除了包括CPU 10和存储器11之外,还包括北桥芯片12和存储器控制器13,其中北桥芯片12与CPU 10和存储器11相互连接并分流数据,存储器控制器13控制存储器11。
如图3所示,北桥芯片12包括:主地址队列20、选择器21、选择器控制电路22、存储器访问控制电路23、检查电路24、LCST生成电路25、从属请求控制电路26、主读取数据队列27、总线忙碌监测电路28、重复次数监测电路29和命令解码器30。
另一方面,如图3所示,存储器控制器13包括:从属存储器读取地址队列40、从属存储器读取数据队列41、外部读取数据队列42和数据传送电路43。
包括于存储器控制器13中的从属存储器读取地址队列40对从北桥芯片12发送的推测性执行的读命令的地址进行排队,并接收从北桥芯片12发送的推测性执行的读命令的采用或不采用通知。响应在从属存储器读取地址队列40中排队的地址,包括于存储器控制器13中的从属存储器读取数据队列41对从存储器11读取的数据进行排队。
包括于存储器控制器13中的外部读取数据队列42对从其它系统板100发送的数据进行排队。包括于存储器控制器13中的数据传送电路43读出在从属存储器读取数据队列41和外部读取数据队列42中排队的数据,并将该数据传送至北桥芯片12的主读取数据队列27。
下面说明在北桥芯片12中包括的各电路的功能。
(1)主地址队列20的功能
主地址队列20将来自CPU 10的命令转换成芯片组的LRA包,保存LRA包,并将LRA包输入至全局地址纵横器200。
当LRA包是读命令时,在数据到达CPU 10之后释放由主地址队列20保存的LRA包,而在数据没有到达CPU 10时保存由主地址队列20保存的LRA包。当在上述过程中间进行重复时,LRA包被再次输入。
LRA包包括的信息,例如为运算码、地址、ID、板号、重复次数信息和分区信息等。
(2)选择器21的功能
根据选择器控制电路22的选择指示,选择器21选择输入至全局地址纵横器200的LRA包或从全局地址纵横器200广播的GSA包,并输出LRA包或GSA包。
(3)选择器控制电路22的功能
当从全局地址纵横器200广播GSA包时,并且当选择器控制电路22被设置为用以强制性选择GSA包的操作模式时,选择器控制电路22指示选择器21选择GSA包。在其它情况下,选择器控制电路22指示选择器21选择LRA包。
作为用以强制性选择GSA包的操作模式,由系统控制装置400设定GSA包并经由命令解码器30通知GSA包,当存储器访问控制电路23检测到反复重读时,GSA包被设定并通知,当由总线忙碌监测电路28检测到主读取数据队列27和数据传送电路43之间的总线处于忙碌状态时,GSA包被设定并通知,或者当重复次数监测电路29检测到具有较大重复次数的LRA包时,GSA包被设定并通知。
(4)存储器访问控制电路23的功能
存储器访问控制电路23控制对该CPU所在的系统板100中包括的存储器11的访问。当选择器21选择LRA包并且该LRA包是对该CPU所在的系统板100中包括的存储器11的读访问时,存储器访问控制电路23保存由LRA包保存的地址信息和ID信息,直到对应于LRA包的GSA包到达并保存有用以表示所保存的信息是有效的有效信息。在GSA包到达时,保存ID信息,以释放LRA包。
当GSA包为写入包并且GSA包的地址与所保存的LRA包的地址匹配时,存储器访问控制电路23判断写入地址的超过量并设定用以表示需要重复的重复标记。
当设定重复标记时,作为对GSA包的响应,存储器访问控制电路23将该重复与LCST信号一起返回至全局地址纵横器200。根据从全局地址纵横器200广播的GCST信号的指示,存储器访问控制电路23使从属请求控制电路26丢弃数据。
当选择器21选择LRA包并且根据由检查电路24执行的检查处理检测到LRA包为对该CPU所在的系统板100中包括的存储器11的读命令时,存储器访问控制电路23指示从属请求控制电路26推测性执行该读命令,并设定读命令发出标记。
在此发出的读命令与基于通常的GSA包的读命令不同,从而使其能够相互区别。当在GSA包到达的时候设定读命令发出标记时,由于读命令已被发出,所以存储器访问控制电路23指示从属请求控制电路26不再发出读命令。
此外,存储器访问控制电路23具有如下功能:监测重复标记设定率的功能,以及当检测到由于写入地址过量导致的反复重读或来自全局地址纵横器200的反复重读指示时,将选择器21设定为处于用以在固定时段强制性选择GSA包的操作模式,并向选择器控制电路22通知将选择器21设定为处于这种操作模式。
存储器访问控制电路23还具有如下功能:例如,当设定重复时,将设定累计值加一,当不设定重复时,将设定累计值减一,以及当设定累计值超过规定阈值时,将选择器21设定为处于用以在固定周期强制性选择GSA包的操作模式,以使选择器21在固定周期强制性选择GSA包。
(5)检查电路24的功能
检查电路24进行地址映射(address map)检查、DTAG检查、资源用尽检查以及地址忙碌检查,以检查数据是否存在于该CPU所在的系统板100中包括的存储器11中,检查数据是否存在于该CPU所在的系统板100中包括的CPU 10的高速缓存中以及检查是否由于访问处理所需的资源用尽或其它包正在使用地址而需要指示读命令的重复。
检查电路24进行地址映射检查,以检查由LRA包所表示的地址是否存在于该CPU所在的系统板100中包括的存储器11中。
检查电路24进行关于DTAG的检查,其中DTAG复制CPU 10的高速缓存中记录的状态信息并对状态信息进行管理,以检查在该CPU所在的系统板100中包括的CPU 10的高速缓存是否具有数据,检查CPU 10的高速缓存是否具有与存储器11中存储的数据相匹配的数据,以及检查CPU 10的高速缓存是否具有用于重写存储器11中存储数据的数据。因此,检查电路24判断应从哪部分读取数据。
检查电路24进行资源用尽检查,其用于检查读访问所需的资源是否用尽,以检查是否需要取消推测性执行的读命令。
检查电路24进行地址忙碌检查,其用于检查是否发生对同一地址的访问竞争,以检查是否需要取消推测性执行的读命令。
当选择器21选择LRA包时,检查电路24只进行地址映射检查并且只检查数据是否存在于该CPU所在的系统板100中包括的存储器11中,并将检查结果通知给存储器访问控制电路23。因此,检查电路24控制是否进行读命令的推测性执行。
(6)LCST生成电路25的功能
根据检查电路24的检查结果,LCST生成电路25生成用以表示需要重复和数据存在于何处的LCST信号,并将LCST信号输入至全局地址纵横器200。
(7)从属请求控制电路26的功能
从属请求控制电路26控制对该CPU所在的系统板100中包括的存储器11的请求。
在正常情况下,从属请求控制电路26接收从全局地址纵横器200广播的GSA包,并根据检查电路24对GSA包的检查结果来推测性执行关于该CPU所在的系统板100中包括的存储器11的读命令,以在从属存储器读取地址队列40中对读命令进行排队。从属请求控制电路26接收从全局地址纵横器200广播的GCST信号,并通过从属存储器读取地址队列40将推测性执行的读命令的采用或不采用信息通知给从属存储器读取数据队列41。当不采用推测性执行的读命令时,从属请求控制电路26通知主地址队列20重复。
另一方面,在本实施例中,准备了三种操作模式来设定在系统控制装置40中使用哪种操作模式。这些操作模式为:(a)在从属存储器读取数据队列41中对读取数据进行排队,以将推测性执行的读命令的采用或不采用信息通知给从属存储器读取数据队列41的操作模式;(b)通过将读取数据传送至主读取数据队列27来在主读取数据队列27中对读取数据进行排队、而不在从属存储器读取数据队列41中对读取数据进行排队,以将推测性执行的读命令的采用或不采用信息通知给主读取数据队列27的操作模式;以及(c)对基于LRA包的读命令使用后一种方法、而对基于GSA包的读命令使用前一种方法的操作模式。
(8)主读取数据队列27的功能
主读取数据队列27对从数据传送电路43传送的数据(以数据包的形式)进行排队。从数据传送电路43传送的数据包括从从属存储器读取数据队列41读出的数据和从外部读取数据队列42读出的数据。因此,主读取数据队列27对这些数据进行排队。
(9)总线忙碌监测电路28的功能
总线忙碌监测电路28用与数据传送电路43和主读取数据队列27连接的总线作为监测对象来计数在固定周期向总线传送的数据包的数量,并将该数量与规定阈值进行比较,以判断总线是否进入忙碌状态。当检测到总线忙碌状态时,总线忙碌监测电路28设定选择器21处于在固定周期强制性选择GSA包的操作模式,并向选择器控制电路22通知将选择器21设定为处于该操作模式。
(10)重复次数监测电路29的功能
在正常情况下,重复次数监测电路29监测每个LRA包的重复次数。当监测到其重复的次数等于或大于指定次数的LRA包时,重复次数监测电路29控制其它LRA包的输入,以使重复成功。
另一方面,在本实施情况下,考虑到由于实施操作经常进行重复的可能性,对于其重复的次数等于或大于指定次数的LRA包,重复次数监测电路29进行处理,以设定选择器21处于强制性选择GSA包的操作模式,并向选择器控制电路22通知将选择器21设定为处于该操作模式。
(11)命令解码器30的功能
命令解码器30对系统控制装置400的命令进行解码,以设定每个系统板100的板数和系统板100所属的分区,并设定各种操作模式。
命令解码器30对系统控制装置400的命令进行解码,以设定数据包数量的阈值、选择器21强制性选择GSA包的周期长度等,其中数据包数量的阈值用于判断在总线忙碌监测电路28运行时所需的总线忙碌状态。
下面说明根据如上组成的实施例的多处理器系统的操作。
在实施例的多处理器系统中,当CPU 10发出读命令时,主地址队列20将来自CPU 10的读命令转换成芯片组的LRA包,保存LRA包并将LRA包输入至全局地址纵横器200。
就此,选择器21选择被输入至全局地址纵横器200的LRA包并输出该LRA包。响应LRA包的输出,检查电路24进行地址映射检查并检查读请求的数据是否存在于该CPU所在的系统板100中包括的存储器11中。选择器21将检查结果通知给存储器访问控制电路23。
响应上述通知,当存储器访问控制电路23接收到用以表示被输入至全局地址纵横器200的LRA包是对该CPU所在的系统板100中包括的存储器11的读命令的检查结果时,存储器访问控制电路23经由从属请求控制电路26推测性执行关于存储器控制器13的读命令。
以这种方式,当检测到被输入至全局地址纵横器200的LRA包是对该CPU所在的系统板100中包括的存储器11的读命令时,本实施例的多处理器系统进行处理,以在图1所示的时机推测性执行该读命令。
本实施例的多处理器系统以与包括SMP的普通多处理器系统相同的方式将LRA包输入至全局地址纵横器200。当响应LRA包从全局地址纵横器200广播GSA包时,多处理器系统接收GSA包,并进行地址映射检查、DTAG检查、资源用尽检查或地址忙碌检查。
由此,当由其它系统板100中包括的CPU 10请求的读请求数据存在于在该CPU所在的系统板100中包括的存储器11中时,多处理器系统基于GSA包推测性执行读命令。基于检查结果,多处理器系统生成LCST信号并将LCST信号输入至全局地址纵横器200。当响应LCST信号从全局地址纵横器200广播GCST信号时,多处理器系统接收GCST信号并基于GCST信号判断采用还是不采用推测性执行的读命令。
另一方面,在本实施例的多处理器系统中,当基于LRA包推测性执行读命令时,将读取的数据传送至主读取数据队列27,并在主读取数据队列27中对其进行排队,而没有在从属存储器读取数据队列41中对其进行排队。向主读取数据队列27通知采用还是不采用推测性执行的读命令的信息。
根据上述结构,在本实施例的多处理器系统中,根据推测性执行的读命令,从存储器11读取的数据被传送至主读取数据队列27并在其中进行排队。
因此,在本实施例的多处理器系统中,当基于从全局地址纵横器200广播的GCST信号,判断为采用推测性执行的读命令时,主读取数据队列27被指示将根据推测性执行的读命令所读取的数据发送至CPU 10。另一方面,当判断为不采用推测性执行的读命令时,主读取数据队列27被指示将根据推测性执行的读命令所读取的数据丢弃。主地址队列20被指示对推测性执行失败的LRA包进行重复。
以这种方式,在本实施例的多处理器系统中,当检测到被输入至全局地址纵横器200的LRA包是对该CPU所在的系统板100中包括的存储器11的读命令时,以图2所示的方式对从存储器11读取的数据排队,从而通知采用还是不采用数据的信息。
根据上述结构,在本实施例的多处理器系统中,能够高速从存储器11读取数据并立即将数据发送至CPU 10。
如图4所示,在包括SMP的传统多处理器系统中,基于从全局地址纵横器200广播的GSA包推测性执行读命令,并且在从属存储器读取数据队列41中对数据进行排队。另一方面,如图5所示,在实施例的多处理器系统中,基于被输入至全局地址纵横器200的LRA包推测性执行读命令,并且在主读取数据队列27中对数据进行排队。因此能够高速从存储器11中读取数据并直接将数据发送至CPU 10。
图6示出当读取该CPU所在的系统板100中包括的存储器11时的信号流。
如图所示,在本实施例中,当读取在该CPU所在的系统板100中包括的存储器11时,如图中α(虚线)所示,在与过去的阶段相比较早的阶段推测性执行读命令。从存储器11读取的数据在主读取数据队列27中进行排队。如图中β(长短交替虚线)所示,基于SMP的操作确定采用还是不采用推测性执行的读命令。主读取数据队列27进行处理,以反映确定结果。
图7示出当读取在另一系统板100中包括的存储器11时的信号流。
在这种情况下,由于没有读取在该CPU所在的系统板100中包括的存储器11,所以如图中α(长短交替虚线)所示本实施例的特点于在早期阶段没有推测性执行读命令,并且如图中β(长短交替虚线)所示,基于SMP的操作从另一系统板100发送数据。因此,系统板100执行处理,以接收该数据。
图8示出当在另一系统板100中包括的CPU 10读取在该CPU所在的系统板100包括中的存储器11时的信号流。
在这种情况下,由于在该CPU所在的系统板100中包括的CPU 10不发出读命令,如图中α和β(α:虚线,β:长短交替虚线)所示,基于SMP操作,根据GSA包进行读命令的推测性执行。如图中α所示,基于SMP操作确定采用还是不采用推测性执行的读命令。当确定采用读命令时,对从存储器11读取的数据的进行处理,以将数据传送至在位于读命令发出源(issuesource)的系统板100中包括的CPU 10。
如上所说明的,在本实施例的多处理器系统中,在比过去的技术在更早的阶段推测性执行读命令。因此,有可能增加读命令的重复次数。
由此,在本实施例的多处理器系统中,存储器访问控制电路23检测重复频率。当由于来自全局地址纵横器200的反复重读指示,存储器访问控制电路23检测到反复重读时,存储器访问控制电路23控制选择器21在固定周期强制性选择GSA包。因此,存储器访问控制电路23基于本实施例处理特点的LRA包控制读命令的推测性执行。
在本实施例的多处理器系统中,从存储器11读取的数据被传送至主读取数据队列27并在其中进行排队而不在从属存储器读取数据队列41中排队。
当采用上述结构时,与从属存储器读取数据队列41和主读取数据队列27连接的总线进入忙碌状态。
因此,在本实施例的多处理器系统中,配置总线忙碌监测电路28。总线忙碌监测电路28计数在固定周期传送至总线的数据包的数量,以判断总线是否进入忙碌状态。当总线忙碌监测电路28检测到总线进入忙碌状态时,总线忙碌监测电路28控制选择器21在固定周期强制性选择GSA包,以基于本实施例处理特点的LRA包控制读命令的推测性执行。
在本实施例的多处理器系统中,在比过去的技术在更早的阶段推测性执行读命令。因此,有可能增加特定读命令的重复次数。
由此,在本实施例的多处理器系统中配置重复次数监测电路29。对于其重复的次数等于或大于指定次数的LRA包,重复次数监测电路29控制选择器21在固定周期强制性选择GSA包,以根据本实施例处理特点的LRA包来控制读命令的推测性执行。
根据图中示出的实施例对本发明进行了说明。然而,本发明不限于上述实施例。
例如,在实施例中,进行基于LRA包的读命令的推测性执行,而不需考虑读命令的类型。然而,使用在存储器11中具有读请求数据高出现可能性的读命令作为处理对象,可进行基于LRA包的读命令的推测性执行。
存储器11中的数据可被纳入到CPU的高速缓存中并被重写。使用这种数据作为读请求数据而进行的读命令的推测性执行最终导致失败。
因此,例如,对于获得专有权的请求读命令,由于数据被重写的可能性高,所以这种读命令(根据操作码判断这种读命令)不必是本发明的处理目标。
在实施例中,当总线忙碌监测电路28检测到与从属存储器读取数据队列41与主读取数据队列27连接的总线处于忙碌状态时,总线忙碌监测电路28控制选择器21在固定周期强制性选择GSA包。然而,当检测到总线忙碌状态时,推测性执行的采用或不采用的通知目的地可从主读取数据队列27变为从属存储器读取数据队列41,以在从属存储器读取数据队列41中对从存储器11读取的数据进行排队,而不在主读取数据队列27中对该数据进行排队。

Claims (9)

1.一种多处理器系统,其具有通过全局地址纵横器彼此连接的多个系统板,在所述多个系统板的每一个中包括CPU和存储器,并且所述多处理器系统通过向该全局地址纵横器输入地址来均匀地将处理分配给所有的CPU,该系统包括:
设定单元,其设定为在CPU上设置的数据队列中对从存储器读取的数据进行排队,而不在该存储器上设置的数据队列中对数据进行排队;以及
指示单元,其基于来自该全局地址纵横器的通知,指示在该CPU上设置的数据队列丢弃该数据或发送该数据至该CPU。
2.一种多处理器系统,其具有通过全局地址纵横器彼此连接的多个系统板,在所述多个系统板的每一个中包括CPU和存储器,并且所述多处理器系统通过向该全局地址纵横器输入地址来均匀地将处理分配给所有的CPU,该系统包括:
判断单元,其判断从CPU发出的读命令是否为对该CPU所在的系统板上的存储器的读命令,该读命令要被输入至该全局地址纵横器;
执行单元,其在该判断单元断定该读命令为对该CPU所在的系统板上的存储器的读命令的情况下,基于从该全局地址纵横器通知的地址在全局访问之前推测性执行该读命令;
设定单元,其设定为在CPU上设置的数据队列中对从存储器读取的数据进行排队,而不在该存储器上设置的数据队列中对数据进行排队;以及
指示单元,其基于来自该全局地址纵横器的通知,指示该CPU上设置的数据队列丢弃该数据或发送该数据至该CPU。
3.根据权利要求2所述的多处理器系统,其中在该执行单元推测性执行该读命令的情况下,该设定单元设定为在CPU上设置的数据队列中对从存储器读取的数据进行排队。
4.根据权利要求2所述的多处理器系统,还包括:
暂时停止单元,在与存储器设置上的数据队列和CPU上设置的数据队列连接的总线处于忙碌状态的情况下,该暂时停止单元暂时停止由该执行单元对该读命令的推测性执行。
5.根据权利要求2所述的多处理器系统,还包括:
取消单元,其在与存储器上设置的数据队列和CPU上设置的数据队列连接的总线处于忙碌状态的情况下,暂时取消由该设定单元所做的设定,以进行用于在该存储器上设置的数据队列中对从存储器读出的数据排队的设定。
6.根据权利要求2所述的多处理器系统,还包括:
暂时停止单元,其在对于上述读命令的推测性执行反复发生重读的情况下,暂时停止该读命令的推测性执行。
7.根据权利要求2所述的多处理器系统,还包括:
停止单元,其在读命令的推测性执行的重复次数超过指定次数的情况下,停止该读命令的推测性执行。
8.根据权利要求2所述的多处理器系统,其中,该判断单元使用特定读命令作为判断对象来判断从CPU发出的读命令是否为对该CPU所在的系统板上的存储器的读命令。
9.根据权利要求8所述的多处理器系统,其中该判断单元使用如下读命令作为该特定读命令,即该读命令所请求的数据在存储器中出现的可能性高。
CNB2007101039598A 2006-08-17 2007-05-17 多处理器系统 Expired - Fee Related CN100535885C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006222286 2006-08-17
JP2006222286A JP4829038B2 (ja) 2006-08-17 2006-08-17 マルチプロセッサシステム

Publications (2)

Publication Number Publication Date
CN101127028A CN101127028A (zh) 2008-02-20
CN100535885C true CN100535885C (zh) 2009-09-02

Family

ID=38686808

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007101039598A Expired - Fee Related CN100535885C (zh) 2006-08-17 2007-05-17 多处理器系统

Country Status (6)

Country Link
US (1) US7694106B2 (zh)
EP (1) EP1895432B1 (zh)
JP (1) JP4829038B2 (zh)
KR (1) KR100884011B1 (zh)
CN (1) CN100535885C (zh)
DE (1) DE602007007552D1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101908036A (zh) * 2010-07-22 2010-12-08 中国科学院计算技术研究所 一种高密度多处理器系统及其节点控制器

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5299281B2 (ja) * 2007-09-25 2013-09-25 富士通株式会社 情報処理装置及び制御方法
JP4465405B2 (ja) 2008-02-27 2010-05-19 Hoya株式会社 フォトマスクブランクおよびフォトマスク並びにこれらの製造方法
CN101907986B (zh) * 2010-08-30 2013-11-06 威盛电子股份有限公司 访问多个存储器的数据处理设备和数据处理方法
CN109284131B (zh) * 2013-05-24 2023-05-30 相干逻辑公司 具有可编程优化的存储器-网络处理器
RU2611337C1 (ru) * 2016-01-13 2017-02-21 Федеральное государственное учреждение "Федеральный научный центр Научно-исследовательский институт системных исследований Российской академии наук" (ФГУ ФНЦ НИИСИ РАН) Способ передачи сообщений между вычислительными устройствами
CN106776457B (zh) * 2016-12-29 2020-04-03 郑州云海信息技术有限公司 一种服务器跨板共享信号的控制系统及方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07122864B2 (ja) * 1991-07-22 1995-12-25 インターナショナル・ビジネス・マシーンズ・コーポレイション データ処理システム、データ処理システムに使用するインターフエース回路及びデータ・プロセツサ間の通信方法
JPH08185359A (ja) * 1994-10-31 1996-07-16 Toshiba Corp メモリサブシステム
US5657472A (en) * 1995-03-31 1997-08-12 Sun Microsystems, Inc. Memory transaction execution system and method for multiprocessor system having independent parallel transaction queues associated with each processor
US5887138A (en) 1996-07-01 1999-03-23 Sun Microsystems, Inc. Multiprocessing computer system employing local and global address spaces and COMA and NUMA access modes
US6092155A (en) * 1997-07-10 2000-07-18 International Business Machines Corporation Cache coherent network adapter for scalable shared memory processing systems
JP3864509B2 (ja) * 1997-08-19 2007-01-10 株式会社日立製作所 マルチプロセッサシステム
US6081874A (en) * 1998-09-29 2000-06-27 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that speculatively issues requests on a node interconnect
GB2352144A (en) 1999-07-16 2001-01-17 Texas Instruments Ltd Data transfer between memory nodes
JP2001167077A (ja) * 1999-12-09 2001-06-22 Nec Kofu Ltd ネットワークシステムにおけるデータアクセス方法、ネットワークシステムおよび記録媒体
JP3959914B2 (ja) 1999-12-24 2007-08-15 株式会社日立製作所 主記憶共有型並列計算機及びそれに用いるノード制御装置
US6938128B1 (en) * 2000-07-20 2005-08-30 Silicon Graphics, Inc. System and method for reducing memory latency during read requests
JP3404386B2 (ja) * 2001-03-14 2003-05-06 エヌイーシーコンピュータテクノ株式会社 メモリアクセスレイテンシ増加回避方式
US6973544B2 (en) * 2002-01-09 2005-12-06 International Business Machines Corporation Method and apparatus of using global snooping to provide cache coherence to distributed computer nodes in a single coherent system
US6912612B2 (en) * 2002-02-25 2005-06-28 Intel Corporation Shared bypass bus structure
US7962696B2 (en) * 2004-01-15 2011-06-14 Hewlett-Packard Development Company, L.P. System and method for updating owner predictors
US7257683B2 (en) * 2004-03-24 2007-08-14 Micron Technology, Inc. Memory arbitration system and method having an arbitration packet protocol
JP4504134B2 (ja) * 2004-08-16 2010-07-14 富士通株式会社 システム制御装置、投機フェッチ方法および情報処理装置
JP4695367B2 (ja) * 2004-08-31 2011-06-08 富士通株式会社 情報処理装置,制御装置及び情報処理装置の制御方法
JP4848771B2 (ja) * 2006-01-04 2011-12-28 株式会社日立製作所 キャッシュ一貫性制御方法およびチップセットおよびマルチプロセッサシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101908036A (zh) * 2010-07-22 2010-12-08 中国科学院计算技术研究所 一种高密度多处理器系统及其节点控制器

Also Published As

Publication number Publication date
US7694106B2 (en) 2010-04-06
EP1895432A1 (en) 2008-03-05
JP2008046890A (ja) 2008-02-28
KR100884011B1 (ko) 2009-02-17
US20080046694A1 (en) 2008-02-21
EP1895432B1 (en) 2010-07-07
CN101127028A (zh) 2008-02-20
JP4829038B2 (ja) 2011-11-30
KR20080016422A (ko) 2008-02-21
DE602007007552D1 (de) 2010-08-19

Similar Documents

Publication Publication Date Title
CN100535885C (zh) 多处理器系统
US6279084B1 (en) Shadow commands to optimize sequencing of requests in a switch-based multi-processor system
US6014690A (en) Employing multiple channels for deadlock avoidance in a cache coherency protocol
US6085276A (en) Multi-processor computer system having a data switch with simultaneous insertion buffers for eliminating arbitration interdependencies
US6108752A (en) Method and apparatus for delaying victim writes in a switch-based multi-processor system to maintain data coherency
KR930008688B1 (ko) 에러 로징 데이터 저장 시스템
US6101420A (en) Method and apparatus for disambiguating change-to-dirty commands in a switch based multi-processing system with coarse directories
US6249520B1 (en) High-performance non-blocking switch with multiple channel ordering constraints
US6154816A (en) Low occupancy protocol for managing concurrent transactions with dependencies
US6094686A (en) Multi-processor system for transferring data without incurring deadlock using hierarchical virtual channels
US6122714A (en) Order supporting mechanisms for use in a switch-based multi-processor system
EP0117408A2 (en) Method and mechanism for load balancing in a multiunit system
CN108205510B (zh) 数据处理
JPS61109164A (ja) バス制御方法
US20080162872A1 (en) Data processing system, method and interconnect fabric supporting high bandwidth communication between nodes
US20070091104A1 (en) Computer system and method
US7474658B2 (en) Data processing system, method and interconnect fabric supporting concurrent operations of varying broadcast scope
US6961781B1 (en) Priority rules for reducing network message routing latency
JP4053208B2 (ja) ディスクアレイ制御装置
US6295583B1 (en) Method and apparatus for resolving probes in multi-processor systems which do not use external duplicate tags for probe filtering
JP4112050B2 (ja) コヒーレントメモリシステムにおいて強い順序づけを維持する方法およびシステム
US6199153B1 (en) Method and apparatus for minimizing pincount needed by external memory control chip for multiprocessors with limited memory size requirements
US11449489B2 (en) Split transaction coherency protocol in a data processing system
US7809004B2 (en) Data processing system and processing unit having an address-based launch governor
EP1512079A2 (en) Pseudo multiport data memory has stall facility

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090902

Termination date: 20210517

CF01 Termination of patent right due to non-payment of annual fee