新四季網

將寄存器內容雙向拷貝到影子寄存器內的製作方法

2023-06-15 02:38:21 1

將寄存器內容雙向拷貝到影子寄存器內的製作方法
【專利摘要】本公開的實施例描述一種處理器,其可以包括耦合到影子寄存器堆和控制寄存器的拷貝電路。所述拷貝電路可以被配置成按正向或反向的方向將內容從多個寄存器的範圍拷貝到影子寄存器堆的影子範圍。所述正向或反向的方向可以至少部分地基於被存儲在所述控制寄存器中的值。
【專利說明】將寄存器內容雙向拷貝到影子寄存器內
【技術領域】
[0001]本公開的實施例一般地涉及處理器,並且更具體地涉及具有被配置成執行寄存器的內容到影子寄存器內的雙向拷貝的電路的處理器。
【背景技術】
[0002]硬體/軟體(HW/SW)協同設計的處理器經常依賴硬體原子區域(atomic area)支持以通過軟體動態二進位優化而實現高性能。原子區域一般指的是意圖在沒有中斷的情況下按順序完成的二進位代碼或計算機指令的區域。在動態二進位優化中,二進位代碼可以在不考慮極端狀況(諸如存儲器次序違反、例外、存儲器別名等)的情況下,進取性地在原子區域中被執行和優化。如果極端狀況實際上在事務期間發生,硬體可以檢測到該狀況並且該事務可以被異常中止。在這種情況下,由該事務更新或修改的寄存器的初始狀態被恢復。通常,這稱作回退(rollback)。
[0003]為了為可能的回退作準備,硬體經常在原子區域執行的入口處製作寄存器的拷貝或「檢查點」。例如,各種HW/SW協同設計的處理器已經實施了一種方法,該方法利用影子寄存器堆(register file)使得在原子區域執行的入口處將整個寄存器堆(例如架構寄存器堆)拷貝至整個影子寄存器堆。如果原子區域成功地執行並提交,則可以丟棄影子寄存器堆中的數據。在回退的情況下,全部影子寄存器堆將被拷貝回至全部架構寄存器堆。然而,根據上文中的方法,在重疊的原子區域執行期間,將會需要兩組影子寄存器堆,這實際上使管芯區(die area)加倍並且從而使材料和與其相關聯的花費加倍。
【專利附圖】

【附圖說明】
[0004]通過與附圖相結合的以下詳細描述,將容易地理解實施例。為了使該描述更容易,同樣的附圖標記指定同樣的結構元件。在附圖的各圖中,通過示例而非限制的方式來圖示實施例。
[0005]圖1示意性地圖示根據一些實施例的示例性處理器。
[0006]圖2示意性地圖示根據一些實施例的重疊區域執行的示例。
[0007]圖3是根據一些實施例的用於將架構寄存器分配給虛擬寄存器的方法的流程圖。
[0008]圖4是根據一些實施例的適合於實行所公開的方法和裝置的示例性計算機系統的框圖。
【具體實施方式】
[0009]本文中描述了提供用於重疊的區域執行的寄存器檢查點的方法和裝置的實施例。
[0010]如本文中所使用的,「區域」指的是計算機指令或代碼的塊。在一些實施例中,代碼的區域可以是代碼的原子區域。在以下描述中,給出多個特定細節以提供對實施例的徹底理解。可以在沒有一個或多個特定細節的情況下,或者在其它方法、組件、材料等的情況下實行實施例。在其它實例中,沒有詳細地示出或描述眾所周知的結構、材料、或操作,用以避免混淆實施例的各方面。
[0011]本說明書由始至終對「一個實施例」或「一實施例」的引用意味著關於實施例所描述的特定特徵、結構或特性被包括在至少一個實施例中。因而,短語「在一個實施例中」或「在一實施例中」在貫穿本說明書的各地方的出現不一定都指的是相同實施例。此外,特定特徵、結構或特性可以按任何適合的方式被組合在一個或多個實施例中。
[0012]一個實施例提供處理器,所述處理器可以包括多個或數個寄存器、影子寄存器堆、控制寄存器以及耦合到影子寄存器堆和控制寄存器的拷貝電路。拷貝電路可以被配置成按第一或第二所選擇的方向將內容從所述多個寄存器的範圍中的部分或全部拷貝到所述影子寄存器堆的影子範圍。根據實施例,所述方法可以包括規定要被拷貝到影子寄存器的影子範圍的架構寄存器的範圍。
[0013]在實施例中,所述第一或第二所選擇的方向可以至少部分地基於被存儲在控制寄存器中的值。在實施例中,所述第一所選擇的方向可以是正向(forward)方向並且所述第二所選擇的方向可以是相反或反向(backward)方向。在實施例中,寄存器的範圍可以包括用於在第一代碼區域的執行中使用的第一寄存器範圍M1,以及用於在第二代碼區域的執行中使用的第二寄存器範圍M2。在實施例中,可以由需要影子寄存器並具有相對較高的寄存器號的寄存器來確定Ml。在實施例中,第一範圍Ml中的寄存器數量和第二範圍M2中的寄存器數量合起來可以超過影子寄存器堆中的寄存器數量。在實施例中,第一寄存器範圍可以包括[1,M1]的範圍,並且第二範圍包括[N,N-M2+1]的範圍,其中N是影子寄存器堆中的寄存器數量。根據一些實施例,拷貝電路可以被配置成在兩個階段中將內容從寄存器的範圍拷貝到影子寄存器。
[0014]根據一個實施例,一種方法可以包括至少部分地基於架構寄存器的相應狀態來將相應優先級分配給多個架構寄存器。所述方法還可以包括至少部分地基於架構寄存器的所分配的優先級來分配用於執行原子區域的架構寄存器以減少要被拷貝到影子寄存器的範圍的架構寄存器的範圍。實施例可以另外包括至少部分地基於一個或多個架構寄存器對於影子寄存器的需要的概率來確定架構寄存器的相應狀態。因而,在實施例中,將相應的優先級分配給所述多個架構寄存器可以包括將第一優先級分配給在到原子區域的入口處是死的(dead)寄存器,所述第一優先級高於被分配給在到原子區域的入口處是活的(live)寄存器的第二優先級。
[0015]根據一個實施例,確定架構寄存器的相應狀態可以包括至少部分地基於一個或多個架構寄存器的寄存器號來確定所述相應狀態。
[0016]根據一個實施例,確定架構寄存器的相應狀態可以包括至少部分地基於對一個或多個架構寄存器的修改的相應次序來確定所述相應狀態。注意的是,在另一實施例中,優先級可以被分配給在原子區域中所使用的虛擬寄存器。在一個示例中,在入口處是死的虛擬寄存器可以被分配給不被影子化的架構寄存器。
[0017]根據另一實施例,公開了一種系統,其可以包括處理器,所述處理器包括多個寄存器、影子寄存器堆和控制寄存器。在所述系統中,拷貝電路可以耦合到影子寄存器堆和控制寄存器,並且被配置成按第一或第二所選擇的方向將內容從所述多個寄存器的範圍中的部分或全部拷貝到所述影子寄存器堆的影子範圍。所述第一或第二所選擇的方向可以至少部分地基於存儲在控制寄存器中的值。所述系統可以另外包括具有帶有指令的非臨時計算機可讀介質的存儲器,所述指令可執行以使處理器至少部分地基於寄存器的相應狀態來將相應優先級分配給所述多個寄存器中的每一個。作為響應,處理器還可以至少部分地基於寄存器的所分配的優先級來分配用於執行原子區域的寄存器以減少要被拷貝到影子寄存器堆的影子範圍的寄存器的範圍。
[0018]如上文中注意到的,在區域的執行期間被更新和/或利用的寄存器或存儲元件可能需要被備份(即設定檢查點)來確保在區域或事務的執行的異常中止的情況下能夠恢復原始的寄存器狀態。因而,寄存器或存儲元件可以被拷貝到對應的影子寄存器或存儲元件。其後,所述存儲元件可以被認為是「被設定檢查點」。在一個實施例中,如果存儲元件在區域的執行期間被修改,則其可以被設定檢查點。
[0019]圖1圖示根據實施例可以利用重疊的區域執行的示例性處理器100。由於存儲器一致性問題,區域經常不能提交直到該區域中的存儲高速緩存缺失被解決為止。因而,為了容忍可能在區域執行的結束處發生的等待時間,兩階段提交技術允許下一個區域在先前的區域提交之前開始執行。由於用於區域的影子寄存器不能被釋放直到該區域提交為止,重疊的區域執行將會需要兩組影子寄存器堆。因而,根據下文中所描述的實施例,將架構寄存器內容雙向拷貝到影子寄存器堆可以減少對於重疊的區域執行所需要的影子寄存器堆的數量,使得可能不需要兩組或更多組的影子寄存器堆。在示出的實施例中,處理器100包括多個存儲元件103、影子存儲元件堆105、控制寄存器107和拷貝電路109。
[0020]在圖1的實施例中,多個存儲元件103可以包括例如多個架構/架構上的寄存器,包括寄存器R1-R5。注意到,在各種實施例中,存儲元件可以不僅包括硬體寄存器,還包括抽象寄存器、虛擬寄存器、存儲器位置以及程序棧中的存儲器位置。注意到,處理器可以能夠將語言參考的虛擬寄存器重命名到處理器內部的寄存器。
[0021]影子存儲元件堆105可以包括影子寄存器堆,所述影子寄存器堆包括例如影子寄存器SR1-SR6。在實施例中,拷貝電路109可以耦合到每個存儲元件103、影子存儲元件堆105和控制寄存器107中的一個或多個。在實施例中,拷貝電路109可以被配置成按正向方向或可替換地按反向方向將內容從存儲元件103或架構寄存器的範圍中的部分或全部拷貝到影子存儲元件堆105的影子範圍。在實施例中,內容以正向方向還是反向方向被拷貝可以至少部分地基於被存儲在控制寄存器107中的值。在實施例中,硬體可以使用一個比特來控制可以在區域執行時被翻轉的所述正向或反向方向。在下文中將進一步討論的實施例中,至少部分地基於架構寄存器的相應狀態來給架構寄存器Rl、R2、R3、R4或R5中的每一個分配相應的優先級。在實施例中,至少部分地基於架構寄存器的所分配的優先級將架構寄存器分配用於原子區域的執行以減少要被拷貝到影子寄存器的範圍的架構寄存器的範圍。
[0022]注意到,圖1中示出的元件的特定連接只是示例。在一些其它實施例中可以使用可替換/附加的元件和/或其它配置的存儲元件、控制寄存器和/或拷貝電路。類似地,儘管存儲元件103被圖示為包括四個架構寄存器並且影子存儲元件堆105被圖示為包括六個影子寄存器,但是在其它實施例中,架構寄存器數和影子寄存器數在相應的數目上可以變化。
[0023]圖2示意性地圖示根據一些實施例與處理器(諸如例如圖1的處理器100)相關聯的重疊的區域執行的示例。圖2中圖示的區域1、2和3均表示可以根據重疊的時間進展207而執行的示例性代碼序列或塊。如先前注意到的,在區域執行期間被修改的架構寄存器可能需要被備份(即設定檢查點)來確保在區域執行的異常中止的情況下可以恢復原始的架構寄存器狀態。因而,在實施例中,軟體可以規定要被拷貝到檢查點或影子寄存器的影子範圍[1,M]的架構寄存器的範圍[1,M]。注意到,在實施例中,軟體而不是硬體可以規定架構寄存器的範圍[1,M],因為對於硬體而言可能難以對區域進行掃描以確定哪些架構寄存器是經修改的並且是活的。在實施例中,在已經由軟體規定了範圍之後,硬體可以為架構寄存器[1,M]設定檢查點到對應的影子寄存器來允許區域執行。在實施例中,硬體可以停止(stal I)區域執行以便避免修改還尚未被設定檢查點的寄存器。在實施例中,只拷貝特定範圍中的架構寄存器而不是所有架構寄存器可以減少與不可用的影子寄存器有關的停止以及減少在架構寄存器和影子寄存器之間不必要的拷貝。
[0024]在圖2的示例性實施例中,區域1、2和3中的每一個具有[R1,R4]的示例性範圍,其包括每個相應區域的四個架構寄存器(「寄存器」)RU R2、R3和R4,所述範圍已經被規定成要被拷貝到影子寄存器[SR1,SR4]的影子範圍。在實施例中,M可以是要被修改的每個區域的入口處是活的寄存器中具有最大或較高寄存器號的寄存器。影子寄存器堆(諸如,例如圖1的影子存儲元件堆105)可以包括示例的六個寄存器SR1-SR6。在實施例中,在由tl處的虛線示出的區域I的入口處,拷貝電路(諸如,例如圖1的拷貝電路109)可以在201處按正向方向將區域I的範圍[1,Ml]或[Rl,R4]的寄存器拷貝到影子寄存器SR1-SR4。注意到,由於如上文所注意到的可能的存儲器一致性問題,區域可能不能夠提交其執行結果直到該區域中的所有存儲高速緩存缺失被解決為止。因而,在實施例中,兩階段提交可以允許區域在先前的區域提交之前開始執行。因而,在圖示的實施例中,在區域I提交之前,處理器可以在t2處開始區域2的執行。在區域2的入口處,拷貝電路109可以開始將內容從區域2的範圍[1,M2]或[R1,R4]拷貝到影子寄存器堆中的可用影子寄存器。在實施例中,為了利用影子寄存器堆中的可用影子寄存器,拷貝電路現在可以按反向方向將內容從寄存器R1-R4拷貝到影子寄存器SR6-SR3。因而,在實施例中,如果N是影子寄存器堆中的寄存器數量,則具有[1,M2]或在該示例中[R1,R4]的影子範圍的區域2可以將寄存器[R1,R4]拷貝到影子寄存器[N, N-M2+1]或[SR6,SR3]。
[0025]如果,如在該示例中那樣,M1+M2 > N,或換句話說,在相應區域I和2的第一和第二範圍中的寄存器總數合起來超過影子寄存器堆中的影子寄存器數,則可以利用「兩階段影子化」。因為在t2處,區域I還尚未提交,所以影子寄存器SR3-SR4可能不可用於被區域2使用,因為它們可能仍然被區域I利用。因而,拷貝電路可以在兩個階段中將區域2的寄存器拷貝到影子寄存器。只要沒有比N-Ml更大的寄存器被修改,區域2就可以開始執行。在實施例中,只有區域2的寄存器[1,N-M1]或R1-R2可以在203處在第一階段中被拷貝到影子寄存器[N,M1+1]或SR6-SR5。注意到,在該實施例中,在t2和t3之間,由於用於區域2的寄存器R3和R4還尚未被拷貝到影子寄存器,如果指令嘗試修改寄存器R3和/或R4,則處理器可以停止區域2的執行直到區域I提交為止。一旦區域I在t3處提交,則影子寄存器[SR1,SR4]可以被釋放。因而,拷貝電路109可以在205處在第二階段中將用於區域2的寄存器範圍中的剩餘部分的寄存器[N-M1+1,M2]或R3-R4拷貝到影子寄存器[M1,N-M2+1]或 SR4-SR3。
[0026]因此,區域2可以在t3時或t3後繼續進行以完成執行。以類似的方式,在示出的實施例中,在區域2提交其執行結果前,處理器可以在t4處開始區域3的執行。在實施例中,在區域3的入口處,拷貝電路可以按正向方向拷貝區域3的寄存器。在一些實施例中,拷貝電路可以將寄存器R1-R4中的全部拷貝到影子寄存器SR1-SR4。然而,在示出的實施例中,影子寄存器SR3-SR4可能仍被區域2所使用。因而,拷貝電路在208處在第一階段中只將用於區域3的寄存器R1-R2拷貝到影子寄存器SR1-SR2,允許開始區域3執行。因為寄存器R3-R4尚未被拷貝到用於區域3的影子寄存器,所以在區域3的執行期間,如果指令嘗試修改寄存器R3-R4,則處理器100可以停止指令執行直到區域2提交為止。一旦區域2提交,則SR6-SR3可以被釋放。因而,在先前的區域2提交之後,拷貝電路然後可以在第二階段中將剩餘的寄存器R3-R4拷貝到影子寄存器SR3-SR4。在實施例中,區域2於是可以在不停止的情況下完成執行。
[0027]因而,如可以從上文中的實施例所見的,[1,M]的範圍中的寄存器可以被拷貝到影子寄存器來允許區域執行。在實施例中,只拷貝特定範圍中的寄存器而不是所有架構寄存器可以減少與不可用影子寄存器有關的停止並且減少在架構寄存器和影子寄存器之間不必要的拷貝。注意到在實施例中,寄存器被拷貝到影子寄存器堆的方向可以在到下一個區域的執行的入口時在正向方向和反向方向之間交替。此外,在實施例中,由於每個寄存器R只可以被拷貝到兩個影子寄存器R或Ν-R+l中之一,因此,耦合架構寄存器堆和影子寄存器堆的硬體布局和總線線路可以被大大簡化。注意到,在各種實施例中,可以通過將影子寄存器堆組織成循環隊列來支持重疊的區域執行。在其它實施例中,硬體可以實現與架構堆大小相同的影子寄存器堆,並且可以拷貝架構寄存器的下半部用於重疊的區域執行。在實施例中,只可以發生修改架構寄存器的下半部的重疊的區域執行。在實施例中,如果區域修改架構寄存器的上半部,則硬體可以防止在該區域和先前的或下一個區域之間的重疊的區域執行。
[0028]實施例的附加特徵包括使用可以減少在執行一個或多個區域期間的停止的寄存器分配。寄存器分配可以被用於通過最小化或減少在區域內部被修改的架構寄存器數來規定和減小影子範圍[1,M],這在一些實施例中可以減少影子寄存器中的功率消耗以及減少流水線停止。實施例還可以縮短流水線停止的持續時間或防止流水線停止,其中相應區域I和2的第一和第二範圍中的寄存器總數合起來可能超過影子寄存器堆中的寄存器數。在實施例中,軟體可以執行寄存器分配,其包括將架構寄存器分配給在優化期間使用的虛擬寄存器。
[0029]因而,現在參照圖3,其是根據一些實施例的用於分配寄存器的方法300的流程圖。在示出的實施例中,在第一框303處,處理器(諸如圖1的處理器100)可以至少部分地基於寄存器的相應狀態而將相應的優先級分配給多個寄存器中的每一個,諸如圖1的多個存儲元件103中的每一個。在一些實施例中,可以至少部分地基於寄存器中的一個或多個對於影子寄存器的需要的概率來確定相應狀態。例如,與在到原子區域的入口處是活的寄存器相比,可以將更高的優先級分配給在到原子區域的入口處是死的寄存器,因為在原子區域的入口處活的寄存器可能需要影子寄存器,而在到原子區域的入口處是死的寄存器不需要。在其它實施例中,處理器可以至少部分地基於一個或多個寄存器的寄存器號來為寄存器的相應狀態區分優先級。應該注意的是,由於可以由那些需要影子寄存器的寄存器當中具有相對較高號碼的寄存器來確定影子範圍M,為了減小影子範圍M,具有較小寄存器號的架構寄存器可以被分配較高的優先級,因此具有較小寄存器號的架構寄存器可以更頻繁地被分配。
[0030]接下來,在第二框305處,處理器可以至少部分地基於寄存器的所分配的優先級來分配用於執行原子區域的寄存器以減少要被拷貝到影子寄存器的範圍的寄存器的範圍。因此,具有較高優先級的寄存器可以在具有較低優先級的寄存器之前被分配。因而,在實施例中,可以通過減少影子範圍來減少或消除在執行期間的停止,其中相應第一和第二區域的第一範圍和第二範圍中的寄存器數超過影子寄存器堆中的寄存器數(例如,M1+M2 > N)。此外,在下一個框307處,然後可以按修改的次序來對所分配的寄存器進行排序。例如,如果Rl具有比寄存器R2更高的優先級,但是對R2的第一修改比對Rl的第一修改更早,那麼Rl可以被重命名成/重定義為R2並且反之亦然。
[0031]在最後的框308處,區域執行可以開始。因而,在實施例中,用於在執行期間未被修改的寄存器的影子寄存器使用可以被減少。在實施例中,較少的在該區域中被修改的寄存器結合在影子寄存器堆中被實現的增加的影子寄存器可以降低重疊的區域執行可能由於不可用的影子寄存器而被停止的機會。因而,在如上文中所描述的實施例中,處理器可以適應於在該區域中被修改的寄存器數以及在影子寄存器堆中的影子寄存器數。
[0032]圖4是圖示適合於實行所公開的各種實施例的裝置和方法的示例性計算機系統400的框圖。如示出的,計算機系統400可以包括功率供應單元402、多個處理器或處理器核404、以及其中存儲有處理器可讀和處理器可執行指令408的非臨時計算機可讀存儲存儲器406、也可以存儲指令408的大容量存儲設備410、以及通信接口 412。出於本申請(包括權利要求)的目的,術語「處理器」和「處理器核」可以被認為是同義的,除非上下文清楚地另外要求。
[0033]在本公開的各種實施例中,處理器404中至少之一可以包括多個元件488,所述元件488包括例如多個存儲元件、影子存儲元件堆、控制寄存器以及諸如例如結合圖1所描述的拷貝電路。在實施例中,拷貝電路(諸如圖1的拷貝電路109)可以被配置成按第一或第二所選擇的方向將內容從所述多個存儲元件的範圍中的部分或全部中拷貝到影子寄存器堆的影子範圍。
[0034]在實施例中,所述一個或多個大容量存儲設備410和/或存儲器406可以包括有形非臨時計算機可讀存儲設備(諸如,磁碟、硬碟驅動器、光碟只讀存儲器(CDR0M)、硬體存儲單元等等)。計算機系統400還可以包括輸入/輸出設備414 (諸如,鍵盤、顯示屏、光標控制裝置等等)。在實施例中,圖4的各種元件可以經由通信路徑416耦合到彼此,所述通信路徑416可以表示總線,諸如多點分支總線或點對點互連。在多個總線的情況下,它們可以通過一個或多個總線橋(未示出)而橋接。數據可以例如在一個或多個組件418以及處理器404之間經過通過I/O設備414的通信路徑416。
[0035]存儲器406和大容量存儲設備410可以被採用來存儲實現一個或多個作業系統、固件模塊或驅動器、應用等等(在本文中共同被標明為408)的編程指令的工作拷貝和永久拷貝。編程指令的永久拷貝可以通過例如諸如光碟(CD)之類的分布介質(未示出)或通過(來自分布伺服器(未示出)的)通信接口 412被放置到工廠中或現場中的永久存儲裝置中。
[0036]計算機系統400的各種元件的剩餘構造是已知的,並且因此將不另外詳細描述。另外注意到,本文中公開了一種製品。該製品可以包括其上存儲有指令的非臨時計算機可讀介質,所述指令如果被執行則導致本文中描述的行動。所述非臨時計算機可讀介質可以包括例如存儲器406和/或大容量裝置410或任何其它適合的存儲介質的組件。
[0037]儘管出於描述的目的在本文中已經說明和描述了某些實施例,但是在不脫離本公開的範圍的情況下,打算實現相同目的的各種可替換和/或等同實施例或實施方式可以代替所示出和描述的實施例。本申請意圖涵蓋本文中討論的實施例的任何適配或變型。因此,顯然意圖的是,本文中描述的實施例只由權利要求和其等同物限制。
【權利要求】
1.一種處理器,包括: 多個寄存器; 影子寄存器堆; 控制寄存器;以及 拷貝電路,其被耦合到影子寄存器堆和控制寄存器並且被配置成按第一或第二所選擇的方向將內容從所述多個寄存器的範圍中的部分或全部中拷貝到影子寄存器堆的影子範圍,其中所述第一或第二所選擇的方向將至少部分地基於被存儲在所述控制寄存器中的值。
2.根據權利要求1所述的處理器,其中所述第一所選擇的方向是正向方向。
3.根據權利要求2所述的處理器,其中所述第二所選擇的方向是相反方向。
4.根據權利要求1所述的處理器,其中所述多個寄存器的範圍包括用於在第一代碼區域的執行中使用的第一寄存器範圍[1,M1]。
5.根據權利要求1所述的處理器,其中所述多個寄存器的範圍進一步包括用於在第二代碼區域的執行中使用的第二寄存器範圍[1,M2]。
6.根據權利要求5所述的處理器,其中所述第一寄存器範圍被拷貝到影子範圍[1,Ml],並且所述第二範圍 被拷貝到[N,N-M2+1]的影子範圍,其中N是影子寄存器堆中的寄存器數。
7.根據權利要求5所述的處理器,其中所述第一範圍中的寄存器數和所述第二範圍中的寄存器數合起來可超過影子寄存器堆中的寄存器數。
8.根據權利要求1所述的處理器,其中所述拷貝電路被配置成在兩個階段中從所述多個寄存器的範圍中拷貝內容。
9.根據權利要求8所述的處理器,其中所述拷貝電路被配置成在兩個階段中拷貝內容以允許下一個區域在先前的區域提交之前開始執行。
10.根據權利要求9所述的處理器,其中所述處理器被配置成如果指令嘗試修改具有在第一階段期間未被設定檢查點的內容的寄存器則停止該下一個區域的執行。
11.一種方法,包括: 由處理器至少部分地基於在多個架構寄存器中的架構寄存器的相應狀態而將相應的優先級分配給所述處理器的多個架構寄存器中的每一個;以及 由處理器至少部分地基於架構寄存器的所分配的優先級而分配用於執行原子區域的架構寄存器以減少要被拷貝到所述處理器的影子寄存器的範圍的架構寄存器的範圍。
12.根據權利要求11所述的方法,進一步包括由所述處理器至少部分地基於一個或多個架構寄存器對於影子寄存器的需要的概率來確定所述架構寄存器的相應狀態。
13.根據權利要求11所述的方法,進一步包括由所述處理器至少部分地基於一個或多個架構寄存器的寄存器號來確定所述架構寄存器的相應狀態。
14.根據權利要求11所述的方法,進一步包括由所述處理器至少部分地基於對一個或多個架構寄存器的修改的相應次序來確定所述架構寄存器的相應狀態。
15.根據權利要求11所述的方法,其中將相應的優先級分配給所述多個架構寄存器包括由所述處理器將第一優先級分配給在到原子區域的入口處是死的寄存器,所述第一優先級高於被分配給在到原子區域的入口處是活的寄存器的第二優先級。
16.根據權利要求11所述的方法,進一步包括由所述處理器規定要被拷貝到影子寄存器的範圍的架構寄存器的範圍。
17.—種系統,包括: 處理器,其包括: 多個寄存器; 影子寄存器堆;以及 控制寄存器; 拷貝電路,其被耦合到所述影子寄存器堆和所述控制寄存器並且被配置成按第一或第二所選擇的方向將內容從所述多個寄存器的範圍中的部分或全部拷貝到所述影子寄存器堆的影子範圍,其中所述第一或第二所選擇的方向至少部分地基於被存儲在所述控制寄存器中的值;以及 包括具有指令的非臨時計算機可讀介質的存儲器,所述指令可執行以使所述處理器進行以下動作: 至少部分地基於所述寄存器的相應狀態而將相應的優先級分配給所述寄存器;以及 至少部分地基於所述多個寄存器中每一個的所分配的相應優先級而分配用於執行原子區域的寄存器以減少要被拷貝到所述影子寄存器堆的影子範圍的寄存器的範圍。
18.一種其中存儲有指令的非臨時計算機可讀存儲介質,被配置成響應於所述指令的執行而使處理器進行以下動作: 至少部分地基於架構寄存器的相應狀`態而將相應的優先級分配給所述處理器的多個架構寄存器;以及 至少部分地基於架構寄存器的所分配的相應優先級而分配用於執行原子區域的架構寄存器以減少要被拷貝到所述處理器的影子寄存器的範圍的架構寄存器的範圍。
19.根據權利要求16所述的存儲介質,其中所述指令進一步被配置成響應於由所述處理器的執行而使所述處理器至少部分地基於一個或多個架構寄存器對於影子寄存器的需要的概率來確定所述架構寄存器的相應狀態。
20.根據權利要求16所述的存儲介質,其中所述指令進一步被配置成響應於由所述處理器的執行而使所述處理器至少部分地基於一個或多個架構寄存器的寄存器號來確定所述架構寄存器的相應狀態。
21.根據權利要求16所述的存儲介質,其中所述指令進一步被配置成響應於由所述處理器的執行而使所述處理器至少部分地基於對一個或多個架構寄存器的修改的相應次序來確定所述架構寄存器的相應狀態。
22.根據權利要求16所述的存儲介質,其中將相應的優先級分配給所述多個架構寄存器包括將第一優先級分配給在到原子區域的入口處是死的寄存器,所述第一優先級高於被分配給在到原子區域的入口處的寄居寄存器的第二優先級。
23.根據權利要求16所述的存儲介質,其中所述指令進一步被配置成響應於由所述處理器的執行而使所述處理器規定要被拷貝到影子寄存器的範圍的架構寄存器的範圍。
【文檔編號】G06F13/14GK103827840SQ201180073779
【公開日】2014年5月28日 申請日期:2011年9月29日 優先權日:2011年9月29日
【發明者】C.王, Y.吳, J.鍾 申請人:英特爾公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀