專利名稱:具有可調整操作頻率的處理單元及相關方法
技術領域:
本發(fā)明涉及處理器,特別是涉及一種可調整操作頻率的處理單元及相關方法。
背景技術:
處理器(processor)是計算機系統(tǒng)中一個非常重要的組成組件,其可自系統(tǒng)內(nèi)存中提取(fetch)程序指令與數(shù)據(jù)、對提取的數(shù)據(jù)執(zhí)行程序指令所相關的邏輯運算或數(shù)學運算,并將運算得出的結果存回系統(tǒng)內(nèi)存中。一般而言,量測一處理器處理一特定工作(或程序)所需的時間即可代表一處理器的執(zhí)行效率(performance),而處理器處理一程序所需的時間可以表示為(程序中所包含的指令數(shù)目)×(每一指令所需的時鐘周期)×(一時鐘周期的長度)。故處理器的執(zhí)行效率會受到設計時所產(chǎn)生的各種參數(shù)決定。
而「管線式架構」(pipelined structure)是一種可用來加快處理器的處理通量(throughput)的系統(tǒng)架構。在管線式架構下,指令的處理工作被分成一系列的步驟,每一個步驟均可稱為一「管線階段」(pipeline stage)。
舉例來說,大多數(shù)的處理器會將對指令處理的程序至少區(qū)分成指令提取(instruction fetch)階段、譯碼(decode)階段、執(zhí)行(execution)階段、以及寫回(write back)階段,而通常執(zhí)行階段會需要最多的處理時間,因此,在設計處理器時,一般都會將系統(tǒng)時鐘的時鐘周期設計成可供執(zhí)行階段處理較為復雜的指令(因為這通常就是處理器的速度瓶頸)的時間長度,若是使用的時鐘周期太短,則當處理器處理到需要較長執(zhí)行時間的指令時,就會有執(zhí)行錯誤或是執(zhí)行失敗(fail)的情形發(fā)生。
發(fā)明內(nèi)容
本發(fā)明的一個目的是提供一種可動態(tài)調整操作頻率的處理器以及相關方法。
依據(jù)本發(fā)明的實施例,披露了一種處理單元,其包含有一時鐘提供模塊,用來提供一參考時鐘;以及一處理核心,耦接于該時鐘提供模塊,用來以管線方式,依據(jù)該參考時鐘處理一第一指令;其中該時鐘提供模塊可依據(jù)該第一指令調整該參考時鐘以決定該處理核心處理該第一指令所使用的時間長度。
依據(jù)本發(fā)明的實施例,還披露了一種使用一處理單元處理一第一指令的方法,該方法包含有以下步驟產(chǎn)生一參考時鐘;判斷該第一指令的類別;依據(jù)該第一指令的類別選擇性地調整該參考時鐘;以及依據(jù)該參考時鐘執(zhí)行該第一指令。
圖1為本發(fā)明處理器的一實施例示意圖。
圖2為圖1中的相位選擇器切換于不同的原始時鐘的間以提供參考時鐘CKR的示意圖。
圖3為本發(fā)明所提出的方法的一實施例流程圖。
附圖符號說明100處理單元110處理核心115指令提取階段120解碼階段130執(zhí)行階段135寫回階段150時鐘提供模塊155多相位時鐘產(chǎn)生器160相位選擇器165判斷模塊具體實施方式
請參閱圖1,圖1為本發(fā)明處理器的一實施例示意圖。圖1中的處理器100在功能上包含有一處理核心110以及一時鐘提供模塊150。處理核心110包含有一指令提取階段115、一譯碼階段120、一執(zhí)行階段130、以及一寫回階段135,為實現(xiàn)上述的處理核心110所需要的處理器硬件架構及操作原理為本領域的技術人員所廣泛悉知,故無須在此重復說明,而本領域的技術人員亦應可理解,上述的各個階段僅為處理核心的實施例,其它符合本發(fā)明精神及范圍亦屬于本發(fā)明的保護標的。時鐘提供模塊150用來提供處理核心110所需的參考時鐘CKR,其包含有一多相位時鐘產(chǎn)生器155、一相位選擇器160、以及一判斷模塊165。為了說明的方便,本實施例中以可產(chǎn)生四個時鐘訊號CK1、CK2、CK3、CK4的多相位時鐘產(chǎn)生器155來舉例說明,然而本發(fā)明并不受時鐘訊號的數(shù)目所限制。
假設處理器100所需處理的指令在執(zhí)行階段130大多需要7μs的執(zhí)行時間,只有少數(shù)的指令需要8μs的執(zhí)行時間。在使用單一操作頻率的情形下,若為了遷就少數(shù)成為瓶頸的指令(即8μs的指令),則處理器所能使用的最高的操作頻率只能是125MHz,因為若是使用大于125MHz的頻率來執(zhí)行所有的指令,則遇到需要8μs執(zhí)行時間的指令時,系統(tǒng)就很容易發(fā)生執(zhí)行錯誤甚至是執(zhí)行失敗的情形。
然而,若使用本實施例所提出的作法,由多相位時鐘產(chǎn)生器所產(chǎn)生的四個原始時鐘CK1、CK2、CK3、CK4的頻率可以是133MHz,而四個時鐘的相位依序相差90°。每當譯碼階段120譯碼出一第一指令時,其會將該第一指令傳送至判斷模塊165,判斷模塊中可包含有一存儲裝置與一比較裝置(未顯示),該存儲裝置中可儲存一對照表,該對照表中則包含有各個指令以及其所相對應的控制值;該比較裝置將譯碼階段120所送來的該第一指令與該對照表相比較,依據(jù)其所對應的控制值產(chǎn)生控制訊號CTRL。當判斷模塊165判斷出第一指令所需的執(zhí)行時間不大于7μs時,其可藉由控制訊號CTRL控制相位選擇器160,以選擇提供固定的原始時鐘(例如CK1)來作為參考時鐘CKR,此即代表處理器100在這個時候是以133MHz的操作頻率來執(zhí)行第一指令。
至于當?shù)谝恢噶钏璧膱?zhí)行時間大于7μs時(舉例來說,8μs),判斷模塊中的該比較裝置會得出不同于上述的控制值,此時的控制訊號CTRL會控制相位選擇器160從使用中的原始時鐘(例如CK1)切換至另一相位落后的原始時鐘(例如CK2),以供執(zhí)行階段130以更長的時間(亦即大于7μs的執(zhí)行時間)來執(zhí)行第一指令。此種從一時鐘切換至另一個具有不同相位的時鐘的操作亦可以稱之為「相位吞噬」(phase swallow)技術。
請參閱圖2,圖2為相位選擇器160切換于不同的原始時鐘的間以提供參考時鐘CKR的示意圖。在處理所需執(zhí)行時間不大于7μs的指令時,處理器固定提供一原始時鐘(例如CK1)作為參考時鐘CKR,至于在判斷模塊165判斷出該第一指令所需執(zhí)行時間大于7μs時,其即藉由控制訊號CTRL控制相位選擇器160,從原先使用的原始時鐘(CK1)切換至相位落后的原始時鐘(例如CK2,當然,亦可以切換至原始時鐘CK3或CK4以產(chǎn)生不同時間長度的相位吞噬效果),所產(chǎn)生的參考時鐘CKR就會如圖2所示,此時處理核心110中的執(zhí)行階段130即可以使用從時間點T1到T2的時段來執(zhí)行此第一指令。此時可以視為處理核心110以小于133MHz的操作頻率來執(zhí)行第一指令,而使得第一指令能夠正常執(zhí)行。若是在第一指令之后的指令所需的執(zhí)行時間不大于7μs,則相位選擇器即可固定提供原始時鐘CK2作為參考時鐘CKR,故之后處理核心110又恢復回133MHz的操作頻率。
在一實施例中,多時鐘相位產(chǎn)生器155可以是一個延遲鎖定回路(delaylocked loop),相位選擇器160則可以是一多任務器。多時鐘相位產(chǎn)生器155所提供具有不同相位的原始時鐘越多,相位選擇器160所能使用的切換方式也就越多。當然,在前述的作法里,相位選擇器所做的切換操作都是切換至相位更落后的時鐘,而實際上,切換至相位超前的時鐘亦是可行的作法。而其它各種為本領域技術人員所廣泛悉知的電路組成架構,能夠達到多時鐘相位產(chǎn)生器155所提供的功能者,均屬于本發(fā)明所欲保護的標的。
請參閱圖3,圖3為本發(fā)明所提出的方法的一實施例流程圖,用來使用一處理單元處理一第一指令;以下將詳述圖3中的各個步驟步驟310產(chǎn)生具有不同相位的多個原始時鐘。
步驟320判斷該第一指令的類別。
步驟330依據(jù)該第一指令的類別,對所述原始時鐘進行選取操作以產(chǎn)生一參考時鐘。本實施例的步驟330可區(qū)分為兩種情形,第一種情形是一固定的第一原始時鐘即可提供該處理單元足夠的時間來執(zhí)行該第一指令,此時本方法會固定以該第一原始時鐘作為該參考時鐘,供該處理單元依據(jù)該參考時鐘執(zhí)行該第一指令;另一種情形則是該第一原始時鐘無法提供該處理單元足夠的時間來執(zhí)行該第一指令,此時本實施例會從該第一原始時鐘切換至一第二原始時鐘(一般而言,該第二原始時鐘的相位落后于該第一原始時鐘),以產(chǎn)生該參考時鐘,供該處理單元依據(jù)該參考時鐘執(zhí)行該第一指令。
步驟340依據(jù)該參考時鐘執(zhí)行該第一指令。
在上述的實施例中,由于第二原始時鐘的相位可以是落后于第一原始時鐘的相位,故在遇到需要較長執(zhí)行時間的第一指令時,通過前述相位切換的方式(亦即向后吞噬該參考時鐘的相位),本發(fā)明的實施例中的方法可以選擇性地提供處理器以具有不同操作頻率的時鐘訊號來執(zhí)行不同的指令。
由于本發(fā)明的實施例中所披露的作法可以讓處理器具有可變的操作頻率,因此能夠提升系統(tǒng)的效能,也因此能夠提高處理器芯片在制造上的優(yōu)良率。
以上所述僅為本發(fā)明的較佳實施例,凡依本發(fā)明的權利要求所做的均等變化與修飾,皆應屬本發(fā)明專利的涵蓋范圍。
權利要求
1.一種處理單元,包含一時鐘提供模塊,用來提供一參考時鐘;以及一處理核心,耦接于該時鐘提供模塊,依據(jù)該參考時鐘處理一第一指令;其中該時鐘提供模塊可依據(jù)該第一指令調整該參考時鐘以決定該處理核心處理該第一指令所使用的時間長度。
2.如權利要求1所述的處理單元,其中該時鐘提供模塊是依據(jù)該第一指令,以相位吞噬的方式調整該參考時鐘的相位。
3.如權利要求1所述的處理單元,其中該時鐘提供模塊包含一多相位時鐘產(chǎn)生器,用來產(chǎn)生具有不同相位的多個原始時鐘;以及一相位選擇器,耦接于該多相位時鐘產(chǎn)生器以及該處理核心,用來依據(jù)該第一指令選取所述原始時鐘之一以產(chǎn)生該參考時鐘。
4.如權利要求1所述的處理單元,其還包含有一判斷模塊,耦接于該處理核心與該時鐘提供模塊,用來依據(jù)該第一指令的類別控制該時鐘提供模塊調整該參考時鐘,該判斷模塊包含有一儲存單元,用來儲存一對照表,該對照表包含有至少一字段,用來紀錄一類別/控制值對應關系;以及一比較器,耦接于該儲存單元,用來比較該對照表與該第一指令以輸出一控制值來控制該時鐘提供模塊調整該參考時鐘的相位。
5.一種使用一處理單元處理一第一指令的方法,包含產(chǎn)生一參考時鐘;判斷該第一指令的類別;依據(jù)該第一指令的類別選擇性地調整該參考時鐘;以及依據(jù)該參考時鐘執(zhí)行該第一指令。
6.如權利要求5所述的方法,還包含產(chǎn)生具有不同相位的多個原始時鐘;其中,若該第一指令對應一第一類別,則該方法選取一第一原始時鐘以產(chǎn)生該參考時鐘;若該第一指令對應一第二類別,則該方法選取一第二原始時鐘以產(chǎn)生該參考時鐘。
7.如權利要求5所述的方法,還包含比較該第一指令與一對照窗體以產(chǎn)生一控制信號,依據(jù)該控制信號調整該參考時鐘。
8.如權利要求5所述的方法,其中在該調整步驟中是依據(jù)該第一指令的類別,以相位吞噬的方式調整該參考時鐘的相位;該判斷步驟中是判斷該第一指令所須的執(zhí)行時間。
9.一種處理單元,包含一時鐘提供模塊,用來依據(jù)一時鐘控制信號,提供一參考時鐘;一處理核心,耦接于該時鐘提供模塊,依據(jù)該參考時鐘處理一第一指令;以及一判斷模塊,耦接于該處理核心與該時鐘提供模塊,依據(jù)該第一指令的類別,輸出該時鐘控制信號;其中該時鐘控制信號與該第一指令相對應。
10.如權利要求9所述的處理單元,其中該時鐘提供模塊包含一多相位時鐘產(chǎn)生器,用來產(chǎn)生具有不同相位的多個原始時鐘;以及一相位選擇器,用來依據(jù)該時鐘控制信號選取所述原始時鐘之一以產(chǎn)生該參考時鐘。
全文摘要
本發(fā)明提供一種具有一可調整操作頻率的處理單元及相關方法,該處理單元包含有一時鐘提供模塊,用來提供一參考時鐘;以及一處理核心,耦接于該時鐘提供模塊,依據(jù)該參考時鐘處理一第一指令。該時鐘提供模塊則包含有一多相位時鐘產(chǎn)生器,用來產(chǎn)生具有不同相位的多個原始時鐘;以及一相位選擇器,耦接于該多相位時鐘產(chǎn)生器以及該處理核心,用來依據(jù)該第一指令選取一原始時鐘以產(chǎn)生該參考時鐘。
文檔編號G06F1/08GK1684019SQ20041003466
公開日2005年10月19日 申請日期2004年4月16日 優(yōu)先權日2004年4月16日
發(fā)明者李朝政, 黃怡智, 管繼孔 申請人:瑞昱半導體股份有限公司