CN1231449A - 基于请求的同步总线操作 - Google Patents

基于请求的同步总线操作 Download PDF

Info

Publication number
CN1231449A
CN1231449A CN99102114.2A CN99102114A CN1231449A CN 1231449 A CN1231449 A CN 1231449A CN 99102114 A CN99102114 A CN 99102114A CN 1231449 A CN1231449 A CN 1231449A
Authority
CN
China
Prior art keywords
sign
instruction
synchronic command
formation
local 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
CN99102114.2A
Other languages
English (en)
Other versions
CN1200365C (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1231449A publication Critical patent/CN1231449A/zh
Application granted granted Critical
Publication of CN1200365C publication Critical patent/CN1200365C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol

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

基于请求的同步总线操作
本发明一般地涉及多处理机系统中的同步处理,尤其涉及多处理机系统总线上的同步总线操作的呈现。更为具体地,本发明涉及通过根据历史指令的执行信息在呈现到系统总线之前滤去不必要的同步总线操作的可选择同步。
编写用于在多处理机数据处理系统上执行的软件的程序员经常需要或必须在指令执行流中设置充当处理边界的各个点,以确保在全部执行完第一代码段内的所有指令之前不执行相继代码段内的任何指令。当多处理机系统包括支持不按序的指令执行的超标量处理机时并且存储器相容性弱时,尤为如此。大多数常见商用处理机所支持的指令集包括用于设立这种处理边界的指令。例如,PowerPCTM处理机系列中可由程序员使用以建立处理边界的指令是“同步”指令。同步指令管理指令执行的实施。在同步指令之前启动的所有指令看起来要在完成该同步指令之前得到完成,并且在该同步指令被完成之前看起来不会启动任何其后面的指令。这样,同步指令建立一个具有二个重要作用的边界:首先,指令流中在该同步指令之后的指令在指令流中该同步指令之前的所有指令完成前不会得到执行。其次,指令流中某同步指令之后的指令不会和该同步指令之前的指令一起为了不按序执行而重新排序。
在PowerPCTM设备系列中,采用一个体系逻辑队列,以保存由对应处理机发出的但尚未得到执行的“体系”指令。这里,体系指令是那些可能影响存储层次并可由系统中的其它部件(其它处理机、超高速缓存等)理解的指令。它们实质上包括除了对可高速缓冲存储器空间装入/存储之外的任何影响存储层次的指令。PowerPCTM系列中的例子包括:tlbi(翻译后援缓冲器无效);tlbsync(翻译后援缓冲器同步);dcbf(数据超高速缓存块刷新);dcbst(数据超高速缓存块存储);icbi(指令超高速缓存块无效);以及对非超高速缓冲存储器(例如,存储器变换部件)的装入/存储。
同步指令影响可超高速缓存操作(常规装入和存储)及体系操作或受这二种操作影响。已经发出一条待决的可超高速缓存操作的处理机在待决的可超高速缓存操作未完成前不发出同步指令,处理机可从适当数据的回送确定这些操作的完成。在任何待决的可高速缓存操作完成前,处理机实质上阻止同步指令。
在执行体系操作所需的资源变成可使用之前,从本地处理机接收到的体系操作可在体系逻辑队列中排队。当体系逻辑队列不空下接收同步指令时,重试同步指令直至队列已排清。一旦本地体系逻辑队列已排清,为其它可能尚未完成它们的操作的部件把同步指令呈现在系统总线上。这样,在现行体系结构中,总是把同步指令呈现在系统总线上。由于从本地处理机接收同步指令的起始部件不具有和它自己过去的操作有关的用以判定它是否启动体系操作的历史信息,并且不具有和该部件内的体系操作状态有关的以便从系统总线窥探这些体系操作的信息,总是把同步操作做成为能在系统总线上可看见的。这样的窥探部件可以在一旦接收到体系逻辑操作下,当该操作实际已排队(已告知)时,回送完成该体系操作的指示。另外,体系操作通常不回送数据,仅包含“只有地址”的操作。从而起始部件没有用于滤去不必要的同步操作的任何基础,因为,即使当从本地处理机接收同步指令时该起始部件自己的体系队列是空的,该起始部件不具有任何判定存储层次的其它部件是否具有已窥探到的待决体系操作的手段。这样,尽管大多数时间下体系队列保持为相对是空的(因为相对不频繁地出现体系操作),在系统总线上见到许多同步操作。在现行的体系结构下,同步类型的操作可消耗掉每100个系统总线周期中的一个周期。
由于同步指令不能用技术扩缩,非常需要滤掉不必要的同步操作。随着技术的进步,尤其是部件尺寸的改进,数据处理系统的许多方面是可扩缩执行的。例如,可增加处理机内执行部件的数量以允许并行地执行更多的指令。可实现更大的超高速缓存,从而更多地命中超高速缓存及更少的不命中。与之相反,同步操作是不能扩缩的;从而随着技术的发展,和同步操作相关的代价更大。即使同步指令在全部运行期指令中的比例保持不变,由于更多的指令是被并行处理的,同步指令消耗掉可使用的处理机周期及带宽中的更大的一部分。另外,随着存储层次--同步指令影响其所有各层--变为更深,和每条同步指令相关的性能损失增加。
因此,需要提供一种机制,用于滤掉呈现在多处理机系统总线上的不必要的同步操作。若该机制允许根据接收同步指令的部件历史上所执行的指令和/或操作的类型选择性地同步应是有好处的。
从而,本发明的一个目的是为多处理机系统的同步处理提供一种改进的方法和设备。
本发明的另一个目的是提供一种方法和设备,用于在多处理机系统总线上选择性地呈现同步总线操作。
本发明的再一个目的是提供一种方法和设备,用于根据指令执行历史信息在于系统总线上呈现之前滤除不必要的同步总线操作实现选择性的同步。
如现在所说明的那样实现上述目的。和多处理机系统内的存储器相关部件的体系逻辑队列有关的一个寄存器含有一个标志,一旦一个体系操作--由于能由系统内的其它部件理解它可能影响存储层次--进入起始部件要发送到系统总线上的体系逻辑队列时设置该标志。即使体系逻辑队列变空后该标志保持设置,仅当从本地处理机接收同步指令(诸如PowerPCTM部件系列所支持的“sync”指令)时才复位该标志。从而该标志的状态提供有关体系操作的历史信息,在从系统总线上窥探出后这些体系操作可能是在系统内的其它部件中待决的。利用该历史信息判定是否应把某同步操作呈现在系统总线上,从而允许滤除不必要的同步操作,并使更多的系统总线周期可用于其它目的。在本地处理机向管理体系逻辑队列的部件发出同步指令时,当该体系逻辑队列是空的通常接收该指令。反之,在该体系逻辑队列变成空之前,对该本地处理机重试体系操作。若从本地处理机接收同步指令时设置标志,则在系统总线上呈现它。若从本地处理机接收同步指令时不设置标志,该同步操作是不必要的并且不在系统总线上表示。
在下述详细书面说明中,本发明的上述以及其它目的、特性和优点将变为清晰。
在附属权利书中叙述本发明所特有的新颖特性。然而,通过参照下述对一种示范实施方式的详细说明并连同阅读附图,会最佳地理解本发明本身、其使用的优选方式、以及它的其它目的和优点,附图是:
图1描述根据本发明的一种优选实施方式的多处理机数据处理系统;
图2是根据本发明的一种优选实施方式的逻辑队列图;
图3描述根据本发明的一种优选实施方式的管理体系逻辑队列的高层处理流程;以及
图4是根据本发明的一种优选实施方式的管理体系逻辑队列的一种替代的高层处理流程。
现参照各附图,尤其参照图1,图1描述根据本发明的一种优选实施方式的多处理机数据处理系统。数据处理系统100是一个包括多个处理机102和104的对称多处理机(SMP)系统,处理机最好由可从纽约州Armonk镇的国际商用机器公司购买的PowerPCTM处理机系列中的一种处理机构成。虽然在该示范性实施方式中只示出二个处理机,熟练的技术人员会理解在根据本发明的多处理机数据处理系统中可使用更多的处理机。
每个处理机102和104分别包括层1(L1)数据超高速缓存106和108,并且分别包括L1指令超高速缓存110和112。虽然在该示范性实施方式中示出分为二支的指令及数据超高速缓存,熟练的技术人员会理解能实施单个统一的超高速缓存L1。为了使数据访问等待时间为最短,可在数据处理系统100内实现更多的一层或多层超高速缓冲存储器,例如层2(L2)超高速缓存114和116以及层3(L3)超高速缓存118和119。使用较低层的超高速缓存(L2和L3)以对L1超高速缓存的数据分级,典型地较低层逐渐具有较大的存储容量但也具有较长的访问等待时间。例如,数据超高速缓存106和108以及指令超高速缓存110和112可能各具有32KB的存储容量和约为1-2个处理机周期的访问等待时间,L2超高速缓存114和116可能具有512KB的存储容量和5个处理机周期的访问等待时间,而L3超高速缓存118和119可能具有4MB的存储容量但访问等待时间大于15个处理机周期。从而L2超高速缓存114和116以及L3超高速缓存118和119充当处理机102、104和系统存储器120之间的中间存储,系统存储器120典型地具有大得多的存储容量但可能具有大于50个处理机周期的访问等待时间。
数据处理系统100中采用的超高速缓存层次的分层数量以及超高速缓存层次的结构都是可变的。该示例中所示的L2超高速缓存114和116是连接在各自的处理机102、104和系统存储器之间(经系统总线122)的专用超高速缓存。L3超高速缓存118和119描述成是逻辑上垂直于L2超高速缓存114和116的后备超高速缓存。结果,可以同时从L2超高速缓存114或116中的一个或者从L3超高速缓存118和119中的一个查找数据或者指令,尽管即使对各个L2超高速缓存114或116脱靶而击中L3超高速缓存118或119下仅从L3超高速缓存118或119检索该数据或指令。熟练的技术人员会理解可实现所描述的层次和结构的各种置换。
经系统总线122 L2超高速缓存114和116以及L3超高速缓存118和119与系统存储器120连接。与系统总线122连接的还可能有存储器变换部件124,例如用于对显示器提供连接的图形适配器(未示出),以及输入/输出(I/O)总线桥126。I/O总线桥126把系统总线122和I/O总线128连接起来,I/O总线128可提供对I/O部件130及非易失性存储器132的连接。系统总线122、I/O总线桥126以及I/O总线128从而形成把各附属部件连接起来的一种互连,技术上对此的替代实现是周知的。I/O部件130由各种常规外围设备构成,包括键盘、诸如鼠标器或跟踪球的图形指点器、显示器及打印机,它们通过常规的各种适配器与I/O总线128接口。非易失性存储器132可包括硬盘机并存储操作系统以及其它控制系统100的运行的软件,随着系统100加电这些软件被装入到易失性系统存储器120中。熟练的技术人员可理解处理系统100能包括许多未在图1中示出的其它部件,例如串行和并行端口、对网络或附属部件的各种连接件、管理对系统存储器120的访问的存储器控制器,等等。这些修改和改变是在本发明的精神和范围之内的。
系统总线122上的典型通信事务包括一个指示该事务的源的源标志、一个地址和/或数据。和系统总线122连接的每个部件最好窥探系统总线122上的所有通信事务,当必要时并且在可能及适当下重现该部件内拷贝的系统存储器数据的改变时介入对其它接收方的通信事务。根据本发明,至少数据处理系统100内的较低层超高速缓存最好应是存储器相关的,或者可能需要把同步操作呈现在系统总线上以便允许其它的超高速缓存得到完成这些操作的机会。
请参照图2,图中示出根据本发明的一种优选实施方式的体系逻辑队列图。体系逻辑队列200例如在图1中所示的L2超高速缓存114或116中实现。体系逻辑队列200包括一个队列结构202,它可以是一个常规先进先出(FIFO)队列,在其中存放着体系指令。如上面所述,体系指令是影响存储器存储层次的指令,其基本包括除对可高速缓冲存储器空间进行装入/存储之外的任何和存储器有关的指令。对于PowerPCTM设备系列,体系指令包括tlbi、tlbsync、dcbf(刷新)、dcbst(清除)、icbi以及对非可超高速缓冲存储器空间的装入/存储(对超高速缓存禁止的装入及存储)。体系操作是某部件响应接收到体系指令所启动的总线操作。
体系逻辑队列200还包括一个含有一个标志x的寄存器204。标志x提供与体系指令有关的历史信息,这些体系指令需要在系统总线上显示相继的同步操作。在系统加电/复位期间(POR)对标志x复位。然后,一旦某体系操作进入队列202(一旦本地处理机发出某需要在系统总线上呈现相继的同步操作的指令)标志x被设置,并且当从本地处理机接收同步指令时标志x被复位。在同步指令完成之前,部件对从本地处理机接收到的相继指令进行重试。在一种替代的实施方式中,一旦某窥探部件发出表示在该窥探部件的窥探队列中得知由含有队列202的部件启动体系操作的应答码时标志x被设置,并且当从本地处理机接收同步指令时标志x被复位。设置和/或复位标志x仅仅需要最多一个和体系指令以及同步指令相关的位。从而,在PowerPCTM设备系列中,可以基于识别指令代码、或基于识别出的直写/回写(W)、超高速缓存禁止(I)和存储器相关(M)属性(通常称为“WIM位”)模式、或基于在启动体系操作后接收应答码改变标志x。下面的表Ⅰ中综合了标志x的状态变化。
                                表Ⅰ
    标志状态     原因
    x←0     POR
    x←1     体系操作进入队列-或-窥探部件表示得知体系操作
    x←0     接收同步指令
标志x的状态控制在系统总线上对同步操作的呈现。若在设置标志x下接收同步指令,则在系统总线上呈现同步操作,这是因为在接收该同步指令时体系逻辑队列200是空的。连接到系统总线上的部件最好是和存储器相关的,从而不需要把来自本地处理机的同步指令呈现在系统总线上以确保可超高速缓存的装入及存储的完成。然而,标志x提供有关体系操作的历史信息,并且当被设置时表示从接收到最近的同步指令以来某体系操作被排队。通过由系统分层中的其它部件从系统总线上窥探,该体系操作可能在这些其它部件中是待决的。必须把该同步操作呈现在系统总线上以允许在执行相继的指令前完成这些可能待定的操作。
若未设置标志x下接收同步指令,则不在系统总线上呈现该同步操作。标志x=0的状态表示从接收最近的同步指令以来没有体系操作在排队(或在本地体系逻辑队列中或在远程窥探队列中,取决于实施方法)。从而,系统分层结构中其它部件里待决的任何体系操作都不来源于发出该同步指令的处理机。该同步指令不对远程处理机发出的指令流起作用。这样,不需要把该同步操作表示在系统总线上,实际上可被忽略。在下面的表Ⅱ中综合了系统总线上呈现同步操作和标志x的状态间的相关关系。
                                表Ⅱ
标志状态 同步操作
x=0 不呈现在系统总线上
x=1 呈现在系统总线上
通过因某体系操作进入本地部件的体系逻辑队列或进入远程部件的窥探队列而设置的标志x,即使该触发体系操作被完成,仍保持设置。在接收到下一个同步指令之前不对标志x复位。从而,标志x表示从最近的同步操作起发送和/或得知某体系操作。然而,标志x只影响在其中把同步操作呈现在系统总线上的环境。尽管现有技术体系中的每条同步指令造成在系统总线上呈现一次同步操作,但如上面所述,在本发明中并非如此。另一方面,系统总线上所呈现的同步操作的作用不受标志x的状态的影响。系统分层结构中通过其窥探逻辑检测系统总线上的同步操作的远程部件,判定任何来自发出该同步指令的同一处理机的体系操作是否待决在其窥探队列中,若存在,则重试该同步操作。从而,本发明并不改变在系统总线上呈现同步操作的次序,仅仅是插入判定是否要在系统总线上呈现同步操作的准则,以允许滤出不必要的同步操作。
现参照图3,图中描述根据本发明的一种优选实施方式的管理体系逻辑队列的高层处理流程。该处理可在保持着如图2中所示类型的体系逻辑队列的部件,例如图1中所示的L2超高速缓存114和116,内执行。处理从步骤302开始,其可对应于对系统的加电/复位,接着进入步骤304,其表示对体系逻辑队列寄存器中保持的标志复位并指示从最近的同步操作以来是否有体系操作排列(即,标志x)。接着处理进入检查该部件接收的指令的步骤306,然后进入判定该指令是否是体系指令的步骤308。若是,处理进入步骤310,以设置上面所述的标志并使该体系操作进入队列。然后处理返回步骤306,以检查该部件接收的下一条指令。
若该部件接收的指令不是体系指令,处理转而进入步骤312,其判定所接收的指令是否是同步(sync)指令,若不是,处理返回步骤306,以如上述检查下一条指令。若是,则处理转入步骤314,其判定当前是否设置着标志。若设置着标志,处理进入步骤316,使该同步操作排列以便接着呈现在系统总线上并复位该标志。在完成该同步操作前不接收任何相继指令。
请再对照步骤316,同步操作入队以呈现在系统总线上。一旦该同步操作呈现在系统总线上并被完成,处理返回步骤306以检查下一条接收到的指令。
再参照步骤314,若接收同步指令时未设置标记,处理转而返回步骤306以检查下一条接收到的指令。在“步骤”318中描述其效果,即实际上忽略该同步指令。步骤306至318所描述的处理环路持续用于从本地处理机接收到的指令,直至诸如用系统断电停止该处理。
请参照图4,图中示出根据本发明的某优选实施方式的一种替代的管理体系逻辑队列的处理的高层流程。在该实施方式中,标志x反映更准确的历史信息,并被用于判定是否把同步操作呈现在系统总线上,如前面所说明,除非完成所有先前的可超高速缓存操作,处理机不会发出同步指令。若本地体系逻辑队列不是空的,会对本地处理机重试同步操作。从而,当在这些情况下由某部件从本地处理机接收同步操作时,忽略该同步操作的唯一风险是,由该部件先前启动的某体系操作可能被悬而未决在某远程窥探部件的窥探队列中。
如上面所指出,体系操作的出现是不频繁的,并且典型地不能象可超高速缓存操作通过回送数据那样对起始部件提供一种用于确定何时结束操作的固有机制。此外,一旦从系统总线上窥探到体系操作,窥探部分可以回送一个应答码,以在该操作实际上被公布在窥探队列时表示该操作被完成。从而,忽略由某个本地处理机发出的并由某部件接收的某同步指令的主要风险是,由发出该同步指令的同一处理机发出的某体系操作可能仍然在某远程窥探部件中是待决的。在现在要说明的一种替代的实施方式中,通过使窥探部件向体系操作表示已得知该操作的应答码取消该风险。
该处理开始于仍对应着系统加电/复位的步骤402,接着进入步骤404,其对体系逻辑队列寄存器中保持的用来指示是否从最近的同步操作起在远程窥探队列中公布某体系操作的标志进行复位(即,标志x)。处理接着进入检查该部件接收到的指令的步骤406,然后进入判定该指令是否是体系指令的步骤408。若是,处理进入步骤410,其启动系统总线上的操作并检查任何应答码或接收到的代码。接着处理进入412,以从接收到的应答码判定在某远程窥探队列中是否宣布该体系操作。窥探部件可能重试该体系操作,或者在带有指示是否得知该操作的应答码下接收该操作。若远程窥探队列未得知该操作,处理则返回步骤406以确定该部件接收到的下一条指令。
再参照步骤412,若在某远程部件的窥探队列中公布该部件所启动的某体系操作,处理转而进入步骤414,其设置指示远程得知某体系操作的标志,并接着返回检查接收到的下一条指令的步骤406。
再参照步骤408,若该部件接收到的指令不是体系指令,处理转而进入判定所接收的指令是否是同步(sync)指令的步骤416。若不是,处理返回步骤406,以如上述检查下一条指令。若是,处理则转入判定当前是否设置着标志的步骤418。若标志被设置,处理进入步骤420,其使该同步操作排列以接着呈现在系统总线上,并且复位标志。一旦同步操作为呈现在系统总线上而排队,处理返回步骤406以检查接收到的下一条指令。
再参照步骤418,若在接收某同步指令时未设置标志,处理转而返回到步骤406以检查接收到的下一条指令。在“步骤”422中再次描述忽略该同步指令的作用。
本发明提供一种手段,用于保持和需要把同步操作呈现在系统总线上的体系操作有关的历史信息。该信息用于滤除不必要的同步操作;避免这些不必要的操作到达系统总线。和现有技术不同,不把造成同步操作的所有同步指令呈现在系统总线上。在第一实施方式中,仅当在体系逻辑队列中排队着自最近一个同步操作以来的包含以非超高速缓冲存储器的装入和存储的体系操作时才在系统总线上呈现同步操作。在一种替代的实施方式中,仅当在某远程窥探部件中得知最近一次同步操作之后的体系操作时才在系统总线上呈现同步操作。在这二种实施方式中,在从系统总线窥探体系操作的系统分层结构里的其它部件里,体系操作可能仍是待决的。若从系统总线窥探同步操作的某部件的窥探队列中含有来自发出同步操作的同一处理机的体系操作,按照常规技术重试该同步操作。
通过根据本发明滤去其它的同步操作,系统总线上同步操作的周期性可降低到10000系统总线周期一次。此外,在根据本发明的管理体系逻辑队列的部件内,不是由超高速缓存控制器而是只由体系逻辑看到同步指令。从而超高速缓存控制器逻辑还可用于其它用途。
虽然参照优选实施方式具体地表示并说明本发明,熟练的技术人员可理解在不背离本发明的精神和范围下可在形式上和细节上对其做出各种改变。

Claims (20)

1.一种便利多处理机系统中指令同步的方法,包括:
从某本地处理机接收操作;
把从该本地处理机接收到的操作排队到用于呈现在系统内的系统总线上的队列中;
对从该本地处理机接收会影响系统内其它部件中的数据存储的操作作出响应,设置与该队列相关的表示接收到该操作的一个标志;以及
响应从该本地处理机接收到同步指令,检查该标志的状态。
2.权利要求1的方法,还包括:
响应判定出该标志是设置的,在系统总线上呈现与该同步指令相对应的同步操作。
3.权利要求1的方法,还包括:
响应判定出未设置该标志,忽略掉该同步指令。
4.权利要求1的方法,还包括:
响应在该标志被设置下从该本地处理机接收同步指令,复位该标志。
5.权利要求1的方法,还包括:
在设置该标志后,与队列中是否含有可能影响其它部件中的存储的操作无关地把该标志保持在设置状态下。
6.一种在多处理机系统中从系统总线滤除不必要的同步操作的方法,包括:
从本地处理机接收指令;
判定所接收的指令是否为一条引起可能影响系统内的其它部件中的数据存储的系统总线操作的体系指令;
响应判定出所接收的指令是一条体系指令,设置和一个队列相关的标志,该队列发出由从本地处理机接收到的指令所引起的系统总线操作,该标志表示自最近从本地处理机接收同步指令以来是否从该本地处理机接收到体系指令。
7.权利要求6的方法,还包括:
响应判定出所接收的指令不是体系指令,判定该指令是否是同步指令。
8.权利要求7的方法,还包括:
响应判定出所接收的指令是同步指令,判定该标志是否被设置。
9.权利要求8的方法,还包括:
响应当接收同步指令时判定出该标志被设置,为呈现在系统总线上对一个同步操作排队,并且复位该标志。
10.权利要求8的方法,还包括:
响应当接收同步指令时判定出未设置该标志,忽略该同步指令。
11.权利要求8的方法,还包括:
响应在设置该标志下接收到同步指令后从本地处理机接收体系指令,在完成和该同步指令对应的同步操作之前重试该体系指令。
12.权利要求8的方法,还包括:
响应接收同步指令时判定出设置着标志,对一个同步操作排队以呈现在系统总线上并且复位该标志;以及
响应在某窥探队列中检测出来自发出该同步操作的处理机的体系操作,重试同步操作。
13.权利要求8的方法,还包括:
响应在某窥探队列中包含至少一个未完成的并且是来自发出某同步操作的某处理机的操作下检测出在系统总线上的该同步操作,重试该同步操作。
14.一种数据处理系统,包括:
多个与系统总线连接的处理机;
一个含有要在该系统总线上呈现的操作的队列;以及
一个和该队列相关的标志,其第一状态指示自该队列从某本地处理机接收最近的同步指令后该队列从该本地处理机接收一条引起可能会影响系统内其它部件中的数据存储的系统总线操作的体系指令。
15.权利要求14的数据处理系统,其中该标志具有第二状态,其指示自该队列从该本地处理机接收最近的同步指令后该队列未从该本地处理机接收体系指令。
16.权利要求15的数据处理系统,其中当该标志为第一状态下该队列从该本地处理机接收体系指令时,该标志从第一状态转换到第二状态。
17.权利要求15的数据处理系统,当该标志在第二状态下该队列从该本地处理机接收同步指令时,该标志从第二状态转换到第一状态。
18.权利要求15的数据处理系统,还包括:
用于当该标志在第二状态下从本地处理机接收到同步指令时把一个同步操作排到该队列中的逻辑。
19.权利要求15的数据处理系统,还包括:
用于在该标志在第一状态下不运行从本地处理机接收到的同步指令的逻辑。
20.权利要求15的数据处理系统,还包括:
用于当某窥探队列中的某体系操作是未完成的并且该未完成的体系操作来自发出某同步操作的某处理机时重试在系统总线上检测出的该同步操作的逻辑。
CN99102114.2A 1998-02-17 1999-02-11 基于请求的同步总线操作 Expired - Fee Related CN1200365C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/024,615 US6065086A (en) 1998-02-17 1998-02-17 Demand based sync bus operation
US024,615 1998-02-17
US024615 1998-02-17

Publications (2)

Publication Number Publication Date
CN1231449A true CN1231449A (zh) 1999-10-13
CN1200365C CN1200365C (zh) 2005-05-04

Family

ID=21821514

Family Applications (1)

Application Number Title Priority Date Filing Date
CN99102114.2A Expired - Fee Related CN1200365C (zh) 1998-02-17 1999-02-11 基于请求的同步总线操作

Country Status (3)

Country Link
US (1) US6065086A (zh)
JP (1) JP3431850B2 (zh)
CN (1) CN1200365C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103023676A (zh) * 2011-09-22 2013-04-03 中兴通讯股份有限公司 告警同步处理方法及装置

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6484230B1 (en) * 1998-09-28 2002-11-19 International Business Machines Corporation Method and system for speculatively processing a load instruction before completion of a preceding synchronization instruction
US6449614B1 (en) * 1999-03-25 2002-09-10 International Business Machines Corporation Interface system and method for asynchronously updating a share resource with locking facility
US6681320B1 (en) 1999-12-29 2004-01-20 Intel Corporation Causality-based memory ordering in a multiprocessing environment
US7360022B2 (en) * 2005-12-29 2008-04-15 Intel Corporation Synchronizing an instruction cache and a data cache on demand
JP2010198600A (ja) * 2009-02-02 2010-09-09 Omron Corp 産業用コントローラ
US8412888B2 (en) 2011-01-06 2013-04-02 International Business Machines Corporation Cache-based speculation of stores following synchronizing operations
US8935513B2 (en) 2012-02-08 2015-01-13 International Business Machines Corporation Processor performance improvement for instruction sequences that include barrier instructions
US9304940B2 (en) * 2013-03-15 2016-04-05 Intel Corporation Processors, methods, and systems to relax synchronization of accesses to shared memory
US9514045B2 (en) 2014-04-04 2016-12-06 International Business Machines Corporation Techniques for implementing barriers to efficiently support cumulativity in a weakly-ordered memory system
US10126952B2 (en) 2015-11-05 2018-11-13 International Business Machines Corporation Memory move instruction sequence targeting a memory-mapped device
US10067713B2 (en) 2015-11-05 2018-09-04 International Business Machines Corporation Efficient enforcement of barriers with respect to memory move sequences
US9996298B2 (en) 2015-11-05 2018-06-12 International Business Machines Corporation Memory move instruction sequence enabling software control
US10042580B2 (en) 2015-11-05 2018-08-07 International Business Machines Corporation Speculatively performing memory move requests with respect to a barrier
US10346164B2 (en) 2015-11-05 2019-07-09 International Business Machines Corporation Memory move instruction sequence targeting an accelerator switchboard
US10152322B2 (en) 2015-11-05 2018-12-11 International Business Machines Corporation Memory move instruction sequence including a stream of copy-type and paste-type instructions
US10140052B2 (en) 2015-11-05 2018-11-27 International Business Machines Corporation Memory access in a data processing system utilizing copy and paste instructions
US10241945B2 (en) 2015-11-05 2019-03-26 International Business Machines Corporation Memory move supporting speculative acquisition of source and destination data granules including copy-type and paste-type instructions

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4636948A (en) * 1985-01-30 1987-01-13 International Business Machines Corporation Method for controlling execution of application programs written in high level program language
US5075840A (en) * 1989-01-13 1991-12-24 International Business Machines Corporation Tightly coupled multiprocessor instruction synchronization
US5276828A (en) * 1989-03-01 1994-01-04 Digital Equipment Corporation Methods of maintaining cache coherence and processor synchronization in a multiprocessor system using send and receive instructions
EP0488819B1 (en) * 1990-11-30 1999-01-13 Kabushiki Kaisha Toshiba Conditional branch instructions execution apparatus
JPH05128080A (ja) * 1991-10-14 1993-05-25 Mitsubishi Electric Corp 情報処理装置
WO1995028686A1 (en) * 1994-04-15 1995-10-26 David Sarnoff Research Center, Inc. Parallel processing computer containing a multiple instruction stream processing architecture
US5778438A (en) * 1995-12-06 1998-07-07 Intel Corporation Method and apparatus for maintaining cache coherency in a computer system with a highly pipelined bus and multiple conflicting snoop requests
US5881264A (en) * 1996-01-31 1999-03-09 Kabushiki Kaisha Toshiba Memory controller and memory control system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103023676A (zh) * 2011-09-22 2013-04-03 中兴通讯股份有限公司 告警同步处理方法及装置
CN103023676B (zh) * 2011-09-22 2018-05-04 中兴通讯股份有限公司 告警同步处理方法及装置

Also Published As

Publication number Publication date
US6065086A (en) 2000-05-16
JP3431850B2 (ja) 2003-07-28
CN1200365C (zh) 2005-05-04
JPH11328140A (ja) 1999-11-30

Similar Documents

Publication Publication Date Title
CN1200365C (zh) 基于请求的同步总线操作
CN101410797B (zh) 无序处理器中的事务存储器执行的方法、设备和系统
CN101059783B (zh) 事务型存储器的虚拟化
CN1316362C (zh) 重定位在多线程计算机中共享的计算机数据的设备和方法
JP2780032B2 (ja) マルチプロセッサディジタルデータ処理システム
CN100414494C (zh) 根据多组高速缓存组预测来选择执行的指令的装置和系统
US6748501B2 (en) Microprocessor reservation mechanism for a hashed address system
CN105378682B (zh) 持久存储器中数据的观察
KR101626533B1 (ko) 가비지 콜렉션을 위한 gpu 서포트
JP3281893B2 (ja) キャッシュ・メモリ階層内で利用するキャッシュ・コヒーレンシ機構を実施するための方法およびシステム
KR100243853B1 (ko) 개량된메모리아키텍쳐를위한방법및장치
US7523260B2 (en) Propagating data using mirrored lock caches
EP1016977A2 (en) Packet routing switch
JPH0575134B2 (zh)
US8280866B2 (en) Monitoring writes using thread-local write barrier buffers and soft synchronization
US20070005899A1 (en) Processing multicore evictions in a CMP multiprocessor
US7143242B2 (en) Dynamic priority external transaction system
JPH11506852A (ja) 多数のバスマスタと共用レベル2キャッシュとを備える多レベルキャッシュシステムでのキャッシュスヌーピングオーバーヘッドの低減
EP0582635A1 (en) Method for increasing the speed of data processing in a computer system
US6950909B2 (en) System and method for reducing contention in a multi-sectored cache
CN1127693C (zh) 保持指令、数据高速缓存之间相关性的方法和设备
EP1030243B1 (en) Optimized hardware cleaning function for virtual index virtual tag data cache
US7464227B2 (en) Method and apparatus for supporting opportunistic sharing in coherent multiprocessors
EP0404560B1 (en) multiprocessor system and method
CA2078312A1 (en) Digital data processor with improved paging

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20050504