專利名稱:使用標量/向量指令處理數據的系統和方法
技術領域:
本揭示案大體上涉及處理數據的系統和方法,且更特定來說,涉及處理向量和標量 操作的系統和方法。
背景技術:
科技上的進步產生更小且更強大的個人計算裝置。舉例來說,當前存在多種便攜式 個人計算裝置,包含無線計算裝置,例如較小、輕重量且易于由用戶攜帶的便攜式無線 電話、個人數字助理(PDA)和尋呼裝置。更具體來說,便攜式無線電話(例如,蜂窩 式電話和IP電話)可經由無線網絡傳送語音和數據包。此外,許多此類無線電話包含 并入其中的其它類型裝置。舉例來說,無線電話還可包含數字靜態(tài)相機、數字視頻相機、 數字記錄器和音頻文件播放器。而且,此類無線電話可包含可用于接入因特網的網絡接 口。因此,這些無線電話包含相當大的計算能力。
通常,隨著這些裝置變得更小且更強大,其變得越來越受資源約束。舉例來說,屏 幕尺寸、可用存儲器和文件系統空間的量,以及輸入和輸出能力的量可能受到裝置的較 小尺寸的限制。此外,電池尺寸、由電池提供的功率量以及電池的壽命也受到限制。一 種用以增加裝置的電池壽命的方式是設計消耗較少功率的處理器。
某些類型的處理器使用用于向量處理的向量架構。具有向量架構的處理器提供對向 量(即,線性數據陣列)起作用的高級操作。向量處理一次獲取一個指令,且接著以不 同的數據多次執(zhí)行所述指令。此允許用以執(zhí)行程序所需的能量得以減少,因為尤其是每 一指令需要被較少次獲取。另外,具有向量架構的處理器通常允許同時完成多個操作, 從而在操作之間形成并行性。
另一方面,其它類型的處理器使用標量架構以用于標量處理。標量處理在每次執(zhí)行 指令時獲取指令和數據。在執(zhí)行需要多次執(zhí)行一指令的循環(huán)中,具有標量架構的處理器 將多次獲取所述指令。
對于需要將要對較大的數據集合執(zhí)行相同操作的任務來說,需要向量處理。然而, 具有向量架構的處理器不考慮標量條件或產生標量結果。當處理器具有線性定標性能要 求時(如在預期用以處置多個視頻流的視頻裝置中),標量操作是有用的。出于此原因,用于多媒體處理。由于缺乏并行性,此方法需要處理器運 行得非???,這在功率消耗方面是低效的。
因此,提供一種考慮到標量條件的處理向量操作的改進處理系統和方法將是有利的。
發(fā)明內容
本發(fā)明揭示一種處理器裝置,且其包含控制寄存器,其包含用于標量和向量操作 的經組合條件碼寄存器;以及至少一個指令執(zhí)行單元,其用以執(zhí)行標量和向量指令,所 述標量和向量指令兩者均利用所述經組合條件碼寄存器。
在一特定實施例中,處理器裝置包含存儲器單元和響應于所述存儲器單元的定序 器。所述指令執(zhí)行單元響應于所述定序器。此外,在又一特定實施例中,所述處理器裝 置包含存儲器單元,所述存儲器單元具有用于利用經組合條件碼寄存器的標量操作的指 令以及用于利用經組合條件碼寄存器的向量操作的指令。在又一實施例中,所述處理器 裝置包含標量比較操作。在另一實施例中,所述處理器裝置包含向量比較操作。
在又一實施例中,所述處理器裝置包含基于經組合條件碼寄存器而有條件地執(zhí)行的 標暈操作。在另一實施例中,所述處理器裝置包含將經組合條件碼寄存器用作輸入的標 量操作。
在又一實施例中,所述處理器裝置包含基于經組合條件碼寄存器中的結果而有條件 地執(zhí)行的向量操作。在特定實施例中,所述處理器裝置包含使用經組合條件碼寄存器來 存儲向量比較操作的結果的向量比較操作。
在特定實施例中,所述處理器裝置包含對字節(jié)、半字、字和雙字執(zhí)行操作的指令執(zhí) 行單元。
本文所揭示的實施例中的一者或一者以上的優(yōu)點可包含實質上改進處理器裝置的 性能。另一優(yōu)點可包含提供所述處理器裝置的較低功率使用。
在檢視整個申請案后,將明白本揭示案的其它方面、優(yōu)點和特征,申請案包含以下 部分
具體實施方式
和權利要求書。
通過參考結合附圖而進行的以下詳細描述,將更容易明白本文所描述的實施例的方
面和優(yōu)點。
圖1是示范性數字信號處理器的方框8圖2是示范性指令的概圖3是向量比較指令的概圖4是向量半字比較指令的概圖5是向量多路復用器指令的概圖6是執(zhí)行標量操作的方法的流程圖7是執(zhí)行標量條件操作的方法的流程圖8是執(zhí)行向量操作的方法的流程圖9是執(zhí)行向量條件操作的方法的流程圖IO是并入數字信號處理器的便攜式通信裝置的方框圖11是并入數字信號處理器的示范性蜂窩式電話的方框圖12是并入數字信號處理器的示范性無線因特網協議電話的方框圖13是并入數字信號處理器的示范性便攜式數字助理的方框圖;以及
圖14是并入數字信號處理器的示范性音頻文件播放器的方框圖。
具體實施例方式
圖1說明處理器ioo的示范性、非限制性實施例的方框圖。在特定實施例中,處理 器100為數字信號處理器(DSP),例如用于廣泛多種信號、圖像和視頻處理應用中的高 性能和低功率的通用DSP。
在特定實施例中,處理器100將標量指令集與面向DSP的指令集進行組合。在此實 施例中,處理器100包含完整的且正交的標量指令集,類似于精簡指令集計算機(RISC) 指令集,其提供對定點數據的操作。所述標量指令經設計為正交的并如同RISC,以便 實現較大的靈活度和性能。另外,處理器100包含用于提供多種DSP操作的向量指令集。 所述組合提供用于信號處理應用的豐富的一組操作。
在特定實施例中,處理器100支持M型操作,包含對定點數據的操作、分數定標、
飽和、舍入、單精度、雙精度、復數、向量半字和向量字節(jié)操作。在特定實施例中,處
理器100支持S型操作,包含標量移位、向量移位、改序、位操縱和斷言操作。在特定
實施例中,處理器IOO支持ALU64操作,包含算術邏輯單元(ALU)、改序、向量字節(jié)、
向量半字和向量字操作。在特定實施例中,處理器100支持ALU32操作,包含加法、
減法、對32位數據的不具有飽和的求反、標量32位比較、組合半字、組合字、移位半
字、多路復用器(MUX)、空操作(Nop)、正負號和零擴展字節(jié)和半字,和轉移立即數
和寄存器。在特定實施例中,處理器100支持控制寄存器操作,例如控制寄存器轉移指
9令。
如圖l中所說明,處理器100包含存儲器102,其經由總線106耦合到定序器104。 在特定實施例中,存儲器102為統一存儲器模型。在特定實施例中,總線106為128位 總線,且定序器104經配置以從具有32位長度的存儲器102檢索指令。定序器104耦 合到第一指令執(zhí)行單元136、第二指令執(zhí)行單元138、第三指令執(zhí)行單元140,和第四指 令執(zhí)行單元142。圖1指示每一指令執(zhí)行單元136、 i38、 140、 142可耦合到通用寄存器 堆144。通用寄存器堆144還可耦合到控制寄存器堆IIO并耦合到存儲器102。
在特定實施例中,通用寄存器堆144為單一統一寄存器堆,其保持三十二 (32)個 32位寄存器,其可被作為單一寄存器存取,或被作為對準的64位對來存取。在特定實 施例中,通用寄存器堆144保持指針、標量、向量和累加器數據。通用寄存器144可用 于通用的計算,包含地址產生、標量算術和向量算術。在特定實施例中,通用寄存器堆 提供用于指令的操作數,包含用于加載/存儲的地址、用于數字指令的數據操作數,和用 于向量指令的向量操作數。
在特定實施例中,存儲器102為具有單一32位地址空間的統一字節(jié)可尋址存儲器, 其保存數據和指令兩者,且在小端模式(Little Endian Mode)中操作,其中,存儲器中 的最低地址字節(jié)被保存在寄存器的最低有效字節(jié)中。在操作期間,定序器104可從存儲 器102獲取指令。
在處理器IOO的操作期間,指令由定序器104從存儲器102獲取,發(fā)送到指定的指 令執(zhí)行單元136、 138、 140、 142,且在指令執(zhí)行單元136、 138、 140、 142處執(zhí)行。所 述指令可包含標量和向量指令,例如標量和向量比較操作、標量條件操作,和向量多路 復用器操作。在特定實施例中,定序器104可一次獲取四個32位指令,并將所述四個 指令并行地發(fā)布到指令執(zhí)行單元136、 138、 140、 142。為了并行執(zhí)行,可將指令分組為 各種類型的一到四個指令的包。變化長度的包可自由混合于程序中。每一指令執(zhí)行單元 136、 138、 140、 142的結果可被寫入到通用寄存器堆144。在特定實施例中,處理器100 支持在每一循環(huán)將兩個64位雙字從存儲器移動到寄存器。
在特定實施例中,處理器100具有加載/存儲架構,其特征為經裁剪為編譯器需要和 DSP應用需要兩者的完整組的尋址模式??芍С志€性、循環(huán)緩沖器,和位顛倒尋址。加 載和存儲可為帶正負號或不帶正負號的字節(jié)(8位)、半字(16位)、字(32位)和雙字 (64位)。在特定實施例中,處理器IOO支持兩個并行的加載或并行的一個加載和一個存 儲。
在特定實施例中,指令執(zhí)行單元136為向量移位/改序/算術邏輯單元(ALU)單元;
10指令執(zhí)行138為向量乘法/ALU單元;指令執(zhí)行140為加載/ALU單元;且指令執(zhí)行單元 142為加載/存儲/ALU單元。
在特定實施例中, 一組32位控制寄存器提供對專用特征的存取??稍谶壿嬌蠈⒖?制寄存器分組為單一控制寄存器堆,例如控制寄存器堆110。這些控制寄存器可包含經 組合斷言寄存器,例如斷言寄存器120,其可保存標量和向量操作的結果。斷言寄存器 與條件碼寄存器同義??刂萍拇嫫鞫?10還可包含循環(huán)寄存器112、 114、 116、 118、、變 址寄存器124、 126、用戶狀態(tài)寄存器(USR) 128、程序計數器(PC)寄存器130,和 用戶通用指針寄存器132。在特定實施例中,控制寄存器堆110包含保留寄存器,例如 保留寄存器122和134。在特定實施例中,指令對于控制寄存器堆110與通用寄存器堆 144之間的轉移寄存器來說是可用的。在特定實施例中,斷言寄存器120為四個8位斷 言寄存器。
在特定實施例中,比較指令(如下文關于圖6和圖8所描述)可設置斷言寄存器120 中的位。比較指令可將比較操作的結果存儲在斷言寄存器120中。在特定實施例中,比 較指令包含向量和標量比較指令。標量比較指令可用于與立即數比較 (compare-to-immediate)禾口寄存器與寄存器比較(register-register compare).形式兩者。
在特定實施例中,存儲在斷言寄存器120中的位可用于有條件地執(zhí)行某些指令,如 關于圖7和圖8所描述。在特定實施例中,比較指令的結果被存儲在斷言寄存器120中 的一者中,且接著用作用于條件指令的條件位。舉例來說,向量指令(例如,分支指令 和多路復用器(MUX)指令)是斷言寄存器120的主要消費者。然而,某些標量指令也 可將存儲在斷言寄存器120中的位用作條件位。在特定實施例中,使用斷言寄存器120 的標量操作僅檢驗最低有效位,而向量操作檢查更多位。
舉例來說,在特定實施例中,例如"跳到地址"、"從寄存器跳到地址"、"調用子例 行程序"和"從寄存器調用子例行程序"的指令使用存儲在斷言寄存器120中的位。"跳 到地址"指令和"從寄存器跳到地址"指令用于改變程序流。"調用子例行程序"指令 和"從寄存器調用子例行程序"指令用于將程序流改變?yōu)樽永谐绦颉?br>
在特定實施例中,處理器100具有用以操縱和移動斷言寄存器120的一組指令。所 述指令包含邏輯指令,包含與、或、非和異或。另外,所包含的其它指令為"對斷言的 邏輯精簡"。第一 "對斷言的邏輯精簡"指令在源斷言寄存器中的低8位中的任一者被 設置的情況下將斷言冃的地寄存器設置為Oxff,否則所述冃的地斷言被設置為0x00。另 一指令在源斷言寄存器中的低8位中的全部被設置的情況下將斷言目的地寄存器設置為 Oxff,否則所述目的地斷言被設置為0x00。在特定實施例中,處理器ioo支持零額外開銷硬件循環(huán)。存在在使用上具有非常少
的約束的兩組可嵌套循環(huán)機。軟件分支通過經斷言分支機制而起作用。顯性比較指令產 生斷言位。由條件分支指令使用所述產生的位。以PC相關和寄存器間接形式支持有條 件和無條件跳躍以及子例行程序調用。
在特定實施例中,處理器100支持管線化,其中處理器i00在已完成第一指令之前
開始執(zhí)行第二指令。
圖2說明可由處理器100執(zhí)行的示范性指令(向量精簡乘法半字指令200)的圖。 如圖2中所說明,第一64位向量202的半字(未圖示)和第二64位向量204的半字(未 圖示)在206處相乘。中間乘積212接著在208處一起相加。全64位結果存儲在目的 地寄存器210中。在特定實施例中,存儲在目的地寄存器210中的64位結果任選地在 208處相加。可由指令執(zhí)行單元138執(zhí)行指令200。在特定實施例中,執(zhí)行單元138為 向暈乘法累加器(MAC)單元,其支持對單精度(16X16)、雙精度(32X32和32X16)、 向量以及復數數據的操作。優(yōu)選的是,執(zhí)行單元138能夠對標量和壓縮的向量數據兩者 執(zhí)行多種DSP操作。另外,執(zhí)行單元138可執(zhí)行支持自動定標、飽和以及舍入的指令形 式。
圖3說明可由處理器100執(zhí)行的示范性指令(向量比較指令300)的圖。如圖3中 所說明,第一 64位向量302和第二 64位向量304在306處進行比較。向量302和向量 304中的每一元素經過比較,且產生真/假結果位向量308。真/假結果位向量308的每一 位被設置為0或1,其取決于比較結果。在特定實施例中,真/假結果位向量308被存儲 在斷言寄存器120中的一者中。
圖4說明可由處理器IOO執(zhí)行的示范性指令(向量半字比較指令400)的圖。如圖 4中所說明,第一 64位向量402的半字(未圖示)和第二 64位向量404的對應半字(未 圖示)在406處進行比較。向量402和向量404中的每一半字經過比較,且產生真/假結 果位向量408。對于半字比較,真/假結果位向量408的兩個位被設置為0或l,其取決 于每一比較結果。以類似方式,對于字比較,結果向量的四個位被設置為0或1,其取 決于每一比較結果。在特定實施例中,真/假結果位向量408被存儲在斷言寄存器'120 中的一者中。
圖5說明可由處理器IOO執(zhí)行的示范性指令(向量MUX指令500)的圖。如圖5
中所說明,在506處有條件地選擇第一 64位向量502的每一元素和第二 64位向量504
的每一對應元素。對于向量502中的每一字節(jié)和向量504中的對應字節(jié),對應位510用
作條件位。在特定實施例中,位510被存儲在斷言寄存器120中的一者中。條件位510決定MUX操作的結果。MUX操作以從向量502或向量504選擇字節(jié)的值,因此在兩個 向量之間執(zhí)行逐元素的字節(jié)選擇。向量MUX指令產生結果字節(jié)向量508。在特定實施 例中,對于斷言寄存器120中的一者的低8位中的每一者,如果所述位被設置,那么結 果508的對應字節(jié)被設置為來自向量502的對應字節(jié)。否則,結果508的對應字節(jié)被設 置為來自向量504的對應字節(jié)。在特定實施例中,結果字節(jié)向量508被存儲在通用寄存 器144中的目的地寄存器(未圖示)中。
圖6說明執(zhí)行標量操作的方法的流程圖??捎芍噶顖?zhí)行單元(例如,指令執(zhí)行單元 136、 138、 140、 142中的一者)在602處接收標量指令。接著由指令執(zhí)行單元在604處 執(zhí)行標量指令。接著在606處將來自指令執(zhí)行的所得位設置在結果寄存器中。在特定實 施例中,所得位被設置在斷言寄存器120中的一者中。在特定實施例中,所述指令為標 量比較指令,其中對于真比較,標量比較指令將斷言寄存器120中的一者中的每一位設 置為一 (1),且對于假比較,將斷言寄存器120中的一者中的每一位設置為零(0)。
圖7說明執(zhí)行標量條件操作的方法的流程圖。可由指令執(zhí)行單元(例如,指令執(zhí)行 單元136、 138、 140、 142中的一者)在702處接收標量條件指令。在704處,指令執(zhí) 行單元確定是否應執(zhí)行標量條件指令。在特定實施例中,在704處,通過檢驗斷言寄存 器120中的一者中的最低有效位來完成所述確定。如果所述確定是不執(zhí)行,則在710處 不執(zhí)行標量條件操作。如果所述確定是執(zhí)行,則在706處接著由指令執(zhí)行單元執(zhí)行所述 標量條件指令。接著在708處將來自指令執(zhí)行的所得位設置在結果寄存器中。
圖8說明執(zhí)行向量操作的方法的流程圖。在特定實施例中,向量操作是向量比較操 作??捎芍噶顖?zhí)行單元(例如,指令執(zhí)行單元136、 138、 140、 142中的一者)在802 處接收向量指令。接著由指令執(zhí)行單元在804處執(zhí)行向量指令。接著在806處將來自指 令執(zhí)行的所得位設置在結果寄存器中。在特定實施例中,所得位被設置在斷言寄存器120 中的一者中。
在特定實施例中,處理器IOO支持三種比較操作形式,包含"相等比較"、"帶正負 號大于比較"和"不帶正負號大于比較"。這三種形式足以產生帶正負號和不帶正負號 的值的所有比較。每一比較的輸出產生可用于任一意義上的真或假值。另外,寄存器操 作數可經顛倒以產生另一比較。通過交換操作數并使用結果的兩種意義,可執(zhí)行帶正負 號和不帶正負號的比較的完整的補。 .
圖9說明執(zhí)行向量條件操作的方法的流程圖。在特定實施例中,向量條件操作為向
量MUX操作??捎芍噶顖?zhí)行單元(例如,指令執(zhí)行單元136、 138、 140、 142)在902
處接收向暈條件指令。指令執(zhí)行單元在904處獲得一組條件位(例如,位510)。在特定言寄存器120中的一者。接著當由指令執(zhí)行單元在906 處執(zhí)行向量條件指令時,使用所獲得的位。接著在908處將來自指令執(zhí)行的所得位設置 在結果寄存器中。通過交換MUX指令的源操作數,可形成結果的兩個意義。
舉例來說,在向量MUX操作中,使用對應的條件位向量來有條件地選擇第一向量 中的每一字節(jié)和第二向量中的對應字節(jié)。在特定實施例中,條件位被存儲在斷言寄存器 120中的一者中。MUX操作以從第一向量或第二向量選擇字節(jié)的值,因此在兩個向量之 間執(zhí)行逐元素的字節(jié)選擇。向量MUX指令產生結果字節(jié)向量。在特定實施例中,對于 斷言寄存器120中的一者的低8位中的每一者,如果所述位被設置,那么結果的對應字 節(jié)被設置為來自第一向量的對應字節(jié)。否則,結果的對應字節(jié)被設置為來自第二向量的 對應字節(jié)。在特定實施例中,結果字節(jié)向量被存儲在通用寄存器144中的目的地寄存器 (未圖示)中。
在特定實施例中,處理器IOO使用向量條件指令來向量化具有條件語句的循環(huán)。舉 例來說,在標量指令循環(huán)中,針對循環(huán)的每一連續(xù)迭代而獲取且執(zhí)行標量指令。在向量 條件語句中,可使用向量條件操作取代所述循環(huán),使得獲取指令一次并對向量執(zhí)行。舉 例來說,以下C代碼循環(huán)八次獲取指令和數據for (i=0; i<8; i++) {if (A[i]]) { B[i]= C[i]; } }??捎蓛?yōu)選各獲取一次指令和數據的兩個向量操作來取代此C代碼循環(huán)。為了 向量化實例C代碼循環(huán),執(zhí)行兩個向量操作。首先,執(zhí)行比較操作,其將向量A中的字 節(jié)與零進行比較,且所得位被存儲在寄存器中,優(yōu)選存儲在斷言寄存器120中的一者中。 其次,執(zhí)行向量MUX操作,其將向量A比較的結果用作條件位以在向量B與向量C的 字節(jié)之間進行選擇。可將向量MUX操作的結果存儲在寄存器中。因此,因為較少次地 獲取指令和數據,所以與具有條件語句的循環(huán)相比,向量條件操作允許處理器更快、更 有效,且消耗較少的功率。
圖10說明一般指定為1020的便攜式通信裝置的示范性、非限制性實施例。如圖10
中所說明,便攜式通信裝置包含芯片上系統1022,所述芯片上系統1022包含數字信號
處理器1024。在特定實施例中,數字信號處理器1024為圖1中所展示和本文所描述的
處理器。如圖10中所說明,DSP 1024包含用于標量操作和向量操作的經組合斷言寄存
器1090。在特定實施例中,比較操作將結果存儲在經組合斷言寄存器1090中,且條件
操作(例如)在上文所描述的向量MUX指令中將所述存儲的比較結果用作條件位。圖
10還展示耦合到數字信號處理器1024和顯示器1028的顯示器控制器1026。另外,輸
入裝置1030耦合到數字信號處理器1024。如所示,存儲器1032耦合到數字信號處理器
1024。另外,編碼器/解碼器(CODEC) 1034可耦合到數字信號處理器1024。揚聲器1036
14和麥克風1038可耦合到CODEC 1030。
圖IO還指示無線控制器1040可耦合到數字信號處理器1024和無線天線1042,在 特定實施例中,電源1044耦合到芯片上系統1002。另外,在特定實施例中,如圖10中 所說明,顯示器1026、輸入裝置1030、揚聲器1036、麥克風1038、無線天線1042和 電源1044處于芯片上系統1022的外部。然而,每一者均耦合到芯片上系統1022的組 件。
在特定實施例中,數字信號處理器1024利用交錯的多線程來處理與程序線程相關 聯的指令,所述程序線程是執(zhí)行由便攜式通信裝置1020的各種組件所需要的功能性和 操作所必需的。舉例來說,當經由無線天線建立無線通信會話時,用戶可對麥克風1038 講話。表示用戶語音的電子信號可被發(fā)送到CODEC 1034以進行編碼。數字信號處理器 1024可執(zhí)行用于CODEC 1034編碼來自麥克風的電子信號的數據處理。此外,可由無線 控制器1040將經由無線天線1042接收到的傳入信號發(fā)送到CODEC 1034以進行解碼, 并發(fā)送到揚聲器1036。數字信號處理器1024也可在解碼經由無線天線1042接收到的信 號時執(zhí)行用于CODEC 1034的數據處理。
此外,在無線通信會話之前、期間或之后,數字信號處理器1024可處理從輸入裝 置1030接收到的輸入。舉例來說,在無線通信會話期間,用戶可能正使用輸入裝置1030 和顯示器1028經由嵌入在便攜式通信裝置1020的存儲器1032內的網絡瀏覽器在因特 網上沖浪。數字信號處理器1024可交錯由輸入裝置1030、顯示器控制器1026、顯示器 1028、 CODEC 1034和無線控制器1040 (如本文所描述)使用的各種程序線程,以有效 地控制便攜式通信裝置1020和其中的各種組件的操作。與各種程序線程相關聯的許多 指令是在一個或一個以上時鐘循環(huán)期間同時執(zhí)行的。因此,實質上降低了由于浪費的時 鐘循環(huán)而引起的功率和能量消耗。
參看圖11,其展示蜂窩式電話的示范性、非限制性實施例,且一般指定為1120。
如所示,蜂窩式電話1120包含芯片上系統1122,芯片上系統1122包含耦合在一起的數
字基帶處理器1124和模擬基帶處理器1126。在特定實施例中,數字基帶處理器1124為
數字信號處理器,例如圖1中所展示和本文所描述的處理器。如圖11中所說明,DSP1124
包含用于標量操作和向量操作的經組合斷言寄存器1190。在特定實施例中,比較操作將
結果存儲在經組合斷言寄存器1190中,且條件操作(例如)在上文所描述的向量MUX
指令中將所述存儲的比較結果用作條件位。如圖ll中所指示,顯示器控制器1128和觸
摸屏控制器1130耦合到數字基帶處理器1124。處于芯片上系統1122外部的觸摸屏顯示
器1132又耦合到顯示器控制器1128和觸摸屏控制器1130。
15圖11進一步指示視頻編碼器1134 (例如,逐行倒相(PAL)編碼器、順序傳送彩 色與存儲(SECAM)編碼器,或美國國家電視系統委員會(NTSC)編碼器)耦合到數 字基帶處理器1124。此外,視頻放大器1136耦合到視頻編碼器1134和觸摸屏顯示器 1132。而且,視頻端口 1138耦合到視頻放大器1136。如圖11中所描繪,通用串行總線 (USB)控制器1140耦合到數字基帶處理器1124。而且,USB端口 1142耦合到USB控 制器1140。存儲器1144和訂戶身份模塊(SIM)卡1146也可耦合到數字基帶處理器1124。 此外,如圖ll中所示,數碼相機1148可耦合到數字基帶處理器1124。在示范性實施例 中,數碼相機1148是電荷耦合裝置(CCD)相機或互補金屬氧化物半導體(CMOS')相 機。
如圖11中進一步說明,立體聲音頻CODEC 1150可耦合到模擬基帶處理器1126。 另外,音頻放大器1152可耦合到立體聲音頻CODEC 1150。在示范性實施例中,第一立 體聲揚聲器1154和第二立體聲揚聲器1156耦合到音頻放大器1152。圖11展示麥克風 放大器1158也可耦合到立體聲音頻CODEC 1150。另外,麥克風1160可耦合到麥克風 放大器1158。在特定實施例中,調頻(FM)收音機調諧器1162可耦合到立體聲音頻 CODEC 1150。而且,FM天線1164耦合到FM收音機調諧器1162。此外,立體聲耳機 1166可耦合到立體聲音頻CODEC 1150。
圖11進一步指示射頻(RF)收發(fā)器1168可耦合到模擬基帶處理器1126。 RF開關 1170可耦合到RF收發(fā)器1168和RF天線1172。如圖11中所示,小鍵盤1174可耦合到 模擬基帶處理器1126。而且具有麥克風1176的單聲道送受話器可耦合到模擬基帶處理 器1126。此外,振動器裝置1178可耦合到模擬基帶處理器1126。圖11還展示電源1180 可耦合到芯片上系統1122。在特定實施例中,電源1180是直流(DC)電源,其將功率 提供給蜂窩式電話1120中需要功率的各種組件。此外,在特定實施例中,電源是可再 充電DC電池或DC電源,其是從連接到AC電源的交流(AC)到DC變壓器得到的。
在特定實施例中,如圖ll中所描繪,觸摸屏顯示器1132、視頻端口1138、 USB端 口 1142、相機1148、第一立體聲揚聲器1154、第二立體聲揚聲器1156、麥克風、FM 天線1164、立體聲耳機1166、 RF開關1170、 RF天線1172、小鍵盤1174、單聲道送受 話器1176、振動器1178和電源1180處于芯片上系統1122的外部。另外,在特定實施 例中,數字基帶處理器1124可使用本文所描述的交錯多線程,以便處理與和蜂窩式電 話1120相關聯的不同組件中的一者或一者以上相關聯的各種程序線程。
參看圖12,展示無線因特網協議(IP)電話的示范性、非限制性實施例,且一般指
定為1200。如所示,無線IP電話1200包含芯片上系統1202,所述芯片上系統1202包含數字信號處理器(DSP) 1204。在特定實施例中,DSP 1204為圖1中所展示和本文所 描述的處理器。如圖12中所說明,DSP 1204包含用于標量操作和向量操作的經組合斷 言寄存器1290。在特定實施例中,比較操作將結果存儲在經組合斷言寄存器12卯中, 且條件操作(例如)在上文所描述的向量MUX指令中將所述存儲的比較結果用作條件 位。如圖12中所說明,顯示器控制器1206耦合到DSP 1204,且顯示器1208耦合到顯 示器控制器1206。在示范性實施例中,顯示器1208為液晶顯示器(LCD)。圖12進一 步展示小鍵盤1210可耦合到DSP 1204。
如圖12中進一步描繪,快閃存儲器1212可耦合到DSP 1204。同步動態(tài)隨機存取存 儲器(SDRAM) 1214、靜態(tài)隨機存取存儲器(SRAM) 1216和電可擦除可編程只讀存 儲器(EEPROM) 1218也可耦合到DSP 1204。圖12還展示發(fā)光二極管(LED) 1220可 耦合到DSP 1204。另外,在特定實施例中,語音CODEC 1222可耦合到DSP 1204。放 大器1224可耦合到語音CODEC 1222,且單聲道揚聲器1226可耦合到放大器1224。圖 12進一步指示單聲道送受話器1228也可耦合到語音CODEC 1222。在特定實施例中, 單聲道送受話器1228包含麥克風。
圖12還說明無線局域網(WLAN)基帶處理器1230可耦合到DSP 1204。 RF收發(fā) 器1232可耦合到WLAN基帶處理器1230,且RF天線1234可耦合到RF收發(fā)器1232。 在特定實施例中,藍牙控制器1236也可耦合到DSP 1204,且藍牙天線1238可耦合到控 制器1236。圖12還展示USB端口 1240也可耦合到DSP 1204。另外,電源1242耦合 到芯片上系統1202,且經由芯片上系統1202向無線IP電話1200的各種組件提供功率。
在特定實施例中,如圖12中所指示,顯示器1208、小鍵盤1210、 LED 1220、單聲 道揚聲器1226、單聲道送受話器1228、 RF天線1234、藍牙天線1238、 USB端口 1240 和電源1242處于芯片上系統1202的外部。然而,這些組件中的每一者均耦合到芯片上 系統的一個或一個以上組件。此外,在特定實施例中,數字信號處理器1204可使用如 本文所描述的交錯多線程,以便處理與和IP電話1200相關聯的不同組件中的一者或一 者以上相關聯的各種程序線程。
圖13說明一般指定為1300的便攜式數字助理(PDA)的示范性、非限制性實施例。
如所示,PDA 1300包含芯片上系統1302,所述芯片上系統1302包含數字信號處理器
(DSP) 1304。在特定實施例中,DSP 1304為圖1中所展示和本文所描述的處理器。如
圖13中所說明,DSP 1304包含用于標量操作和向量操作的經組合斷言寄存器1390。在
特定實施例中,比較操作將結果存儲在經組合斷言寄存器1390中,且條件操作(例如)
在上文所描述的向量MUX指令中將所述存儲的比較結果用作條件位。如圖13中所描繪,觸摸屏控制器1306和顯示器控制器1308耦合到DSP 1304。此外,觸摸屏顯示器耦合到 觸摸屏控制器1306且耦合到顯示器控制器1308。圖13還指示小鍵盤1312可耦合到DSP 1304。
如圖13中進一步描繪,快閃存儲器1314可耦合到DSP 1304。而且,只讀存儲器 (ROM) 1316、動態(tài)隨機存取存儲器(DRAM) 1318和電可擦除可編程只讀存儲器 (EEPROM) 1320可耦合到DSP 1304。圖13還展示紅外數據協會(IrDA)端口 13^2可 耦合到DSP 1304。另外,在特定實施例中,數碼相機1324可耦合到DSP 1304。
如圖13中所展示,在特定實施例中,立體聲音頻CODEC 1326可耦合到DSP 1304。 第一立體聲放大器1328可耦合到立體聲音頻CODEC 1326,且第一立體聲揚聲器1330 可耦合到第一立體聲放大器1328。另外,麥克風放大器1332可耦合到立體聲音頻CODEC 1326,且麥克風1334可耦合到麥克風放大器1332。圖13進一步展示第二立體聲放大器 1336可耦合到立體聲音頻CODEC 1326,且第二立體聲揚聲器1338可耦合到第二立體 聲放大器1336。在特定實施例中,立體聲耳機1340也可耦合到立體聲音頻CODEC 1326。
圖13還說明802.11控制器1342可耦合到DSP 1304,且802.11天線1344可耦合到 802.11控制器1342。另外,藍牙控制器1346可耦合到DSP 1304,且藍牙天線1348可 耦合到藍牙控制器1346。如圖13中所描繪,USB控制器1350可耦合到DSP 1304^且 USB端口 1352可耦合到USB控制器1350。另夕卜,智能卡1354(例如,多媒體卡(MMC) 或安全數字卡(SD))可耦合到DSP 1304。此外,如圖13中所展示,電源1356可耦合 到芯片上系統1302,且可經由芯片上系統1302向PDA 1300的各種組件提供功率。
在特定實施例中,如圖13中所指示,顯示器1310、小鍵盤1312、 IrDA端口i;322、 數碼相機1324、第一立體聲揚聲器1330、麥克風1334、第二立體聲揚聲器1338、立體 聲耳機1340、 802.11天線1344、藍牙天線1348、 USB端口 1352和電源1350處于芯片 上系統1302的外部。然而,這些組件中的每一者均耦合到芯片上系統上的一個或一個 以上組件。另外,在特定實施例中,數字信號處理器1304可使用本文所描述的交錯多 線程,以便處理與和便攜式數字助理1300相關聯的不同組件中的一者或一者以上相關 聯的各種程序線程。
參看圖14,其展示音頻文件播放器(例如,移動圖片專家組音頻層-3 (MP3)播放
器)的示范性、非限制性實施例,且一般指定為1400。如所示,音頻文件播放器1400
包含芯片上系統1402,所述芯片上系統1402包含數字信號處理器(DSP) 1404。在特
定實施例中,DSP 1404為圖1中所展示和本文所描述的處理器。如圖14中所說明,DSP
1404包含用于標量操作和向量操作的經組合斷言寄存器1490。在特定實施例中,比較
18操作將結果存儲在經組合斷言寄存器1490中,且條件操作(例如)在上文所描述的向 暈MUX指令中將所述存儲的比較結果用作條件位。如圖14中所說明,顯示器控制器 1406耦合到DSP 1404,且顯示器1408耦合到顯示器控制器1406。在示范性實施桐中, 顯示器1408為液晶顯示器(LCD)。圖14進一步展示小鍵盤1410可耦合到DSP 1404。
如在圖14中進一步描繪,快閃存儲器1412和只讀存儲器(ROM) 1414可耦合到 DSP 1404。另外,在特定實施例中,音頻CODEC 1416可耦合到DSP 1404。放大器1418 可耦合到音頻CODEC 1416,且單聲道揚聲器1420可耦合到放大器1418。圖14進一步 指示麥克風輸入1422和立體聲輸入1424也可耦合到音頻CODEC 1416。在特定實施例 中,立體聲耳機1426也可耦合到音頻CODEC 1416。
圖14還指示USB端口 1428和智能卡1430可耦合到DSP 1404。另外,電源1432 可耦合到芯片上系統1402,且可經由芯片上系統1402向音頻文件播放器1400的各種組 件提供功率。
在特定實施例中,如圖14中所指示,顯示器1408、小鍵盤1410、單聲道揚聲器1420、 麥克風輸入1422、立體聲輸入1424、立體聲耳機1426、 USB端口 1428和電源1432處
于芯片上系統1402的外部。然而,這些組件中的每一者均耦合到芯片上系統上的一個 或一個以上組件。而且,在特定實施例中,數字信號處理器1404可使用本文所描述的 交錯多線程,以便處理與和音頻文件播放器1400相關聯的不同組件中的一者或一者以 上相關聯的各種程序線程。
本文所描述的系統和方法提供減少的復雜性、成本和功率使用。舉例來說,讓相同 的斷言寄存器針對標量操作和向量操作兩者進行操作即會通過減少所需斷言寄存器的 數目而減少處理器的成本和復雜性。而且,具有單獨的斷言寄存器堆而不是使用通用寄 存器減少了處理器的成本、復雜性和所消耗的功率。另外,本文所描述的系統和方法提 供改進的性能。
所屬領域的技術人員將進一步了解,可將結合本文所揭示的實施例而描述的各種說
明性邏輯區(qū)塊、配置、模塊、電路和算法步驟實施為電子硬件、計算機軟件或兩者的組
合。為清楚地說明硬件和軟件的此互換性,已根據其功能性在上文中大體上描述了各種
說明性組件、區(qū)塊、配置、模塊、電路和步驟。將此功能性實施為硬件還是軟件取決于
特定應用和強加于整個系統的設計約束。對于每一特定應用,所屬領域的技術人員可以
變化的方式實施所描述的功能性,但不應將此些實施方案解釋為導致脫離本發(fā)明的范
圍。
結合本文所揭示的實施例而描述的方法或算法的步驟可直接包含在硬件中、由處理器執(zhí)行的軟件中,或兩者的組合中。軟件模塊可駐留在RAM存儲器、快閃存儲器、ROM 存儲器、PROM存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬盤、可移哮盤、 CD-ROM,或此項技術中己知的任何其它形式的存儲媒體中。示范性存儲媒體耦合到處 理器,使得處理器可從存儲媒體讀取信息和將信息寫入到存儲媒體。在替代方案中,存 儲媒體可與處理器成一體。處理器和存儲媒體可駐留在ASIC中。ASIC可駐留于計算裝 置或用戶終端中。在替代方案中,處理器和存儲媒體可作為離散組件駐留于計算裝置或 用戶終端中。 '
提供所揭示實施例的先前描述以使任何所屬領域的技術人員能夠制作或使用本揭 示案。所屬領域的技術人員將容易明白對這些實施例的各種修改,且在不脫離本揭示案 的精神或范圍的情況下,可將本文中所界定的一般原理應用于其它實施例。因此,并不 希望將本揭示案限于本文中所示的實施例,而是,將賦予其與所附權利要求書所界定的 原理和新穎特征一致的最廣泛范圍。
權利要求
1. 一種處理器裝置,其包括控制寄存器,其包含用于標量和向量操作的經組合條件碼寄存器;以及至少一個指令執(zhí)行單元,其用以執(zhí)行標量和向量指令,所述標量和向量指令兩者均利用所述經組合條件碼寄存器。
2. 根據權利要求1所述的處理器,其進一步包括存儲器單元;定序器,其響應于所述存儲器單元;且 其中所述至少一個指令執(zhí)行單元響應于所述定序器。
3. 根據權利要求2所述的處理器,其中所述存儲器單元包含-用于利用所述經組合條件碼寄存器的標量操作的指令;以及 用于利用所述經組合條件碼寄存器的向量操作的指令。
4. 根據權利要求3所述的處理器,其中所述標量操作為標量比較操作。
5. 根據權利要求3所述的處理器,其中所述向量操作為向量比較操作。
6. 根據權利要求2所述的處理器,其進一步包括用于標量和向量操作的四個8位經組 合條件碼寄存器。
7. 根據權利要求3所述的處理器,其中所述標量操作是基于所述經組合條件碼寄存器 而有條件地執(zhí)行的。
8. 根據權利要求3所述的處理器,其中所述標量操作將所述經組合條件碼寄存器用作 輸入。
9. 根據權利要求3所述的處理器,其中向量操作是基于所述經組合條件碼寄存器而有 條件地執(zhí)行的。
10. 根據權利要求1所述的處理器,其中向量比較操作使用所述經組合條件碼寄存器來 存儲向量比較操作的結果。
11. 根據權利要求IO所述的處理器,其中所述向量操作為64位向量多路復用器指令, 且所述經組合條件碼寄存器為8位寄存器。
12. 根據權利要求3所述的處理器,其中所述向量操作是將每一元素結果復制到四個經 組合條件碼寄存器位的字比較操作。
13. 根據權利要求2所述的處理器,其中可使用用于向量操作的指令來取代循環(huán)算法。
14. 根據權利要求l所述的處理器,其中所述控制寄存器包含循環(huán)寄存器、變址寄存器、 用戶狀態(tài)寄存器、程序計數器寄存器,和用戶通用指針寄存器。
15. 根據權利要求6所述的處理器,其中利用多線程來處理與程序線程相關聯的指令以 執(zhí)行并發(fā)操作。
16. 根據權利要求6所述的處理器,其中利用管線化來處理指令。
17. 根據權利要求6所述的處理器,其中所述至少一個指令執(zhí)行單元對字節(jié)、半字、字 和雙字執(zhí)行操作。
18. —種處理數據的方法,其包括-使用經組合標量和向量條件碼寄存器來執(zhí)行用于比較操作的指令;以及 使用所述經組合標量和向量條件碼寄存器來執(zhí)行用于條件操作的指令。
19. 根據權利要求18所述的方法,其中所述比較操作是標量比較操作。
20. 根據權利要求19所述的方法,其進一步包括在指令執(zhí)行單元處接收用于標量比較操作的指令;以及 將所述標量比較操作的結果存儲在所述經組合標量和向量條件碼寄存器中。
21. 根據權利要求18所述的方法,其中所述條件操作是標量條件操作。
22. 根據權利要求21所述的方法,其進一步包括在指令執(zhí)行單元處接收用于標量條件操作的指令;評估來自所述經組合標量和向量條件碼寄存器的至少一個條件碼位; 確定是否應執(zhí)行所述用于所述標量條件操作的指令;以及依據所述確定,將所述標量條件操作的結果存儲在寄存器中。
23. 根據權利要求18所述的方法,其中所述比較操作是向量比較操作。
24. 根據權利要求23所述的方法,其進一步包括在指令執(zhí)行單元處接收用于向量比較操作的指令;以及將所述向量比較操作的結果存儲在所述經組合標量和向量條件碼寄存器中。
25. 根據權利要求18所述的方法,其中所述條件操作是向量條件操作。
26. 根據權利要求25所述的方法,其進一步包括在指令執(zhí)行單元處接收用于向量條件操作的指令;利用來自所述經組合標量和向量條件碼寄存器的至少一個條件碼位,其中在所述 向量條件操作中使用所述利用的位;以及 將所述向量條件操作的結果存儲在寄存器中。
27. 根據權利要求19所述的方法,其中所述條件操作是向暈條件操作。
28. —種用于處理器的指令集,其包括用于使用經組合條件碼寄存器來執(zhí)行標量操作的指令;以及 用于使用所述經組合條件碼寄存器來執(zhí)行向量操作的指令。
29. 根據權利要求28所述的指令集,其中所述用于執(zhí)行所述標量操作的指令是標量比 較操作。
30. 根據權利要求28所述的指令集,其中所述用于執(zhí)行所述標量操作的指令是標量條件操作。
31. 根據權利要求28所述的指令集,其中所述用于執(zhí)行所述向量操作的指令是向量比較操作。
32. 根據權利要求28所述的指令集,其中所述用于執(zhí)行所述向量操作的指令是向量條 件操作。
33. —種處理器,其包括經組合條件碼寄存器,其用于標量和向量操作;以及執(zhí)行單元,其用以執(zhí)行適合于標量和向量條件操作的向量多路復用器操作。
34. —種無線通信裝置,其包括天線;收發(fā)器,其可操作地連接到所述天線; ' 存儲器單元;以及數字信號處理器,其耦合到所述存儲器單元且響應于所述收發(fā)器;其中所述數字信號處理器包含控制寄存器,其包含用于標量和向量操作的經組合條件碼寄存器;以及 至少一個指令執(zhí)行單元,其用以執(zhí)行標量和向量指令,所述標量和向量指令兩者均利用所述經組合條件碼寄存器。
35. 根據權利要求34所述的便攜式通信裝置,其進一步包括語音編碼器/解碼器(CODEC),其耦合到所述數字信號處理器; 藍牙控制器,其耦合到所述數字信號處理器; 藍牙天線,其耦合到所述藍牙控制器;無線局域網媒體接入控制(WLAN MAC)基帶處理器,其耦合到所述數字信號 處理器。
36. 根據權利要求34所述的便攜式通信裝置,其進一步包括立體聲編碼器/解碼器(CODEC),其耦合到所述數字信號處理器;,802.11控制器,其耦合到所述數字信號處理器; 802.11天線,其耦合到所述802.11控制器; 藍牙控制器,其耦合到所述數字信號處理器; 藍牙天線,其耦合到所述藍牙控制器;通用串行總線(USB)控制器,其耦合到所述數字信號處理器;以及 USB端口,其耦合到所述USB控制器。
37. —種音頻文件播放器,其包括數字信號處理器;音頻編碼器/解碼器(CODEC),其耦合到所述數字信號處理器; 多媒體卡,其耦合到所述數字信號處理器;通用串行總線(USB)端口,其耦合到所述數字信號處理器;且其中所述數字信號處理器包含控制寄存器,其包含用于標量和向量操作的經組合條件碼寄存器;以及 至少一個指令執(zhí)行單元,其用以執(zhí)行標量和向量指令,所述標量和向量指令兩者均利用所述經組合條件碼寄存器。
38. —種處理器裝置,其包括用于執(zhí)行用于執(zhí)行利用經組合條件碼寄存器的標量操作的指令的裝置;以及用于執(zhí)行用于執(zhí)行利用所述經組合條件碼寄存器的向量操作的指令的裝置。
全文摘要
本發(fā)明揭示一種處理器裝置,其包含具有用于標量和向量操作的經組合條件碼寄存器的寄存器堆。所述處理器裝置利用所述經組合條件碼寄存器來進行標量和向量操作。此外,比較操作可將所得位存儲在所述經組合條件碼寄存器中,且條件操作可利用所述經組合條件碼寄存器位來評估條件。
文檔編號G06F9/32GK101501634SQ200780030183
公開日2009年8月5日 申請日期2007年8月15日 優(yōu)先權日2006年8月18日
發(fā)明者盧奇安·科德雷斯庫, 埃里克·普隆德克, 泰勒·辛普森 申請人:高通股份有限公司