亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

用以執(zhí)行快速旋轉(zhuǎn)運(yùn)算的系統(tǒng)及方法

文檔序號(hào):6593986閱讀:243來(lái)源:國(guó)知局
專利名稱:用以執(zhí)行快速旋轉(zhuǎn)運(yùn)算的系統(tǒng)及方法
技術(shù)領(lǐng)域
本發(fā)明大體上涉及執(zhí)行快速旋轉(zhuǎn)運(yùn)算。
背景技術(shù)
技術(shù)上的進(jìn)步已產(chǎn)生更小且更強(qiáng)大的計(jì)算裝置。舉例來(lái)說(shuō),當(dāng)前存在各種各樣的 便攜型個(gè)人計(jì)算裝置,包括無(wú)線計(jì)算裝置,例如,小巧、輕便且易于由用戶攜帶的便攜型無(wú) 線電話、個(gè)人數(shù)字助理(PDA)及尋呼裝置。更具體地說(shuō),例如蜂窩式電話及IP電話的便攜 型無(wú)線電話可經(jīng)由無(wú)線網(wǎng)絡(luò)傳達(dá)語(yǔ)音及數(shù)據(jù)包。接收經(jīng)由無(wú)線鏈路傳達(dá)的數(shù)據(jù)包括數(shù)據(jù)解碼功能。數(shù)據(jù)解碼功能可涉及使用乘法 運(yùn)算的一個(gè)或一個(gè)以上向量旋轉(zhuǎn)運(yùn)算。舉例來(lái)說(shuō),可將無(wú)線數(shù)據(jù)編碼為包括具有復(fù)值的向 量(例如,同相分量及正交分量)之間的角位移的一系列符號(hào)。從這些符號(hào)中檢索數(shù)據(jù)可 能需要旋轉(zhuǎn)向量(例如)以補(bǔ)償在解碼期間累積的相位。這些向量運(yùn)算可能會(huì)消耗有限的 處理資源,尤其在便攜型裝置處。

發(fā)明內(nèi)容
揭示執(zhí)行快速向量旋轉(zhuǎn)運(yùn)算的系統(tǒng)及方法。可按經(jīng)由一個(gè)或一個(gè)以上控制值指定 的旋轉(zhuǎn)度或角位移圍繞坐標(biāo)原點(diǎn)旋轉(zhuǎn)由端點(diǎn)坐標(biāo)數(shù)據(jù)識(shí)別的向量。所揭示的實(shí)施例可結(jié)合 編碼或解碼無(wú)線數(shù)據(jù)(例如,在調(diào)制解調(diào)器裝置或處理器處)或結(jié)合其它應(yīng)用而操作。在特定實(shí)施例中,揭示一種包括在處理器處執(zhí)行單一向量旋轉(zhuǎn)指令的方法。單一 向量旋轉(zhuǎn)指令包括接收指示第一坐標(biāo)及第二坐標(biāo)的第一數(shù)據(jù)、接收指示選自九十度倍數(shù)集 合的第一旋轉(zhuǎn)值的第一控制值及將輸出數(shù)據(jù)寫入到數(shù)據(jù)存儲(chǔ)元件,其中所述輸出數(shù)據(jù)對(duì)應(yīng) 于按所述第一旋轉(zhuǎn)值旋轉(zhuǎn)的所述第一數(shù)據(jù)。在另一特定實(shí)施例中,揭示一種處理器,其包括用以響應(yīng)于控制值選擇性地交換 第一坐標(biāo)數(shù)據(jù)與第二坐標(biāo)數(shù)據(jù)的裝置。所述處理器還包括用以對(duì)所述第一坐標(biāo)數(shù)據(jù)求反以 產(chǎn)生第一經(jīng)求反的坐標(biāo)數(shù)據(jù)及對(duì)所述第二坐標(biāo)數(shù)據(jù)求反以產(chǎn)生第二經(jīng)求反的坐標(biāo)數(shù)據(jù)的 裝置。所述處理器進(jìn)一步包括用以響應(yīng)于所述控制值選擇性地輸出所述第一坐標(biāo)數(shù)據(jù)或所 述第一經(jīng)求反的坐標(biāo)數(shù)據(jù)及選擇性地輸出所述第二坐標(biāo)數(shù)據(jù)或所述第二經(jīng)求反的坐標(biāo)數(shù) 據(jù)的裝置。所述控制值指示由所述第一坐標(biāo)數(shù)據(jù)及所述第二坐標(biāo)數(shù)據(jù)表示的向量的旋轉(zhuǎn) 度。在特定實(shí)施例中,揭示一種系統(tǒng),其包括調(diào)制解調(diào)器,所述調(diào)制解調(diào)器適于執(zhí)行快 速向量旋轉(zhuǎn)運(yùn)算。所述系統(tǒng)包括收發(fā)器,所述收發(fā)器經(jīng)配置以耦合到天線。所述調(diào)制解調(diào)器 經(jīng)耦合以從所述收發(fā)器接收無(wú)線信號(hào)數(shù)據(jù)。所述無(wú)線信號(hào)數(shù)據(jù)包括可對(duì)應(yīng)于坐標(biāo)位置(例 如,向量端點(diǎn)的位置)的符號(hào)數(shù)據(jù)。調(diào)制解調(diào)器包括縱橫制裝置,所述縱橫制裝置經(jīng)配置以 響應(yīng)于控制值選擇性地交換與所述符號(hào)數(shù)據(jù)相關(guān)聯(lián)的第一坐標(biāo)數(shù)據(jù)與第二坐標(biāo)數(shù)據(jù)。所述 調(diào)制解調(diào)器還包括向量加法器裝置,所述向量加法器裝置經(jīng)配置以對(duì)所述縱橫制裝置的輸 出求反。所述調(diào)制解調(diào)器進(jìn)一步包括多路復(fù)用器,所述多路復(fù)用器經(jīng)耦合以響應(yīng)于所述控制值選擇性地輸出所述向量加法器裝置的輸出或所述縱橫制裝置的輸出。所述控制值指示 由所述第一坐標(biāo)數(shù)據(jù)及所述第二坐標(biāo)數(shù)據(jù)表示的第一向量的旋轉(zhuǎn)度。在另一特定實(shí)施例中,揭示一種可由處理器執(zhí)行以在單一執(zhí)行循環(huán)中執(zhí)行向量旋 轉(zhuǎn)的處理器指令。所述處理器指令包括指令名及包括第一坐標(biāo)及第二坐標(biāo)的第一字段。所 述處理器指令還包括第二字段,所述第二字段包括指示旋轉(zhuǎn)所述第一及第二坐標(biāo)數(shù)據(jù)的第 一量的第一控制值。在所述處理器指令的執(zhí)行后,所述處理器即刻將經(jīng)旋轉(zhuǎn)的數(shù)據(jù)存儲(chǔ)到 存儲(chǔ)器中。所述經(jīng)旋轉(zhuǎn)的數(shù)據(jù)對(duì)應(yīng)于按由所述第一控制值指示的所述第一量旋轉(zhuǎn)的所述第 一及第二坐標(biāo)數(shù)據(jù)。由所揭示的實(shí)施例提供的一個(gè)特定優(yōu)勢(shì)為由快速向量旋轉(zhuǎn)運(yùn)算實(shí)現(xiàn)的無(wú)線數(shù)據(jù) 的較高速解碼。在審閱整個(gè)申請(qǐng)案之后,本發(fā)明的其它方面、優(yōu)勢(shì)及特征將變得顯而易見, 整個(gè)申請(qǐng)案包括以下部分“


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

圖1為經(jīng)配置以執(zhí)行快速向量旋轉(zhuǎn)運(yùn)算的便攜型通信裝置的特定說(shuō)明性實(shí)施例 的框圖;圖2為用以執(zhí)行快速向量旋轉(zhuǎn)指令的系統(tǒng)的特定說(shuō)明性實(shí)施例的框圖;圖3為用以執(zhí)行向量坐標(biāo)旋轉(zhuǎn)的系統(tǒng)的第一說(shuō)明性實(shí)施例的框圖;圖4為用以產(chǎn)生快速向量旋轉(zhuǎn)運(yùn)算的系統(tǒng)的特定說(shuō)明性實(shí)施例的框圖;圖5為用以執(zhí)行向量坐標(biāo)旋轉(zhuǎn)的系統(tǒng)的第二說(shuō)明性實(shí)施例的框圖;圖6為向量坐標(biāo)旋轉(zhuǎn)系統(tǒng)的第一說(shuō)明性實(shí)施例的數(shù)據(jù)流程圖;圖7為向量坐標(biāo)旋轉(zhuǎn)系統(tǒng)的第二說(shuō)明性實(shí)施例的數(shù)據(jù)流程圖;圖8為用以執(zhí)行快速向量旋轉(zhuǎn)運(yùn)算的方法的第一說(shuō)明性實(shí)施例的流程圖;及圖9為用以執(zhí)行快速向量旋轉(zhuǎn)運(yùn)算的方法的第二說(shuō)明性實(shí)施例的流程圖。
具體實(shí)施例方式參看圖1,其描繪經(jīng)配置以執(zhí)行快速向量旋轉(zhuǎn)運(yùn)算的電子裝置的特定說(shuō)明性實(shí)施 例的框圖且將其大體表示為100。裝置100包括處理器(例如,數(shù)字信號(hào)處理器(DSP) 110), 所述處理器耦合到存儲(chǔ)器132且還耦合到經(jīng)配置以執(zhí)行快速向量旋轉(zhuǎn)運(yùn)算190的調(diào)制解調(diào) 器 140。圖1還展示顯示器控制器126,其耦合到數(shù)字信號(hào)處理器110及耦合到顯示器 128。編碼器/解碼器(CODEC) 134還可耦合到數(shù)字信號(hào)處理器110。揚(yáng)聲器136及麥克風(fēng) 138可耦合到CODEC 134。調(diào)制解調(diào)器140可耦合到收發(fā)器146。收發(fā)器146可經(jīng)配置以耦合到無(wú)線天線 142。收發(fā)器146可經(jīng)配置以產(chǎn)生對(duì)應(yīng)于當(dāng)收發(fā)器146耦合到天線142時(shí)接收的無(wú)線信號(hào) 的坐標(biāo)數(shù)據(jù)(例如,符號(hào)相位數(shù)據(jù))。調(diào)制解調(diào)器140經(jīng)配置以將快速向量旋轉(zhuǎn)運(yùn)算190應(yīng) 用到從收發(fā)器146接收的坐標(biāo)數(shù)據(jù),作為用以從無(wú)線信號(hào)中檢索經(jīng)編碼數(shù)據(jù)的解碼過(guò)程的 一部分。舉例來(lái)說(shuō),符號(hào)相位數(shù)據(jù)可表達(dá)為具有在坐標(biāo)原點(diǎn)處的一端的向量(例如,在(X, y)坐標(biāo)系統(tǒng)中的坐標(biāo)(0,0)),且可由向量的另一端的坐標(biāo)描述(例如,在從正χ軸四十五度角度處的向量的坐標(biāo)(1,1))。作為說(shuō)明性實(shí)例,在坐標(biāo)平面內(nèi)按九十度的旋轉(zhuǎn)度(即, 角位移)執(zhí)行(1,1)向量的向量旋轉(zhuǎn)產(chǎn)生經(jīng)旋轉(zhuǎn)的向量(_1,1)。按一百八十度執(zhí)行(1,1) 向量的向量旋轉(zhuǎn)產(chǎn)生經(jīng)旋轉(zhuǎn)的向量(_1,_1)。按二百七十度執(zhí)行(1,1)向量的向量旋轉(zhuǎn)產(chǎn) 生經(jīng)旋轉(zhuǎn)的向量(1,_1)。在特定實(shí)施例中,DSP 110、顯示器控制器126、存儲(chǔ)器132、CODEC 134、調(diào)制解調(diào) 器140及收發(fā)器146包括于系統(tǒng)級(jí)封裝或芯片上系統(tǒng)裝置122中。在特定實(shí)施例中,輸入 裝置130及電源144耦合到芯片上系統(tǒng)裝置122。此外,在特定實(shí)施例中,如圖1中說(shuō)明,顯 示器128、輸入裝置130、揚(yáng)聲器136、麥克風(fēng)138、無(wú)線天線142及電源144在芯片上系統(tǒng)裝 置122外部。然而,顯示器128、輸入裝置130、揚(yáng)聲器136、麥克風(fēng)138、無(wú)線天線142及電 源144中的每一者可耦合到芯片上系統(tǒng)裝置122的組件(例如,接口或控制器)。在操作期間,可在天線142處接收包括經(jīng)編碼數(shù)據(jù)的無(wú)線信號(hào),且可經(jīng)由收發(fā)器 146將對(duì)應(yīng)坐標(biāo)數(shù)據(jù)提供到調(diào)制解調(diào)器140。舉例來(lái)說(shuō),坐標(biāo)數(shù)據(jù)可表示向量的X及Y坐 標(biāo)。調(diào)制解調(diào)器140可使用快速向量旋轉(zhuǎn)運(yùn)算190實(shí)施坐標(biāo)數(shù)據(jù)的旋轉(zhuǎn)作為解碼過(guò)程的一 部分。快速向量旋轉(zhuǎn)運(yùn)算190可實(shí)現(xiàn)調(diào)制解調(diào)器140的每一處理循環(huán)的多個(gè)坐標(biāo)旋轉(zhuǎn),從 而實(shí)現(xiàn)數(shù)據(jù)的高速解碼。此外,快速向量旋轉(zhuǎn)運(yùn)算190可使坐標(biāo)旋轉(zhuǎn)能夠在不使用乘法或 表查找的情況下執(zhí)行,從而減少了解碼過(guò)程的功率消耗。在特定實(shí)施例中,調(diào)制解調(diào)器140包括管線式處理器,所述管線式處理器經(jīng)配置 以執(zhí)行執(zhí)行快速向量旋轉(zhuǎn)運(yùn)算190以在單一處理器執(zhí)行循環(huán)期間執(zhí)行多個(gè)向量坐標(biāo)旋轉(zhuǎn) 的指令。舉例來(lái)說(shuō),調(diào)制解調(diào)器140可從收發(fā)器146接收包括符號(hào)數(shù)據(jù)的無(wú)線信號(hào)數(shù)據(jù),符 號(hào)數(shù)據(jù)包括由第一坐標(biāo)識(shí)別的第一向量及由第二坐標(biāo)識(shí)別的第二向量。調(diào)制解調(diào)器140可 經(jīng)配置以通過(guò)執(zhí)行單一處理器指令而在單一執(zhí)行循環(huán)期間執(zhí)行對(duì)第一向量及對(duì)第二向量 的同時(shí)旋轉(zhuǎn)運(yùn)算。舉例來(lái)說(shuō),在說(shuō)明性實(shí)施例中,調(diào)制解調(diào)器140包括管線式處理器,所述管線式處 理器具有包括圖4的系統(tǒng)400的執(zhí)行單元,即,包括縱橫制裝置,其經(jīng)配置以響應(yīng)于控制值 選擇性地交換第一向量的第一坐標(biāo)數(shù)據(jù)與第二坐標(biāo)數(shù)據(jù);向量加法器裝置,其經(jīng)配置以對(duì) 所述縱橫制裝置的輸出求反;及多路復(fù)用器,其經(jīng)耦合以響應(yīng)于所述控制值選擇性地輸出 所述向量加法器裝置的輸出或所述縱橫制裝置的輸出??刂浦悼芍甘居傻谝蛔鴺?biāo)數(shù)據(jù)及第 二坐標(biāo)數(shù)據(jù)表示的第一向量的所要旋轉(zhuǎn)度(例如,九十度的倍數(shù))。在特定實(shí)施例中,調(diào)制解調(diào)器140可不包括專用硬件組件及電路,且可替代地為 在處理器110處執(zhí)行的調(diào)制解調(diào)器應(yīng)用(例如,交錯(cuò)的多線程管線式處理器的處理線程), 其中快速向量旋轉(zhuǎn)運(yùn)算190經(jīng)執(zhí)行以在處理器110的單一處理循環(huán)期間執(zhí)行多個(gè)向量坐標(biāo) 旋轉(zhuǎn)。在又一實(shí)施例中,快速向量旋轉(zhuǎn)運(yùn)算190可由專用硬件、固件、一個(gè)或一個(gè)以上其它 處理器或其任何組合執(zhí)行。參看圖2,其描繪用以執(zhí)行快速向量旋轉(zhuǎn)運(yùn)算指令的系統(tǒng)且將其大體表示為200。 系統(tǒng)200包括處理器202,處理器202包括寄存器堆204。處理器202經(jīng)配置以接收旋轉(zhuǎn)指 令206。在特定實(shí)施例中,系統(tǒng)200包括于圖1的調(diào)制解調(diào)器140中,且旋轉(zhuǎn)指令206對(duì)應(yīng) 于圖1中描繪的快速向量旋轉(zhuǎn)運(yùn)算190的一部分。在特定實(shí)施例中,旋轉(zhuǎn)指令206為可由處理器202執(zhí)行以在單一執(zhí)行循環(huán)中執(zhí)行 向量旋轉(zhuǎn)的處理器指令。旋轉(zhuǎn)指令206包括描繪為名稱!^stRotate (快速旋轉(zhuǎn))的指令名260。旋轉(zhuǎn)指令206還包括第一字段(Rss) 262及第二字段(Rt) 264。旋轉(zhuǎn)指令206將值(例 如,從執(zhí)行向量旋轉(zhuǎn)運(yùn)算產(chǎn)生的經(jīng)旋轉(zhuǎn)的向量)返回到地址(Rdd) 266。在特定實(shí)施例中,第一字段I ss262包括對(duì)應(yīng)于寄存器堆204的第一寄存器208的 地址。第二字段Rt262包括對(duì)應(yīng)于寄存器堆204的第二寄存器222的地址。返回地址Iidd 266對(duì)應(yīng)于寄存器堆204的第三寄存器對(duì)0。在特定實(shí)施例中,處理器202經(jīng)配置以響應(yīng)于接收到旋轉(zhuǎn)指令206而存取第一數(shù) 據(jù)210及第一控制值2 (C1)。第一數(shù)據(jù)210 (例如,第一向量)可包括來(lái)自源寄存器Rss208 的向量的第一坐標(biāo)(Xl)212及第二坐標(biāo)(yi)214。在旋轉(zhuǎn)指令206的執(zhí)行后,處理器202即 刻將經(jīng)旋轉(zhuǎn)的數(shù)據(jù)242存儲(chǔ)到存儲(chǔ)器(例如,寄存器堆204的第三寄存器M0)中。經(jīng)旋轉(zhuǎn) 的數(shù)據(jù)242對(duì)應(yīng)于按由第一控制值2M指示的第一量旋轉(zhuǎn)的第一數(shù)據(jù)210,且可將經(jīng)旋轉(zhuǎn)的 數(shù)據(jù)242作為經(jīng)旋轉(zhuǎn)的坐標(biāo)A 244及B 246的集合存儲(chǔ)于目的地寄存器Rdd 240處。在特 定實(shí)施例中,處理器202包括多個(gè)執(zhí)行單元270及272,其各自可適于在處理器202的單一 處理循環(huán)期間執(zhí)行旋轉(zhuǎn)指令206。在特定實(shí)施例中,處理器202進(jìn)一步經(jīng)配置以在旋轉(zhuǎn)指令206的執(zhí)行后即刻從第 一寄存器208讀取第二數(shù)據(jù)216 (例如,第二向量),第二數(shù)據(jù)216包括第三坐標(biāo)(X2) 218 及第四坐標(biāo)(y2) 220。處理器202可進(jìn)一步經(jīng)配置以從第二寄存器222讀取第二控制值 (C2) 2沈。第二控制值2 指示旋轉(zhuǎn)第二數(shù)據(jù)216的第二量。處理器202可將第二經(jīng)旋轉(zhuǎn)的 數(shù)據(jù)248返回到寄存器堆204的第三寄存器M0。第二經(jīng)旋轉(zhuǎn)的數(shù)據(jù)248包括對(duì)應(yīng)于按由 第二控制值2 指示的第二量旋轉(zhuǎn)的第二數(shù)據(jù)216的經(jīng)旋轉(zhuǎn)的坐標(biāo)數(shù)據(jù),例如,坐標(biāo)C 250 及D 252的集合。在特定實(shí)施例中,處理器202經(jīng)配置以在旋轉(zhuǎn)指令206的執(zhí)行后即刻同時(shí)讀取第 一數(shù)據(jù)210及第二數(shù)據(jù)216。處理器202可進(jìn)一步經(jīng)配置以分別與第一數(shù)據(jù)210及第二數(shù) 據(jù)216同時(shí)讀取第一控制值2M及第二控制值2 兩者。處理器202可經(jīng)配置以根據(jù)第一 控制值2M對(duì)第一數(shù)據(jù)210執(zhí)行第一旋轉(zhuǎn)運(yùn)算以產(chǎn)生經(jīng)旋轉(zhuǎn)的數(shù)據(jù)M2,以及根據(jù)第二控制 值2 對(duì)第二數(shù)據(jù)216執(zhí)行第二旋轉(zhuǎn)以產(chǎn)生第二經(jīng)旋轉(zhuǎn)的數(shù)據(jù)M8。可在具有由旋轉(zhuǎn)指令 206的返回地址266指示的地址的第三寄存器240處將經(jīng)旋轉(zhuǎn)的數(shù)據(jù)242及第二經(jīng)旋轉(zhuǎn)的 數(shù)據(jù)M8同時(shí)寫入到寄存器堆204??墒褂脝我粓?zhí)行單元702或272在單一處理器執(zhí)行循環(huán)中執(zhí)行讀取第一數(shù)據(jù)210、 第二數(shù)據(jù)216、第一控制值2M及第二控制值226以及產(chǎn)生并存儲(chǔ)經(jīng)旋轉(zhuǎn)的數(shù)據(jù)242及第二 經(jīng)旋轉(zhuǎn)的數(shù)據(jù)對(duì)4。因此,系統(tǒng)200使處理器202能夠在處理器202的每一執(zhí)行循環(huán)內(nèi)執(zhí)行 多個(gè)向量旋轉(zhuǎn)。舉例來(lái)說(shuō),作為非限制性說(shuō)明性實(shí)例,第一數(shù)據(jù)210及第二數(shù)據(jù)216可對(duì)應(yīng) 于與在調(diào)制解調(diào)器處從收發(fā)器接收的連續(xù)符號(hào)值相關(guān)聯(lián)的向量(例如,與無(wú)線接收器的正 交解碼循環(huán)有關(guān))。在特定實(shí)施例中,可根據(jù)所說(shuō)明的用于如下指示的偽碼指令vcrotate的旋轉(zhuǎn)邏 輯來(lái)執(zhí)行旋轉(zhuǎn)指令的執(zhí)行Rdd = vcrotate (Rss, Rt)tmp = Rt [1:0];if (tmp == 0) {Rdd. h
= Rss. h
;
Rdd. h[l] = Rss. h[l];}else if (tmp == 1) {Rdd. h
= Rss. h[l];Rdd. h[l] = sat_16 (-Rss. h
);} else if (tmp == 2) {Rdd. h
= sat_16 (-Rss. h [1]);Rdd. h[l] = Rss. h
;}else{Rdd. h
= sat_16 (-Rss. h
);Rdd. h[l] = sat_16 (-Rss. h [1]);};tmp = Rt [3:2];if (tmp == 0) {Rdd. h[2] = Rss. h[2];Rdd. h[3] = Rss. h[3];}else if (tmp == 1) {Rdd. h[2] = Rss. h[3];Rdd. h[3] = sat_16 (-Rss. h [2]);} else if (tmp == 2) {Rdd. h[2] = sat_16 (-Rss. h [3]);Rdd. h[3] = Rss. h[2];}else{Rdd. h[2] = sat_16 (-Rss. h [2]);Rdd. h[3] = sat_16 (-Rss. h [3]);};在以上偽碼中,Rss. h[n]指代源寄存器Rss的第η個(gè)半字。舉例來(lái)說(shuō),Rss可包括 具有四個(gè)十六位半字的六十四位值,所述六十四位值對(duì)應(yīng)于分別在第一半字Rss. h
及 第二半字Rss.h[l]中的第一χ及y數(shù)據(jù),及分別在第三半字Rss. h[2]及第四半字Rss. h[3] 中的第二 χ及y數(shù)據(jù)。Rt指代存儲(chǔ)控制值的寄存器,控制值包括在位[1:0]處的第一旋轉(zhuǎn) 指示符及在位[3:2]處的第二旋轉(zhuǎn)指示符。每一旋轉(zhuǎn)指示符由表示四個(gè)值的集合中的一者 的兩個(gè)位表示?!傲恪笨刂浦当硎玖愣刃D(zhuǎn)。“一”控制值表示負(fù)九十度或二百七十度旋轉(zhuǎn)。 “二”控制值表示九十度旋轉(zhuǎn)。“三”控制值表示一百八十度旋轉(zhuǎn)。函數(shù)sat_16校正從對(duì)零 值求反產(chǎn)生的飽和狀況,且Rdd表示含有四個(gè)十六位半字的目的地寄存器。參看圖3,其描繪用以執(zhí)行坐標(biāo)旋轉(zhuǎn)的系統(tǒng)的第一說(shuō)明性實(shí)施例且將其大體表示 為300。系統(tǒng)300包括用以響應(yīng)于控制值C1 3M選擇性地交換第一坐標(biāo)數(shù)據(jù)& 320與第 二坐標(biāo)數(shù)據(jù)Y1 322的裝置,其經(jīng)說(shuō)明為交換電路302。系統(tǒng)300進(jìn)一步包括用以對(duì)第一坐 標(biāo)數(shù)據(jù)320求反以產(chǎn)生第一經(jīng)求反的坐標(biāo)數(shù)據(jù)及對(duì)第二坐標(biāo)數(shù)據(jù)322求反以產(chǎn)生第二經(jīng)求 反的坐標(biāo)數(shù)據(jù)的裝置,其在圖3中經(jīng)說(shuō)明為求反電路304。系統(tǒng)300還包括用以響應(yīng)于控制 值C1 348選擇性地輸出第一坐標(biāo)數(shù)據(jù)或第一經(jīng)求反的坐標(biāo)數(shù)據(jù)及選擇性地輸出第二坐標(biāo)數(shù)據(jù)或第二經(jīng)求反的坐標(biāo)數(shù)據(jù)的裝置,其經(jīng)描繪為選擇電路308。飽和邏輯電路306耦合到 求反電路304。在特定實(shí)施例中,系統(tǒng)300經(jīng)配置以接收第一坐標(biāo)數(shù)據(jù)320及第二坐標(biāo)數(shù)據(jù)322, 且執(zhí)行由第一坐標(biāo)數(shù)據(jù)320及第二坐標(biāo)數(shù)據(jù)322表示的向量的旋轉(zhuǎn)。舉例來(lái)說(shuō),第一坐標(biāo) 數(shù)據(jù)320可表示向量的X坐標(biāo),且第二坐標(biāo)數(shù)據(jù)322可表示所述向量的Y坐標(biāo)。控制值C1 3M可表示待對(duì)向量應(yīng)用的旋轉(zhuǎn)度。在特定實(shí)施例中,控制值C1指示90度旋轉(zhuǎn)的倍數(shù)。舉 例來(lái)說(shuō),C1可為可經(jīng)設(shè)定為指示0度旋轉(zhuǎn)的第一值、指示90度旋轉(zhuǎn)的第二值、表示180度旋 轉(zhuǎn)的第三值及表示270度旋轉(zhuǎn)的第四值的二位數(shù)據(jù)項(xiàng)。應(yīng)認(rèn)識(shí)到,歸因于旋轉(zhuǎn)的對(duì)稱性,大 于270度的90度的倍數(shù)及小于0度的90度的倍數(shù)等效于本文中描述的倍數(shù)中的一者。在特定實(shí)施例中,交換電路302經(jīng)配置以接收第一坐標(biāo)數(shù)據(jù)320及第二坐標(biāo)數(shù)據(jù) 322,以及控制值324,且輸出第一經(jīng)交換的輸出3 及第二經(jīng)交換的輸出328。第一經(jīng)交 換的輸出3 可響應(yīng)于控制值3M而對(duì)應(yīng)于第一坐標(biāo)數(shù)據(jù)320或第二坐標(biāo)數(shù)據(jù)322。類似 地,第二經(jīng)交換的輸出3 可取決于控制值3M而對(duì)應(yīng)于第一坐標(biāo)數(shù)據(jù)320或第二坐標(biāo)數(shù) 據(jù)322。分別將第一經(jīng)交換的坐標(biāo)數(shù)據(jù)輸出3 及第二經(jīng)交換的坐標(biāo)數(shù)據(jù)輸出3 作為輸 入340及342提供到選擇電路308。還分別將第一交換坐標(biāo)數(shù)據(jù)輸出3 及第二交換坐標(biāo) 數(shù)據(jù)輸出3 作為輸入330及332提供到求反電路304。在特定實(shí)施例中,求反電路304經(jīng)配置以在第一輸入330處接收第一經(jīng)交換的數(shù) 據(jù)3 且將第一經(jīng)交換的數(shù)據(jù)326的求反的值提供到選擇電路308的第一經(jīng)求反的輸入 344。求反電路304進(jìn)一步經(jīng)配置以在第二輸入332處接收第二經(jīng)交換的數(shù)據(jù)3 且將第 二經(jīng)交換的數(shù)據(jù)328的求反的值提供到選擇電路308的第二經(jīng)求反的輸入346。在特定實(shí) 施例中,飽和邏輯電路306經(jīng)配置以校正因求反電路304的運(yùn)算引起的溢出狀況。舉例來(lái) 說(shuō),在某些二進(jìn)制數(shù)表示中,當(dāng)對(duì)“0”值求反時(shí),可能會(huì)將所得負(fù)“0”值翻譯成不正確的結(jié) 果。因此,飽和邏輯電路306經(jīng)配置以檢測(cè)并校正這些負(fù)飽和狀況。在特定實(shí)施例中,選擇電路308經(jīng)配置以在控制輸入348處接收控制值C1,且在第 一坐標(biāo)輸出Xout 350及第二坐標(biāo)輸出Y。ut352處選擇性地輸出對(duì)應(yīng)于按由控制值C1指示的 量旋轉(zhuǎn)的第一坐標(biāo)數(shù)據(jù)320及第二坐標(biāo)數(shù)據(jù)322的值。因此,選擇電路308可在第一交換 坐標(biāo)輸入340處接收第一經(jīng)交換的輸出3 及在第一經(jīng)求反的輸入344處接收第一經(jīng)交換 的輸出3 的經(jīng)求反的值。選擇電路308可選擇性地將在第一交換坐標(biāo)輸入340及第一經(jīng) 求反的輸入344中的一者處接收的值提供到第一坐標(biāo)輸出X。ut 350。此外,選擇電路308可 接收第二交換坐標(biāo)輸入342及第二經(jīng)求反的輸入346,且可選擇性地將在第二交換坐標(biāo)輸 入342及第二經(jīng)求反的輸入346中的一者處接收的值輸出到第二坐標(biāo)輸出Y。ut 352。應(yīng)認(rèn)識(shí)到,第一坐標(biāo)輸出X。ut350及第二坐標(biāo)輸出Y。ut352表示在由第一坐標(biāo)數(shù)據(jù) 320及第二坐標(biāo)數(shù)據(jù)322指示的輸入向量按由控制值C1表示的90度的倍數(shù)旋轉(zhuǎn)后所述輸 入向量的旋轉(zhuǎn)的結(jié)果。在不執(zhí)行表查找的情況下且進(jìn)一步在不執(zhí)行乘法運(yùn)算的情況下產(chǎn)生 從選擇電路308的輸出。實(shí)情為,采用二維向量旋轉(zhuǎn)所固有的對(duì)稱性以使用交換、求反及選 擇電路產(chǎn)生90度的倍數(shù)的旋轉(zhuǎn)。因此,系統(tǒng)300提供快速向量旋轉(zhuǎn)的硬件實(shí)施方案,例如, 可用于圖1中描繪的調(diào)制解調(diào)器140中、圖2中描繪的處理器202的執(zhí)行單元270及272 中的一者或一者以上中、其它調(diào)制解調(diào)器或處理器或其任何組合中。舉例來(lái)說(shuō),系統(tǒng)300可 包括于圖形處理單元中。作為另一實(shí)例,系統(tǒng)300可包括于適于處理調(diào)制解調(diào)器應(yīng)用及圖形應(yīng)用的管線式處理器的執(zhí)行單元中。作為一實(shí)例,系統(tǒng)300可實(shí)施于多線程處理器的執(zhí)行單元中。另外,可將系統(tǒng)300 實(shí)施為管線式處理器的管線執(zhí)行過(guò)程的一部分。舉例來(lái)說(shuō),交換電路302可包括處理器的 多路復(fù)用器、縱橫制裝置、其它開關(guān)裝置或電路或其任何組合中的一者或一者以上。求反電 路304可包括算術(shù)邏輯單元(ALU)、加法器、處理器的適于對(duì)輸入值求反的其它電路或裝置 或其任何組合。選擇電路308可包括處理器的多路復(fù)用器、開關(guān)或適于選擇性地輸出在一 個(gè)或一個(gè)以上輸入處接收的值的其它電路或裝置或其任何組合中的一者或一者以上。參看圖4,其描繪用以產(chǎn)生快速向量旋轉(zhuǎn)運(yùn)算的系統(tǒng)經(jīng)描繪且將其大體表示為 400。系統(tǒng)400包括耦合到縱橫開關(guān)(crossbar) 408的寄存器堆402。縱橫開關(guān)408經(jīng)耦合 以將輸出提供到向量加法器410及到多路復(fù)用器412兩者。向量加法器410將輸出提供到 多路復(fù)用器412。多路復(fù)用器412經(jīng)耦合以將輸出值提供到輸出寄存器414。在特定實(shí)施例中,寄存器堆402包括第一寄存器404及第二寄存器406。第一寄存 器404可包括對(duì)應(yīng)于第一坐標(biāo)Xl422及第二坐標(biāo)yi4M的第一數(shù)據(jù)。第一寄存器堆404還可 包括對(duì)應(yīng)于第三坐標(biāo)&似6及第四坐標(biāo)y2428的第二數(shù)據(jù)。第二寄存器406可存儲(chǔ)第一控 制值Q430及第二控制值C2432。在特定實(shí)施例中,第一寄存器404中的坐標(biāo)數(shù)據(jù)422-4 以及第二寄存器406中的控制值430及432對(duì)應(yīng)于與無(wú)線發(fā)射或在調(diào)制解調(diào)器、處理器或 其任何組合處接收的數(shù)據(jù)相關(guān)聯(lián)的符號(hào)數(shù)據(jù)??v橫開關(guān)408經(jīng)配置以將在第一輸入434處接收的數(shù)據(jù)選擇性地提供到多路復(fù)用 器412的第一輸入446及第二輸入448中的一者??v橫開關(guān)408進(jìn)一步經(jīng)配置以將在第二 輸入436處接收的數(shù)據(jù)選擇性地提供到多路復(fù)用器412的第一輸入446及第二輸入448中 的另一者。類似地,縱橫開關(guān)408經(jīng)配置以將在第三輸入438處接收的數(shù)據(jù)選擇性地提供 到多路復(fù)用器412的第三輸入450及第四輸入452中的一者??v橫開關(guān)408還經(jīng)配置以將 在第四輸入440處接收的數(shù)據(jù)提供到多路復(fù)用器412的第三輸入450及第四輸入452中的 另一者。在特定實(shí)施例中,縱橫開關(guān)408選擇性地確定是否交換對(duì)應(yīng)于第一坐標(biāo)數(shù)據(jù)Xl422 及第二坐標(biāo)數(shù)據(jù)yi424的在第一輸入434及第二輸入436處接收的數(shù)據(jù)值??v橫開關(guān)408 基于在第一控制輸入442處接收的第一控制值Q430選擇性地交換X1與yi??v橫開關(guān)408 進(jìn)一步經(jīng)配置以基于在第二控制輸入444處接收的第二控制值C2432的值選擇性地交換在 第三輸入438處的數(shù)據(jù)值與在第四輸入440處接收的數(shù)據(jù)值。在特定實(shí)施例中,縱橫開關(guān) 408以大體上類似于圖3中描繪的交換電路302的方式操作。在特定實(shí)施例中,向量加法器410在第一輸入4M及第二輸入456處接收對(duì)應(yīng)于 提供到多路復(fù)用器412的第一輸入446及到第二輸入448的數(shù)據(jù)的數(shù)據(jù)。此外,向量加法器 410在第三輸入458及第四輸入460處接收對(duì)應(yīng)于分別在多路復(fù)用器412的第三輸入450 及第四輸入452處接收的數(shù)據(jù)的數(shù)據(jù)。向量加法器410經(jīng)配置以對(duì)在輸入妨4、456、458及 460中的每一者處接收的數(shù)據(jù)求反。經(jīng)由第一經(jīng)求反的輸入462、第二經(jīng)求反的輸入464、第 三經(jīng)求反的輸入466及第四經(jīng)求反的輸入468將經(jīng)求反的數(shù)據(jù)提供到多路復(fù)用器412。多路復(fù)用器412經(jīng)耦合以分別在第一輸入446及第二輸入448處接收由縱橫開關(guān) 408提供的數(shù)據(jù)xls、yls,且分別在第三輸入450及第四輸入452處接收數(shù)據(jù)^及y2s。多路 復(fù)用器412經(jīng)進(jìn)一步耦合以分別在第一經(jīng)求反的輸入462及第二經(jīng)求反的輸入464處接收 來(lái)自向量加法器410的經(jīng)求反的數(shù)據(jù)-Xls及_yls,且分別在第三經(jīng)求反的輸入466處及在第四經(jīng)求反的輸入468處接收來(lái)自向量加法器410的經(jīng)求反的數(shù)據(jù)-&s&_y2s。多路復(fù)用 器412在第一控制輸入470處接收第一控制值Q430且在第二控制輸入472處接收第二控 制值C2432。多路復(fù)用器412經(jīng)配置以基于第一控制輸入470選擇性地提供來(lái)自第一輸入446 或第一經(jīng)求反的輸入462的第一輸出474及來(lái)自第二輸入448或第二經(jīng)求反的輸入464的 第二輸出476。第一輸出474與第二輸出476經(jīng)耦合以將第一經(jīng)旋轉(zhuǎn)的坐標(biāo))(1(^490及第 二經(jīng)旋轉(zhuǎn)的坐標(biāo)Ylrat 492分別提供到輸出寄存器414。舉例來(lái)說(shuō),在控制值Q430指示零度 旋轉(zhuǎn)(其不需要經(jīng)求反的值)的情況下,多路復(fù)用器412選擇未經(jīng)求反的輸入446及448 以分別提供到第一輸出474及第二輸出476。在控制值(^430指示一百八十度旋轉(zhuǎn)(需要 兩個(gè)坐標(biāo)的求反)的情況下,多路復(fù)用器412選擇來(lái)自向量加法器410的經(jīng)求反的輸入462 及464。在控制值指示九十度旋轉(zhuǎn)或二百七十度旋轉(zhuǎn)的情況下,多路復(fù)用器可選擇一個(gè)未經(jīng) 求反的輸入446或448及一個(gè)經(jīng)求反的輸入462或464。多路復(fù)用器412還經(jīng)配置以基于第二控制輸入472將第三坐標(biāo)輸入450及第三經(jīng) 求反的輸入466中的一者選擇性地提供到第三輸出478。多路復(fù)用器412進(jìn)一步經(jīng)配置以 基于第二控制輸入472將第四坐標(biāo)輸入452或第四經(jīng)求反的輸入468選擇到第四輸出480。 第三輸出478及第四輸出480經(jīng)耦合到輸出寄存器414以分別提供第二向量經(jīng)旋轉(zhuǎn)的輸出 數(shù)據(jù))(2。ut 494 及 A。ut496。在特定實(shí)施例中,系統(tǒng)400進(jìn)一步包括耦合到向量加法器410的飽和邏輯電路 411。飽和邏輯電路411可經(jīng)配置以檢測(cè)在向量加法器410的輸出處的飽和狀況(例如,可 由在二的補(bǔ)碼二進(jìn)制表示中的“零”值的求反造成),且提供經(jīng)校正的值用于在向量加法器 410處的輸出。在特定實(shí)施例中,飽和邏輯電路411可包括一個(gè)或一個(gè)以上“異或”門,且可 將待交換的一個(gè)或一個(gè)以上硬連線的值(hardwired value)提供到向量加法器410中。在特定實(shí)施例中,系統(tǒng)400可實(shí)施于處理器管線的一部分處,例如,在交錯(cuò)的多線 程處理器的執(zhí)行單元處。舉例來(lái)說(shuō),縱橫開關(guān)408可為路由單元的一部分以在處理器的執(zhí) 行單元處對(duì)準(zhǔn)數(shù)據(jù),且向量加法器410及多路復(fù)用器412還可為執(zhí)行單元內(nèi)的元件。在另 一特定實(shí)施例中,系統(tǒng)400可實(shí)施于無(wú)線裝置的調(diào)制解調(diào)器(例如,圖1的調(diào)制解調(diào)器140) 中。在特定實(shí)施方案中,系統(tǒng)400可實(shí)施于管線式交錯(cuò)的多線程處理器的一個(gè)或一個(gè)以上 執(zhí)行單元處以執(zhí)行調(diào)制解調(diào)器操作。此外,在說(shuō)明性實(shí)施例中,縱橫開關(guān)408可對(duì)應(yīng)于交換 電路320的具體實(shí)施方案,向量加法器410可對(duì)應(yīng)于求反電路304的具體實(shí)施方案,且多路 復(fù)用器412可充當(dāng)選擇電路308的具體實(shí)施方案(如圖3中所描繪),且進(jìn)一步適于執(zhí)行多 個(gè)向量的同時(shí)旋轉(zhuǎn),如由具有對(duì)應(yīng)于第一數(shù)據(jù)422及424的坐標(biāo)的第一向量及具有對(duì)應(yīng)于 第二數(shù)據(jù)似6及428的坐標(biāo)的第二向量所指示。參看圖5,其描繪用以執(zhí)行坐標(biāo)旋轉(zhuǎn)的系統(tǒng)的第二說(shuō)明性實(shí)施例且將其大體表示 為500。系統(tǒng)500包括用以響應(yīng)于控制值CjM選擇性地交換第一坐標(biāo)數(shù)據(jù)&520與第二 坐標(biāo)數(shù)據(jù)A522的裝置,其被說(shuō)明為交換電路502。系統(tǒng)500進(jìn)一步包括用以對(duì)第一坐標(biāo)數(shù) 據(jù)520求反以產(chǎn)生第一經(jīng)求反的坐標(biāo)數(shù)據(jù)及對(duì)第二坐標(biāo)數(shù)據(jù)522求反以產(chǎn)生第二經(jīng)求反的 坐標(biāo)數(shù)據(jù)的裝置,其在圖5中被說(shuō)明為向量乘法器504。系統(tǒng)500還包括用以響應(yīng)于控制值 Q548選擇性地輸出第一坐標(biāo)數(shù)據(jù)或第一經(jīng)求反的坐標(biāo)數(shù)據(jù)及選擇性地輸出第二坐標(biāo)數(shù)據(jù) 或第二經(jīng)求反的坐標(biāo)數(shù)據(jù)的裝置,其被描繪為選擇電路508。系統(tǒng)500大體對(duì)應(yīng)于圖3的系統(tǒng)300且根據(jù)圖3的系統(tǒng)300使用向量乘法器504代替求反電路304進(jìn)行操作。在特定實(shí)施例中,系統(tǒng)500經(jīng)配置以接收第一坐標(biāo)數(shù)據(jù)520及第二坐標(biāo)數(shù)據(jù)522, 且執(zhí)行由第一坐標(biāo)數(shù)據(jù)520及第二坐標(biāo)數(shù)據(jù)522表示的向量的旋轉(zhuǎn)。舉例來(lái)說(shuō),第一坐標(biāo)數(shù) 據(jù)520可表示向量的X坐標(biāo),且第二坐標(biāo)數(shù)據(jù)522可表示所述向量的Y坐標(biāo)??刂浦礠524 可表示待對(duì)向量應(yīng)用的旋轉(zhuǎn)度。在特定實(shí)施例中,交換電路502經(jīng)配置以接收第一坐標(biāo)數(shù)據(jù)520及第二坐標(biāo)數(shù)據(jù) 522以及控制值524,且輸出第一經(jīng)交換的輸出5 及第二經(jīng)交換的輸出528。分別將第一 經(jīng)交換的坐標(biāo)數(shù)據(jù)輸出5 及第二經(jīng)交換的坐標(biāo)數(shù)據(jù)輸出5 作為輸入540及542提供到 選擇電路508。還分別將第一交換坐標(biāo)數(shù)據(jù)輸出5 及第二交換坐標(biāo)數(shù)據(jù)輸出5 作為輸 入530及532提供到向量乘法器504。在特定實(shí)施例中,向量乘法器504經(jīng)配置以在第一輸入530處接收第一經(jīng)交換的 數(shù)據(jù)5 且將第一經(jīng)交換的數(shù)據(jù)5 的經(jīng)求反的值提供到選擇電路508的第一經(jīng)求反的輸 入M4。向量乘法器504進(jìn)一步經(jīng)配置以在第二輸入532處接收第二經(jīng)交換的數(shù)據(jù)5 且 將第二經(jīng)交換的數(shù)據(jù)528的經(jīng)求反的值提供到選擇電路508的第二經(jīng)求反的輸入M6。在 特定實(shí)施例中,向量乘法器504包括選擇性地將在第一輸入530、第二輸入532或兩者處接 收的數(shù)據(jù)乘以負(fù)一的控制邏輯。在特定實(shí)施例中,選擇電路508經(jīng)配置以在控制輸入548處接收控制值C1,且在第 一坐標(biāo)輸出X。ut550及第二坐標(biāo)輸出Y。ut552處選擇性地輸出對(duì)應(yīng)于按由控制值C1指示的量 旋轉(zhuǎn)的第一坐標(biāo)數(shù)據(jù)520及第二坐標(biāo)數(shù)據(jù)522的值。因此,選擇電路508可在第一交換坐 標(biāo)輸入540處接收第一經(jīng)交換的輸出5 及在第一經(jīng)求反的輸入544處接收第一經(jīng)交換的 輸出5 的經(jīng)求反的值。選擇電路508可選擇性地將在第一交換坐標(biāo)輸入540及第一經(jīng)求 反的輸入M4中的一者處接收的值提供到第一坐標(biāo)輸出X。ut550。此外,選擇電路508可接 收第二交換坐標(biāo)輸入542及第二經(jīng)求反的輸入M6,且可選擇性地將在第二交換坐標(biāo)輸入 542及第二經(jīng)求反的輸入M6中的一者處接收的值輸出到第二坐標(biāo)輸出Y。ut 552。參看圖6,其描繪向量坐標(biāo)旋轉(zhuǎn)系統(tǒng)的第一說(shuō)明性實(shí)施例的數(shù)據(jù)流且將其大體表 示為600。交換電路602經(jīng)耦合以接收輸入向量(Xl,yi)601且將輸出提供到求反電路604。 交換電路602可響應(yīng)于控制值Q6M選擇性地交換輸入向量601的坐標(biāo)以產(chǎn)生輸出向量
(X1, Y1)或(Y1, X1)。求反電路604響應(yīng)于控制值C1SM選擇性地對(duì)從交換電路602接收的數(shù)據(jù)求反且 產(chǎn)生輸出向量(x。ut,y。ut)610。舉例來(lái)說(shuō),求反電路604可接收第一向量坐標(biāo)及第二向量坐 標(biāo),且可基于控制值Q6M選擇性地對(duì)僅第一坐標(biāo)、僅第二坐標(biāo)、兩個(gè)坐標(biāo)求反或不對(duì)任一 坐標(biāo)求反。輸出向量610對(duì)應(yīng)于在圍繞坐標(biāo)原點(diǎn)旋轉(zhuǎn)由控制值Q6M指示的九十度的倍數(shù) 后的輸入向量601。因?yàn)榍蠓措娐?04響應(yīng)于控制值C1SM選擇性地對(duì)所接收的數(shù)據(jù)求反, 所以系統(tǒng)600操作以在無(wú)輸出選擇電路(例如,圖3的選擇電路308)的情況下執(zhí)行向量坐 標(biāo)旋轉(zhuǎn)運(yùn)算。在特定實(shí)施例中,系統(tǒng)600表示經(jīng)編程以實(shí)施快速向量旋轉(zhuǎn)算法的處理器,所述 快速向量旋轉(zhuǎn)算法包括當(dāng)旋轉(zhuǎn)量為九十度或二百七十度時(shí)選擇性地交換第一坐標(biāo)與第二 坐標(biāo)、接著為當(dāng)旋轉(zhuǎn)量為九十度時(shí)選擇性地對(duì)第一坐標(biāo)求反、當(dāng)旋轉(zhuǎn)量為二百七十度時(shí)選 擇性地對(duì)第二坐標(biāo)求反及當(dāng)旋轉(zhuǎn)量為一百八十度時(shí)選擇性地對(duì)兩個(gè)坐標(biāo)求反??墒褂每v橫制裝置、多路復(fù)用器裝置、經(jīng)配置以選擇性地交換兩個(gè)或兩個(gè)以上輸入值的另一裝置、在處 理器執(zhí)行單元處執(zhí)行的交換運(yùn)算、固件、硬件或其任何組合來(lái)實(shí)施交換電路602。可使用向 量加法器、向量乘法器、經(jīng)配置以選擇性地對(duì)兩個(gè)或兩個(gè)以上輸入值求反的另一裝置、在處 理器執(zhí)行單元處執(zhí)行的求反運(yùn)算、固件、硬件或其任何組合來(lái)實(shí)施求反電路604。參看圖7,其描繪向量坐標(biāo)旋轉(zhuǎn)系統(tǒng)的第二說(shuō)明性實(shí)施例的數(shù)據(jù)流且將其大體表 示為700。求反電路704經(jīng)耦合以接收輸入向量(Xl,yi)701且將輸出提供到交換電路702。 求反電路704可響應(yīng)于控制值CJM選擇性地對(duì)輸入向量701的坐標(biāo)求反以產(chǎn)生輸出向量
(X1, Y1)、(X1, "Y1)、(-X1, Y1)或(-X1, "Y1)。交換電路702響應(yīng)于控制值CJM選擇性地交換從求反電路704接收的數(shù)據(jù)且產(chǎn) 生輸出向量(x。ut,y。ut)710。輸出向量710對(duì)應(yīng)于在圍繞坐標(biāo)原點(diǎn)旋轉(zhuǎn)由控制值CJM指示 的九十度的倍數(shù)后的輸入向量701。在特定實(shí)施例中,系統(tǒng)700表示經(jīng)編程以實(shí)施快速向量旋轉(zhuǎn)算法的處理器,所述 快速向量旋轉(zhuǎn)算法包括接收第一及第二坐標(biāo)、當(dāng)旋轉(zhuǎn)量為九十度時(shí)選擇性地對(duì)第二坐標(biāo)求 反、當(dāng)旋轉(zhuǎn)量為一百八十度時(shí)選擇性地對(duì)第一及第二坐標(biāo)求反、當(dāng)旋轉(zhuǎn)量為二百七十度時(shí) 選擇性地對(duì)第一坐標(biāo)求反及接著當(dāng)旋轉(zhuǎn)量為九十度或二百七十度時(shí)選擇性地交換兩個(gè)坐 標(biāo)。可使用縱橫制裝置、多路復(fù)用器裝置、經(jīng)配置以選擇性地交換兩個(gè)或兩個(gè)以上輸入值的 另一裝置、在處理器執(zhí)行單元處執(zhí)行的交換運(yùn)算、固件、硬件或其任何組合來(lái)實(shí)施交換電路 702。可使用向量加法器、向量乘法器、經(jīng)配置以選擇性地對(duì)兩個(gè)或兩個(gè)以上輸入值求反的 另一裝置、在處理器執(zhí)行單元處執(zhí)行的求反運(yùn)算、固件、硬件或其任何組合來(lái)實(shí)施求反電路 704。參看圖8,其描繪用以執(zhí)行快速旋轉(zhuǎn)運(yùn)算的方法的第一說(shuō)明性實(shí)施例且將其大體 表示為800。方法800包括在處理器處執(zhí)行單一指令。在特定實(shí)施例中,可在圖1到圖7中 描繪的系統(tǒng)中的一者或一者以上處執(zhí)行所述方法。執(zhí)行單一指令包括在802處接收指示第一坐標(biāo)及第二坐標(biāo)的第一數(shù)據(jù)。在特定 實(shí)施例中,第一坐標(biāo)及第二坐標(biāo)識(shí)別向量的X及Y分量。移到804,接收指示選自九十度倍 數(shù)集合的第一旋轉(zhuǎn)值的第一控制值。在特定實(shí)施例中,九十度倍數(shù)集合包括零度、九十度、 一百八十度及二百七十度。繼續(xù)到806,在特定實(shí)施例中,執(zhí)行單一指令進(jìn)一步包括當(dāng)?shù)谝恍D(zhuǎn)值對(duì)應(yīng)于九十 度或二百七十度時(shí)交換第一坐標(biāo)與第二坐標(biāo)。前進(jìn)到808,當(dāng)?shù)谝恍D(zhuǎn)值對(duì)應(yīng)于九十度、 一百八十度或二百七十度時(shí),對(duì)第一坐標(biāo)及第二坐標(biāo)中的至少一者求反。繼續(xù)前進(jìn)到810,在特定實(shí)施例中,應(yīng)用飽和邏輯以防止對(duì)第一坐標(biāo)或第二坐標(biāo)求 反時(shí)的溢出狀況。移到812,將輸出數(shù)據(jù)寫入到數(shù)據(jù)存儲(chǔ)元件。舉例來(lái)說(shuō),數(shù)據(jù)存儲(chǔ)元件可 包括一個(gè)或一個(gè)以上鎖存器、正反器裝置、寄存器、高速緩沖存儲(chǔ)器、存儲(chǔ)器或用以存儲(chǔ)數(shù) 據(jù)的任一其它裝置或系統(tǒng)。輸出數(shù)據(jù)對(duì)應(yīng)于按第一旋轉(zhuǎn)值旋轉(zhuǎn)的第一數(shù)據(jù)。舉例來(lái)說(shuō),第 一數(shù)據(jù)可識(shí)別從坐標(biāo)原點(diǎn)延伸到第一及第二坐標(biāo)處的端點(diǎn)的向量,且輸出數(shù)據(jù)可識(shí)別按由 第一旋轉(zhuǎn)值指示的量圍繞坐標(biāo)原點(diǎn)的旋轉(zhuǎn)后的向量的端點(diǎn)。在特定實(shí)施例中,在不執(zhí)行乘 法運(yùn)算或表查找的情況下確定輸出數(shù)據(jù),從而實(shí)現(xiàn)比通過(guò)使用乘法運(yùn)算或表查找所達(dá)到功 率低及速度高的運(yùn)算??稍谔幚砥鞯膯我粓?zhí)行循環(huán)中執(zhí)行單一旋轉(zhuǎn)指令。舉例來(lái)說(shuō),可在包括實(shí)施圖4的系統(tǒng)400的執(zhí)行單元的處理器處執(zhí)行單一旋轉(zhuǎn)指令以在單一執(zhí)行循環(huán)中執(zhí)行向量旋轉(zhuǎn)運(yùn)算。在特定實(shí)施例中,第一控制值可對(duì)應(yīng)于接收的無(wú)線信號(hào)的符號(hào)值。舉例來(lái)說(shuō),無(wú)線 信號(hào)的每一符號(hào)值可表示相對(duì)于累積的相位的角偏移,且第一控制值可指示需要用來(lái)基于 累積的相位調(diào)整向量以確定與符號(hào)相關(guān)聯(lián)的角偏移的旋轉(zhuǎn)度。在特定實(shí)施例中,可結(jié)合無(wú) 線接收器的正交解碼循環(huán)來(lái)執(zhí)行單一旋轉(zhuǎn)指令。舉例來(lái)說(shuō),在所接收的無(wú)線數(shù)據(jù)具有同相 分量(I)及與所述同相分量異相九十度的正交分量⑴)的情況下,可按九十度的倍數(shù)旋轉(zhuǎn) 正交分量以用于通過(guò)同相分量來(lái)解碼。在特定實(shí)施例中,單一指令為微指令。舉例來(lái)說(shuō),在適于將接收的指令翻譯成一個(gè) 或一個(gè)以上可執(zhí)行微指令的微碼處理器中,單一指令可為微指令,即,直接可執(zhí)行且不可翻 譯成多個(gè)其它可執(zhí)行指令的指令。在另一實(shí)施例中,可在非微碼處理器處執(zhí)行單一指令, 即,在不首先將指令翻譯成多個(gè)可執(zhí)行微指令的情況下執(zhí)行所接收的指令的處理器處執(zhí) 行。在實(shí)施例中,可在不支持微碼的管線處執(zhí)行單一指令,其中管線作為單一管線運(yùn)算確定 向量旋轉(zhuǎn)輸出,而不執(zhí)行對(duì)應(yīng)于微指令的一序列子運(yùn)算。參看圖9,其描繪用以執(zhí)行快速旋轉(zhuǎn)運(yùn)算的方法的第二說(shuō)明性實(shí)施例且將其大體 表示為900??稍趫D1到圖7中描繪的系統(tǒng)中的一者或一者以上處或根據(jù)圖8中描繪的方 法800或其任何組合來(lái)執(zhí)行方法900。方法900包括執(zhí)行單一指令,其包括在902處接收指示第一坐標(biāo)及第二坐標(biāo)的第 一數(shù)據(jù)。移到904,接收指示選自九十度倍數(shù)集合的第一旋轉(zhuǎn)值的第一控制值。在特定實(shí)施 例中,九十度倍數(shù)集合包括零度、九十度、一百八十度及二百七十度。在特定實(shí)施例中,執(zhí)行單一指令還包括在906處接收指示第三坐標(biāo)及第四坐標(biāo)的 第二數(shù)據(jù)。在908處,可接收指示選自九十度倍數(shù)集合的第二旋轉(zhuǎn)值的第二控制值??膳c 確定對(duì)應(yīng)于按第二旋轉(zhuǎn)值旋轉(zhuǎn)的第二數(shù)據(jù)的第二輸出數(shù)據(jù)同時(shí)確定對(duì)應(yīng)于按第一旋轉(zhuǎn)值 旋轉(zhuǎn)的第一數(shù)據(jù)的輸出數(shù)據(jù)。在912處,可將輸出數(shù)據(jù)及第二輸出數(shù)據(jù)寫入到數(shù)據(jù)存儲(chǔ)元 件。在特定實(shí)施例中,在將輸出數(shù)據(jù)或第二輸出數(shù)據(jù)中的任一者寫入到寄存器堆前, 可在處理器的單一執(zhí)行單元處確定輸出數(shù)據(jù)及第二輸出數(shù)據(jù)。舉例來(lái)說(shuō),如關(guān)于圖2的系 統(tǒng)200描述,可與確定輸出數(shù)據(jù)同時(shí)確定第二輸出數(shù)據(jù)。在說(shuō)明性實(shí)施例中,處理器的執(zhí)行 單元包括圖4的系統(tǒng)400,且縱橫開關(guān)408、向量加法器410及多路復(fù)用器412可并行地對(duì) 第一輸入數(shù)據(jù)及第二輸入數(shù)據(jù)進(jìn)行運(yùn)算,且可大體上同時(shí)將輸出數(shù)據(jù)及第二輸出數(shù)據(jù)寫入 到輸出寄存器414。所屬領(lǐng)域的技術(shù)人員將進(jìn)一步了解,結(jié)合本文所揭示的實(shí)施例所描述的各種說(shuō)明 性邏輯塊、配置、模塊、電路及算法步驟可實(shí)施為電子硬件、計(jì)算機(jī)軟件或兩者的組合。為了 清晰地說(shuō)明硬件與軟件的此可互換性,各種說(shuō)明性組件、塊、配置、模塊、電路及步驟已在上 文大體按其功能性加以了描述。將此功能性實(shí)施為硬件還是軟件視特定應(yīng)用及強(qiáng)加于整個(gè) 系統(tǒng)上的設(shè)計(jì)約束而定。所屬領(lǐng)域的技術(shù)人員可以變化的方式針對(duì)每一特定應(yīng)用實(shí)施所描 述的功能性,但是這些實(shí)施決策不應(yīng)被解釋為會(huì)導(dǎo)致脫離本發(fā)明的范圍。結(jié)合本文中所揭示的實(shí)施例所描述的方法或算法的步驟可直接體現(xiàn)于硬件中、由 處理器執(zhí)行的軟件模塊中或兩者的組合中。軟件模塊可駐留于隨機(jī)存取存儲(chǔ)器(RAM)、快閃存儲(chǔ)器、只讀存儲(chǔ)器(ROM)、可編程只讀存儲(chǔ)器(PR0M)、可擦除可編程只讀存儲(chǔ)器(EPROM)、 電可擦除可編程只讀存儲(chǔ)器(EEPROM)、寄存器、硬盤、可裝卸盤、壓縮光盤只讀存儲(chǔ)器 (CD-ROM)或此項(xiàng)技術(shù)中已知的任何其它形式的存儲(chǔ)媒體中。將示范性存儲(chǔ)媒體耦合到處理 器,使得處理器可從存儲(chǔ)媒體讀取信息及將信息寫入到存儲(chǔ)媒體。在替代方案中,存儲(chǔ)媒體 可與處理器成一體式。處理器及存儲(chǔ)媒體可駐留于專用集成電路(ASIC)中。ASIC可駐留 于計(jì)算裝置或用戶終端中。在替代方案中,處理器及存儲(chǔ)媒體可作為離散組件駐留于計(jì)算 裝置或用戶終端中。 提供對(duì)所揭示的實(shí)施例的先前描述,以使所屬領(lǐng)域的技術(shù)人員能夠制作或使用所 揭示的實(shí)施例。對(duì)于所屬領(lǐng)域的技術(shù)人員來(lái)說(shuō),對(duì)這些實(shí)施例的各種修改將易于顯而易見, 且在不脫離本發(fā)明的范圍的情況下,本文中界定的一般原理可應(yīng)用于其它實(shí)施例。因此,本 發(fā)明并不希望限于本文中所展示的實(shí)施例,而應(yīng)符合與如所附權(quán)利要求書界定的原理及新 穎特征相一致的最廣泛的可能范圍。
權(quán)利要求
1.一種方法,其包含在處理器處執(zhí)行單一指令,其中執(zhí)行所述單一指令包括接收指示第一坐標(biāo)及第二坐標(biāo)的第一數(shù)據(jù);接收指示選自九十度倍數(shù)集合的第一旋轉(zhuǎn)值的第一控制值;以及將輸出數(shù)據(jù)寫入到數(shù)據(jù)存儲(chǔ)元件,所述輸出數(shù)據(jù)對(duì)應(yīng)于按所述第一旋轉(zhuǎn)值旋轉(zhuǎn)的所述第一數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其中執(zhí)行所述單一指令進(jìn)一步包含在不執(zhí)行乘法運(yùn)算 或表查找的情況下確定所述輸出數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的方法,其中在處理器的單一執(zhí)行循環(huán)期間執(zhí)行所述單一指令。
4.根據(jù)權(quán)利要求1所述的方法,其中所述九十度倍數(shù)集合包括零度、九十度、一百八十 度及二百七十度,且其中執(zhí)行所述單一指令進(jìn)一步包含當(dāng)所述第一旋轉(zhuǎn)值對(duì)應(yīng)于九十度或二百七十度時(shí)交換所述第一坐標(biāo)與所述第二坐標(biāo);以及當(dāng)所述第一旋轉(zhuǎn)值對(duì)應(yīng)于九十度、一百八十度或二百七十度時(shí),對(duì)所述第一坐標(biāo)及所 述第二坐標(biāo)中的至少一者求反。
5.根據(jù)權(quán)利要求4所述的方法,其中執(zhí)行所述單一指令包括在對(duì)所述第一坐標(biāo)或所述 第二坐標(biāo)求反之前交換所述第一坐標(biāo)與所述第二坐標(biāo)。
6.根據(jù)權(quán)利要求4所述的方法,其中執(zhí)行所述單一指令包括在交換所述第一坐標(biāo)與所 述第二坐標(biāo)之前對(duì)所述第一坐標(biāo)或所述第二坐標(biāo)求反。
7.根據(jù)權(quán)利要求4所述的方法,其中執(zhí)行所述單一指令進(jìn)一步包含應(yīng)用飽和邏輯以防 止對(duì)所述第一坐標(biāo)及所述第二坐標(biāo)中的至少一者求反時(shí)的溢出狀況。
8.根據(jù)權(quán)利要求1所述的方法,其中所述第一控制值對(duì)應(yīng)于所接收的無(wú)線信號(hào)的符號(hào)值。
9.根據(jù)權(quán)利要求8所述的方法,其中執(zhí)行所述單一指令是結(jié)合無(wú)線接收器的正交解碼 循環(huán)執(zhí)行。
10.根據(jù)權(quán)利要求1所述的方法,其中執(zhí)行所述單一指令進(jìn)一步包含 接收指示第三坐標(biāo)及第四坐標(biāo)的第二數(shù)據(jù);接收指示選自所述九十度倍數(shù)集合的第二旋轉(zhuǎn)值的第二控制值;以及 寫入對(duì)應(yīng)于按所述第二旋轉(zhuǎn)值旋轉(zhuǎn)的所述第二數(shù)據(jù)的第二輸出數(shù)據(jù)。
11.根據(jù)權(quán)利要求10所述的方法,其進(jìn)一步包含與確定所述輸出數(shù)據(jù)同時(shí)確定所述第 二輸出數(shù)據(jù)。
12.根據(jù)權(quán)利要求11所述的方法,其中在將所述輸出數(shù)據(jù)寫入到所述數(shù)據(jù)存儲(chǔ)元件之 前在處理器的單一執(zhí)行單元處確定所述輸出數(shù)據(jù)及所述第二輸出數(shù)據(jù),所述數(shù)據(jù)存儲(chǔ)元件 在寄存器堆內(nèi)。
13.根據(jù)權(quán)利要求1所述的方法,其中所述單一指令是在不支持微碼的管線中執(zhí)行。
14.一種處理器指令,其可由處理器執(zhí)行以在單一執(zhí)行循環(huán)中執(zhí)行向量旋轉(zhuǎn),所述處理 器指令包含指令名;第一字段,其中所述第一字段包括第一數(shù)據(jù),所述第一數(shù)據(jù)包括第一坐標(biāo)及第二坐標(biāo);以及第二字段,其中所述第二字段包括指示用以旋轉(zhuǎn)所述第一數(shù)據(jù)的第一量的第一控制值,其中在所述處理器指令的執(zhí)行后所述處理器即刻將經(jīng)旋轉(zhuǎn)的數(shù)據(jù)存儲(chǔ)到存儲(chǔ)器中,所 述經(jīng)旋轉(zhuǎn)的數(shù)據(jù)對(duì)應(yīng)于按由所述第一控制值指示的所述第一量旋轉(zhuǎn)的所述第一數(shù)據(jù)。
15.根據(jù)權(quán)利要求14所述的處理器指令,其中所述第一字段進(jìn)一步包括第二數(shù)據(jù),所 述第二數(shù)據(jù)包括第三坐標(biāo)及第四坐標(biāo)。
16.根據(jù)權(quán)利要求15所述的處理器指令,其中所述第二字段進(jìn)一步包括指示用以旋轉(zhuǎn) 所述第二數(shù)據(jù)的第二量的第二控制值。
17.根據(jù)權(quán)利要求16所述的處理器指令,其中所述處理器指令進(jìn)一步返回對(duì)應(yīng)于按由 所述第二控制值指示的所述第二量旋轉(zhuǎn)的所述第二數(shù)據(jù)的第二經(jīng)旋轉(zhuǎn)的數(shù)據(jù)。
18.一種處理器,其包含用以響應(yīng)于控制值選擇性地交換第一坐標(biāo)數(shù)據(jù)與第二坐標(biāo)數(shù)據(jù)的裝置; 用以對(duì)所述第一坐標(biāo)數(shù)據(jù)求反以產(chǎn)生第一經(jīng)求反的坐標(biāo)數(shù)據(jù)及對(duì)所述第二坐標(biāo)數(shù)據(jù) 求反以產(chǎn)生第二經(jīng)求反的坐標(biāo)數(shù)據(jù)的裝置;以及用以響應(yīng)于所述控制值選擇性地輸出所述第一坐標(biāo)數(shù)據(jù)或所述第一經(jīng)求反的坐標(biāo)數(shù) 據(jù)及選擇性地輸出所述第二坐標(biāo)數(shù)據(jù)或所述第二經(jīng)求反的坐標(biāo)數(shù)據(jù)的裝置,其中所述控制值指示由所述第一坐標(biāo)數(shù)據(jù)及所述第二坐標(biāo)數(shù)據(jù)表示的向量的旋轉(zhuǎn)度。
19.根據(jù)權(quán)利要求18所述的處理器,其中所述用以選擇性地切換的裝置包括縱橫制裝置。
20.根據(jù)權(quán)利要求18所述的處理器,其中所述用以求反的裝置包括向量加法器或向量 乘法器。
21.根據(jù)權(quán)利要求20所述的處理器,其進(jìn)一步包含飽和邏輯電路,所述飽和邏輯電路 用以校正所述向量加法器處的負(fù)溢出狀況。
22.根據(jù)權(quán)利要求18所述的處理器,其中所述用以選擇性地輸出的裝置包括多路復(fù)用器,
23.根據(jù)權(quán)利要求19所述的處理器,其進(jìn)一步包含調(diào)制解調(diào)器,所述調(diào)制解調(diào)器經(jīng)耦 合以接收所述第一坐標(biāo)數(shù)據(jù)或所述第一經(jīng)求反的坐標(biāo)數(shù)據(jù)且接收所述第二坐標(biāo)數(shù)據(jù)或所 述第二經(jīng)求反的坐標(biāo)數(shù)據(jù)。
24.一種系統(tǒng),其包含收發(fā)器,其經(jīng)配置以耦合到天線;以及調(diào)制解調(diào)器,其經(jīng)耦合以從所述收發(fā)器接收無(wú)線信號(hào)數(shù)據(jù),所述無(wú)線信號(hào)數(shù)據(jù)包括符 號(hào)數(shù)據(jù),其中所述調(diào)制解調(diào)器包括縱橫制裝置,其經(jīng)配置以響應(yīng)于控制值選擇性地交換第一坐標(biāo)數(shù)據(jù)與第二坐標(biāo)數(shù)據(jù); 向量加法器裝置,其經(jīng)配置以對(duì)所述縱橫制裝置的輸出求反;以及 多路復(fù)用器,其經(jīng)耦合以響應(yīng)于所述控制值選擇性地輸出所述向量加法器裝置的輸出 或所述縱橫制裝置的所述輸出,其中所述控制值指示由所述第一坐標(biāo)數(shù)據(jù)及所述第二坐標(biāo)數(shù)據(jù)表示的第一向量的旋 轉(zhuǎn)度。
25.根據(jù)權(quán)利要求M所述的系統(tǒng),其中所述調(diào)制解調(diào)器包括處理器,所述處理器經(jīng)配 置以通過(guò)執(zhí)行單一處理器指令而在單一執(zhí)行循環(huán)期間對(duì)所述第一向量及對(duì)第二向量執(zhí)行 同時(shí)的旋轉(zhuǎn)運(yùn)算,其中所述符號(hào)數(shù)據(jù)包括所述第一向量及所述第二向量。
全文摘要
本發(fā)明揭示用以執(zhí)行快速旋轉(zhuǎn)運(yùn)算的系統(tǒng)及方法。在特定實(shí)施例中,一種方法包括執(zhí)行單一指令。所述方法包括接收指示第一坐標(biāo)及第二坐標(biāo)的第一數(shù)據(jù)、接收指示選自九十度倍數(shù)集合的第一旋轉(zhuǎn)值的第一控制值,及寫入對(duì)應(yīng)于按所述第一旋轉(zhuǎn)值旋轉(zhuǎn)的所述第一數(shù)據(jù)的輸出數(shù)據(jù)。
文檔編號(hào)G06F7/548GK102067082SQ200980123391
公開日2011年5月18日 申請(qǐng)日期2009年6月17日 優(yōu)先權(quán)日2008年6月26日
發(fā)明者盧奇安·科德雷斯庫(kù), 埃里克·詹姆斯·普隆德克, 尚卡爾·克里提瓦桑, 曾貿(mào), 雷米·喬納森·古爾斯基 申請(qǐng)人:高通股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1