CN1834900A - 信息处理系统、管线处理器以及计算机可读记录介质 - Google Patents

信息处理系统、管线处理器以及计算机可读记录介质 Download PDF

Info

Publication number
CN1834900A
CN1834900A CNA2005100870354A CN200510087035A CN1834900A CN 1834900 A CN1834900 A CN 1834900A CN A2005100870354 A CNA2005100870354 A CN A2005100870354A CN 200510087035 A CN200510087035 A CN 200510087035A CN 1834900 A CN1834900 A CN 1834900A
Authority
CN
China
Prior art keywords
request
judgment part
pipeline
effective
busy
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
CNA2005100870354A
Other languages
English (en)
Other versions
CN100414495C (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 CN1834900A publication Critical patent/CN1834900A/zh
Application granted granted Critical
Publication of CN100414495C publication Critical patent/CN100414495C/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
    • 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
    • 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 or look ahead
    • G06F9/3824Operand accessing

Landscapes

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

Abstract

在本发明中,为了在请求被中途保持在管线处理器的管线寄存器阶段在进行寄存器的繁忙判断时不发生误判且不增加将请求存储到设置在管线寄存器最后一级的寄存器的硬件资源,设置有:第一计数器,用于对插置在管线寄存器中且用于判断请求是否是有效请求的判断部分与请求队列之间的多个多级寄存器中的有效请求数进行计数;繁忙判断部分,用于基于第一计数器计数所得的有效请求的数目,判断请求队列是否处于繁忙状态;并且由判断部分基于所述繁忙判断部分作出的繁忙状态判断结果做出所述判断。

Description

信息处理系统、管线处理器以及计算机可读记录介质
技术领域
本发明涉及在例如设置有用于保持请求的寄存器(其用于在包含多个多级寄存器的管线寄存器的最后一级保持请求)的设备里,在该请求被中途保持在管线寄存器的阶段对寄存器中的记录(存储)做出判断的技术。
背景技术
通常,管线设备设置有队列,用于在包含多级寄存器的管线寄存器的最后一级保持请求并作为移位寄存器使用(例如,参考下面提到的专利文件1)。
设置有这种管线处理器的传统信息处理系统如图9所示。如图9所示,信息处理系统100包括多个(这里8个)管线处理器110-0到110-7(图中标为SB(系统板)0到SB7),彼此同步地同时执行管线进程的多个管线处理器110-0到110-7(在下文中,在不需要将管线110-0到110-7彼此做区分时,为了描述简单,简单标记为110),并且每个管线处理器110-0到110-7通过数据总线(FSB:前端总线)111-0到111-7(在下文中,在不需要将数据总线111-0到111-7彼此做区分时,为了描述简单,简单标记为“111”)连接到两个操作部分(图中标记为CPU(中央处理单元))A-0到A-7和B-0到B-7(在下文中,在不需要将操作部分A-0到A-7和B-0到B-7彼此做区分时,为了描述简单,简单标记为“A和B”)。
注意到,管线处理器110-0到110-7每个连接至数据总线111-0到111-7的对应的一个,该对应的数据总线和管线处理器的符号的末位数字相同,并且管线处理器110-0到110-7每个通过数据总线111连接至对应的两个操作部分A-0到A-7和B-0到B-7,该对应的两个操作部分和管线处理器的符号的末位数字相同。
例如,管线处理器110-0通过数据总线111-0连接到操作部分A-0和B-0,管线处理器110-1通过数据总线111-1连接到操作部分A-1和B-1,以及管线处理器110-7通过数据总线111-7连接到操作部分A-7和B-7。
在图9中,为了简化图形,管线处理器110-2、110-3、110-4、110-5和110-6,数据总线111-2、111-3、111-4、111-5和111-6,操作部分A-2、B-2,A-3、B-3、A-4、B-4、A-5、B-5、A-6和B-6在图中并没有示出。
信息处理系统100包括控制器(在图中标记为XB(横板))120,用于通知多个管线处理器110请求,并使其中一个管线处理器110处理该请求。
在信息处理系统100中,控制器120的选择部分121根据每个请求REQ0到REQn的优先级,从对控制器120提出的请求REQ0到REQn中选择一请求,同时用GSA(全局系统地址)-SB0到GSA-SB7将所选择的请求通知给对应的管线处理器110-0到110-7。
接着,每个管线处理器110利用包含多个寄存器112a的管线寄存器112保持所通知的请求。同时,基于信息处理系统100的系统时钟(同步信号),每个管线处理器110使用与其他管线处理器110相同的定时,在将请求顺序地从寄存器112a的上游侧移动到下游侧时保持该请求。
另一方面,每个管线处理器110的LCST(本地缓存状态)产生逻辑电路电路114使用与其他管线处理器110相同的定时,检索存储部分(图中标记为TAG),判断该请求将要使用的数据是否保持在下属操作部分A和B。
进一步,LCST产生逻辑电路114判断后面将要描述的请求队列(图中标记为SLVQ_FSB(从请求队列))117是否能存储请求(也就是,请求队列117是否处于忙碌状态)。
然后,基于该缓存是否被LCST产生逻辑电路114击中的判断结果和请求队列117是否处于繁忙状态的判断结果,LCST产生逻辑电路114的条件产生部分(图中标记为“条件产生”)115确定判断该请求是否为能被处理的有效请求的操作。
下一步,LCST产生逻辑电路114进一步利用LCST-SB0到LCST-SB-7,将自身的TAG信息(也就是,关于缓存是否被命中的信息作为上述存储部分113的检索结果)和关于请求是否是可被处理的有效请求的操作确定信息传输到控制器120。
接着,控制器120的LCST总结逻辑电路122总结传输自各个管线处理器110的信息,并且GCST(全局缓存状态)产生逻辑电路123对传输自各个管线处理器110的信息做全面判断,确定信息处理系统100的操作以使某个管线处理器110处理这一请求,并利用GCST-SB0到GCST-SB7将所确定的操作通知给对应的管线处理器110。
此外,控制器120也包括包含多个寄存器124a的管线寄存器124,并且管线寄存器124基于系统时钟在将请求从上游侧顺序地移动到下游侧时保持该请求,以在从将请求通知给每个管线处理器110直到从每个管线处理器110传输对该请求的操作确定信息期间与每个管线处理器110保持同步,。
接着,每个管线处理器110的GCST判断逻辑电路116利用相应的GCST-SB0到GCST-SB7,接收控制器120所通知的确定操作,并基于所收到的确定操作,判断请求是否存储在设置在管线寄存器112后续级(subsequent stage)的请求队列117中。
换句话说,多个管线处理器110中获得操作权限的管线处理器110(也就是,被确定处理该请求的管线处理器110)将请求存储在请求队列117中。
这里,请求队列117是采用FIFO(先进先出)方法保持请求的寄存器,从而请求被保持在请求队列117中,由此通过数据总线111传递给操作部分A和B而被执行。
每个管线处理器110的管线寄存器112基于系统时钟在从上游侧到下游侧顺序地移动请求时保持该请求,以吸收从控制器120的接收到请求到自身的操作确定的时间延迟(也就是,取回保持在存储器113信息的时间)。
进一步,每个管线处理器110的管线寄存器112基于系统时钟在从上游侧到下游侧顺序地移动请求时保持该请求,以在从通过LCST产生逻辑电路114传输自身操作确定信息等给控制器120到GCST判断逻辑电路116从GCST产生逻辑电路123接受确定操作的时间期间与控制器120保持同步。
如上所述,在信息处理系统100中,在该请求被中途保持在每个管线处理器110的管线寄存器112阶段,有必要使LCST产生逻辑电路114(条件产生部分115)判断该请求是否记录(存储)到请求队列中。
换句话说,在该请求被中途保持在管线寄存器112阶段,有必要使每个管线处理器110判断这一请求是否是能够由自己处理的有效请求(也就是,该请求能否被其从属的操作部分A和B执行)。
此外,由于是否实际处理该请求的操作的最终确定是通过控制器120的GCST产生逻辑电路123来执行的并且当请求通过管线寄存器112的最后一级时在每一管线处理器中将被清除,当考虑插置于条件产生部分115与请求队列117之间的寄存器112a中保持的其他请求时,有必要使每个管线处理器110的LCST产生逻辑电路114判断请求队列117是否处于繁忙状态。
换句话说,当将请求实际存储到请求队列117时,有必要使LCST产生逻辑电路114事先判断请求队列117是否处于繁忙状态,以避免当请求实际存储到请求队列117时请求队列117正处于繁忙状态的情况。
这里,参考图10,对LCST产生逻辑电路114判断请求队列117繁忙状态的具体方法解释如下。
如图10所示,当请求队列有m级(m是不小于1的整数,也就是,m个请求可以放入目录项(entry))时,在条件产生部分115和请求队列117之间的管线寄存器112a中有n级(n是不小于1的整数),并且请求队列117的x级(x是整数;x<m)被有效请求(也就是,有x个有效目录项)占用,假设各级寄存器112a的所有n级都具有效请求,LCST产生逻辑电路114依据下面表达式(X)所示的条件对请求队列117的繁忙状态做出判断,
x+n=m...(X)
也就是说,如果x(即请求队列117中有效目录项数)与n(即条件产生部分115和请求队列117之间寄存器112a的级数)的和等于请求队列117中目录项的总数m,LCST产生逻辑电路114就判断请求队列117处于繁忙状态。
另外,传统上,对用于保持请求的队列(寄存器)中的有效目录项(在图10中是x级)进行计数的技术已经提出(例如,参考下面提到的专利文件1和2)。
然而,参考上面图10描述的LCST产生逻辑电路114的繁忙判断方法,即使当队列没处于繁忙状态,有时会判断该队列将处于繁忙状态,因为寄存器112a的n级中的无效记录被视为有效目录项处理了,从而不可能有效利用请求队列117中的目录项目数。
进一步,上面描述的繁忙判断方法不适用于这种情况,在该情况中在条件产生部分115和请求队列117之间寄存器112a的级数n,等于或大于请求队列117中目录项总数m,因为LCST产生逻辑电路114总会检测繁忙状态。
因此,可以想象到一种每当条件产生部分115确定操作时都判断寄存器112a的所有n级是否保持有效目录项的方法,但这种方法需要判断每个寄存器112a是否保持有效或无效请求的电路等,因此,需要增加硬件资源从而增加制造成本。
[专利文件1]
日本专利特许公开No.HEI 4-367031
[专利文件2]
日本专利特许公开No.SHOWA 64-10332
发明内容
本发明鉴于上述问题完成,其目标是在如上所述的信息系统的管线处理器中,既不误判也不增加硬件资源地进行寄存器繁忙状态判断,从而在请求被中途保持在管线寄存器阶段将该请求存储到设置在管线寄存器最后一级的寄存器中。
为达到上述目的,本发明的信息处理系统是这样的信息处理系统,包括:多个管线处理器,连接至执行请求的操作部分,用于彼此同步地执行管线处理;和控制器,用于将请求同时通知给多个管线处理器,并确定对请求的最终操作,其中:多个管线处理器的每一个管线处理器包括:管线寄存器,包含多个能够保持控制器所通知的请求的多级寄存器,用于在从上游侧向下游侧顺序移动请求时保持请求;请求队列,设置在管线寄存器的后续级,用于存储请求;判断部分,用于判断存储在请求队列中的请求是否是能够被请求队列保持的有效请求;第一计数器,用于对判断部分与请求队列之间的多个多级寄存器中的有效请求的数目进行计数;繁忙判断部分,用于基于第一计数器计数所得的有效请求的数目,判断请求队列是否处于繁忙状态;判断结果通知部分,用于将繁忙判断部分作出的繁忙状态判断结果通知给控制器;判断部分基于繁忙判断部分作出的繁忙状态判断结果做出判断;控制器包括:请求通知部分,用于将请求同时通知给多个管线处理器;确定部分,用于基于多个管线处理器的判断结果通知部分所通知的繁忙状态判断结果,确定对该请求的最终操作;和确定结果通知部分,用于将确定部分作出的判断结果同时通知给多个管线处理器。
此外,优选如果繁忙判断部分判断请求队列处在繁忙状态,判断部分判断请求不是有效请求。
优选每个管线处理器包含:第二计数器,用于对请求队列的有效目录项的数目进行计数;和计算部分,用于计算第一计数器计数所得的有效请求的数目与第二计数器计数的有效目录项的数目之和;繁忙判断部分将计算部分计算所得的和与请求队列的目录项的总数进行比较,并在和等于目录项的总数时,判断请求队列处于繁忙状态。
进一步,优选如果有效请求作为有效目录项新近放入请求队列,第二计数器将有效目录项的数目加一,并且另一方面,如果与保持在请求队列中的有效目录项相关的请求处理完成,第二计数器将有效目录项的数目减一。
此外,优选每个管线处理器包括决定部分,该决定部分用于在控制器的确定结果通知部分所通知的确定结果是该请求将由自己处理时,将该请求作为有效目录项放入请求队列,另一方面,用于在确定结果是该请求将不由自己完成时,使请求无效。
优选每个管线处理器包含:数据信息保持部分,用于保持关于这种数据的数据信息,这种数据保持在连接着的操作部分的存储部分中;保持判断部分,用于基于保持在数据信息保持部分中的数据信息,判断连接着的操作部分是否保持有控制器所通知的请求将要使用的数据;判断结果通知部分将保持判断部分作出的保持判断结果通知给控制器;和判断部分基于保持判断部分作出的保持判断结果做出判断。
此时,优选控制器的确定部分基于多个管线处理器的判断结果通知部分所通知的保持判断部分作出的保持判断结果,确定对请求的最终操作。
进一步,优选保持判断部分基于数据信息判断该请求所使用的数据是否是最新数据;和判断结果通知部分在保持判断部分判断得出该请求所使用的数据是最新数据时,将关于请求所使用的最新数据的保持的信息作为保持判断部分的保持判断结果通知给控制器。
此外,为了达到上述目的,本发明中的管线处理器是一种管线处理器,其连接至执行请求的操作部分和确定对请求的最终操作并通知该请求的控制器,用于和其他管线处理器同步地执行管线处理,管线处理器包括:管线寄存器,包含多个能够保持控制器所通知的请求的多级寄存器,用于在从上游侧到下游侧顺序移动请求时保持请求;请求队列,设置在管线寄存器的后续级,用于存储请求;判断部分,用于判断存储在请求队列中的请求是否是能够被请求队列保持的有效请求;第一计数器,用于对判断部分与请求队列之间的多个多级寄存器中的有效请求的数目进行计数;繁忙判断部分,用于基于第一计数器计数所得的有效请求的数目,判断请求队列是否处于繁忙状态;判断结果通知部分,用于将繁忙判断部分作出的繁忙状态判断结果通知给控制器;其中判断部分基于繁忙判断部分作出的繁忙状态判断结果做出判断。
此外,优选如果繁忙判断部分判断请求队列处在繁忙状态,判断部分判断请求不是有效请求。
优选包含:第二计数器,用于对请求队列的有效目录项的数目进行计数;和计算部分,用于计算第一计数器计数所得的有效请求的数目与第二计数器计数的有效目录项的数目之和;繁忙判断部分将计算部分计算所得的和与请求队列的目录项的总数进行比较,并在和等于目录项的总数时,判断请求队列处于繁忙状态。
还优选如果有效请求作为有效目录项新近放入请求队列,第二计数器将有效目录项的数目加一,并且另一方面,如果与保持在请求队列中的有效目录项相关的请求处理完成,第二计数器将有效目录项的数目减一。
此外,优选包含:确定部分,用于在控制器所通知的对该请求的最终确定结果是该请求将由自己处理时,将请求作为有效目录项放入请求队列,并且另一方面,在该请求将不由自己完成时,使请求无效。
进一步,优选包含:数据信息保持部分,用于保持关于这种数据的数据信息,这种数据保持在连接着的操作部分的存储部分中;保持判断部分,用于基于保持在数据信息保持部分中的数据信息,判断连接着的操作部分是否保持有控制器所通知的请求将要使用的数据;其中判断结果通知部分将保持判断部分作出的保持判断结果通知给控制器;和判断部分基于保持判断部分作出的保持判断结果做出判断。此时,保持判断部分基于数据信息判断该请求所使用的数据是否是最新数据;和判断结果通知部分在保持判断部分判断得出该请求所使用的数据是最新数据时,将关于请求所使用的最新数据的保持的信息作为保持判断部分的保持判断结果通知给控制器。
此外,为达到上述目的,本发明中的繁忙判断程序是用于使计算机完成在请求被中途保持在多个管线处理器每一个的管线寄存器阶段为该请求判断请求队列的繁忙状态的功能;该多个管线处理器连接至执行请求的操作部分和确定对请求的最终操作并通知该请求的控制器,用于彼此同步地执行管线处理,并分别包括:管线寄存器,包含多个能够保持控制器所通知的请求的多级寄存器,用于在从上游侧到下游侧顺序移动请求时保持请求;请求队列,设置在管线寄存器的后续级,程序指示计算机完成以下功能:判断部分,用于在请求被中途保持在管线寄存器阶段判断存储在请求队列中的请求是否是能够被请求队列保持的有效请求;第一计数器,用于对判断部分与请求队列之间的多个多级寄存器中的有效请求的数目进行计数;繁忙判断部分,用于基于第一计数器计数所得的有效请求的数目,判断请求队列是否处于繁忙状态;与此同时,繁忙判断程序使计算执行使判断部分基于繁忙判断部分作出的繁忙状态判断结果做出判断。
优选繁忙判断程序指示计算机实现以下功能:第二计数器,用于对请求队列的有效目录项的数目进行计数;及计算部分,用于计算第一计数器计数所得的有效请求的数目与第二计数器计数的有效目录项的数目之和,并且同时,使计算机实现功能,使繁忙判断部分将计算部分计算所得的和与请求队列的目录项的总数进行比较,并在和等于目录项的总数时,判断请求队列处于繁忙状态。
为了达到上述目的,本发明中的计算机可读记录介质是存储上面提到的繁忙判断程序的计算机可读记录介质。
根据本发明,由于每个管线处理器设置有对保持在判断部分和请求队列之间的有效请求数进行计数的第一计数器,可使繁忙判断部分没有错误地做出请求队列的繁忙判断,这又用于在请求被中途保持在管线寄存器阶段判断请求是否是有效请求。
进一步,由于第一计数器对保持在判断部分和请求队列间的多个寄存器的有效请求数进行计数,就不必为每个寄存器提供判断是否保持效请求或无效请求的电路等,从而不会增加硬件资源。
附图说明
图1示出根据本发明一个优选实施例的信息处理系统的结构框图;
图2示出用于说明在本实施例的信息处理系统中管线处理器的保持判断部分的判断结果的图表;
图3示出用于说明在本实施例的信息处理系统中管线处理器的繁忙判断部分的判断结果的图表;
图4示出用于说明在本实施例的信息处理系统中繁忙判断部分和管线繁忙计数器的示意图;
图5示出用于说明在本实施例的信息处理系统中由控制器的确定部分对请求作出的最终操作确定的示例的示意图;
图6示出用于说明在本实施例的信息处理系统中由控制器的确定部分对请求作出的最终操作确定的示例的示意图;
图7示出用于说明在本实施例的信息处理系统中由控制器的确定部分对请求作出的最终操作确定的示例的示意图;
图8示出用于说明在本实施例的信息处理系统中由控制器的确定部分对请求作出的最终操作确定的示例的示意图;
图9示出传统信息处理系统的结构框图;
图10示出用于说明由传统信息处理系统的管线处理器的LCST产生逻辑电路对请求队列的繁忙状态判断方法的示意图。
具体实施方式
本发明的实施例通过参照附图说明如下。
[1]关于本发明的实施例
首先,通过参照图1所示的框图,本发明实施例中的信息处理系统的结构说明如下。
如图1所示,信息处理系统1由多个(这里8个)管线处理器(在图中由SB(系统板)表示)10-0至10-7,数据总线(FSB:前端总线)11-0至11-7,操作部分(在图中由CPU(中央处理单元)表示)A-0至A-7和B-0至B-7和控制器(在图中由XB(横板)表示)30构成。
多个管线处理器10-0至10-7中的每一个(以下,当不需要将多个管线处理器10-0至10-7彼此区分时,简单地用符号“10”来表示)通过数据总线11-0至11-7(以下,当不需要将数据总线11-0至11-7彼此区分时,简单地用符号“11”表示)连接至两个操作部分A-0至A-7和B-0至B-7(以下,当不需要将操作部分A-0至A-7和B-0至B-7彼此区分时,简单地由符号“A”和“B”表示)。
注意多个管线处理器10-0至10-7中的每一个都与数据总线11-0至11-7彼此相互连接,并且多个管线处理器10-0至10-7中的每一个通过数据总线11连接到操作部分A-0至A-7和B-0至B-7的相应的两个上,该两个对应的操作部分与管线处理器10的符号的最后数字相同。
例如,管线处理器10-0通过数据总线11-0连接到操作部分A-0和B-0上,管线处理器10-1通过数据总线11-1连接到操作部分A-1和B-1上,以及管线处理器10-7通过数据总线11-7连接至操作部分A-7和B-7上。
而且,在图1中,为了简化,管线处理器10-2、10-3、10-4、10-5和10-6,总线11-2、11-3、11-4、11-5和11-6,操作部分A-2、B-2、A-3、B-3、A-4、B-4、A-5、B-5、A-6和B-6在图中没有示出。
多个管线处理器中的每一个配置为彼此同步地执行管线处理(该处理将在后面描述),控制器30将请求通知给多个管线处理器10并同时确定对请求的最终操作。
多个管线处理器10中的每一个包含管线寄存器12、请求队列13(在图中由SLVQ_FSB标识;从属请求队列),数据信息保持部分14(在图中由TAG标识)、LCST(本地缓存状态)产生逻辑电路20、管线繁忙计数器(第一计数器;在图中由PIPELINE BUSY CNTR标识出)25、有效目录项数计数逻辑电路(第二计数器)26、加法器(计算部分)27和GCST(全局缓存状态)判断逻辑电路(确定部分)28。
管线寄存器12保持控制器30所通知的请求并包括多个多级寄存器12a。
管线寄存器12基于在信息处理系统1中的系统时钟(同步信号1;脉冲信号),在将请求从多个多级寄存器12a上游侧移动到的下游侧时保持了该请求。换句话,管线寄存器12作为移位寄存器使用。
结果,多个管线处理器10的每一个基于系统时钟,彼此同步地将请求移动到管线寄存器12中下游侧的寄存器12a。
每个管线处理器10也被配置为基于系统时钟彼此同步地执行其它处理(将在后面描述的在LCST产生逻辑电路20中、管线繁忙计数器25、加法器27和GCST判断逻辑电路28中的处理)。
请求队列13是用先进先出(FIFO)方法保持请求的寄存器,设置在该管线寄存器的后续级。
此外,响应于来自与其相连的操作部分A和B的请求,作为有效记录项保持在请求队列13中的请求通过FSB11传递给操作部分A和B,并在操作部分A和B中被执行。
数据信息保持部分14保持了关于保持在与其相连的操作部分A和B的存储部分(例如,缓存存储器或DIMM;双列直插内存模块)中的数据的数据信息。注意由数据信息保持部分保持的数据信息是保持在操作部分A和B的存储部分中的TAG信息,但是在本发明中由数据信息保持部分14保持的数据信息不受限制,即,数据信息可以是能表示操作部分A和B的存储部分所保持的数据内容的任何信息,只要至少对保持判断部分21(将在后面描述)基于该数据信息能判断操作部分A和B是否保持有将由管线寄存器12中保持的请求使用的数据即可。
LCST产生逻辑电路20插置在寄存器12中间,判断对管线寄存器12所保持的请求的操作,与此同时通知控制器30判断结果,其由保持判断部分21、繁忙判断部分(繁忙判断电路)22、条件产生部分(确定部分;参照图中的“条件产生”)23和判断结果通知部分24组成。
基于数据信息保持部分14中保持的数据信息,保持判断部分21判断与其相连的操作部分A和B是否保持有将由控制器30所通知的请求(也就是,保持在管线寄存器12中的请求)使用的数据。
具体地,保持判断部分21判断图2所示的状态(1)到状态(6)。
(1)在与其相连的从属操作部分A和B的任何缓存(图中用“Cache”标识)以及在DIMM中均未保持有该请求将要使用的数据[没有命中]。
(2)在与其相连的从属操作部分A和B的DIMM中命中数据[DIMM命中]。
(3)在与其相连的从属操作部分A和B其中之一以共享类型命中数据[共享单个命中]。
(4)在与其相连的从属操作部分A和B二者中以共享类型命中数据[共享双命中]。
(5)在与其相连的从属操作部分A和B任意一个中以互斥的类型命中数据[互斥命中]。
(6)在与其相连的从属操作部分A和B任意一个中以修改类型命中数据[修改]。
如上所示,基于保持在数据信息保持部分14中的数据信息,保持判断部分21判断该请求所使用的数据的保持状态,且如上述(6)所描述,保持部分判断数据是否是最新的。换言之,保持判断部分21判断保持在与其相连的操作部分A和B的存储部分中的将由该请求使用的数据是否是最新的数据。
另外,管线处理器10包含用于保持请求的寄存器12a,以由保持判断部分21进行数据信息保持部分14的恢复。因此,当控制器30的请求通知部分31(将在后面描述)通知该请求时,管线处理器10将请求保持到管线寄存器12和寄存器12a中。
基于管线繁忙计数器25计数的在LCST产生逻辑电路20和请求队列13之间的寄存器的有效请求数,繁忙判断部分22判断请求队列13是否处于繁忙状态。
具体地,繁忙判断部分22判断图3所示的状态(a)至状态(c)。
(a)没有重试因子诸如地址匹配,且请求队列13不在繁忙状态中[没有异常结束]。
(b)检测到诸如地址匹配的重试因子[重试]。
(c)检测到请求队列13的繁忙状态[繁忙]。
此外,参照图4,由繁忙判断部分22进行的是否在繁忙状态的判断方法将在后面描述。
条件产生部分23插入在管线寄存器12中间(也就是,在多个寄存器12a之间插入),判断控制器30所通知的请求是否为能被保持在请求队列中的有效请求(队列获得确定请求)。
换言之,条件产生部分23在该请求被中途保持在管线寄存器12阶段,对该请求是否为能由自身来处理的有效请求(也就是,该请求是否能由自己的从属操作部分A和B执行)判断对该请求的操作,并且判断管线繁忙计数器25(将在后面描述)是否增加“1”。
这里,条件产生部分23配置为能够在由保持判断部分21作出的判断结果和由繁忙判断部分22作出的繁忙状态判断结果的基础上,作出上述判断。具体地,条件产生部分23在下面(x)至(z)的情况下判断该请求不是有效的请求(也就是,无效的请求),并且另一方面在不同于下面(x)至(z)的情况下判断该请求是有效请求,从而增加管线繁忙计数器25的计数值。
(x)当保持判断部分21作出的判断是与其相连的操作部分A和B没有保持将要由该请求使用的数据时[当所述(1)是判断结果时]。
(y)当繁忙判断部分22作出的判断是请求队列13处于繁忙状态时[当所述(c)是判断结果时]。
(z)当检测到诸如地址匹配的重试因子时[当上面描述的(b)是判断结果时]。
判断结果通知部分24使用LCST(本地缓存状态;在图中由LCST-SB0至LCST-SB7标识),将保持判断部分21和繁忙判断部分22作出的判断结果通知给控制器30的LCST总结逻辑电路33(将在后面描述)。
具体地,判断结果通知部分24将图2所示的保持判断部分21作出的判断结果和图3所示的繁忙判断部分22作出的判断结果通知给控制器30。
换言之,如图2所示,判断结果通知部分24采用4比特缓存状态(在图2中缩写为CST),将保持判断部分21作出的判断结果通知给LCST总结逻辑电路33。也就是,在(1)“没有命中”情况下的“0000”,在(2)“DIMM命中”情况下的“0001”,在(3)“共享单个命中”情况下的“0010”,在(4)“共享双命中”情况下的“0011”,在(5)“互斥命中”情况下的“0100”,以及在(6)“修改命中”情况下的“0101”。
如上所述,判断结果通知部分24配置为根据内容的区别将保持判断部分21作出的判断结果通知给控制器30由,并在保持判断部分21判断得出该请求将要使用的最新数据已保持时,将表示该请求将要使用的最新数据已保持的信息(这里,CST“0101”)作为保持判断部分21作出的判断结果通知给控制器30。
如图2所示,由保持判断部分21作出的判断结果的优先级从判断结果(1)到判断结果(6)变得越来越高(也就是,状态值越大,优先级越高)。因此,当保持判断部分21获得上述多个判断结果时,判断结果通知部分24基于优先级顺序仅将具有最高优先级的判断结果通知给LCST总结逻辑电路33。
判断结果通知部分24采用2比特异常中断状态(在图3中缩写为ABTST),将繁忙判断部分23作出的判断结果通知给LCST总结逻辑电路33。也就是,在(a)“没有异常中断”情况下的“00”,在(b)“重试”情况下的01”,在(c)“繁忙”情况下的“10”。
如上所述,管线繁忙计数器25对LCST逻辑电路20与请求队列13之间的寄存器12a中的有效请求数进行计数。
换言之,如图4所示,当条件产生部分23判断该请求为有效请求并且该请求已从条件产生部分23移动到条件产生部分23的后续级寄存器12a中时,管线繁忙计数器25将有效请求数(计数所得的数目)加一。
另一方面,当有效请求通过管线寄存器12的末级寄存器12a时,管线繁忙计数器25将有效请求数(计数所得的数目)减一。
注意,在图4中,由斜线表示的寄存器12a保持有效请求。
有效目录项数计数逻辑电路26在存在有效请求时,对目录项数(有效目录项)进行计数,并在有效请求被设置在请求队列13中时也就是,当有效请求被作为有效目录项新近放到请求队列13中时,将有效目录项数(计数所得的数目)加一。
另一方面,当与保持在请求队列13中的有效目录项相关的请求处理完成并且该有效目录项变为空时,有效目录项数计数逻辑电路26将有效目录项数减一。
加法器27通过将管线繁忙计数器25计数所得的有效请求数与有效目录项数计数逻辑电路26计数所得的有效目录项数目相加,计算出有效请求数与有效目录项数之和。
这里,繁忙判断部分22对请求队列13的繁忙判断方法描述如下。繁忙判断部分22将加法器27计算所得的有效请求数与有效目录项数之和与请求队列13的目录项总数相比较,并且在该和与请求队列13目录项总数相等时,判断请求队列13处于繁忙状态。
换言之,如图4所示,如果请求队列13的目录项总数是m(m是不小于1的整数),请求队列13的有效目录项数(也就是,由有效目录项数计数逻辑电路26计数所得的有效目录项数)是x(x是一个整数;x<m),并且保持在n-级寄存器(n是不小于1的整数)12a中的有效请求数(也就是,由管线繁忙计数器25计数所得的有效请求数)是y(y是整数)时,其中,n-级寄存器12a插入到条件产生部分23(LCST产生逻辑电路)和请求队列13之间。基于下面的表达式(1),繁忙判断部分22做出关于请求队列13的繁忙判断。
                x+y=m...(1)
当有效请求(y)数与有效目录项数(x)之和小于请求对列13(m)的目录项总数,繁忙部分22判断该请求13不处于繁忙状态。
如图1所示,GCST判断逻辑电路28在控制器(具体地,GCST产生逻辑电路33,将在后面描述)通知的确定结果是请求由自己处理时,把请求作为有效目录项放入请求队列13,并且另一方面,在控制器30通知的确定结果是请求将不能由自己处理或需重新进入(重试)时,使请求无效,而不是把请求作为有效目录项放入请求队列13。
这里,每个管线处理器10的管线寄存器12的功能参照图1说明。如上所述,每个管线处理器10的管线寄存器12彼此同步地且使用基于信息处理系统1的系统时钟的相同的定时,在将请求移动到下游侧的寄存器12a时保持该请求。
然后,在每个管线处理器10的最上游侧与LCST产生逻辑电路20之间的寄存器12a,吸收每个管线处理器10的保持判断部分21和繁忙判断部分22的处理(判断)时间,以便使由条件产生部分23和判断结果通知部分24的处理与其他管线处理器10同步。
换言之,寄存器12a设置在管线寄存器12的最上游侧与LCST逻辑电路20之间,其个数设置为使得在每个管线处理器10中,在与保持判断部分21和繁忙判断部分22的处理时间相同的时间期间,该请求通过这些寄存器12a移动。
设置在LCST产生逻辑电路20和请求队列13之间的寄存器12a的目的是吸收判断结果通知部分24作出的判断结果通知之后,控制器30(LCST总结逻辑电路33和GCST产生逻辑电路34的处理时间,将在后面描述)执行的处理时间和GCST判断逻辑电路28的处理时间。
换言之,寄存器12a设置在LCST产生逻辑电路20和请求队列13之间,其个数设置为使得在与控制器30和GCST判断逻辑电路28的总处理时间相同的时间期间,该请求通过这些寄存器移动。
下一步,参照图1,说明信息处理系统1的控制器30。控制器30由请求通知部分、管线寄存器32、LCST总结逻辑电路33和GCST产生逻辑电路34组成。
请求通知部分31通过判断请求REQ0至REQn的每一个的优先级,从外部或者连接到每个管线处理器10的操作部分A和操作部分B发出的请求REQ0到REQn中选择一个请求,同时使用GSA(全局系统地址;由GSA-SB0到GSA-SB7表示)通知每个管线处理器所选择的请求。
管线寄存器32通过请求通知部分31来保持通知给每个管线处理器10的请求,并与管线处理器10的管线寄存器12相似包含多个多级寄存器32a,且基于信息处理系统1的系统时钟,在将请求从上游侧顺序移动到下游侧时保持该请求。
管线寄存器32的在请求通知部分31和LCST总结逻辑电路33之间的寄存器32a用来吸收每个管线处理器10中从接收请求到判断结果通知部分24通知所作出的判断结果的时间,以和每个管线处理器10同步。
换言之,寄存器32a设置在请求通知部分31与LCST总结逻辑电路电路33之间,其个数设置为使得在每个管线处理器10中,在与从接收请求到判断结果通知部分24通知所作出的判断结果的处理时间相同的时间期间,该请求通过这些寄存器移动。
LCST总结逻辑电路插入到管线寄存器32中间,利用LCST-SB0至LCST-SB7总结每个管线处理器10中由判断结果通知部分24通知的保持判断部分21作出的判断结果(图2所示的“CST”)和繁忙判断部分22作出的判断结果(图3所示的“ABTST”)。
GCST产生逻辑电路34设置在管线寄存器32的后续级,基于LCST总结逻辑电路33总结的每个管线处理器10中的保持判断部分21和繁忙判断部分22作出判断结果,向多个管线处理器10中的一个分配请求,GCST产生逻辑电路由确定部分35和确定结果通知部分36构成。
确定部分35确定信息处理系统1对请求的最终操作,并基于由LCST总结逻辑电路33总结的判断结果确定请求是否被执行,并且当执行请该求时,确定多个管线处理器中的一个处理该请求。
确定结果通知部分36使用GCST(全局缓存状态;由图中的GCST-SB0至GCST-SB7标识),将确定部分35作出的对该请求的最终操作(判断结果)同时通知给每个管线处理器10的GCST判断逻辑电路28。
这里,参照图5至图8所示的示例,说明通过确定部分35确定对请求的最终操作的方法。在图5至图8中,为了说明和制图的简化,未示出管线处理器10-3至10-7,并且进一步,在控制器30中只示出LCST总结逻辑电路33,并且在管线处理器10-0至10-2中只示出数据信息保持部分14和LCST产生逻辑电路20。图5至图8所示的示例表示从控制器30向每个管线处理器10发出(通知)读内存的请求(以下称为读请求)的情况。
图5所示的示例是这样一种情况,在该情况中,每个管线处理器10-0至10-2中的LCST产生逻辑电路20的繁忙判断部分22没有检测到请求队列13的繁忙状态(ABTST;“00”),管线处理器10-0的保持判断部分21检测到对读请求(CST;“0001”)的数据的DIMM命中,并且管线处理器10-0至10-2中的保持判断部分21没有检测到该读请求的数据(CST;“0000”)。
这时,如图5所示,LCST总结逻辑电路33总结每个管线处理器10-0至10-2所通知的判断结果。
然后,基于LCST总结逻辑电路33总结的判断结果,GCST产生逻辑电路34确定对读请求的最终操作。
这里,从10-0至10-2中任何一个管线处理器均没有检测到请求队列13的繁忙状态,并且只有管线处理器10-0检测到DIMM命中,因此,确定部分35确定向管线处理器10-0分配读请求。换言之,确定结果通知部分36发出使所连接的操作部分A或B的DIMM去执行对管线处理器10-1的请求队列13的读访问的SLAVE_REQ(请求)。
当确定部分35所作出的确定结果通过确定结果通知部分36通知给管线处理器10-0至10-2中的每一个时,在管线处理器10-0中,GCST判断逻辑电路28把管线寄存器12中保持的读请求作为有效目录项注册到请求队列13中,并且另一方面,在管线处理器10-1和10-2中,GCST判断逻辑电路28使管线寄存器12保持的读请求无效。
下一步,说明图6所示的示例。图6所示的示例是这样一种情况,在该情况中每个管线处理器10-0至10-2中的LCST产生逻辑电路20的繁忙判断部分22没有检测到请求对列13的繁忙状态(ABTST;“00”),管线处理器10-0的保持判断部分对读请求的数据检测到DIMM命中(CST,“0001”),管线处理器10-1的保持判断部分21检测到对读请求的数据的修改命中(CST;“0101”),并且管线处理器10-2的保持判断部分21没有检测到该读请求的数据(CST;“0000”)。
这时,如图6所示,LCST总结逻辑电路33总结出判断结果,任何一个管线处理器10-0至10-2均未检测到请求队列13的繁忙状态,因此,确定部分35确定向已经检测到优先级高于DIMM命中(CST;“0001”)的修改命中(CST;“0101”)的管线处理器10-1分配读请求。
换言之,确定部分35没有使管线处理器10-0执行对所连接的操作部分A或B的DIMM的读访问而是使管线处理器10-1执行对所连接的操作部分A或B的读访问。
当接收到确定部分的判断结果,在管线处理器10-0和10-2中使保持在管线寄存器12中的读请求无效,并且在管线处理器10-1中将读请求作为有效请求被注册到请求队列13中。
下一步,说明图7所示的示例如下。图7所示的示例是这样一种情况,在该情况中,每个管线处理器10-0至10-2中的LCST产生逻辑电路20的繁忙判断部分22没有检测到请求队列13的繁忙状态(ABTST;“00”),管线处理器10-0的保持判断部分21对检测到读请求的数据的DIMM命中(CST;“0001”),管线处理器10-1的保持判断部分21检测到对该读请求的数据的共享双命中(CST;“0011”),管线处理器10-2的保持判断部分21检测到对该读请求的数据的共享单命中(CST;“0010”)。
这时,如图7所示,LCST总结逻辑电路33总结出判断结果,由于任意一个管线处理器10-0至10-2均未检测到请求队列13的繁忙状态,确定部分35确定向已经检测到具有最高优先级的共享双命中(CST;“0011”)的管线处理器10-1分配读请求。
同样这种情况,在管线处理器10-0和10-2中使读请求无效,并且在管线处理器10-1中将读请求作为有效目录项注册到请求队列13中。
下一步,说明图8所示的示例如下。图8所示的示例是这样一种情况,在该情况中,管线处理器10-0和10-2中的LCST产生逻辑电路20的繁忙判断部分22没有检测到请求队列13的繁忙状态(ABTST;“00”),管线处理器10-1的繁忙判断部分22检测到请求队列13的繁忙状态(ABTST;“10”),管线处理器10-0的保持判断部分21检测到对读请求的数据的DIMM命中(CST;“0001”),管线处理器10-1的保持判断部分21检测到对该读请求的数据的修改命中(CST;“0101”),管线处理器10-2的保持判断部分21没有检测到该读请求的数据(CST;“0000”)。
这时,如图8所示,LCST总结逻辑电路33总结出判断结果,由于在管线处理器10-1检测到请求队列13繁忙(ABTST;“10”),确定部分35不再将该读请求分配给10-0到10-2管线处理器的任何一个,而是将请求重新放入请求通知部分31以再次执行该读请求。
在此情况下,因此,发出该读请求的无效给每个管线处理器10-0到10-2,从而使每个管线处理器10-0到10-2中的该读请求无效。
这样,确定部分35基于LCST总结逻辑电路33总结的判断结果(参考图2和图3)的优先级确定对该请求的最终操作。这时,如果至少一个管线处理器10的繁忙判断部分22的判断结果是“重试”或“繁忙”,无论其他管线处理器10的保持判断部分21的判断结果是什么,确定部分35都不分配请求给任何管线处理器10,而是重新将请求加入到请求通知部分31以重试该请求。
如上所述,根据本发明实施例的信息处理系统1,由于每个管线处理器10设置有用于对保持在LCST产生逻辑电路20和请求队列13之间的寄存器12a的有效请求数进行计数的管线繁忙计数器25,繁忙判断部分22可以无误地做出请求队列13的繁忙判断,从而使条件产生部分23可以在请求被中途保持在管线寄存器12阶段判断请求是否是有效请求,。
此外,由于管线繁忙计数器25在请求通过最后续级寄存器12a时减少计数值而在条件产生部分23判断请求是有效请求时增加计数值,这样就不必设置用于判断有效请求或无效请求是否保持在LCST产生逻辑电路20与请求队列13间的每个寄存器12a的电路等,因此,可以利用更少的资源通过对有效请求数进行计数来做出请求队列13的繁忙判断。
此外,无论在LCST产生逻辑电路20和请求队列13间寄存器12a个数有多少,甚至那里的寄存器12a的数量非常巨大,都可以利用管线繁忙计数器25对保持在寄存器12a的有效请求数精确地计数,因此可以无误地执行请求队列13的繁忙管理。
此外,由于在结构中设置有有效目录项数计数逻辑电路26和加法器27,繁忙判断部分22可以只需通过判断加法器27计算的管线繁忙计数器25的有效请求数与有效目录项数计数逻辑电路26的有效目录项数之和是否等于请求队列13的目录项总数,来做出请求队列13的繁忙判断,因此可以简化繁忙判断部分22的结构。
[2]其他
本发明不局限于上面描述的实施例,也是进行不脱离本发明的概念和范围的各种修改。
例如,在如上所述的实施例中每个管线处理器10连接到控制器30,但本发明不限于此,另外的结构也可以,如IOU(输入/输出单元)连接到控制器30并被通知IOU请求以使IOU执行该请求,在GCST产生逻辑电路中总结来自IOU的判断结果(LCST)以确定对请求的最终操作,包括在GCST产生逻辑电路内的IOU和每个管线处理器,并通知IOU和每个管线处理器10。在此情况下,如上述图1所示,优选寄存器32a将来自每个管线处理器10的判断结果的总结与来自IOU判断结果的总结彼此同步。
此外,保持判断部分21、繁忙判断部分22、条件产生部分23、判断结果通知部分24、管线繁忙计数器25、有效目录项数计数逻辑电路26、加法器27、每个管线处理器的GCST判断逻辑电路28、请求通知部分31,LCST总结逻辑电路33、确定部分35、控制器30的确定结果通知部分36的功能可以由计算机(包括CPU、信息处理器以及各种终端)执行预定应用程序来实现。
该程序以记录在计算机可读记录介质的形式提供,计算机可读记录介质比如软盘、CD(CD-ROM、CD-R、CD-RW等),和DVD(DVD-ROM、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)。在此情况下,计算机从这样的记录介质上读取例如繁忙判断程序,然后传输、存储以及在内部存储装置或外部存储设备上使用它。也可以将程序存储在存储设备(记录介质)比如磁盘、光盘、磁光盘上,然后经由通信线将程序提供给计算机。
这里,计算机是一个概念,包括硬件和OS(操作系统),指硬件在OS的控制下运行。在OS是不必要的且应用程序单独操作硬件的情况下,硬件自身相当于一个计算机。硬件至少包含微处理器,比如CPU,和读取存储在记录介质上的计算机程序的装置。
应用程序如上所述的繁忙判断程序包含一段程序代码,以实现例如上述计算机中的保持判断部分21、繁忙判断部分22、条件产生部分23、判断结果通知部分24、管线繁忙计数器25、有效目录项数计算逻辑电路26、加法器27、GCST判断逻辑电路28、请求通知部分31、LCST总结逻辑电路33、确定部分35以及确定结果通知部分36实现的功能,更多功能可以借助OS实现而不是在应用程序中实现。
此外,作为本实施例中的记录介质,除了上述软盘、CD、DVD,磁盘、光盘以及磁光盘,各种计算机可读介质比如IC卡、ROM壳(ROMcartridge)、磁带、打孔卡、计算机内部存储设备(存储器比如RAM和ROM)、外部存储设备,以及包含打印码比如条码等的打印设备都可以使用。

Claims (20)

1、一种信息处理系统,包括:
多个管线处理器,连接至执行请求的操作部分,用于彼此同步地执行管线处理;和
控制器,用于将请求同时通知给所述多个管线处理器,并确定对请求的最终操作,其中:
所述多个管线处理器的每一个管线处理器包括:
管线寄存器,包含多个能够保持所述控制器所通知的请求的多级寄存器,用于在从上游侧向下游侧顺序移动请求时保持请求;
请求队列,设置在所述管线寄存器的后续级,用于存储请求;
判断部分,用于判断存储在所述请求队列中的请求是否是能够被所述请求队列保持的有效请求;
第一计数器,用于对所述判断部分与所述请求队列之间的所述多个多级寄存器中的所述有效请求的数目进行计数;
繁忙判断部分,用于基于所述第一计数器计数所得的所述有效请求的数目,判断所述请求队列是否处于繁忙状态;
判断结果通知部分,用于将所述繁忙判断部分作出的繁忙状态判断结果通知给所述控制器;
所述判断部分基于所述繁忙判断部分作出的所述繁忙状态判断结果做出所述判断;
所述控制器包括:
请求通知部分,用于将请求同时通知给所述多个管线处理器;
确定部分,用于基于所述多个管线处理器的所述判断结果通知部分所通知的所述繁忙状态判断结果,确定对该请求的最终操作;和
确定结果通知部分,用于将所述确定部分作出的判断结果同时通知给所述多个管线处理器。
2、如权利要求1所述的信息处理系统,其中,如果所述繁忙判断部分判断所述请求队列处于繁忙状态,所述判断部分判断得出请求不是所述有效请求。
3、如权利要求1所述的信息处理系统,其中,
所述多个管线处理器的每一个管线处理器包括:
第二计数器,用于对所述请求队列的有效目录项的数目进行计数;和
计算部分,用于计算所述第一计数器计数所得的所述有效请求的数目与所述第二计数器计数的所述有效目录项的数目之和;
所述繁忙判断部分将所述计算部分计算所得的所述和与所述请求队列的目录项的总数进行比较,并在所述和等于所述目录项的总数时,判断所述请求队列处于繁忙状态。
4、如权利要求3所述的信息处理系统,其中如果所述有效请求作为所述有效目录项新近放入所述请求队列,所述第二计数器将所述有效目录项的数目加一,并且另一方面,如果与保持在所述请求队列中的所述有效目录项相关的请求处理完成,所述第二计数器将所述有效目录项的数目减一。
5、如权利要求1所述的信息处理系统,其中如果所述判断部分判断请求是所述有效请求,所述第一计数器将所述有效请求的数目加一,并且另一方面,如果所述有效请求经过了所述管线寄存器的最后一级寄存器,所述第一计数器将所述有效请求的数目减一。
6、如权利要求1所述的信息处理系统,其中所述多个管线处理器的每一个管线处理器包括决定部分,该决定部分用于在所述控制器的所述确定结果通知部分所通知的所述确定结果是该请求将由自己处理时,将该请求作为所述有效目录项放入所述请求队列,另一方面,用于在所述确定结果是该请求将不由自己完成时,使所述请求无效。
7、如权利要求1所述的信息处理系统,其中:
所述多个管线处理器的每一个管线处理器包括:
数据信息保持部分,用于保持关于这种数据的数据信息,这种数据保持在连接着的所述操作部分的存储部分中;
保持判断部分,用于基于保持在所述数据信息保持部分中的所述数据信息,判断连接着的所述操作部分是否保持有所述控制器所通知的请求将要使用的数据;
所述判断结果通知部分将所述保持判断部分作出的保持判断结果通知给所述控制器;和
所述判断部分基于所述保持判断部分作出的保持判断结果做出所述判断。
8、如权利要求7所述的信息处理系统,其中所述控制器的所述确定部分基于所述多个管线处理器的所述判断结果通知部分所通知的所述保持判断部分作出的保持判断结果,确定对请求的最终操作。
9、如权利要求7所述的信息处理系统,其中:
所述保持判断部分基于所述数据信息判断该请求所使用的数据是否是最新数据;和
所述判断结果通知部分在所述保持判断部分判断得出该请求所使用的数据是最新数据时,将关于所述请求所使用的最新数据的保持的信息作为所述保持判断部分的保持判断结果通知给所述控制器。
10、如权利要求8所述的信息处理系统,其中:
所述保持判断部分基于所述数据信息判断该请求所使用的数据是否是最新数据;和
所述判断结果通知部分在所述保持判断部分判断得出该请求所使用的数据是最新数据时,将关于所述请求所使用的最新数据的保持的信息作为所述保持判断部分的保持判断结果通知所述控制器。
11、一种管线处理器,连接至执行请求的操作部分和确定对请求的最终操作并通知该请求的控制器,用于和其他管线处理器同步地执行管线处理,所述管线处理器包括:
管线寄存器,包含多个能够保持所述控制器所通知的请求的多级寄存器,用于在从上游侧到下游侧顺序移动请求时保持请求;
请求队列,设置在所述管线寄存器的后续级,用于存储请求;
判断部分,用于判断存储在所述请求队列中的请求是否是能够被所述请求队列保持的有效请求;
第一计数器,用于对所述判断部分与所述请求队列之间的多个多级寄存器中的所述有效请求的数目进行计数;
繁忙判断部分,用于基于所述第一计数器计数所得的所述有效请求的数目,判断所述请求队列是否处于繁忙状态;
判断结果通知部分,用于将所述繁忙判断部分作出的繁忙状态判断结果通知给所述控制器;其中
所述判断部分基于所述繁忙判断部分作出的所述繁忙状态判断结果做出所述判断。
12、如权利要求11所述的管线处理器,其中,如果所述繁忙判断部分判断所述请求队列将处于繁忙状态,所述判断部分判断得出该请求不是所述有效请求。
13、如权利要求11所述的管线处理器,还包括:
第二计数器,用于对所述请求队列的有效目录项的数目进行计数;
计算部分,用于计算所述第一计数器计数所得的所述有效请求的数目与所述第二计数器计数的所述有效目录项的数目之和;
所述繁忙判断部分将所述计算部分计算所得的所述和与所述请求队列的目录项的总数进行比较,如果所述和等于所述目录项的总数则判断所述请求队列处于繁忙状态。
14、如权利要求13所述的管线处理器,其中如果所述有效请求作为所述有效目录项新近放入所述请求队列,所述第二计数器将所述有效目录项的数目加一,并且另一方面,如果与保持在所述请求队列中的所述有效目录项相关的请求处理完成,所述第二计数器将所述有效目录项的数目减一。
15、如权利要求11所述的管线处理器,其中如果所述判断部分判断请求是所述有效请求,所述第一计数器将所述有效请求的数目加一,并且另一方面,如果所述有效请求经过了所述管线寄存器的最后一级寄存器,所述第一计数器将所述有效请求的数目减一。
16、如权利要求11所述的管线处理器,还包括决定部分,该决定部分用于在所述控制器所通知的对该请求的最终确定结果是该请求将由自已处理时,将所述请求作为所述有效目录项放入所述请求队列,并且另一方面,在该请求将不由自己完成时,使所述请求无效。
17、如权利要求11所述的管线处理器,还包括:
数据信息保持部分,用于保持关于这种数据的数据信息,这种数据保持在连接着的所述操作部分的存储部分中;
保持判断部分,用于基于保持在所述数据信息保持部分中的所述数据信息,判断连接着的所述操作部分是否保持有所述控制器所通知的请求将要使用的数据;其中
所述判断结果通知部分将所述保持判断部分作出的保持判断结果通知给所述控制器;和
所述判断部分基于所述保持判断部分作出的保持判断结果做出所述判断。
18、如权利要求17所述的管线处理器,其中:
所述保持判断部分基于所述数据信息判断该请求所使用的数据是否是最新数据;和
所述判断结果通知部分在所述保持判断部分判断得出该请求所使用的数据是最新数据时,将关于所述请求所使用的最新数据的保持的信息作为所述保持判断部分的保持判断结果通知给所述控制器。
19、一种计算机可读记录介质,其中记录有繁忙判断程序,该繁忙判断程序用于使计算机完成在请求被中途保持在多个管线处理器每一个的管线寄存器阶段为该请求判断请求队列的繁忙状态的功能;该多个管线处理器连接至执行请求的操作部分和确定对请求的最终操作并通知该请求的控制器,用于彼此同步地执行管线处理,并分别包括:管线寄存器,包含多个能够保持所述控制器所通知的请求的多级寄存器,用于在从上游侧到下游侧顺序移动请求时保持请求;请求队列,设置在所述管线寄存器的后续级,所述程序指示计算机完成以下功能:
判断部分,用于在所述请求被中途保持在所述管线寄存器阶段判断存储在所述请求队列中的请求是否是能够被所述请求队列保持的有效请求;
第一计数器,用于对所述判断部分与所述请求队列之间的所述多个多级寄存器中的所述有效请求的数目进行计数;
繁忙判断部分,用于基于所述第一计数器计数所得的所述有效请求的数目,判断所述请求队列是否处于繁忙状态;
与此同时,所述繁忙判断程序使所述计算执行使所述判断部分基于所述繁忙判断部分作出的繁忙状态判断结果做出所述判断。
20、如权利要求19所述的计算机可读记录介质,所述繁忙判断程序指示计算机完成以下功能:
第二计数器,用于对所述请求队列的有效目录项的数目进行计数;以及计算部分,用于计算所述第一计数器计数所得的所述有效请求的数目与所述第二计数器计数的所述有效目录项的数目之和;
所述繁忙判断程序指示计算机使所述繁忙判断部分将所述计算部分计算所得的所述和与所述请求队列的目录项的总数进行比较,并在所述和等于所述目录项的总数时,判断所述请求队列处于繁忙状态。
CNB2005100870354A 2005-03-16 2005-07-25 信息处理系统、管线处理器 Expired - Fee Related CN100414495C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005075091A JP4368320B2 (ja) 2005-03-16 2005-03-16 情報処理システム,パイプライン処理装置,ビジー判定プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体
JP2005075091 2005-03-16

Publications (2)

Publication Number Publication Date
CN1834900A true CN1834900A (zh) 2006-09-20
CN100414495C CN100414495C (zh) 2008-08-27

Family

ID=36577486

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100870354A Expired - Fee Related CN100414495C (zh) 2005-03-16 2005-07-25 信息处理系统、管线处理器

Country Status (5)

Country Link
US (1) US7490219B2 (zh)
EP (1) EP1703376A3 (zh)
JP (1) JP4368320B2 (zh)
KR (1) KR100660458B1 (zh)
CN (1) CN100414495C (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104239130A (zh) * 2014-08-15 2014-12-24 北京配天技术有限公司 人机交互界面对操作指令响应的控制方法及终端
CN110875068A (zh) * 2018-08-31 2020-03-10 美光科技公司 存储器装置的命令在管线中计数器
CN111104166A (zh) * 2019-12-13 2020-05-05 北京新忆科技有限公司 寄存器的写入方法和写入装置
CN111241622A (zh) * 2020-01-19 2020-06-05 杭州群核信息技术有限公司 一种自适应水暖电管线调整系统及方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217305B (zh) * 2008-01-02 2011-05-04 华为技术有限公司 专用物理数据信道数据的处理方法和装置
US8843651B2 (en) * 2009-06-30 2014-09-23 Oracle America, Inc. Software aware throttle based flow control
US20160006526A1 (en) * 2014-07-03 2016-01-07 Qualcomm Incorporated Systems and methods of network clock comparison
JP6996099B2 (ja) * 2017-03-24 2022-01-17 日本電気株式会社 データ処理システム及びデータ処理方法
CN107770090B (zh) * 2017-10-20 2020-05-01 深圳市楠菲微电子有限公司 用于控制流水线中寄存器的方法和装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4847755A (en) * 1985-10-31 1989-07-11 Mcc Development, Ltd. Parallel processing method and apparatus for increasing processing throughout by parallel processing low level instructions having natural concurrencies
JPH0527224Y2 (zh) 1987-07-03 1993-07-12
JPS6410332A (en) 1987-07-03 1989-01-13 Hitachi Ltd Pipeline control system
JPH04367031A (ja) 1991-06-14 1992-12-18 Nec Eng Ltd バッファ制御方式
US6006318A (en) * 1995-08-16 1999-12-21 Microunity Systems Engineering, Inc. General purpose, dynamic partitioning, programmable media processor
US5860018A (en) * 1997-06-25 1999-01-12 Sun Microsystems, Inc. Method for tracking pipeline resources in a superscalar processor
US6633916B2 (en) * 1998-06-10 2003-10-14 Hewlett-Packard Development Company, L.P. Method and apparatus for virtual resource handling in a multi-processor computer system
JPH11306020A (ja) 1998-04-20 1999-11-05 Fujitsu Ltd 情報処理装置におけるブロックストア命令の実行制御方式
US6249855B1 (en) * 1998-06-02 2001-06-19 Compaq Computer Corporation Arbiter system for central processing unit having dual dominoed encoders for four instruction issue per machine cycle
US6938147B1 (en) * 1999-05-11 2005-08-30 Sun Microsystems, Inc. Processor with multiple-thread, vertically-threaded pipeline
US6505293B1 (en) * 1999-07-07 2003-01-07 Intel Corporation Register renaming to optimize identical register values
US6711670B1 (en) 1999-10-14 2004-03-23 Hewlett-Packard Development Company, L.P. System and method for detecting data hazards within an instruction group of a compiled computer program
US6490674B1 (en) 2000-01-28 2002-12-03 Hewlett-Packard Company System and method for coalescing data utilized to detect data hazards
WO2001063434A1 (en) * 2000-02-24 2001-08-30 Bops, Incorporated Methods and apparatus for dual-use coprocessing/debug interface
KR100783687B1 (ko) * 2000-10-23 2007-12-07 더 트러스티스 오브 콜롬비아 유니버시티 인 더 시티 오브 뉴욕 래치 제어기를 갖는 비동기 파이프라인
US7337306B2 (en) * 2000-12-29 2008-02-26 Stmicroelectronics, Inc. Executing conditional branch instructions in a data processor having a clustered architecture
US6961821B2 (en) * 2002-10-16 2005-11-01 International Business Machines Corporation Reconfigurable cache controller for nonuniform memory access computer systems
US7272664B2 (en) * 2002-12-05 2007-09-18 International Business Machines Corporation Cross partition sharing of state information

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104239130A (zh) * 2014-08-15 2014-12-24 北京配天技术有限公司 人机交互界面对操作指令响应的控制方法及终端
CN104239130B (zh) * 2014-08-15 2020-09-11 北京配天技术有限公司 人机交互界面对操作指令响应的控制方法及终端
CN110875068A (zh) * 2018-08-31 2020-03-10 美光科技公司 存储器装置的命令在管线中计数器
CN110875068B (zh) * 2018-08-31 2022-07-29 美光科技公司 存储器装置的命令在管线中计数器
CN111104166A (zh) * 2019-12-13 2020-05-05 北京新忆科技有限公司 寄存器的写入方法和写入装置
CN111104166B (zh) * 2019-12-13 2022-09-06 北京新忆科技有限公司 寄存器的写入方法和写入装置
CN111241622A (zh) * 2020-01-19 2020-06-05 杭州群核信息技术有限公司 一种自适应水暖电管线调整系统及方法

Also Published As

Publication number Publication date
CN100414495C (zh) 2008-08-27
EP1703376A2 (en) 2006-09-20
KR100660458B1 (ko) 2006-12-22
EP1703376A3 (en) 2008-01-23
US7490219B2 (en) 2009-02-10
JP4368320B2 (ja) 2009-11-18
US20060212683A1 (en) 2006-09-21
JP2006260013A (ja) 2006-09-28
KR20060101157A (ko) 2006-09-22

Similar Documents

Publication Publication Date Title
CN1834900A (zh) 信息处理系统、管线处理器以及计算机可读记录介质
Gil et al. Analysis of cell‐free DNA in maternal blood in screening for fetal aneuploidies: updated meta‐analysis
Michel et al. Unifying candidate gene and GWAS Approaches in Asthma
CN1184562C (zh) 处理器的转移指令
US11151067B2 (en) Multi-controller multi-memory device for parallel data reading and writing
CN1348564A (zh) 分优先级访问外部装置的方法和设备
CN1955940A (zh) Raid系统、raid控制器及其重建/拷回处理方法
EP1770514A3 (en) Operation Management and virus detection system for a diskless computer
CN1357121A (zh) 对不同时间执行的存储器访问,检测在数据总线上的数据冲突的装置和方法
CN1906586A (zh) 用于在多处理器系统中处置处理错误的方法和设备
CN1313938C (zh) 存储系统、计算机系统、存储区域的属性设置方法
CN1664753A (zh) 用于集成设备中功率节流的快速频率切换的方法和系统
Sarantopoulou et al. Comparative evaluation of full-length isoform quantification from RNA-Seq
JP2009500704A5 (zh)
CN1508709A (zh) 仲裁电路和数据处理系统
JP5039754B2 (ja) データアクセス違反を検出する方法および装置
Thomsen et al. Refined phenotyping identifies links between preeclampsia and related diseases in a Norwegian preeclampsia family cohort
CN1601486A (zh) 用于存储器管理的设备、程序和方法
CN1940889A (zh) 管理访问历史、存储单元和信息处理装置的方法、装置和程序
CN1499381A (zh) 高速缓存控制器、高速缓存控制方法以及计算机系统
Lloret-Villas et al. The size and composition of haplotype reference panels impact the accuracy of imputation from low-pass sequencing in cattle
CN1506824A (zh) 外围设备互连总线器件层上的差错隔离的诊断方法和系统
Jiang et al. Regenotyping structural variants through an accurate force-calling method
CN1282930C (zh) 有效更新分支目标地址高速缓存的装置与方法
CN1521635A (zh) 解决分支目标地址快取中死结提取条件的装置与方法

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: 20080827

Termination date: 20160725

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