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

操作系統(tǒng)例行程序的預(yù)測(cè)歷程儲(chǔ)存器的部分使用_4

文檔序號(hào):9925283閱讀:來源:國(guó)知局
2并根據(jù)預(yù)測(cè)歷程132產(chǎn)生預(yù)測(cè),W及流程結(jié)束于此。
[0070] 如方塊242所示,預(yù)測(cè)單元109會(huì)在微處理器100處理指令期間重新累計(jì)各別的預(yù) 測(cè)歷程132W及根據(jù)預(yù)測(cè)歷程132產(chǎn)生動(dòng)態(tài)預(yù)測(cè)。流程結(jié)束于方塊242。
[0071] 請(qǐng)參考圖4所示,圖4為根據(jù)本發(fā)明的另一實(shí)施例繪示的圖1中微處理器100的運(yùn)作 流程圖。圖4和圖2之間有部分的方塊相同且W相同標(biāo)號(hào)標(biāo)示。流程開始于方塊202。
[0072] 如方塊202所示,當(dāng)一線程是在一用戶特權(quán)等級(jí)(例如第3級(jí))時(shí),每一個(gè)預(yù)測(cè)單元 109會(huì)在微處理器100處理指令的期間累計(jì)其各別的預(yù)測(cè)歷程132,并且根據(jù)此預(yù)測(cè)歷程132 產(chǎn)生動(dòng)態(tài)預(yù)測(cè)。流程進(jìn)行到方塊212。
[0073] 如方塊212所示,控制單元124偵測(cè)到指示微處理器100運(yùn)作在一監(jiān)督者特權(quán)等級(jí) (例如第0級(jí))并使微處理器100由目前正在執(zhí)行的線程轉(zhuǎn)至執(zhí)行另一個(gè)不同的線程的事件。 流程進(jìn)行到方塊222。
[0074] 如方塊222所示,在微處理器100處理此監(jiān)督者特權(quán)等級(jí)的新線程的期間,為因應(yīng) 上述在方塊212中偵測(cè)到的事件,控制單元124會(huì)控制預(yù)測(cè)單元109暫緩累計(jì)其各別的預(yù)測(cè) 歷程132W及暫緩根據(jù)預(yù)測(cè)歷程132產(chǎn)生預(yù)測(cè)。然而,運(yùn)些預(yù)測(cè)單元109仍會(huì)繼續(xù)產(chǎn)生無須使 用到預(yù)測(cè)歷程132的靜態(tài)預(yù)測(cè)。流程進(jìn)行到方塊413。
[0075] 如方塊413所示,控制單元124將運(yùn)些預(yù)測(cè)歷程132的當(dāng)前實(shí)例儲(chǔ)存至預(yù)測(cè)歷程儲(chǔ) 存器108。在一實(shí)施例中,控制單元124僅儲(chǔ)存一給定的預(yù)測(cè)歷程132的一部分,借此降低儲(chǔ) 存所需要的時(shí)間。舉例來說,若分支預(yù)測(cè)單元102產(chǎn)生的預(yù)測(cè)歷程132A的檔案大小是相對(duì)大 (例如8KB),控制單元124可僅儲(chǔ)存最近存取的項(xiàng)目(其檔案大小例如為S^bytes)而非儲(chǔ)存 整個(gè)預(yù)測(cè)歷程132A。在一實(shí)施例中,控制單元124會(huì)廢棄預(yù)測(cè)歷程132中未被儲(chǔ)存的部分。并 且,在一實(shí)施例中,控制單元124僅儲(chǔ)存所有預(yù)測(cè)單元109中部分的預(yù)測(cè)單元109所產(chǎn)生的預(yù) 測(cè)歷程132而非儲(chǔ)存所有預(yù)測(cè)單元109產(chǎn)生的預(yù)測(cè)歷程132。舉例來說,如果判斷出相較于一 第二子集合的預(yù)測(cè)單元109,在第一子集合的預(yù)測(cè)單元109被一第0級(jí)線程中斷時(shí)對(duì)預(yù)測(cè)效 力的負(fù)面影響是更嚴(yán)重的,此時(shí)控制單元124可儲(chǔ)存第一子集合的預(yù)測(cè)單元109產(chǎn)生的預(yù)測(cè) 歷程132而不會(huì)儲(chǔ)存第二子集合的預(yù)測(cè)單元109產(chǎn)生的預(yù)測(cè)歷程132。較佳的是,控制單元 124會(huì)維護(hù)預(yù)測(cè)歷程儲(chǔ)存器108中的多個(gè)項(xiàng)目,并且每一個(gè)項(xiàng)目是關(guān)聯(lián)于由單一個(gè)第3級(jí)識(shí) 別符所識(shí)別的一不同的第3級(jí)處理程序。在一實(shí)施例中,第3級(jí)處理程序是由其x86處理內(nèi)容 識(shí)別符(process-context identifier,PCID)所識(shí)別,如前述的Intel 64與IA-32架構(gòu)軟件 開發(fā)者手冊(cè),第3A冊(cè),第4-46至4-62頁,段落4.10中所述。在另一實(shí)施例中,第3級(jí)處理程序 是由被加載x86 CR3控制緩存器中的第3級(jí)處理程序所使用的頁面目錄(page directory) 的地址所識(shí)別。在一實(shí)施例中,控制單元124是W先進(jìn)先出緩存(f irSt-in-firSt-OUt buffer)的方式維護(hù)預(yù)測(cè)歷程儲(chǔ)存器108。在另一實(shí)施例中,控制單元124利用一更復(fù)雜的替 換手段,例如最近使用的或最少使用的。較佳的是,當(dāng)微處理器100的功能單元持續(xù)處理第0 級(jí)線程的指令時(shí)會(huì)將預(yù)測(cè)歷程132儲(chǔ)存在預(yù)測(cè)歷程儲(chǔ)存器108中,并且第0級(jí)線程所需運(yùn)行 時(shí)間可能會(huì)比預(yù)測(cè)歷程所需的儲(chǔ)存時(shí)間還要長(zhǎng)。然而,有利的是,因?yàn)轭A(yù)測(cè)歷程132的數(shù)組 不會(huì)一直被用(也即被寫入)來累計(jì)預(yù)測(cè)歷程或產(chǎn)生預(yù)測(cè)(也即被讀取)進(jìn)而處理第0級(jí)指 令,而只會(huì)一直被讀取W儲(chǔ)存預(yù)測(cè)歷程,因此從儲(chǔ)存預(yù)測(cè)歷程到處理第0級(jí)指令期間用W儲(chǔ) 存預(yù)測(cè)歷程132的儲(chǔ)存數(shù)組的讀取端口和寫入端口在使用上不會(huì)發(fā)生爭(zhēng)奪的情形。運(yùn)會(huì)有 助于因?yàn)椴恍枰獮榇四康亩趦?chǔ)存數(shù)組上增加讀取端口,使得累計(jì)儲(chǔ)存預(yù)測(cè)歷程所需要外 加的硬件的數(shù)量可W降到最低。流程進(jìn)行到方塊232。
[0076] 如方塊232所示,控制單元124偵測(cè)到用W指示微處理器100運(yùn)作在一用戶特權(quán)等 級(jí)(例如第3級(jí))W及由目前正在執(zhí)行的線程轉(zhuǎn)至執(zhí)行另一個(gè)不同的線程的事件。流程進(jìn)行 到方塊433。
[0077] 如決定方塊433所示,控制單元124判斷在方塊212中轉(zhuǎn)進(jìn)的新第3級(jí)線程與轉(zhuǎn)離的 舊的第3級(jí)線程是否屬于相同處理程序的一部分。如方塊413所述,控制單元124可根據(jù)比較 前述兩個(gè)線程的處理程序識(shí)別符(例如x86 PCID)的結(jié)果,來進(jìn)行運(yùn)里所述的判斷。若新第3 級(jí)線程的處理程序不同于舊的第3級(jí)線程的處理程序,則流程進(jìn)行到方塊435;反之,則流程 進(jìn)行到方塊242。
[0078] 如方塊435所示,控制單元124會(huì)從預(yù)測(cè)歷程儲(chǔ)存器108中恢復(fù)新第3級(jí)處理程序的 預(yù)測(cè)歷程132。換句話說,控制單元124利用新第3級(jí)處理程序識(shí)別符在預(yù)測(cè)歷程儲(chǔ)存器108 中尋找對(duì)應(yīng)新第3級(jí)處理程序識(shí)別符的預(yù)測(cè)歷程,并根據(jù)第3級(jí)處理程序識(shí)別符,從預(yù)測(cè)歷 程儲(chǔ)存器108加載預(yù)測(cè)單元109所產(chǎn)生的預(yù)測(cè)歷程132。較佳的是,當(dāng)微處理器100的功能單 元繼續(xù)處理用W執(zhí)行從第0級(jí)轉(zhuǎn)換至第3級(jí)的微指令的指令時(shí),執(zhí)行從預(yù)測(cè)歷程儲(chǔ)存器108 中恢復(fù)預(yù)測(cè)歷程132的步驟。此微指令所需的運(yùn)行時(shí)間可為一有效數(shù)量的頻率周期,并且也 可比恢復(fù)所述的預(yù)測(cè)歷程132所需的時(shí)間還長(zhǎng)。此作法將帶來一好處,那就是許多的預(yù)測(cè)歷 程132的數(shù)組不會(huì)一直被用(也即被寫入)來累計(jì)預(yù)測(cè)歷程或產(chǎn)生預(yù)測(cè)(也即被讀?。¦處理 第0級(jí)指令而只是用來恢復(fù)預(yù)測(cè)歷程,使得從等級(jí)轉(zhuǎn)換微指令至恢復(fù)預(yù)測(cè)歷程的期間可能 極少有或不會(huì)有爭(zhēng)奪使用預(yù)測(cè)歷程132的儲(chǔ)存數(shù)組的讀、寫端口的情況。舉例來說,在一實(shí) 施例中,微指令單元不會(huì)使用分支預(yù)測(cè)單元102,也即分支預(yù)測(cè)單元102不會(huì)針對(duì)微指令中 的指令產(chǎn)生預(yù)測(cè)。另舉一示例來說,在一實(shí)施例中,等級(jí)轉(zhuǎn)換微指令不會(huì)存取系統(tǒng)內(nèi)存,因 此數(shù)據(jù)預(yù)先揃取單元104不需要為等級(jí)轉(zhuǎn)換微指令進(jìn)行數(shù)據(jù)預(yù)先揃取,并且儲(chǔ)存沖突預(yù)測(cè) 單元106也不需要為等級(jí)轉(zhuǎn)換微指令產(chǎn)生預(yù)測(cè)。此作法將帶來一好處,那就是因?yàn)椴恍枰獮?運(yùn)個(gè)目的而在儲(chǔ)存數(shù)組上增加額外的寫入端口(write pod),所W提供給恢復(fù)預(yù)測(cè)歷程所 需的外加的硬件的總數(shù)量可降到最低。流程進(jìn)行到方塊242。
[0079] 如方塊242所示,運(yùn)些預(yù)測(cè)單元109在微處理器100正處理指令的期間會(huì)重新累計(jì) 其各別的預(yù)測(cè)歷程132并根據(jù)預(yù)測(cè)歷程132產(chǎn)生動(dòng)態(tài)預(yù)測(cè)。流程結(jié)束于方塊242。
[0080] 有利的是,處理新第3級(jí)線程的指令不會(huì)損及舊的第3級(jí)線程的預(yù)測(cè)歷程132,借此 使新和舊的第3級(jí)線程皆能有較高的預(yù)測(cè)準(zhǔn)確性。
[0081] 圖3和圖4的諸多實(shí)施例可有效地組合成其他實(shí)施例,因此控制單元124可儲(chǔ)存和 恢復(fù)關(guān)聯(lián)于第0級(jí)線程的預(yù)測(cè)歷程132,并且針對(duì)第0級(jí)線程,控制單元124可決定不暫緩累 計(jì)和使用運(yùn)些第0級(jí)線程的預(yù)測(cè)歷程132。運(yùn)里的第0級(jí)線程可例如為指令長(zhǎng)度相對(duì)長(zhǎng)的第0 級(jí)線程和/或基于在先前執(zhí)行第0級(jí)線程和/或第3級(jí)處理程序期間所產(chǎn)生的預(yù)測(cè)的有效性 而具有累計(jì)并使用預(yù)測(cè)歷程132價(jià)值的第0級(jí)線程。如上所述,微處理器100由第3級(jí)轉(zhuǎn)換至 第0級(jí)所需要的時(shí)間W及由第0級(jí)轉(zhuǎn)換至第3級(jí)所需要的時(shí)間可為一有效數(shù)量的頻率周期, 并且在運(yùn)段期間,不需要累計(jì)預(yù)測(cè)歷程132也不需要根據(jù)預(yù)測(cè)歷程132產(chǎn)生預(yù)測(cè)。因此,控制 單元124在運(yùn)段期間可有效地而非象征性地儲(chǔ)存相對(duì)應(yīng)的預(yù)測(cè)歷程132至預(yù)測(cè)歷程儲(chǔ)存器 108或從預(yù)測(cè)歷程儲(chǔ)存器108中恢復(fù)相對(duì)應(yīng)的預(yù)測(cè)歷程132,有果有的話,則對(duì)性能不利。在 運(yùn)些實(shí)施例中有利的是,可達(dá)到將被儲(chǔ)存和被恢復(fù)的預(yù)測(cè)歷程132的總數(shù)限制在由第0級(jí)轉(zhuǎn) 換至第3級(jí)的轉(zhuǎn)換期間W及由第3級(jí)轉(zhuǎn)換至第0級(jí)的轉(zhuǎn)換期間可能被儲(chǔ)存和被恢復(fù)的總數(shù)的 目的,W避免微處理器100停止執(zhí)行指令直到完成儲(chǔ)存及恢復(fù)的動(dòng)作為止。
[0082] 此外,雖然上述實(shí)施例中微處理器100會(huì)因應(yīng)線程由一個(gè)特權(quán)等級(jí)轉(zhuǎn)換至另一個(gè) 不同的特權(quán)等級(jí),而選擇性地暫緩累計(jì)預(yù)測(cè)歷程W及根據(jù)預(yù)測(cè)歷程產(chǎn)生預(yù)測(cè),然而在其他 實(shí)施例中,微處理器100也可因應(yīng)在相同的特權(quán)等級(jí)下的線程轉(zhuǎn)換,而選擇性地暫緩或重新 累計(jì)預(yù)測(cè)歷程W及根據(jù)預(yù)測(cè)歷程產(chǎn)生預(yù)測(cè)。舉例來說,微處理器100可通過偵測(cè)不設(shè)及改變 特權(quán)等級(jí)的事件來偵測(cè)線程轉(zhuǎn)換,并響應(yīng)W暫緩或重新累計(jì)預(yù)測(cè)歷程W及根據(jù)預(yù)測(cè)歷程產(chǎn) 生預(yù)測(cè)。舉例來說,微處理器100可簡(jiǎn)單地偵測(cè)具有一特定的IP值的一指令(例如一子程序 呼叫或返回指令(subroutine call or return instruction))的執(zhí)行,此特定的IP值可例 如為其他架構(gòu)狀態(tài)的一特定值,此其他架構(gòu)狀態(tài)的一特定值可例如為一般目的緩存器的 值。另舉一示例來說,微處理器100可偵測(cè)一串指令和/或IP值。
[0083] 操作系統(tǒng)例行程序的預(yù)測(cè)歷程儲(chǔ)存器的分?jǐn)?shù)(打actional)使用
[0084] 請(qǐng)參考圖5所示,圖5為根據(jù)本發(fā)明的一實(shí)施例所繪示的一控制信息表單500的示 意圖??刂菩畔⒈韱?00是為保持圖1中優(yōu)化信息112的一儲(chǔ)存實(shí)施例??刂菩畔⒈韱?00包 含多個(gè)項(xiàng)目,每一個(gè)項(xiàng)目用W保存一操作系統(tǒng)例行程序的識(shí)別符502和其關(guān)聯(lián)的控制信息 504。運(yùn)里的OS例行程序的識(shí)別符502可包含如前述關(guān)于優(yōu)化信息112的不同的信息,例如狀 態(tài)值(例如當(dāng)執(zhí)行一x86 SYSCA化指令時(shí)此OS例行程序的IP值和一般目的緩存器的值),并 且識(shí)別符502可使控制單元124識(shí)別出正要開始執(zhí)行的一 OS例行程序。運(yùn)里的控制信息504 指明其他事物中的一分?jǐn)?shù)(fraction)。預(yù)測(cè)歷程132的儲(chǔ)存器包含多個(gè)儲(chǔ)存部,運(yùn)些儲(chǔ)存部 是可獨(dú)立控制,W累計(jì)預(yù)測(cè)歷程。換句話說,控制單元124可控制運(yùn)些預(yù)測(cè)單元109,使運(yùn)些 預(yù)測(cè)單元109在此OS例行程序執(zhí)行期間僅使用預(yù)測(cè)歷程132的儲(chǔ)存器中的一部分的儲(chǔ)存部 來累計(jì)預(yù)測(cè)歷程,并且此部分的儲(chǔ)存部可隨正在執(zhí)行的OS例行程序的不同而不同。舉例來 說,預(yù)測(cè)歷程132的儲(chǔ)存可利用路徑(way)來排列,如圖6所示;或者,預(yù)測(cè)歷程132的儲(chǔ)存可 用群組(set)來排列,如圖7所示;或者,預(yù)測(cè)歷程132的儲(chǔ)存可排列成一項(xiàng)目的隊(duì)列,如圖8 所示。前述的每個(gè)排列例子中,預(yù)測(cè)歷程132的儲(chǔ)存器內(nèi)的路徑/群組/項(xiàng)目可分別控制,W 累計(jì)預(yù)測(cè)歷程,并且關(guān)聯(lián)于一 OS例行程序的控制信息504的分?jǐn)?shù)指明預(yù)測(cè)歷程132的儲(chǔ)存器 中部分儲(chǔ)存部,W在執(zhí)行相關(guān)的OS例行程序期間累計(jì)預(yù)測(cè)歷程132,此相關(guān)詳細(xì)敘述記載如 下。較佳的是,控制信息504指明微處理器100的每個(gè)預(yù)測(cè)單元109的儲(chǔ)存器中的一部分儲(chǔ)存 部給預(yù)測(cè)歷程132使用。
[0085] 在一實(shí)施例中,控制信息表單500記載的信息是在制造微處理器100之前已決定并 且建構(gòu)在例如為微處理器100的微指令中。此微指令是可由例如包含微處理器100的系統(tǒng)的 BIOS利用一微指
當(dāng)前第4頁1 2 3 4 5 6 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
祥云县| 遂宁市| 三都| 浠水县| 浦县| 盐津县| 哈尔滨市| 古田县| 郸城县| 宾川县| 公主岭市| 遵化市| 成安县| 永兴县| 高安市| 出国| 醴陵市| 沾益县| 神农架林区| 镇坪县| 衡山县| 保康县| 苍梧县| 宜黄县| 武平县| 翼城县| 铅山县| 屏东市| 陇南市| 扶余县| 叶城县| 苗栗市| 三门县| 固原市| 东莞市| 墨竹工卡县| 申扎县| 三亚市| 成武县| 北安市| 特克斯县|