CN100492332C - 动态优先级外部事务处理系统 - Google Patents

动态优先级外部事务处理系统 Download PDF

Info

Publication number
CN100492332C
CN100492332C CNB008177910A CN00817791A CN100492332C CN 100492332 C CN100492332 C CN 100492332C CN B008177910 A CNB008177910 A CN B008177910A CN 00817791 A CN00817791 A CN 00817791A CN 100492332 C CN100492332 C CN 100492332C
Authority
CN
China
Prior art keywords
request
issued transaction
formation
transaction
succedaneum
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
CNB008177910A
Other languages
English (en)
Other versions
CN1503947A (zh
Inventor
D·L·希尔
D·T·巴钱德
C·B·普鲁德维
D·T·马尔
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of CN1503947A publication Critical patent/CN1503947A/zh
Application granted granted Critical
Publication of CN100492332C publication Critical patent/CN100492332C/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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control

Abstract

一种多模式事务处理队列可以按照缺省优先级方案操作。当检测到拥挤事件时,事务处理队列可以采用第二优先级方案。

Description

动态优先级外部事务处理系统
技术领域
本发明涉及动态优先级外部事务处理系统和相应的管理方法。
背景技术
人们知道,许多现代计算系统采用多代理者体系结构(multi-agentarchitecture)。图1示出一种典型的系统。其中多个代理者110-160按照预定的总线协议在外部总线170上进行通信。“代理者”可以包括通用处理器110-140、存储器控制器150、接口芯片集160、输入输出装置和/或其它对数据请求进行处理的集成电路(未示出)。总线170可允许同时进行几个外部总线事务处理。
代理者(例如110)通常包括事务处理管理系统,该管理系统接收来自所述代理者的其它部件的请求一般并处理外部总线事务处理以实现所述请求。图2所示的总线排序单元200(“BSU”),是这样一种事务处理管理系统的示例。BSU 200可以包括仲裁器210、内部高速缓存220、内部事务处理队列230、外部事务处理队列240、外部总线控制器250和预取队列260。BSU 200响应由例如代理者核心(图2中未示出)发出的数据请求而管理外部总线170上的事务处理。
仲裁器210不仅可以接收来自所述核心的数据请求,而且还可以接收来自诸如预取队列260的各种其它源的数据请求。仲裁器210可以在仲裁器210同时收到的可能的几个数据请求中进行选择,并将其中的一个输出到BSU 200的其余部分。
内部高速缓存220可以将数据存储在几个高速缓存项目中。它可能具有对数据请求作出反应以确定高速缓存220是否存储请求数据的有效拷贝的逻辑。这里用到的“数据”可以指可以由代理者使用的变量数据和指令数据。内部高速缓存220可以响应数据请求而供给请求数据。
内部事务处理队列230也可以接收并存储仲裁器210发出的数据请求。对于读取请求,内部事务处理队列230与内部高速缓存220配合以确定请求数据是否“命中”内部高速缓存220(可由内部高速缓存220供给)。如果不,如果数据请求“错过”内部高速缓存220,则内部事务处理队列230将数据请求转发到外部事务处理队列240。
外部事务处理队列240可以解释数据请求并生成外部总线事务处理来完成它们。外部事务处理队列240可以包括几个队列寄存器。它在代理者的事务处理在外部总线170上进行时对它们进行管理。例如,当数据可用于响应事务处理时,外部事务处理队列240检索该数据并将其转发到代理者中的请求者(例如核心)。
预取队列260可以识别由核心(未示出)发出的读取请求中的预定模式。例如,如果核心发出指向顺序增加的存储单元(地址A、A+1、A+2、A+3、...)的读取请求,则预取队列260可以发出预取请求,以便在核心实际请求数据本身之前从顺序中的下一个地址(A+4)读取数据。通过预期数据需要,预取队列260可以使数据在核心发出数据请求时可在内部高速缓存220中得到。将从内部高速缓存220而不是外部存储器向核心供给数据—快得多的操作。这里,这种类型的预取请求被称为“模式预取(patternedprefetch)”。
BSU 200可以实现第二类型的预取,这里称为“盲预取(blindprefetch)”。当核心发出将由外部总线事务处理完成的对某个地址(假定地址B)的数据的读取请求时,盲预取机制可使第二外部总线事务处理检索第二存储地址(B+1)的数据。盲预取可以使不能内部完成的来自核心的每个读取请求产生一对外部总线事务处理。盲预取可以通过两次检索同满足核心读取请求所需的一样多的高速缓存线(或高速缓存扇区)来改进处理器性能。再且,如果核心最终需要从其它地址(B+1)预取的数据的数据,则在核心发出数据读取请求时可以在内部高速缓存220中得到数据。也可以从模式预取请求生成盲预取请求。利用上述示例,可以由对地址A+5的盲预取增加对地址A+4的模式预取请求。
回到图1,众所周知,特别是在多处理器计算机系统中,外部总线170会限制系统性能。外部总线170通常操作在远低于代理者的内部时钟速度的时钟速度下。核心通常会在外部总线170能完成单个外部总线事务处理的时间发出几个数据请求。这样,单个代理者会消耗外部总线170的大量带宽。当多个代理者必须共享外部总线170时,每个代理者只分配有总线170上可用带宽的一部分。在多代理者系统中,在外部总线检索代理者进程所需的数据时,代理者常常必须空闲地等待。
外部事务处理队列240(图2)可以包括对等候发送到外部总线的请求按优先级排序的控制逻辑。通常,核心读取应该优先于预取读取,而预取读取应该优先于写入。核心读取请求识别核心立即需要的数据。预取读取请求识别核心可能在将来某个时间需要的数据。写入请求识别代理者正返回给系统存储器的数据。因此,外部事务处理队列240可以包括根据所述优先级把请求发送到外部总线上的控制逻辑。
预定优先级方案具有其不足。请求通常被存储在事务处理队列240中,直到它在总线上被完成。在高拥挤阶段期间,当事务处理队列完全或几乎满了的时候,预取和写入请求会阻止新的核心请求被存储在队列240中。这些较低优先级的请求将继续存储在队列中,直到请求的外部总线事务处理完成。这样,较低优先级的请求会阻止较高优先级的请求被执行。这会限制系统的性能。
因此,技术上在代理者中需要用于外部事务处理队列的拥挤管理系统。技术上需要这样一种系统:它提供动态优先级系统—在没有系统拥挤时保持第一优先级方案,但在拥挤事件出现时执行第二优先级。
发明内容
根据本发明的一种包含事务处理队列的集成电路,所述包含事务处理队列的集成电路包括:多个入口,用以存储数据请求;和,控制器,它连接到所述多个入口,如果所述事务处理队列拥挤,则该控制器使选定的数据请求无效。
根据本发明的一种在代理者中用于外部事务处理的管理方法,它包括:对所述代理者所需数据的多个外部总线事务处理请求进行排队;对于所述代理者所需数据的至少一个排队的外部总线事务处理请求,对数据盲预取总线事务处理请求进行排队,以增加所述代理者所需数据;如果对所述多个外部总线事务处理请求和所述盲预取事务处理请求进行排队的队列拥挤,则禁止所述盲预取事务处理请求。
根据本发明的一种在代理者中用于外部事务处理的管理方法,它包括:对多个读取请求进行排队,所述多个读取请求包括:与由代理者核心进行的执行操作所需数据有关的某些读取请求,以及,与预取数据有关的某些读取请求,所述预取数据是将来可能由所述代理者核心执行的数据,与所述代理者核心进行的执行操作所需数据相关联,如果对所述多个读取请求进行排队的队列拥挤,则禁止所述预取读取请求。
根据本发明的一种在代理者中用于外部事务处理的多模式管理方法,它包括:对所述核心所需数据的多个核心读取请求进行排队;对于每一个核心读取请求,对与所述各核心读取请求关联的盲预取请求进行排队,以增添所述相应的核心读取请求;对与核心读取请求模式有关的预取请求进行排队;如果对所述请求进行排队的队列拥挤,则执行禁止所述盲预取请求的第一模式,或者,如果对所述请求进行排队的队列拥挤,则执行禁止所述预取请求的第二模式。
根据本发明的一种代理者总线排序单元,它包括:仲裁器;连接到所述仲裁器的内部高速缓存;包含事务处理队列的集成电路,它连接到所述仲裁器,并存储以下数据:要由所述代理者执行的外部事务处理的数据;以及从核心读取请求、盲预取请求和模式预取请求的组中选择的事务处理的数据;以及,外部总线控制器,它连接到所述包含事务处理队列的集成电路,其中,所述包含事务处理队列的集成电路对所述总线排序单元中的拥挤事件作出响应而使选定的事务处理无效。
根据本发明的一种用于外部事务处理的拥挤管理方法,所述外部事务处理成对地存储在包含事务处理队列的集成电路中并从核心读取请求-盲预取请求对和模式预取请求对的集合中获取,所述方法包括:在处理队列接收新请求;确定所述事务处理队列是否具有空间存储所述新请求;如果没有,则从所述事务处理队列中删除一对尚未发送的模式预取请求,以及,把所述新请求存储在所述事务处理队列中。
根据本发明的一种代理者总线排序单元,它包括:仲裁器;连接到所述仲裁器的内部高速缓存;包含事务处理队列的集成电路,它连接到所述仲裁器,以便存储要由所述代理者执行的外部事务处理的数据以及从核心读取请求、盲预取请求和模式预取请求的组中选择的事务处理的数据,所述事务处理队列对所述总线排序单元中的拥挤事件作出响应而使选定的事务处理无效;以及,连接到所述包含事务处理队列的集成电路的外部总线控制器。
根据本发明的一种管理用于代理者的事务处理的方法,所述方法包括:接收第一事务处理;如果包含事务处理队列的集成电路拥挤,则识别具有低于所述第一事务处理的优先级的第二事务处理;从所述事务处理队列删除所述第二事务处理;以及,在所述事务处理队列存储所述第一事务处理。
根据本发明的一种管理外部总线事务处理的系统,它包括:代理者;仲裁器,它与所述代理者相关联,所述仲裁器可操作地发出要由所述外部总线事务处理完成的数据请求;内部高速缓存,它连接到所述仲裁器;包含事务处理队列的集成电路,它连接到所述仲裁器,所述事务处理队列按照缺省优先级方案和第二优先级方案存储外部总线事务处理并管理所述外部总线事务处理,所述第二优先级方案响应于事务处理队列拥挤而工作;外部总线控制器,它连接到所述包含事务处理队列的集成电路;以及,存储器子系统,它通过外部总线连接到所述外部总线控制器。
根据本发明的一种系统,它包括:存储器系统;外部总线;以及,代理者,它通过所述外部总线连接到所述存储器系统,所述代理者在所述存储器系统内的总线寻址位置上产生读取或写入事务处理,所述代理者包括事务处理管理系统,所述事务处理管理系统包括用于存储核心读取请求和预取请求的队列,所述事务处理管理系统通过使未发送的预取请求无效来对所述队列的拥挤作出响应。
根据本发明的一种管理事务处理的方法,它包括:在代理者内存储代表要在所述代理者外部进行的多个事务处理的数据,所述事务处理包括核心读取请求、模式预取请求和盲预取请求,在代理者内存储代表所述事务处理状态的数据,包括表示所述相应的事务处理是不是待处理的以及所述相应的事务处理是不是正在所述代理者外部进行的数据,以及,对拥挤事件作出响应,使尚未发送到外部的待处理的盲预取请求无效。
本发明的实施例提供一种用于代理者的多模式事务处理队列。所述事务处理队列可以按照缺省优先级方案操作。当检测到拥挤事件时,事务处理队列可以使用第二优先级方案。
附图说明
图1是多代理者计算机系统的方框图。
图2是代理者的示例性总线排序单元的方框图。
图3是按照本发明一个实施例的代理者的外部事务处理队列的方框图。
图4是按照本发明一个实施例的拥挤管理方法的流程图。
具体实施方式
本发明的实施例提供一种包含事务处理队列的集成电路,它提供对拥挤事件的测量响应。事务处理队列选择性地使队列中正在等候的存储的事务处理无效—它们目前未被发送到外部总线。在一个实施例中,事务处理队列首先使盲预取请求无效。事务处理队列还可以使未发送的预取请求无效,其中所述未发送的预取请求与有关发送的预取请求被存储。最后,在极端拥挤的情况下,如没有可用于新请求的空间时,事务处理队列可以使未发送的模式预取请求对无效。
这些实施例有利地提供具有动态优先级方案的事务处理队列。在没有拥挤时,事务处理队列可以按照第一优先级方案操作。例如如上所述,事务处理队列可以使核心读取请求优先于预取请求,并使预取请求优先于写入请求。可是,当拥挤事件出现时,事务处理队列可以采用第二优先级方案。例如,事务处理队列可以将核心读取保持为最高优先级请求,而将写入请求的优先级重新安排为次最高优先级请求。事务处理队列可使存储在该事务处理队列中的预取请求无效。
图3是按照本发明的一个实施例的代理者的外部事务处理队列300的方框图。外部事务处理队列300可以包括控制器310和多个队列寄存器320-1到320-N(共同标记为320)。各个队列寄存器可以包括几个字段,包括地址字段330、第一状态字段340和第二状态字段350。
外部事务处理队列300可适合用于执行盲预取的代理者。状态字段340、350每个都可以存储有关按照盲预取对来执行的外部总线事务处理中相应一个的信息。地址字段330可以存储事务处理将被定向到的基地址。通常,在地址字段330和状态字段340、345之间将存在预定关系。例如,如果地址D被存储在寄存器320-1的地址字段330中,则状态字段340可以保持有关定向到地址D的事务处理的状态信息,并且状态字段350可以保持有关定向到地址D+1的第二事务处理的状态信息。
状态字段340、350可以存储关于相应的事务处理的管理信息。这样的信息可以包括请求类型、关于外部总线上相应的事务处理的状态的信息(即它是否被发送、请求可能在哪一个事务处理阶段、事务处理是否完成等)和关于按照事务处理可能收到的数据的目的地的信息。通常,当状态寄存器340、350两者都表明其相应的事务处理已经完成时,从寄存器320清除所述事务处理。
按照本发明的一个实施例,状态字段340、350每一个都可以包括子字段,该子字段识别是否按照核心请求(“C”)或按照预取请求(“P”)生成对应的事务处理。图3说明了7个请求为核心请求和剩下的为预取请求的示例。在该示例中,存储在寄存器320-1、320-4、320-5、320-6、320-8、320-11和320-N中的事务处理存储由核心请求启动的事务处理。那些寄存器的状态字段340或350中的一个识别源于核心请求的事务处理;其它状态字段表明盲预取请求。
其它寄存器320-2、320-3、320-7、320-9和320-10识别由盲预取增加的模式预取请求。状态字段340、350两者都表明请求是预取请求。
控制器310把外部事务处理队列300连接到代理者中的其它元素(例如参见图2)。控制器310可以使事务处理被输入到队列寄存器320中或从其中删除事务处理,并可以把数据写入到地址字段330以及写入到状态字段340、350。控制器310还可以为要发送到外部总线170(图1)的事务处理安排次序。在一个实施例中,控制器310可以是状态机。
按照本发明的一个实施例,控制器310可以BSU 200中的拥挤事件期间选择性地禁止预取请求。在第一实施例中,当事务处理队列300经历拥挤时,事务处理队列可以禁止还未被发送到外部总线上的任何盲预取事务处理。这可以例如通过即使事务处理从未被发送也把盲预取事务处理的状态字段标记为完成来实现。在此实施例中,当在外部总线上完成核心读取请求时,可以从事务处理队列300中逐出事务处理。
在另一个实施例中,当事务处理队列经历拥挤时,事务处理队列300可以逐出存储在队列中还未被发送到外部总线上的任何模式预取请求。事务处理队列300可以简单地通过解除对有关队列寄存器的分配来逐出未开始的预取请求。
在又一个实施例中,当事务处理队列经历拥挤,并且事务处理队列300存储已经开始的模式预取事务处理时,事务处理队列300可以禁止预取对中的任何未发送的预取事务处理。考虑图3的寄存器320-2中示出的模式预取请求。如所示的那样,状态字段350表明第一预取事务处理正在等候但还没有被发送到外部总线上。相反,状态字段340表明第二预取事务处理已经被发送到外部总线上。在该实施例中,事务处理队列300可以响应于拥挤事件而把第一事务处理标记为完成。在这种情况下,第二预取请求将被允许继续完成。当它完成时,事务处理队列300可以解除对寄存器320-2的分配,因为状态340、350两者都识别完成的事务处理。
图4是按照本发明的一个实施例可以由事务处理队列300(图3)执行的方法1000的流程图。在拥挤事件时,事务处理队列可以确定新请求是否被输入到事务处理队列(步骤1010)。在收到新请求时,事务处理队列可以确定是否有新请求可用的寄存器(步骤1020)。如果是,则它把请求存储在可用的寄存器中(步骤1030)。可以按照在本领中的传统方法执行请求的存储。事务处理队列300可以确定请求的基地址并在分配的寄存器的各个字段330-350中输入适当的信息。
如果在步骤1020中没有可用的寄存器,则事务处理队列300可以解除对与一对未发送的模式预取请求有关联的寄存器的分配(步骤1040)。在执行该步骤中,事务处理队列300可以解除状态字段340、350都表明相应的事务处理还未被发送到外部总线的模式预取请求的分配。如果寄存器320中没有一个识别一对未开始的预取请求,则新接收的请求可以被安装(步骤未示出)。该请求被禁止输入事务处理队列。
在步骤1030结束时,或者在步骤1010没有收到请求,事务处理队列确定它是否正在拥挤模式下操作(步骤1050)。如果不是,事务处理队列300可以停止方法1000的这种重复。
如果事务处理队列300正在拥挤模式下操作,则事务处理队列确定它是否存储任何等候的盲预取事务处理(步骤1060)。如果是,事务处理队列300可以禁止盲预取事务处理的其中之一(步骤1070)。步骤1070可以应用于与核心请求有关的盲预取或模式预取请求。如果不是,或者在步骤1070结束时,该方法可以结束。
方法1000有利地提供对拥挤的测量响应。作为第一响应,事务处理队列使来自事务处理队列的盲预取请求无效。如所讨论的那样,作为类的预取请求次于核心请求。经验也表明使盲预取次于模式预取是适当的。模式预取可能比盲预取更有效。对存储器的核心读取的建立模式进行响应而发出模式预取。盲预取不依赖任何种类的可测量标记。这样,模式预取更可能检索核心最终将请求的数据,并应该有利于盲预取而被保持。
当盲预取被无效时,它增加了寄存器320可用于新接收的请求的速率。如说明的那样,盲预取与核心读取请求有关。核心读取请求是由事务处理队列处理的最高优先级的请求—它们以最高优先级被发送到外部总线上。
在优先级的第二级,如果拥挤即使在所有预取都被无效后仍然继续,则事务处理队列可以使与进行中的预取请求有关的等候的模式预取请求无效(步骤1080)。因为预取请求中的一个已经被发送到外部总线上,因此它可能在预定时间内结束。可是,即使它结束,第二等候的预取请求的状态(在步骤1080中被无效的那个)会阻止有关寄存器被解除分配。通过把等候的预取请求标记为完成,步骤1080确保在发送的预取请求结束时解除对寄存器的分配。
在优先级的第三级,事务处理队列有利于新收到的请求而解除对存储一对等候的预取请求的寄存器的分配。这种情况仅在新接收的请求没有可用的寄存器时出现。
本发明的原理允许几个不同的触发事件以使事务处理队列300判定它是否在拥挤模式下操作。在第一实施例中,事务处理队列300可以根据队列中被分配了的或未被分配的寄存器320的数量来确定它是拥挤的。例如,如果事务处理队列确定寄存器满到90%或100%,它可判决它是在拥挤模式下操作。
在第二示例中,事务处理队列可以根据外部总线的测量的等待时间来确定拥挤事件已经出现。人们知道,代理者通常按照预定的总线协议操作。总线协议可以建立管理规则,以管理新请求何时可被发送到外部总线上以及的多个可能的代理者中的哪一个可能在各请求“时隙”中把新请求发送到总线上,每个时机把一个新请求发送到总线上。在这样一个实施例中,事务处理队列300可以测量若干在事务处理队列300获得总线所有权之前传送的请求时隙。如果测量的时隙数超过预定阈值,则事务处理队列300可以确定拥挤事件已经出现。
按照另一个实施例,事务处理队列300根据检测的一种类型的拥挤不同地响应拥挤事件。考虑事务处理队列可以检测上述两种类型的触发事件的示例:1)可用寄存器的数量低于某阈值数(假设事务处理队列全满),以及2)测量的外部总线上的等待时间超过阈值量。按照一个实施例,事务处理队列300可以在事务处理队列300全满时使所有预取请求无效,而在测量的外部总线上的等待时间超过阈值时仅使盲预取请求无效。该实施例会是有利的,因为它具有简单的实现并区分低严重性和高严重性的拥挤事件。
前面的讨论区分了等候和发送请求。这里,发送请求是已经在外部总线上开始的请求。通常,外部总线由预定总线协议定义,它指定事务处理完成经历的增加的阶段。前面实施例中描述的拥挤管理方法不干扰已经发送的事务处理。相反,等候的请求是存储在BSU中的但还未在外部总线上开始的请求。本发明的拥挤管理方法可以按照前面实施例中描述的那些技术来使等候请求无效。
如上所述,本发明的实施例提供事务处理队列300,它可以按照动态优先级方案操作。第一优先级方案可被定义用于没有拥挤时的事务处理队列。但是在检测到拥挤时,事务处理队列可以执行第二优先级方案。在上述实施例中,事务处理队列可以使预取请求无效。
前面实施例中描述的拥挤管理技术针对于读取由事务处理管理系统处理的请求。人们知道,BSU可以处理其它类型的请求,如写入请求,它们不是用来使数据被读入代理者。前面实施例描述的拥挤管理技术不是用来干扰事务处理管理系统处理这些其它类型的请求的方法。
在此具体示出并描述了本发明的几个实施例。可是要知道,在不脱离本发明的精神和预期范围下的本发明的修改和变化被上述示教所覆盖并在后附权利要求书的范围内。

Claims (51)

1.一种包含事务处理队列的集成电路,所述包含事务处理队列的集成电路包括:
多个入口,用以存储数据请求;和
控制器,它连接到所述多个入口,如果所述事务处理队列拥挤,则该控制器使选定的数据请求无效。
2.如权利要求1所述的集成电路,其特征在于如果所述事务处理队列中排队的请求数量超过预定阈值,则所述事务处理队列拥挤。
3.如权利要求1所述的集成电路,其特征在于如果所述事务处理队列充满了请求,则所述事务处理队列拥挤。
4.如权利要求1所述的集成电路,其特征在于如果发送的事务处理的测定的等待时间超过预定阈值,则所述事务处理队列拥挤。
5.如权利要求1所述的集成电路,其特征在于:
所述事务处理队列根据缺省优先级方案操作,该缺省优先级方案使核心读取请求优先于预取请求,且所述预取请求优先于写入请求,以及
所述事务处理队列根据第二优先级方案操作,该第二优先级方案使所述核心读取请求优先于写入请求,且所述写入请求优先于所述预取请求。
6.如权利要求5所述的集成电路,其特征在于所述第二优先级方案使已存储的未发送盲预取请求无效。
7.如权利要求5所述的集成电路,其特征在于所述第二优先级方案使与发送的预取请求相关联的已存储的未发送盲预取请求无效。
8.如权利要求5所述的集成电路,其特征在于所述第二优先级方案使已存储的未发送模式预取请求无效。
9.如权利要求1所述的集成电路,其特征在于所述事务处理队列包含在通用处理器中。
10.如权利要求1所述的集成电路,其特征在于所述事务处理队列包含在存储器控制器中。
11.一种在代理者中用于外部事务处理的管理方法,它包括:
对所述代理者所需数据的多个外部总线事务处理请求进行排队;
对于所述代理者所需数据的至少一个排队的外部总线事务处理请求,对数据盲预取总线事务处理请求进行排队,以增加所述代理者所需数据;
如果对所述多个外部总线事务处理请求和所述盲预取事务处理请求进行排队的一个队列拥挤,则禁止所述盲预取事务处理请求。
12.如权利要求11所述的管理方法,其特征在于如果在所述队列中的事务处理请求数量超过预定阈值,则所述队列拥挤。
13.如权利要求11所述的管理方法,其特征在于如果所述队列满载,则所述队列拥挤。
14.如权利要求11所述的管理方法,其特征在于如果发送的事务处理请求的测定的等待时间超过预定阈值,则所述队列拥挤。
15.一种在代理者中用于外部事务处理的管理方法,它包括:
对多个读取请求进行排队,所述多个读取请求包括:
与由代理者核心进行的执行操作所需数据有关的某些读取请求,以及
与预取数据有关的某些读取请求,所述预取数据是将来可能由所述代理者核心执行的数据,与所述代理者核心进行的执行操作所需数据相关联,
如果对所述多个读取请求进行排队的队列拥挤,则禁止预取读取请求。
16.如权利要求15所述的管理方法,其特征在于如果在所述队列中的读取请求数量超过预定阈值,则所述队列拥挤。
17.如权利要求15所述的管理方法,其特征在于如果所述队列满载,则所述队列拥挤。
18.如权利要求15所述的管理方法,其特征在于如果发送的事务处理的测定的等待时间超过预定阈值,则所述队列拥挤。
19.一种在代理者中用于外部事务处理的多模式管理方法,它包括:
对核心所需数据的多个核心读取请求进行排队;
对于每一个核心读取请求,对与所述各核心读取请求关联的盲预取请求进行排队,以增添所述相应的核心读取请求;
对与核心读取请求模式有关的预取请求进行排队;
如果所述事务处理出现拥挤,则执行禁止所述盲预取请求,或者
如果所述事务处理出现拥挤,则执行禁止所述预取请求。
20.如权利要求19所述的多模式管理方法,其特征在于如果在所述队列中的请求数量超过预定阈值,则所述队列拥挤。
21.如权利要求19所述的多模式管理方法,其特征在于如果所述队列满载,则所述队列拥挤。
22.如权利要求19所述的多模式管理方法,其特征在于如果发送的事务处理的测定的等待时间超过预定阈值,则所述队列拥挤。
23.一种代理者总线排序单元,它包括:
仲裁器;
连接到所述仲裁器的内部高速缓存;
包含事务处理队列的集成电路,它连接到所述仲裁器,并存储以下数据:要由所述代理者执行的外部事务处理的数据;以及从核心读取请求、盲预取请求和模式预取请求的组中选择的事务处理的数据;以及
外部总线控制器,它连接到所述包含事务处理队列的集成电路,
其中,所述包含事务处理队列的集成电路对所述总线排序单元中的拥挤事件作出响应而使选定的事务处理无效。
24.如权利要求23所述的总线排序单元,其特征在于:所述选择的事务处理是盲预取请求。
25.如权利要求23所述的总线排序单元,其特征在于:如果在所述事务处理队列中没有盲预取请求,则所述选择的事务请求是模式预取请求。
26.一种用于外部事务处理的拥挤管理方法,所述外部事务处理成对地存储在包含事务处理队列的集成电路中并从核心读取请求-盲预取请求对和模式预取请求对的集合中获取,所述方法包括:
在处理队列接收新请求;
确定所述事务处理队列是否具有空间存储所述新请求;
如果没有,
则从所述事务处理队列中删除一对尚未发送的模式预取请求,以及
把所述新请求存储在所述事务处理队列中。
27.如权利要求26所述的拥挤管理方法,其特征在于还包括使盲预取请求无效。
28.如权利要求26所述的拥挤管理方法,其特征在于还包括如果所述尚未发送的模式预取请求对中的第二模式预取请求被发送,则使第一模式预取请求无效。
29.一种代理者总线排序单元,它包括:
仲裁器;
连接到所述仲裁器的内部高速缓存;
包含事务处理队列的集成电路,它连接到所述仲裁器,以便存储要由所述代理者执行的外部事务处理的数据以及从核心读取请求、盲预取请求和模式预取请求的组中选择的事务处理的数据,所述事务处理队列对所述总线排序单元中的拥挤事件作出响应而使选定的事务处理无效;以及
连接到所述包含事务处理队列的集成电路的外部总线控制器。
30.如权利要求29所述的总线排序单元,其特征在于所述选定的事务处理是盲预取请求。
31.如权利要求29所述的总线排序单元,其特征在于如果在所述事务处理队列中没有盲预取请求,则所述选定的事务处理是模式预取请求。
32.一种管理用于代理者的事务处理的方法,所述方法包括:
接收第一事务处理;
如果包含事务处理队列的集成电路拥挤,则
识别所述事务处理队列中的具有低于所述第一事务处理的优先级的第二事务处理;
从所述事务处理队列删除所述第二事务处理;以及
在所述事务处理队列存储所述第一事务处理。
33.如权利要求32所述的方法,其特征在于如果已存储的事务处理的等待时间超过预定阈值,则所述事务处理队列拥挤。
34.如权利要求32所述的方法,其特征在于如果已存储的事务处理的数量超过预定阈值,则所述事务处理队列拥挤。
35.如权利要求32所述的方法,其特征在于如果包含事务处理队列的集成电路满载,则所述事务处理队列拥挤。
36.如权利要求32所述的方法,其特征在于所述第一事务处理是核心读取请求,而所述第二事务处理是模式预取请求或盲预取请求。
37.如权利要求32所述的方法,其特征在于所述第一事务处理是模式预取请求,而所述第二事务处理是盲预取请求。
38.一种管理外部总线事务处理的系统,它包括:
代理者;
仲裁器,它与所述代理者相关联,所述仲裁器可操作地发出要由所述外部总线事务处理完成的数据请求;
内部高速缓存,它连接到所述仲裁器;
包含事务处理队列的集成电路,它连接到所述仲裁器,所述事务处理队列按照缺省优先级方案和第二优先级方案存储外部总线事务处理并管理所述外部总线事务处理,所述第二优先级方案响应于事务处理队列拥挤而工作;
外部总线控制器,它连接到所述包含事务处理队列的集成电路;以及
存储器子系统,它通过外部总线连接到所述外部总线控制器。
39.如权利要求38所述的系统,其特征在于:
所述缺省优先级方案使核心读取请求优先于预取请求,且所述预取请求优先于写入请求,以及
所述第二优先级方案使所述核心读取请求优先于所述写入请求,且所述写入请求优先于所述预取请求。
40.如权利要求38所述的系统,其特征在于,如果所述仲裁器接收到新的外部总线事务处理,且已存储的外部总线事务处理的数量超过预定阈值,则所述事务处理队列拥挤。
41.如权利要求38所述的系统,其特征在于,如果所述仲裁器接收到新的外部总线事务处理,且已存储的总线事务处理的等待时间超过预定阈值,则所述事务处理队列拥挤。
42.如权利要求38所述的系统,其特征在于所述代理者是通用处理器。
43.如权利要求38所述的系统,其特征在于所述代理者是存储器控制器。
44.如权利要求38所述的系统,其特征在于所述代理者是预取队列。
45.一种代理者总线排序系统,它包括:
存储器系统;
外部总线;以及
代理者,它通过所述外部总线连接到所述存储器系统,所述代理者在所述存储器系统内的总线寻址位置上产生读取或写入事务处理,所述代理者包括事务处理管理系统,所述事务处理管理系统包括用于存储核心读取请求和预取请求的队列,所述事务处理管理系统通过使未发送的预取请求无效来对所述队列的拥挤作出响应。
46.如权利要求45所述的系统,其特征在于:在所述代理者读取对所述事务处理作出响应的数据之后,所述事务处理管理系统使所述事务处理的数据无效。
47.如权利要求45所述的系统,其特征在于:在所述队列提供多个入口,每个入口存储至少两个事务处理的数据,包括代表相应的事务处理是核心读取请求还是模式预取请求的第一字段和代表相应的事务处理是待处理的还是已通过所述外部总线发送的事务处理的第二字段。
48.一种管理事务处理的方法,它包括:
在代理者内存储代表要在所述代理者外部进行的多个事务处理的数据,所述事务处理包括核心读取请求、模式预取请求和盲预取请求,
在代理者内存储代表所述事务处理状态的数据,包括表示所述相应的事务处理是不是待处理的以及所述相应的事务处理是不是正在所述代理者外部进行的数据,以及
对拥挤事件作出响应,使尚未发送到外部的待处理的盲预取请求无效。
49.如权利要求48所述的方法,其特征在于还包括:对另一拥挤事件作出响应,使尚未发送到外部的待处理的模式预取请求无效。
50.如权利要求48所述的方法,其特征在于还包括:按照使所述核心读取请求优先于模式预取请求且所述模式预取请求优先于盲预取请求的优先级方案向外发送所述事务处理。
51.如权利要求48所述的方法,其特征在于所述无效操作包括改变所述待处理的盲预取请求的状态,以表示所述待处理的盲预取请求已完成。
CNB008177910A 1999-12-28 2000-11-28 动态优先级外部事务处理系统 Expired - Fee Related CN100492332C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/474,011 US6654837B1 (en) 1999-12-28 1999-12-28 Dynamic priority external transaction system
US09/474,011 1999-12-28

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN2009101348374A Division CN101520759B (zh) 1999-12-28 2000-11-28 动态优先级外部事务处理系统
CNA200910130408XA Division CN101539896A (zh) 1999-12-28 2000-11-28 动态优先级外部事务处理系统

Publications (2)

Publication Number Publication Date
CN1503947A CN1503947A (zh) 2004-06-09
CN100492332C true CN100492332C (zh) 2009-05-27

Family

ID=23881859

Family Applications (3)

Application Number Title Priority Date Filing Date
CNB008177910A Expired - Fee Related CN100492332C (zh) 1999-12-28 2000-11-28 动态优先级外部事务处理系统
CNA200910130408XA Pending CN101539896A (zh) 1999-12-28 2000-11-28 动态优先级外部事务处理系统
CN2009101348374A Expired - Fee Related CN101520759B (zh) 1999-12-28 2000-11-28 动态优先级外部事务处理系统

Family Applications After (2)

Application Number Title Priority Date Filing Date
CNA200910130408XA Pending CN101539896A (zh) 1999-12-28 2000-11-28 动态优先级外部事务处理系统
CN2009101348374A Expired - Fee Related CN101520759B (zh) 1999-12-28 2000-11-28 动态优先级外部事务处理系统

Country Status (11)

Country Link
US (2) US6654837B1 (zh)
EP (2) EP1624379B1 (zh)
JP (1) JP4219106B2 (zh)
CN (3) CN100492332C (zh)
AT (1) ATE317991T1 (zh)
AU (1) AU1793701A (zh)
DE (2) DE60039375D1 (zh)
HK (1) HK1066610A1 (zh)
MX (1) MXPA02005822A (zh)
TW (1) TW484065B (zh)
WO (1) WO2001048618A2 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3908482B2 (ja) * 2001-06-22 2007-04-25 富士通株式会社 入出力制御装置及び入出力制御方法並びに情報記憶システム
US6732242B2 (en) 2002-03-28 2004-05-04 Intel Corporation External bus transaction scheduling system
US7315912B2 (en) * 2004-04-01 2008-01-01 Nvidia Corporation Deadlock avoidance in a bus fabric
US20060123003A1 (en) * 2004-12-08 2006-06-08 International Business Machines Corporation Method, system and program for enabling non-self actuated database transactions to lock onto a database component
US8032711B2 (en) * 2006-12-22 2011-10-04 Intel Corporation Prefetching from dynamic random access memory to a static random access memory
US8984198B2 (en) * 2009-07-21 2015-03-17 Microchip Technology Incorporated Data space arbiter
CN101908000B (zh) * 2010-07-08 2012-10-10 北京航空航天大学 一种硬件型事务存储系统中事务线程的阻塞唤醒方法
CN101930371A (zh) * 2010-09-16 2010-12-29 复旦大学 一种基于控制论和目标推理的软件质量运行时优化方法
US9009414B2 (en) * 2010-09-21 2015-04-14 Texas Instruments Incorporated Prefetch address hit prediction to reduce memory access latency
US8769175B2 (en) * 2011-03-09 2014-07-01 International Business Machines Corporation Adjustment of post and non-post packet transmissions in a communication interconnect
CN102183923B (zh) * 2011-04-26 2013-06-05 中国工商银行股份有限公司 一种计算机关联事件执行控制方法及系统
US9251108B2 (en) * 2012-11-05 2016-02-02 International Business Machines Corporation Managing access to shared buffer resources
CN104838560B (zh) * 2012-12-04 2017-06-09 丰田自动车株式会社 充电控制装置、充电控制方法
US20180081749A1 (en) * 2013-12-04 2018-03-22 International Business Machines Corporation Performance ranking of read requests in a distributed storage network
JP6295700B2 (ja) 2014-02-12 2018-03-20 株式会社ソシオネクスト 調停回路及び調停回路の処理方法
CN103984652B (zh) * 2014-05-28 2017-12-19 山东超越数控电子有限公司 一种基于龙芯平台的北斗通信方法
KR20160018204A (ko) * 2014-08-08 2016-02-17 삼성전자주식회사 전자 장치, 온 칩 메모리 장치 및 온 칩 메모리의 운영 방법
US10496577B2 (en) * 2017-02-09 2019-12-03 Hewlett Packard Enterprise Development Lp Distribution of master device tasks among bus queues
US10387320B2 (en) 2017-05-12 2019-08-20 Samsung Electronics Co., Ltd. Integrated confirmation queues
US10983836B2 (en) 2018-08-13 2021-04-20 International Business Machines Corporation Transaction optimization during periods of peak activity

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE414087B (sv) 1977-02-28 1980-07-07 Ellemtel Utvecklings Ab Anordning i ett datorsystem vid utsendning av signaler fran en processor till en eller flera andra processorer varvid prioriterade signaler sends direkt utan tidsfordrojning och oprioriterade signalers ordningsfoljd ...
US5056041A (en) * 1986-12-31 1991-10-08 Texas Instruments Incorporated Data processing apparatus with improved bit masking capability
JPH0664567B2 (ja) * 1989-12-25 1994-08-22 株式会社日立製作所 多重プロセッサシステム
US5230078A (en) * 1991-08-05 1993-07-20 Motorola Inc. Method for a console to quickly monitor a group
US5666494A (en) * 1995-03-31 1997-09-09 Samsung Electronics Co., Ltd. Queue management mechanism which allows entries to be processed in any order
US5937205A (en) 1995-12-06 1999-08-10 International Business Machines Corporation Dynamic queue prioritization by modifying priority value based on queue's level and serving less than a maximum number of requests per queue
US5673413A (en) * 1995-12-15 1997-09-30 International Business Machines Corporation Method and apparatus for coherency reporting in a multiprocessing system
US5761452A (en) 1996-03-18 1998-06-02 Advanced Micro Devices, Inc. Bus arbiter method and system
US5724613A (en) 1996-05-06 1998-03-03 Vlsi Technology, Inc. System and method for automatically enabling and disabling a prefetching capability
US6401212B1 (en) * 1997-08-21 2002-06-04 Texas Instruments Incorporated Microprocessor circuits, systems, and methods for conditioning information prefetching based on resource burden
US6341335B1 (en) * 1997-10-29 2002-01-22 Hitachi, Ltd. Information processing system for read ahead buffer memory equipped with register and memory controller
US6484239B1 (en) * 1997-12-29 2002-11-19 Intel Corporation Prefetch queue
US6148372A (en) * 1998-01-21 2000-11-14 Sun Microsystems, Inc. Apparatus and method for detection and recovery from structural stalls in a multi-level non-blocking cache system
US6076130A (en) * 1998-03-19 2000-06-13 Hewlett-Packard Company System and method for efficient communication between buses
US6446143B1 (en) * 1998-11-25 2002-09-03 Compaq Information Technologies Group, L.P. Methods and apparatus for minimizing the impact of excessive instruction retrieval
US6286074B1 (en) * 1999-03-24 2001-09-04 International Business Machines Corporation Method and system for reading prefetched data across a bridge system
US6330647B1 (en) * 1999-08-31 2001-12-11 Micron Technology, Inc. Memory bandwidth allocation based on access count priority scheme
US6553446B1 (en) * 1999-09-29 2003-04-22 Silicon Graphics Inc. Modular input/output controller capable of routing packets over busses operating at different speeds
US6470427B1 (en) * 1999-11-09 2002-10-22 International Business Machines Corporation Programmable agent and method for managing prefetch queues
US6704817B1 (en) * 2000-08-31 2004-03-09 Hewlett-Packard Development Company, L.P. Computer architecture and system for efficient management of bi-directional bus

Also Published As

Publication number Publication date
MXPA02005822A (es) 2003-12-11
EP1323045A2 (en) 2003-07-02
US20040059854A1 (en) 2004-03-25
ATE317991T1 (de) 2006-03-15
EP1323045B1 (en) 2006-02-15
CN101520759A (zh) 2009-09-02
TW484065B (en) 2002-04-21
WO2001048618A2 (en) 2001-07-05
EP1624379A2 (en) 2006-02-08
JP2003521029A (ja) 2003-07-08
EP1624379B1 (en) 2008-07-02
JP4219106B2 (ja) 2009-02-04
CN101520759B (zh) 2011-12-28
DE60026068D1 (de) 2006-04-20
HK1066610A1 (en) 2005-03-24
CN1503947A (zh) 2004-06-09
AU1793701A (en) 2001-07-09
US6654837B1 (en) 2003-11-25
US7143242B2 (en) 2006-11-28
CN101539896A (zh) 2009-09-23
WO2001048618A3 (en) 2002-03-07
DE60039375D1 (de) 2008-08-14
DE60026068T2 (de) 2006-11-02
EP1624379A3 (en) 2006-04-26

Similar Documents

Publication Publication Date Title
CN100492332C (zh) 动态优先级外部事务处理系统
EP0681240B1 (en) Duplicate cache tag memory system
TWI396091B (zh) 具有每個代理者佇列的淺層之非封鎖位址交換器
US6557084B2 (en) Apparatus and method to improve performance of reads from and writes to shared memory locations
EP2157515B1 (en) Prioritized bus request scheduling mechanism for processing devices
JP2599563B2 (ja) アービタ回路を有するデータ・プロセッサ・システム
US7529799B2 (en) Method and apparatus for transaction tag assignment and maintenance in a distributed symmetric multiprocessor system
EP0936555B1 (en) Cache coherency protocol with independent implementation of optimised cache operations
US6304932B1 (en) Queue-based predictive flow control mechanism with indirect determination of queue fullness
KR19980042453A (ko) 데이타 처리시스템에서 복수개의 메모리 억세스 리퀘스트신호를리오더링하는 방법
US5519838A (en) Fast pipelined distributed arbitration scheme
US5655103A (en) System and method for handling stale data in a multiprocessor system
US6442655B1 (en) System and method for handling storage consistency conflict
US6195722B1 (en) Method and apparatus for deferring transactions on a host bus having a third party agent
US6868469B2 (en) Data bridge and bridging
US6862646B2 (en) Method and apparatus for eliminating the software generated ready-signal to hardware devices that are not part of the memory coherency domain
US6990516B2 (en) Distributed shared memory system and data-maintenance method of same
EP1096387A1 (en) An arbitration unit for a bus
EP0169909B1 (en) Auxiliary memory device
US6681260B1 (en) Data transfer method in function expansion system
JP2002063130A (ja) バス調停システム
CN117971717A (zh) 多主机的访问控制方法、装置、电子设备及存储介质
US6944698B2 (en) Method and apparatus for providing bus arbitrations in a data processing system
US6546470B1 (en) Multiprocessor system snoop scheduling mechanism for limited bandwidth snoopers with banked directory implementation
JPH01276348A (ja) 2次キャッシュメモリ方式

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1066610

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1066610

Country of ref document: HK

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

Granted publication date: 20090527

Termination date: 20161128

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