欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

處理階層式極長指令包的系統(tǒng)和方法

文檔序號:6360041閱讀:150來源:國知局
專利名稱:處理階層式極長指令包的系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明大體上涉及對階層式極長指令字進(jìn)行編碼。
背景技術(shù)
技術(shù)的進(jìn)步已導(dǎo)致更小且更強(qiáng)大的計(jì)算裝置。舉例來說,當(dāng)前存在各種各樣的便攜式個人計(jì)算裝置,包括無線計(jì)算裝置,例如,小巧、輕便且易于由用戶攜帶的便攜式無線電話、個人數(shù)字助理(PDA)及尋呼裝置。更具體來說,例如蜂窩式電話及因特網(wǎng)協(xié)議(IP)電話等便攜式無線電話可經(jīng)由無線網(wǎng)絡(luò)傳送語音及數(shù)據(jù)包。另外,許多這些無線電話包括并入于其中的其它類型的裝置。舉例來說,無線電話也可包括數(shù)字靜態(tài)相機(jī)、數(shù)字?jǐn)z像機(jī)、數(shù)字記錄器及音頻文件播放器。又,這些無線電話可處理可執(zhí)行指令,包括軟件應(yīng)用程序,例如,網(wǎng)頁瀏覽器應(yīng)用程序,其可用以接入因特網(wǎng)。因此,這些無線電話可包括顯著的計(jì)算能力。 為了加速計(jì)算且減小程序大小及減少隨之的程序存儲需求,更有效地包裝指令將為有幫助的。通過更有效地包裝指令,可減小指令高速緩沖存儲器大小,或同樣的指令高速緩沖存儲器大小可保持更多指令。

發(fā)明內(nèi)容
在一特定實(shí)施例中,揭示一種處理指令的方法。所述方法包括接收指令包。所述包包括至少一個指令,所述至少一個指令可經(jīng)解碼以確定所述指令是否為單一指令或所述指令是否包括包含多個子指令的子包。所述方法還包括響應(yīng)于確定所述指令包括所述子包,執(zhí)行所述子指令中的每一者。在另一特定實(shí)施例中,處理指令的方法包括接收指令包,其中所述包包括具有第一剖析值的第一指令及具有第二剖析值的第二指令。所述方法包括將所述第一指令路由到第一執(zhí)行單元,及將所述第二指令識別為包括第一子指令及第二子指令的子包指令。所述方法還包括將所述第一子指令路由到第二執(zhí)行單元。在另一特定實(shí)施例中,揭示一種處理器。所述處理器包括用以接收指令包的解碼器。所述解碼器操作以對在所述包內(nèi)的指令進(jìn)行解碼以確定所述指令是否為包括第一子指令及第二子指令的第一子包指令。所述處理器還包括用以執(zhí)行所述指令或執(zhí)行所述第一子指令的執(zhí)行單元。由所揭示的實(shí)施例中的至少一者提供的一個特定優(yōu)點(diǎn)為可減小指令高速緩沖存儲器大小,這是因?yàn)橹噶钍禽^密集地包裝在一起。指令的有率的包裝的優(yōu)點(diǎn)是將更多指令存儲于同樣量的高速緩沖存儲器中的能力。由所揭示的實(shí)施例中的至少一者提供的另一優(yōu)點(diǎn)是從存儲器提取代碼所需要的能量的減少,這是因?yàn)槊恳话ㄝ^高的指令密度,從而導(dǎo)致檢索指令以執(zhí)行程序的調(diào)用的總數(shù)的減少。在審閱整個申請案之后,本發(fā)明的其它方面、優(yōu)點(diǎn)及特征將變得顯而易見,整個申請案包括以下部分


具體實(shí)施方式
及權(quán)利要求書。

圖I為進(jìn)入管線式處理器的極長指令字(VLIW)包的一特定說明性實(shí)施例的框圖;圖2為包括子包指令的VLIW包的一特定說明性實(shí)施例的框圖;圖3為處理包括子包指令的VLIW包的管線式處理器的一特定說明性實(shí)施例的框圖;圖4為正處理包括子包指令的VLIW包的管線式處理器的另一特定說明性實(shí)施例的框圖;
圖5為正處理包括子包指令的VLIW包的管線式處理器的另一特定說明性實(shí)施例的框圖;圖6為正處理包括子包指令的VLIW包的管線式處理單元的另一特定說明性實(shí)施例的框圖;圖7為處理包括子包指令的VLIW包的方法的一特定說明性實(shí)施例的流程圖;圖8為處理包括子包指令的VLIW包的方法的另一特定說明性實(shí)施例的流程圖;及圖9為包括數(shù)字信號處理器以處理包括子指令的VLIW包的無線裝置的框圖。
具體實(shí)施例方式參看圖I,揭示極長指令字(VLIW)包的特定說明性實(shí)施例。VLIW包102包括N個指令,其包括第一指令110、第二指令112及多達(dá)第N個指令114的額外指令。在管線式處理器100的提取級102處,VLIW包102最初是從存儲裝置(未圖示)提取且進(jìn)入管線式處理器100的解碼級104。在解碼級104處,將指令114識別為包括子指令116及118的子包指令。從解碼級104,VLIW包102中的多個N個指令前進(jìn)到執(zhí)行級106。執(zhí)行級106包括M個執(zhí)行單元,其包括執(zhí)行單元120、122、124及126。在一特定說明性實(shí)施例中,M可超過N。在另一特定說明性實(shí)施例中,M可小于N。在另一特定說明性實(shí)施例中,M可等于N。在執(zhí)行級106處,第一指令104進(jìn)入執(zhí)行單元120。第二指令112進(jìn)入執(zhí)行單元122。第一子指令116進(jìn)入執(zhí)行單元124,且第二子指令118進(jìn)入執(zhí)行單元126。在一特定說明性實(shí)施例中,VLIW包102中的其它指令中的每一者可進(jìn)入在執(zhí)行級106處的對應(yīng)的執(zhí)行單元。在一特定說明性實(shí)施例中,VLIW包108中的指令中的一者或一者以上是包括兩個或兩個以上子指令的子包指令。包括一個或一個以上子指令包的VLIW包被稱作階層式VLIff0在圖I中展示的說明性實(shí)施例中,子指令116及118中的每一者進(jìn)入不同執(zhí)行單元,且子指令116與118是同時執(zhí)行的?;蛘撸蓪⒆又噶?16及118中的每一者路由到執(zhí)行子指令116及118兩者的單一執(zhí)行單元。在一特定說明性實(shí)施例中,VLIW包包括多個子包指令,且每一子包指令包括兩個或兩個以上子指令。在一特定說明性實(shí)施例中,子包指令可經(jīng)解碼以識別指令的子子包(sub-sub-packet)(未圖示),其中子子包包括被稱作子子指令的多個指令。在另一特定說明性實(shí)施例中,VLIff包的每一指令包含一包括一個或一個以上嵌套指令的極長指令字,所述一個或一個以上嵌套指令中的至少一者為包括兩個或兩個以上子指令的子包指令。在執(zhí)行級106處存在M個執(zhí)行單元。當(dāng)數(shù)目M足夠大以容納包括指令110、112及子指令116及118的VLIW包的每一指令時,M大于N且可同時執(zhí)行VLIW包108的所有指令。同時處理VLIW包108中的所有指令的優(yōu)點(diǎn)是與依序處理VLIW包108中所包括的指令中的一些指令相比更快地進(jìn)行處理。參看圖2,VLIff包的一特定說明性實(shí)施例經(jīng)揭示且整體標(biāo)明為200。VLIff包200包括指令202、204、206及208。指令202、204、206及208中的每一者通常包括固定數(shù)目個位。舉例來說,指令202、204、206及208中的每一者可含有32個位。所述指令中的每一者可包括一剖析字段。在一特定說明性實(shí)施例中,剖析字段包括兩個位。在一特定說明性實(shí)施例中,將第一剖析值存儲在第一指令的兩個鄰近內(nèi)部位處,且將第二剖析值存儲在第二指令的兩個鄰近內(nèi)部位處。舉例來說,將剖析值01存儲在指令206的兩個鄰近內(nèi)部位處,且將剖析值00存儲在指令208的兩個鄰近內(nèi)部位處。在一特定說明性實(shí)施例中,剖析字段位于對應(yīng)的指令的最中心位處。作為剖析字段的一實(shí)例,指令202包括具有存儲值10的剖
析字段210,指令204包括具有存儲值01的剖析字段212,指令206包括具有存儲值01的剖析字段214,且指令208包括具有存儲值00的剖析字段216。剖析字段可為指令是否為包結(jié)尾(end-of-packet)指令的指示符。在一特定實(shí)例中,剖析字段10指示所述包并非包結(jié)尾,且也指示所述包處于硬件回路的結(jié)尾。在一特定說明性實(shí)例中,具有值01的剖析字段指示并非包結(jié)尾的指令。在一特定說明性實(shí)例中,具有值11的剖析字段指示包結(jié)尾指令。在一特定實(shí)施例中,具有具值00的剖析字段的指令也指示包結(jié)尾指令。具有具值00的剖析字段的指令也指示所述指令為子包指令。子包指令為包括兩個或兩個以上子指令的指令。舉例來說,指令208包括具有值00的剖析字段216。因此,指令208為子包指令且也為包結(jié)尾指令。查看指令208的詳圖(圖2的下部部分),第一子指令218及第二子指令220包括于指令208內(nèi)。第一子指令218包括標(biāo)為A的數(shù)據(jù),且第二子指令220包括標(biāo)為B的數(shù)據(jù)。除了子指令218及220外,指令208還包括第一指令類別字段222及第二指令類別字段224。指令類別字段222及224可指示指令的類型,例如,加載、存儲、算術(shù)等。指令類別字段222及224的內(nèi)容可用于管線式處理器的解碼級處。在一特定說明性實(shí)施例中,指令208包括32個位,每一子指令218及220包括13個位,剖析字段216包括2個位,第一指令類別字段222包括3個位,且第二指令類別字段224包括I個位。在一特定說明性實(shí)施例中,在管線式處理器的執(zhí)行級處同時執(zhí)行子指令218及220。在另一特定說明性實(shí)施例中,在管線式處理器的執(zhí)行級處連續(xù)執(zhí)行子指令218及220。參看圖3,管線式處理器的一特定說明性實(shí)施例經(jīng)揭示且整體標(biāo)明為300。管線式處理器300包括多個級。圖3展示三個級提取級302、解碼級304及執(zhí)行級306。在替代實(shí)施例中,管線式處理器300可包括例如回寫級等其它級。在一特定說明性實(shí)例中,在提取級302處提取指令包308。在解碼級304處對指令包308進(jìn)行解碼,其后,將指令包308中所包括的多個指令發(fā)送到執(zhí)行級306,在執(zhí)行級306處執(zhí)行所述指令中的每一者。在一特定說明性實(shí)例中,指令包308包括指令202、204、206及208。在一特定說明性實(shí)施例中,從與處理器300相關(guān)聯(lián)的緊密耦合存儲器(未圖示)檢索指令包308。在另一特定說明性實(shí)施例中,從與處理器300相關(guān)聯(lián)的指令高速緩沖存儲器(未圖示)檢索指令包。在一特定說明性實(shí)施例中,指令包308的指令202、204、206及208中的每一者具有相同大小(即,包括相同數(shù)目個位)。在一特定說明性實(shí)施例中,指令202、204、206及208中的每一者具有32個位的大小。在一特定說明性實(shí)施例中,指令包308為極長指令字(VLIW)包。VLIW包308中的指令中的一者(例如,指令208)為包括第一子指令218及第二子指令220的子包指令。指令202、204、206及208中的每一者包括一剖析字段。指令202包括剖析字段210,在圖3中展示的實(shí)例中,所述剖析字段210具有值10,其表明指令202并非包結(jié)尾指令且指令202為硬件回路結(jié)尾指令。指令204及206具有對應(yīng)的剖析字段212及214,其中的每一者具有值01,表明對應(yīng)的指令并非包結(jié)尾指令。指令208為子包指令,且包括具有值00的剖析字段216,所述值表明指令208為子包指令且也表明指令208為包結(jié)尾指令。在一特定說明性實(shí)施例中,指令208包括兩個子指令218及220,其中的每一者具有比指令316小(即,包括較小數(shù)目個位)的大小。
在解碼級304處,將VLIW指令包308解碼成指令202、204、206及子指令218及220??稍u估每一指令以確定所述指令是可執(zhí)行指令還是包括多個子指令的子包指令。舉例來說,可將剖析字段220的內(nèi)容與指示子包指令的定義值進(jìn)行比較。并未指示為子包指令的指令可立即路由到執(zhí)行級。經(jīng)確定為子包指令的指令可經(jīng)解碼成其組成子指令(例如,子包指令218及220)。在一些實(shí)施例中,接著并行地將子指令路由到執(zhí)行級306??稍趩我粓?zhí)行單元中或在多個執(zhí)行單元中并行地執(zhí)行子指令。在其它實(shí)施例中,連續(xù)路由所述子指令。執(zhí)行級306可經(jīng)配置以基于可用的處理器資源而確定是連續(xù)還是并行地執(zhí)行子指令。移到執(zhí)行級306,在一特定說明性實(shí)例中,離開解碼級的指令中的每一者進(jìn)入對應(yīng)的執(zhí)行單元。指令202進(jìn)入執(zhí)行單元330,指令204進(jìn)入執(zhí)行單元332,指令206進(jìn)入執(zhí)行單元334,子指令218進(jìn)入執(zhí)行單元336,且子指令220進(jìn)入執(zhí)行單元338。在一特定說明性實(shí)施例中,同時執(zhí)行所有指令202、204、206、218及220。在圖3的說明性實(shí)施例中,執(zhí)行單元334、336及338執(zhí)行例如加載及存儲指令等與數(shù)據(jù)高速緩沖存儲器有關(guān)的指令,而執(zhí)行單元330及332為算術(shù)執(zhí)行單元,例如,算術(shù)邏輯單元(ALU)。在執(zhí)行后,每一執(zhí)行單元的輸出在回寫級(未圖示)期間繼續(xù)進(jìn)行以提供結(jié)果。在一特定實(shí)施例中,可并行地執(zhí)行VLIW包中的所有指令。舉例來說,所有指令可由處理器300并行地執(zhí)行,否則,將出現(xiàn)故障。在另一特定實(shí)施例中,當(dāng)處理器300不具有足夠的資源來并行地執(zhí)行指令202、204、206及子指令218及220時,可在已執(zhí)行了 VLIW包中的其它指令之后執(zhí)行子指令(例如,218或220)。在一特定實(shí)施例中,指令在VLIW包內(nèi)的位置確定哪一執(zhí)行單元將接收指令。舉例來說,在圖3中,指令202為VLIW包308的第一指令且被路由到執(zhí)行單元330,第二指令204被路由到執(zhí)行單元332,且第三指令206被路由到執(zhí)行單元334。VLIW包可因此向處理器指示并行地處理哪些指令及每一指令將被路由到哪一執(zhí)行單元。在這些實(shí)施例中,可不準(zhǔn)許處理器在多個循環(huán)內(nèi)處理在單一包內(nèi)的指令或?qū)⒅噶盥酚傻脚c由指令在VLIW包中的位置指示的執(zhí)行單元不同的執(zhí)行單元。
因?yàn)樵诎ㄗ又噶畹腣LIW包中包裝的指令的總數(shù)可大于在無子指令的VLIW包中包裝的指令的總數(shù),所以可減少為了獲得程序指令而對存儲器進(jìn)行提取的總數(shù),計(jì)算時間效率隨之增加。由于每一提取具有能量成本,因此提取的總數(shù)的減少可導(dǎo)致與執(zhí)行程序相關(guān)聯(lián)的功率消耗的減少。參看圖4,管線式處理器的一特定說明性實(shí)施例經(jīng)揭示且整體標(biāo)明為400。管線式處理器400包括提取級402、解碼級404及執(zhí)行級406。管線的額外級(包括回寫級)未圖示。在提取級402處,從例如指令高速緩沖存儲器或其它存儲器等存儲器提取極長指令字(VLIff)指令408。VLIff指令408包括四個指令202、204、206及208。指令202包括具有值10的剖析字段210,指令204包括具有值01的剖析字段212,指令206包括具有值01的剖析字段214,且指令208包括具有值00的剖析字段216。剖析字段210、212及214具有指示其對應(yīng)的指令并非包結(jié)尾指令的值。具有值00的剖析字段216指示指令208為子包指令且指令208為包結(jié)尾指令。指令208包括第一子指令218及第二子指令220。第一子指令218包括由A指示的數(shù)據(jù),且第二子指令220包括由B指示的數(shù)據(jù)。前進(jìn)到解碼級404,將VLIW包408分離成指令202、204、206及兩個子指令218及 220中的每一者。前進(jìn)到執(zhí)行級406,存在四個執(zhí)行單元430、432、434及436。在一特定說明性實(shí)施例中,執(zhí)行單元430及432執(zhí)行算術(shù)指令(用字母X標(biāo)明),且執(zhí)行單元434及432為數(shù)據(jù)加載及存儲執(zhí)行單元(用字母D標(biāo)明)。在一特定說明性實(shí)例中,在執(zhí)行單元430中執(zhí)行指令202,在執(zhí)行單元432中執(zhí)行指令204,在執(zhí)行單元434中執(zhí)行指令206,及在執(zhí)行單元436中執(zhí)行第一子指令218??赏瑫r執(zhí)行指令202、204、206及第一子指令218。在于執(zhí)行單元436中執(zhí)行第一子指令218之后,在后一個時鐘循環(huán)期間在執(zhí)行單元436中執(zhí)行第二子指令220。因此,在圖4中描繪的實(shí)例中,在執(zhí)行單元436中連續(xù)地執(zhí)行子指令218及220。在另一特定說明性實(shí)例(圖4中未展示)中,執(zhí)行單元436經(jīng)配置以實(shí)現(xiàn)兩個子指令218及220的同時執(zhí)行。在此配置中,可同時執(zhí)行指令202、204、206、218及220。在圖5中說明的又一特定說明性實(shí)例中,并非剖析字段(即,不在210、212、214或216內(nèi))的指示符字段502可充當(dāng)一特定指令為子包指令的指示符。舉例來說,指令204可包括指示符字段502,所述指示符字段502當(dāng)經(jīng)設(shè)定時指示指令204為包括第一子指令C 504及第二子指令D 506的子包指令。或者,VLIW包408中的每一指令可包括一子包指示符字段??稍诮獯a級404處對子包指令204進(jìn)行解碼,且接著可執(zhí)行子指令504及506。在圖5中展示的一特定說明性實(shí)例中,處理器500包括執(zhí)行單元532,其經(jīng)配置以同時執(zhí)行兩個子指令,從而使子指令504及506能夠與指令202、206及子指令218同時執(zhí)行。在另一特定說明性實(shí)例(圖4或圖5中未展示)中,執(zhí)行單元432及436中的每一者經(jīng)配置以同時執(zhí)行兩個子指令,從而使子指令218及220及子指令504及506能夠與指令202及206同時執(zhí)行。參看圖6,管線式處理器的一特定說明性實(shí)施例經(jīng)揭示且整體標(biāo)明為600。管線式處理器600包括控制單元606及執(zhí)行單元608、610、612及614??刂茊卧?06包括解碼器616及通用寄存器堆620。在操作中,檢索一指令包(例如,包括多個指令的VLIW包)且經(jīng)由總線634將其供應(yīng)到控制單元。解碼器616可操作以對指令包內(nèi)的多個指令進(jìn)行解碼。在解碼器616處將VLIW包解封裝成個別指令。VLIW包包括多個指令,其包括指令202、指令204及包括子指令218及子指令220的子包指令。在一特定說明性實(shí)施例中,子指令218及220為每一者在大小上比包裝在VLIW包中的子包指令小(即,包括較少位)的指令。在于解碼器616處對VLIW包進(jìn)行解碼之后,將經(jīng)解碼的指令發(fā)送到執(zhí)行級。指令202、204、218及220中的每一者進(jìn)入對應(yīng)的執(zhí)行單元。如圖6中所示,在指令單元614處執(zhí)行指令202,在指令單元612處執(zhí)行指令204,在執(zhí)行單元610處執(zhí)行子指令218,及在指令單元608處執(zhí)行子指令220。因此,在圖6中展示的實(shí)例中,同時執(zhí)行指令202、204、218及220。在執(zhí)行后,將執(zhí)行單元608、610、612及614中的每一者的輸出寫入到通用寄存器堆620。也可經(jīng)由總線634將執(zhí)行單元608、610、612及614的輸出發(fā)送到存儲存儲器。參看圖7,路由指令的方法的一特定說明性實(shí)施例經(jīng)展示且整體標(biāo)明為700。在710處,接收包括具有第一剖析值的第一指令及具有第二剖析值的第二指令的指令包。舉例來說,在圖3中,指令206具有一具有第一剖析值01的剖析字段214,且指令208具有一具 有第二剖析值00的剖析字段216。在一特定說明性實(shí)施例中,所述指令包為VLIW包。舉例來說,在圖3中,包308為VLIW包。在720處,將第一指令路由到第一執(zhí)行單元。舉例來說,在圖3中,將指令206路由到執(zhí)行單元334。前進(jìn)到730,將第二指令識別為包括第一子指令及第二子指令的子包指令。舉例來說,在圖3中,指令208由剖析字段216中的第二剖析值00識別為子包指令。指令208包括第一子指令218及第二子指令220。前進(jìn)到740,將第一子指令路由到第二指令單元。舉例來說,在圖3中,將第一子指令218路由到指令單元336。前進(jìn)到750,可將第二子指令路由到第三執(zhí)行單元。舉例來說,在圖3中,將第二子指令220路由到指令單元338。任選地,在760處,同時執(zhí)行第一子指令、第二子指令及第一指令。舉例來說,在圖3中,同時執(zhí)行指令206及子指令218及220。方法在770處結(jié)束。在其它實(shí)施例中,可將第二子指令路由到第二指令單元以與第一子指令連續(xù)地執(zhí)行。參看圖8,執(zhí)行指令的方法的一特定說明性實(shí)施例經(jīng)揭示且整體標(biāo)明為800。在810處,接收包括第一指令的指令包。舉例來說,在圖3中,包308包括指令208。在820處,對第一指令進(jìn)行解碼。在830處,進(jìn)行關(guān)于第一指令是否為子包指令的確定。當(dāng)確定第一指令為包括多個子指令的第一子包指令時,方法前進(jìn)到框840。舉例來說,在圖3中,指令208為包括第一子指令218及第二子指令220的子包指令。第一指令包括將第一指令識別為子包指令且指示第一指令的包結(jié)尾狀態(tài)的剖析指示符。(包內(nèi)的指令中的任一者可在解碼期間經(jīng)由其剖析指示符的值而經(jīng)識別為子包指令或經(jīng)由識別子包指令的替代方法來識別。)舉例來說,在圖3中,指令208包括具有值00的剖析指示符216,所述值將指令208識別為子包指令且指示指令208為包結(jié)尾指令。在框840處,執(zhí)行多個子指令中的每一者。舉例來說,在圖3中,執(zhí)行第一子指令218及第二子指令220。在一特定說明性實(shí)施例中,同時執(zhí)行多個子指令中的全部。舉例來說,在圖3中,同時執(zhí)行第一子指令218及第二子指令220。返回到?jīng)Q策框830,當(dāng)?shù)谝恢噶畈皇亲影噶顣r,在850處,執(zhí)行第一指令。舉例來說,在圖3中,在解碼級304處,確定指令206不是子包指令,且指令206從解碼級304前進(jìn)到執(zhí)行其的執(zhí)行級306。方法在860處結(jié)束。參看圖9,包括數(shù)字信號處理器以處理包括子指令的VLIW包的無線裝置的一特定說明性實(shí)施例的框圖經(jīng)描繪且整體標(biāo)明為900。裝置900包括處理器(例如,數(shù)字信號處理器(DSP) 910),以處理VLIW包964中的多個指令。VLIW包964包括指令966、968、970及972。VLIW包964為階層式指令包,其包括多個子包指令。VLIW包964包括按階層的三個等級的指令。每一子包指令包括多個子指令。舉例來說,指令972為包括子指令974及976的子包指令(所述階層的第二等級)。子指令974為包括子子指令978及980的子子包指令(所述階層的第三等級),且子指令976為包括子子指令982及984的子子包指令(所述階層的第三等級)。在DSP 910的解碼級處,將VLIW包964解碼成指令966、968、970及972。子包指令972被解碼成子指令974及976。子指令974被解碼成子子指令978及980,且子指令976被解碼成子子指令982及984。在一說明性實(shí)例中,DSP 910根據(jù)圖3到5中的一者或一者以上及根據(jù)圖6及7的方法中的一者或一者以上或其任何組合來處理指令966、968、970、978、980、982 及 984。圖9還展示顯示器控制器926,其耦合到數(shù)字信號處理器910及顯示器928。編碼器/解碼器(CODEC) 934也可耦合到數(shù)字信號處理器910。揚(yáng)聲器936及麥克風(fēng)938可耦合到 CODEC 934。圖9還指示無線控制器940可耦合到數(shù)字信號處理器910及無線天線942。在一 特定實(shí)施例中,DSP 910、顯示器控制器926、存儲器932、C0DEC 934及無線控制器940包括于系統(tǒng)級封裝或芯片上系統(tǒng)裝置922中。在一特定實(shí)施例中,輸入裝置930及電源944耦合到芯片上系統(tǒng)裝置922。此外,在一特定實(shí)施例中,如圖9中所說明,顯示器928、輸入裝置930、揚(yáng)聲器936、麥克風(fēng)938、無線天線942及電源944在芯片上系統(tǒng)裝置922外部。然而,顯示器928、輸入裝置930、揚(yáng)聲器936、麥克風(fēng)938、無線天線942及電源944中的每一者可耦合到芯片上系統(tǒng)裝置922的組件,例如,接口或控制器。所屬領(lǐng)域的技術(shù)人員將進(jìn)一步了解,結(jié)合本文所揭示的實(shí)施例所描述的各種說明性邏輯塊、配置、模塊、電路及算法步驟可實(shí)施為電子硬件、計(jì)算機(jī)軟件或兩者的組合。為了清晰地說明硬件與軟件的此可互換性,各種說明性組件、塊、配置、模塊、電路及步驟已在上文大體按其功能性加以描述。將此功能性實(shí)施為硬件還是軟件視特定應(yīng)用及強(qiáng)加于整個系統(tǒng)上的設(shè)計(jì)約束而定。所屬領(lǐng)域的技術(shù)人員可針對每一特定應(yīng)用以變化的方式實(shí)施所描述的功能性,但這些實(shí)施決策不應(yīng)被解釋為會造成脫離本發(fā)明的范圍。結(jié)合本文中所揭示的實(shí)施例所描述的方法或算法的步驟可直接以硬件、由處理器執(zhí)行的軟件模塊或兩者的組合來體現(xiàn)。軟件模塊可駐留于隨機(jī)存取存儲器(RAM)、快閃存儲器、只讀存儲器(ROM)、可編程只讀存儲器(PROM)、可擦除可編程只讀存儲器(EPROM)、電可擦除可編程只讀存儲器(EEPROM)、寄存器、硬盤、可裝卸式盤、壓縮光盤只讀存儲器(CD-ROM)或此項(xiàng)技術(shù)中已知的任何其它形式的存儲媒體中。示范性存儲媒體耦合到處理器,使得處理器可從存儲媒體讀取信息及將信息寫入到存儲媒體。在替代方案中,存儲媒體可與處理器成一體式。處理器及存儲媒體可駐留于專用集成電路(ASIC)中。ASIC可駐留于計(jì)算裝置或用戶終端中。在替代方案中,處理器及存儲媒體可作為離散組件駐留于計(jì)算裝置或用戶終端中。提供所揭示的實(shí)施例的先前描述,以使任何所屬領(lǐng)域的技術(shù)人員能夠制作或使用所揭示的實(shí)施例。對于所屬領(lǐng)域的技術(shù)人員來說,對這些實(shí)施例的各種修改將易于顯而易見,且在不脫離本發(fā)明的范圍的情況下,本文中界定的原理可適用于其它實(shí)施例。因此,本發(fā)明并不既定限于本文中所展示的實(shí)施例,而應(yīng)被賦予與如由所附權(quán)利要求書界定的原理及新穎特征相一致的最廣泛的可能范圍。
權(quán)利要求
1.一種處理指令的方法,所述方法包含 接收指令包,其中所述包包括指令; 對所述指令進(jìn)行解碼以確定所述指令是否為單一指令或所述指令是否包括包含多個子指令的子包 '及 響應(yīng)于確定所述指令包括所述子包,執(zhí)行所述子指令中的每一者。
2.根據(jù)權(quán)利要求I所述的方法,其中所述指令包包括多個子包。
3.根據(jù)權(quán)利要求I所述的方法,其進(jìn)一步包含對所述多個子指令的第一子包進(jìn)行解碼以識別第一指令子子包。
4.根據(jù)權(quán)利要求I所述的方法,其中所述解碼由可操作以對所述指令包中的多個指令進(jìn)行解碼的解碼器執(zhí)行。
5.根據(jù)權(quán)利要求I所述的方法,其中所述指令包括將所述指令識別為所述子包的剖析指示符。
6.根據(jù)權(quán)利要求I所述的方法,其中所述指令包括用以識別指令的類型的指令類別字段。
7.根據(jù)權(quán)利要求I所述的方法,其中所述包為極長指令字VLIW包。
8.根據(jù)權(quán)利要求I所述的方法,其中所述包包括多個指令。
9.根據(jù)權(quán)利要求I所述的方法,其中所述多個子指令中的每一者是在第一執(zhí)行單元處執(zhí)行。
10.根據(jù)權(quán)利要求I所述的方法,其中所述多個子指令中的第一者是在第一執(zhí)行單元處執(zhí)行,且所述多個子指令中的第二者是在第二執(zhí)行單元處執(zhí)行。
11.根據(jù)權(quán)利要求10所述的方法,其中同時執(zhí)行所述子指令中的所述第一者與所述子指令中的所述第二者。
12.根據(jù)權(quán)利要求I所述的方法,其中所述包的每一指令包含極長指令字VLIW指令。
13.—種處理指令的方法,所述方法包含 接收指令包,其中所述包包括具有第一剖析值的第一指令及具有第二剖析值的第二指令; 將所述第一指令路由到第一執(zhí)行單元; 將所述第二指令識別為包括第一子指令及第二子指令的子包指令;及 將所述第一子指令路由到第二執(zhí)行單元。
14.根據(jù)權(quán)利要求13所述的方法,其中每一剖析值識別對應(yīng)指令處于所述包的結(jié)尾處、處于硬件回路的結(jié)尾處或不在所述包的結(jié)尾處。
15.根據(jù)權(quán)利要求13所述的方法,其中所述第二剖析值將所述第二指令識別為所述子包指令。
16.根據(jù)權(quán)利要求13所述的方法,其中所述執(zhí)行單元中的每一者包括算術(shù)執(zhí)行單元或加載/存儲數(shù)據(jù)單元。
17.根據(jù)權(quán)利要求13所述的方法,其進(jìn)一步包含同時執(zhí)行所述第一子指令與所述第二子指令。
18.根據(jù)權(quán)利要求13所述的方法,其進(jìn)一步包含將所述第二子指令路由到第三執(zhí)行單元。
19.一種處理器,其包含 解碼器,其用以接收指令包,其中所述包包括指令,所述解碼器操作以對所述指令進(jìn)行解碼以確定所述指令是否為包括第一子指令及第二子指令的第一子包指令; 及 執(zhí)行單元,其用以執(zhí)行所述指令或執(zhí)行所述第一子指令。
20.根據(jù)權(quán)利要求19所述的處理器,其進(jìn)一步包含第二執(zhí)行單元,所述第二執(zhí)行單元用以執(zhí)行所述第二子指令。
21.根據(jù)權(quán)利要求19所述的處理器,其中所述包進(jìn)一步包含第二指令,所述處理器進(jìn)一步包含第三執(zhí)行單元,所述第三執(zhí)行單元用以執(zhí)行所述第二指令。
22.根據(jù)權(quán)利要求19所述的處理器,其中所述包包括多個指令,其中所述多個指令中的每一指令具有相同大小。
23.根據(jù)權(quán)利要求22所述的處理器,其中與所述第一子指令及所述第二子指令中的每一者相關(guān)聯(lián)的大小小于與所述指令相關(guān)聯(lián)的所述大小。
24.根據(jù)權(quán)利要求19所述的處理器,其中所述指令包括第一剖析指示符,所述第一剖析指示符具有與包結(jié)尾狀態(tài)相關(guān)聯(lián)的第一剖析值,所述第一剖析值也指示所述第一指令包括所述第一子指令及所述第二子指令。
25.根據(jù)權(quán)利要求19所述的處理器,其中與所述第一子指令及所述第二子指令中的每一者相關(guān)聯(lián)的大小小于與所述指令相關(guān)聯(lián)的大小。
全文摘要
本發(fā)明揭示一種處理階層式極長指令字VLIW包的系統(tǒng)及方法。在一特定實(shí)施例中,揭示一種處理指令的方法。所述方法包括接收階層式VLIW指令包,及對來自所述包的指令進(jìn)行解碼以確定所述指令是否為單一指令或所述指令是否包括包含多個子指令的子包。所述方法還包括響應(yīng)于確定所述指令包括所述子包,執(zhí)行所述子指令中的每一者。
文檔編號G06F9/38GK102822794SQ201180016087
公開日2012年12月12日 申請日期2011年3月2日 優(yōu)先權(quán)日2010年3月3日
發(fā)明者盧西恩·科德雷斯庫, 埃里克·詹姆斯·普隆迪克, 阿賈伊·阿南特·英格爾, 蘇雷什·K·文庫馬漢提, 查爾斯·約瑟夫·塔伯尼 申請人:高通股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
晋中市| 临泉县| 定远县| 邳州市| 都匀市| 上蔡县| 柏乡县| 临潭县| 夏邑县| 施秉县| 德清县| 武安市| 盈江县| 鄂托克旗| 佛冈县| 江口县| 贡觉县| 都昌县| 苏尼特左旗| 武陟县| 建德市| 通化县| 田东县| 宝清县| 梁河县| 彭阳县| 枣庄市| 绿春县| 平泉县| 云霄县| 会昌县| 镇平县| 韶关市| 新蔡县| 凤台县| 依兰县| 揭东县| 喀喇沁旗| 邛崃市| 临汾市| 南丰县|