两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

用于實(shí)時(shí)信號(hào)處理的方法和裝置的制作方法

文檔序號(hào):6478610閱讀:187來源:國(guó)知局
專利名稱:用于實(shí)時(shí)信號(hào)處理的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明總體上涉及實(shí)時(shí)信號(hào)處理的領(lǐng)域,并且更具體地說,關(guān)注于以下問題由于 期望在諸如手持裝置或機(jī)頂盒這樣的單個(gè)設(shè)備或單個(gè)封裝中呈現(xiàn)越來越多的各種不同數(shù) 據(jù)通信特征的聚合,而增加了對(duì)信號(hào)處理的需要。
背景技術(shù)
當(dāng)今,手持裝置、機(jī)頂盒和其它單個(gè)設(shè)備封裝中用于數(shù)字信號(hào)處理(DSP)軟件算 法計(jì)算的處理器要面對(duì)以下問題適應(yīng)各種不同實(shí)時(shí)信號(hào)處理需要的聚合以及要求在單個(gè) 設(shè)備中操控多種受控處理能力。越來越多混合了不斷演進(jìn)的技術(shù)標(biāo)準(zhǔn)的特征在單個(gè)設(shè)備中 的這種聚合已經(jīng)導(dǎo)致信號(hào)處理的需求成指數(shù)增加,從而帶來了新的技術(shù)挑戰(zhàn)。在各種應(yīng)用 中,對(duì)于移動(dòng)設(shè)備和家庭網(wǎng)絡(luò)標(biāo)準(zhǔn)應(yīng)用與服務(wù)來說尤其如此。對(duì)于新興市場(chǎng)中當(dāng)前的片上系統(tǒng)(SoC)設(shè)計(jì)而言,現(xiàn)有的技術(shù)選擇包括上述 DSP、通用處理器(GPP)和專用集成電路(ASIC)塊。但是,不利之處在于,這些技術(shù)中的每 一種技術(shù)都不能完全解決所述問題。在這些不能完全解決所述問題的技術(shù)中,DSP是可編 程的。然而,雖然DSP對(duì)于不同應(yīng)用是可編程的,并且為以DSP作為中心的算法(例如,語 音和數(shù)據(jù)通信)提供了良好的實(shí)時(shí)性能,但是DSP具有有限的內(nèi)容處理能力。對(duì)于GPP, 其對(duì)于不同應(yīng)用也是可編程的,但是實(shí)時(shí)性能差并且要求非常廣泛的受控處理能力。至于 ASIC塊方法,雖然就處理性能而言可以針對(duì)具體應(yīng)用算法進(jìn)行優(yōu)化,但是該技術(shù)具有非常 有限的可編程性并且對(duì)新的應(yīng)用、技術(shù)和標(biāo)準(zhǔn)來說通常是不可重用的。此外,為了嘗試組合 這三種技術(shù)方法,提供了折衷的幾乎不可能性(trade-off near-impossibility)(例如, Qualcomm3GMM基帶——試圖在單個(gè)SoC中組合2DSP+2GPP+13ASIC加速器塊來滿足要求)。 此外,這種方法需要用于許多可能的特征的專用硬件,其中,所述硬件在這種使用模式下未 同時(shí)被運(yùn)用,但是卻始終占據(jù)管芯區(qū)域并消耗功率。作為“解決方案”的當(dāng)前技術(shù)的問題在于以下事實(shí)隨著部件和系統(tǒng)的可擴(kuò)展性成 為不斷緊迫的問題,系統(tǒng)變得越來越復(fù)雜、不靈活并且昂貴,需要更多導(dǎo)致高度復(fù)雜的系統(tǒng) 的專用核心。此外,新的特征、應(yīng)用和標(biāo)準(zhǔn)變得更難于合并。更復(fù)雜的系統(tǒng)還意味著更長(zhǎng)的 開發(fā)周期和更高的成本/性能比。實(shí)際上,如之后充分解釋的,本發(fā)明通過提供一種新穎的可編程核心而提出了解 決方案,所述可編程核心滿足當(dāng)前設(shè)備應(yīng)用的所有處理需要,而這是盡管本領(lǐng)域一直在努 力提出改進(jìn),但當(dāng)前處理器架構(gòu)仍不能實(shí)現(xiàn)的。無論如何,從CISC(復(fù)雜指令集計(jì)算機(jī))到RISC (精簡(jiǎn)指令集計(jì)算機(jī)),流水線處 理器的出現(xiàn)的確顯著地提高了執(zhí)行速度。以5個(gè)指令為例,CISC需要31個(gè)周期來串行地執(zhí) 行這些指令;而流水線RISC提供了 350%的改進(jìn)。當(dāng)前的深流水線多發(fā)射(multi-issue) DSP架構(gòu)允許針對(duì)流水線的實(shí)現(xiàn)而增加硬件和增加功能單元,從而以更快的總線和提高的 時(shí)鐘速率提高數(shù)據(jù)流的并行度。但是,這會(huì)導(dǎo)致增加復(fù)雜度、更大的管芯尺寸以及更高的功 耗。更為重要的是,隨著新興應(yīng)用需要更多不同的信號(hào)處理算法,很多算法超出傳統(tǒng)DSP技
5術(shù)(例如語音、音頻、視頻圖像處理、數(shù)據(jù)通信等)所能適應(yīng)的范圍。雖然流水線架構(gòu)提高了 CPU的性能,但是當(dāng)計(jì)算的順序不同于在流水線中對(duì)齊的功能塊時(shí),流水線解決方案喪失了 其優(yōu)勢(shì)。在該情況下,計(jì)算花費(fèi)更長(zhǎng)時(shí)間。流水線解決方案在操作中也不總是非常有效率 的。例如,加載和存儲(chǔ)指令從不使用用于算術(shù)計(jì)算的級(jí)。此外,特定的流水線不能滿足所有 算法的需要一在移動(dòng)和消費(fèi)設(shè)備中期望的各種實(shí)時(shí)信號(hào)處理正成爆發(fā)性增長(zhǎng),而當(dāng)前的 DSP和GPP技術(shù)不能充分地滿足這些新興的信號(hào)處理需要。
相信本發(fā)明通過可編程核心和可重配置流水線提供了突破性解決方案,所述可編 程核心和可重配置流水線通過以下技術(shù)的新穎組合很好地滿足了當(dāng)今不同應(yīng)用的處理需 要為優(yōu)化基于固定流水線架構(gòu)的控制程序而開發(fā)的基于微處理器的技術(shù),和用于不同領(lǐng) 域的電信設(shè)備(包括互聯(lián)網(wǎng)路由器/交換機(jī)和嵌入式處理器)的切換(switch)構(gòu)造技術(shù)。 實(shí)際上,本發(fā)明是將CISC架構(gòu)和RISC架構(gòu)兩者的長(zhǎng)處進(jìn)行組合,但是卻超過當(dāng)前高性能 DSP核心的性能,其為適于各種處理需要(包括通信算法、多媒體處理(音頻、視頻、成像)、 網(wǎng)絡(luò)協(xié)議、控制功能等)的通用處理器和架構(gòu)提供了可編程性和靈活性——簡(jiǎn)而言之,提供 了用于“聚合的”(converged)世界的應(yīng)用“不可知的”(agnostic)架構(gòu)。

發(fā)明內(nèi)容
因此,本發(fā)明的主要目的是提供新的并且改進(jìn)的方法和架構(gòu)裝置或系統(tǒng),用于處 理各種不同實(shí)時(shí)信號(hào)處理應(yīng)用的軟件計(jì)算指令,包括用于處理單個(gè)設(shè)備中的聚合,該方法、 架構(gòu)裝置或系統(tǒng)將沒有現(xiàn)有技術(shù)方法的任何上面描述的限制和/或缺點(diǎn),相反,其滿足當(dāng) 今設(shè)備和不斷擴(kuò)展的應(yīng)用的處理需求。進(jìn)一步的目的是通過將基于微處理器的技術(shù)與來自切換電信的不同領(lǐng)域的切換 構(gòu)造技術(shù)進(jìn)行新穎的組合來提供這種改進(jìn)。再一個(gè)目的是提供可編程嵌入式處理器與可重配置的流水線級(jí)的新穎組合,其 中,對(duì)處理器功能部件的配置允許靈活的、針對(duì)具體應(yīng)用設(shè)置的流水線,這與之前的固定的 單一流水線數(shù)據(jù)流是不同的。另一個(gè)目的是通過交叉連接的切換構(gòu)造以動(dòng)態(tài)、并行和靈活的方式來提供這種靈 活性,其中,通過每個(gè)應(yīng)用的指令集在操作期間實(shí)時(shí)地配置所述切換構(gòu)造。又一個(gè)目的是提供這種新穎技術(shù),其中,在應(yīng)用軟件指令解碼之后,流水線級(jí)的長(zhǎng) 度和流水線級(jí)的順序根據(jù)時(shí)間或應(yīng)用的不同而改變。再又一個(gè)目的是提供這種新的可編程嵌入式處理器和可重配置的流水線,其中, 該架構(gòu)是可擴(kuò)展的,并且其中,該處理器被配置來執(zhí)行并行處理,從而充分使用內(nèi)部處理器 功能部件的計(jì)算能力。其它和進(jìn)一步的目的將被在后面指出并且在所附權(quán)利要求中更完整地描述。但是,總的來說,從其新穎方法方面來說,本發(fā)明包括一種用于處理饋送到處理器 的計(jì)算機(jī)軟件計(jì)算指令的方法,所述方法包括編譯并分析輸入的用戶軟件應(yīng)用以確定每 個(gè)軟件應(yīng)用需要執(zhí)行的具體計(jì)算任務(wù);實(shí)時(shí)生成指令集,用于所述處理器和具體應(yīng)用所需 的所述處理器的功能部件間的連接的每種應(yīng)用配置;通過切換件將所述處理器連接到數(shù)據(jù) 流水線,所述數(shù)據(jù)流水線的流水線級(jí)的長(zhǎng)度和順序是可不同配置的;以及在針對(duì)每個(gè)具體 應(yīng)用而配置的所述處理器部件間通過所述切換件以動(dòng)態(tài)、并行和靈活的方式進(jìn)行通信,從而相應(yīng)地為每一個(gè)具體應(yīng)用配置適當(dāng)長(zhǎng)度和順序的流水線級(jí)。
對(duì)于針對(duì)本發(fā)明的實(shí)踐的裝置實(shí)現(xiàn)來說,設(shè)想一種靈活的數(shù)據(jù)流水線架構(gòu),用于 適應(yīng)基本上所有類型的用于不同應(yīng)用的軟件計(jì)算指令集,所述數(shù)據(jù)流水線架構(gòu)具有組合的 可編程嵌入式處理器和可重配置的流水線級(jí),響應(yīng)于不同應(yīng)用的指令集,所述流水線級(jí)的 順序和長(zhǎng)度發(fā)生改變,從而建立相對(duì)應(yīng)的處理器及其功能部件間的連接的配置,以特別適 用于所述應(yīng)用。相對(duì)于之前提及的現(xiàn)有DSP和GPP技術(shù),本發(fā)明的新穎的嵌入式處理器架構(gòu)實(shí)現(xiàn) 了更大的可擴(kuò)展性和靈活性,并且重要的是應(yīng)用不可知性和需要較短的應(yīng)用開發(fā)周期以及 較低的成本/性能比。后文詳細(xì)地描述了優(yōu)選和最佳模式的實(shí)施例。


現(xiàn)在將參照附圖來描述本發(fā)明,圖1是由Nokia在2005年所公布的餅圖,其說明 了之前討論的各種實(shí)時(shí)信號(hào)處理應(yīng)用需求,以及與互聯(lián)網(wǎng)一起使用的單個(gè)設(shè)備中所需的良 好的控制處理能力——用于說明性的“媒體、電信、消費(fèi)電子、信息技術(shù)和娛樂”應(yīng)用的數(shù)字 內(nèi)容、服務(wù)、軟件和設(shè)備。圖2是類似的Nokia的無需說明的圖,其示出了在單個(gè)設(shè)備(“聚合設(shè)備”)中混 合了不斷增加的技術(shù)標(biāo)準(zhǔn)的許多特征的聚合,這些不斷增加的技術(shù)標(biāo)準(zhǔn)推動(dòng)了信號(hào)處理需 求(如所示出的“蜂窩接入”、“熱點(diǎn)接入”、“鄰近的和個(gè)人區(qū)域接入”以及“廣播大眾媒體 TV”)的增長(zhǎng);圖3是類似的聚合家庭網(wǎng)絡(luò)系統(tǒng)圖,其涉及公用服務(wù)的提供、電信/有線廣播以 及家庭裝置應(yīng)用,再次表明需要在網(wǎng)絡(luò)中適應(yīng)大量不同技術(shù)、不同家庭網(wǎng)絡(luò)標(biāo)準(zhǔn)和不同服 務(wù)——所有這些導(dǎo)致信號(hào)處理需求的增加;圖4是以簡(jiǎn)化形式示出本發(fā)明的可編程嵌入式核心處理器-可重配置的流水線系 統(tǒng)和方法的優(yōu)選實(shí)施例的組合框圖和電路示意圖;圖5是說明了對(duì)圖4的核心處理器進(jìn)行編程的步驟的流程圖;圖6是用一條指令對(duì)圖4的多個(gè)存儲(chǔ)器單元進(jìn)行配置的圖;圖7是圖4的詳細(xì)的切換控制指令和控制單元的框圖和電路示意圖;圖8類似地說明了圖4的系統(tǒng)用于對(duì)三條匯編指令進(jìn)行示例性并行處理的靈活的 流水線和并行處理;圖9是說明本發(fā)明的核心編譯器操作(圖5)的圖表;以及圖10示出了本發(fā)明的通用信號(hào)處理應(yīng)用-操控的靈活性。
具體實(shí)施例方式首先參照?qǐng)D4中所示的本發(fā)明的基本且通用的流水線結(jié)構(gòu)和方法圖,在P處總體 地示出可編程嵌入式處理器的靈活的數(shù)據(jù)流水線架構(gòu),在PS處示出可重配置的流水線級(jí)。 在程序存儲(chǔ)器1中存儲(chǔ)的軟件應(yīng)用指令可以在2處被獲取并且在3處被解碼,以用于控制 交叉連接的切換矩陣5的切換控制4。盡管本發(fā)明的處理器P可以具有與在當(dāng)前RISC處理器中所使用的功能部件的類型相同的功能部件(示出為算術(shù)執(zhí)行單元EXl-EXn (例如,乘法器、加法器、移位器或流水線 乘法器)和存儲(chǔ)器單元(例如,在MUl-MUn處的數(shù)據(jù)存儲(chǔ)器組)),但是在本發(fā)明的可編程處 理器中的這些部件以與RISC處理器基本不同的方式來彼此通信。在當(dāng)今的固定級(jí)流水線 的RISC處理器中,以固定的順序來執(zhí)行指令。因此,在這種處理器中的功能單元沒有被有 效率地使用并且它們變得越來越復(fù)雜和昂貴。
取代將類似功能單元排列到流水線中的是,本發(fā)明使用切換矩陣5來提供連接類 似功能單元的靈活性,以針對(duì)具體的軟件應(yīng)用指令集所要求的特定任務(wù)來對(duì)它們進(jìn)行調(diào) 整或配置。此外,交叉連接的切換矩陣5將執(zhí)行單元EXl-EXn連接到一側(cè),而將存儲(chǔ)器塊 MUl-MUn連接到另一側(cè),從而在不同時(shí)間根據(jù)不同應(yīng)用的不同軟件算法來將它們配置為不 同結(jié)構(gòu)。在圖5中示出了對(duì)程序存儲(chǔ)器1進(jìn)行的編程,其中,編譯器6將C/C++源代碼程序 轉(zhuǎn)換成機(jī)器代碼指令7,并且將其饋送到程序存儲(chǔ)器1。這些指令包括用于將執(zhí)行單元設(shè) 置為操作模式的傳統(tǒng)指令、用于實(shí)現(xiàn)在不同硬件執(zhí)行單元之間的連接的專用切換控制指令 SC,以及用于設(shè)置存儲(chǔ)器單元操作的參數(shù)的專用存儲(chǔ)器單元配置指令MU。編譯器6基于特 定指令序列和硬件可用性來對(duì)任意具體給定的程序采用并行操作。然后,編譯器以適當(dāng)時(shí) 序產(chǎn)生機(jī)器指令,用于配置硬件單元EX、MU和DMA (直接存儲(chǔ)器存取),以及它們之間的連 接,如在圖9的圖表中所示。如之前所提及的,在RISC類型操作中,指令用固定流水線級(jí)且全部在相同的固定 時(shí)鐘周期內(nèi)被執(zhí)行,而如之前所提及的,本發(fā)明的交叉連接的切換矩陣5連接執(zhí)行單元EX 和存儲(chǔ)器塊MU,從而在不同時(shí)間針對(duì)不同算法將它們配置成不同結(jié)構(gòu)。在程序編譯時(shí)間期 間確定交叉連接的切換矩陣5的連接。編譯器分析程序中的每一個(gè)任務(wù)?;诖藭r(shí)可用的 資源,決定為當(dāng)前任務(wù)配置可用資源或者拖延指令執(zhí)行。在圖中的執(zhí)行單元EX和存儲(chǔ)器 組被設(shè)置路線成允許并行執(zhí)行多個(gè)任務(wù)的網(wǎng)絡(luò)。或者將所有資源配置到一個(gè)大流水線。但 是,每個(gè)執(zhí)行單元EX的功能可能花費(fèi)多個(gè)周期來完成。每個(gè)EX可以具有唯一的功能并且 可以針對(duì)更復(fù)雜的功能來進(jìn)行配置。這些是很難通過固定流水線解決方案來實(shí)現(xiàn)的。從一 個(gè)EX到另一個(gè)EX的所有此類數(shù)據(jù)都通過該切換矩陣而不是現(xiàn)有技術(shù)的總線,然后到存儲(chǔ) 器或其它部件。這很大程度上減少了所需的總線帶寬。如之前所解釋的,符號(hào)EX是算術(shù)單元——乘法器、加法器、移位器或流水線乘法器 等。一個(gè)乘法器可以例如由許多加法器構(gòu)建。例如,一個(gè)16X16乘法器可以由16個(gè)加法 器構(gòu)建。此外,這些加法器可以被流水線化。這意味著可以在一定數(shù)量的周期之后完成一 個(gè)乘法器。例如,A+B+C+C通常必須在四個(gè)周期中執(zhí)行。如果加法器被作為乘法器,那么四 個(gè)加法可以在一個(gè)周期中執(zhí)行。因此,EX可以非常的靈活并且在運(yùn)行時(shí)可以由操作碼來構(gòu) 建。連接到切換矩陣5的多個(gè)存儲(chǔ)器組MU為并行處理提供數(shù)據(jù)。與僅具有一個(gè)存儲(chǔ)器并 且在每個(gè)周期僅可以獲取一段數(shù)據(jù)的通用CPU設(shè)計(jì)不同,每個(gè)EX可以要求其自身的數(shù)據(jù)。 此外,可以針對(duì)等式配置EX單元。使用本發(fā)明的方法,在通用處理器或DSP中可以處理多 個(gè)EX而不僅是一個(gè)EX。這在解決更復(fù)雜的問題中提供了效率。本發(fā)明的架構(gòu)可以同時(shí)處理多個(gè)數(shù)據(jù)并且將其寫回,這使得可以更有效率地完全 使用在設(shè)備內(nèi)的硬件,而不像傳統(tǒng)的通用處理器和DSP那樣,任何時(shí)刻都只能使用一個(gè)資 源而使剩下的資源處于空閑。在編譯時(shí)間期間的可配置性不僅最小化了邏輯設(shè)計(jì)的復(fù)雜性而且還可以支持更多的應(yīng)用。為了應(yīng)對(duì)不斷增加的計(jì)算力的需要,當(dāng)今的流水線DSP和通用處理器設(shè)計(jì)采用兩種常用的方法——增加時(shí)鐘速率以及集成越來越多的加速器。但是,所需的不是更快的指 令解碼器或更快的指令獲取。當(dāng)需要更強(qiáng)的計(jì)算力時(shí),本發(fā)明在設(shè)計(jì)階段期間簡(jiǎn)單地使用 更多執(zhí)行單元并且保持處理器設(shè)計(jì)的其它部分不變。管芯將有非常有限的增大。結(jié)果,與 當(dāng)前固定級(jí)流水線方法相比,將功耗將更低并且管芯尺寸將更小。本發(fā)明的架構(gòu)覆蓋通用 處理器和DSP 二者。返回到圖4,在3處解碼的應(yīng)用指令為切換矩陣5的切換控制4提供切換控制數(shù) 據(jù)SC,繼而,切換控制4提供在9處示意性說明的切換控制矢量,用于實(shí)現(xiàn)切換邏輯。該控 制提供切換矢量,如所示出的,用于為每個(gè)應(yīng)用設(shè)置從一個(gè)EX單元的輸出到另一個(gè)EX單元 的輸入的連接;從任何MU單元到EX輸入的連接;從DMA (直接存儲(chǔ)器存取)到任何MU的連 接;以及從指令解碼3到任何EX、MU或DMA的連接。這在圖7中更詳細(xì)地描述,其中,四個(gè) 觸發(fā)器FF1-FF4在上電之后都被設(shè)置為默認(rèn)的切換控制矢量值。切換擴(kuò)展指令的控制信號(hào) 將設(shè)置適當(dāng)?shù)氖噶课?1,5,7),在9處設(shè)置控制矢量邏輯以為切換控制選擇正確的時(shí)隙,來 針對(duì)期望的單元切換連接激勵(lì)適當(dāng)?shù)挠|發(fā)器,從而通過矩陣5來配置處理器??梢岳鐝?之前的美國(guó)專利Nos. 6,999,464 ;6,684,317 ;7,039,851以及本文所引用的參考中,獲得這 種切換結(jié)構(gòu)的切換控制時(shí)隙的公知矢量位邏輯選擇的其它細(xì)節(jié)。如圖6所示,如果期望的話,指令解碼3可以用一條指令配置多個(gè)處理器存儲(chǔ)器 單元。存儲(chǔ)器單元配置指令為給定存儲(chǔ)器單元設(shè)置以下參數(shù)存儲(chǔ)器訪問的起始地址;在 每次訪問之后自動(dòng)存儲(chǔ)器地址增量(+1、+2、+4等);以及存儲(chǔ)器訪問頻率,例如每1,2, 3,...個(gè)時(shí)鐘周期。在圖8中針對(duì)并行處理三條匯編指令的情況呈現(xiàn)了本發(fā)明的具有靈活可重配置 的流水線和并行處理能力的示例,其具有乘法器單元MULTl和2以及單元ALUl和2(算術(shù) 邏輯單元)以及存儲(chǔ)器單元MU1-4,在其下列出了矢量積、移動(dòng)和矢量和的細(xì)節(jié)。用虛線示 出了在單元MULTl與MUl、MU2以及ALUl間配置的連接,而用實(shí)線箭頭示出了從ALUl到MUl 的連接。MU3到ALU2的配置的連接用點(diǎn)線來指示,而在MU4和DMA之間的連接由點(diǎn)劃線來 指示。圖9是切換矩陣5的內(nèi)部關(guān)聯(lián)配置匯編指令的矩陣圖。圖5的核心編譯器6檢查 具體應(yīng)用的資源需求、完成處理器硬件單元的期望配置的切換矩陣需求以及每個(gè)指令的傳 播延遲。其將這些匯編指令翻譯為三種類型的機(jī)器指令(0P、SG、MU)。如果能適當(dāng)?shù)刈罴?使用所有處理器硬件單元,則可以將這些機(jī)器指令進(jìn)行組合和重排序。最后,確定將機(jī)器指 令釋放到流水線PS的時(shí)間。相對(duì)于現(xiàn)有的信號(hào)處理技術(shù),本發(fā)明提供的架構(gòu)優(yōu)勢(shì)還包括通過將中間數(shù)據(jù)存 儲(chǔ)到ALU最小化了存儲(chǔ)器和寄存器訪問;減輕了互連總線的負(fù)擔(dān);通過使得可以進(jìn)行實(shí)際 的并行處理消除了并行指令執(zhí)行的瓶頸;以及使處理器硬件資源被更充分并有效率地使 用。此外,對(duì)于大多數(shù)信號(hào)處理算法來說,減少了總共所需的周期并且能夠以比當(dāng)前信號(hào)處 理架構(gòu)更低的時(shí)鐘速率來處理同一應(yīng)用。本發(fā)明降低了功耗,需要更少的流水線級(jí),更小的 邏輯復(fù)雜性和更小的管芯尺寸。例如,考慮通常用在視頻壓縮中的離散余弦變換計(jì)算的情況。用通用的5級(jí)流水線處理器來計(jì)算該等式,要花費(fèi)22個(gè)周期。對(duì)于使用乘法器累積的DSP來說,要花費(fèi)10個(gè) 時(shí)鐘周期。使用一個(gè)執(zhí)行單元的本發(fā)明的架構(gòu)花費(fèi)6個(gè)時(shí)鐘周期;使用兩個(gè)執(zhí)行單元時(shí)花 費(fèi)3個(gè)周期加上一個(gè)用于時(shí)延的周期;用三個(gè)執(zhí)行單元時(shí)花費(fèi)2個(gè)周期加上用于延遲的2 個(gè)周期;當(dāng)執(zhí)行單元的數(shù)量增加到5時(shí),花費(fèi)1個(gè)周期加上4個(gè)時(shí)延周期。作為另一個(gè)示例,在RISC系統(tǒng)中典型的流水線需要三條指令。如果等式需要被執(zhí) 行N次,那么典型的RISC系統(tǒng)所需的總周期是3*N,而用本發(fā)明的方法,僅需要N+1個(gè)周期, 從而節(jié)省了大量的總周期數(shù)量。總而言之,本發(fā)明提供了新穎的軟件解決方案,其能夠支持在單個(gè)設(shè)備中的多個(gè) 協(xié)議和多個(gè)功能??膳渲玫挠布Y(jié)構(gòu)使得其適合于許多應(yīng)用。多個(gè)執(zhí)行單元和存儲(chǔ)器塊被 配置以使得等式在可配置的流水線下進(jìn)行處理,這最小化了上述存儲(chǔ)器寄存器訪問率并且 減輕了互連總線的負(fù)擔(dān)。多個(gè)存儲(chǔ)器組增加了存儲(chǔ)器訪問帶寬,這實(shí)現(xiàn)了實(shí)際的并行處理 并且顯著地減少了所需的總周期。硬件的更有效率的使用允許更低的時(shí)鐘速率并且使得功 耗更低。更低的時(shí)鐘速率還使得流水線級(jí)更少,由此減少了管芯尺寸和邏輯復(fù)雜性。當(dāng)今的計(jì)算機(jī)是用固定的硬件(處理器)來建立。而本發(fā)明提出的是動(dòng)態(tài)可配置 的硬件,其不僅更有效率地使用硬件資源,而且能夠并行處理多線程的應(yīng)用。 如之前所提及的,該架構(gòu)通過降低數(shù)據(jù)訪問的頻率來減輕現(xiàn)有技術(shù)的信號(hào)處理器 內(nèi)部總線上的一部分負(fù)擔(dān)。此外,因?yàn)榇鎯?chǔ)器被劃分成數(shù)個(gè)組中并且連接到切換矩陣,因此 在特定條件下增加了存儲(chǔ)器訪問帶寬,使得能夠充分使用多個(gè)數(shù)學(xué)單元。這些特征允許要 被配置的設(shè)備執(zhí)行實(shí)際的并行處理,由此充分使用內(nèi)部功能塊的計(jì)算能力??傮w來說,使用切換技術(shù)對(duì)處理器內(nèi)部的功能塊進(jìn)行連接而不是將它們置入固定 流水線級(jí)的新的處理器架構(gòu)是動(dòng)態(tài)可配置的,因?yàn)槠鋬?nèi)部結(jié)構(gòu)可以隨時(shí)間而改變。如之前 所闡述的,其是可容易擴(kuò)展的,因?yàn)楣δ軌K的數(shù)量?jī)H由目標(biāo)應(yīng)用來確定。其還是可編程的, 因?yàn)槠涫菍?shí)際的處理器并且可以被應(yīng)用到許多不同的應(yīng)用。最后,為了用圖來說明本發(fā)明在其信號(hào)處理的靈活適應(yīng)性方面的通用性,以及在 克服現(xiàn)有技術(shù)限制、獲得前所未有的成本和功率節(jié)省方面的成果,參照?qǐng)D10示出了針對(duì) ASID設(shè)計(jì)(圓圈)、主流DSP(叉)、主流GPP(點(diǎn))的適應(yīng)性的軟件處理弧(arc),并用實(shí)線 外圈示出本發(fā)明的適應(yīng)性的總的圓(circle)。本領(lǐng)域技術(shù)人員還將進(jìn)行進(jìn)一步修改,并且認(rèn)為這些修改落入如所附權(quán)利要求中 所定義的本發(fā)明的精神和范圍內(nèi)。
權(quán)利要求
一種靈活的數(shù)據(jù)流水線架構(gòu),用于適應(yīng)基本上所有類型的用于不同應(yīng)用的軟件計(jì)算指令集,所述數(shù)據(jù)流水線架構(gòu)具有組合的可編程嵌入式處理器和可重配置的流水線級(jí),響應(yīng)于不同應(yīng)用的指令集,所述流水線級(jí)的順序和長(zhǎng)度發(fā)生改變,從而建立相對(duì)應(yīng)的處理器及其功能部件間的連接的配置,以特別適用于所述應(yīng)用。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)流水線架構(gòu),其中,所述功能部件通過切換件以動(dòng)態(tài)、并 行以及靈活的方式進(jìn)行通信。
3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)流水線架構(gòu),其中,所述切換件是在實(shí)時(shí)操作期間通過 每一個(gè)指令集來配置的。
4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)流水線架構(gòu),其中,所述指令集由軟件編譯器來生成,所 述軟件編譯器接收應(yīng)用軟件指令并且對(duì)所述應(yīng)用軟件指令進(jìn)行分析,以確定在每個(gè)應(yīng)用中 需要執(zhí)行哪些計(jì)算任務(wù),以及如何配置所述處理器和所述功能部件間的連接,來適應(yīng)所述 應(yīng)用軟件指令。
5.根據(jù)權(quán)利要求4所述的數(shù)據(jù)流水線架構(gòu),其中,在指令解碼之后,流水線級(jí)的長(zhǎng)度和 所述流水線級(jí)的順序隨時(shí)間和應(yīng)用的不同而改變。
6.根據(jù)權(quán)利要求5所述的數(shù)據(jù)流水線架構(gòu),其中,與固定的單一流水線數(shù)據(jù)流形成對(duì) 比的是,對(duì)所述功能部件的所述配置允許有靈活的結(jié)構(gòu)。
7.根據(jù)權(quán)利要求4所述的數(shù)據(jù)流水線架構(gòu),其中,不同大小的簡(jiǎn)單軟件指令集和復(fù)雜 軟件指令集二者都被有效率實(shí)現(xiàn),以同時(shí)使用同一流水線。
8.根據(jù)權(quán)利要求4所述的數(shù)據(jù)流水線架構(gòu),其中,所述切換件是交叉連接的切換矩陣 類型,并且所述處理器的功能部件包括通過所述切換件可動(dòng)態(tài)且并行互連的存儲(chǔ)器單元和 加法器與乘法器這樣的數(shù)學(xué)執(zhí)行單元。
9.根據(jù)權(quán)利要求8所述的數(shù)據(jù)流水線架構(gòu),其中,所述架構(gòu)可以針對(duì)計(jì)算密集型應(yīng)用 而擴(kuò)展,與復(fù)雜性較低的應(yīng)用相比,所述計(jì)算密集型應(yīng)用需要更多數(shù)學(xué)執(zhí)行單元。
10.根據(jù)權(quán)利要求9所述的數(shù)據(jù)流水線架構(gòu),其中,在具體應(yīng)用的設(shè)計(jì)周期期間確定數(shù) 學(xué)和/或存儲(chǔ)器單元的數(shù)量,而不需要對(duì)所述編譯器進(jìn)行修改,并且對(duì)開發(fā)時(shí)間具有很小 的影響。
11.根據(jù)權(quán)利要求8所述的數(shù)據(jù)流水線架構(gòu),其中,所述存儲(chǔ)器單元被劃分成連接到所 述切換件的數(shù)個(gè)組,由此增加存儲(chǔ)器訪問帶寬并且使得能夠充分使用多個(gè)數(shù)學(xué)單元。
12.根據(jù)權(quán)利要求11所述的數(shù)據(jù)流水線架構(gòu),其中,所述處理器被配置來執(zhí)行并行處 理,從而有效率地充分使用內(nèi)部處理器的功能部件的計(jì)算能力。
13.根據(jù)權(quán)利要求12所述的數(shù)據(jù)流水線架構(gòu),其中,所述有效率性使得能夠減少每一 個(gè)應(yīng)用所需的總時(shí)鐘速率周期。
14.根據(jù)權(quán)利要求13所述的數(shù)據(jù)流水線架構(gòu),其中,較低的時(shí)鐘速率降低了功耗,并且 允許在兩個(gè)流水線級(jí)之間有更多的邏輯,從而使得流水線級(jí)減少。
15.根據(jù)權(quán)利要求13所述的數(shù)據(jù)流水線架構(gòu),其中,較低的時(shí)鐘速率提供更強(qiáng)的計(jì)算 力,從而允許處理更復(fù)雜的計(jì)算和應(yīng)用。
16.根據(jù)權(quán)利要求2所述的數(shù)據(jù)流水線架構(gòu),其中,所述切換件連接所述處理器內(nèi)部的 處理器功能部件,這與將所述處理器功能部件置入固定流水線級(jí)中是不同的。
17.根據(jù)權(quán)利要求2所述的數(shù)據(jù)流水線架構(gòu),其中,所述處理器的特征在于(1)是動(dòng)態(tài)可配置的,因?yàn)槠鋬?nèi)部結(jié)構(gòu)能夠隨時(shí)間改變,(2)是可擴(kuò)展的,因?yàn)楣δ懿考臄?shù)量?jī)H由具 體應(yīng)用來確定,以及(3)是可編程的,因?yàn)槠涫强蓱?yīng)用到許多不同應(yīng)用的實(shí)際的處理器。
18.一種靈活的數(shù)據(jù)流水線結(jié)構(gòu),用于適應(yīng)用于不同程序應(yīng)用的軟件計(jì)算指令,所述數(shù) 據(jù)流水線結(jié)構(gòu)組合的可編程嵌入式處理器和可重配置的流水線級(jí),響應(yīng)于不同程序應(yīng)用的 指令,所述流水線級(jí)的順序和長(zhǎng)度發(fā)生改變;所述處理器包括程序存儲(chǔ)器,用于存儲(chǔ)來自 編譯器的應(yīng)用指令;連接到所述程序存儲(chǔ)器的指令獲取和解碼單元;切換矩陣,其選擇性 地將多個(gè)數(shù)學(xué)執(zhí)行單元和存儲(chǔ)器單元進(jìn)行互連,并且受指令解碼單元饋送的切換控制單元 控制;所述切換矩陣通過兩個(gè)單元之間任何允許的連接以及所述切換矩陣連接到DMA來提 供全部訪問切換。
19.根據(jù)權(quán)利要求18所述的數(shù)據(jù)流水線結(jié)構(gòu),其中,所述數(shù)學(xué)執(zhí)行單元是從由整數(shù)乘 法器、整數(shù)ALU、浮點(diǎn)乘法器和浮點(diǎn)ALU所組成的組中選擇的。
20.根據(jù)權(quán)利要求18所述的數(shù)據(jù)流水線結(jié)構(gòu),其中,所述存儲(chǔ)器單元是數(shù)據(jù)存儲(chǔ)器組 和L2存儲(chǔ)器組中的一個(gè)。
21.根據(jù)權(quán)利要求18所述的數(shù)據(jù)流水線結(jié)構(gòu),其中,所述處理器被提供有包括專用計(jì) 算函數(shù)的C庫,所述專用計(jì)算函數(shù)被直接饋送到所述編譯器,并且將所述程序轉(zhuǎn)換為用于 設(shè)置所述數(shù)學(xué)執(zhí)行單元操作的期望的處理器機(jī)器碼指令、用于連接不同的執(zhí)行單元的切換 控制指令,以及用于設(shè)置所述存儲(chǔ)器單元操作的參數(shù)的指令。
22.根據(jù)權(quán)利要求21所述的數(shù)據(jù)流水線結(jié)構(gòu),其中,所述編譯器基于每一個(gè)程序的指 令序列和需要執(zhí)行任務(wù)的執(zhí)行單元來針對(duì)所述每一個(gè)程序采用并行處理,從而以適當(dāng)時(shí)序 產(chǎn)生機(jī)器指令來配置所述執(zhí)行單元、存儲(chǔ)器單元和DMA以及它們間的連接。
23.根據(jù)權(quán)利要求21所述的數(shù)據(jù)流水線結(jié)構(gòu),其中,為每一個(gè)存儲(chǔ)器單元提供專用存 儲(chǔ)器單元配置指令,用于提供存儲(chǔ)器訪問的起始地址、在每次訪問之后的自動(dòng)存儲(chǔ)器地址 增量,以及存儲(chǔ)器訪問時(shí)鐘周期頻率。
24.根據(jù)權(quán)利要求23所述的數(shù)據(jù)流水線結(jié)構(gòu),其中,饋送通過所述切換矩陣的一條指 令對(duì)多個(gè)存儲(chǔ)器單元進(jìn)行配置,來提供地址和模式信息。
25.根據(jù)權(quán)利要求18所述的數(shù)據(jù)流水線結(jié)構(gòu),其中,所述切換控制單元通過切換控制 矢量操作來設(shè)置從一個(gè)數(shù)學(xué)執(zhí)行單元的輸出到另一個(gè)數(shù)學(xué)執(zhí)行單元的輸入的連接;從任 意存儲(chǔ)器單元到執(zhí)行單元輸入的連接;所述DMA到任意存儲(chǔ)器單元的連接;以及從指令解 碼器到任意執(zhí)行單元、存儲(chǔ)器單元和/或DMA的連接。
26.根據(jù)權(quán)利要求1所述的數(shù)據(jù)流水線結(jié)構(gòu),其被提供在單個(gè)封裝中,用于以并行處理 來適應(yīng)各種不同信號(hào)_處理應(yīng)用需求的聚合。
27.一種處理饋送到處理器的計(jì)算機(jī)軟件計(jì)算指令的方法,所述方法包括編譯并分 析輸入的用戶軟件應(yīng)用以確定每個(gè)軟件應(yīng)用需要執(zhí)行的具體計(jì)算任務(wù);實(shí)時(shí)生成指令集, 用于所述處理器和該具體應(yīng)用所需的所述處理器的功能部件間的連接的每種應(yīng)用配置;通 過切換件將所述處理器連接到數(shù)據(jù)流水線,所述數(shù)據(jù)流水線的流水線級(jí)的長(zhǎng)度和順序是可 不同配置的;以及在針對(duì)每個(gè)應(yīng)用而配置的所述處理器部件間通過所述切換件以動(dòng)態(tài)、并 行和靈活的方式進(jìn)行通信,從而相應(yīng)地為每一個(gè)具體應(yīng)用配置適當(dāng)長(zhǎng)度和順序的流水線 級(jí)。
28.根據(jù)權(quán)利要求27所述的方法,其中,所述功能部件包括多個(gè)數(shù)學(xué)執(zhí)行單元和多個(gè)存儲(chǔ)器單元或組。
29.根據(jù)權(quán)利要求28所述的方法,其中,所述切換件是在所述執(zhí)行單元和所述存儲(chǔ)器 單元之間交叉連接的切換件,用于在不同時(shí)間針對(duì)不同應(yīng)用算法并與不同的具體軟件應(yīng)用 相對(duì)應(yīng)地將它們配置為不同的結(jié)構(gòu)。
30.一種將微處理器技術(shù)與切換構(gòu)造電信技術(shù)進(jìn)行組合以實(shí)現(xiàn)可編程處理器架構(gòu)的信 號(hào)處理方法,其中,通過經(jīng)由切換構(gòu)造以動(dòng)態(tài)、并行和靈活方式進(jìn)行的通信,由針對(duì)每一個(gè) 具體應(yīng)用的軟件來配置處理器及其功能塊間的連接,以實(shí)現(xiàn)可重配置的流水線,其中,流水 線級(jí)的長(zhǎng)度和所述流水線級(jí)的順序隨時(shí)間和應(yīng)用的不同而改變,從而能夠適應(yīng)對(duì)于在諸如 手持裝置、機(jī)頂盒等的單個(gè)設(shè)備中的各種不同信號(hào)處理需要的爆發(fā)性增長(zhǎng)。
全文摘要
本發(fā)明公開了新的信號(hào)處理器技術(shù)和裝置,其將微處理器技術(shù)與切換構(gòu)造電信技術(shù)進(jìn)行組合以實(shí)現(xiàn)可編程處理器架構(gòu),其中,通過經(jīng)由切換構(gòu)造以動(dòng)態(tài)、并行和靈活方式進(jìn)行的通信,由針對(duì)每一個(gè)具體應(yīng)用的軟件來配置處理器及其功能塊間的連接,以實(shí)現(xiàn)可重配置的流水線,所述流水線中的流水線級(jí)的長(zhǎng)度和流水線級(jí)的順序隨時(shí)間和應(yīng)用的不同而改變,來應(yīng)對(duì)在諸如手持裝置、機(jī)頂盒等的單個(gè)設(shè)備中對(duì)各種不同信號(hào)處理的需要的爆發(fā)性增長(zhǎng),從而具有前所未有的性能、成本和功率節(jié)省并且具有充分的應(yīng)用靈活性。
文檔編號(hào)G06F15/78GK101861585SQ200880110367
公開日2010年10月13日 申請(qǐng)日期2008年7月7日 優(yōu)先權(quán)日2007年10月6日
發(fā)明者X·王 申請(qǐng)人:阿克西斯半導(dǎo)體有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
靖西县| 彭山县| 大丰市| 连城县| 上栗县| 长春市| 成武县| 绥棱县| 土默特右旗| 富顺县| 成武县| 两当县| 上栗县| 新龙县| 神池县| 普定县| 来安县| 镇沅| 曲水县| 南通市| 贵阳市| 乌拉特前旗| 福泉市| 五常市| 宾阳县| 南涧| 临安市| 个旧市| 佳木斯市| 淳安县| 赣榆县| 虹口区| 常德市| 鹤庆县| 宁河县| 浦江县| 吴堡县| 宁城县| 白城市| 济阳县| 淮滨县|