新四季網

用於分支預測的多模式寄存器堆的製作方法

2023-12-03 19:57:26 2

專利名稱:用於分支預測的多模式寄存器堆的製作方法
用於分支預測的多模式寄存器堆技術領域
本文中所揭示的發明性概念的實施例大體上涉及數據處理系統的領域。更明確地 說,本文中所揭示的發明性概念的實施例涉及多模式寄存器堆。
背景技術:
為在處理器中處理指令,處理的各個級可包括提取(用以獲得所述指令)、解碼 (用以將所述指令分解成運算和操作數,例如操作數A加操作數B)、從寄存器堆檢索操作 數、執行所述指令和回寫結果(例如,操作數A加操作數B的和)。在管線化之前,處理器 在進行到下一指令之前將執行一個指令的所有級。為提高計算速度,曾在處理器中實施管 線,以便分開處理指令的不同級。因此,可執行處理指令的一個級,同時在同一時鐘周期期 間執行處理後續指令的另一級。舉例來說,當在第一時鐘周期期間對第一指令進行解碼的 同時,可在第一時鐘周期期間提取第二指令。接著,當在第二時鐘周期期間針對第一指令從 寄存器堆檢索操作數的同時,在第二時鐘周期期間可對第二指令進行解碼且可提取第三指 令。經由管線化而進行的多個指令的同時處理可提高處理器的計算速度。
分支指令可指示處理器在程序中的不同位置處開始計算指令。舉例來說,作為分 支指令的第五指令可使處理器跳轉以開始處理第二十指令。然而,通過使用管線化,處理器 可在執行所述分支指令之前開始檢索後續指令(例如,第六指令、第七指令和第八指令)並 對其進行解碼。因此,如果採用分支,那么正在處理中的指令被移除,且分支到的新指令被 處理。處理不應被處理的指令耗費時間且因此影響處理速度。此外,誤推測的指令也浪費 能量°
因此,處理器可包括分支預測邏輯,以便供處理器預測應提取分支指令之後的哪 一指令(即,確定是否應採用分支)。所述分支預測邏輯減少了處理器因遺漏的分支而錯誤 地提取指令的次數。分支預測邏輯可包括分支歷史表和/或分支目標高速緩衝存儲器。所 述分支歷史表存儲待預測的每一分支指令的分支歷史的某一變化。分支歷史是針對分支指 令的每次執行而採用分支還是不採用分支的記錄。所述分支歷史表可為2Xn位表,其中η 個行中的每一者對應於程序的不同分支指令,且用於η個行中的每一者的兩個位由處理器 用來預測針對對應於所述行的分支指令是否採用分支。行越多,表示可預測越多的分支指 令。所述兩個位可充當計數器,其中等於1-1可表示預測採用分支,0-0可表示預測不採用 分支,且1-0或0-1可表示不確定。通過觀察待預測的每一分支指令的分支歷史來訓練所 述位。如果採用分支,那麼使所述計數器遞增(直到達到1-1為止)。如果不採用分支,那 麼使所述計數器遞減(直到達到0-0為止)。
所述分支目標高速緩衝存儲器存儲待預測的每一分支指令的目的地。在一個實施 例中,所述分支目標高速緩衝存儲器可存儲數目等於所述分支目標高速緩衝存儲器的行或 寄存器的數目(例如,每分支目標一個行或寄存器)的分支指令的目的地。所述分支目標 高速緩衝存儲器可存儲分支指令的分支所指向的指令的地址。將分支歷史表和/或分支目 標高速緩衝存儲器包括在處理器中的一個問題在於所述分支歷史表和所述分支目標高速4緩衝存儲器是額外邏輯,因此增大了處理器的面積以及處理器的電力消耗。 發明內容
在一實施例中,描述一種多模式寄存器堆。所述多模式寄存器堆在第一模式期間 包括一操作數。所述多模式寄存器堆在第二模式中進一步包括代替所述操作數的輔助信息ο
本文中所揭示的一個或一個以上實施例的優點可包括對用於包括分支預測邏輯 的電路的最小大小增加以及電力節省。
提到此說明性實施例不是為了限制或界定本文中所揭示的發明性概念,而是為了 提供輔助理解所述概念的實例。在回顧整個申請案之後,本發明的其它方面、優點和特徵將 變得顯而易見,整個申請案包括以下部分「


」、「具體實施方式
」和「權利要求書」。

當參看附圖閱讀以下「具體實施方式
」時,會更好地理解本文中所揭示的本發明性 概念的這些和其它特徵、方面和優點,其中
圖1是說明用於實施分支預測的處理器內的示範性電路的示意圖。
圖2是說明圖1中的示意圖的示範性寄存器堆單元的示意圖。
圖3是說明圖1中的示意圖的示範性寄存器堆單元的替代示意圖。
圖4是說明用於第一模式中或用於第二模式中的圖3中的示意圖的寄存器堆的示 範性分離的示意圖。
圖5是說明用於將信息存儲在一個多模式寄存器堆中的示範性方法的流程圖。
圖6是說明用於依據多個多模式寄存器堆中的每一者的模式而將信息存儲在所 述多模式寄存器堆中的示範性方法的流程圖。
圖7是說明併入有可包括多模式寄存器堆的數位訊號處理器的實例可攜式通信 裝置的總圖。
圖8是說明併入有可包括多模式寄存器堆的數位訊號處理器的實例蜂窩式電話 的總圖。
圖9是說明併入有可包括多模式寄存器堆的數位訊號處理器的實例無線網際網路 協議電話的總圖。
圖10是說明併入有可包括多模式寄存器堆的數位訊號處理器的實例可攜式數字 助理的總圖。
圖11是說明併入有可包括多模式寄存器堆的數位訊號處理器的實例音頻文件播 放器的總圖。
具體實施方式
遍及整個描述內容,出於闡釋的目的,陳述眾多特定細節以便提供對本文中所揭 示的發明性概念的透徹理解。然而,所屬領域的技術人員將明白,可在不具有這些特定細節 中的一些細節的情況下實踐本文中所揭示的發明性概念。在其它情況下,以框圖形式展示 眾所周知的結構和裝置,以避免模糊本文中所揭示的發明性概念的基本原理。
本文中所揭示的發明性概念的實施例涉及用於分支預測的多模式寄存器堆。處理 器的每一線程可具有其自己的寄存器堆。舉例來說,六線程處理器可具有六個寄存器堆。在 線程的執行期間,寄存器堆存儲已由所述處理器收回以用於所述線程的操作數。舉例來說, 對於指令/運算「操作數A加操作數B」,所述寄存器堆可存儲總和以供稍後檢索。
在多線程架構中,並非所有線程均可同時執行。舉例來說,收聽音頻文件可致使一 個線程進行運算,但可能不需要其它線程。因此,在一個實施例中,與非活動線程相關聯的 寄存器堆可用以存儲不對應於相應活動線程的輔助信息,例如分支預測信息。所述分支預 測信息可由處理器用來預測活動指令流的分支。因此,多線程架構的寄存器堆可處於第一 模式中,從而存儲用於其相應線程的操作數,或處於第二模式中,從而存儲例如分支預測信 息等輔助信息。
分支預測信息可包括分支歷史表和/或分支目標高速緩衝存儲器。當多模式寄存 器堆處於第二模式中且存儲分支預測信息時,所述寄存器堆可存儲用於活動線程的分支歷 史表和分支目標高速緩衝存儲器中的一者或兩者。因此,存儲在所述寄存器堆中的表用以 預測不與所述寄存器堆相關聯的活動線程中的分支。一旦對應於處於第二模式的寄存器堆 的線程將再次變成活動的(即,所述線程的指令將由處理器執行),所述寄存器堆就從第二 模式切換到第一模式,以便存儲用於新活動的線程的操作數。在一個實施例中,當寄存器堆 切換到第一模式時,存儲在所述寄存器堆中的任何輔助信息可被傳送到用於多線程架構中 的當前非活動線程的一個或一個以上寄存器堆。在另一實施例中,存儲在寄存器堆中的輔 助信息中的全部或一部分可能丟失。雖然分支預測信息的丟失可能導致處理器重新編譯分 支預測信息,但當處理器重新編譯此信息時,分支預測的正確性得以確保。
如果多線程架構的所有線程均為活動的,那麼所有寄存器堆均處於存儲用於其相 應線程的操作數的第一模式。因此,由於無寄存器堆處於第二模式以存儲分支預測信息,所 以可不執行分支預測。另一方面,多個線程可為非活動的,且可能不需要所有用於非活動線 程的寄存器堆來存儲分支預測信息。因此,處理器可包括用以確定哪些寄存器堆將優先處 於第二模式(例如,以存儲分支預測信息)的邏輯。此外,所述處理器可包括用以確定哪些 線程將執行指令流且哪些線程將為非活動,因此確定指令執行在多個線程間的優先級的邏 輯。
圖1到圖4的示意圖說明用於實施分支預測的處理器內的示範性電路的實施例。 圖1的示意圖說明用於分支預測的處理器100內的示範性電路。圖2的示意圖說明圖1中 的示意圖的示範性寄存器堆單元102,其中寄存器堆單元102包括多個寄存器堆。圖3的示 意圖說明包括多個寄存器堆及其相應的寄存器堆寄存器的圖1中的示意圖的示範性寄存 器堆單元102。圖4的示意圖說明用於第一模式中或用於第二模式中的圖3中的寄存器堆 單元102的寄存器堆的示範性分離。
處理器100(圖1)可包括用於預測分支的分支預測邏輯,其中分支預測信息104 存儲在寄存器堆單元102中。所述邏輯可為除包括於處理器100中的其它運算電路之外的 電路。如先前所陳述,分支預測信息104可為分支歷史表和分支目標高速緩衝存儲器中的 一者或兩者。在另一實施例中,分支預測信息可為允許處理器嘗試預測分支的任何信息。在 圖1中,分支預測信息104為分支目標高速緩衝存儲器。寄存器堆單元102包括讀取埠 106,其用於從寄存器堆單元102讀取數據;寫入數據埠 108,其用於將數據寫入到寄存器堆單元102 ;以及地址總線110,其用於識別待存取(讀取或寫入)的寄存器堆單元102的 特定地址。如所說明,寄存器堆單元102可耦合到控制邏輯112。
在一個實施例中,控制邏輯112確定在處理來自指令管線114的指令時是否遇到 分支指令,以及針對所遇到的分支指令是否將預測分支。在一個實施例中,在管線中的指 令的解碼期間確定分支指令。在確定是否遇到分支時,控制邏輯112可確定所遇到的指令 的地址是否與分支指令的已知地址匹配。在一個實施例中,可從指令的程序計數器116中 抽出所遇到的指令的地址。可從分支預測信息104或從單獨的列表存取已知分支指令的地 址。如果所遇到的指令的地址與分支指令的地址匹配,那麼控制邏輯112假定所遇到的指 令為分支指令。
處理器100可接著通過存取分支歷史信息104來確定分支的目的地。在一個實施 例中,處理器100針對將在地址總線110上發送的分支指令從程序計數器116產生地址,以 存取寄存器堆單元102而尋找預測信息118。由於分支預測信息104包括分支存取表(其 包括分支的目標地址),所以預測信息118包括所遇到的分支指令的目標地址。如果將採用 所述分支,那麼在採用所述分支時使用來自預測信息118的目標地址。
多路復用器120可確定是否將採用所述分支,其中對多路復用器120的控制輸入 可為分支歷史信息。對多路復用器120的一個輸入可為來自預測信息118的目標地址。在 一個實施例中,進入多路復用器中的另一輸入為邏輯零(例如,接地),使得多路復用器在 將不採用所述分支的情況下將邏輯零輸出到分支預測1 上。在另一實施例中,多路復用 器120經配置以在將不採用所述分支的情況下將高阻抗信號輸出到分支預測IM上。
在圖1的示意圖中,分支歷史信息可存儲在程序計數器116中。舉例來說,所遇到 的分支的二位分支歷史(如先前針對分支歷史表所描述)可存儲在程序計數器116中。因 此,所述電路可將來自程序計數器116的分支歷史信息輸出到控制器122上,以便控制多路 復用器120將是否應採用所述分支的預測輸出到分支預測IM上。舉例來說,如果程序計 數器中的分支歷史的兩個位為1-1,那麼控制器122包括用以切換多路復用器120的信號, 以便將關於採用所述分支的預測輸出在分支預測1 上。
在一個實施例中,如果將採用分支(例如,分支歷史等於1-1),那麼將目標地址發 送到分支預測124,以便將其反饋到控制邏輯112。控制邏輯112接著根據所述信號來確定 將採用所述分支且使流跳轉到位於目標地址處的指令。在另一實施例中,可經由分支預測 124將邏輯一發送到控制邏輯112,以便供控制邏輯112確定將採用分支。如果將不採用分 支(例如,分支歷史等於0-0),那麼控制邏輯112可經由分支預測IM接收邏輯零或高阻 抗。控制邏輯接著根據所述信號來確定流應在不採用所述分支的情況下,繼續進行到處理 所述分支指令之後的指令。
在另一實施例中且如先前所陳述,分支歷史可作為分支歷史表存儲在寄存器堆單 元102中。因而,寄存器堆單元102中的分支歷史表可視情況從讀取數據埠 106輸出到 控制器122上,以便控制多路復用器120的輸出。在一個實施例中,分支指令的分支歷史和 目標地址可存儲在一個寄存器中,從而對分支歷史表信息與分支目標高速緩衝存儲器信息 進行組合。
參看圖2,寄存器堆單元102可包括存儲區202,所述存儲區202包括多個寄存器 堆204到214。在所說明的實施例中,說明六個寄存器堆,其中處理器可為六線程架構。在其它實施例中,寄存器堆的數目可為大於一的任一數目(例如,二 ),其中所述寄存器堆中 的至少一者可處於第一模式,且所述寄存器堆中的至少一者可處於第二模式。寄存器堆204 到214中的每一者與六線程架構處理器的相應線程相關聯。舉例來說,寄存器堆1 204可 與處理器的第一線程相關聯。寄存器堆204到214可經由總線216而互連。因此,用於處 於第二模式的寄存器堆的分支預測信息可在處於第二模式的寄存器堆間劃分。在另一實施 例中,寄存器堆中的一部分可為單一模式寄存器堆(僅存儲操作數),而其餘寄存器堆為多 模式寄存器堆。
再次參看圖2,存儲區202連接到提取單元218和回寫單元220。提取單元218將 地址222發送到存儲區202,以便存取並提取寄存器堆204到214中的一者的寄存器值。將 所存取的值發送到寄存器堆數據接口 224,其從寄存器堆單元102輸出所述值。回寫單元 220發送存儲區202中數據將寫入和存儲到的寄存器的地址222。在一個實施例中,提取單 元218和回寫單元220可存取來自/去往處於第一模式的寄存器堆的操作數,以及來自/ 去往處於第二模式的寄存器堆的輔助信息(例如,分支預測信息)。
參看圖3,寄存器堆單元102可進一步包括寄存器堆寄存器302到312 (例如,在存 儲區202中)。在一個實施例中,每一寄存器堆寄存器302到312與一寄存器堆204到214 相關聯。舉例來說,RFl寄存器302與寄存器堆1 204相關聯,RF2寄存器304與寄存器堆 2 206相關聯,依此類推。寄存器堆寄存器302到312可包括關於其相應的寄存器204到 214的信息,包括關於何時將寄存器切換到第二模式的優先級信息、關於寄存器何時將處於 第一模式的優先級信息或關於對應寄存器與哪一線程相關聯的信息。舉例來說,RFl寄存 器302可包括以下信息寄存器堆1 204與線程0相關聯,寄存器堆1 204是將處於第一模 式以便存儲操作數的第一寄存器和/或寄存器堆1 204是將處於第二模式以存儲輔助信息 的最後一個寄存器。在另一實施例中,寄存器堆寄存器可包括關於對應寄存器是處於第一 模式還是第二模式的信息。
在一個實施例中,由於每一寄存器204到214的寄存器堆寄存器302到312包括 關於相應寄存器堆何時將處於第一模式以及相應寄存器堆何時將切換到第二模式的優先 級的信息,所以處理器100可使用所述信息以便控制哪些寄存器堆處於第一模式以及哪些 寄存器堆處於第二模式。舉例來說,處理器可通過經由總線214控制寄存器堆寄存器302 到312來將寄存器堆從第一模式切換到第二模式/從第二模式切換到第一模式。
圖4的示意圖說明一個實例,其中寄存器堆204到208處於第一模式,且寄存器 堆210到214處於第二模式。如先前所描述,寄存器堆寄存器302到312可包括寄存器堆 204到214何時將處於第一模式的優先級信息。舉例來說,所述優先級信息可為寄存器堆1204為將處於第一模式的第一寄存器堆(即,其相關聯線程第一個執行指令),寄存器堆2206為將處於第一模式的第二寄存器堆(即,其相關聯線程第二個執行指令),寄存器堆3208為將處於第一模式的第三寄存器堆(即,其相關聯線程第三個執行指令),寄存器堆4210為將處於第一模式的第四寄存器堆(即,其相關聯線程第四個執行指令),寄存器堆5212為將處於第一模式的第五寄存器堆(即,其相關聯線程第五個執行指令),且寄存器 堆6 214為將處於第一模式的第六且最後一個寄存器堆(即,其相關聯線程第六個執行指 令)。因此,如果五個線程將執行指令,那麼寄存器堆204到212將處於第一模式(例如,存 儲用於其相應線程的操作數),且寄存器堆6 214無需處於第一模式。8
也如先前所描述,寄存器堆寄存器302到312可包括寄存器堆204到214何時將 處於第二模式的優先級信息。舉例來說,所述優先級信息可為寄存器堆1 204為將處於第 二模式的第六且最後一個寄存器堆(例如,以存儲用於活動線程的分支預測信息),寄存器 堆2 206為將處於第二模式的第五且倒數第二個寄存器堆,寄存器堆3 208為將處於第二 模式的第四寄存器堆,寄存器堆4 210為將處於第二模式的第三寄存器堆,寄存器堆5 212 為將處於第二模式的第二且正數第二寄存器堆,且寄存器堆6 214為將處於第二模式的第 一寄存器堆。因此,如果兩個線程正執行指令,那麼寄存器堆208到214可處於第二模式。 如果兩個寄存器堆將處於第二模式,那麼寄存器堆212到214處於第二模式。在一個實施 例中,寄存器堆是否處於第一模式(即,相應線程為活動的/正執行指令)相較於寄存器堆 是否將切換到第二模式具有優先級。
再次參看圖4,在所述實例中,三個線程將為活動的,且三個寄存器堆將處於第二 模式。因此,寄存器堆204到208處於第一模式,進而存儲用於活動線程的操作數。寄存器 堆210到214處於第二模式以存儲(例如)用於所述三個活動線程的分支預測信息。在一 個實施例中,所述分支預測信息可在第二模式中在整個存儲區402之中劃分或展開。因此, 當越多的寄存器堆204到214處於第二模式時,存在越多存儲區用於存儲分支預測信息,因 此允許分支歷史表和分支目標高速緩衝存儲器更大(例如,每一表中有更多的行)以便允 許預測更多分支指令。
圖5是說明用於將信息存儲在圖1到圖3的一個多模式寄存器堆中的示範性方法 500的流程圖。在502處開始,處理器100確定多模式寄存器堆(例如,圖3中的寄存器堆 1 204)是否處於第一模式。在確定寄存器堆1 204是否處於第一模式的一個實施例中,處 理器100存取RFl寄存器302,所述RFl寄存器302與寄存器堆1 204相關聯,且可包括關 於寄存器堆1 204處於哪一模式的信息。在另一實施例中,處理器100可檢查RFl寄存器 302的優先級信息以及活動線程的數目,以確定寄存器堆1 204是否處於第一模式。在另一 實施例中,處理器100可確定寄存器堆1 204的相應線程(例如,線程0),且確定所述相應 線程是否為活動的。如果寄存器堆1 204處於第一模式,那麼寄存器堆1 204的相應線程 為活動的,且寄存器堆1 204可在504中從回寫單元220(圖幻接收操作數。剛一接收到 操作數,寄存器堆就可將所述操作數存儲在由回寫單元220識別的寄存器位置中(506)。
如果處理器100在502中確定寄存器堆不處於第一模式,那麼處理器100可在508 中確定多模式寄存器堆1 204是否處於第二模式。在一個實施例中,處理器100可假定在 寄存器堆1 204不處於第一模式的情況下,寄存器堆1 204處於第二模式。在另一實施例 中,寄存器堆1 204可為非活動的,且因此既不處於第一模式也不處於第二模式。因此,如 果處理器100確定寄存器堆1 204不處於第二模式,那麼寄存器堆1 204既不處於第一模 式也不處於第二模式,且當時可能不在接受信息。如果多模式寄存器堆處於第二模式,那麼 寄存器堆1 204在510中從回寫單元220(圖3)接收輔助信息(例如,分支預測信息)。剛 一接收到所述輔助信息,寄存器堆1 204就可將所述輔助信息存儲在由回寫單元220識別 的寄存器位置中(506)。
圖6的流程圖說明用於依據圖1到圖3中的寄存器堆單元102的多個多模式寄存 器堆204到214中的每一者的模式將信息存儲在所述多模式寄存器堆204到214中的示範 性方法600。在602處開始,處理器100確定寄存器堆單元102的哪些多模式寄存器堆2049到214處於第一模式。在一個實施例中,處理器100確定哪些線程為活動的,且從寄存器堆 寄存器302到312確定哪些寄存器堆204到214與活動線程相關聯。在另一實施例中,處 理器100可從相關聯的寄存器堆寄存器讀取寄存器堆是否處於第一模式的信息。
剛一確定哪些寄存器堆204到214處於第一模式,處理器100就可在604中確定 哪些寄存器堆204到214處於第二模式。在一個實施例中,處理器100可讀取不處於第一 模式的寄存器堆204到214的相應寄存器堆寄存器302到312,以確定寄存器堆是否處於第 二模式。在另一實施例中,處理器100假定不處於第一模式的所有寄存器204到214均處 於第二模式。在另一實施例中,處理器100確定將處於第二模式的寄存器堆204到214的 數目,且從寄存器堆204到214的相應寄存器堆寄存器302到312讀取針對第二模式的優 先級信息。
進行到606,處理器100將操作數發送到處於第一模式的寄存器堆204到214。舉 例來說,如果線程0包括由被執行的指令引起的操作數,那麼處理器100將所述操作數發送 到寄存器堆1 204(圖;3)以存儲。接著在608中,處於第一模式的接收寄存器堆204到214 存儲所述操作數。
進行到610,處理器100將輔助信息發送到處於第二模式的寄存器堆204到214。 舉例來說,處理器100可發送用於最近執行的分支指令的分支預測信息,其可稍後用於預 測相同分支。在一個實施例中,處理器100確定處於第二模式的哪一寄存器堆204到214將 存儲哪一條輔助信息。舉例來說,再次參看圖4,處理器100可確定,寄存器堆210到212將 存儲分支目標高速緩衝存儲器,且寄存器堆6 214將存儲正執行的指令流的分支歷史表。 再次參看圖6,接著在612中,處於第二模式的接收寄存器堆204到214存儲所述輔助信息。
包括上文所描述的特徵的實例裝置
多模式寄存器堆可包括於例如數位訊號處理器等包括寄存器堆的任何處理器中。 圖7到圖11的總圖說明可併入有用於在第一模式中存儲(例如)操作數且在第二模式中 存儲分支預測信息以便用於預測正執行的分支指令的分支的多模式寄存器堆的實例裝置。
圖7是說明可攜式通信裝置700的示範性實施例的圖。如圖7的總圖中所說明, 可攜式通信裝置包括晶片上系統702,所述晶片上系統702包括數位訊號處理器(DSP) 704。 圖7的總圖還展示耦合到數位訊號處理器704和顯示器708的顯示器控制器706。此外,輸 入裝置710耦合到DSP 704。如圖所示,存儲器712耦合到DSP 704。另外,編碼器/解碼 器(編解碼器)714可耦合到DSP 704。揚聲器716和麥克風718可耦合到編解碼器714。
圖7的總圖進一步說明耦合到數位訊號處理器704和無線天線722的無線控制器 720。在特定實施例中,電力供應7M耦合到晶片上系統702。此外,在特定實施例中,如圖 7中所說明,顯示器708、輸入裝置710、揚聲器716、麥克風718、無線天線722和電力供應 724在晶片上系統702的外部。然而,顯示器708、輸入裝置710、揚聲器716、麥克風718、無 線天線722和電力供應7M每一者均耦合到晶片上系統702的一組件。
在特定實施例中,DSP 704包括一個或一個以上多模式寄存器堆726,以便在寄存 器堆不處於第一模式(不存儲活動線程的操作數)時存儲(例如)分支預測信息。舉例來 說,當處理器704遇到分支指令且多模式寄存器堆7 正存儲分支預測信息時,處理器704 接著使用多模式寄存器堆726中的所述分支預測信息來確定應將分支預測為採用還是不 採用。處理器704接著開始處理來自分支預測的下一個所預測的指令。
圖8是說明蜂窩式電話800的示範性實施例的圖。如圖所示,蜂窩式電話800包 括晶片上系統802,所述晶片上系統802包括耦合在一起的數字基帶處理器804和模擬基帶 處理器806。在特定實施例中,數字基帶處理器804為數位訊號處理器。如圖8的總圖中所 說明,顯示器控制器808和觸控螢幕控制器810耦合到數字基帶處理器804。在晶片上系統 802外部的觸控螢幕顯示器812又耦合到顯示器控制器808和觸控螢幕控制器810。
圖8的總圖進一步說明視頻編碼器814(例如,逐行倒相(PAL)編碼器、順序傳送 色彩與存儲(SECAM)編碼器或國家電視制式委員會(NTSC)編碼器)耦合到數字基帶處理 器804。另外,視頻放大器816耦合到視頻編碼器814和觸控螢幕顯示器812。而且,視頻端 口 818耦合到視頻放大器816。如圖8的總圖中所描繪,通用串行總線(USB)控制器820耦 合到數字基帶處理器804。而且,USB埠 822耦合到USB控制器820。存儲器擬4和訂戶 身份模塊(SIM)卡826也可耦合到數字基帶處理器804。另外,如圖8的總圖中所展示,數 字相機擬8可耦合到數字基帶處理器804。在示範性實施例中,數字相機擬8為電荷耦合裝 置(CXD)相機或互補金屬氧化物半導體(CM0Q相機。
如圖8的總圖中進一步說明,立體聲音頻編解碼器830可耦合到模擬基帶處理器 806。此外,音頻放大器832可耦合到立體聲音頻編解碼器830。在示範性實施例中,第一立 體聲揚聲器834和第二立體聲揚聲器836耦合到音頻放大器832。麥克風放大器838也可 耦合到立體聲音頻編解碼器830。另外,麥克風840可耦合到麥克風放大器838。在特定實 施例中,調頻(FM)無線電調諧器842可耦合到立體聲音頻編解碼器830。而且,FM天線844 耦合到FM無線電調諧器842。另外,立體聲耳機846可耦合到立體聲音頻編解碼器830。
圖8的總圖進一步說明射頻(RF)收發器848可耦合到模擬基帶處理器806。RF開 關850可耦合到RF收發器848和RF天線852。小鍵盤邪4可耦合到模擬基帶處理器806。 另外,振動器裝置858可耦合到模擬基帶處理器806。圖8的總圖還展示電力供應860可耦 合到晶片上系統802。在特定實施例中,電力供應860為向蜂窩式電話800的各種組件提供 電力的直流(DC)電力供應。另外,在特定實施例中,電力供應為可再充電DC電池或得自耦 合到AC電源的交流(AC)到DC變壓器的DC電力供應。
如圖8的總圖中所描繪,觸控螢幕顯示器812、視頻埠 818、USB埠 822、相機828、 第一立體聲揚聲器834、第二立體聲揚聲器836、麥克風840、FM天線844、立體聲耳機846、 RF開關850、RF天線852、小鍵盤854、振動器858和電力供應860可在晶片上系統802的 外部。在特定實施例中,數字基帶處理器804可包括一個或一個以上多模式寄存器堆862, 以便在寄存器堆862不處於第一模式(不存儲活動線程的操作數)時存儲(例如)分支預 測信息。
圖9是說明無線網際網路協議(IP)電話900的示範性實施例的圖。如圖所示,無線 IP電話900包括晶片上系統902,所述晶片上系統902包括數位訊號處理器(DSP) 904。顯 示器控制器906可耦合到DSP 904,且顯示器908耦合到所述顯示器控制器906。在示範性 實施例中,顯示器908為液晶顯示器(IXD)。圖9進一步展示小鍵盤910可耦合到DSP 904。
快閃記憶體912可耦合到DSP 904。同步動態隨機存取存儲器(SDRAM)914、靜態隨 機存取存儲器(SRAM) 916和電可擦除可編程只讀存儲器(EEPROM) 918也可耦合到DSP 904。 圖9的總圖還展示發光二極體(LED)920可耦合到DSP 904。另外,在特定實施例中,語音 編解碼器922可耦合到DSP 904。放大器擬4可耦合到語音編解碼器922,且單聲道揚聲器11926可耦合到放大器924。圖9的總圖進一步說明耦合到語音編解碼器922的單聲道頭戴 耳機928。在特定實施例中,單聲道頭戴耳機擬8包括麥克風。
無線區域網(WLAN)基帶處理器930可耦合到DSP 904。RF收發器932可耦合到 WLAN基帶處理器930,且RF天線934可耦合到RF收發器932。在特定實施例中,藍牙控制 器936也可耦合到DSP 904,且藍牙天線938可耦合到控制器936。圖9的總圖還展示USB 埠 940也可耦合到DSP 904。此外,電力供應942耦合到晶片上系統902,且向無線IP電 話900的各種組件提供電力。
如圖9的總圖中所指示,顯示器908、小鍵盤910、LED 920、單聲道揚聲器926、單聲 道頭戴耳機928、RF天線934、藍牙天線938、USB埠 940和電力供應942可在晶片上系統 902的外部,且耦合到晶片上系統902的一個或一個以上組件。在特定實施例中,DSP 904 可包括一個或一個以上多模式寄存器堆960,以便在寄存器堆960不處於第一模式(不存儲 活動線程的操作數)時存儲(例如)分支預測信息。
圖10是說明可攜式數字助理(PDA)900的示範性實施例的圖。如圖所示,PDA 1000 包括晶片上系統1002,所述晶片上系統1002包括數位訊號處理器(DSP) 1004。觸控螢幕控制 器1006和顯示器控制器1008耦合到DSP 1004。另外,觸控螢幕顯示器1010耦合到觸控螢幕 控制器1006,且耦合到顯示器控制器1008。圖10的總圖還指示小鍵盤1012可耦合到DSP 1004。
在特定實施例中,立體聲音頻編解碼器10 可耦合到DSP 1004。第一立體聲放 大器10 可耦合到立體聲音頻編解碼器1026,且第一立體聲揚聲器1030可耦合到第一立 體聲放大器1(^8。另外,麥克風放大器1032可耦合到立體聲音頻編解碼器1(^6,且麥克風 1034可耦合到麥克風放大器1032。圖10的總圖進一步展示第二立體聲放大器1036可耦合 到立體聲音頻編解碼器10 ,且第二立體聲揚聲器1038可耦合到第二立體聲放大器1036。 在特定實施例中,立體聲耳機1040也可耦合到立體聲音頻編解碼器1(^6。
圖10的總圖還說明802. 11控制器1042可耦合到DSP 1004,且802. 11天線1044 可耦合到802. 11控制器1042。另外,藍牙控制器1046可耦合到DSP 1004,且藍牙天線1048 可耦合到藍牙控制器1046。USB控制器1050可耦合到DSP 1004,且USB埠 1052可耦合 到USB控制器1050。另外,智慧卡IOM (例如,多媒體卡(MMC)或安全數字卡(SD))可耦合 到DSP 1004。另外,電力供應1056可耦合到晶片上系統1002,且可向PDA 1000的各種組 件提供電力。
如圖10的總圖中所指示,顯示器1010、小鍵盤1012、IrDA埠 1022、數字相機 1024、第一立體聲揚聲器1030、麥克風1034、第二立體聲揚聲器1038、立體聲耳機1040、 802. 11天線1044、藍牙天線1048、USB埠 1052和電力供應1056可在晶片上系統1002的 外部,且耦合到所述晶片上系統上的一個或一個以上組件。在特定實施例中,DSP 1004可 包括一個或一個以上多模式寄存器堆1060,以便在寄存器堆1060不處於第一模式(不存儲 活動線程的操作數)時存儲(例如)分支預測信息。
圖11是說明音頻文件播放器(例如,MP3播放器)1100的示範性實施例的圖。如 圖所示,音頻文件播放器1100包括晶片上系統1102,所述晶片上系統1102包括數位訊號處 理器(DSP) 1104。顯示器控制器1106可耦合到DSP 1104,且顯示器1108耦合到顯示器控 制器1106。在示範性實施例中,顯示器1108為液晶顯示器(IXD)。小鍵盤1110可耦合到DSP 1104。
如圖11的總圖中進一步描繪,快閃記憶體1112和只讀存儲器(R0M)1114可耦合 到DSP 1104。另外,在特定實施例中,音頻編解碼器1116可耦合到DSP 1104。放大器1118 可耦合到音頻編解碼器1116,且單聲道揚聲器1120可耦合到放大器1118。圖11的總圖進 一步指示麥克風輸入1122和立體聲輸入IlM也可耦合到音頻編解碼器1116。在特定實施 例中,立體聲耳機11 也可耦合到音頻編解碼器1116。
USB埠 11 和智慧卡1130可耦合到DSP 1104。另外,電力供應1132可耦合到 晶片上系統1102,且可向音頻文件播放器1100的各種組件提供電力。
如圖11的總圖中所指示,顯示器1108、小鍵盤1110、單聲道揚聲器1120、麥克風輸 入1122、立體聲輸入1124、立體聲耳機1U6、USB埠 11 和電力供應1132在晶片上系統 1102的外部,且耦合到晶片上系統1102上的一個或一個以上組件。在特定實施例中,數字 信號處理器1104可包括一個或一個以上多模式寄存器堆1160,以便在寄存器堆1160不處 於第一模式(不存儲活動線程的操作數)時存儲(例如)分支預測信息。

本文中所揭示的發明性概念的實施例的以上描述已僅出於說明和描述的目的而 呈現,且無意為詳盡的或將本文中所揭示的發明性概念限於所揭示的精確形式。在不脫離 本文中所揭示的發明性概念的精神和範圍的情況下,眾多修改和適應對於所屬領域的技術 人員來說是顯而易見的。
權利要求
1.一種多模式寄存器堆,其包含 操作數,其在第一模式中被存儲;以及輔助信息,其中在第二模式中,所述輔助信息代替所述操作數。
2.根據權利要求1所述的多模式寄存器堆,其中所述輔助信息為分支預測信息。
3.根據權利要求2所述的多模式寄存器堆,其中所述分支預測信息包含 分支目標高速緩衝存儲器;以及分支歷史表。
4.根據權利要求2所述的多模式寄存器堆,其中所述寄存器堆是在多線程架構中的多 個寄存器堆中。
5.根據權利要求4所述的多模式寄存器堆,其中所述操作數是來自將由所述多線程架 構執行的運算管線中的運算。
6.根據權利要求5所述的多模式寄存器堆,其中所述多線程架構經配置以 確定所述多模式寄存器堆是否處於所述第一模式;且在確定所述多模式寄存器堆不處於所述第一模式的情況下,確定所述多模式寄存器堆 是否處於所述第二模式。
7.根據權利要求4所述的多模式寄存器堆,其中所述多個寄存器堆中的每一者為多模 式寄存器堆。
8.根據權利要求7所述的多模式寄存器堆,其中所述多線程架構經配置以確定所述寄 存器堆進入所述第二模式的優先級。
9.根據權利要求8所述的多模式寄存器堆,其中所述多個寄存器堆經配置以在處於所 述第二模式的多個寄存器堆之間劃分所述分支預測信息。
10.一種方法,其包含在第一模式期間由多模式寄存器堆存儲操作數;以及在第二模式中由所述多模式寄存器堆用輔助信息來代替所述操作數。
11.根據權利要求10所述的方法,其中所述輔助信息為分支預測信息。
12.根據權利要求11所述的方法,其中所述分支預測信息包含 分支目標高速緩衝存儲器;以及分支歷史表。
13.根據權利要求11所述的方法,其進一步包含 確定所述多模式寄存器堆是否處於所述第一模式;以及在確定所述多模式寄存器堆不處於所述第一模式的情況下,確定所述多模式寄存器堆 是否處於所述第二模式。
14.根據權利要求11所述的方法,其中所述寄存器堆是在多線程架構中的多個多模式 寄存器堆中。
15.根據權利要求14所述的方法,其進一步包含確定所述多個寄存器堆中的每一者是否處於所述第一模式;以及 對於所述多個寄存器堆中的不處於所述第一模式的每一者,確定每一寄存器堆是否處 於所述第二模式。
16.根據權利要求15所述的方法,其進一步包含在處於所述第二模式的多個寄存器堆之間劃分所述分支預測信息。
17.一種多模式寄存器堆,其包含用於在第一模式期間存儲操作數的裝置;以及 用於在第二模式中用輔助信息來代替所述操作數的裝置。
18.根據權利要求17所述的多模式寄存器堆,其中所述輔助信息為分支預測信息。
19.根據權利要求18所述的多模式寄存器堆,其進一步包含 用於確定所述多模式寄存器堆是否處於所述第一模式的裝置;以及用於在確定所述多模式寄存器堆不處於所述第一模式的情況下確定所述多模式寄存 器堆是否處於所述第二模式的裝置。
20.根據權利要求19所述的多模式寄存器堆,其進一步包含用於確定多個多模式寄存器堆中的每一者進入所述第二模式的優先級的裝置,其中所 述多模式寄存器堆是所述多個多模式寄存器堆中的一者。
21.—種多線程系統,其包含用於所述多線程系統的每一線程的多模式寄存器堆,其中所述多模式寄存器堆經配置 以在第一模式中存儲用於所述線程的操作數,且在第二模式中存儲用於不同線程的分支歷 史表;以及用於每一多模式寄存器堆的多模式寄存器堆寄存器,其用以確定所述多模式寄存器堆 是處於所述第一模式還是所述第二模式。
全文摘要
本發明描述一種用於多線程系統的每一線程的多模式寄存器堆。在一個實施例中,所述多模式寄存器堆在第一模式中包括用於所述線程的操作數。所述多模式寄存器堆在第二模式中進一步包括代替所述操作數的分支預測信息。
文檔編號G06F9/38GK102037443SQ200980118152
公開日2011年4月27日 申請日期2009年5月8日 優先權日2008年5月21日
發明者盧奇安·科德雷斯庫 申請人:高通股份有限公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀