專利名稱:在多級數(shù)據(jù)處理管線中執(zhí)行指令的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明大體上涉及一種在多級數(shù)據(jù)處理管線中執(zhí)行指令的系統(tǒng)和方法。
背景技術(shù):
技術(shù)上的進(jìn)步已產(chǎn)生更小且更強(qiáng)大的個人計算裝置。舉例來說,當(dāng)前存在多種便 攜式個人計算裝置,包含無線計算裝置,例如便攜式無線電話、個人數(shù)字助理(PDA)和尋呼 裝置,其體積小、重量輕且容易由用戶攜帶。更具體來說,例如蜂窩式電話和IP電話等便攜 式無線電話可經(jīng)由無線網(wǎng)絡(luò)傳送語音和數(shù)據(jù)包。此外,許多此類無線電話包含并入在其中 的其它類型的裝置。舉例來說,無線電話還可包含數(shù)字靜態(tài)相機(jī)、數(shù)字視頻相機(jī)、數(shù)字記錄 器和音頻文件播放器。而且,此類無線電話可包含可用于訪問因特網(wǎng)的網(wǎng)絡(luò)接口。因此,這 些無線電話包含顯著的計算能力。通常,便攜式個人計算裝置由電池供電。隨著這些裝置變得更強(qiáng)大,所述裝置可消 耗更多的功率且減少了電池可給裝置供電的時間量。因此,提供在處理器中執(zhí)行指令的改進(jìn)的系統(tǒng)和方法將是有利的。
發(fā)明內(nèi)容
在特定實施例中,揭示一種裝置,其包含具有用于執(zhí)行指令的多個級的指令執(zhí)行 管線。所述裝置還包含耦合到所述指令執(zhí)行管線的控制邏輯電路。所述控制邏輯電路適于 在經(jīng)解碼指令的執(zhí)行期間跳過所述指令執(zhí)行管線的至少一個級。所述控制邏輯電路還適于 在經(jīng)解碼指令的執(zhí)行期間執(zhí)行至少一個非跳過的級。在另一特定實施例中,揭示一種方法,其包含將指令解碼以確定何時可使用少于 多級數(shù)據(jù)處理管線中的可用級的數(shù)目的級來執(zhí)行所述指令。所述方法還包含在經(jīng)解碼指令 的執(zhí)行期間跳過所述多級數(shù)據(jù)處理管線的至少一個級,且在經(jīng)解碼指令的執(zhí)行期間執(zhí)行至 少一個非跳過的級。在又一特定實施例中,揭示一種裝置,其包含指令執(zhí)行管線和適于從所述指令執(zhí) 行管線接收數(shù)據(jù)的寄存器堆。所述裝置還包含用于在指令執(zhí)行期間跳過所述指令執(zhí)行管線 的多個可用級中的至少一個級的裝置。在又一特定實施例中,揭示一種無線裝置,其包含接收器和響應(yīng)于所述接收器的 處理器。所述處理器包含第一存儲器和響應(yīng)于所述第一存儲器的經(jīng)交錯多級數(shù)據(jù)處理管 線。所述處理器適于將指令解碼以確定何時可使用少于所述經(jīng)交錯多級數(shù)據(jù)處理管線中的 可用級的數(shù)目的級來執(zhí)行所述指令。所述處理器還適于在所述指令的執(zhí)行期間跳過所述經(jīng) 交錯多級數(shù)據(jù)處理管線的至少一個級。所述處理器進(jìn)一步適于在經(jīng)解碼指令的執(zhí)行期間執(zhí) 行至少一個非跳過的級。所描述的裝置和方法的一個特定優(yōu)點在于可在跳過的周期期間節(jié)約功率。所描述 的裝置和方法的另一特定優(yōu)點在于可延長便攜式裝置的電池壽命。在檢視整個申請案后,將明白本發(fā)明的其它方面、優(yōu)點和特征,整個申請案包含以下部分
具體實施方式
和權(quán)利要求書。
圖1是在多級數(shù)據(jù)處理管線中執(zhí)行指令的系統(tǒng)的一實施例的框圖;圖2是在多級數(shù)據(jù)處理管線中執(zhí)行指令的系統(tǒng)的另一實施例的框圖;圖3是在多級數(shù)據(jù)處理管線中執(zhí)行指令的方法的一實施例的流程圖;以及圖4是可利用如關(guān)于圖1到圖3所描述的用于在多級數(shù)據(jù)處理管線中執(zhí)行指令的 裝置和用于在多級數(shù)據(jù)處理管線中執(zhí)行指令的方法的便攜式通信裝置的示范性實施例。
具體實施例方式圖1說明處理器100的示范性、非限制性實施例的框圖。如圖1中 所說明,處理器 100包含耦合到指令高速緩沖存儲器134的存儲器102。指令高速緩沖存儲器134經(jīng)由總 線130耦合到當(dāng)前指令寄存器(CIR) 136、138、140、142、144和146。CIR 136-146中的每一 者可與多線程處理器中的特定線程相關(guān)聯(lián)。在特定實施例中,處理器100是具有六個線程 的經(jīng)交錯多線程處理器,其中CIR 136-146中的每一者包括經(jīng)交錯多線程處理器的一個線 程。CIR 136-146經(jīng)由總線107耦合到定序器104。在特定實施例中,總線107為 六十四(64)位總線,且定序器104經(jīng)配置以從具有三十二(32)位長度的存儲器102中檢 索指令??偩€107耦合到第一指令執(zhí)行單元108、第二指令執(zhí)行單元110、第三指令執(zhí)行單 元112和第四指令執(zhí)行單元114。圖1指示每一指令執(zhí)行單元108、110、112、114可經(jīng)由第 一總線118耦合到通用寄存器堆116。通用寄存器堆116還可經(jīng)由第二總線120耦合到定 序器104和存儲器102。在特定實施例中,存儲器102是內(nèi)容可尋址存儲器(CAM),且指令高速緩沖存儲器 134可包含多個指令、用于每一指令的指令導(dǎo)向數(shù)據(jù)和用于每一指令的指令預(yù)解碼數(shù)據(jù)。在 操作期間,CIR 136-146從指令高速緩沖存儲器134中拉出指令,且CIR 136-146可彼此獨 立地由定序器104存取。在特定實施例中,定序器104包含簡單指令執(zhí)行單元105。定序器104還包含功率 控制邏輯電路106。此外,定序器104可耦合到控制寄存器103,所述控制寄存器103允許 處理器100確定何時可選擇性地啟動簡單指令執(zhí)行單元105和功率控制邏輯電路106。如圖1中所描繪,通用寄存器116包含第一統(tǒng)一寄存器堆148、第二統(tǒng)一寄存器堆 150、第三統(tǒng)一寄存器堆152、第四統(tǒng)一寄存器堆154、第五統(tǒng)一寄存器堆156和第六統(tǒng)一寄 存器堆158。每一統(tǒng)一寄存器堆148、150、152、154、156、158對應(yīng)于CIR 136-146中的一者。 此外,在特定實施例中,每一統(tǒng)一寄存器堆148、150、152、154、156、158具有相同的指令且 包含相同數(shù)目的數(shù)據(jù)操作數(shù)和地址操作數(shù)。在處理器100的操作期間,由CIR 136-146經(jīng)由總線130從指令高速緩沖存儲器 134中獲取指令。隨后由定序器處理指令,將其發(fā)送到指定的指令執(zhí)行單元108、110、112、 114,且在指令執(zhí)行單元108、110、112、114處執(zhí)行??蓪⒚恳恢噶顖?zhí)行單元108、110、112、 114處的結(jié)果寫入到通用寄存器116,S卩,寫入到統(tǒng)一寄存器堆148、150、152、154、156、158
中的一者。
在特定實施例中,定序器104可基于控制寄存器103中的值選擇性地啟用簡單指令執(zhí)行單元105。當(dāng)啟用時,簡單指令執(zhí)行單元105可將來自選定CIR的指令解碼,以確定 何時可使用少于多級數(shù)據(jù)處理管線中的可用級的數(shù)目的級來執(zhí)行所述指令。所述簡單指令 執(zhí)行單元105可隨后在經(jīng)解碼指令的執(zhí)行期間跳過多級數(shù)據(jù)處理管線的至少一個級。為跳 過管線的一級,處理器100可在所跳過的級的周期期間將指令保持在相應(yīng)的CIR中,直到將 執(zhí)行所述指令的級為止。簡單指令執(zhí)行單元105也可在經(jīng)解碼指令的執(zhí)行期間執(zhí)行至少一 個非跳過的級。在特定實施例中,功率控制邏輯電路106可減少在所跳過的級期間到達(dá)多級數(shù)據(jù) 處理管線的功率。減少功率可包含關(guān)斷到達(dá)所跳過的級的動態(tài)功率、關(guān)斷到達(dá)所跳過的級 的靜態(tài)功率,或兩者。功率控制邏輯電路106可在執(zhí)行多級數(shù)據(jù)處理管線中的將不被跳過 的級之前使功率返回到標(biāo)稱操作電平。圖2說明用于在多級數(shù)據(jù)處理管線中執(zhí)行指令的系統(tǒng)200的另一實施例的框圖。 在特定實施例中,系統(tǒng)200可實施于多線程處理器中,例如圖1中所示的處理器100。舉例 來說,多級數(shù)據(jù)處理管線可包含定序器104和執(zhí)行單元108、110、112和114中的一者或一 者以上。多級數(shù)據(jù)處理管線可從例如CIR 136等CIR中獲取指令,處理所述指令,且將結(jié)果 存儲在例如寄存器堆148等寄存器堆中。在特定實施例中,系統(tǒng)200可實施于經(jīng)交錯多線程處理器中,其中每一線程可針 對管線的每一級具有固定的時隙。當(dāng)每一線程使用其所分配的時隙時,在線程之間不存在 沖突。其它不實施經(jīng)交錯處理的架構(gòu)可實施系統(tǒng)200,但在線程之間可能存在沖突。其它架 構(gòu)可能必須實施沖突分解技術(shù)。在多級指令執(zhí)行管線中,某些指令不需要管線中可用的全部硬件來執(zhí)行指令。在 特定實施例中,指令執(zhí)行管線可跳過管線中的一個或一個以上級且僅執(zhí)行執(zhí)行指令所必需 的那些級。為跳過管線的一級,可在所跳過的級的周期期間將指令保持在相應(yīng)的CIR中,直 到將執(zhí)行所述指令的級為止??捎衫缈刂破骰螂x散時序電路等控制邏輯確定保持周期。 在另一特定實施例中,指令執(zhí)行管線可僅執(zhí)行執(zhí)行整個指令所必需的單一級的硬件的一部 分。所執(zhí)行的級或一級的一部分可為多級指令執(zhí)行管線的任何級。系統(tǒng)200提供可使用少 于多級指令執(zhí)行管線的所有級的級來執(zhí)行指令的管線的三個實例。跳過指令執(zhí)行管線的級 可尤其在經(jīng)交錯多線程處理器中良好地起作用,在經(jīng)交錯多線程處理器中,每一線程可針 對管線的每一級具有固定時隙。系統(tǒng)200包含第一當(dāng)前指令寄存器(CIR) 202。第一 CIR 202可與多線程處理器的 第一線程相關(guān)聯(lián)。第一 CIR 202可耦合到第一多路復(fù)用器204和第二多路復(fù)用器206,所述 第一多路復(fù)用器204和第二多路復(fù)用器206構(gòu)成具有用于執(zhí)行指令的多個級的第一指令執(zhí) 行管線。第一 CIR 202還可耦合到第三多路復(fù)用器230、第四多路復(fù)用器238、第五多路復(fù) 用器260和第六多路復(fù)用器270。在特定實施例中,每一指令執(zhí)行管線可具有可用于執(zhí)行指 令的六個級。在經(jīng)交錯多線程處理器中,指令執(zhí)行管線中的每一級可具有用于在管線中執(zhí) 行的固定時隙。第一多路復(fù)用器204和第二多路復(fù)用器206兩者均可具有控制線205,以用 于選擇第一指令執(zhí)行管線將從哪一 CIR接收指令??刂凭€205可耦合到控制邏輯電路,例 如圖1中所示的定序器104,以用于選擇多線程處理器的單一線程。第一指令執(zhí)行管線包含第一級210、第二級212、第三級214、第四級216、第五級218和第六級220。第一指令執(zhí)行管線具有可經(jīng)由多路復(fù)用器224選擇的兩個操作模式。 第一操作模式包含在第一級210、第二級212、第三級214、第四級216、第五級218和第六級 220處執(zhí)行指令。第二操作模式包含在功率節(jié)約模式221期間跳過第一級210、第二級212、 第三級214、第四級216和第五級218,且隨后執(zhí)行第六級220。功率節(jié)約模式221可持續(xù)用 于執(zhí)行所述級的一個或一個以上時鐘周期的長度。功率節(jié)約模式的長度可基于待執(zhí)行的指 令而為可變的。多路復(fù)用器224可在第二操作模式期間選擇性地將來自第一 CIR 202的指 令提供到第六級220的輸入,或可在第一操作模式期間將來自第五級218的輸出提供到第 六級220的輸入。多路復(fù)用器224可具有控制線223,以用于選擇是選擇第一操作模式還是 第二操作模式??刂凭€223可耦合到控制邏輯電路,例如圖1中所示的定序器104,以選擇 第一操作模式或第二操作模式。第六級220的輸出可耦合到寄存器堆226。 在特定說明性實施例中,系統(tǒng)200還可包含與多線程處理器的第二線程相關(guān)聯(lián)的 第二 CIR 228。第二 CIR 228可耦合到第一多路復(fù)用器204、第二多路復(fù)用器206、第三多路 復(fù)用器230、第四多路復(fù)用器238和第五多路復(fù)用器260。第三多路復(fù)用器230和第四多路 復(fù)用器238構(gòu)成具有用于執(zhí)行指令的多個級的第二指令執(zhí)行管線。第三多路復(fù)用器230和 第四多路復(fù)用器238各具有控制線229,以用于選擇第二指令執(zhí)行管線將從哪一 CIR接收指 令??刂凭€229可耦合到控制邏輯電路,以用于選擇多線程處理器的單一線程。第二指令執(zhí)行管線包含第一級240、第二級242、第三級244、第四級246、第五級 248和第六級250。第二指令執(zhí)行管線具有可經(jīng)由多路復(fù)用器252選擇的兩個操作模式。 第一操作模式包含在第一級240、第二級242、第三級244、第四級246、第五級248和第六級 250處執(zhí)行指令。第二操作模式包含在功率節(jié)約模式232期間跳過第一級240、第二級242和第三級 244,且隨后執(zhí)行第四級246、第五級248和第六級250。功率節(jié)約模式232可持續(xù)用于執(zhí)行 所跳過級的一個或一個以上時鐘周期的長度。功率節(jié)約模式的長度可基于待執(zhí)行的指令而 為可變的。多路復(fù)用器252可在第二操作模式期間選擇性地將來自第二 CIR 228的指令提 供到第四級246的輸入,或可在第一操作模式期間將來自第三級244的輸出提供到第四級 246的輸入。多路復(fù)用器252可具有控制線251,以用于選擇是選擇第一操作模式還是第二 操作模式??刂凭€251可耦合到控制邏輯電路,例如圖1中所示的定序器104,以選擇第一 操作模式或第二操作模式。第六級250的輸出可耦合到寄存器堆226。在另一特定說明性實施例中,系統(tǒng)200可具有第三指令執(zhí)行管線,第三指令執(zhí)行 管線包含第五多路復(fù)用器260和第六多路復(fù)用器270。第五多路復(fù)用器260和第六多路復(fù) 用器270可具有控制線262,以用于選擇第三指令執(zhí)行管線將從哪一 CIR接收指令??刂凭€ 262可耦合到控制邏輯電路,以用于選擇多線程處理器的單一線程。第三指令執(zhí)行管線包含第一級272、第二級274、第三級276、第四級278、第五級 280和第六級282。第三指令執(zhí)行管線具有可經(jīng)由多路復(fù)用器268選擇的兩個操作模式。多 路復(fù)用器268可具有控制線269,以用于選擇是選擇第一操作模式還是第二操作模式??刂?線269可耦合到控制邏輯電路,例如圖1中所示的定序器104,以選擇第一操作模式或第二 操作模式。第一操作模式包含在第一級272、第二級274、第三級276、第四級278、第五級280 和第六級282處執(zhí)行指令。第二操作模式包含指令執(zhí)行級266。指令執(zhí)行級266可為第三指令執(zhí)行管線的任何級或一級的一部分??商^所述管線的除指令執(zhí)行級266以外的級, 且可實施功率節(jié)約模式264以節(jié)省能量。舉例來說,在第六級管線中,指令執(zhí)行級266可為 第三指令執(zhí)行管線的第三級或第三級的一部分;因此,可跳過第一、第二、第四、第五和第六 級,且可在那些級本將執(zhí)行完的時間期間實施功率節(jié)約模式。多路復(fù)用器268可選擇性地 將第一操作模式的輸出或第二操作模式的輸出提供到寄存器堆226。在特定實施例中,系統(tǒng)200展示具有兩個線程的實施例,然而,系統(tǒng)200可擴(kuò)展到 支持任何數(shù)目的線程。在特定實施例中,系統(tǒng)200包含六個線程。在操作期間,可將來自CIR 202的第一指令解碼以確定何時可使用少于第一指令 執(zhí)行管線中可用的級的數(shù)目的級來執(zhí)行指令??勺x取指令的操作碼以確定執(zhí)行指令所需的 級的數(shù)目。在特定實施例中,所述指令可為只寫指令。在另一特定實施例中,所述指令可為 不包含寄存器堆讀取的指令。在又一特定實施例中,所述指令可為組合指令。當(dāng)可使用少于第一指令執(zhí)行管線中可用的級的數(shù)目的級且僅使用第二操作模式 中可用的級來執(zhí)行指令時,可啟動控制線223以選擇用于執(zhí)行指令的第二操作模式。第一 CIR 202可隨后將指令傳遞到第一多路復(fù)用器204。當(dāng)控制線205選擇對應(yīng)于第一 CIR202 的線程時,第一多路復(fù)用器204可將來自CIR 202的指令提供到多路復(fù)用器224。在第一管線的第二操作模式期間執(zhí)行指令期間,系統(tǒng)200可通過進(jìn)入功率節(jié)約模 式221來減少到達(dá)第一指令執(zhí)行管線的功率,以減少執(zhí)行指令所不需要的級所消耗的功 率。功率節(jié)約模式221可包含在斷電階段期間關(guān)斷動態(tài)功率、在斷電階段期間關(guān)斷靜態(tài)功 率,或兩者。可在需要執(zhí)行的級之前使功率返回到操作電平。在已退出功率節(jié)約模式221 后,第六級220可執(zhí)行指令且將輸出提供到多路復(fù)用器224以提供到寄存器堆226。在經(jīng) 交錯多線程處理器中,可基于指派給所跳過的級和第六級220的時隙而退出功率節(jié)約模式 221。在特定實施例中,第六級220可包含寄存器堆寫入執(zhí)行。當(dāng)不可使用少于第一指令執(zhí)行管線中可用的級的數(shù)目的級來執(zhí)行指令時,啟動控 制線223以選擇第一操作模式來執(zhí)行指令。第一 CIR 202可隨后將指令傳遞到第二多路復(fù) 用器206。第二多路復(fù)用器206將來自第一 CIR 202的指令提供到指令執(zhí)行級210以執(zhí)行 指令。隨后可由指令執(zhí)行級210、212、214、216、218和220執(zhí)行指令,然后發(fā)送輸出以存儲 在寄存器堆226中??深愃朴谏衔年P(guān)于第一 CIR 228所描述的那樣執(zhí)行來自第二 CIR 228的指令。另 夕卜,第三多路復(fù)用器230、第四多路復(fù)用器238、第二指令執(zhí)行管線和多路復(fù)用器252的操作 可類似于上文所描述的那樣操作。然而,如圖2中所示,第二指令執(zhí)行管線的第二操作模式 具有可執(zhí)行的三個級(第四級246、第五級248和第六級250)。第三指令執(zhí)行管線也可類似于上文所描述的那樣操作。當(dāng)可使用少于第三指令執(zhí) 行管線的第一操作模式中可用的級的數(shù)目的級執(zhí)行來自CIR的指令且可僅使用可用于在 第二操作模式中執(zhí)行的級、若干級、或一級的一部分執(zhí)行所述指令時,可由多路復(fù)用器268 選擇第二操作模式。當(dāng)不可使用第三指令執(zhí)行管線的第二操作模式執(zhí)行來自CIR的指令 時,可由多路復(fù)用器268選擇第一操作模式。圖3說明在多級數(shù)據(jù)處理管線中執(zhí)行指令的方法300的一實施例的流程圖。方法 300包含在302處將指令解碼以確定何時可使用少于多級數(shù)據(jù)處理管線中可用的級的數(shù)目 的級來執(zhí)行指令。在特定實施例中,在執(zhí)行指令之前執(zhí)行解碼。在另一特定實施例中,所述解碼包含通過識別指令的操作碼來確定指令。在又一特定實施例中,從當(dāng)前指令寄存器 (CIR)接收指令。方法300還包含在304處在經(jīng)解碼指令的執(zhí)行期間跳過多級數(shù)據(jù)處理管線的至少一個級。所述至少一個所跳過的級可為多級數(shù)據(jù)處理管線的第一級、最后一級,或第一級與 最后一級之間的一級。所述方法進(jìn)一步包含在306處在經(jīng)解碼指令的執(zhí)行期間執(zhí)行至少一個非跳過的 級。在特定實施例中,所述指令可為只寫指令。在另一特定實施例中,所述指令可為不包含 寄存器堆讀取的指令。在又一特定實施例中,所述指令可為組合指令。在特定實施例中,所述方法300包含在308處在至少一個所跳過的級期間減少到 達(dá)多級數(shù)據(jù)處理管線的功率。在另一特定實施例中,減少功率可包含關(guān)斷到達(dá)至少一個所 跳過的級的動態(tài)功率。在又一特定實施例中,減少功率還可包含關(guān)斷到達(dá)至少一個所跳過 的級的靜態(tài)功率。方法300可包含在多級數(shù)據(jù)處理管線的將不被跳過的級之前增加功率。在特定實施例中,所述多級數(shù)據(jù)處理管線可為經(jīng)交錯多線程處理器中的多個多級 數(shù)據(jù)處理管線中的一者。而且,所述多級數(shù)據(jù)處理管線可適于從多個線程中的至少一者接 收指令。圖4說明可利用例如關(guān)于圖1到圖3所描述的用于在多級數(shù)據(jù)處理管線中執(zhí)行指 令的裝置和在多級數(shù)據(jù)處理管線中執(zhí)行指令的方法且整體標(biāo)示為400的便攜式通信裝置 的示范性、非限制性實施例。便攜式通信裝置400包含芯片上系統(tǒng)422,所述芯片上系統(tǒng)422 包含處理器,例如具有簡單指令執(zhí)行單元412和功率控制邏輯414(如上文關(guān)于圖1到圖3 所描述)的數(shù)字信號處理器410。圖4還展示顯示器控制器426,其可耦合到數(shù)字信號處理 器410并耦合到顯示器428。另外,輸入裝置430可耦合到數(shù)字信號處理器410。另外,存 儲器432耦合到數(shù)字信號處理器410。編碼器/解碼器(CODEC) 434也可耦合到數(shù)字信號處 理器410。揚(yáng)聲器436和麥克風(fēng)438可耦合到CODEC 434。圖4還指示無線控制器440可耦合到數(shù)字信號處理器410并耦合到無線天線442。 在特定實施例中,電源444耦合到芯片上系統(tǒng)422。在特定實施例中,如圖4中所說明,顯 示器428、輸入裝置430、揚(yáng)聲器436、麥克風(fēng)438、無線天線442和電源444處于芯片上系統(tǒng) 422的外部。然而,每一者均耦合到芯片上系統(tǒng)422的組件。在特定說明性實施例中,簡單指令執(zhí)行單元412可將指令解碼以確定何時可使用 少于多級數(shù)據(jù)處理管線中可用的級的數(shù)目的級來執(zhí)行指令。簡單指令執(zhí)行單元412隨后可 在經(jīng)解碼指令的執(zhí)行期間跳過多級數(shù)據(jù)處理管線的至少一個級。簡單指令執(zhí)行單元412還 可在經(jīng)解碼指令的執(zhí)行期間執(zhí)行至少一個非跳過的級。在另一特定實施例中,功率控制邏 輯414可在至少一個所跳過的級期間減少到達(dá)多級數(shù)據(jù)處理管線的功率。減少功率可包含 關(guān)斷到達(dá)所述至少一個所跳過的級的動態(tài)功率。減少功率還可包含關(guān)斷到達(dá)所述至少一個 所跳過的級的靜態(tài)功率。功率控制邏輯414可在多級數(shù)據(jù)處理管線中的將不被跳過的級處 執(zhí)行之前增加功率。所屬領(lǐng)域的技術(shù)人員將進(jìn)一步了解,可將結(jié)合本文中所揭示的實施例而描述的各 種說明性邏輯塊、配置、模塊、電路和算法步驟實施為電子硬件、計算機(jī)軟件或兩者的組合。 為清楚地說明硬件和軟件的此互換性,已根據(jù)其功能性在上文中大體上描述了各種說明性 組件、塊、配置、模塊、電路和步驟。將此功能性實施為硬件還是軟件取決于特定應(yīng)用和強(qiáng)加于整個系統(tǒng)的設(shè)計約束。對于每一特定應(yīng)用,所屬領(lǐng)域的技術(shù)人員可以不同的方式實施所 描述的功能性,但不應(yīng)將此些實施決策解釋為導(dǎo)致脫離本發(fā)明的范圍。結(jié)合本文中所揭示的實施例而描述的方法或算法的步驟可直接包含在硬件中、由 處理器執(zhí)行的軟件模塊中,或兩者的組合中。軟件模塊可駐留于RAM存儲器、快閃存儲器、 ROM存儲器、PROM存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬盤、可裝卸磁盤、CD-ROM, 或此項技術(shù)中已知的任何其它形式的存儲媒體中。將示范性存儲媒體耦合到處理器,使得 處理器可從存儲媒體讀取信息以及將信息寫入到存儲媒體。在替代方案中,可使存儲媒體 與處理器成一體。處理器和存儲媒體可駐留于ASIC中。ASIC可駐留于計算裝置或用戶終 端中。在替代方案中,處理器和存儲媒體可作為離散組件駐留于計算裝置或用戶終端中。提供所揭示實施例的先前描述以使得所屬領(lǐng)域的技術(shù)人員能夠制作或使用所揭 示的實施例。所屬領(lǐng)域的技術(shù)人員將容易明白對這些實施例的各種修改,且在不脫離本發(fā) 明的精神或范圍的情況下,本文中所界定的一般原理可適用于其它實施例。因此,不希望本 發(fā)明限于本文中所展示的實施例,而是賦予其與由所附權(quán)利要求書所界定的原理和新穎特 征一致的可能的最廣泛范圍。
權(quán)利要求
一種方法,其包括將指令解碼以確定何時可使用少于多級數(shù)據(jù)處理管線中的可用級的數(shù)目的級來執(zhí)行所述指令;在所述經(jīng)解碼指令的執(zhí)行期間跳過所述多級數(shù)據(jù)處理管線的至少一個級;以及在所述經(jīng)解碼指令的執(zhí)行期間執(zhí)行至少一個非跳過的級。
2.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包括在所述至少一個所跳過的級期間減少到 達(dá)所述多級數(shù)據(jù)處理管線的功率。
3.根據(jù)權(quán)利要求2所述的方法,其中減少功率包括關(guān)斷到達(dá)所述至少一個所跳過的級 的動態(tài)功率。
4.根據(jù)權(quán)利要求2所述的方法,其中減少功率包括關(guān)斷到達(dá)所述至少一個所跳過的級 的靜態(tài)功率。
5.根據(jù)權(quán)利要求2所述的方法,其進(jìn)一步包括在所述多級數(shù)據(jù)處理管線的將不被跳過 的級之前增加功率。
6.根據(jù)權(quán)利要求1所述的方法,其中跳過所述多級數(shù)據(jù)處理管線的所述至少一個級進(jìn) 一步包括在基于將被跳過的所述至少一個級的時期期間,將所述經(jīng)解碼指令保持在寄存器中;以及相對于所述時期的結(jié)束,將所述指令轉(zhuǎn)發(fā)到所述至少一個非跳過的級。
7.根據(jù)權(quán)利要求1所述的方法,其中在執(zhí)行所述指令之前執(zhí)行所述解碼。
8.根據(jù)權(quán)利要求1所述的方法,其中所述至少一個所跳過的級選自由以下各項組成的 群組的級第一級、最后一級,和所述第一級與所述最后一級之間的級。
9.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包括從當(dāng)前指令寄存器接收所述指令。
10.根據(jù)權(quán)利要求1所述的方法,其中所述多級數(shù)據(jù)處理管線是經(jīng)交錯多線程處理器 中的多個多級數(shù)據(jù)處理管線中的一者。
11.根據(jù)權(quán)利要求1所述的方法,其中所述多級數(shù)據(jù)處理管線適于從多個線程中的至 少一者接收所述指令。
12.根據(jù)權(quán)利要求1所述的方法,其中所述解碼進(jìn)一步包括識別所述指令。
13.根據(jù)權(quán)利要求1所述的方法,其中所述指令包括只寫指令。
14.根據(jù)權(quán)利要求1所述的方法,其中所述指令不包含寄存器堆讀取。
15.根據(jù)權(quán)利要求1所述的方法,其中所述指令包括組合指令。
16.一種裝置,其包括第一指令執(zhí)行管線,其具有用于執(zhí)行指令的多個級; 控制邏輯電路,其耦合到所述第一指令執(zhí)行管線,所述控制邏輯電路適于 在第一指令的執(zhí)行期間跳過所述第一指令執(zhí)行管線的至少一個級;以及 在所述第一指令的執(zhí)行期間執(zhí)行至少一個非跳過的級。
17.根據(jù)權(quán)利要求16所述的裝置,其中所述控制邏輯電路進(jìn)一步適于在所述至少一個 所跳過的級期間減少到達(dá)所述第一指令執(zhí)行管線的功率。
18.根據(jù)權(quán)利要求16所述的裝置,其中所述控制邏輯電路進(jìn)一步適于將所述第一指令 解碼以確定何時可使用少于所有所述多個級的級來執(zhí)行所述第一指令。
19.根據(jù)權(quán)利要求16所述的裝置,其中所述第一指令執(zhí)行管線包括六個級。
20.根據(jù)權(quán)利要求16所述的裝置,其中所述控制邏輯電路包括至少一個多路復(fù)用器和一控制器。
21.根據(jù)權(quán)利要求16所述的裝置,其中所述第一指令包括只寫指令。
22.根據(jù)權(quán)利要求16所述的裝置,其中所述第一指令包括只讀指令。
23.根據(jù)權(quán)利要求16所述的裝置,其進(jìn)一步包括寄存器堆,所述寄存器堆耦合到所述 第一指令執(zhí)行管線并適于存儲基于所述指令的操作數(shù)。
24.根據(jù)權(quán)利要求16所述的裝置,其進(jìn)一步包括第二指令執(zhí)行管線,其具有用于執(zhí)行指令的多個級;且其中所述控制邏輯電路耦合到所述第二指令執(zhí)行管線且適于在所述第二指令執(zhí)行管 線中執(zhí)行所述第一指令期間跳過所述第二指令執(zhí)行管線的至少一個級。
25.根據(jù)權(quán)利要求24所述的裝置,其進(jìn)一步包括寄存器堆,所述寄存器堆耦合到所述 第一指令執(zhí)行管線和所述第二指令執(zhí)行管線。
26.一種裝置,其包括 指令執(zhí)行管線;寄存器堆,其適于從所述指令執(zhí)行管線接收數(shù)據(jù);以及用于在指令執(zhí)行期間跳過所述指令執(zhí)行管線的多個可用級中的至少一個級的裝置。
27.根據(jù)權(quán)利要求26所述的裝置,其進(jìn)一步包括耦合到所述指令執(zhí)行管線的指令寄存器
28.根據(jù)權(quán)利要求26所述的裝置,其中所述寄存器堆是統(tǒng)一寄存器堆。
29.根據(jù)權(quán)利要求26所述的裝置,其進(jìn)一步包括用于在跳過所述至少一個級時減少功 率的裝置。
30.一種無線裝置,其包括 接收器;處理器,其響應(yīng)于所述接收器,其中所述處理器包含第一存儲器;經(jīng)交錯多級數(shù)據(jù)處理管線,其響應(yīng)于所述第一存儲器;且 其中所述處理器適于將指令解碼以確定何時可使用少于所述經(jīng)交錯多級數(shù)據(jù)處理管線中的可用級的數(shù)目 的級來執(zhí)行所述指令;在所述指令的執(zhí)行期間跳過所述經(jīng)交錯多級數(shù)據(jù)處理管線的至少一個級;以及 在所述經(jīng)解碼指令的執(zhí)行期間執(zhí)行至少一個非跳過的級。
31.根據(jù)權(quán)利要求29所述的無線裝置,其進(jìn)一步包括 天線,其耦合到所述接收器;發(fā)射器,其耦合到所述天線; 第二存儲器,其可由所述處理器存?。?顯示器控制器,其耦合到所述處理器;以及 音頻編碼器/解碼器(CODEC),其耦合到所述處理器。
全文摘要
本發(fā)明揭示一種裝置,其包含具有用于執(zhí)行指令的多個級的指令執(zhí)行管線。所述裝置還包含耦合到所述指令執(zhí)行管線的控制邏輯電路。所述控制邏輯電路適于在指令執(zhí)行期間跳過所述指令執(zhí)行管線的至少一個級。所述控制邏輯電路還適于在經(jīng)解碼指令的執(zhí)行期間執(zhí)行至少一個非跳過的級。
文檔編號G06F9/38GK101821712SQ200880111057
公開日2010年9月1日 申請日期2008年9月4日 優(yōu)先權(quán)日2007年9月6日
發(fā)明者盧奇安·科德雷斯庫, 蘇雷什·文庫馬洪蒂, 阿賈伊·阿南塔·英格爾 申請人:高通股份有限公司