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