專利名稱:用于可縮放可編程的循環(huán)式緩沖器的指針計(jì)算方法及系統(tǒng)的制作方法
用于可縮放可編程的循環(huán)式緩沖器的指針計(jì)算方法及系統(tǒng) 技術(shù)領(lǐng)域所揭示的標(biāo)的物涉及數(shù)據(jù)處理。更確切地說(shuō),本發(fā)明涉及一種用于可縮放可編程的 循環(huán)式緩沖器的新穎的且經(jīng)改進(jìn)的指針計(jì)算方法及系統(tǒng)。#狄^電子設(shè)備及支持軟件應(yīng)用日益涉及信號(hào)處理。家庭劇院、計(jì)算機(jī)圖形、醫(yī)療成像及 電信皆依賴于信號(hào)處理技術(shù)。信號(hào)處理在復(fù)雜而重復(fù)的演算法時(shí)需要快速數(shù)學(xué)。許多應(yīng) 用需要即時(shí)計(jì)算,即信號(hào)為連續(xù)的時(shí)間函數(shù),其必須經(jīng)取樣并轉(zhuǎn)換為數(shù)字信號(hào)以用于數(shù) 值處理。因此當(dāng)樣本到達(dá)時(shí),處理器必須執(zhí)行對(duì)樣本執(zhí)行離散計(jì)算的演算法。數(shù)字信號(hào) 處理器(DSP)的結(jié)構(gòu)經(jīng)最優(yōu)化以處理這些演算法。良好的信號(hào)處理引擎的特性通??砂?快速、靈活的算術(shù)計(jì)算單元、往返于計(jì)算單元間的無(wú)約束數(shù)據(jù)流、計(jì)算單元中的經(jīng)擴(kuò)展 的精確度及動(dòng)態(tài)范圍、雙地址產(chǎn)生器、有效程序定序及編程的容易性。DSP技術(shù)的一種有前途的應(yīng)用包括通信系統(tǒng),例如碼分多址(CDMA)系統(tǒng),其支持用 戶之間經(jīng)由衛(wèi)星或地面鏈路進(jìn)行語(yǔ)音及數(shù)據(jù)通信。標(biāo)題為"使用衛(wèi)星或地面中繼器的擴(kuò)頻 多址通信系統(tǒng)"("SPREAD SPECTRUM MULTIPLE ACCESS COMMUNICATION SYSTEM USING SATELLITE OR TERRESTRIAL REPEATERS")的第4,901,307號(hào)美國(guó)專 利及標(biāo)題為"在CDMA蜂窩式手機(jī)系統(tǒng)中產(chǎn)生波形的系統(tǒng)及方法"("SYSTEM AND METHOD FOR GENERATING WAVEFORMS IN A CDMA CELLULAR TELEHANDSET SYSTEM")的第5,103,459號(hào)美國(guó)專利中揭示了 CDMA技術(shù)在多址通信系統(tǒng)中的使用, 兩者均轉(zhuǎn)讓給所主張的標(biāo)的物的受讓人。CDMA系統(tǒng)通常經(jīng)設(shè)計(jì)以符合一個(gè)或一個(gè)以上電信及目前的串流視頻標(biāo)準(zhǔn)。 一個(gè)此 第一代標(biāo)準(zhǔn)為"雙模式寬帶展頻蜂窩式系統(tǒng)的TIA/EIA/IS-95終端-基站相容性標(biāo)準(zhǔn)",下 文中稱為IS-95標(biāo)準(zhǔn)。IS-95CDMA系統(tǒng)能傳輸語(yǔ)音數(shù)據(jù)及包數(shù)據(jù)??筛行У貍鬏敯鼣?shù) 據(jù)的較新一代標(biāo)準(zhǔn)是由名為"第3代合作伙伴計(jì)劃"(3GPP)的協(xié)會(huì)提供且體現(xiàn)于一組文檔 中,包括第3GTS 25.211、 3GTS 25.212、 3G TS 25.213及3G TS 25.214號(hào)文檔,所述文 檔隨時(shí)可供公眾使用。3GPP標(biāo)準(zhǔn)在下文中稱為W-CDMA標(biāo)準(zhǔn)。也存在視頻壓縮標(biāo)準(zhǔn), 例如MPEG-1、 MPEG-2、 MPEG-4、 H.263及WMV (視窗媒體視頻),以及許多其它標(biāo) 準(zhǔn),使得這些無(wú)線手持裝置的使用日益增多。在許多應(yīng)用中,廣泛使用緩沖器。 一種常用類型是循環(huán)式緩沖器,其環(huán)繞其自身, 使得最低編號(hào)項(xiàng)與其最高編號(hào)項(xiàng)在物理上在緩沖器長(zhǎng)度或范圍上隔開(kāi),但最低編號(hào)項(xiàng)在 概念上或邏輯上位于鄰近最高編號(hào)項(xiàng)。循環(huán)式緩沖器提供對(duì)緩沖器的直接存取,以允許 調(diào)用程序就地構(gòu)造輸出數(shù)據(jù),或就地剖析輸入數(shù)據(jù),而無(wú)需進(jìn)行將數(shù)據(jù)復(fù)制到調(diào)用程序 或從調(diào)用程序復(fù)制數(shù)據(jù)的額外步驟。為促進(jìn)此直接存取,循環(huán)式緩沖器確保對(duì)輸出或輸 入的緩沖器位置的所有引用是針對(duì)存儲(chǔ)器的單一鄰近區(qū)塊。此避免了當(dāng)數(shù)據(jù)的循環(huán)達(dá)到 循環(huán)式緩沖器終止位置時(shí)調(diào)用程序需處理分裂的緩沖器空間的問(wèn)題。結(jié)果,調(diào)用程序可 使用廣泛類型的可用應(yīng)用程序而無(wú)需意識(shí)到應(yīng)用程序系正直接在循環(huán)式緩沖器中操作。一種循環(huán)式緩沖器要求緩沖器與2的冪對(duì)準(zhǔn)且長(zhǎng)度為2的冪。在此循環(huán)式緩沖器中, 指針計(jì)算僅涉及掩蔽步驟。雖然此可提供簡(jiǎn)單的計(jì)算,但由于要求緩沖器長(zhǎng)度為2的冪, 所以此循環(huán)式緩沖器不可由某些演算法或?qū)嵤┓桨甘褂?。在循環(huán)式緩沖器的使用中,緩沖器的長(zhǎng)度包括起始位置及終止位置。對(duì)于許多應(yīng)用 而言,需要起始位置及終止位置是可確定的或可編程的。如果循環(huán)式緩沖器的起始位置 及終止位置可編程,則更廣泛的演算法及處理可使用所述循環(huán)式緩沖器。此外,隨著不 同演算法及處理的變化,循環(huán)式緩沖器的運(yùn)算也可變化以提供增加的運(yùn)算效率及實(shí)用性。在尋址循環(huán)式緩沖器中的特定位置時(shí),尋址特定緩沖器位置的指針將向上或向下移 動(dòng)到緩沖器位置。遺憾的是,此處理并不完全有效。通常,因?yàn)樗鎏幚硇枰齻€(gè)加法/ 減法運(yùn)算,所以其較繁復(fù)。需要第一運(yùn)算來(lái)借由將跨步加到當(dāng)前緩沖器指針來(lái)產(chǎn)生新的 緩沖器指針。需要第二運(yùn)算來(lái)確定所述新指針是否已溢出或下溢緩沖器地址范圍。接著, 需要第三運(yùn)算以在溢出或下溢的狀況下調(diào)整所述新指針。這3個(gè)運(yùn)算需要在完全管線式 運(yùn)算中有3個(gè)單獨(dú)的加法器,或替代性地需要循環(huán)式尋址變?yōu)榉枪芫€式多循環(huán)操作。如 果可能降低這些運(yùn)算的數(shù)目,那么可能由于較少加法器的面積及/或功率節(jié)省或性能改進(jìn) 而產(chǎn)生顯著DSP改進(jìn),因?yàn)檫@些運(yùn)算在DSP及其它應(yīng)用中發(fā)生多次。因此,需要一種可用于一個(gè)種類的可縮放且可編程的循環(huán)式緩沖器的指針計(jì)算方法, 所述種類的循環(huán)式緩沖器支持可編程的緩沖器長(zhǎng)度。此外,需要一種用于一個(gè)種類的可縮放且可編程的循環(huán)式緩沖器的指針計(jì)算方法, 所述方法要求盡可能少的加法來(lái)檢測(cè)環(huán)繞狀況,且允許在暫時(shí)指針超出循環(huán)式緩沖器邊 界的情況下對(duì)指針值進(jìn)行調(diào)整。 發(fā)明內(nèi)容本發(fā)明揭示用于制造及使用用于可縮放、可編程的循環(huán)式緩沖器的指針計(jì)算方法及系統(tǒng)的技術(shù),所述技術(shù)改進(jìn)數(shù)字信號(hào)處理器的運(yùn)算及數(shù)字信號(hào)處理器指令的有效使用, 以便處理個(gè)人計(jì)算機(jī)、個(gè)人數(shù)字助理、無(wú)線手持裝置及類似電子裝置的日益穩(wěn)固的軟件 應(yīng)用程序并增加相關(guān)聯(lián)的數(shù)字處理器速度及服務(wù)品質(zhì)。根據(jù)所揭示的標(biāo)的物的一個(gè)方面,提供用于確定循環(huán)式緩沖器指針位置的方法及系 統(tǒng)。循環(huán)式緩沖器內(nèi)的指針位置是通過(guò)確立循環(huán)式緩沖器的長(zhǎng)度、與2的冪對(duì)準(zhǔn)的起始 地址及位于距離所述起始地址所述長(zhǎng)度且比所述長(zhǎng)度大出不到2的冪的終止地址來(lái)確定 的。所述方法及系統(tǒng)確定循環(huán)式緩沖器內(nèi)的地址的當(dāng)前指針位置、起始地址與終止地址 之間的位的跨步值、循環(huán)式緩沖器內(nèi)從當(dāng)前指針位置移位所述跨步值的位數(shù)的新指針位 置。通過(guò)新指針位置與長(zhǎng)度的算術(shù)運(yùn)算,經(jīng)調(diào)整的指針位置在循環(huán)式緩沖器內(nèi)。在正跨 步的情況下,經(jīng)調(diào)整的指針位置(在新指針位置小于終止地址的情況下)是通過(guò)將經(jīng)調(diào) 整的指針位置調(diào)整到新指針位置來(lái)確定的?;蛘?,在新指針位置大于終止地址的情況下, 通過(guò)從新指針位置中減去所述長(zhǎng)度來(lái)調(diào)整經(jīng)調(diào)整的指針。在負(fù)跨步的情況下,經(jīng)調(diào)整的 指針位置(在新指針位置大于所述起始地址的情況下)是通過(guò)將經(jīng)調(diào)整的指針位置調(diào)整 為新指針位置來(lái)設(shè)定的?;蛘撸谛轮羔樜恢眯∮谒銎鹗嫉刂返那闆r下,通過(guò)將新指 針位置加上所述長(zhǎng)度來(lái)調(diào)整經(jīng)調(diào)整的指針。通過(guò)本文提供的描述,所揭示的標(biāo)的物的這些及其它方面以及額外的新穎特征將變 得顯而易見(jiàn)。此發(fā)明內(nèi)容的意圖并非是對(duì)所主張的標(biāo)的物的全面描述,而是提供對(duì)標(biāo)的 物的某些功能性的簡(jiǎn)要概述。所屬領(lǐng)域的技術(shù)人員在研究了以下圖式及具體實(shí)施方式
后 將容易了解此處提供的其它系統(tǒng)、方法、特征及優(yōu)勢(shì)。希望此描述內(nèi)所包括的所有這些 額外系統(tǒng)、方法、特征及優(yōu)勢(shì)在隨附權(quán)利要求書(shū)的范圍內(nèi)。
結(jié)合附圖閱讀下述具體實(shí)施方式
將更容易明白所揭示的標(biāo)的物的特征、性質(zhì)及優(yōu)勢(shì), 圖中相同參考符號(hào)始終指示相同元件,且其中圖1為用于實(shí)施本實(shí)施例的通信系統(tǒng)的簡(jiǎn)化方框圖;圖2說(shuō)明用于實(shí)現(xiàn)本實(shí)施例的教示的DSP結(jié)構(gòu);圖3展現(xiàn)使用所揭示的實(shí)施例的管線中的控制單元、數(shù)據(jù)單元及其它數(shù)字信號(hào)處理 器功能單元的頂層圖;圖4展現(xiàn)所揭示的標(biāo)的物的代表性數(shù)據(jù)單元區(qū)塊分割,其包括用于使用所主張的標(biāo) 的物的地址產(chǎn)生單元;圖5概念性展示使用所揭示的標(biāo)的物的教示的循環(huán)式緩沖器的操作;10圖6提供代表所揭示的標(biāo)的物的一個(gè)實(shí)施方案的尋址模式、偏移選擇及有效地址選 擇選項(xiàng)的表格;圖7描繪根據(jù)所揭示的標(biāo)的物的用于可縮放、可編程的循環(huán)式緩沖器的指針計(jì)算方 法及系統(tǒng)的方框圖;且圖8提供可在相關(guān)聯(lián)的DSP的執(zhí)行管線內(nèi)操作的所揭示的標(biāo)的物的實(shí)施例。
具體實(shí)施方式
用于多線程數(shù)字信號(hào)處理器的可縮放、可編程的循環(huán)式緩沖器的新穎且經(jīng)改進(jìn)的指 針計(jì)算方法及系統(tǒng)的所揭示的標(biāo)的物可應(yīng)用于涉及多線程處理的極廣泛的數(shù)字信號(hào)處理 應(yīng)用。 一種此應(yīng)用出現(xiàn)于電信領(lǐng)域,且確切地說(shuō),出現(xiàn)于使用一個(gè)或一個(gè)以上數(shù)字信號(hào) 處理電路的無(wú)線手持裝置中。因此,圖1提供可實(shí)施所展現(xiàn)的實(shí)施例的通信系統(tǒng)10的簡(jiǎn) 化方框圖。在發(fā)射器單元12,數(shù)據(jù)通常成組地從數(shù)據(jù)源14發(fā)送到發(fā)射(TX)數(shù)據(jù)處理器 16,數(shù)據(jù)處理器16格式化、編碼及處理數(shù)據(jù)以產(chǎn)生一個(gè)或一個(gè)以上模擬信號(hào)。接著將所 述模擬信號(hào)提供到發(fā)射器(TMTR)18,發(fā)射器(TMTR)18對(duì)基帶信號(hào)進(jìn)行調(diào)制、濾波、放 大及上變頻轉(zhuǎn)換以產(chǎn)生經(jīng)調(diào)制的信號(hào)。接著經(jīng)由天線20將所述經(jīng)調(diào)制的信號(hào)傳輸?shù)揭粋€(gè) 或一個(gè)以上接收器單元。在接收器單元22,所傳輸?shù)男盘?hào)由天線24接收并提供到接收器(RCVR)26。在接收 器26內(nèi),所接收的信號(hào)經(jīng)放大、濾波、下變頻轉(zhuǎn)換、解調(diào)及數(shù)字化來(lái)以產(chǎn)生同相的(I) 及(Q)樣本。所述樣本接著由接收(RX)數(shù)據(jù)處理器28解碼及處理以恢復(fù)所傳輸?shù)臄?shù)據(jù)。 在接收器單元22的解碼及處理是以與在發(fā)射器單元12執(zhí)行的編碼及處理互補(bǔ)的方式來(lái) 執(zhí)行的。接著將恢復(fù)的數(shù)據(jù)提供到數(shù)據(jù)匯30。上文所描述的信號(hào)處理支持對(duì)語(yǔ)音、視頻、包數(shù)據(jù)、消息及其它類型的通信的單向 傳輸。雙向通信系統(tǒng)支持雙向的數(shù)據(jù)傳輸。然而,出于簡(jiǎn)化的目的,用于另一方向的信 號(hào)處理在圖1中未展示。通信系統(tǒng)IO可為碼分多址(CDMA)系統(tǒng)、時(shí)分多址(TDMA)通信 系統(tǒng)(例如GSM系統(tǒng))、頻分多址(FDMA)通信系統(tǒng),或其它支持用戶之間經(jīng)由地面鏈路 的語(yǔ)音及數(shù)據(jù)通信的多址通信系統(tǒng)。在一個(gè)特定實(shí)施例中,通信系統(tǒng)10是符合W-CDMA 標(biāo)準(zhǔn)的CDMA系統(tǒng)。圖2說(shuō)明可充當(dāng)圖1的發(fā)射數(shù)據(jù)處理器16及接收數(shù)據(jù)處理器28的DSP40結(jié)構(gòu)。應(yīng) 認(rèn)識(shí)到,DSP40僅表示可有效使用此處提供的教示及概念的許多可能的數(shù)字信號(hào)處理器 實(shí)施例中的一個(gè)實(shí)施例。因此,在DSP40中,線程T0到T5 ("T0:T5")含有來(lái)自不同線 程的指令組。指令單元(IU)42取得線程T0:T5的指令。IU 42將指令10到13("IO:I3")排入指令隊(duì)列(IQ)44。 IQ 44發(fā)出指令10:13到處理器管線46中。處理器管線46包括控制電 路及數(shù)據(jù)路徑。解碼及發(fā)出電路48可從IQ44中選出單一線程(例如線程T0)。管線邏 輯控制單元(PLC)50提供邏輯控制到解碼及發(fā)出電路48及IU 42。IU 42中的IQ 44保留指令流的滑動(dòng)緩沖器。DSP40支持的六個(gè)線程T0:T5中的每一 者具有單獨(dú)的八項(xiàng)IQ44,其中每一項(xiàng)可存儲(chǔ)一個(gè)VLIW包或多達(dá)四個(gè)單個(gè)的指令。解碼 及發(fā)出電路48的邏輯由所有線程共用,以用于一次解碼并發(fā)出一個(gè)VLIW包或多達(dá)兩個(gè) 超標(biāo)量指令,并用于產(chǎn)生每一管線SLOT0:SLOT3的控制總線及運(yùn)算數(shù)。另外,解碼及發(fā) 出電路48在IQ 44項(xiàng)中的兩個(gè)最久有效指令之間進(jìn)行槽指派及相依性檢查以用于(例如) 使用超標(biāo)量發(fā)出技術(shù)來(lái)發(fā)出指令。PLC50的邏輯由所有線程共用,以用于解決異常及檢 測(cè)例如線程啟用/停用的管線暫停狀況、重放狀況、維持程序流等。在操作中,讀取所選線程的通用寄存器文件(GRF)52及控制寄存器文件(CRF)54,并 將所讀取的數(shù)據(jù)發(fā)送到用于SLOT0:SLOT3的執(zhí)行數(shù)據(jù)路徑。在此實(shí)例中,SLOT0:SLOT3 提供本實(shí)施例中所使用的包分組組合。來(lái)自SLOT0:SLOT3的輸出返回來(lái)自DSP40的操 作的結(jié)果。因此,本實(shí)施例可采用使用單一微處理器的異質(zhì)元件處理器(HEP)系統(tǒng)與多達(dá)六個(gè)線 程T0:T5的混合。處理器管線46具有六個(gè)管線級(jí),與從IU 42取出數(shù)據(jù)項(xiàng)目所需的處理 器循環(huán)的最小數(shù)目匹配。DSP 40同時(shí)執(zhí)行處理器管線46內(nèi)的不同線程T0:T5的指令。 也就是說(shuō),DSP 40提供六個(gè)獨(dú)立的程序計(jì)數(shù)器,所述計(jì)數(shù)器為用以區(qū)別處理器管線46 內(nèi)的線程T0:T5的指令的內(nèi)部標(biāo)記機(jī)制,且為觸發(fā)線程切換的機(jī)制。線程切換額外開(kāi)銷 為從零到僅數(shù)個(gè)循環(huán)不等。圖3提供所揭示的標(biāo)的物的一個(gè)表現(xiàn)形式的DSP 40微型結(jié)構(gòu)的簡(jiǎn)要概觀。DSP 40 微型結(jié)構(gòu)的實(shí)施方案支持交錯(cuò)多線程(IMT)。此處揭示的標(biāo)的物處理單一線程的執(zhí)行模 型??烧J(rèn)為IMT的軟件模型是共用存儲(chǔ)器多處理器。單一線程經(jīng)歷具有所有可用的寄存 器及指令的完整單處理器DSP40。通過(guò)相干的共用存儲(chǔ)器設(shè)施,此線程能與其它線程通 信及同步化。這些其它線程是在同一處理器上還是在另一處理器上執(zhí)行對(duì)用戶級(jí)軟件在 很大程度上是透明的。轉(zhuǎn)到圖3,用于DSP 40的本微型結(jié)構(gòu)60包括控制單元(CU)62,其執(zhí)行處理器管線 46的控制功能中的許多功能。CU 62調(diào)度線程并從IU 42請(qǐng)求混合的16位及32位指令。 此外,CU 62調(diào)度且發(fā)出指令到三個(gè)執(zhí)行單元移位型單元(SU)64、乘法型單元(MU)66 及載入/存儲(chǔ)單元(DU)68。CU 62也執(zhí)行超標(biāo)量相依性檢査??偩€接口單元(BIU)70將IU 42及DU68介接到系統(tǒng)總線(未圖示)。SLOT0及SLOTl管線位于DU 68中,SLOT2位于MU 66中,且SLOT3位于SU 64 中。CU 62提供源運(yùn)算數(shù)及控制總線到管線SLOT0:SLOT3并處理GRF 52及CRF 54文 件更新。GRF 52持有32個(gè)32位寄存器,其可作為單一寄存器或作為經(jīng)對(duì)準(zhǔn)的64位對(duì) 來(lái)存取。微型結(jié)構(gòu)60以混合了超標(biāo)量及VLIW執(zhí)行的優(yōu)勢(shì)的混合執(zhí)行模型為特征。超標(biāo) 量型式具有無(wú)需軟件信息來(lái)找到獨(dú)立指令的優(yōu)勢(shì)。解碼級(jí)DE執(zhí)行指令的初始解碼以使 這些指令準(zhǔn)備在DSP40中執(zhí)行和進(jìn)一步處理。寄存器文件管線級(jí)RF提供寄存文件更新。 兩個(gè)執(zhí)行管線級(jí)EX1及EX2支持指令執(zhí)行,而第三執(zhí)行管線級(jí)EX3提供指令執(zhí)行及寄 存器文件更新。在執(zhí)行(EX1、 EX2及EX3)及寫(xiě)回(WB)管線級(jí)期間,IU42建立待執(zhí)行的 下一IQ 44項(xiàng)。最終,寫(xiě)回管線級(jí)WB執(zhí)行寄存器更新。交錯(cuò)的寫(xiě)入寄存器文件操作由 于IMT微型結(jié)構(gòu)而是可能的且節(jié)省每線程寫(xiě)入端口的數(shù)目。因?yàn)楣芫€具有六個(gè)級(jí),所以 CU52可發(fā)出多達(dá)六個(gè)不同的線程。圖4展現(xiàn)其中可應(yīng)用所揭示的標(biāo)的物的代表性數(shù)據(jù)單元(DU 68)區(qū)塊分割。DU 68包 括地址產(chǎn)生單元AGU 80,地址產(chǎn)生單元AGU 80進(jìn)一步包括用于從CU 62接收輸入的 AGU0 81及AGU1 83。此處揭示的標(biāo)的物主要應(yīng)用于AGU 80的操作。載入/存儲(chǔ)控制單 元LCU 82也與CU 62通信并提供控制信號(hào)到AGU 80及ALU 84,以及與數(shù)據(jù)高速緩沖 存儲(chǔ)單元DCU86通信。ALU84也從AGU80及CU62接收輸入。來(lái)自AGU80的輸出 去往DCU 86。DCU 86與存儲(chǔ)器管理單元("MMU")87及CU 62通信。DCU 86包括SRAM 狀態(tài)陣列電路88、存儲(chǔ)對(duì)準(zhǔn)器電路90、 CAM標(biāo)記陣列92、 SRAM數(shù)據(jù)陣列94及載入 對(duì)準(zhǔn)器電路96。為進(jìn)一步解釋DU 68 (其中所主張的標(biāo)的物可操作)的操作,現(xiàn)參考根據(jù)以下描述 的若干部分而在其中執(zhí)行的基本功能。確切地說(shuō),DU68執(zhí)行來(lái)自ALU84的載入型、存 儲(chǔ)型及32位指令。DU68的主要特征包括在所有DSP40管線級(jí)DE、 RF、 EX1、 EX2、 EX3及使用兩個(gè)并行管線SLOT0及SL0T1的WB管線級(jí)中的完全管線式運(yùn)算。DU 68 可接受VLIW或超標(biāo)量雙指令發(fā)出。優(yōu)選地,SLOT0執(zhí)行不可高速緩沖存儲(chǔ)或可高速緩 沖存儲(chǔ)的載入或存儲(chǔ)指令、32位ALU 84指令及DCU 86指令。SLOTl執(zhí)行不可高速緩 沖存儲(chǔ)或可高速緩沖存儲(chǔ)的載入指令及32位ALU 84指令。DU 68在DE管線級(jí)中每循環(huán)從CU 60接收多達(dá)兩個(gè)的包括立即運(yùn)算數(shù)的經(jīng)解碼指 令。在RF管線級(jí)中,DU68從適當(dāng)?shù)木€程特定寄存器接收通用寄存器(GPR)及/或控制寄 存器(CR)源運(yùn)算數(shù)。GPR運(yùn)算數(shù)是從CU 60中的GPR寄存器文件接收的。在EX1管線13級(jí)中,DU 68產(chǎn)生載入或存儲(chǔ)存儲(chǔ)器指令的有效地址(EA)。將EA提供到MMU 87, MMU 87執(zhí)行虛擬到物理地址轉(zhuǎn)譯及頁(yè)層級(jí)許可檢查并提供頁(yè)層級(jí)屬性。為存取可髙速緩沖存 儲(chǔ)的位置,DU68以物理地址査找EX2管線級(jí)中的數(shù)據(jù)高速緩沖存儲(chǔ)標(biāo)記。如果存取命 中,則DU68在EX3管線級(jí)中執(zhí)行數(shù)據(jù)陣列存取。對(duì)于可高速緩沖存儲(chǔ)載入而言,將從高速緩沖存儲(chǔ)器讀出的數(shù)據(jù)以適當(dāng)?shù)拇嫒〈笮?對(duì)準(zhǔn)、按指定的進(jìn)行零/正負(fù)號(hào)擴(kuò)展并驅(qū)動(dòng)到WB管線級(jí)中的CU 60以待寫(xiě)入指令指定的 GPR。對(duì)于可高速緩沖存儲(chǔ)的存儲(chǔ)而言,將待存儲(chǔ)的數(shù)據(jù)在EX1管線級(jí)中從CU60中的 線程特定寄存器讀出并在EX2管線級(jí)中在命中時(shí)寫(xiě)入數(shù)據(jù)高速緩沖存儲(chǔ)陣列。對(duì)于載入 及存儲(chǔ)而言,自動(dòng)遞增的地址在EX1及EX2管線級(jí)中產(chǎn)生,并在EX3管線級(jí)中驅(qū)動(dòng)到 CU 60以寫(xiě)入指令指定的GPR。DU 68也執(zhí)行高速緩沖存儲(chǔ)指令以管理DCU 86。所述指令允許特定高速緩沖存儲(chǔ)線 程鎖定及解鎖、失效及分配到GPR指定的高速緩沖存儲(chǔ)線程。也存在使高速緩沖存儲(chǔ)器 全面失效的指令。這些指令類似于載入及存儲(chǔ)指令是管線式的。對(duì)于到未命中數(shù)據(jù)高速 緩沖存儲(chǔ)器的可高速緩沖存儲(chǔ)的位置的載入及存儲(chǔ)而言,且對(duì)于不可髙速緩沖存儲(chǔ)的存 取而言,DU68向BIU70提出請(qǐng)求。不可高速緩沖存儲(chǔ)的載入提出讀取請(qǐng)求。存儲(chǔ)命中、 不中及不可高速緩沖存儲(chǔ)的存儲(chǔ)提出寫(xiě)入請(qǐng)求。DU 68跟蹤對(duì)BIU 70的未處理的讀取及 線填充請(qǐng)求。DU 68提供線程間的非阻斷,B卩,在一個(gè)或一個(gè)以上線程被阻斷從而暫停 對(duì)未完成載入請(qǐng)求的完成的同時(shí),允許其它線程存取。本揭示案所涉及的AGU 80提供AGU 80數(shù)據(jù)路徑的兩個(gè)相同例子, 一個(gè)用于 SLOTO, 一個(gè)用于SL0T1。然而,應(yīng)注意,所揭示的標(biāo)的物可操作于、且實(shí)際上確實(shí)存 在且操作于DU 68的例如ALU 84的其它區(qū)塊中。然而,出于理解本發(fā)明的功能及結(jié)構(gòu) 的說(shuō)明性目的,注意力應(yīng)指向AGU80,根據(jù)本文提供的示范性教示,其針對(duì)每一槽產(chǎn)生 有效地址(EA)及自動(dòng)遞增地址(AIA)。LCU82啟用載入及存儲(chǔ)指令執(zhí)行,所述指令執(zhí)行可包括高速緩沖存儲(chǔ)命中、高速緩 沖存儲(chǔ)不中及不可高速緩沖存儲(chǔ)的載入,以及存儲(chǔ)指令。在本實(shí)施例中,載入管線對(duì)于 SLOTO及SL0T1是相同的。經(jīng)由LCU82的存儲(chǔ)執(zhí)行提供經(jīng)由高速緩沖存儲(chǔ)命中指令、 寫(xiě)回高速緩沖存儲(chǔ)命中指令、高速緩沖存儲(chǔ)不中指令、不可高速緩沖存儲(chǔ)寫(xiě)入指令的存 儲(chǔ)指令管線寫(xiě)入。在本實(shí)施例中,存儲(chǔ)指令僅在SLOTO上執(zhí)行。對(duì)于寫(xiě)直達(dá)存儲(chǔ) (write-through store),不管命中狀態(tài)如何,均向BIU 70提出寫(xiě)入請(qǐng)求。對(duì)于寫(xiě)回存儲(chǔ), 如果存在不中,則向BIU70提出寫(xiě)入請(qǐng)求,如果存在命中,則不提出寫(xiě)入請(qǐng)求。在寫(xiě)回存儲(chǔ)命中時(shí),更新高速緩沖存儲(chǔ)線狀態(tài)。存儲(chǔ)不中向BIU70提出寫(xiě)入請(qǐng)求,且未在高速 緩沖存儲(chǔ)器中分配線。ALU 84包括ALU0 85及ALU1 89,每個(gè)用于一個(gè)槽。ALU 84含有數(shù)據(jù)路徑以在 DU68內(nèi)執(zhí)行算術(shù)/轉(zhuǎn)移/比較(ATC)運(yùn)算。這些運(yùn)算可包括32位加、減、非、比較、寄存 器轉(zhuǎn)移及MUX寄存器指令。另外,ALU84也完成AIA計(jì)算的循環(huán)式尋址。圖5概念性展示循環(huán)式緩沖器使用所揭示的標(biāo)的物的教示的操作。當(dāng)多個(gè)執(zhí)行線程 經(jīng)調(diào)度以在DSP40上并行運(yùn)行時(shí),其可用增加其各個(gè)環(huán)執(zhí)行時(shí)間中的抖動(dòng)的方式相互作 用。當(dāng)AGU80必須轉(zhuǎn)移大量數(shù)據(jù)到LCU82時(shí),用于實(shí)施確定性數(shù)據(jù)流的技術(shù)。為規(guī)避 數(shù)據(jù)損失,LCU 82必須能通過(guò)在其準(zhǔn)備就緒時(shí)立即檢索數(shù)據(jù)而跟上獲取組件。參看圖5,其為將緩沖器存儲(chǔ)器分配成若干區(qū)的循環(huán)式緩沖器100。在操作中,AGU 80填充一個(gè)區(qū),例如循環(huán)式緩沖器100的區(qū)102,而LCU82盡可能快地從另一區(qū)(例如 區(qū)104)讀取數(shù)據(jù)。因?yàn)樵谌魏螘r(shí)間LCU 82與AGU 80在不同緩沖區(qū)中讀取及寫(xiě)入數(shù)據(jù), 所以循環(huán)式緩沖器100允許LCU82與AGU80兩者同時(shí)存取緩沖器中的數(shù)據(jù)。因此,舉 例而言,循環(huán)式緩沖器100在從區(qū)104讀取時(shí)持續(xù)在區(qū)102的開(kāi)始處寫(xiě)入。AGU 80的一 項(xiàng)職責(zé)包括跟上AGU 80以使得數(shù)據(jù)從不經(jīng)覆寫(xiě)。同步機(jī)制允許AGU 80在新數(shù)據(jù)可用 時(shí)告知LCU 82。圖6提供表示所揭示的標(biāo)的物的實(shí)施方案的尋址模式、偏移選擇及有效地址選擇選 項(xiàng)的表106。因此,圖6的表列舉了用于由DU 68執(zhí)行的指令的主要指令解碼。解碼功 能性大部分駐存在CU 60中,且經(jīng)解碼信號(hào)作為經(jīng)解碼指令發(fā)送的部分而被驅(qū)動(dòng)到DU 68。因此,無(wú)自動(dòng)增量的間接尋址模式及與堆疊指針相關(guān)的尋址模式使用Imm偏移MUX 選擇及添加EA MUA選擇。具有自動(dòng)增量的間接及循環(huán)式立即尋址模式使用Imm偏移 MUX選擇及RF EA MUX選擇。具有自動(dòng)增量寄存器的間接尋址模式及具有自動(dòng)增量寄 存器的循環(huán)尋址模式使用M偏移MUX選擇及RF EAMUX選擇。最后,具有自動(dòng)增量 寄存器的位反轉(zhuǎn)尋址模式使用M偏移MUX選擇及BRev或位反轉(zhuǎn)EAMUX選擇。在執(zhí) 行此處所描述的各種解碼功能后,本發(fā)明的方法及系統(tǒng)可執(zhí)行以下如此處所描述的指針 位置計(jì)算操作。圖7是本揭示案的一個(gè)實(shí)施例的特征,其首先涉及確立演算法過(guò)程的定義。在這些 定義內(nèi),設(shè)M表示一個(gè)整數(shù)且是指M位加法器;設(shè)N為大于0且小于M的整數(shù),即 0<N<M。假設(shè)N在0<N<M內(nèi)可縮放且可編程。此外,設(shè)M為M位加法器的參考。循 環(huán)式緩沖器100可形成為2W對(duì)準(zhǔn)的基址指針且具有可編程長(zhǎng)度L,其中L<2N。使用這些定義,現(xiàn)參看圖7,其展現(xiàn)用于執(zhí)行本發(fā)明的用于可縮放可編程循環(huán)式緩 沖器的指針計(jì)算方法及系統(tǒng)的說(shuō)明性示意性方框圖110。方框圖IIO包括112處的當(dāng)前指 針R、 114處的基址掩碼產(chǎn)生器輸入、116處的跨步輸入及118處的跨步方向(正向方向 為0,或負(fù)向方向?yàn)閘)作為輸入。當(dāng)前指針輸入R去往與門(mén)120及122?;费诖a產(chǎn)生 器輸入114去往與門(mén)122及反相器124,反相器124向與門(mén)120提供偏移掩蔽?;贜 的值,基址掩碼產(chǎn)生器114產(chǎn)生用于位N-1:0的掩碼。也就是說(shuō),位BM."BN可皆設(shè)定為 零,而位B^t:Bo可皆設(shè)定為1。來(lái)自與門(mén)122的輸出向M位加法器126提供指針偏移??绮捷斎?16去往MUX 128及反相器130,反相器130向MUX 128提供反相輸入。 跨步方向輸入118也去往MUX 128、 M位加法器126、 MUX 132及反相器134。與門(mén)122 導(dǎo)出當(dāng)前指針輸入112與來(lái)自基址掩碼產(chǎn)生器114的基址掩碼的逐位"與",以作為指針 偏移。與門(mén)120從當(dāng)前指針112的邏輯"與"與來(lái)自反相器124的偏移掩碼導(dǎo)出指針基 址136,所述偏移掩碼為來(lái)自基址掩碼產(chǎn)生器114的反相輸出。M位加法器126產(chǎn)生M位加法器140的被加數(shù)138。所述被加數(shù)從來(lái)自與門(mén)122的 指針偏移、來(lái)自MUX 128的多路復(fù)用輸出及跨步方向118輸入的總和導(dǎo)出。M位加法器 140從被加數(shù)138、來(lái)自MUX132的多路復(fù)用輸出及反相器134導(dǎo)出總和142??偤?42 等于被加數(shù)138加上/減去循環(huán)式緩沖器長(zhǎng)度144。循環(huán)式緩沖器長(zhǎng)度144響應(yīng)于來(lái)自反 相器146及長(zhǎng)度輸入148的輸入而從MUX 132導(dǎo)出。來(lái)自M位加法器140的總和142、 被加數(shù)138及最高有效位M 183饋送到MUX 150以產(chǎn)生新指針偏移152。最后,或門(mén)154 使用來(lái)自MUX 150的多路復(fù)用輸出及指針基址136執(zhí)行邏輯或運(yùn)算以產(chǎn)生所要的新指針 156。所揭示的過(guò)程優(yōu)于已知方法的明顯優(yōu)勢(shì)包括僅要求兩個(gè)加法,即M位加法器126及 140的運(yùn)算。此外,所揭示的方法及系統(tǒng)允許變動(dòng)N及M以導(dǎo)出一系列循環(huán)式緩沖器。 如此,所揭示的實(shí)施例提供功率、速度及面積設(shè)計(jì)考慮上的設(shè)計(jì)最優(yōu)化。此外,本發(fā)明 的過(guò)程及系統(tǒng)支持帶正負(fù)號(hào)的偏移及可編程的循環(huán)式緩沖器長(zhǎng)度。本實(shí)施例的又一優(yōu)勢(shì) 包括僅需要通用的M位加法器,而不要求有中間進(jìn)位項(xiàng)(bit carry term)。另外,所揭示的 實(shí)施例對(duì)于正跨步及負(fù)跨步可使用同一數(shù)據(jù)路徑。為說(shuō)明本發(fā)明的方法的有利效應(yīng),提供以下實(shí)例。因此,設(shè)N等于5, L等于30(即, BOllllO),其中M等于N+l-6。當(dāng)前指針P、當(dāng)前跨步S及跨步的正負(fù)號(hào)D,其在以下 實(shí)例中皆為變量。所揭示的過(guò)程實(shí)例的結(jié)果提供循環(huán)式緩沖器100內(nèi)的各個(gè)新指針位置。在第一實(shí)例中,設(shè)P=62(B111110), S-1(B000001)且D-正(BO)(其為溢出狀況)。在此狀況下,來(lái)自基址掩碼產(chǎn)生器114的掩碼為011111,來(lái)自與門(mén)122的指針偏移為011110, 且來(lái)自與門(mén)120的指針基址136為100000。來(lái)自M位加法器126的被加數(shù)138為 011110+000001=011111。總和142變?yōu)?11111 + 100001+000001=000001。新指針偏移是基 于總和142的第6位為O來(lái)確定的。此導(dǎo)致選擇總和142 (其為000001)作為新指針偏 移。所述新指針接著變?yōu)?00001 + 100000=100001。在第二實(shí)例中,設(shè)P=62(B111110), S-1(B000001)且D =負(fù)(81)。在此狀況下,來(lái)自 基址掩碼產(chǎn)生器114的掩碼為011111,來(lái)自與門(mén)122的指針偏移為011110,且來(lái)自與門(mén) 120的指針基址136為100000 。來(lái)自M位加法器126的被加數(shù)138為 011110+111110+000001=011101??偤?42變?yōu)?11101 +011110= 111011。新指針偏移是 基于總和142的第6位為1來(lái)確定的。此導(dǎo)致選擇被加數(shù)138 (其為011101)作為新指 針偏移。所述新指針接著變?yōu)?11101 + 100000= 111101。在第三實(shí)例中,設(shè)P=33(B100001), S-1(B000001)且D-正(BO)。在此狀況下,來(lái)自 基址掩碼產(chǎn)生器114的掩碼為011111,來(lái)自與門(mén)122的指針偏移為000001且來(lái)自與門(mén) 120的指針基址136為100000 。來(lái)自M位加法器126的被加數(shù)138為 000001+000001+000010=011101??偤?42變?yōu)?00010+100001 = 100100。新指針偏移是 基于被加數(shù)138的第6位為1來(lái)確定的。此導(dǎo)致選擇被加數(shù)138 (其為000010)作為新 指針偏移。所述新指針接著變?yōu)?00010+100000= 100010。在第四實(shí)例中,設(shè)P=33(B100001), S二1(B000001)且D二負(fù)(B1)(其為下溢狀況)。在 此狀況下,來(lái)自基址掩碼產(chǎn)生器114的掩碼為011111,來(lái)自與門(mén)122的指針偏移為000001, 且來(lái)自與門(mén)120的指針基址136為100000。來(lái)自M位加法器126的被加數(shù)138為000001 + 111110 + 000001 =011101。總和142變?yōu)?00000 + 011110 = 011110。新指針偏移是基 于總和142的第6位為1來(lái)確定的。此導(dǎo)致選擇總和142 (其為011110)作為新指針偏 移。所述新指針接著變?yōu)?11101+100000=111110。因此,所揭示的標(biāo)的物提供一種用于可縮放可編程的循環(huán)式緩沖器100的指針計(jì)算 方法及系統(tǒng),其中循環(huán)式緩沖器100的起始位置與對(duì)應(yīng)于循環(huán)式緩沖器100的大小的二 的冪對(duì)準(zhǔn)。 一個(gè)單獨(dú)的寄存器含有循環(huán)式緩沖器100的長(zhǎng)度。通過(guò)對(duì)準(zhǔn)循環(huán)式緩沖器100的基址,所揭示的標(biāo)的物僅需要減法運(yùn)算來(lái)獲得指針位置。以此過(guò)程,僅需要如本文所描述的使用兩個(gè)M位加法器的兩個(gè)加法。本發(fā)明的方法允許變動(dòng)N及M以導(dǎo)出在若干 不同功率、速度及面積度量上最優(yōu)系列的循環(huán)式緩沖器100。本發(fā)明的方法及系統(tǒng)支持 帶正負(fù)號(hào)的偏移及可編程長(zhǎng)度。另外,所揭示的標(biāo)的物僅需要通用的M位加法器而無(wú)需于正跨步及負(fù)跨步使用同一數(shù)據(jù)路徑。本發(fā)明的方法及系統(tǒng)具有起始位置S,其與對(duì)應(yīng)于可含有緩沖器長(zhǎng)度L的存儲(chǔ)器大 小的二的冪對(duì)準(zhǔn)。緩沖器長(zhǎng)度L可需要或可不需要存儲(chǔ)為DU68中的狀態(tài)。所述過(guò)程占 用若干位B,其為大于L的二的冪。取位于基址與基址+L之間的指針R。所述過(guò)程接著 使用計(jì)算機(jī)指令并通過(guò)加上或減去常數(shù)來(lái)修改原始指針R以導(dǎo)出經(jīng)修改的指針R'。接著, 通過(guò)將B位的最低有效位(LSB)設(shè)定為零來(lái)調(diào)整起始位置S。所述過(guò)程接著通過(guò)取S與L 的邏輯"或"來(lái)確定終止位置E。如果經(jīng)修改指針R'是通過(guò)加上常數(shù)來(lái)導(dǎo)出的,則所述 過(guò)程包括從經(jīng)修改指針R'中減去終止位置E以導(dǎo)出新偏移位置0。如果偏移位置O為正, 那么最終結(jié)果通過(guò)取所確定的起始位置S與所導(dǎo)出的偏移位置O的邏輯"或"來(lái)導(dǎo)出。 如果經(jīng)修改指針R'是通過(guò)減去一個(gè)常數(shù)來(lái)導(dǎo)出的,那么所述過(guò)程包括從終止位置E中減 去經(jīng)修改指針R'以導(dǎo)出新偏移位置O。如果對(duì)應(yīng)于所修改指針R'的值B+l的位不等于對(duì) 應(yīng)于原始指針R的值B+l的位,那么最終結(jié)果為用于確立新指針位置R'的新起始位置S 與新偏移O的邏輯"或"。否則,新偏移O確定經(jīng)修改指針位置R'。對(duì)所揭示的標(biāo)的物的更改可包括直接編碼終止地址E,而非編碼位的數(shù)目的長(zhǎng)度L。 此可允許具有任意大小的循環(huán)式緩沖器,同時(shí)降低循環(huán)式緩沖器計(jì)算的大小及復(fù)雜度。為說(shuō)明本發(fā)明的教示的又一應(yīng)用,圖8提供所揭示的標(biāo)的物的替代性實(shí)施例,其作 為AGU80的一部分而用于DSP40中,其提供地址產(chǎn)生數(shù)據(jù)路徑的兩個(gè)相同例子, 一個(gè) 用于SLOTO, —個(gè)用于SL0T1。 AGU 80針對(duì)每一槽產(chǎn)生有效地址(EA)及自動(dòng)遞增地址 (AIA)兩者。EA產(chǎn)生是基于尋址模式且可以(a)寄存器模式、(b)具有立即偏移的寄存器模 式及(c)位反轉(zhuǎn)模式來(lái)評(píng)估。圖8中顯現(xiàn)的數(shù)據(jù)路徑展示具有如下文所描述的最終3:1 EA 多路復(fù)用器的每一方法。因此,參看圖8,顯現(xiàn)地址產(chǎn)生過(guò)程160。在地址產(chǎn)生過(guò)程160中,期望從CU 60 輸入到AGU 80中的立即偏移經(jīng)正負(fù)號(hào)/零擴(kuò)展成最大移位立即偏移寬度(19位)。AGU 80 將偏移正負(fù)號(hào)/零擴(kuò)展成32位。圖8的實(shí)施例也提供基于尋址模式的自動(dòng)遞增地址產(chǎn)生過(guò)程。自動(dòng)遞增地址產(chǎn)生過(guò) 程可以(a)添加立即偏移模式的寄存器,(b)添加M寄存器偏移模式的寄存器及(c)添加立 即偏移模式的寄存器循環(huán)來(lái)評(píng)估。圖8的地址產(chǎn)生過(guò)程160展示這些方法中的每一者。應(yīng)注意,非循環(huán)式自動(dòng)遞增地址計(jì)算是在AGU 80中完成的,其中在所說(shuō)明的實(shí)例 中,循環(huán)式自動(dòng)遞增地址計(jì)算也需要ALU82。因?yàn)檩d入或存儲(chǔ)指令不可兩者均先遞增以 產(chǎn)生EA且后遞增以產(chǎn)生AIA,所以EA與AIA可共用同一加法器。18在循環(huán)式尋址模式中,地址產(chǎn)生過(guò)程160以由可為正或負(fù)的跨步隔離的存取來(lái)保持 循環(huán)式緩沖器100。將指針的當(dāng)前值加到所述跨步。如果結(jié)果溢出或下溢循環(huán)式緩沖器 100的地址范圍,則(分別)減去或加上緩沖器長(zhǎng)度以使指針指回循環(huán)式緩沖器100內(nèi) 的一位置。在DSP40中,循環(huán)式緩沖器100的起始地址與比緩沖器的長(zhǎng)度大出最小的2的冪對(duì) 準(zhǔn)。如果跨步(其為立即偏移)為正,那么加法可導(dǎo)致兩個(gè)可能性。總和在循環(huán)式緩沖 器長(zhǎng)度內(nèi),在所述狀況下其為最終AIA值,或總和大于緩沖器長(zhǎng)度,在所述狀況下需要 減去緩沖器長(zhǎng)度。如果跨步為負(fù),那么加法可再次導(dǎo)致兩個(gè)結(jié)果。如果總和大于起始地址,那么總和為最終AIA值。如果總和小于起始地址,則需要 加上緩沖器長(zhǎng)度。此處數(shù)據(jù)路徑利用起始地址與2("2)對(duì)準(zhǔn)且長(zhǎng)度需要小于2(1{+2)的事實(shí), 其中K為指令指定的立即值。Rx [31:(K+2)]值在加法之前掩碼為零。反向掩碼保留字首 位[31:(K+2)]用于隨后使用。當(dāng)跨步(立即偏移)為正時(shí),緩沖器溢出是通過(guò)在AGU 80 加法器中將經(jīng)掩蔽的Rx加到跨步并在ALU 82加法器中從總和中減去所述長(zhǎng)度來(lái)確定 的。如果結(jié)果為正,那么AIA [(K+2)-l:0]來(lái)自ALU 82加法器,否則結(jié)果來(lái)自AGU 80 加法器。AIA [31:(K+2)]等于Rx [31:(K+2)]。當(dāng)跨步為負(fù)時(shí),緩沖器下溢是通過(guò)在AGU加法器中將經(jīng)掩蔽的Rx加到跨步來(lái)確定 的。如果此總和為正,那么AIA [(K+2)-l:0]來(lái)自AGU 80加法器。如果總和為負(fù),那么 在ALU 82加法器中將長(zhǎng)度加到總和,且AIA [(K+2)-l:0]來(lái)自ALU 82加法器。同樣, AIA [31:(K+2)]等于Rx [31:(K+2)]。應(yīng)注意,在ALU 82加法器中加上還是減去長(zhǎng)度是由偏移的正負(fù)號(hào)來(lái)確定的。關(guān)于 POR選項(xiàng)的問(wèn)題在于其添加一個(gè)與門(mén),以執(zhí)行對(duì)加法器的Rx輸入的掩蔽(在關(guān)鍵路徑 中)。替代性實(shí)施方案如下。在此狀況下,將Rx加到跨步。掩蔽AGU80加法器的總和(其對(duì)AIA為非關(guān)鍵的), 使得僅總和[(K+2)-l:0]作為一個(gè)輸入提供到ALU 82加法器,而長(zhǎng)度或其二補(bǔ)數(shù)作為其它 輸入提供。如果跨步為正,那么在ALU加法器中從經(jīng)掩蔽總和中減去長(zhǎng)度。如果結(jié)果為 正,那么AIA[(K+2)-l:0]來(lái)自AGU 80加法器且無(wú)溢出發(fā)生,否則結(jié)果來(lái)自ALU加法器 (溢出)。AIA[31:(K+2)]始終等于Rx [31:(K+2)]。如果跨步為負(fù),則將AGU加法器總和[31:2^+2)]與Rx [31:(K+2)]進(jìn)行比較。如果這 些字首位保持相同,則此意味著無(wú)下溢發(fā)生。在此狀況下,AIA[(K+2)-l:0]來(lái)自AGU80 加法器。如果字首位不同,那么存在下溢。在此狀況下,AGU80加法器中將長(zhǎng)度加到經(jīng)掩蔽總和。在此狀況下,AIA[(K+2):0]來(lái)自AGU80加法器。再次,AIA [31:(K+2)]始終 等于Rx[31:(K+2)]。以此方法,從關(guān)鍵路徑中消除掩碼"與"。然而,添加28位比較器。 本文所描述的處理特征及功能可以各種方式實(shí)施。舉例而言,不僅DSP40可執(zhí)行上 述運(yùn)算,而且本發(fā)明的實(shí)施例可實(shí)施于專用集成電路(ASIC)、微控制器、微處理器或經(jīng) 設(shè)計(jì)以執(zhí)行本文所描述的功能的其它電子電路中。因此,提供優(yōu)選實(shí)施例的先前描述以 使所屬領(lǐng)域的技術(shù)人員能制作或使用所主張的標(biāo)的物。所屬領(lǐng)域的技術(shù)人員將易了解對(duì) 這些實(shí)施例的各種修改,且本文所定義的一般原理可在不使用創(chuàng)新力的情況下應(yīng)用于其 它實(shí)施例。因此,所主張的標(biāo)的物并非意在限于本文所展示的實(shí)施例,而是符合與本文 所揭示的原理及新穎特征一致的最廣泛范圍。
權(quán)利要求
1.一種用于對(duì)循環(huán)式緩沖器進(jìn)行尋址的方法,所述方法包含以下步驟確立所述循環(huán)式緩沖器的長(zhǎng)度,所述長(zhǎng)度用于限制所述循環(huán)式緩沖器的可尋址范圍;確立所述循環(huán)式緩沖器的起始地址,所述起始地址與2的冪對(duì)準(zhǔn);確立所述循環(huán)式緩沖器的終止地址,所述終止地址位于距離所述起始地址所述長(zhǎng)度處且比所述長(zhǎng)度大出不到所述2的冪;確定所述循環(huán)式緩沖器內(nèi)的地址的當(dāng)前指針位置,所述當(dāng)前指針位置介于所述起始地址與所述終止地址之間;確定所述起始地址與所述終止地址之間的位的跨步值;通過(guò)從所述當(dāng)前指針位置移位所述跨步值的位的數(shù)目來(lái)確定所述循環(huán)式緩沖器內(nèi)的新指針位置;及通過(guò)所述新指針位置與所述長(zhǎng)度的算術(shù)運(yùn)算來(lái)確定將位于所述循環(huán)式緩沖器內(nèi)的經(jīng)調(diào)整的指針位置。
2. 根據(jù)權(quán)利要求l所述的方法,其進(jìn)一步包含在正跨步的情形下通過(guò)以下方式來(lái)設(shè)定 所述經(jīng)調(diào)整的指針位置的位置的步驟(a)在所述新指針位置小于所述終止地址的情 形下,將所述經(jīng)調(diào)整的指針位置調(diào)整為所述新指針位置;及(b)在所述新指針位置大 于所述終止地址的情形下,通過(guò)從所述新指針位置中減去所述長(zhǎng)度來(lái)調(diào)整所述經(jīng)調(diào) 整的指針。
3. 根據(jù)權(quán)利要求l所述的方法,其進(jìn)一步包含在負(fù)跨步的情形下通過(guò)以下方式來(lái)設(shè)定 所述經(jīng)調(diào)整的指針位置的位置的步驟(a)在所述新指針位置大于所述起始地址的情 形下,將所述經(jīng)調(diào)整的指針位置調(diào)整為所述新指針位置;及(b)在所述新指針位置小 于所述起始地址的情形下,通過(guò)將所述長(zhǎng)度加到所述新指針位置來(lái)調(diào)整所述經(jīng)調(diào)整 的指針。
4. 根據(jù)權(quán)利要求l所述的方法,其進(jìn)一步包含以下步驟在所述確定所述新指針位置 及確定所述經(jīng)調(diào)整的指針位置的步驟之前將所述起始地址的最低有效位設(shè)定為零。
5. 根據(jù)權(quán)利要求l所述的方法,其進(jìn)一步包含以下步驟在正跨步的情形下,通過(guò)在地址產(chǎn)生單元中將掩蔽地址作為所述當(dāng)前指針加到所述正跨步并在算術(shù)邏輯單元 加法器中從總和中減去所述長(zhǎng)度來(lái)導(dǎo)出所述經(jīng)調(diào)整的指針位置。
6. 根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包含在負(fù)跨步的情形下通過(guò)以下方式來(lái)導(dǎo)出 所述經(jīng)調(diào)整的指針位置的步驟在地址產(chǎn)生單元中將掩蔽地址作為所述當(dāng)前指針加 到所述負(fù)跨步,且在負(fù)總和的情形下,直接從所述地址產(chǎn)生單元中導(dǎo)出所述經(jīng)調(diào)整 的指針位置;否則,通過(guò)在算術(shù)邏輯單元中將所述長(zhǎng)度加到總和并從所述算術(shù)邏輯 單元中導(dǎo)出所述經(jīng)調(diào)整的指針位置來(lái)導(dǎo)出所述經(jīng)調(diào)整的指針位置。
7. 根據(jù)權(quán)利要求l所述的方法,其進(jìn)一步包含以下步驟在產(chǎn)生所述新指針位置時(shí), 使用與門(mén)來(lái)執(zhí)行對(duì)所述當(dāng)前指針輸入的掩蔽以產(chǎn)生進(jìn)入地址產(chǎn)生單元的加法器中 的輸入。
8. 根據(jù)權(quán)利要求l所述的方法,其進(jìn)一步包含以下步驟導(dǎo)出所述當(dāng)前指針位置與所述跨步的總和;掩蔽所述總和并將所述總和作為第一輸入提供到算術(shù)邏輯單元中的加法器電路, 并將所述長(zhǎng)度或所述長(zhǎng)度的二的補(bǔ)數(shù)作為第二輸入提供到所述加法器電路。
9. 一種用于確立對(duì)循環(huán)式緩沖器的尋址的系統(tǒng),其包含確立循環(huán)式緩沖器,所述循環(huán)式緩沖器包含所述循環(huán)式緩沖器的長(zhǎng)度,所述長(zhǎng)度用于限制所述循環(huán)式緩沖器的可尋址范 圍所述循環(huán)式緩沖器的起始地址,所述起始地址與2的冪對(duì)準(zhǔn);所述循環(huán)式緩沖器的終止地址,所述終止地址位于距離所述起始地址所述長(zhǎng)度 處且比所述長(zhǎng)度大出不到所述2的冪;地址產(chǎn)生單元,其用于確定所述循環(huán)式緩沖器內(nèi)的地址的當(dāng)前指針位置,所述當(dāng) 前指針位置介于所述起始地址與所述終止地址之間;跨步確定指令,其與所述地址產(chǎn)生單元相關(guān)聯(lián),用于確定所述起始地址與所述終 止地址之間的位的跨步值;新指針位置指令,其與所述地址產(chǎn)生單元相關(guān)聯(lián),用于通過(guò)從所述當(dāng)前指針位置 移位所述跨步值的位的數(shù)目來(lái)確定所述循環(huán)式緩沖器內(nèi)的新指針位置;及經(jīng)調(diào)整的指針位置指令,其與所述地址產(chǎn)生單元相關(guān)聯(lián),用于通過(guò)所述新指針位 置與所述長(zhǎng)度的算術(shù)運(yùn)算來(lái)確定將位于所述循環(huán)式緩沖器內(nèi)的經(jīng)調(diào)整的指針位置。
10. 根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述經(jīng)調(diào)整的指針位置指令進(jìn)一步包含用于在正 跨步的情形下通過(guò)以下方式來(lái)設(shè)定所述經(jīng)調(diào)整的指針位置的位置的指令(a)在所述 新指針位置小于所述終止地址的情形下,將所述經(jīng)調(diào)整的指針位置調(diào)整為所述新指針位置;及(b)在所述新指針位置大于所述終止地址的情形下,通過(guò)從所述新指針位 置中減去所述長(zhǎng)度來(lái)調(diào)整所述經(jīng)調(diào)整的指針。
11. 根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述經(jīng)調(diào)整的指針位置指令進(jìn)一步包含用于在負(fù) 跨步的情形下通過(guò)以下方式來(lái)設(shè)定所述經(jīng)調(diào)整的指針位置的位置的指令(a)在所述 新指針位置大于所述起始地址的情形下,將所述經(jīng)調(diào)整的指針位置調(diào)整為所述新指 針位置;及(b)在所述新指針位置小于所述起始地址的情形下,通過(guò)將所述長(zhǎng)度加到 所述新指針位置來(lái)調(diào)整所述經(jīng)調(diào)整的指針。
12. 根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述新指針位置指令進(jìn)一步包含用于在確定所述 新指針位置及確定所述經(jīng)調(diào)整的指針位置之前將所述起始地址的最低有效位設(shè)定 為零的指令。
13. 根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述經(jīng)調(diào)整的指針位置指令進(jìn)一步包含用于在正 跨步的情形下通過(guò)以下方式來(lái)導(dǎo)出所述經(jīng)調(diào)整的指針位置的指令在所述地址產(chǎn)生 單元中將掩蔽地址作為所述當(dāng)前指針加到所述正跨步并在算術(shù)邏輯單元加法器中 從總和中減去所述長(zhǎng)度。
14. 根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述經(jīng)調(diào)整的指針位置指令進(jìn)一步包含用于在負(fù) 跨步的情形下通過(guò)以下方式來(lái)導(dǎo)出所述經(jīng)調(diào)整的指針位置的指令在所述地址產(chǎn)生 單元中將掩蔽地址作為所述當(dāng)前指針加到所述負(fù)跨步,且在負(fù)總和的情形下,直接 從所述地址產(chǎn)生單元中導(dǎo)出所述經(jīng)調(diào)整的指針位置;否則通過(guò)在算術(shù)邏輯單元中將 所述長(zhǎng)度加到總和并從所述算術(shù)邏輯單元中導(dǎo)出所述經(jīng)調(diào)整的指針位置來(lái)導(dǎo)出所 述經(jīng)調(diào)整的指針位置。
15. 根據(jù)權(quán)利要求9所述的系統(tǒng),其進(jìn)一步包含算術(shù)邏輯單元,其用于與所述地址產(chǎn)生單元合作以確定所述當(dāng)前指針位置、所述 跨步值及所述經(jīng)調(diào)整的指針位置,且其中所述地址產(chǎn)生單元包含與門(mén)及加法器電路;且進(jìn)一步其中所述經(jīng)調(diào)整的指針位置指令包含用于在產(chǎn)生所述新指針位置時(shí)使用與門(mén)來(lái)執(zhí)行對(duì)所述當(dāng)前指針輸入的掩蔽以產(chǎn)生進(jìn)入地址產(chǎn)生單元的加法器中的輸 入的指令。
16. 根據(jù)權(quán)利要求9所述的系統(tǒng),其進(jìn)一步包含算術(shù)邏輯單元,其用于與所述地址產(chǎn)生單元合作以確定所述當(dāng)前指針位置、所述 跨步值及所述經(jīng)調(diào)整的指針位置;求和指令,其與所述經(jīng)調(diào)整的指針位置指令相關(guān)聯(lián),用于導(dǎo)出所述當(dāng)前指針位置 與所述跨步的總和;及掩蔽指令,其用于掩蔽所述總和并將所述總和作為第一輸入提供到算術(shù)邏輯單元 中的加法器電路,并將所述長(zhǎng)度或所述長(zhǎng)度的二的補(bǔ)數(shù)作為第二輸入提供到所述加 法器電路。
17. —種用于處理數(shù)字信號(hào)且包含循環(huán)式緩沖器控制及尋址裝置的數(shù)字信號(hào)處理器,其 包含用于確立所述循環(huán)式緩沖器的長(zhǎng)度的裝置,所述長(zhǎng)度用于限制所述循環(huán)式緩沖器 的可尋址范圍;用于確立所述循環(huán)式緩沖器的起始地址的裝置,所述起始地址與2的冪對(duì)準(zhǔn); 用于確立所述循環(huán)式緩沖器的終止地址的裝置,所述終止地址位于距離所述起始地址所述長(zhǎng)度處且比所述長(zhǎng)度大出不到2的冪;用于確定所述循環(huán)式緩沖器內(nèi)的地址的當(dāng)前指針位置的裝置,所述當(dāng)前指針位置介于所述起始地址與所述終止地址之間;用于確定所述起始地址與所述終止地址之間的位的跨步值的裝置;用于通過(guò)從所述當(dāng)前指針位置移位所述跨步值的位的數(shù)目來(lái)確定所述循環(huán)式緩沖器內(nèi)的新指針位置的裝置;及用于通過(guò)所述新指針位置與所述長(zhǎng)度的算術(shù)運(yùn)算來(lái)確定將位于所述循環(huán)式緩沖 器內(nèi)的經(jīng)調(diào)整的指針位置的裝置。
18. 根據(jù)權(quán)利要求17所述的數(shù)字信號(hào)處理器,其進(jìn)一步包含用于在正跨步的情形下通 過(guò)以下方式來(lái)設(shè)定所述經(jīng)調(diào)整的指針位置的位置的裝置(a)在所述新指針位置小于 所述終止地址的情形下,將所述經(jīng)調(diào)整的指針位置調(diào)整為所述新指針位置;及(b) 在所述新指針位置大于所述終止地址的情形下,通過(guò)從所述新指針位置中減去所述 長(zhǎng)度來(lái)調(diào)整所述經(jīng)調(diào)整的指針。
19. 根據(jù)權(quán)利要求17所述的數(shù)字信號(hào)處理器,其進(jìn)一步包含用于在負(fù)跨步的情形下通 過(guò)以下方式來(lái)設(shè)定所述經(jīng)調(diào)整的指針位置的位置的裝置(a)在所述新指針位置大于 所述起始地址的情形下,將所述經(jīng)調(diào)整的指針位置調(diào)整為所述新指針位置;及(b) 在所述新指針位置小于所述起始地址的情形下,通過(guò)將所述長(zhǎng)度加到所述新指針位 置來(lái)調(diào)整所述經(jīng)調(diào)整的指針。
20. 根據(jù)權(quán)利要求17所述的數(shù)字信號(hào)處理器,其進(jìn)一步包含用于在所述確定所述新指針位置及確定所述經(jīng)調(diào)整的指針位置的步驟之前將所述起始地址的最低有效位設(shè) 定為零的裝置。
21. 根據(jù)權(quán)利要求17所述的數(shù)字信號(hào)處理器,其進(jìn)一步包含用于在正跨步的情形下通 過(guò)以下方式來(lái)導(dǎo)出所述經(jīng)調(diào)整的指針位置的裝置在地址產(chǎn)生單元中將掩蔽地址作 為所述當(dāng)前指針加到所述正跨步,并在算術(shù)邏輯單元加法器中從總和中減去所述長(zhǎng) 度。
22. 根據(jù)權(quán)利要求17所述的數(shù)字信號(hào)處理器,其進(jìn)一步包含用于在負(fù)跨步的情形下通 過(guò)以下方式來(lái)導(dǎo)出所述經(jīng)調(diào)整的指針位置的裝置在地址產(chǎn)生單元中將掩蔽地址作 為所述當(dāng)前指針加到所述負(fù)跨步,且在負(fù)總和的情形下,直接從所述地址產(chǎn)生單元 中導(dǎo)出所述經(jīng)調(diào)整的指針位置;否則,通過(guò)在算術(shù)邏輯單元中將所述長(zhǎng)度加到總和 并從所述算術(shù)邏輯單元中導(dǎo)出所述經(jīng)調(diào)整的指針位置來(lái)導(dǎo)出所述經(jīng)調(diào)整的指針位 置。
23. 根據(jù)權(quán)利要求17所述的數(shù)字信號(hào)處理器,其進(jìn)一步包含用于在產(chǎn)生所述新指針位 置時(shí)使用與門(mén)來(lái)執(zhí)行對(duì)所述當(dāng)前指針輸入的掩蔽以產(chǎn)生進(jìn)入地址產(chǎn)生單元的加法 器中的輸入的裝置。
24. 根據(jù)權(quán)利要求17所述的數(shù)字信號(hào)處理器,其進(jìn)一步包含用于導(dǎo)出所述當(dāng)前指針位置與所述跨步的總和的裝置;及用于掩蔽所述總和并將所述總和作為第一輸入提供到算術(shù)邏輯單元中的加法器 電路并將所述長(zhǎng)度或所述長(zhǎng)度的二的補(bǔ)數(shù)作為第二輸入提供到所述加法器電路的 裝置。
25. —種計(jì)算機(jī)可用媒體,其具有實(shí)施于其中用于處理數(shù)字信號(hào)處理器上的指令的計(jì)算 機(jī)可讀程序碼裝置,所述計(jì)算機(jī)可用媒體包含用于確立所述循環(huán)式緩沖器的長(zhǎng)度的計(jì)算機(jī)可讀程序碼裝置,所述長(zhǎng)度用于限制 所述循環(huán)式緩沖器的可尋址范圍;用于確立所述循環(huán)式緩沖器的起始地址的計(jì)算機(jī)可讀程序碼裝置,所述起始地址 與2的冪對(duì)準(zhǔn);用于確立所述循環(huán)式緩沖器的終止地址的計(jì)算機(jī)可讀程序碼裝置,所述終止地址位于距離所述起始地址所述長(zhǎng)度處且比所述長(zhǎng)度大出不到所述2的冪;用于確定所述循環(huán)式緩沖器內(nèi)的地址的當(dāng)前指針位置的計(jì)算機(jī)可讀程序碼裝置,所述當(dāng)前指針位置介于所述起始地址與所述終止地址之間;用于確定所述起始地址與所述終止地址之間的位的跨步值的計(jì)算機(jī)可讀程序碼 裝置;用于通過(guò)從所述當(dāng)前指針位置移位所述跨步值的位的數(shù)目來(lái)確定所述循環(huán)式緩 沖器內(nèi)的新指針位置的計(jì)算機(jī)可讀程序碼裝置;及用于通過(guò)所述新指針位置與所述長(zhǎng)度的算術(shù)運(yùn)算來(lái)確定將位于所述循環(huán)式緩沖 器內(nèi)的經(jīng)調(diào)整的指針位置的計(jì)算機(jī)可讀程序碼裝置。
26. 根據(jù)權(quán)利要求25所述的計(jì)算機(jī)可用媒體,其進(jìn)一步包含用于在正跨步的情形下通 過(guò)以下方式來(lái)設(shè)定所述經(jīng)調(diào)整的指針位置的位置的計(jì)算機(jī)可讀程序碼裝置(a)在所 述新指針位置小于所述終止地址的情形下,將所述經(jīng)調(diào)整的指針位置調(diào)整為所述新 指針位置;及(b)在所述新指針位置大于所述終止地址的情形下,通過(guò)從所述新指針 位置中減去所述長(zhǎng)度來(lái)調(diào)整所述經(jīng)調(diào)整的指針。
27. 根據(jù)權(quán)利要求25所述的計(jì)算機(jī)可用媒體,其進(jìn)一步包含用于在負(fù)跨步的情形下通 過(guò)以下方式來(lái)設(shè)定所述經(jīng)調(diào)整的指針位置的位置的計(jì)算機(jī)可讀程序碼裝置(a)在所 述新指針位置大于所述起始地址的情形下,將所述經(jīng)調(diào)整的指針位置調(diào)整為所述新 指針位置;及(b)在所述新指針位置小于所述起始地址的情形下,通過(guò)將所述長(zhǎng)度加 到所述新指針位置來(lái)調(diào)整所述經(jīng)調(diào)整的指針。
全文摘要
本發(fā)明揭示用于處理用于包括在通信(例如CDMA)系統(tǒng)中的多種應(yīng)用的數(shù)字信號(hào)的技術(shù)。通過(guò)確立循環(huán)式緩沖器的長(zhǎng)度、與2的冪對(duì)準(zhǔn)的起始地址及位于距離所述起始地址所述長(zhǎng)度處且比所述長(zhǎng)度大出不到2的冪的終止地址來(lái)確定循環(huán)式緩沖器內(nèi)的指針位置。所述方法及系統(tǒng)確定循環(huán)式緩沖器內(nèi)的地址的當(dāng)前指針位置、起始地址與終止地址之間的位的跨步值、循環(huán)式緩沖器內(nèi)的將當(dāng)前指針位置加到所述跨步值的新指針位置。經(jīng)調(diào)整的指針位置通過(guò)所述新指針位置與所述長(zhǎng)度的算術(shù)運(yùn)算而在所述循環(huán)式緩沖器內(nèi)。
文檔編號(hào)G06F9/355GK101331449SQ200680046767
公開(kāi)日2008年12月24日 申請(qǐng)日期2006年10月20日 優(yōu)先權(quán)日2005年10月20日
發(fā)明者盧西恩·科德雷斯庫(kù), 埃里?!て樟_恩德克, 威廉·C·安德森, 茂 曾, 穆罕默德·艾哈邁德, 蘇賈特·賈米爾 申請(qǐng)人:高通股份有限公司