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