欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

在推測多線程計算系統(tǒng)中處理訪存請求的方法及其設(shè)備的制作方法

文檔序號:6462723閱讀:208來源:國知局
專利名稱:在推測多線程計算系統(tǒng)中處理訪存請求的方法及其設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及推測多線程計算技術(shù),更具體地,涉及一種在推測多 線程計算系統(tǒng)中處理對存儲器的訪問請求的方法和設(shè)備以及使用該方 法和設(shè)備的存儲器控制器。
背景技術(shù)
為了提高處理器的處理速度,使用推測多線程計算技術(shù)。推測多
線程也被稱為線程級推測(TLS),它是一種依賴于亂序執(zhí)行(Out of Order)來實現(xiàn)多處理器CPU加速的動態(tài)并行化技術(shù)。也就是說,推測 多線程是一種在線程級發(fā)生的推測執(zhí)行,它與指令級發(fā)生的推測執(zhí)行 相對。
推測多線程計算技術(shù)包括推測并行化、輔助線程和事務(wù)存儲器等, 該技術(shù)在多內(nèi)核芯片中的使用變得越來越普及,并且近年來已經(jīng)成為 計算機架構(gòu)中的熱門話題之一。這些推測線程迅速用于增強性能。實 質(zhì)上,在推測線程真正違反原始語義之前,推測線程可以不服從原始 語義。直到推測線程真正違反了原始語義,才中斷這些推測線程并重 新執(zhí)行。在推測并行化技術(shù)中,線程由順序程序產(chǎn)生,盡管它們可能 具有數(shù)據(jù)或控制依賴。在使用專用硬件機制在運行時檢測到數(shù)據(jù)或控 制違背時,這些推測線程應(yīng)當(dāng)被中斷并重新執(zhí)行。此外,事務(wù)存儲器 系統(tǒng)使程序員調(diào)用事務(wù),并且依賴于系統(tǒng)使事務(wù)的執(zhí)行看起來象是原 子的和獨立的。成功的事務(wù)將被提交,而與并發(fā)事務(wù)沖突的不成功事 務(wù)將被中斷。
在當(dāng)今的多內(nèi)核設(shè)計中存儲器帶寬問題變得越來越嚴(yán)重。在多內(nèi) 核芯片上越來越緊密的集成給對存儲器系統(tǒng)的芯片外訪問施加了更高的壓力。這是由于存在需要訪問芯片外存儲器系統(tǒng)的內(nèi)核的數(shù)量不斷 增長,并且這些內(nèi)核可能會竟?fàn)幱邢薜男酒苣_。
通常,當(dāng)前的多內(nèi)核系統(tǒng)支持并發(fā)運行的多個應(yīng)用,每一個應(yīng)用 具有包括推測線程和非推測線程的多個線程。實質(zhì)上,在芯片存儲器 系統(tǒng)中非推測線程應(yīng)當(dāng)具有比推測線程高的優(yōu)先級。應(yīng)當(dāng)重新考慮芯 片存儲器接口的設(shè)計以便利用推測線程和非推測線程的不同,從而在 推測多線程計算系統(tǒng)中減輕越來越嚴(yán)重的存儲器帶寬問題。
例如,2003年5月20日7〉布的美國專利US 6,567,901 Bl內(nèi)已經(jīng) 公開了一種指令級的推測執(zhí)行技術(shù)。具體地,該專利公開了使用一 個或多個隊列來存儲存儲器請求,在使用多個隊列的情況下, 一個隊 列用于存儲非推測請求,而另一個隊列用于存儲推測請求;僅在隊列 中不存在非推測請求時,才讀取隊列中的推測請求;以此方式,在清 空隊列中的推測請求之前清空隊列中的非推測請求;使用優(yōu)先級化的 不同隊列可以允許從單個處理器系統(tǒng)到多處理器系統(tǒng)的適當(dāng)轉(zhuǎn)換。也 就是說,在該專利中,給予非推測請求比推測請求高的優(yōu)先級。此夕卜, 該專利申請公開的技術(shù)方案僅僅適用于單處理系統(tǒng)。對于推測多線程 系統(tǒng),這可能帶來嚴(yán)重后果,例如,使得線程根本無法繼續(xù)執(zhí)行。
如果象美國專利US 6,567,901 Bl中那樣只要隊列中存在非推測 請求就不滿足隊列中的推測請求,那么在推測多線程系統(tǒng)中將嚴(yán)重影 響推測請求的執(zhí)行,并且使得不能有效地利用存儲器帶寬。
因此,需要一種在推測多線程系統(tǒng)中適當(dāng)?shù)靥幚矸峭茰y請求和推 測請求以便有效地利用訪存帶寬的方法、裝置和存儲器控制器。

發(fā)明內(nèi)容
考慮到現(xiàn)有技術(shù)中存在的上述問題,本發(fā)明通過適當(dāng)?shù)卣{(diào)整推測 請求和非推測請求被執(zhí)行的次序,來克服現(xiàn)有技術(shù)中存在的缺陷,從
而提高了訪存帶寬的利用率。此外,本發(fā)明可以使用現(xiàn)有的部件,還 可以節(jié)省成本。
為了實現(xiàn)上述目的,提供了一種在推測多線程系統(tǒng)中處理訪存請求存儲模塊中的訪存請求的方法,包括步驟在進行取非推測訪存請 求的處理期間,根據(jù)第一預(yù)定條件確定是否應(yīng)切換至進行取推測訪存 請求的處理;以及在進行取推測訪存請求的處理期間,根據(jù)第二預(yù)定 條件確定是否應(yīng)切換至進行取非推測訪存請求的處理。
為了實現(xiàn)上述目的,提供了一種在推測多線程系統(tǒng)中處理訪存請 求的訪存請求處理器,包括訪存請求存儲模塊,用于存儲非推測訪 存請求和推測訪存請求;輸入選擇控制單元,用于將非推測訪存請求
和推測訪存請求放入訪存請求存儲模塊;輸出選擇控制單元,用于在 進行取非推測訪存請求的處理期間,根據(jù)第一預(yù)定條件確定是否應(yīng)切
換至進行取推測訪存請求的處理,而在進行取推測訪存請求的處理期 間,根據(jù)第二預(yù)定條件確定是否應(yīng)切換至進行取非推測訪存請求的處 理;以及請求取出單元,用于在輸出選擇控制單元的控制下從訪存請 求存儲模塊中取出非推測訪存請求或推測訪存請求。
為了實現(xiàn)上述目的,提供了一種存儲器控制器,包括上述訪存請 求處理器。
通過使用本發(fā)明,能夠考慮非推測請求和推測請求的狀況,而選 擇性地讀取非推測請求和推測請求,從而提高訪存帶寬的利用率。此 外,由于本發(fā)明能夠利用現(xiàn)有的部件,諸如FIFO隊列等,能夠降低 產(chǎn)品的成本。


從下面結(jié)合附圖的詳細描述中,本發(fā)明將會更易于理解,其中, 相同的附圖標(biāo)記表示相同的結(jié)構(gòu)元素,并且,附圖中
圖1是示出了根據(jù)本發(fā)明實施例的在推測多線程系統(tǒng)中處理訪存 請求的方法的流程圖2是示出了根據(jù)本發(fā)明實施例的在推測多線程系統(tǒng)中處理訪存 請求的訪存請求處理器的示例配置的框圖;和
圖3是示出了實現(xiàn)根據(jù)本發(fā)明實施例的在推測多線程系統(tǒng)中處理 訪存請求的訪存請求處理器的框圖,其中使用計數(shù)器來作為輸出選擇控制單元;和
圖4是示出了實現(xiàn)根據(jù)本發(fā)明實施例的在推測多線程系統(tǒng)中處理 訪存請求的訪存請求處理器的框圖,其中使用計時器來作為輸出選擇 控制單元。
具體實施例方式
現(xiàn)在將以具體、示例性實施例描述本發(fā)明。應(yīng)該理解,本發(fā)明不 限于所披露的示例性實施例。還應(yīng)該理解,目前所披露的在推測多線 程系統(tǒng)中處理訪存請求的方法、處理器和存儲器控制器的每一個特征, 并非都是實現(xiàn)所附權(quán)利要求任一具體項要求保護的發(fā)明必不可少的。 描述設(shè)備的多個元件和特征是為了使本發(fā)明完全能夠得以實現(xiàn)。還應(yīng) 該理解的是,在本說明書中,在表示或者描述處理或方法之處,方法 的步驟可以按照任何順序執(zhí)行或者同時執(zhí)行,除非從上下文中顯然可 以看出 一個步驟依賴于先前執(zhí)行的另 一步驟。
圖1是示出了根據(jù)本發(fā)明實施例的在推測多線程系統(tǒng)中處理訪存 請求的方法的流程圖。
在步驟100,該操作開始。
在步驟102,判斷訪存請求存儲模塊中是否存在非推測請求。如 果存在非推測請求,則該處理前進到步驟104。如果不存在非推測請 求,則該處理前進到步驟108。
在步驟104,判斷從訪存請求存儲模塊中取非推測訪存請求是否 滿足第一預(yù)定條件。如果判斷的結(jié)果是從訪存請求存儲模塊取非推測 訪存請求滿足了第一預(yù)定條件,則該處理前進到步驟108。如果判斷 的結(jié)果是從訪存請求存儲模塊取非推測訪存請求未滿足第一預(yù)定條 件,則該處理前進到步驟106。
在步驟106,從訪存請求存儲模塊中取非推測訪存請求。然后, 該處理返回到步驟102。
在步驟108,判斷訪存請求存儲模塊中是否存在推測請求。如果 存在推測請求,則該處理前進到步驟110。如果不存在非推測請求,則該處理返回到步驟102。
在步驟110,判斷從訪存請求存儲模塊中取推測訪存請求是否滿 足第二預(yù)定條件。如果判斷的結(jié)果是從訪存請求存儲模塊取非推測訪 存請求滿足了第二預(yù)定條件,則該處理返回到步驟102。如果判斷的 結(jié)果是從訪存請求存儲模塊取非推測訪存請求未滿足第二預(yù)定條件, 則該處理前進到步驟112。
在步驟112,從訪存請求存儲模塊中取推測訪存請求。然后,該 處理返回到步驟108。
值得注意的是,在本文中提及的訪存請求可以是對存儲器的讀(加 載)請求,也可以是對存儲器的寫(存儲)請求。
此外,上述訪存請求存儲模塊可以被實現(xiàn)為僅僅一個隊列,用來 既存儲非推測請求,也存儲推測請求。例如,通過將該隊列中的奇數(shù) 地址分配給非推測請求,并且將該隊列中的偶數(shù)地址分配給推測請求,
或者將固定的區(qū)域分別分配給非推測請求和推測請求來區(qū)別非推測請 求和推測請求。當(dāng)然,也可以通過給存儲在隊列中的非推測請求和推 測請求添加標(biāo)記,來區(qū)別非推測請求和推測請求。
但是上述訪存請求存儲模塊也可以被實現(xiàn)為多個隊列,例如,兩 個隊列, 一個用于存儲非推測請求,而另一個用于存儲推測請求。當(dāng) 然,也可以根據(jù)諸如優(yōu)先級、要訪問的存儲器塊是否相同等等,使用 多個隊列來分別存儲非推測請求和推測請求。
其中,第一預(yù)定條件是用于判斷從取非推測請求處理切換為取推 測請求處理的條件,例如,可以是已經(jīng)從訪存請求存儲模塊中取了預(yù) 定次(例如,30次)非推測訪存請求;已經(jīng)從訪存請求存儲模塊中取 非推測訪存請求達到了一定時間(例如,1000周期);訪存請求存儲 模塊中的推測訪存請求數(shù)比訪存請求存儲模塊中的非推測訪存請求數(shù) 高預(yù)定程度(例如,高5%或多8個);推測請求占用的容量,例如, 在使用多個隊列的情況下系統(tǒng)監(jiān)測到推測隊列中的存儲容量達到臨界 狀態(tài)(例如,占用了 90% );或者根據(jù)設(shè)計要求、需要等而由管理員 或制造商設(shè)定的其它條件。其中,所述第二預(yù)定條件是用于判斷從取推測請求處理切換為取 非推測請求處理的條件,例如,可以是已經(jīng)從訪存請求存儲模塊中取 了預(yù)定次推測訪存請求,該預(yù)定次默認的是l次,或者進而當(dāng)系統(tǒng)監(jiān) 測到訪存請求存儲模塊中的相鄰的多個推測訪存請求針對的是存儲器 中的同 一存儲塊時,可以從訪存請求存儲模塊中連續(xù)取出這些推測訪
存請求;已經(jīng)從訪存請求存儲模塊中取推測訪存請求達到了 一定時間 (例如,100周期);訪存請求存儲模塊中的非推測訪存請求數(shù)比訪 存請求存儲模塊中的推測訪存請求數(shù)高預(yù)定程度(例如,高1%或多8 個);非推測請求占用的容量,例如,在使用多個隊列的情況下系統(tǒng) 監(jiān)測到非推測隊列中的存儲容量達到臨界狀態(tài)(例如,占用了 50 % ); 或者根據(jù)設(shè)計要求、需要等而由管理員或制造商設(shè)定的其它條件。
圖2是示出了根據(jù)本發(fā)明實施例的在推測多線程系統(tǒng)中處理訪存 請求的訪存請求處理器的示例配置的框圖。
如圖2所示,根據(jù)本發(fā)明實施例的訪存請求處理器包括輸入選擇 控制單元200、訪存請求存儲模塊202、請求取出單元206和輸出選擇 控制單元208。
輸入選擇控制單元200接收各個線程的訪存請求,并將其放入訪 存請求存儲模塊202。訪存請求可以是推測訪存請求,也可以是非推 測訪存請求。對于系統(tǒng)而言,在執(zhí)行線程的同時,各個訪存請求是推 測的還是非推測的是已知的。
訪存請求存儲模塊202用于存儲非推測和推測訪存請求。在訪存 請求存儲模塊202被實現(xiàn)為一個隊列的情況下,輸入選擇控制單元200 按照特定模式將訪存請求放入一個隊列中。如上面已經(jīng)說明的那樣, 將非推測請求放到該隊列中的奇數(shù)地址,而將推測請求放到該隊列中 的偶數(shù)地址?;蛘?,將非推測請求放到該隊列中的一個固定區(qū)域,而 將推測請求放到該隊列中的另一個固定區(qū)域。再者,也可以通過給存 儲在隊列中的非推測請求和推測請求添加標(biāo)記,使得非推測請求和推 測請求在隊列中可以相鄰放置。
雖然在圖2中未示出,但是訪存請求處理器中還可以包括一個寄存器。每當(dāng)一個訪存請求輸入到訪存請求處理器中,先將該訪存請求 存儲在該寄存器中。然后,根據(jù)訪存請求是推測的還是非推測的,在 該寄存器中給該訪存請求的首部添加一個標(biāo)志位。例如,"l"指示推測
請求,而"O"指示非推測請求,反之亦然。輸入選擇控制單元200從該 寄存器中讀取加了標(biāo)志位的訪存請求,然后根據(jù)標(biāo)志位,將該訪存請 求放入訪存請求存儲模塊中。
在訪存請求存儲模塊202被實現(xiàn)為多個隊列的情況下,輸入選擇 控制單元200按照FIFO (先進先出)方式將訪存請求放入相應(yīng)的一 個隊列中。訪存請求存儲模塊202可以使用現(xiàn)有的FIFO隊列構(gòu)造。 如上所述,也可以使用兩個或更多個隊列來分別存儲非推測請求和存 儲推測請求。
請求取出單元206用于在輸出選擇控制單元208的控制下從訪存 請求存儲模塊202中的非推測隊列或推測隊列取出訪存請求。
輸出選擇控制單元208根據(jù)預(yù)設(shè)的條件控制請求取出單元206取 出訪存請求存儲模塊202中的非推測訪存請求或推測訪存請求。
具體而言,當(dāng)進行對非推測請求的輸出控制時,輸出選擇控制單 元208首先判斷訪存請求存儲模塊202中是否存在非推測請求。如果 輸出選擇控制單元208確定訪存請求存儲模塊202不存在非推測請求, 則輸出選擇控制單元208開始進行對推測請求的輸出控制。如果輸出 選擇控制單元208確定訪存請求存儲模塊202存在非推測請求,則輸 出選擇控制單元208繼續(xù)判斷從訪存請求存儲模塊中取非推測訪存請 求是否滿足第一預(yù)定條件。如果輸出選擇控制單元208確定從訪存請 求存儲模塊取非推測訪存請求滿足了第一預(yù)定條件,則輸出選擇控制 單元208開始進行對推測請求的輸出控制。如果輸出選擇控制單元208 確定從訪存請求存儲模塊取非推測訪存請求未滿足第 一預(yù)定條件,則 輸出選擇控制單元208控制請求取出單元206開始取出訪存請求存儲 模塊202中的非推測訪存請求。然后,輸出選擇控制單元208重復(fù)上 述對非推測請求的輸出控制。
當(dāng)進行對推測請求的輸出控制時,輸出選擇控制單元208首先判斷訪存請求存儲模塊202中是否存在推測請求。如果輸出選擇控制單 元208確定訪存請求存儲模塊202不存在推測請求,則輸出選擇控制 單元208開始進行對非推測請求的輸出控制。如果輸出選擇控制單元 208確定訪存請求存儲模塊202存在推測請求,則輸出選擇控制單元 208繼續(xù)判斷從訪存請求存儲模塊中取推測訪存請求是否滿足第二預(yù) 定條件。如果輸出選擇控制單元208確定從訪存請求存儲模塊取推測 訪存請求滿足了第二預(yù)定條件,則輸出選擇控制單元208開始進行對 非推測請求的輸出控制。如果輸出選擇控制單元208確定從訪存請求 存儲模塊取推測訪存請求未滿足第二預(yù)定條件,則輸出選擇控制單元 208控制請求取出單元206開始取出訪存請求存儲模塊202中的推測 訪存請求。然后,輸出選擇控制單元208重復(fù)上述對推測請求的輸出 控制。
當(dāng)?shù)谝活A(yù)定條件是已經(jīng)從非推測隊列中取訪存請求的預(yù)定次數(shù) 時,可以使用計數(shù)器實現(xiàn)輸出選擇控制單元208;當(dāng)?shù)谝活A(yù)定條件是 已經(jīng)從非推測隊列中取訪存請求的 一定時間時,可以使用計時器實現(xiàn) 輸出選擇控制單元208。
輸出選擇控制單元208還可以從系統(tǒng)接收對訪存請求存儲模塊 202中的非推測訪存請求數(shù)比訪存請求存儲模塊202中的推測訪存請 求數(shù)高預(yù)定數(shù)量的系統(tǒng)監(jiān)控信號,或者在使用多個隊列時對推測隊列 中的存儲容量達到臨界狀態(tài)的系統(tǒng)監(jiān)控信號,而對請求取出單元206 進行控制。
圖3給出了在訪存請求存儲模塊302包括2個FIFO隊列312和 322、第一預(yù)定條件是從非推測隊列中取訪存請求的預(yù)定次數(shù)(例如, 128次)且第二預(yù)定條件也是預(yù)定次數(shù)(例如,默認值1次)時訪存 請求處理器的具體實現(xiàn)。
圖3所示的訪存請求處理器包括輸入選擇控制單元300、訪存請 求存儲模塊302、請求取出單元306和計數(shù)器308。下面具體說明圖3 所示的訪存請求處理器。
如圖3所示,訪存請求存儲模塊302用兩個現(xiàn)有的FIFO隊列實現(xiàn),F(xiàn)IFO隊列312用于存儲非推測請求而FIFO隊列322用于存儲推 測請求。
輸入選擇控制單元300用于將到來的訪存請求放入訪存請求存儲 模塊302中,以供進一步處理。當(dāng)有訪存請求到來時,如果是非推測 訪存請求,則輸入選擇控制單元300將其放入到非推測請求隊列312, 而如果是推測訪存請求,則輸入選擇控制單元300將其放入到推測請 求隊列322。
請求取出單元306在計數(shù)器308的控制下,從訪存請求存儲模塊 302中的非推測請求隊列312或推測請求隊列322中取出訪存請求。
輸出選擇控制單元208是用計數(shù)器308實現(xiàn)的。計數(shù)器308從0 至127進行計數(shù)。每當(dāng)請求取出單元306從非推測請求隊列312取出 一個非推測訪存請求時,計數(shù)器308將其計數(shù)值加1。當(dāng)計數(shù)器308 的計數(shù)值達到127時,則計數(shù)器308給請求取出單元306 —個觸發(fā)信 號,以控制其從推測請求隊列322中取一次推測訪存請求,然后計數(shù) 器308將其計數(shù)值重置為0,并給請求取出單元306另一個觸發(fā)信號, 以控制其從非推測請求隊列312中取非推測訪存請求,并重復(fù)上述過 程。
圖4給出了在訪存請求存儲模塊202包括2個FIFO隊列312和 322、第一預(yù)定條件是從非推測隊列中取訪存請求的預(yù)定時間(例如, 1000周期)且第二預(yù)定條件也是預(yù)定時間(例如,200周期)時訪存 請求處理器的具體實現(xiàn)。
圖4所示的訪存請求處理器的結(jié)構(gòu)與圖3所示的結(jié)構(gòu)基本相同, 除了圖4所示的輸出選擇控制單元是用計時器408實現(xiàn)的,而不是圖 3所示的計數(shù)器308。對于其他與圖3所示相同的部件,在此省略對其 的描述。下面具體說明輸出選擇控制單元408。
當(dāng)請求取出單元206首次開始從非推測請求隊列312取出非推測 訪存請求時,計時器408開始計時。計時器408從0至1000周期進行 計時。當(dāng)計時器408的計時值到達1000周期時,則計時器408給請求 取出單元206 —個觸發(fā)信號,以控制其從推測請求隊列322中開始取推測訪存請求。同時,計時器408將其計時值重置為0,并開始從0 至200周期進行計時。當(dāng)計時器408的計時值到達200周期時,則計 時器408給請求取出單元206另一個觸發(fā)信號,以控制其開始從非推 測請求隊列312中取非推測訪存請求,并重復(fù)上述過程。
圖3和4中給出的具體實現(xiàn)僅僅是示例性。本領(lǐng)域技術(shù)人員應(yīng)當(dāng) 理解可以以其他方式用諸如集成芯片或邏輯門等的其他硬件邏輯來實 現(xiàn)本發(fā)明的各組成部分。
此外,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解輸出選擇控制單元208和請求取 出單元206可以被集成在一個模塊中。并且,由于在本發(fā)明中的訪存 請求存儲模塊202可以是現(xiàn)有技術(shù)中的FIFO隊列,本領(lǐng)域技術(shù)人員 應(yīng)當(dāng)知道,可以將輸出選擇控制單元208單獨實現(xiàn)為一個模塊以對現(xiàn) 有技術(shù)中的訪存請求存儲隊列進行控制。
需要說明的是,根據(jù)本發(fā)明的訪存請求處理器可以被集成在存儲 器中,也可以與存儲器相分離。在本文中,存儲器指的是高速緩存、 ROM (只讀存儲器)、RAM (隨機存取存儲器)等等。
對本領(lǐng)域的技術(shù)人員來說將顯而易見的是,可在本發(fā)明中作出各 種修改,而不會背離本發(fā)明的精神和范圍。由此,意圖使本發(fā)明涵蓋 此發(fā)明的修改和變化,只要它們在所附權(quán)利要求及其等價物的范圍內(nèi) 即可。
權(quán)利要求
1.一種在推測多線程系統(tǒng)中處理訪存請求存儲模塊中的訪存請求的方法,包括步驟在進行取非推測訪存請求的處理期間,根據(jù)第一預(yù)定條件確定是否應(yīng)切換至進行取推測訪存請求的處理;以及在進行取推測訪存請求的處理期間,根據(jù)第二預(yù)定條件確定是否應(yīng)切換至進行取非推測訪存請求的處理。
2. 如權(quán)利要求l所述的方法,其中,所述在進行取非推測訪存請求的處理期間,根據(jù)第一預(yù)定條件確 定是否應(yīng)切換至進行取推測訪存請求的處理的步驟包括判斷從訪存請求存儲模塊取非推測訪存請求的處理是否滿足 第一預(yù)定條件,如果判定未滿足第一預(yù)定條件,則進行控制以從訪存請求存 儲模塊取非推測訪存請求,以及如果判定滿足了第一預(yù)定條件,則進行控制以執(zhí)行取推測訪 存請求的處理。
3. 如權(quán)利要求l所述的方法,其中,所述在進行取推測訪存請求的處理期間,根據(jù)第二預(yù)定條件確定 是否應(yīng)切換至進行取非推測訪存請求的處理的步驟包括判斷從訪存請求存儲模塊取推測訪存請求是否滿足第二預(yù)定條件,如果判定未滿足第二預(yù)定條件,則進行控制以從訪存請求存 儲模塊取推測訪存請求,以及如果判定滿足了第二預(yù)定條件,則進行控制以執(zhí)行取非推測 訪存請求的處理。
4. 如權(quán)利要求1或2所述的方法,其中,所述在進行取非推測訪 存請求的處理期間,根據(jù)第一預(yù)定條件確定是否應(yīng)切換至進行取推測 訪存請求的處理的步驟還包括判斷訪存請求存儲模塊中是否存在非推測請求,并且如果判定訪 存請求存儲模塊中不存在非推測請求,則進行控制以進行取推測訪存 請求的處理。
5. 如權(quán)利要求1或3所述的方法,其中,所述在進行取推測訪存 請求的處理期間,根據(jù)第二預(yù)定條件確定是否應(yīng)切換至進行取非推測 訪存請求的處理的步驟還包括判斷訪存請求存儲模塊中是否存在推測請求,并且如果判定訪存 請求存儲模塊中不存在推測請求,則進行控制以取非推測訪存請求的 處理。
6. 如權(quán)利要求l-5任一項所述的方法,其中,訪存請求是讀請 求或?qū)懻埱蟆?br> 7. 如權(quán)利要求l-5任一項所述的方法,其中,訪存請求存儲模 塊包括一個或多個隊列,在使用多個隊列的情況下,將非推測請求和 推測請求分別放入不同的隊列中。
8. 如權(quán)利要求l-5任一項所述的方法,其中,所述第一預(yù)定條 件是已經(jīng)從訪存請求存儲模塊中取了預(yù)定次非推測訪存請求、已經(jīng)從 訪存請求存儲模塊中取非推測訪存請求達到了 一定時間、訪存請求存 儲模塊中的推測訪存請求數(shù)比訪存請求存儲模塊中的非推測訪存請求 數(shù)高預(yù)定程度、推測請求所占用的容量達到臨界狀態(tài)中的至少 一 個。
9. 如權(quán)利要求l-5任一項所述的方法,其中所述第二預(yù)定條件 是已經(jīng)從訪存請求存儲模塊中取了預(yù)定次推測訪存請求、已經(jīng)從訪存 請求存儲模塊中取推測訪存請求達到了 一定時間、訪存請求存儲模塊 中的非推測訪存請求數(shù)比訪存請求存儲模塊中的推測訪存請求數(shù)高預(yù) 定程度、非推測請求所占用的容量達到臨界狀態(tài)中的至少一個。
10. —種在推測多線程系統(tǒng)中處理訪存請求的訪存請求處理器, 包括訪存請求存儲模塊,用于存儲非推測訪存請求和推測訪存請求; 輸入選擇控制單元,用于將非推測訪存請求和推測訪存請求放入 訪存請求存儲模塊;輸出選擇控制單元,用于在進行取非推測訪存請求的處理期間, 根據(jù)第一預(yù)定條件確定是否應(yīng)切換至進行取推測訪存請求的處理,而 在進行取推測訪存請求的處理期間,根據(jù)第二預(yù)定條件確定是否應(yīng)切換至進行取非推測訪存請求的處理;以及請求取出單元,用于在輸出選擇控制單元的控制下從訪存請求存儲模塊中取出非推測訪存請求或推測訪存請求。
11. 如權(quán)利要求10所述的訪存請求處理器,其中,輸出選擇控制 單元包括判斷從訪存請求存儲模塊取非推測訪存請求的處理是否滿足第一 預(yù)定條件的部件;在判定未滿足第一預(yù)定條件時進行控制以從訪存請求存儲模塊取 非推測訪存請求的部件;在判定滿足了第 一預(yù)定條件時進行控制以執(zhí)行取推測訪存請求的 處理的部件。
12. 如權(quán)利要求10所述的訪存請求處理器,其中,所述輸出選擇 控制單元包括判斷從訪存請求存儲模塊取推測訪存請求是否滿足第二預(yù)定條件 的部件,在判定未滿足第二預(yù)定條件時進行控制以從訪存請求存儲模塊取 推測訪存請求的部件;以及在判定滿足了第二預(yù)定條件時進行控制以執(zhí)行取非推測訪存請求 的處理的部件。
13. 如權(quán)利要求10或11所述的訪存請求處理器,其中,所述輸 出選擇控制單元包括在進行取非推測訪存請求的處理期間,還判斷訪存請求存儲模塊 中是否存在非推測請求,并且在判定訪存請求存儲模塊中不存在非推 測請求時進行控制以進行取推測訪存請求的處理的部件。
14. 如權(quán)利要求10或12所述的訪存請求處理器,其中,所述輸 出選擇控制單元還包括在進行取推測訪存請求的處理期間,還判斷訪存請求存儲模塊中 是否存在推測請求,并且在判定訪存請求存儲模塊中不存在推測請求 時進行控制以取非推測訪存請求的處理的部件。
15. 如權(quán)利要求10-14任一項所述的訪存請求處理器,還包括 寄存器,用于給接收的訪存請求的首部添加用于標(biāo)記訪存請求是推測訪存請求或非推測訪存請求的標(biāo)志位,以提供給輸入選擇控制單 元。
16. 如權(quán)利要求10-14任一項所述的訪存請求處理器,其中訪存 請求是讀請求或?qū)懻埱蟆?br> 17. 如權(quán)利要求10-14任一項所述的方法,其中,訪存請求存儲 模塊包括一個或多個隊列,在使用多個隊列的情況下,將非推測請求 和推測請求分別放入不同的隊列中。
18. 如權(quán)利要求10-14任一項所述的訪存請求處理器,其中,輸 出選擇控制單元是計數(shù)器或計時器。
19. 如權(quán)利要求10-14任一項所述的訪存請求處理器,其中,所 述第一預(yù)定條件是已經(jīng)從訪存請求存儲模塊中取了預(yù)定次非推測訪存 請求、已經(jīng)從訪存請求存儲模塊中取非推測訪存請求達到了 一定時間、 訪存請求存儲模塊中的推測訪存請求數(shù)比訪存請求存儲模塊中的非推測訪存請求數(shù)高預(yù)定程度、推測請求所占用的容量達到臨界狀態(tài)中的 至少一個。
20. 如權(quán)利要求10-14任一項所述的訪存請求處理器,其中,所 述第二預(yù)定條件是已經(jīng)從訪存請求存儲模塊中取了預(yù)定次推測訪存請 求、已經(jīng)從訪存請求存儲模塊中取推測訪存請求達到了一定時間、訪 存請求存儲模塊中的非推測訪存請求數(shù)比訪存請求存儲模塊中的推測 訪存請求數(shù)高預(yù)定程度、非推測請求所占用的容量達到臨界狀態(tài)中的 至少一個。
21. —種存儲器控制器,包括如權(quán)利要求10-20中的任一項所述 的訪存請求處理器。
全文摘要
本發(fā)明公開了一種在推測多線程系統(tǒng)中處理訪存請求存儲模塊中的訪存請求的方法、訪存請求處理器以及使用該訪存請求處理器的存儲器控制器。所述方法包括步驟在進行取非推測訪存請求的處理期間,根據(jù)第一預(yù)定條件確定是否應(yīng)切換至進行取推測訪存請求的處理;以及在進行取推測訪存請求的處理期間,根據(jù)第二預(yù)定條件確定是否應(yīng)切換至進行取非推測訪存請求的處理。本發(fā)明通過每一定程度地滿足非推測請求之后,即使非推測隊列非空,也響應(yīng)若干次推測隊列中的請求,來克服現(xiàn)有技術(shù)中存在的缺陷,從而提高了訪存帶寬的利用率。此外,本發(fā)明還可以與現(xiàn)有產(chǎn)品兼容,從而降低產(chǎn)品的成本。
文檔編號G06F9/38GK101587434SQ20081009859
公開日2009年11月25日 申請日期2008年5月22日 優(yōu)先權(quán)日2008年5月22日
發(fā)明者銳 侯, 常曉濤 申請人:國際商業(yè)機器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
宜良县| 兴隆县| 张家川| 聂拉木县| 印江| 鄢陵县| 德兴市| 年辖:市辖区| 长宁区| 木兰县| 新蔡县| 安远县| 麻阳| 大渡口区| 铜陵市| 汉沽区| 贺州市| 呼玛县| 日土县| 会同县| 明水县| 崇明县| 馆陶县| 华容县| 牙克石市| 湛江市| 萍乡市| 蒙自县| 日喀则市| 隆子县| 北海市| 大安市| 邢台县| 松滋市| 兴安盟| 丹棱县| 楚雄市| 瑞丽市| 六盘水市| 噶尔县| 会昌县|