專利名稱:具有低功率譯碼電路的處理器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種處理器,特別是有關(guān)于一種具有低功率譯碼電路的處理器及其譯碼方法。
背景技術(shù):
處理器(例如微處理器)是一應(yīng)用廣泛且眾所周知的組件,其應(yīng)用范圍自臺(tái)式計(jì)算機(jī)到可攜式電子裝置,如行動(dòng)電話和個(gè)人數(shù)字助理(PDA)。有些應(yīng)用領(lǐng)域的處理器具有強(qiáng)大的效能(如高階計(jì)算機(jī)工作站),有些處理器的設(shè)計(jì)則較為簡(jiǎn)單,可用以供應(yīng)低階、較不昂貴的產(chǎn)品使用。
對(duì)于處理器的性能要求而言,大致可分為處理速度與耗電量兩方面。一般來說,高性能的處理器處理速度快,設(shè)計(jì)復(fù)雜且耗電量較大;而低性能的處理器則剛好相反。高耗電量常常導(dǎo)致高溫和縮短電池使用時(shí)間的結(jié)果(此是對(duì)于使用電池作為電力來源的裝置而言)??蓴y式電子裝置的需求大幅成長的結(jié)果,已使得對(duì)處理器的要求逐漸趨向于低耗電量,且同時(shí)又需保持一定水準(zhǔn)的處理速度。
一種傳統(tǒng)降低組件耗電量的方法,是使用低耗電量運(yùn)作模式(或稱為休眠狀態(tài)),其意指當(dāng)組件沒有被使用時(shí),只能以極少量電力維持基本運(yùn)作的操作方式。即便如此,對(duì)電子組件于使用時(shí)也可擁有低電力消耗的要求仍是有增無減,此種要求則需靠設(shè)計(jì)更有效率的工作組件來達(dá)成。
很多電子組件皆需消耗電力,其中之一即為處理器。事實(shí)上,處理器本身又具有許多不同會(huì)消耗電力的組件,如譯碼邏輯。處理器中的譯碼邏輯是將被加碼的指令(encoded instruction)加以譯碼以便執(zhí)行的組件。圖1為公知的處理器譯碼邏輯的示意方塊圖。
以整體觀之,圖1中指令擷取/執(zhí)行部分10包括擷取邏輯(fetchlogic)12及譯碼器14,其中,擷取邏輯12是用以擷取加碼指令,而譯碼器14則是用以將加碼指令譯碼成可用于控制及執(zhí)行的訊號(hào)。以此觀之,譯碼器14的輸出15(訊號(hào)線)是用以作為處理器執(zhí)行單元(executionunit)內(nèi)的其它組件(圖上并無示出)的輸入,以執(zhí)行加碼指令所指定的功能運(yùn)作。此過程是眾所周知的基本概念,故不再贅述。
傳統(tǒng)上對(duì)于需處理不同類型的指令集或是接收非譯碼器14可辨識(shí)的指令集的狀況,處理方式是引入一轉(zhuǎn)譯邏輯(translation logic)16以轉(zhuǎn)譯此指令成譯碼器14所能辨識(shí)的指令。當(dāng)然,在處理連續(xù)指令的同時(shí),即需額外的脈沖進(jìn)行譯碼及執(zhí)行的動(dòng)作,其中,圖1即為一施行此工作的電路實(shí)例。
如圖1所示,多工器(multiplexor)18有時(shí)會(huì)用于將擷取邏輯12所擷取的指令或是轉(zhuǎn)譯邏輯16所轉(zhuǎn)譯完成的指令選擇性地輸入至譯碼器14中。此外,控制邏輯20是用以篩選(select)欲輸入多工器18及譯碼器14的指令;一般來說,控制組件20會(huì)評(píng)估擷取邏輯12所輸出的指令并判斷其是否可為譯碼器14所譯碼。若為是,則控制組件20會(huì)命令多工器18直接將擷取邏輯12的輸出指令輸入至譯碼器14中。若為否,則控制組件20會(huì)命令多工器18將轉(zhuǎn)譯邏輯16的輸出指令輸入至譯碼器14中。當(dāng)然,過程中還有許多其它的細(xì)節(jié),但在此不予以探討,因熟悉本領(lǐng)域的技術(shù)人員自可了解圖1中所示的電路及其相關(guān)細(xì)節(jié)。
如圖1所示的電路有其缺點(diǎn)此種電路的復(fù)雜性及耗電性皆過高;可以理解的是,譯碼器14與轉(zhuǎn)譯邏輯16不會(huì)同時(shí)使用復(fù)雜的設(shè)計(jì)若譯碼器14為復(fù)雜的設(shè)計(jì)以接受許多不同類型的指令,則當(dāng)輸入譯碼器14的指令變多時(shí),譯碼器14的負(fù)載會(huì)變大,所須消耗的電力也隨之增加。此負(fù)載變大及消耗電力增加的狀況若是因某些很少使用的指令所造成,則明顯不合節(jié)省電力的效益。
反之,若譯碼器14為簡(jiǎn)單的設(shè)計(jì)以接受較少類型的指令,則轉(zhuǎn)譯邏輯16中就必須用引入額外的邏輯以處理其它類型的指令,并且當(dāng)轉(zhuǎn)譯邏輯16作動(dòng)(active)進(jìn)行轉(zhuǎn)譯工作時(shí),譯碼器14同時(shí)也在處理轉(zhuǎn)譯邏輯16所輸出的轉(zhuǎn)譯完成的指令。兩者同時(shí)作用的結(jié)果將增加電力的消耗。
因此,如何于處理器中設(shè)計(jì)更進(jìn)步且有效率的譯碼邏輯,以使得電力使用效率得以提高,是當(dāng)前努力的目標(biāo)。
發(fā)明內(nèi)容
鑒于上述的發(fā)明背景,為了滿足產(chǎn)業(yè)對(duì)傳統(tǒng)處理器具更有效率的譯碼邏輯的要求,本發(fā)明提供一種新的、具有低功率譯碼電路的處理器,可用以解決上述傳統(tǒng)電路未能達(dá)成的標(biāo)的。
本發(fā)明之一目的是提供一種改良的譯碼邏輯裝置及譯碼方法。本發(fā)明是將譯碼邏輯的一部分譯碼工作交由軟件執(zhí)行以減低譯碼邏輯于任一時(shí)間的總工作負(fù)載量,進(jìn)而降低譯碼邏輯的耗電量,并據(jù)此達(dá)到低功率的目的。通過低功率目的的達(dá)成,本發(fā)明所提供的譯碼邏輯對(duì)于處理器,特別是可攜式電子裝置內(nèi)的處理器而言,將具有更佳的應(yīng)用。
根據(jù)以上所述的目的,本發(fā)明揭示了一種具有低功率譯碼電路的處理器,其包含用以擷取加碼指令的擷取邏輯;第一譯碼邏輯,該第一譯碼邏輯是用以譯碼復(fù)數(shù)個(gè)包含于第一類型指令集內(nèi)的加碼指令,且該第一譯碼邏輯的輸入是該擷取邏輯所輸出的加碼指令;第二譯碼邏輯,該第二譯碼邏輯是用以譯碼復(fù)數(shù)個(gè)包含于第二類型指令集內(nèi)的加碼指令,且該第二譯碼邏輯的輸入是該擷取邏輯所輸出的加碼指令;以及特殊指令邏輯,該特殊指令邏輯是用以與該第二譯碼邏輯配合以處理至少一種特殊指令,其中,該特殊指令是指包含于第二類型指令集內(nèi)但該第二譯碼邏輯無法直接譯碼而造成處理器內(nèi)的執(zhí)行單元無法執(zhí)行的指令。
該特殊指令邏輯包含一邏輯,該邏輯是用以判定內(nèi)存區(qū)域的開始地址,其中該內(nèi)存區(qū)域存有可執(zhí)行特殊指令的例程。
該特殊指令邏輯包含一邏輯,該邏輯是用以執(zhí)行系統(tǒng)呼叫至該內(nèi)存區(qū)域地址。
更包含一特殊指令邏輯,該特殊指令邏輯是用以與該第一譯碼邏輯配合,以處理至少一種包含于第一類型指令集內(nèi)但該第一譯碼邏輯無法直接譯碼而造成處理器內(nèi)的執(zhí)行單元無法執(zhí)行的指令。
更包含一控制邏輯,該控制邏輯是用以選擇性控制該第一及第二譯碼邏輯,使該第一譯碼邏輯進(jìn)行譯碼時(shí),該第二譯碼邏輯維持休眠狀態(tài),且該第二譯碼邏輯進(jìn)行譯碼時(shí),該第一譯碼邏輯維持休眠狀態(tài)。
該第一與第二類型指令集內(nèi)的所有指令皆不相同。
更包含一執(zhí)行邏輯,該執(zhí)行邏輯是用以執(zhí)行該第一及第二譯碼邏輯所譯碼完成的指令。
該處理器可應(yīng)用于一可攜式電子裝置。
該控制邏輯會(huì)對(duì)該擷取邏輯所輸出的加碼指令做出響應(yīng),且該控制邏輯是設(shè)計(jì)以確保該第一及第二譯碼邏輯于任一時(shí)間內(nèi)只有一個(gè)處于作動(dòng)狀態(tài)。
更包含一第三譯碼邏輯,該第三譯碼邏輯可譯碼復(fù)數(shù)個(gè)包含于第三類型指令集內(nèi)的加碼指令,且該第三譯碼邏輯的輸入是該擷取邏輯所輸出的加碼指令。
該控制邏輯更設(shè)計(jì)以選擇性控制該第一、第二及第三譯碼邏輯,使該第一、第二及第三譯碼邏輯于任一時(shí)間內(nèi)只有一個(gè)處于作動(dòng)狀態(tài)。
該控制邏輯更設(shè)計(jì)以確保當(dāng)該第一、第二及第三譯碼邏輯其中之一處于作動(dòng)狀態(tài)時(shí),其余的譯碼邏輯維持休眠狀態(tài)。
一種具有低功率譯碼電路的處理器,其包含復(fù)數(shù)個(gè)譯碼器,其中每一個(gè)譯碼器所設(shè)計(jì)以譯碼的指令與其余譯碼器所設(shè)計(jì)以譯碼的指令均明顯不同且不重疊;以及特殊指令邏輯,該特殊指令邏輯與至少一個(gè)該復(fù)數(shù)個(gè)譯碼邏輯配合,以處理至少一種特殊指令,其中,該至少一種特殊指令是指無法于處理器內(nèi)直接被譯碼而造成處理器內(nèi)的執(zhí)行單元無法執(zhí)行的指令。
更包含一控制邏輯,該控制邏輯是設(shè)計(jì)以確保該復(fù)數(shù)個(gè)譯碼邏輯于任一時(shí)間內(nèi)只有一個(gè)處于作動(dòng)狀態(tài),并確保該唯一作動(dòng)的譯碼邏輯處于作動(dòng)狀態(tài)時(shí),其余譯碼邏輯維持休眠狀態(tài)。
更包含一用以執(zhí)行已譯碼的指令的執(zhí)行邏輯。
該處理器可應(yīng)用于一可攜式電子裝置。
一種具有低功率譯碼電路的處理器,其包含可譯碼復(fù)數(shù)個(gè)第一類型指令的第一譯碼器;可譯碼復(fù)數(shù)個(gè)第二類型指令的第二譯碼器;與特殊指令邏輯,該特殊指令邏輯是用以處理至少一種特殊指令,其中該至少一種特殊指令是指該第一及第二譯碼器無法直接譯碼而造成處理器內(nèi)的執(zhí)行單位無法執(zhí)行的指令。
更包含一控制邏輯,該控制邏輯是設(shè)計(jì)以選擇性控制該第一及第二譯碼器,使該第一譯碼器進(jìn)行譯碼動(dòng)作時(shí),該第二譯碼器維持休眠狀態(tài)。
該控制邏輯更設(shè)計(jì)以選擇性控制該第一及第二譯碼器,使該第二譯碼器進(jìn)行譯碼動(dòng)作時(shí),該第一譯碼器維持休眠狀態(tài)。
本發(fā)明還進(jìn)一步提出了一種用于處理器的指令譯碼方法,該譯碼方法包含判斷所擷取的指令為第一或第二類型的指令;該所擷取的指令為第一類型的指令時(shí),則令第一譯碼器加以譯碼;該所擷取的指令為第二類型的指令且可被第二譯碼器直接譯碼時(shí),則令第二譯碼器進(jìn)行譯碼;以及該所擷取的指令為第二類型的指令且不可被第二譯碼器直接譯碼時(shí),則通過系統(tǒng)呼叫至存放于內(nèi)存區(qū)域的軟件以執(zhí)行該指令。
更包含該所擷取的指令被判斷為第二類型的指令且由該第二譯碼器進(jìn)行譯碼時(shí),該第一譯碼器維持休眠狀態(tài)。
更包含該所擷取的指令被判斷為第一類型的指令且由該第一譯碼器進(jìn)行譯碼時(shí),該第二譯碼器維持休眠狀態(tài)。
該判斷步驟更包含判斷該所擷取的指令為第一、第二或第三類型的指令。
一種用于處理器的指令譯碼方法,該譯碼方法包含判斷所擷取的指令是否可被處理器內(nèi)的譯碼器直接譯碼;該所擷取的指令可被直接譯碼時(shí),則使用譯碼器加以譯碼;以及該所擷取的指令不可被直接譯碼時(shí),則通過系統(tǒng)呼叫至存放于內(nèi)存區(qū)域的軟件以進(jìn)行該指令的執(zhí)行工作。
在本發(fā)明之一實(shí)施例中,其包含一處理第一類型指令的第一譯碼器、一處理第二類型指令的第二譯碼器,以及一處理至少一種特殊類型指令的特殊指令邏輯,其中此特殊類型指令是指第一及第二譯碼器無法直接譯碼而造成執(zhí)行單元無法執(zhí)行的指令。
在本發(fā)明的另一實(shí)施例中,所揭示的一指令譯碼方法。此方法首先判斷所擷取的指令能不能由處理器內(nèi)的譯碼器直接譯碼,若為是,則指令將直接被譯碼并執(zhí)行;若為否,則此譯碼方法會(huì)尋找內(nèi)存上存有執(zhí)行此指令功能的軟件例程(routine)的地址,并通過執(zhí)行系統(tǒng)呼叫或其它適當(dāng)方式,令執(zhí)行單元通過此例程進(jìn)行指令執(zhí)行的工作。
附圖所示為本發(fā)明的各種裝置構(gòu)造或方法流程圖,將配合說明以詳細(xì)解釋本發(fā)明的原理。在附圖中圖1為先前技藝的處理器譯碼邏輯的示意方塊圖;圖2為根據(jù)本發(fā)明之一實(shí)施例所建構(gòu)的可攜式電子裝置示意方塊圖;圖3為根據(jù)本發(fā)明的另一實(shí)施例所建構(gòu)的可攜式電子裝置示意方塊圖;圖4為本發(fā)明關(guān)于譯碼邏輯部分之一實(shí)施例的特性示意方塊圖;圖5為本發(fā)明關(guān)于譯碼邏輯部分的另一實(shí)施例的示意方塊圖;
圖6為根據(jù)本發(fā)明之一實(shí)施例所建構(gòu)的執(zhí)行譯碼操作的實(shí)施方法及其步驟的說明流程圖;圖7為根據(jù)本發(fā)明的另一實(shí)施例所建構(gòu)的執(zhí)行譯碼操作的實(shí)施方法及其步驟的說明流程圖;圖8為根據(jù)本發(fā)明的再一實(shí)施例所建構(gòu)的執(zhí)行譯碼操作的實(shí)施方法及其步驟的說明流程圖;圖9為施行圖8所示方法之一實(shí)施例的示意方塊圖;圖10為圖9中的第二譯碼邏輯如何令特殊指令邏輯執(zhí)行系統(tǒng)呼叫至指定的內(nèi)存地址的示意方塊圖;圖11為本發(fā)明一施行譯碼操作的實(shí)施例的施行方法的步驟說明流程圖;圖12為圖11所示方法之一實(shí)施例的示意方塊圖;圖13為本發(fā)明施行譯碼操作的另一實(shí)施例的施行方法的步驟說明流程圖;圖14為圖13所示方法之一實(shí)施例的示意方塊圖;與圖15為圖13所示方法之另一實(shí)施例的示意方塊圖。
圖號(hào)說明10、指令擷取/執(zhí)行部分12、擷取邏輯14、譯碼器 15、訊號(hào)線16、轉(zhuǎn)譯邏輯 18、多工器20、控制邏輯 100、可攜式電子裝置110、處理器 112、擷取邏輯114、第一譯碼邏輯115、訊號(hào)總線116、第二譯碼邏輯117、執(zhí)行邏輯120、控制邏輯121、控制訊號(hào)122、控制訊號(hào)125、或門128、多工器 129、多工器130、使用者接140、顯示裝置162、第一譯碼邏輯164、第二譯碼邏輯
166、第N譯碼邏輯 170、控制邏輯171、控制訊號(hào) 172、控制訊號(hào)173、控制訊號(hào) 182、下拉電阻184、下拉電阻210、擷取邏輯自內(nèi)存擷取一加碼指令212、判斷加碼指令為第一或第二類型的指令214、將加碼指令傳送至第一譯碼邏輯并進(jìn)行譯碼216、將加碼指令傳送至第二譯碼邏輯并進(jìn)行譯碼218、將已譯碼指令傳送至執(zhí)行邏輯并執(zhí)行310、擷取邏輯自內(nèi)存擷取一加碼指令312、判斷加碼指令為第一、第二或是其它類型的指令314、將加碼指令傳送至第一譯碼邏輯并進(jìn)行譯碼316、將加碼指令傳送至第二譯碼邏輯并進(jìn)行譯碼318、將加碼指令傳送至第N譯碼邏輯并進(jìn)行譯碼320、將已譯碼指令傳送至執(zhí)行邏輯并執(zhí)行416、第二譯碼邏輯直接完成譯碼418、將已譯碼指令傳送至執(zhí)行邏輯并執(zhí)行452、判斷加碼指令是否可被第二譯碼邏輯直接譯碼454、判定存有執(zhí)行例程的內(nèi)存地址456、執(zhí)行系統(tǒng)呼叫至所判定的內(nèi)存地址464、第二譯碼邏輯466、特殊指令邏輯467、查閱表491、第二譯碼邏輯的輸出490、執(zhí)行系統(tǒng)呼叫至所判定的內(nèi)存地址邏輯512、判斷加碼指令為第一、第二或是無法辯識(shí)的指令554、判定存有執(zhí)行例程的內(nèi)存地址556、執(zhí)行系統(tǒng)呼叫至所判定的內(nèi)存地址566、特殊指令邏輯
567、查閱表570、控制邏輯573、控制訊號(hào)610、擷取邏輯自內(nèi)存擷取一加碼指令612、判斷加碼指令是否可被直接譯碼616、直接譯碼指令618、執(zhí)行已譯碼指令654、判定存有執(zhí)行例程的內(nèi)存開始地址656、執(zhí)行系統(tǒng)呼叫至所判定的內(nèi)存開始地址662、譯碼邏輯666、特殊指令邏輯667、查閱表670、控制邏輯672、控制訊號(hào)762、譯碼邏輯766、特殊指令邏輯767、查閱表具體實(shí)施方式
本發(fā)明在此所探討的方向?yàn)橐环N具有低功率譯碼電路的處理器及譯碼方法。為了能徹底地了解本發(fā)明,將在下列的描述中提出詳盡的結(jié)構(gòu)組件或步驟。顯然地,本發(fā)明的施行并未限定于熟習(xí)處理器的技藝者所熟習(xí)的特殊細(xì)節(jié);另一方面,眾所周知的組件并未特別詳細(xì)描述,以避免造成本發(fā)明不必要的限制。本發(fā)明的較佳實(shí)施例會(huì)詳細(xì)描述如下,然而除了這些詳細(xì)描述之外,本發(fā)明還可廣泛地施行在其它的實(shí)施例中,且本發(fā)明的范圍不受限定,其以專利范圍為準(zhǔn)。
如前所述,創(chuàng)新性的處理器譯碼邏輯及譯碼方法包含有很多施行方式,如同本發(fā)明之一施行方式,譯碼邏輯中包含多個(gè)譯碼器,其中每一譯碼器都是特別設(shè)計(jì)以直接譯碼(意即于硬件內(nèi)完成譯碼工作)包含于一指令集內(nèi)的所有指令。此一施行方式的實(shí)施例于圖2至圖7中說明。
如同本發(fā)明的另一施行方式,譯碼邏輯中包含多個(gè)譯碼器,其中一個(gè)或一個(gè)以上的譯碼器是設(shè)計(jì)以直接譯碼大部分但非全部的包含于一指令集內(nèi)的所有指令。對(duì)于無法直接譯碼的指令,則通過軟件來加以執(zhí)行。此施行方式的實(shí)施例中,譯碼邏輯會(huì)執(zhí)行系統(tǒng)呼叫至一內(nèi)存區(qū)域中的某地址,其內(nèi)存有執(zhí)行無法直接譯碼(辨識(shí))指令的軟件,以進(jìn)行指令的執(zhí)行。如同本發(fā)明另一種施行方式,譯碼邏輯包含單一的譯碼器,其中此譯碼器是設(shè)計(jì)以直接譯碼大部分但非全部的包含于一指令集內(nèi)的所有指令,對(duì)于無法直接譯碼的指令,則由譯碼邏輯經(jīng)由軟件來加以執(zhí)行。此一施行方式的實(shí)施例于圖8至圖14中說明。
參閱圖2所示,其為一可攜式電子裝置100,其包含一根據(jù)本發(fā)明之一實(shí)施例所建構(gòu)的處理器110,此類電子裝置需求的急速成長已是眾所周知。大部分此類電子裝置是以電池為電源,并包含一使用者接口130(如鍵盤)及顯示裝置140(如一平面顯示器)。許多電子裝置中的顯示裝置140包含一觸感式(touch-sensitive)屏幕,可讓使用者由其上直接輸入資料。使用者接口130、顯示裝置140及電子裝置100上的其它公知組件,或非本發(fā)明的相關(guān)部分,于此不再贅述。
本發(fā)明主要提供一用于處理器中,可處理多類型的指令集的譯碼邏輯電路。根據(jù)本發(fā)明之一實(shí)施例所建構(gòu)的一處理器110,其包含傳統(tǒng)的用以擷取加碼指令(encoded instruction)的擷取邏輯(fetchlogic)112,及用以執(zhí)行加碼指令所指定的功能運(yùn)作的執(zhí)行邏輯(execution logic)117。此兩種組件已為公知組件,故不再贅述。
如圖2所示的實(shí)施例,處理器110提供可處理兩種不同類型指令集的譯碼邏輯,舉例來說,此譯碼邏輯可處理32位及16位的指令集。多重指令集的使用常是為了程序設(shè)計(jì)時(shí)的彈性、升級(jí)軟件的兼容性(accommodation of legacy software),或是其它的理由。一般來說,32位的指令集可提供較強(qiáng)大或較強(qiáng)健的程序代碼及程序設(shè)計(jì)兼容性;16位的指令集適用于較緊湊簡(jiǎn)潔、且內(nèi)存需求較少的程序代碼。如本領(lǐng)域的技術(shù)人員所能理解,其它有關(guān)32位及16位指令集于使用上的取舍也是同樣適用。
第一譯碼邏輯114及第二譯碼邏輯116分別負(fù)責(zé)譯碼包含于第一類型指令集及第二類型指令集內(nèi)的指令;擷取邏輯112的輸出是直接被輸入至第一及第二譯碼邏輯。此實(shí)施例重點(diǎn)為控制邏輯120通過控制訊號(hào)121及122以控制譯碼邏輯114及116,以令其中一個(gè)譯碼邏輯作動(dòng)時(shí),另一個(gè)譯碼邏輯維持休眠(inactive)狀態(tài)。此外,與第一圖中所示的先前技藝不同的是,使用多重譯碼器于執(zhí)行譯碼動(dòng)作前,可省去將指令自一指令集類型轉(zhuǎn)譯成其它指令集類型的步驟。以譯碼包含于第二類型的指令集內(nèi)的指令為例,因在執(zhí)行譯碼動(dòng)作前不須先將指令轉(zhuǎn)譯成第一指令集類型以便第一譯碼邏輯114識(shí)別,故可提升整體呈現(xiàn)的譯碼速度。
同時(shí),如圖2所示,擷取邏輯112和譯碼邏輯114及116之間訊號(hào)信道頻寬(signal path width)為″n″位,其中,n是為一可變數(shù)字,其通常是2的級(jí)數(shù)。輸入至控制邏輯120的訊號(hào)也是經(jīng)由相同頻寬的訊號(hào)信道;控制邏輯120的作用是判斷所擷取的加碼指令應(yīng)由第一譯碼邏輯114或是第二譯碼邏輯116進(jìn)行譯碼。
另一方面,″m″訊號(hào)線是譯碼邏輯114及116的輸出。一般來說,m是一個(gè)與n相異的整數(shù),用以代表執(zhí)行邏輯117在執(zhí)行加碼指令時(shí)所需的訊號(hào)線及控制線號(hào)碼。此訊號(hào)線及控制線號(hào)碼是一執(zhí)行特征,取決于執(zhí)行邏輯117的電路形式。本實(shí)施例中,自第一譯碼邏輯114及第二譯碼邏輯116輸出的訊號(hào)有一比一的對(duì)應(yīng)關(guān)系(1-to-1correspondence),且可被一或門(OR logic)125所合并。本實(shí)施例中,處于休眠狀態(tài)的譯碼邏輯114或116所輸出的訊號(hào)為邏輯零(logiczero),因此實(shí)際上或門(OR logic)125只將作動(dòng)的譯碼邏輯114或116所輸出的訊號(hào)經(jīng)由訊號(hào)總線(signal bus)115輸入至執(zhí)行邏輯117中。
本領(lǐng)域的技術(shù)人員可了解,圖2所示實(shí)施例的概念可以許多不同的方式加以施行,而本發(fā)明則不限于任何特定的施行方式。一施行方式將配合圖4加以說明;另一施行方式則將配合圖5加以說明。然而,應(yīng)注意的是其它施行方式的實(shí)施例也是有可能的。
參閱圖3所示,其是為本發(fā)明另一實(shí)施例的示意方塊圖。圖中擷取邏輯112、執(zhí)行邏輯117及或門125與圖2中所示相同,于此不再贅述。圖3與圖2所示實(shí)施例主要不同之處在于圖3所示實(shí)施例中,其引入一可譯碼第一及第二類型以外的其它類型指令集的譯碼邏輯組件。圖3中的譯碼組件的功能與圖2所描述相似,并分別編號(hào)為第一譯碼邏輯162、第二譯碼邏輯164及第N譯碼邏輯166。圖3所示實(shí)施例可較圖2所示實(shí)施例多處理第一及第二類型以外的其它類型的指令。舉例來說,圖3所示實(shí)施例可譯碼32位的指令、16位的指令及Java指令。由于Java為網(wǎng)際網(wǎng)絡(luò)上所常用的語言,故此實(shí)施例對(duì)網(wǎng)絡(luò)應(yīng)用組件的設(shè)計(jì)特別有用。
此外,控制邏輯170分別輸出171、172及173三種控制訊號(hào)以控制譯碼組件162、164及166。如圖3所述,控制邏輯170會(huì)判斷擷取邏輯112所輸出的加碼指令是屬于第一譯碼邏輯162、第二譯碼邏輯164或第N譯碼邏輯166所負(fù)責(zé)的指令類型??刂七壿?70控制這些譯碼邏輯,以確保沒有作動(dòng)的譯碼組件維持休眠狀態(tài)。
參閱圖4所示,圖4為圖2所述的選擇性控制譯碼邏輯組件114及116的施行方式的示意方塊圖。同樣的施行方式也適用于圖3中的譯碼組件162、164及166。于圖4中,控制邏輯120輸出控制訊號(hào)121及122以控制多工器128及129中的選擇邏輯(select logic),并據(jù)以令多工器128及129將擷取邏輯112所輸出的加碼指令傳送到相對(duì)應(yīng)的譯碼邏輯114及116中。多工器128及129會(huì)對(duì)譯碼邏輯輸入無運(yùn)作(no op)訊號(hào),其中此無運(yùn)作訊號(hào)是發(fā)出此訊號(hào)的多工器所對(duì)應(yīng)的譯碼邏輯所無法識(shí)別,并此無運(yùn)作訊號(hào)可令此譯碼邏輯進(jìn)入休眠狀態(tài)。在此,可應(yīng)用CMOS技術(shù)以使得處于休眠狀態(tài)的譯碼邏輯只消耗極少量的電力。
在指令譯碼的過程中,控制邏輯120會(huì)確保擷取邏輯112所輸出的指令不會(huì)同時(shí)通過多工器128及129,也就是在任一時(shí)間至少會(huì)有一個(gè)無運(yùn)作(no op)訊號(hào)被傳送到某一多工器及其所對(duì)應(yīng)的譯碼邏輯上。甚至,在某些時(shí)間(例如閑置狀態(tài);idle status),多工器128及129會(huì)同時(shí)發(fā)出無運(yùn)作(no op)訊號(hào),也即譯碼邏輯114及116同時(shí)進(jìn)入休眠狀態(tài),并據(jù)此達(dá)到省電的目的。
參閱圖5所示,其為本發(fā)明另一實(shí)施例的示意方塊圖。如圖4所述,達(dá)成處理器省電目的之一方式是在于利用CMOS邏輯于某些工作狀態(tài)時(shí)耗電量極低的特性;相對(duì)地,圖5為使用非CMOS邏輯的實(shí)施例,其中控制訊號(hào)(本圖標(biāo)中也稱為致能訊號(hào)(enable signal))121及122是用以使得譯碼邏輯114及116兩者之一能選擇性地運(yùn)作,且另一失效(disable),并令失效者進(jìn)入休眠狀態(tài)。若于此作用過程中,譯碼邏輯組件114、116浮接(float)或變成三態(tài)(tri state)而造成系統(tǒng)不穩(wěn),則下拉電阻(pull down resistor)182及184會(huì)接到譯碼邏輯114或116所輸出的訊號(hào)信道上。下拉電阻182及184為高阻抗電阻(highimpedance resistor),可限制電流的流過,因此也可限制自電源供應(yīng)處流出的電流。
在敘述過本發(fā)明幾個(gè)實(shí)施例的建構(gòu)方式與特色之后,參閱圖6所示,其為本發(fā)明之一實(shí)施例以整體觀之的實(shí)施方法流程圖。步驟210是為擷取邏輯自內(nèi)存擷取一加碼指令,接著,步驟212是為判斷所擷取的加碼指令為第一或第二類型的指令。步驟214及216是為根據(jù)判斷的結(jié)果將所擷取的加碼指令傳送至相對(duì)應(yīng)的譯碼邏輯進(jìn)行譯碼動(dòng)作。最后,步驟218是為將譯碼后的指令傳送至執(zhí)行單元進(jìn)行執(zhí)行動(dòng)作。
參閱圖7所示,其為本發(fā)明另一實(shí)施例以整體觀之的實(shí)施方法流程圖。步驟310是為擷取邏輯自內(nèi)存擷取一加碼指令,接著,步驟312是為判斷所擷取的加碼指令為第一類型、第二類型或是其它類型的指令。步驟314、316及318是為根據(jù)判斷的結(jié)果將所擷取的加碼指令傳送至相對(duì)應(yīng)的譯碼邏輯以進(jìn)行譯碼動(dòng)作。最后,步驟320是為將譯碼后的指令傳送至執(zhí)行單元進(jìn)行執(zhí)行動(dòng)作。
至此已敘述本發(fā)明的實(shí)施例中,譯碼器能直接譯碼包含于一指令集內(nèi)所有指令者的特性。然而,有時(shí)譯碼電路的設(shè)計(jì)會(huì)過于復(fù)雜(由于成本或其它原因),則原本用以處理一或多個(gè)指令集的譯碼邏輯會(huì)不再被設(shè)計(jì)成能直接譯碼包含于指令集內(nèi)的所有指令,此時(shí),對(duì)于譯碼邏輯無法直接譯碼的特殊指令,將改由譯碼邏輯指引處理器(透過執(zhí)行一系統(tǒng)呼叫或其它方法)至內(nèi)存中的某一地址通過軟件以進(jìn)行譯碼,其中,上述的地址存有執(zhí)行此特殊指令的軟件例程(softwareroutine)。
配合圖1至圖7所敘述的實(shí)施例,其已介紹本發(fā)明所提出的譯碼邏輯之一施行方式使用多個(gè)專用(dedicated)的譯碼器直接譯碼所擷取的包含于不同指令集的加碼指令,且在任一時(shí)間下,通過控制邏輯的控制使該多個(gè)譯碼器中只有一個(gè)處于作動(dòng)狀態(tài)。參閱圖8至圖14所示,其為本發(fā)明所提出的譯碼邏輯電路的另一施行方式處理無法由硬件或譯碼電路直接進(jìn)行譯碼的特殊指令的狀況。參閱圖8所示,其為一類似圖6但有部分修改的流程圖。圖8中,整個(gè)指令處理流程的開始步驟是為步驟210,此步驟210是為擷取邏輯擷取加碼指令,接著,步驟212是為譯碼邏輯判斷所擷取的加碼指令屬第一或第二類型的指令。如判斷結(jié)果是屬于第二類型,則進(jìn)行步驟452,步驟452是為第二譯碼邏輯判斷此所擷取的加碼指令是否可被第二譯碼邏輯直接譯碼。于此過程而言,譯碼邏輯的設(shè)計(jì)可能會(huì)因?yàn)樾璞孀R(shí)包含于某一指令集內(nèi)的所有指令而變得過分復(fù)雜,此復(fù)雜設(shè)計(jì)的較高成本若是因某些不常使用的指令集所造成,則顯然不合效益。因此,一般而言,譯碼邏輯的設(shè)計(jì)不會(huì)將不常使用的指令集于硬件內(nèi)直接譯碼,而是通過軟件或其它方法來執(zhí)行。
圖8中,若所擷取的加碼指令為第二類型指令,且第二譯碼邏輯判斷所擷取的加碼指令可被第二譯碼邏輯直接譯碼,則進(jìn)行步驟416,步驟416是令第二譯碼邏輯直接完成譯碼動(dòng)作,如圖6所述。接著,進(jìn)行步驟418以便于將譯碼完成的指令傳送至執(zhí)行單元執(zhí)行。相對(duì)地,若判斷結(jié)果為所擷取的加碼指令不可被第二譯碼邏輯直接譯碼,則進(jìn)行步驟454,由第二譯碼邏輯指定一內(nèi)存區(qū)域的地址,以令可執(zhí)行此指令的軟件例程進(jìn)行執(zhí)行動(dòng)作,其中,較佳的方式是以第一或第二指令譯碼器(instruction decoder)可直接譯碼的指令寫成此例程。內(nèi)存區(qū)域地址指定后,進(jìn)行步驟456,以便于處理器執(zhí)行一系統(tǒng)呼叫至此內(nèi)存區(qū)域地址并執(zhí)行所擷取加碼指令的功能。軟件例程執(zhí)行指令的過程中,在執(zhí)行完一上述的特殊指令后,會(huì)從內(nèi)存區(qū)域地址末端傳送一跳回(return)指令以引導(dǎo)處理器的程序計(jì)數(shù)器自依序擷取到的下一個(gè)加碼指令繼續(xù)執(zhí)行的動(dòng)作。
參閱圖9所示,其是為圖8所示實(shí)施例的特征示意方塊圖。圖9與圖2所示的處理器110相似,故類似的組件是以相同號(hào)碼表示,并于此不再贅述。圖9與圖2主要不同之處為,圖9中的第二譯碼邏輯464能處理包含于第二類型指令集中但第二譯碼邏輯無法直接譯碼的指令。具體來說,圖9中的第二譯碼邏輯464含有一特殊指令邏輯466,其能判定(identify)某段內(nèi)存區(qū)域的開始地址,其中,此段內(nèi)存存有軟件以執(zhí)行第二譯碼邏輯464無法直接譯碼的指令。其實(shí)施方式是為特殊指令邏輯466含有一查閱表467,其能提供第二譯碼邏輯464無法直接譯碼的指令相對(duì)應(yīng)的輸出值,當(dāng)然,查閱表467也能提供所有包括第二譯碼邏輯464可直接或不可直接譯碼的指令的輸出值。
如上所述,譯碼邏輯的輸出中包含譯碼后的數(shù)據(jù)以及用以執(zhí)行該譯碼后資料的控制訊號(hào)。如圖10所示,第二譯碼邏輯464的輸出491包含兩個(gè)部分第一部分為32位的立即資料(immediate data);剩下的位或訊號(hào)則由輸出中的其它訊號(hào)線傳送。這些輸出訊號(hào)會(huì)被傳送至處理器內(nèi)的執(zhí)行單元,其中執(zhí)行單元包含一邏輯490,其可執(zhí)行系統(tǒng)呼叫至一指定的內(nèi)存地址。因此,實(shí)際上在執(zhí)行特殊指令時(shí),第二譯碼邏輯464會(huì)輸出一32位的字段(field)以指定一實(shí)時(shí)地址(immediateaddress),讓處理器能另外利用一指令處理例程(instruction handlingroutine)來處理特殊指令;于輸出中,剩下的其它訊號(hào)則會(huì)指出上述的32位實(shí)時(shí)數(shù)據(jù)字段中所運(yùn)送的資料需要一特別的內(nèi)存地址來執(zhí)行。因此,譯碼邏輯的輸出實(shí)際上是用以運(yùn)作處理器內(nèi)的組件以執(zhí)行系統(tǒng)呼叫至執(zhí)行特殊指令的相關(guān)內(nèi)存地址上,而非直接于處理器內(nèi)的執(zhí)行單元中進(jìn)行執(zhí)行工作。
回到圖9,查閱表467中包含N個(gè)包含于第二類型指令集內(nèi)且第二譯碼邏輯可辨識(shí)的指令及其相對(duì)應(yīng)的譯碼值,這些譯碼值是為位狀態(tài)(bit status)或第二譯碼邏輯464的輸出值的數(shù)字表示。同樣地,查閱表467中也包含M個(gè)第二譯碼邏輯464無法辨識(shí)且必須由儲(chǔ)存于內(nèi)存中的軟件例程來處理的特殊指令。在查閱表467中的開始地址(ADDR.1-ADDR.M)即是用以指定這些軟件例程的地址。當(dāng)然,在符合上述的本發(fā)明精神與范圍的前提下,其它的邏輯或運(yùn)作機(jī)制也可同時(shí)被用以處理特殊指令。
此外,在不違背本發(fā)明的精神與范圍的前提下,第一譯碼邏輯114也可修改成含有類似466的特殊指令邏輯并用以執(zhí)行包含于第一類型指令集中但第一譯碼邏輯114無法直接譯碼的特殊指令。此外,本發(fā)明的實(shí)施方式也可應(yīng)用于處理器內(nèi)含有超過兩個(gè)以上的譯碼器而可處理兩種以上類型指令集的情況,如上所述的使用三個(gè)譯碼器而可分別處理32位的指令集、16位的指令集與Java指令集的實(shí)施例。本發(fā)明的另一實(shí)施例可擷取250個(gè)Java指令,其中,246個(gè)Java指令可被直接譯碼,剩下的10個(gè)Java指令則必須通過系統(tǒng)呼叫所指定的軟件例程來執(zhí)行。
參閱圖11所示,其為本發(fā)明的另一實(shí)施例。圖11所示是為與圖7類似但稍微不同的特殊指令處理方法的流程圖。在圖7中,步驟312是為判斷擷取邏輯所擷取的指令為第一、第二或其它類型的指令,而圖11中,步驟512則是判斷擷取邏輯所擷取的指令為第一、第二或是無法辨識(shí)的指令,其中,此無法辨識(shí)的指令是指無法被第一或第二譯碼邏輯所辨識(shí)(非包含第一或第二類型指令集內(nèi)),也即,圖11所示的實(shí)施例可將無法辨識(shí)的指令另外集中處理。如圖11所示,若判斷結(jié)果為所擷取的指令是一特殊指令(上述的非第一或第二類型的無法辨識(shí)的指令),則進(jìn)行步驟554,步驟554是為指定一內(nèi)存區(qū)域的開始地址以進(jìn)行指令執(zhí)行工作。接著,進(jìn)行步驟556,步驟556是為執(zhí)行一系統(tǒng)呼叫至所指定的內(nèi)存地址。隨后,處理器開始執(zhí)行內(nèi)存地址上用以處理特殊指令的程序直到執(zhí)行完程序中之一跳回(return)指令(或是其它適當(dāng)?shù)慕Y(jié)束指令;ending instruction)。接著,執(zhí)行程序會(huì)自擷取邏輯所擷取的下一加碼指令繼續(xù)(resume)下一筆執(zhí)行工作。參閱圖12所示,其是為類似圖9所示的示意方塊圖,其內(nèi)容為圖11所示的本發(fā)明的可能實(shí)施例;有關(guān)圖12中組成組件的敘述已于圖3及圖9提過,于此不再贅述。圖12所示實(shí)施例中最重要的是用以判定存有執(zhí)行特殊指令的軟件的內(nèi)存開始地址以執(zhí)行特殊指令的邏輯566是單獨(dú)存在于第一、第二譯碼邏輯162及164之外,以使特殊指令的處理不用配合譯碼器而是另外單獨(dú)進(jìn)行。類似圖9中查閱表467的查閱表567是用以幫助執(zhí)行程序的進(jìn)行。
圖12中另有一控制邏輯570,此邏輯選擇性控制第一譯碼邏輯162、第二譯碼邏輯164以及用以處理非定義(undefined)的特殊指令的邏輯566,使此三者在任一時(shí)間內(nèi)只有一個(gè)處于作動(dòng)狀態(tài)以達(dá)到處理器省電的目的。此運(yùn)作方式與前面圖2至圖7所示的實(shí)施例內(nèi)容相同。
參閱圖13所示,其為一步驟流程圖,說明另一根據(jù)本發(fā)明所建構(gòu)的指令譯碼方法。其內(nèi)容是為一特殊指令處理過程,其中,此特殊指令處理過程是用于僅處理單一指令集內(nèi)的指令的處理器。如前所述的實(shí)施例,處理程序始于擷取邏輯擷取一加碼指令。接著,步驟612是為判斷所擷取的指令是否可被處理器內(nèi)的譯碼邏輯直接譯碼若為是,則進(jìn)行步驟616,步驟616是為將所擷取的指令直接譯碼,隨后進(jìn)行步驟618,步驟618是為執(zhí)行譯碼后的指令;若為否,則進(jìn)行步驟654,步驟654是為判定可執(zhí)行所擷取的特殊指令的軟件例程于內(nèi)存存放處的開始地址,隨后進(jìn)行步驟656,步驟656是為處理器執(zhí)行一系統(tǒng)呼叫至所判定的內(nèi)存地址。
參閱圖14及圖15所示,其為圖13所述方法的另兩種實(shí)施例。圖14中,用以判定可執(zhí)行特殊指令的軟件于內(nèi)存存放處的開始地址的邏輯666,是于譯碼邏輯662之外單獨(dú)存在??刂七壿?70傳送控制訊號(hào)171及672以控制譯碼邏輯662及邏輯666,使此兩邏輯組件于任一時(shí)間內(nèi)只有一個(gè)處于作動(dòng)狀態(tài),以達(dá)到處理器省電的目的。圖15中,用以判定可執(zhí)行特殊指令的軟件于內(nèi)存存放處的開始地址的邏輯766是整合于譯碼邏輯762內(nèi)。與此實(shí)施例相同的施行方式已于圖9中敘述,于此不再贅述。
所有本發(fā)明的修改及變化皆包含于本發(fā)明的權(quán)利請(qǐng)求項(xiàng)中所定義的合理、合法的權(quán)利與其所延伸的名稱的范圍內(nèi)。
如上所述,本發(fā)明是將處理器內(nèi)譯碼邏輯之一部分譯碼工作交由軟件執(zhí)行以減低譯碼邏輯于任一時(shí)間的總工作負(fù)載量,進(jìn)而降低譯碼邏輯的耗電量以達(dá)到低功率的目的。
顯然地,根據(jù)上述實(shí)施例中的描述,本發(fā)明可能有許多的修正與差異。因此需要在其附加的權(quán)利要求項(xiàng)的范圍內(nèi)加以理解,除了上述的詳細(xì)描述外,本發(fā)明還可以廣泛地在其它的實(shí)施例中施行。上述僅為本發(fā)明的較佳實(shí)施例而已,并非用以限定本發(fā)明的申請(qǐng)專利范圍,凡其它未脫離本發(fā)明所揭示的精神下所完成的等效改變或修飾,均應(yīng)包含在下述申請(qǐng)專利范圍內(nèi)。
權(quán)利要求
1.一種具有低功率譯碼電路的處理器,其特征在于,其包含有用以擷取加碼指令的擷取邏輯;第一譯碼邏輯,該第一譯碼邏輯是用以譯碼復(fù)數(shù)個(gè)包含于第一類型指令集內(nèi)的加碼指令,且該第一譯碼邏輯的輸入是該擷取邏輯所輸出的加碼指令;第二譯碼邏輯,該第二譯碼邏輯是用以譯碼復(fù)數(shù)個(gè)包含于第二類型指令集內(nèi)的加碼指令,且該第二譯碼邏輯的輸入是該擷取邏輯所輸出的加碼指令;以及特殊指令邏輯,該特殊指令邏輯是用以與該第二譯碼邏輯配合以處理至少一種特殊指令,其中,該特殊指令是指包含于第二類型指令集內(nèi)但該第二譯碼邏輯無法直接譯碼而造成處理器內(nèi)的執(zhí)行單元無法執(zhí)行的指令。
2.如權(quán)利要求1所述的具有低功率譯碼電路的處理器,其特征在于該特殊指令邏輯包含一邏輯,該邏輯是用以判定內(nèi)存區(qū)域的開始地址,其中該內(nèi)存區(qū)域存有可執(zhí)行特殊指令的例程。
3.如權(quán)利要求2所述的具有低功率譯碼電路的處理器,其特征在于該特殊指令邏輯包含一邏輯,該邏輯是用以執(zhí)行系統(tǒng)呼叫至該內(nèi)存區(qū)域地址。
4.如權(quán)利要求2所述的具有低功率譯碼電路的處理器,其特征在于更包含一特殊指令邏輯,該特殊指令邏輯是用以與該第一譯碼邏輯配合,以處理至少一種包含于第一類型指令集內(nèi)但該第一譯碼邏輯無法直接譯碼而造成處理器內(nèi)的執(zhí)行單元無法執(zhí)行的指令。
5.如權(quán)利要求1所述的具有低功率譯碼電路的處理器,其特征在于更包含一控制邏輯,該控制邏輯是用以選擇性控制該第一及第二譯碼邏輯,使該第一譯碼邏輯進(jìn)行譯碼時(shí),該第二譯碼邏輯維持休眠狀態(tài),且該第二譯碼邏輯進(jìn)行譯碼時(shí),該第一譯碼邏輯維持休眠狀態(tài)。
6.如權(quán)利要求1所述的具有低功率譯碼電路的處理器,其特征在于該第一與第二類型指令集內(nèi)的所有指令皆不相同。
7.如權(quán)利要求1所述的具有低功率譯碼電路的處理器,其特征在于更包含一執(zhí)行邏輯,該執(zhí)行邏輯是用以執(zhí)行該第一及第二譯碼邏輯所譯碼完成的指令。
8.如權(quán)利要求1所述的具有低功率譯碼電路的處理器,其特征在于該處理器可應(yīng)用于一可攜式電子裝置。
9.如權(quán)利要求5所述的具有低功率譯碼電路的處理器,其特征在于該控制邏輯會(huì)對(duì)該擷取邏輯所輸出的加碼指令做出響應(yīng),且該控制邏輯是設(shè)計(jì)以確保該第一及第二譯碼邏輯于任一時(shí)間內(nèi)只有一個(gè)處于作動(dòng)狀態(tài)。
10.如權(quán)利要求5所述具有低功率譯碼電路的處理器,其特征在于更包含一第三譯碼邏輯,該第三譯碼邏輯可譯碼復(fù)數(shù)個(gè)包含于第三類型指令集內(nèi)的加碼指令,且該第三譯碼邏輯的輸入是該擷取邏輯所輸出的加碼指令。
11.如權(quán)利要求10所述的具有低功率譯碼電路的處理器,其特征在于該控制邏輯更設(shè)計(jì)以選擇性控制該第一、第二及第三譯碼邏輯,使該第一、第二及第三譯碼邏輯于任一時(shí)間內(nèi)只有一個(gè)處于作動(dòng)狀態(tài)。
12.如權(quán)利要求11所述的具有低功率譯碼電路的處理器,其特征在于該控制邏輯更設(shè)計(jì)以確保當(dāng)該第一、第二及第三譯碼邏輯其中之一處于作動(dòng)狀態(tài)時(shí),其余的譯碼邏輯維持休眠狀態(tài)。
13.一種具有低功率譯碼電路的處理器,其特征在于,其包含復(fù)數(shù)個(gè)譯碼器,其中每一個(gè)譯碼器所設(shè)計(jì)以譯碼的指令與其余譯碼器所設(shè)計(jì)以譯碼的指令均明顯不同且不重疊;以及特殊指令邏輯,該特殊指令邏輯與至少一個(gè)該復(fù)數(shù)個(gè)譯碼邏輯配合,以處理至少一種特殊指令,其中,該至少一種特殊指令是指無法于處理器內(nèi)直接被譯碼而造成處理器內(nèi)的執(zhí)行單元無法執(zhí)行的指令。
14.如權(quán)利要求13所述的具有低功率譯碼電路的處理器,其特征在于更包含一控制邏輯,該控制邏輯是設(shè)計(jì)以確保該復(fù)數(shù)個(gè)譯碼邏輯于任一時(shí)間內(nèi)只有一個(gè)處于作動(dòng)狀態(tài),并確保該唯一作動(dòng)的譯碼邏輯處于作動(dòng)狀態(tài)時(shí),其余譯碼邏輯維持休眠狀態(tài)。
15.如權(quán)利要求13所述的具有低功率譯碼電路的處理器,其特征在于更包含一用以執(zhí)行已譯碼的指令的執(zhí)行邏輯。
16.如權(quán)利要求13所述的具有低功率譯碼電路的處理器,其特征在于該處理器可應(yīng)用于一可攜式電子裝置。
17.一種具有低功率譯碼電路的處理器,其特征在于,其包含可譯碼復(fù)數(shù)個(gè)第一類型指令的第一譯碼器;可譯碼復(fù)數(shù)個(gè)第二類型指令的第二譯碼器;與特殊指令邏輯,該特殊指令邏輯是用以處理至少一種特殊指令,其中該至少一種特殊指令是指該第一及第二譯碼器無法直接譯碼而造成處理器內(nèi)的執(zhí)行單位無法執(zhí)行的指令。
18.如權(quán)利要求17所述的具有低功率譯碼電路的處理器,其特征在于,更包含一控制邏輯,該控制邏輯是設(shè)計(jì)以選擇性控制該第一及第二譯碼器,使該第一譯碼器進(jìn)行譯碼動(dòng)作時(shí),該第二譯碼器維持休眠狀態(tài)。
19.如權(quán)利要求18所述的具有低功率譯碼電路的處理器,其特征在于該控制邏輯更設(shè)計(jì)以選擇性控制該第一及第二譯碼器,使該第二譯碼器進(jìn)行譯碼動(dòng)作時(shí),該第一譯碼器維持休眠狀態(tài)。
20.一種用于處理器的指令譯碼方法,其特征在于,該譯碼方法包含判斷所擷取的指令為第一或第二類型的指令;該所擷取的指令為第一類型的指令時(shí),則令第一譯碼器加以譯碼;該所擷取的指令為第二類型的指令且可被第二譯碼器直接譯碼時(shí),則令第二譯碼器進(jìn)行譯碼;以及該所擷取的指令為第二類型的指令且不可被第二譯碼器直接譯碼時(shí),則通過系統(tǒng)呼叫至存放于內(nèi)存區(qū)域的軟件以執(zhí)行該指令。
21.如權(quán)利要求20所述的用于處理器的指令譯碼方法,其特征在于更包含該所擷取的指令被判斷為第二類型的指令且由該第二譯碼器進(jìn)行譯碼時(shí),該第一譯碼器維持休眠狀態(tài)。
22.如權(quán)利要求20所述的用于處理器的指令譯碼方法,其特征在于更包含該所擷取的指令被判斷為第一類型的指令且由該第一譯碼器進(jìn)行譯碼時(shí),該第二譯碼器維持休眠狀態(tài)。
23.如權(quán)利要求20所述用于處理器的指令譯碼方法,其特征在于該判斷步驟更包含判斷該所擷取的指令為第一、第二或第三類型的指令。
24.一種用于處理器的指令譯碼方法,其特征在于,該譯碼方法包含判斷所擷取的指令是否可被處理器內(nèi)的譯碼器直接譯碼;該所擷取的指令可被直接譯碼時(shí),則使用譯碼器加以譯碼;以及該所擷取的指令不可被直接譯碼時(shí),則通過系統(tǒng)呼叫至存放于內(nèi)存區(qū)域的軟件以進(jìn)行該指令的執(zhí)行工作。
全文摘要
本發(fā)明涉及一種具有低功率譯碼電路的處理器,于本發(fā)明之一實(shí)施例中,包含一可譯碼第一類型指令的第一譯碼器,一可譯碼第二類型指令的第二譯碼器,及一可處理至少一種特殊類型指令的特殊指令邏輯,此特殊類型指令是指第一及第二譯碼邏輯無法直接譯碼而造成執(zhí)行單元無法執(zhí)行的指令。于另一實(shí)施例中為一相關(guān)的處理器指令譯碼方法。
文檔編號(hào)G06F9/305GK1514329SQ200310117338
公開日2004年7月21日 申請(qǐng)日期2003年12月10日 優(yōu)先權(quán)日2003年4月10日
發(fā)明者查里·謝勒, 查里 謝勒 申請(qǐng)人:威盛電子股份有限公司