專利名稱:動態(tài)優(yōu)先級外部事務(wù)處理系統(tǒng)的制作方法
背景技術(shù):
人們知道,許多現(xiàn)代計算系統(tǒng)采用多代理者體系結(jié)構(gòu)(multi-agentarchitecture)。
圖1示出一種典型的系統(tǒng)。其中多個代理者110-160按照預(yù)定的總線協(xié)議在外部總線170上進(jìn)行通信?!按碚摺笨梢园ㄍㄓ锰幚砥?10-140、存儲器控制器150、接口芯片集160、輸入輸出裝置和/或其它對數(shù)據(jù)請求進(jìn)行處理的集成電路(未示出)??偩€170可允許同時進(jìn)行幾個外部總線事務(wù)處理。
代理者(例如110)通常包括事務(wù)處理管理系統(tǒng),該管理系統(tǒng)接收來自所述代理者的其它部件的請求一般并處理外部總線事務(wù)處理以實現(xiàn)所述請求。圖2所示的總線排序單元200(“BSU”),是這樣一種事務(wù)處理管理系統(tǒng)的示例。BSU200可以包括仲裁器210、內(nèi)部高速緩存220、內(nèi)部事務(wù)處理隊列230、外部事務(wù)處理隊列240、外部總線控制器250和預(yù)取隊列260。BSU200響應(yīng)由例如代理者核心(圖2中未示出)發(fā)出的數(shù)據(jù)請求而管理外部總線170上的事務(wù)處理。
仲裁器210不僅可以接收來自所述核心的數(shù)據(jù)請求,而且還可以接收來自諸如預(yù)取隊列260的各種其它源的數(shù)據(jù)請求。仲裁器210可以在仲裁器210同時收到的可能的幾個數(shù)據(jù)請求中進(jìn)行選擇,并將其中的一個輸出到BSU200的其余部分。
內(nèi)部高速緩存220可以將數(shù)據(jù)存儲在幾個高速緩存項目中。它可能具有對數(shù)據(jù)請求作出反應(yīng)以確定高速緩存220是否存儲請求數(shù)據(jù)的有效拷貝的邏輯。這里用到的“數(shù)據(jù)”可以指可以由代理者使用的變量數(shù)據(jù)和指令數(shù)據(jù)。內(nèi)部高速緩存220可以響應(yīng)數(shù)據(jù)請求而供給請求數(shù)據(jù)。
內(nèi)部事務(wù)處理隊列230也可以接收并存儲仲裁器210發(fā)出的數(shù)據(jù)請求。對于讀取請求,內(nèi)部事務(wù)處理隊列230與內(nèi)部高速緩存220配合以確定請求數(shù)據(jù)是否“命中”內(nèi)部高速緩存220(可由內(nèi)部高速緩存220供給)。如果不,如果數(shù)據(jù)請求“錯過”內(nèi)部高速緩存220,則內(nèi)部事務(wù)處理隊列230將數(shù)據(jù)請求轉(zhuǎn)發(fā)到外部事務(wù)處理隊列240。
外部事務(wù)處理隊列240可以解釋數(shù)據(jù)請求并生成外部總線事務(wù)處理來完成它們。外部事務(wù)處理隊列240可以包括幾個隊列寄存器。它在代理者的事務(wù)處理在外部總線170上進(jìn)行時對它們進(jìn)行管理。例如,當(dāng)數(shù)據(jù)可用于響應(yīng)事務(wù)處理時,外部事務(wù)處理隊列240檢索該數(shù)據(jù)并將其轉(zhuǎn)發(fā)到代理者中的請求者(例如核心)。
預(yù)取隊列260可以識別由核心(未示出)發(fā)出的讀取請求中的預(yù)定模式。例如,如果核心發(fā)出指向順序增加的存儲單元(地址A、A+1、A+2、A+3、…)的讀取請求,則預(yù)取隊列260可以發(fā)出預(yù)取請求,以便在核心實際請求數(shù)據(jù)本身之前從順序中的下一個地址(A+4)讀取數(shù)據(jù)。通過預(yù)期數(shù)據(jù)需要,預(yù)取隊列260可以使數(shù)據(jù)在核心發(fā)出數(shù)據(jù)請求時可在內(nèi)部高速緩存220中得到。將從內(nèi)部高速緩存220而不是外部存儲器向核心供給數(shù)據(jù)—快得多的操作。這里,這種類型的預(yù)取請求被稱為“模式預(yù)取(patterned prefetch)”。
BSU200可以實現(xiàn)第二類型的預(yù)取,這里稱為“盲預(yù)取(blindprefetch)”。當(dāng)核心發(fā)出將由外部總線事務(wù)處理完成的對某個地址(假定地址B)的數(shù)據(jù)的讀取請求時,盲預(yù)取機(jī)制可使第二外部總線事務(wù)處理檢索第二存儲地址(B+1)的數(shù)據(jù)。盲預(yù)取可以使不能內(nèi)部完成的來自核心的每個讀取請求產(chǎn)生一對外部總線事務(wù)處理。盲預(yù)取可以通過兩次檢索同滿足核心讀取請求所需的一樣多的高速緩存線(或高速緩存扇區(qū))來改進(jìn)處理器性能。再且,如果核心最終需要從其它地址(B+1)預(yù)取的數(shù)據(jù)的數(shù)據(jù),則在核心發(fā)出數(shù)據(jù)讀取請求時可以在內(nèi)部高速緩存220中得到數(shù)據(jù)。也可以從模式預(yù)取請求生成盲預(yù)取請求。利用上述示例,可以由對地址A+5的盲預(yù)取增加對地址A+4的模式預(yù)取請求。
回到圖1,眾所周知,特別是在多處理器計算機(jī)系統(tǒng)中,外部總線170會限制系統(tǒng)性能。外部總線170通常操作在遠(yuǎn)低于代理者的內(nèi)部時鐘速度的時鐘速度下。核心通常會在外部總線170能完成單個外部總線事務(wù)處理的時間發(fā)出幾個數(shù)據(jù)請求。這樣,單個代理者會消耗外部總線170的大量帶寬。當(dāng)多個代理者必須共享外部總線170時,每個代理者只分配有總線170上可用帶寬的一部分。在多代理者系統(tǒng)中,在外部總線檢索代理者進(jìn)程所需的數(shù)據(jù)時,代理者常常必須空閑地等待。
外部事務(wù)處理隊列240(圖2)可以包括對等候發(fā)送到外部總線的請求按優(yōu)先級排序的控制邏輯。通常,核心讀取應(yīng)該優(yōu)先于預(yù)取讀取,而預(yù)取讀取應(yīng)該優(yōu)先于寫入。核心讀取請求識別核心立即需要的數(shù)據(jù)。預(yù)取讀取請求識別核心可能在將來某個時間需要的數(shù)據(jù)。寫入請求識別代理者正返回給系統(tǒng)存儲器的數(shù)據(jù)。因此,外部事務(wù)處理隊列240可以包括根據(jù)所述優(yōu)先級把請求發(fā)送到外部總線上的控制邏輯。
預(yù)定優(yōu)先級方案具有其不足。請求通常被存儲在事務(wù)處理隊列240中,直到它在總線上被完成。在高擁擠階段期間,當(dāng)事務(wù)處理隊列完全或幾乎滿了的時候,預(yù)取和寫入請求會阻止新的核心請求被存儲在隊列240中。這些較低優(yōu)先級的請求將繼續(xù)存儲在隊列中,直到請求的外部總線事務(wù)處理完成。這樣,較低優(yōu)先級的請求會阻止較高優(yōu)先級的請求被執(zhí)行。這會限制系統(tǒng)的性能。
因此,技術(shù)上在代理者中需要用于外部事務(wù)處理隊列的擁擠管理系統(tǒng)。技術(shù)上需要這樣一種系統(tǒng)它提供動態(tài)優(yōu)先級系統(tǒng)—在沒有系統(tǒng)擁擠時保持第一優(yōu)先級方案,但在擁擠事件出現(xiàn)時執(zhí)行第二優(yōu)先級。
發(fā)明內(nèi)容
本發(fā)明的實施例提供一種用于代理者的多模式事務(wù)處理隊列。所述事務(wù)處理隊列可以按照缺省優(yōu)先級方案操作。當(dāng)檢測到擁擠事件時,事務(wù)處理隊列可以使用第二優(yōu)先級方案。
附圖簡述圖1是多代理者計算機(jī)系統(tǒng)的方框圖。
圖2是代理者的示例性總線排序單元的方框圖。
圖3是按照本發(fā)明一個實施例的代理者的外部事務(wù)處理隊列的方框圖。
圖4是按照本發(fā)明一個實施例的擁擠管理方法的流程圖。
詳細(xì)描述本發(fā)明的實施例提供一種事務(wù)處理隊列,它提供對擁擠事件的測量響應(yīng)。事務(wù)處理隊列選擇性地使隊列中正在等候的存儲的事務(wù)處理無效—它們目前未被發(fā)送到外部總線。在一個實施例中,事務(wù)處理隊列首先使盲預(yù)取請求無效。事務(wù)處理隊列還可以使未發(fā)送的預(yù)取請求無效,其中所述未發(fā)送的預(yù)取請求與有關(guān)發(fā)送的預(yù)取請求被存儲。最后,在極端擁擠的情況下,如沒有可用于新請求的空間時,事務(wù)處理隊列可以使未發(fā)送的模式預(yù)取請求對無效。
這些實施例有利地提供具有動態(tài)優(yōu)先級方案的事務(wù)處理隊列。在沒有擁擠時,事務(wù)處理隊列可以按照第一優(yōu)先級方案操作。例如如上所述,事務(wù)處理隊列可以使核心讀取請求優(yōu)先于預(yù)取請求,并使預(yù)取請求優(yōu)先于寫入請求??墒?,當(dāng)擁擠事件出現(xiàn)時,事務(wù)處理隊列可以采用第二優(yōu)先級方案。例如,事務(wù)處理隊列可以將核心讀取保持為最高優(yōu)先級請求,而將寫入請求的優(yōu)先級重新安排為次最高優(yōu)先級請求。
圖3是按照本發(fā)明的一個實施例的代理者的外部事務(wù)處理隊列300的方框圖。外部事務(wù)處理隊列300可以包括控制器310和多個隊列寄存器320-1到320-N(共同標(biāo)記為320)。各個隊列寄存器可以包括幾個字段,包括地址字段330、第一狀態(tài)字段340和第二狀態(tài)字段350。
外部事務(wù)處理隊列300可適合用于執(zhí)行盲預(yù)取的代理者。狀態(tài)字段340、350每個都可以存儲有關(guān)按照盲預(yù)取對來執(zhí)行的外部總線事務(wù)處理中相應(yīng)一個的信息。地址字段330可以存儲事務(wù)處理將被定向到的基地址。通常,在地址字段330和狀態(tài)字段340、345之間將存在預(yù)定關(guān)系。例如,如果地址D被存儲在寄存器320-1的地址字段330中,則狀態(tài)字段340可以保持有關(guān)定向到地址D的事務(wù)處理的狀態(tài)信息,并且狀態(tài)字段350可以保持有關(guān)定向到地址D+1的第二事務(wù)處理的狀態(tài)信息。
狀態(tài)字段340、350可以存儲關(guān)于相應(yīng)的事務(wù)處理的管理信息。這樣的信息可以包括請求類型、關(guān)于外部總線上相應(yīng)的事務(wù)處理的狀態(tài)的信息(即它是否被發(fā)送、請求可能在哪一個事務(wù)處理階段、事務(wù)處理是否完成等)和關(guān)于按照事務(wù)處理可能收到的數(shù)據(jù)的目的地的信息。通常,當(dāng)狀態(tài)寄存器340、350兩者都表明其相應(yīng)的事務(wù)處理已經(jīng)完成時,從寄存器320清除所述事務(wù)處理。
按照本發(fā)明的一個實施例,狀態(tài)字段340、350每一個都可以包括子字段,該子字段識別是否按照核心請求(“C”)或按照預(yù)取請求(“P”)生成對應(yīng)的事務(wù)處理。圖3說明了7個請求為核心請求和乘下的為預(yù)取請求的示例。在該示例中,存儲在寄存器320-1、320-4、320-5、320-6、320-8、320-11和320-N中的事務(wù)處理存儲由核心請求啟動的事務(wù)處理。那些寄存器的狀態(tài)字段340或350中的一個識別源于核心請求的事務(wù)處理;其它狀態(tài)字段表明盲預(yù)取請求。
其它寄存器320-2、320-3、320-7、320-9和320-10識別由盲預(yù)取增加的模式預(yù)取請求。狀態(tài)字段340、350兩者都表明請求是預(yù)取請求。
控制器310把外部事務(wù)處理隊列300連接到代理者中的其它元素(例如參見圖2)??刂破?10可以使事務(wù)處理被輸入到隊列寄存器320中或從其中刪除事務(wù)處理,并可以把數(shù)據(jù)寫入到地址字段330以及寫入到狀態(tài)字段340、350。控制器310還可以為要發(fā)送到外部總線170(圖1)的事務(wù)處理安排次序。在一個實施例中,控制器310可以是狀態(tài)機(jī)。
按照本發(fā)明的一個實施例,控制器310可以BSU 200中的擁擠事件期間選擇性地禁止預(yù)取請求。在第一實施例中,當(dāng)事務(wù)處理300經(jīng)歷擁擠時,事務(wù)處理隊列可以禁止還未被發(fā)送到外部總線上的任何盲預(yù)取事務(wù)處理。這可以例如通過即使事務(wù)處理從未被發(fā)送也把盲預(yù)取事務(wù)處理的狀態(tài)字段標(biāo)記為完成來實現(xiàn)。在此實施例中,當(dāng)在外部總線上完成核心讀取請求時,可以從事務(wù)處理隊列300中逐出事務(wù)處理。
在另一個實施例中,當(dāng)事務(wù)處理隊列經(jīng)歷擁擠時,事務(wù)處理隊列300可以逐出存儲在隊列中還未被發(fā)送到外部總線上的任何模式預(yù)取請求。事務(wù)處理隊列300可以簡單地通過解除對有關(guān)隊列寄存器的分配來逐出未開始的預(yù)取請求。
在又一個實施例中,當(dāng)事務(wù)處理隊列經(jīng)歷擁擠,并且事務(wù)處理隊列300存儲已經(jīng)開始的模式預(yù)取事務(wù)處理時,事務(wù)處理隊列300可以禁止預(yù)取對中的任何未發(fā)送的預(yù)取事務(wù)處理??紤]圖3的寄存器320-2中示出的模式預(yù)取請求。如所示的那樣,狀態(tài)字段350表明第一預(yù)取事務(wù)處理正在等候但還沒有被發(fā)送到外部總線上。相反,狀態(tài)字段340表明第二預(yù)取事務(wù)處理已經(jīng)被發(fā)送到外部總線上。在該實施例中,事務(wù)處理隊列300可以響應(yīng)于擁擠事件而把第一事務(wù)處理標(biāo)記為完成。在這種情況下,第二預(yù)取請求將被允許繼續(xù)完成。當(dāng)它完成時,事務(wù)處理隊列300可以解除對寄存器320-2的分配,因為狀態(tài)340、350兩者都識別完成的事務(wù)處理。
圖4是按照本發(fā)明的一個實施例可以由事務(wù)處理隊列300(圖3)執(zhí)行的方法1000的流程圖。在擁擠事件時,事務(wù)處理隊列可以確定新請求是否被輸入到事務(wù)處理隊列(步驟1010)。在收到新請求時,事務(wù)處理隊列可以確定是否有新請求可用的寄存器(步驟1020)。如果是,則它把請求存儲在可用的寄存器中(步驟1030)。可以按照在本領(lǐng)中的傳統(tǒng)方法執(zhí)行請求的存儲。事務(wù)處理隊列300可以確定請求的基地址并在分配的寄存器的各個字段330-350中輸入適當(dāng)?shù)男畔ⅰ?br>
如果在步驟1020中沒有可用的寄存器,則事務(wù)處理隊列300可以解除對與一對未發(fā)送的模式預(yù)取請求有關(guān)聯(lián)的寄存器的分配(步驟1040)。在執(zhí)行該步驟中,事務(wù)處理隊列300可以解除狀態(tài)字段340、350都表明相應(yīng)的事務(wù)處理還未被發(fā)送到外部總線的模式預(yù)取請求的分配。如果寄存器320中沒有一個識別一對未開始的預(yù)取請求,則新接收的請求可以被安裝(步驟未示出)。該請求被禁止輸入事務(wù)處理隊列。
在步驟1030結(jié)束時,或者在步驟1010沒有收到請求,事務(wù)處理隊列確定它是否正在擁擠模式下操作(步驟1050)。如果不是,事務(wù)處理隊列300可以停止方法1000的這種重復(fù)。
如果事務(wù)處理隊列300正在擁擠模式下操作,則事務(wù)處理隊列確定它是否存儲任何等候的盲預(yù)取事務(wù)處理(步驟1060)。如果是,事務(wù)處理隊列300可以禁止盲預(yù)取事務(wù)處理的其中之一(步驟1070)。步驟1070可以應(yīng)用于與核心請求有關(guān)的盲預(yù)取或模式預(yù)取請求。如果不是,或者在步驟1070結(jié)束時,該方法可以結(jié)束。
方法1000有利地提供對擁擠的測量響應(yīng)。作為第一響應(yīng),事務(wù)處理隊列使來自事務(wù)處理隊列的盲預(yù)取請求無效。如所討論的那樣,作為類的預(yù)取請求次于核心請求。經(jīng)驗也表明使盲預(yù)取次于模式預(yù)取是適當(dāng)?shù)?。模式預(yù)取可能比盲預(yù)取更有效。對存儲器的核心讀取的建立模式進(jìn)行響應(yīng)而發(fā)出模式預(yù)取。盲預(yù)取不依賴任何種類的可測量標(biāo)記。這樣,模式預(yù)取更可能檢索核心最終將請求的數(shù)據(jù),并應(yīng)該有利于盲預(yù)取而被保持。
當(dāng)盲預(yù)取被無效時,它增加了寄存器320可用于新接收的請求的速率。如說明的那樣,盲預(yù)取與核心讀取請求有關(guān)。核心讀取請求是由事務(wù)處理隊列處理的最高優(yōu)先級的請求—它們以最高優(yōu)先級被發(fā)送到外部總線上。
在優(yōu)先級的第二級,如果擁擠即使在所有預(yù)取都被無效后仍然繼續(xù),則事務(wù)處理隊列可以使與進(jìn)行中的預(yù)取請求有關(guān)的等候的模式預(yù)取請求無效(步驟1080)。因為預(yù)取請求中的一個已經(jīng)被發(fā)送到外部總線上,因此它可能在預(yù)定時間內(nèi)結(jié)束??墒?,即使它結(jié)束,第二等候的預(yù)取請求的狀態(tài)(在步驟1080中被無效的那個)會阻止有關(guān)寄存器被解除分配。通過把等候的預(yù)取請求標(biāo)記為完成,步驟1080確保在發(fā)送的預(yù)取請求結(jié)束時解除對寄存器的分配。
在優(yōu)先級的第三級,事務(wù)處理隊列有利于新收到的請求而解除對存儲一對等候的預(yù)取請求的寄存器的分配。這種情況僅在新接收的請求沒有可用的寄存器時出現(xiàn)。
本發(fā)明的原理允許幾個不同的觸發(fā)事件以使事務(wù)處理隊列300判定它是否在擁擠模式下操作。在第一實施例中,事務(wù)處理隊列300可以根據(jù)隊列中被分配了的或未被分配的寄存器320的數(shù)量來確定它是擁擠的。例如,如果事務(wù)處理隊列確定寄存器滿到90%或100%,它可判決它是在擁擠模式下操作。
在第二示例中,事務(wù)處理隊列可以根據(jù)外部總線的測量的等待時間來確定擁擠事件已經(jīng)出現(xiàn)。人們知道,代理者通常按照預(yù)定的總線協(xié)議操作。總線協(xié)議可以建立管理規(guī)則,以管理新請求何時可被發(fā)送到外部總線上以及的多個可能的代理者中的哪一個可能在各請求“時隙”中把新請求發(fā)送到總線上,每個時機(jī)把一個新請求發(fā)送到總線上。在這樣一個實施例中,事務(wù)處理隊列300可以測量若干在事務(wù)處理隊列300獲得總線所有權(quán)之前傳送的請求時隙。如果測量的時隙數(shù)超過預(yù)定閾值,則事務(wù)處理隊列300可以確定擁擠事件已經(jīng)出現(xiàn)。
按照另一個實施例,事務(wù)處理隊列300根據(jù)檢測的一種類型的擁擠不同地響應(yīng)擁擠事件??紤]事務(wù)處理隊列可以檢測上述兩種類型的觸發(fā)事件的示例1)可用寄存器的數(shù)量低于某閾值數(shù)(假設(shè)事務(wù)處理隊列全滿),以及2)測量的外部總線上的等待時間超過閾值量。按照一個實施例,事務(wù)處理隊列300可以在事務(wù)處理隊列300全滿時使所有預(yù)取請求無效,而在測量的外部總線上的等待時間超過閾值時僅使盲預(yù)取請求無效。該實施例會是有利的,因為它具有簡單的實現(xiàn)并區(qū)分低嚴(yán)重性和高嚴(yán)重性的擁擠事件。
前面的討論區(qū)分了等候和發(fā)送請求。這里,發(fā)送請求是已經(jīng)在外部總線上開始的請求。通常,外部總線由預(yù)定總線協(xié)議定義,它指定事務(wù)處理完成經(jīng)歷的增加的階段。前面實施例中描述的擁擠管理方法不干擾已經(jīng)發(fā)送的事務(wù)處理。相反,等候的請求是存儲在BSU中的但還未在外部總線上開始的請求。本發(fā)明的擁擠管理方法可以按照前面實施例中描述的那些技術(shù)來使等候請求無效。
如上所述,本發(fā)明的實施例提供事務(wù)處理隊列300,它可以按照動態(tài)優(yōu)先級方案操作。第一優(yōu)先級方案可被定義用于沒有擁擠時的事務(wù)處理隊列。但是在檢測到擁擠時,事務(wù)處理隊列可以執(zhí)行第二優(yōu)先級方案。在上述實施例中,事務(wù)處理隊列可以使預(yù)取請求無效。
前面實施例中描述的擁擠管理技術(shù)針對于讀取由事務(wù)處理管理系統(tǒng)處理的請求。人們知道,BSU可以處理其它類型的請求,如寫入請求,它們不是用來使數(shù)據(jù)被讀入代理者。前面實施例描述的擁擠管理技術(shù)不是用來干擾事務(wù)處理管理系統(tǒng)處理這些其它類型的請求的方法。
在此具體示出并描述了本發(fā)明的幾個實施例。可是要知道,在不脫離本發(fā)明的精神和預(yù)期范圍下的本發(fā)明的修改和變化被上述示教所覆蓋并在后附權(quán)利要求書的范圍內(nèi)。
權(quán)利要求
1.一種用于代理者的事務(wù)處理隊列,它按照動態(tài)優(yōu)先級方案操作,所述事務(wù)處理隊列按照缺省優(yōu)先級方案操作并在檢測到擁擠事件時使用第二優(yōu)先級方案。
2.一種在代理者中的用于外部事務(wù)處理的管理方法,它包括對多個讀取請求的數(shù)據(jù)進(jìn)行排隊,對于各個排隊的請求,存儲與相應(yīng)的所述請求有關(guān)的盲預(yù)取事務(wù)處理的數(shù)據(jù),當(dāng)事務(wù)處理擁擠事件出現(xiàn)時,禁止選定的被存儲的預(yù)取請求。
3.如權(quán)利要求1所述的管理方法,其特征在于所述事務(wù)處理擁擠事件在排隊的請求的數(shù)量超過預(yù)定閾值時出現(xiàn)。
4.如權(quán)利要求1所述的管理方法,其特征在于所述事務(wù)處理擁擠事件在存儲所述排隊的請求的隊列變滿時出現(xiàn)。
5.如權(quán)利要求1所述的管理方法,其特征在于所述事務(wù)處理擁擠事件在發(fā)送事務(wù)處理的測量的等待時間超過預(yù)定閾值時出現(xiàn)。
6.一種在代理者中的用于外部事務(wù)處理的管理方法,它包括對多個外部總線事務(wù)處理的數(shù)據(jù)進(jìn)行排隊,對于至少一個排隊的事務(wù)處理,存儲與所述相應(yīng)的事務(wù)處理有關(guān)的盲預(yù)取事務(wù)處理的數(shù)據(jù),當(dāng)事務(wù)處理擁擠事件出現(xiàn)時,禁止所述盲預(yù)取事務(wù)處理。
7.如權(quán)利要求6所述的管理方法,其特征在于所述事務(wù)處理擁擠事件在排隊的請求的數(shù)量超過預(yù)定閾值時出現(xiàn)。
8.如權(quán)利要求6所述的管理方法,其特征在于所述事務(wù)處理擁擠事件在存儲所述排隊的請求的隊列變滿時出現(xiàn)。
9.如權(quán)利要求6所述的管理方法,其特征在于所述事務(wù)處理擁擠事件在發(fā)送事務(wù)處理的測量的等待時間超過預(yù)定閾值時出現(xiàn)。
10.一種在代理者中的用于外部事務(wù)處理的管理方法,它包括對多個讀取請求、與代理者核心執(zhí)行的執(zhí)行有關(guān)的某些讀取請求、與預(yù)取的數(shù)據(jù)有關(guān)的某些其它讀取請求的數(shù)據(jù)進(jìn)行排隊,當(dāng)事務(wù)處理擁擠事件出現(xiàn)時,禁止所述預(yù)取請求。
11.如權(quán)利要求10所述的管理方法,其特征在于所述事務(wù)處理擁擠事件在排隊的請求的數(shù)量超過預(yù)定閾值時出現(xiàn)。
12.如權(quán)利要求10所述的管理方法,其特征在于所述事務(wù)處理擁擠事件在存儲所述排隊的請求的隊列變滿時出現(xiàn)。
13.如權(quán)利要求10所述的管理方法,其特征在于所述事務(wù)處理擁擠事件在發(fā)送事務(wù)處理的測量的等待時間超過預(yù)定閾值時出現(xiàn)。
14.一種在代理者中的用于外部事務(wù)處理的多模式管理方法,它包括對多個核心讀取請求的數(shù)據(jù)進(jìn)行排隊,對于各個核心讀取請求,存儲與相應(yīng)的所述核心讀取請求有關(guān)的盲預(yù)取事務(wù)處理的數(shù)據(jù),對與核心讀取請求的模式有關(guān)的預(yù)取請求的數(shù)據(jù)進(jìn)行排隊,在第一模式下,當(dāng)事務(wù)處理擁擠事件出現(xiàn)時,禁止所述盲預(yù)取事務(wù)處理,在第二模式下,當(dāng)事務(wù)處理擁擠事件出現(xiàn)時,禁止所述預(yù)取請求。
15.如權(quán)利要求14所述的管理方法,其特征在于所述事務(wù)處理擁擠事件在排隊的請求的數(shù)量超過預(yù)定閾值時出現(xiàn)。
16.如權(quán)利要求14所述的管理方法,其特征在于所述事務(wù)處理擁擠事件在存儲所述排隊的請求的隊列變滿時出現(xiàn)。
17.如權(quán)利要求14所述的管理方法,其特征在于所述事務(wù)處理擁擠事件在發(fā)送事務(wù)處理的測量的等待時間超過預(yù)定閾值時出現(xiàn)。
18.一種事務(wù)處理隊列,它包括控制器,多個隊列寄存器,每一個都具有地址字段和與一對有關(guān)所述地址的事務(wù)處理有關(guān)的狀態(tài)字段,其中,所述控制器響應(yīng)擁擠事件而修改寄存器中所述狀態(tài)字段之一,以使相應(yīng)的所述事務(wù)處理無效。
19.如權(quán)利要求18所述的事務(wù)處理隊列,其特征在于所述事務(wù)處理隊列存儲核心讀取請求、盲預(yù)取請求和模式預(yù)取請求,以及所述無效的事務(wù)處理是盲預(yù)取請求。
20.如權(quán)利要求19所述的事務(wù)處理隊列,其特征在于當(dāng)沒有有效盲預(yù)取請求時,所述控制器使模式預(yù)取請求無效。
21.代理者的一種總線排序單元,它包括仲裁器,內(nèi)部高速緩存,它被耦合到所述仲裁器,事務(wù)處理隊列,它被耦合到所述仲裁器,并存儲要由所述代理者執(zhí)行的外部事務(wù)處理、從核心讀取請求組選擇的事務(wù)處理、盲預(yù)取請求和模式預(yù)取請求的數(shù)據(jù),以及外部總線控制器,它被耦合到所述事務(wù)處理隊列,其中所述事務(wù)處理隊列響應(yīng)所述總線排序單元中的擁擠事件而使選擇的事務(wù)處理無效。
22.如權(quán)利要求21所述的總線排序單元,其特征在于所述選擇的事務(wù)處理是盲預(yù)取請求。
23.如權(quán)利要求21所述的總線排序單元,其特征在于當(dāng)所述事務(wù)處理隊列中沒有盲預(yù)取請求時,所述選擇的事務(wù)處理是模式預(yù)取請求。
24.一種用于外部事務(wù)處理的擁擠管理方法,所述外部事務(wù)處理成對地存儲在所述事務(wù)處理隊列中,并從核心讀取請求-盲預(yù)取請求對和模式預(yù)取請求對的集合中獲得,所述方法包括在事務(wù)處理隊列接收新請求,確定所述事務(wù)處理隊列是否具有空間存儲所述新請求,如果沒有,則從所述事務(wù)處理隊列中刪除一對模式預(yù)取請求,以及在所述事務(wù)處理隊列中存儲所述新請求。
25.如權(quán)利要求24所述的擁擠管理方法,其特征在于還包括使盲預(yù)取請求無效。
26.如權(quán)利要求23所述的擁擠管理方法,其特征在于還包括在所述對中的第二模式預(yù)取請求已經(jīng)被發(fā)送時使第一模式預(yù)取請求無效。
全文摘要
一種多模式事務(wù)處理隊列可以按照缺省優(yōu)先級方案操作。當(dāng)檢測到擁擠事件時,事務(wù)處理隊列可以采用第二優(yōu)先級方案。
文檔編號G06F13/362GK1503947SQ00817791
公開日2004年6月9日 申請日期2000年11月28日 優(yōu)先權(quán)日1999年12月28日
發(fā)明者D·L·希爾, D·T·巴錢德, C·B·普魯?shù)戮S, D·T·馬爾, D L 希爾, 巴錢德, 普魯?shù)戮S, 馬爾 申請人:英特爾公司