亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于需求的處理資源分配的制作方法

文檔序號:6616055閱讀:272來源:國知局
專利名稱:基于需求的處理資源分配的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算和計算網(wǎng)絡(luò)領(lǐng)域,特別是涉及當(dāng)需要處理資源時分配 處理資源的領(lǐng)域。
背景狄
《狄理器包括執(zhí)行各種任務(wù)的大量電路、邏輯和功能單元。當(dāng)更多的 功能性被引入微處理器時,對電能的消^^會相應(yīng)增加。因此,例如當(dāng)各 種微處理器的電路或邏輯單元在不使用的狀況下,有時候有選擇性地禁用 它們可能是有利的。但遺憾的是,啟用或禁用孩狄理器中的^4t電路或邏 輯需要時間,而這可能影響處理器的性能。因此,在某些處理器中,選擇 是否禁用某個電路或邏輯可能取決于該電路或邏輯在不影響處理器性能的 前提下為完成某項任務(wù)而重新啟用的速度有多快。
例如,某些電路,如專門的功能單元(例如浮點(diǎn)功能單元)可能在一段 時間內(nèi)不使用,但仍然保持啟用狀態(tài),因而耗費(fèi)了不必要的電能。例如, 圖1圖解說明了根據(jù)現(xiàn)有技林處理器中的一組邏輯,包括一些沒有在圖 中示出的^ft其它邏輯^^]的若干執(zhí)^t斜戔。M地說,圖1圖解說明了
一個整數(shù)(MT)堆棧、 一個單指令多數(shù)據(jù)(SIMD)ilia和浮點(diǎn)(FP)堆棧,它們 中的每一個分別包括可能用于執(zhí)行整數(shù)、SMD和浮點(diǎn)運(yùn)算的功能單元。 所述i斜戔可包括或不包括為對應(yīng)的功能單元l呆持lt據(jù)的寄存器文件。例如, 寄存器可由分配單元對指4i;或者次指4i:sub-instruction),例如一個微操作,
或'Vop")來分配并且由調(diào)度器調(diào)度用于執(zhí)行,調(diào)度器可以讀^ft數(shù)據(jù)并根 據(jù)才刺乍的類型在i斜戈之一上執(zhí)行。當(dāng)一條指令或被執(zhí)行后,它可由引 出單元(retireunit)引出并提交^l理器狀態(tài)上下文。
在整個上述的過程中,INT, SMD和FP i斜^l^者中的一個或多個 可能被啟用,因而消耗電能,盡管不是所有的堆棧都實際用于完成特定指 令或^p的^/f亍。因而當(dāng)指令或微指令^U亍時,由于未用于完成指令或^p 的才九行的堆棧處于啟用狀態(tài),因此消耗了不必要的電能。然而,如果后續(xù) 指令或pop需^^M禁用的^^戔,那么禁用4封可一個ilM戔可能導(dǎo)致性能下 降,因為在后續(xù)指令或的執(zhí)行不:R^遲的^f牛下,禁用的J斜戔不能被 足夠快地重新啟用以由后續(xù)指令或使用。

發(fā)明內(nèi)容
根據(jù)本發(fā)明的第一方面,提供了一種裝置,包括 i1^戔控制器,用于根據(jù)i斜戈是否將被已分配的指令使用來啟用或禁用所述 糊。
根據(jù)本發(fā)明的第二方面,提供了一種系統(tǒng),包括
賴器,^#第一指4^口第1旨令; 處理器,檢測寄存器是否已經(jīng)分配給第一或第二指令,以及確定是否響應(yīng) 所述分配來啟用對應(yīng)的第一或第二執(zhí)行;t斜戈,以及所述處理器響應(yīng)第一或 第1旨令被引退,絲一步確^^否禁用所述第一或第j^丸^t斜戔。
根據(jù)本發(fā)明的笫三方面,提供了一種方法,包括
為笫一指令分配至少一個寄存器;
設(shè)置第一位來指示所述至少一個寄存器已經(jīng)被分配;
在重排序緩沖區(qū)中^fJ者所紅少一個寄存器的分配的指示;
引W述第一指令;
設(shè)置第二位來指示所述第一指令是否為將被引退的重排序緩沖區(qū)條目 的第一代的^一個指令。
根據(jù)本發(fā)明的笫四方面,提供了一種處理器,包括 分商詳元,分酉Wf應(yīng)于多個微操作的多個寄存器; 調(diào)度器,調(diào)度所述多個微才辨來執(zhí)行; 多個i斜戔,^f亍與多個微才^t相對應(yīng)的操作;
引退單元,引i^斤述多個微:^t;
i斜戔控制器,響應(yīng)為所述多個微操作中的至少一個分配所述多個寄存 器中的至少一個,來啟用所述多個纟M中的至少一個。


在附圖中,作為示例而非限制地圖解說明了本發(fā)明。
圖1圖解說明根據(jù)現(xiàn)有技術(shù)在處理器中用于執(zhí)行各種操作的一組邏
輯;
圖2圖解說明根據(jù)本發(fā)明的一個實施例,在處理器中用于扭行各種操 作的邏輯裝置;
圖3圖解說明可與本發(fā)明的一個或多個實施例結(jié)^fM的重排序緩沖 區(qū)(re畫order buffer)(ROB);
圖4是《d呈圖,圖解說明了可用于才丸行本發(fā)明的一個實施例的至少一 些方面的纟,;
圖5圖解說明了共享總線的計算機(jī)系統(tǒng),其中可^i ]本發(fā)明的至少一 個實施例;
圖6圖解說明了點(diǎn)對點(diǎn)總線計算機(jī)系統(tǒng),其中可^^)本發(fā)明的至少一 個實施例。
本發(fā)明的實施例涉及處理器和計算機(jī)系統(tǒng),更具體地說,本發(fā)明的至 少一個實施例涉及基于對各種處理資源的需求來有效地分配和回收 (deallocate)這些資源。
本發(fā)明的一些實施例允許基于是否需要處理器中的一個或多個資源來 完成某個才辨或者"在需求時(on demand)"將處理器中的一個或多個資源 啟用或禁用,而不會顯著降低處理器性能,所述操作是例如指令或pop(此 后統(tǒng)稱為"指令")。本發(fā)明的至少一個實施例允許在指令的執(zhí)行不^JI]一 個或多個執(zhí)行結(jié)構(gòu)時禁用由指^H吏用的一個或多個執(zhí)行結(jié)構(gòu),例如4;M亍堆
棧(包括一個或多個^U亍邏輯或資源);以4后續(xù)指令的扭Z亍使用所述i斜戔 時重新啟用所述一個或多個堆棧,而后續(xù)指令不需要^1遲很長一段時間才 被拋亍。
具體地說, 一個實施例基于正在批f亍的指令是否對應(yīng)于SMD和/或FP 才辦來啟用或禁用SMD和/或FP i斜戈。而且, 一個實施例執(zhí)行在處理器 ^7K線的一個點(diǎn)上該指令是否對應(yīng)于SIMD和/或FP ^喿作的枱r測,使得該 指令可被檢測并JL^"應(yīng)的:l斜勁^用而不需要Mi4^遲指令的執(zhí)行。
圖2圖解說明了根據(jù)本發(fā)明的一個實施例的一組邏輯,其中分配單元201 分配寄存H^指4H錢,并且該指令由調(diào)度單元205調(diào)^于執(zhí)行。jtM卜, 圖2中的邏輯說明了三個才;M亍結(jié)構(gòu)(例如i斜戔),用于根據(jù)與指令相關(guān)聯(lián)的操 作碼來執(zhí)行指令。在一個實施例中,所述^Vff^構(gòu)相對應(yīng)于^::t斜戔210、 SMD堆棧211和FP:i械212;而在另一些實施例中,可負(fù)沐更少或更多 的堆棧,或者不同類型的堆棧。有利的是,在本發(fā)明的一個實施例中,并 不是圖2中所有的執(zhí)行結(jié)構(gòu)者財支需要來執(zhí)^^定的指令,因而執(zhí)行結(jié)構(gòu)可 被禁用。圖2中的邏輯還說明了引退單元(retirement unit)225,用于將一條 或多條指令的執(zhí)行產(chǎn)生的信息提交給處理器狀態(tài)和/或使數(shù)據(jù)對于在計算機(jī) 系統(tǒng)中的其它設(shè)4^可用。
為了檢測一條指令的扭行是否沒有使用如圖2所示的一個或多個i斜戔, i斜戈控制器220可以檢測指令的類型并啟用可能處于禁用狀態(tài)的一個或多 個i斜戔。同樣,該i斜戔控制器220可檢測何時一條指令已經(jīng)引退,使得可 在執(zhí)行使用 一個或多個堆棧的指令^禁用所述一個或多個堆棧。為了通 過信號223和224及時啟用一個或多個處于禁用狀態(tài)的堆棧以使指令在不 絲延遲的條件下被執(zhí)行,堆??刂破?20從分配單元201接收信號221 以通知堆??刂破麝P(guān)于禁用的堆棧是否將由正^^配的指令使用。同樣, 在一個實施例中,i斜戔控制器從引退單iU矣收信號202以確定何時與啟用 的i斜勁目對應(yīng)的指令已經(jīng)引退,使得i1^戔控制器220可通過信號223和224 來禁用適當(dāng)?shù)膇li4戔。因為i斜戔控制器220根據(jù)在為指令分配寄存器期間產(chǎn) 生的信息來檢測指令是否將使用特定堆棧,所以對應(yīng)的堆??稍诔渥愕臅r間內(nèi)啟用以允許繼續(xù)進(jìn)行指令的處理而沒有顯著的延遲。
在一個實施例中,信號221是指示正被分配的指令類型的信號。例如, 在一個實施例中,信號221可以指示正被分配的指令是否與SIMD操作或 FP才剁乍或兩者相對應(yīng)。在一個實施例中,指令是否與SMD #辨或FP操 作或兩者相對應(yīng)可根據(jù)指令的各個字段確定。在一些實施例中,其它信息 可能以信號的形M給:^戔控制器,包括正^皮分配的指令是否對應(yīng)于整數(shù) 操作或某種其它的操作類型,根據(jù)這些信息,檢測器能夠確定是否啟用對 應(yīng)的處理資源,例如INT:^^戔。
在一個實施例中,基于將被處理的指令類型啟用或禁用的各個堆?;?者其它資源對應(yīng)于兩個位,它們的狀態(tài)由堆棧控制器220控制。例如,在 圖2所示的實施例中,堆??刂破骺梢詾镾IMD i斜戔維持或以其它方式操 縱兩個位(例如,SIMD.valid位和SIMD.wrap位)或為FP ^^戔維#^或#^人兩 個位(FP.valid位和FP.wr鄰位)。
在一個實施例中,SMD.valid位處于第一狀態(tài)(例如,邏輯"1"),可 能指示正^^配的指令對應(yīng)于SMD才,,在這種情況下i斜戔控制器可啟 用SMD i斜戔。同樣,F(xiàn)P.valid位處于第一狀態(tài)(例如,邏輯"1"),可能 指示a^粉配的指令對應(yīng)于FP才辨,在這種情況下i斜勁空制器可啟用FP i斜戔。在一個實施例中,SMD.valid位和FP.vaM位處于第一狀態(tài)(例如, 邏輯'T,)指示正被分配的指令對應(yīng)于SIMD FP操作,在這種情況下堆棧 控制器可啟用FP i斜戈和SMD i斜戔。
相反,SMD.valid和/或FP.valid位的相反邏輯狀態(tài)(例如,"0")不會 使i斜戔控制器啟用對應(yīng)的堆棧。在一個實施例中,SIMD或FP i斜戈可以保 持婦目同狀態(tài)(啟用或禁用),如果它們的對應(yīng)位表示正祐分配的指令與偵月 SMD或FP堆棧的一個或兩者的#^乍不相對應(yīng),則SIMD和FP i械在指 令的分配之前分配。在另一些實施例中,如果堆棧處于啟用狀態(tài),那么堆 ??刂破骺筛鶕?jù)SIMD.valid和FP.valid位的狀態(tài)來禁用正被分配的指令所不使用的堆棧.
除了 SIMD.valid和FP.valid位"卜,堆??刂破?20可以維持兩個或
更多位來指示兩代(generation)中的一代,其中SMD或FP指令可被^4^在 重排序緩沖區(qū)(ROB)226中。在一個實施例中,ROB可以是順序?qū)慉^吉構(gòu), 其中指令按照#^配的順序來寫入。當(dāng)這些指令從ROB引退時,對應(yīng)的條 目(entiy)可以按照它們祐分配的次序回收。
在一個實施例中,將被寫入的ROB條目能夠由寫指針或"頭指針"跟 蹤,在每一個ROB寫纟辨^r指針遞增以指向?qū)⒈粚懭氲南乱粋€條目。類 似地,待引退的ROB條目可由引退指針或"4i旨針"^P宗,在一個實施例 中,在每次引退^指針遞增以指向待引退的下一個ROB條目。
在所有ROB條目^^皮引退并iW旨針已經(jīng)重新返回到ROB的開始位 置時,術(shù)語"代"可表示由尾指針進(jìn)行的完整ROB遍歷。因此,當(dāng)^i旨針 返回到ROB的開始位置,或者繞回(wrap)時,ROB代可^皮i^已經(jīng)轉(zhuǎn)^灸到 下一個代。類似地,代可以從頭指針的視角上來定義,使得當(dāng)所有ROB條 目被寫入并且頭指4f^返回到ROB的開始位置時所述代繞回。在一個實施 例中,因為在ROB條目寫入之前它們可能沒有引退,所以頭指針##超前 于4i旨針并且由此頭指針在4i旨針之前^v新的ROB代。
例如,在一個實施例中,ROB可包含與由圖2中的分酉詳元201分配 的每個SMD和/或FP指令相對應(yīng)的條目。而且,當(dāng)對應(yīng)的SMD或FP指 令已經(jīng)被引退單元225引退時,在樸ROB條目中可設(shè)置一個字段(例如, 位^fi者區(qū)域)。在一個實施例中,ROB可由指針變iit(index),包括頭指針指 示最近分配的SIMD或FP指令,以A4i旨針指示絲分配的已經(jīng)被引退的 SMD或FP指令。
在一個實施例中,ROB可在兩代之間轉(zhuǎn)換(toggle)。從而,由尾或頭指 針指示的ROB的當(dāng)前代能夠使用與尾或頭指針本身相關(guān)聯(lián)的一個位來跟 蹤。例如,tt對應(yīng)的指針(絲頭)分別從ROB代0移動到ROB代l,又 返回ROB代0, 一個代位可從0轉(zhuǎn)換到1狀態(tài),再返回到0狀態(tài)。
在一個實施例中,堆4劃空制器220可維持至少兩個位,例如SIMD.wrap 和FP.wrap,這兩個位可用于沖&則SIMD或FP指4^f可時已,談理器引退, 因jtb^r測處理器中不再留有^J ] SIMD或FP i械的指令。在一個實施例中,
該信息可用于關(guān)閉SIMD或EP:t斜戔,也#議,將SIMD.valid或FP.va]id位 設(shè)置為0。
例如,當(dāng)SMD指令^^配并且分配器201發(fā)送信號221到ilM戔控制 器220, SIMD.m叩位被設(shè)置為頭指針的wrap(繞回X立的當(dāng)前值,該當(dāng)前值 指示^i^一條SIMD指令寫入的ROB條目的代。當(dāng)4i旨針繞回到一^H斤 代,該^旨針的前一個^I過信號202發(fā)iiJ^械控制器220。前一個ROB 代與SMD.wrap比較,如斜目匹配,則表明包^樣后一個S1MD微操作的 ROB代被引退,因而處理器中不再有SMD微操作。因而可以通過將 SMD.vaJid設(shè)置為0來關(guān)閉SIMD i械。
在一個實施例中,相似的才辨可類比FP.wrap位來用于EP i械才辦。 itW卜,在一些實施例中,上述操作可以對處理器中的其它資源實施,包括 可能不總是對每條指4H吏用的務(wù)賭器堆?;蚱渌Y源。
圖3圖解說明了根據(jù)本發(fā)明的一個實施例可^JD的ROB和對應(yīng)的頭尾 指針。ROB 301作為128個條目的循環(huán)隊列來說明,在一個實施例中,所 述隊列的條目從條目0到條目127被填滿。同樣,頭指針305和^旨針310 從條目0i4^到條目127,并且當(dāng)它們到達(dá)ROB中的^一^^目后,繞 回到條目0。在另一些實施例中,ROB可以從"底部,,到"頂部"被填滿, 而不是從"頂部,,到"底部",并且頭和^旨針可以相應(yīng)iifei4^ ROB。
在一個實施例中,頭和尾指針與SMD.valid、 FP.valid、 SIMD.wrap和 FP.wrap位一起^JI]來確定對應(yīng)的堆棧是否要被啟用或禁用。例如,如果 SMD指令^^配并JL^f應(yīng)的條目315被^#在ROB中,頭指針305可通 過將合適的緩沖區(qū)條目存儲到指針的合適字段中以指向該條目。同樣,尾 指針可以從頂部到底部輛ROB直到發(fā)現(xiàn)已被引退的最舊的條目條目320 為止。為了跟蹤由頭和尾指針?biāo)赶虻拿總€條目的代, 一個位或多個位, 例如一個SMD.wrap位可結(jié)合其它信息來被圖2中的堆??刂破?20使用。
例如,當(dāng)SMD指令被引退,并且ROB的^旨針繞回時,4寺分配的最 后一條SMD指令的wrap位與引退引起的最近的SIMD.wrap狀態(tài)進(jìn)行比 較,如果它們相同,則可負(fù)汰明所分配的絲一條SIMD指令對應(yīng)于ROB
遍歷的在前的"代,,,該代已經(jīng)被完全引退(即,因為wrap位狀態(tài)已經(jīng)發(fā) 生改變,所以在前的wrap位狀態(tài)屬于該在前遍歷代的指令)。在前的 SMD.wrap位狀態(tài)與當(dāng)前的SMD.wrap位狀態(tài)一致^^木著在ROB中的最 后一條SMD指令已經(jīng)引退并JU殳有SIMD指令jE^^酉eiU^f亍。因此, SMD.valid位可以被:t斜戔控制器清除,并且禁用SMDi斜戔。對于FP指令, 可遵循相似的4支術(shù), <錢相對應(yīng)的FP.valid和FP.wrap位來控制FP i斜戔。 其它堆棧或者處理器資源,例如INT i斜戈控制,可以使用以上描述的技術(shù) 來控制。
圖4是一個伊uf呈圖,圖解說明了可用于完成本發(fā)明的至少一個實施例 的某些方面的操作。雖然該^^f呈圖說明了控制SIMD舉戰(zhàn)的操作,但是參 照圖4描述的操作可用來控制FP堆棧、INT:t斜戔或者其它處理器資源。在 操怍401中,SMD指令^^配,在才喿作405中,對應(yīng)的SIMD.valid位被 設(shè)置(如果沒有被設(shè)置)并JL^"應(yīng)的SMD.wrap位基于由ROB頭指針?biāo)甘?的代來改變狀態(tài)。在一個實施例中,設(shè)置SMD.valid ^(如^L沒有設(shè)置) 及時啟用SIMD i斜戔,使得SIMD指令可在不遭it^著延遲的^f牛下訪問 SMD舉民。如絲操怍410中ROB ^i旨針繞回,則若在操作415中ROB ^i旨針繞回到ROB的開始位置,那么由ROB 4^旨針?biāo)甘镜拇诓僮?20 中改變狀態(tài)。在才辨425中,由ROB 4i旨針?biāo)甘镜脑谇暗拇cSIMD.wr叩 狀態(tài)進(jìn)行比較,如果它們是相等的,那么在操作430中SIMD.valid位將被 清除以禁用SIMDi械。在一個實施例中,ROB尾指針的代可由與該^i旨 4討目關(guān)聯(lián)的一位或一組位來指示。如果它們不相等,那么在操怍435,當(dāng)前 的SIMD.valid狀態(tài)被維持。
在至少一個實施例中,siMD.wrap位可通過,ROB條目的指示來代 替,該ROB條目是將被記^f^m控制器中的:i^一條SIMD指令或微指 令的ROB條目(例如通過一個"SIMD.robid"位)。在一個實施例中,無論 何時SIMD指令或pp在ROB中凈紛配,例如SIMD.robid,尋A^新而指 向它,類似于頭指針。當(dāng)指令或引退時,引退的ROB標(biāo)識符(類似于 ^i旨針)可以與所務(wù)賭的SIMD.robid比較,如果它們相等,則為了禁用對應(yīng)
的i斜戔,SMD.valid位可被清除。
圖5圖解說明了可^f錢本發(fā)明的一個實施例的前端總線(FSB)計算機(jī)系 統(tǒng)。處理器505訪問一級(L1)高速緩沖務(wù)賭器510和主務(wù)賭器515中的數(shù)據(jù)。 在本發(fā)明的另一些實施例中,該高速緩沖,器可以是二M(L2)高速緩存或 者在計算機(jī)系統(tǒng)的務(wù)賭器分級結(jié)構(gòu)(hierarchy)中其它的務(wù)賭器。此外,在一 些實施例中,圖5所示的計算機(jī)系統(tǒng)可包含L1高速緩存和L2高速緩存這 兩者。
在圖5的處理器中說明了機(jī)器狀態(tài)的務(wù)賭區(qū)域506。在一個實施例中, 務(wù)賭區(qū)域可能是一組寄存器,而在另一些實施例中,務(wù)賭區(qū)域可能是其它 的存儲器結(jié)構(gòu)。處理器可具有4封可數(shù)量的處理核心。但是,本發(fā)明的另一 些實施例可在系統(tǒng)內(nèi)的其它設(shè)4^列如獨(dú)立的總線代理中實現(xiàn),或在硬件、 軟件或其某種結(jié)合中分布于整個系統(tǒng)。
主存儲器可以用各種存儲器資源來實現(xiàn),例如動態(tài)隨機(jī)存取存儲器 (DRAM)、石植驅(qū)動(HDD)520,或者通過網(wǎng)^Mr口 530遠(yuǎn)離計算機(jī)系統(tǒng)設(shè) 置的包括^t存々射殳備和技術(shù)的存儲器資源。高速緩沖務(wù)賭器可設(shè)置在處 理器中或設(shè)置在靠近處理器的位置,例如在處理器的本地總線507上。
j
^卜,高速緩沖存儲器可包含相對快速的賴單元,例如六晶體管(6T) 單元,或其它存耳^1相當(dāng)或更快的,單元。圖5所示的計算機(jī)系統(tǒng)可 以是泉對點(diǎn)(PtP)的總線代理例如微處理器的網(wǎng)絡(luò),總線代理通過專用于點(diǎn)
對點(diǎn)(PtP)網(wǎng)絡(luò)上的Vh代理的總線信號^i行通信。圖6中圖解i兌明了4姿 點(diǎn)對點(diǎn)(PtP)配置安排的計算機(jī)系統(tǒng)。具體地說,圖6示出了一個系統(tǒng),在 該系統(tǒng)中,處理器、存儲器以及輸入輸出設(shè)備由許多,#,f點(diǎn)4妻口互i^來。
圖6的系統(tǒng)還可包括若干處理器,為了清晰器件,只示出這些處理器 中的兩個,處理器670、 680。處理器670、 680均可包^^本:lM^t控制集線 H(MCH)672、 682來與^j諸器22、 24相連接。處理器670、 680可通過使 用PtP接口電路678、 688的點(diǎn)對點(diǎn)(PtP)接口 650來交換數(shù)梧。處理器670、 680均可通過4M點(diǎn)對點(diǎn)接口電路676、 694、 686、 698的獨(dú)立的PtP接口 652、 654來與芯片組690交換數(shù)據(jù)。芯片組690也可以通過高性能圖形接
口 639與高性能圖形電路638交換數(shù)據(jù)。本發(fā)明的實施例可設(shè)置在具有任 何數(shù)量的處理核心的處理器中,或者iU在圖6的PtP總線代理的^—個 中。
但是,本發(fā)明的另一些實施例,可存在于圖6的系統(tǒng)中的其它電路、 邏輯單元或設(shè)備中。而且,在本發(fā)明的另一些實施例中,可遍布圖6所示 的若干電路、邏輯單元或設(shè)備。
本發(fā)明提到的處理器,或根據(jù)本發(fā)明的一實施例所設(shè)計的其它組件, 可以在各種階段中設(shè)計,從創(chuàng)建到仿真再到制作。表示設(shè)計的數(shù)據(jù)可通過 許多方式M示該設(shè)計。首先,硬件可以^^]硬件描述語言或另一功能描 述語言來表示,^仿真中是有用的。作為備選的或附加的方案,具有邏 輯和/或晶體管柵的電路^^莫型可在設(shè)計過程中的某些階羊殳中產(chǎn)生。而且, 在某一階段,大多數(shù)設(shè)計達(dá)到了某個級別,其中,它們可用表示各種設(shè)備 物理布置的數(shù)據(jù)來建模。在使用傳統(tǒng)半導(dǎo)體制作技術(shù)的情況下,表示設(shè)備 布置模型的數(shù)據(jù)可以^^見定在4^f莫的不同的掩模層上的各種特征數(shù)據(jù)的存 在或不存在的、用于產(chǎn)成集成電路的數(shù)據(jù)。
在所述設(shè)計的^^T一個表示中,數(shù)據(jù)可存儲在任何形式的機(jī)器可讀介 質(zhì)中。調(diào)制或以其它方式生成以傳輸這種信息的光或電波,務(wù)賭器,或者 磁或M儲介質(zhì),例如光盤,可以是機(jī)器可讀介質(zhì)。這些^h質(zhì)中的4^f可一 種可"攜帶(cany)"或"指示(indicate)"上述設(shè)計,或者在本發(fā)明的一實施 例中使用的其它信息,例如錯誤恢復(fù)例程中的指令。當(dāng)指示或攜帶信息的 電載波被傳輸,iiiij執(zhí)行電信號的復(fù)制、緩沖或者重傳的程度時,生成新 的副本。因此,通信提供商或網(wǎng)絡(luò)提供商的行為可能正在制作包含本發(fā)明 的4支術(shù)的物品的副本,例如,載波。
從而,公開了操縱存儲器訪問的技術(shù),例如加載或##。當(dāng)描述某些 實施例并在附圖中示出時,需要理解的是,這些實施例只 ^釋而不是限 制寬范圍的本發(fā)明,并JL^發(fā)明不限于所示出和描述的M的結(jié)構(gòu)和安排,
個^^迅速并且前景不好預(yù)測的技術(shù)領(lǐng)域比如本發(fā)明的領(lǐng)域中,在不背離
本發(fā)明的精神或所附權(quán)利要求的范圍的前提下,在實現(xiàn)4支 步的推動下, 所公開的實施例可在安排和細(xì)節(jié)上容易地修改。
本發(fā)明的一個或多個實施例的各個方面可在^J ]本發(fā)明的一個或多個 實施例的處理器或計算機(jī)系統(tǒng)的廣告中被描述、討論或者以其它方式涉及。 所述廣告可包括^^限于新聞印刷品、雜志、布告牌或者其它紙件或有形 媒體。特別是,本發(fā)明一個或多個實施例的各個方面可通過網(wǎng)站、"彈出 式"廣告或者其它基于網(wǎng)頁的媒體在互連網(wǎng)上作廣告,而不論擁有(host)用 于產(chǎn)生網(wǎng)站或彈出式的程序的服務(wù)器是否位于美國或其領(lǐng)土內(nèi)。
權(quán)利要求
1.一種裝置,包括堆??刂破?,用于根據(jù)堆棧是否將被已分配的指令使用來啟用或禁用所述堆棧。
2. 如權(quán)利要求1所述的裝置,其特征在于,所述指令是單指令多數(shù)據(jù) 指令,以及所述i斜戔是執(zhí)行與所述單指令多數(shù)據(jù)指令相關(guān)聯(lián)的操作的單指 令多數(shù)據(jù)靴
3. 如權(quán)利要求1戶斤述的裝置,其特;[4于,所ii指4^^^浮點(diǎn)指令,以 ^J斤述i斜i^執(zhí)行與浮點(diǎn)指令相關(guān)聯(lián)的才辨的浮點(diǎn)i斜戈。
4. 如權(quán)利要求3所述的裝置,其特;f雄于,還包括重排序緩沖區(qū),用 于存儲與已分配的指令相對應(yīng)的信息,并且指示已分配的指令是否已經(jīng)被 引退。
5. 如權(quán)利要求1所述的裝置,其特征在于,當(dāng)重排序緩沖區(qū)中務(wù)賭的 所有先于所述指令的指令已經(jīng)被《1退時,所述i斜戔控制器禁用所述i斜戔。
6. 如權(quán)利要求5所述的裝置,其特4球于,所述i^a控制H^^第一 位來指示指令是否已經(jīng)^c^配,以及使用第二位來指示指令是否已經(jīng)被引退。
7. 如權(quán)利要求6所述的裝置,其特征在于,所述第一^J!十應(yīng)于指出重 排序緩沖區(qū)中最近分配的指令的頭指針,所述笫二位對應(yīng)于指出重排序緩 沖區(qū)中已經(jīng)被 1退的M分配的指令的^i旨針。
8. 如權(quán)利要求7所述的裝置,其特征在于,還包括用于分配指令的分 酉己單元,用于調(diào)度指令的調(diào)度器和用于《1退指令的31退單元。
9. 一種系統(tǒng),包括賴器,^f諸第一指4^口第^旨令;處理器,檢測寄存器是否已經(jīng)分配給第一或笫二指令,以及確定是否 響應(yīng)所述分配來啟用對應(yīng)的第一或第二執(zhí)行堆棧,以及所述處理器響應(yīng)第 一或笫二指令被引退,絲一步確定是否禁用所述第一或第二執(zhí)行斜戔。
10. 如權(quán)利要求9所述的系統(tǒng),其特;^正在于,所述處理器包括分配單 元來分配寄存器給所述第一或第1旨令。
11. 如權(quán)利要求10所述的系統(tǒng),其特;f球于,所艦理器還包括i斜戈 控制器來從所述分配單元接收關(guān)于所述寄存器是否已經(jīng)分配給第一或第二 指令的指示,以4所述第一或第二執(zhí)行舉戰(zhàn)尚未啟用時,響應(yīng)所述分配 來啟用所述第一或第二執(zhí)4,斜戔。
12. 如權(quán)利要求11所述的系統(tǒng),其特44于,所i^h理器還包括引退 單元,用于引退所述第一或第^旨令。
13. 如權(quán)利要求12所述的系統(tǒng),其特44于,所述分酉傳^J斤述引 退單元接收關(guān)于所述第 一或第^旨令是否已經(jīng)引退的指示。
14. 如權(quán)利要求13所述的系統(tǒng),其特44于,所皿理器還包括重排 序緩沖區(qū),所述緩沖區(qū)的條目與所述分配單元為所述第 一和第二指令分配 寄存器的順序相對應(yīng)。
15. 如權(quán)利要求14所述的系統(tǒng),其特44于,如果所述第一或第1旨 令是重排序緩沖區(qū)中將要被引退的條目的代的絲一個指令,則所述堆棧 控制器禁用所述第一或第二ilM戔。
16. 如權(quán)利要求15所述的系統(tǒng),其特征在于,所述第一和笫1旨令分 別對應(yīng)于單指令多數(shù)據(jù)指令和浮點(diǎn)指令,以及所述第一和第二執(zhí)行堆棧分 別對應(yīng)于^旨令多數(shù)據(jù)i斜戈和浮點(diǎn)i斜戔。
17. —種方法,包4舌為第 一指令分配至少一個寄存器;設(shè)置第 一位來指示所述至少一個寄存器已經(jīng)4^配;在重排序緩沖區(qū)中^f諸所述至少"H^存器的分配的指示;引退所述第一指令;設(shè)置第二位來指示所述第 一指令是否為將被S 1退的重排序緩沖區(qū)條目 的第一代的^一個指令。
18. 如權(quán)利要求17所述的方法,其特征在于,還包括如果所述i斜戔 在所述至少一個寄存器4^配之前禁用,則響應(yīng)所述第一位被沒置,啟用 對應(yīng)于所述笫一指令的i料戔。
19. 如權(quán)利要求17所述的方法,其特征在于,還包括響應(yīng)所述第一 位沒有^fe臾置,禁用所述i對戔。
20. 如權(quán)利要求17所述的方法,其特征在于,所述重排序緩沖區(qū)由頭 指針變址來指向?qū)?yīng)于被分配的至少一個寄存器的重排序緩沖區(qū)條目,以 及所述重排序緩沖區(qū)由尾指針變址來指向?qū)?yīng)于被引退的指令的重排序緩 沖區(qū)條目。
21. 如權(quán)利要求20所述的方法,其特征在于,所述重排序緩沖區(qū)條目 的^it過所述第二位的當(dāng)前狀態(tài)對比所述第二位的前一狀態(tài)來指示。
22. 如權(quán)利要求21所述的方法,其特征在于,如果所述第二位的所述 當(dāng)前狀態(tài)與由所狄指針指示的前一重排序緩沖區(qū)代相同,則禁用所述堆棧。
23. 如4又利要求22所述的方法,其特征在于,所述第一指令是單指令 多數(shù)據(jù)指令,并且所述i斜^^^旨令多數(shù)據(jù):t斜戔。
24. 如斗又利要求22所述的方法,其特征在于,所述第一指令是浮點(diǎn)指 令,并且所述i^^浮點(diǎn)i斜戔。
25. 如權(quán)利要求22所述的方法,其特征在于,所述第一指令是整數(shù)指 令,并且所述樹議整數(shù)糊。
26. —種處理器,包括分配單元,分酉e^j"應(yīng)于多個微操作的多個寄存器; 調(diào)度器,調(diào)度所述多個微才辨來執(zhí)行; 多個i斜戔,才A^亍與多個微l^t相對應(yīng)的操作; 引退單元,引it;斤述多個孩財^1乍;;i斜戔控制器,響應(yīng)為所述多個微操作中的至少一個分配所述多個寄存 器中的至少一個,來啟用所述多個ilM戔中的至少一個。
27. 如權(quán)利要求26所述的處理器,其特;f4于,響應(yīng)所述引退單元引 退所述多個微操作中的至少一個,所述纟1^控制器禁用所述多個i斜戔中的 至少一個。
28. 如權(quán)利要求27所述的處理器,其特征在于,還包括有效(valid)位 ^i諸區(qū)域,^ft有效位來指示所述分配單元是否已分酉e^f應(yīng)于所述多個微 操作中的至少一個的堆一戔。
29. 如權(quán)利要求27所述的處理器,其特征在于,還包括繞回^##區(qū) 域,存儲繞回位來指示所述至少一個微操作是否對應(yīng)于重排序緩沖區(qū)中的 條目的第一代。
30. 如權(quán)利要求29所述的處理器,其特;f正在于,所述i1^戈控制器包括 邏輯,確定所述繞回位的第一狀態(tài)是否等于所述繞回位的前一狀態(tài),以及 如果所述有效位纟支設(shè)置,則所述堆棧控制器禁用與所述至少 一個孩紂喿作相 對應(yīng)的樹戔。
全文摘要
基于需求來動態(tài)啟用或禁用處理器中的一些堆棧的技術(shù)。至少一個實施例包括邏輯,檢測是否需要堆棧并且響應(yīng)需要堆棧來啟用所述堆棧,以及當(dāng)不再需要所述堆棧時禁用所述堆棧。
文檔編號G06F15/78GK101196868SQ20071030667
公開日2008年6月11日 申請日期2007年9月18日 優(yōu)先權(quán)日2006年9月18日
發(fā)明者A·索達(dá)尼, C·K·譚, J·豪金斯, S·米爾克斯 申請人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1