亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種支持多模式的媒體增強(qiáng)流水線乘法單元設(shè)計方法

文檔序號:6612427閱讀:150來源:國知局
專利名稱:一種支持多模式的媒體增強(qiáng)流水線乘法單元設(shè)計方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種支持多模式的媒體增強(qiáng)流水線乘法單元設(shè)計方法。
技術(shù)背景隨著多媒體編解碼、通信技術(shù)和超大規(guī)模集成電路設(shè)計能力的不斷發(fā)展,基于嵌入式處理器和DSP的多媒體音視頻應(yīng)用領(lǐng)域得到巨大的發(fā)展。目前,消 費(fèi)類電子產(chǎn)品,如手機(jī)、MP3、數(shù)字電視、數(shù)字廣播等已經(jīng)成為普通的廉價消 費(fèi)品。另一方面,隨著技術(shù)不斷發(fā)展,用戶對于多媒體產(chǎn)品的實(shí)時性、復(fù)雜性和 音視頻的品質(zhì)的要求也日益提高。這迫使多媒體技術(shù)進(jìn)一步發(fā)展以及數(shù)字信號 處理的實(shí)現(xiàn)進(jìn)一步創(chuàng)新,硬件加速編解碼的處理成為目前數(shù)字信號處理的必然 選擇。對于不同的應(yīng)用特征,數(shù)字信號處理技術(shù)中有很多算法,如FIR, DCT, IDCT等,但是通過分析,可以發(fā)現(xiàn)這些被廣大媒體算法所采用的形形色色的算 法實(shí)際上都是乘法和乘累加運(yùn)算。乘法和乘累加運(yùn)算的實(shí)現(xiàn)和加速是所有硬件 編解碼器或者DSP實(shí)現(xiàn)中最為關(guān)鍵的一環(huán)。為了增加硬件系統(tǒng)的靈活性和提高運(yùn)算處理能力,數(shù)字信號處理器(Digital Signal Processor)已經(jīng)被廣泛的應(yīng)用到很多音視頻系統(tǒng)中。數(shù)字信號處理器對于 乘法和乘累加運(yùn)算進(jìn)行了硬件加速,大幅提高了處理能力,而且由于其運(yùn)行軟 件,可以用軟件實(shí)現(xiàn)各種音視頻的標(biāo)準(zhǔn),給產(chǎn)品的靈活性帶來了很大希望。但 是由于DSP產(chǎn)品本身主要運(yùn)用于運(yùn)算領(lǐng)域,而非控制領(lǐng)域,這使得其對于目前 多任務(wù),編程復(fù)雜度不斷提升的今天變得力不從心。嵌入式微處理器成本比較低,執(zhí)行復(fù)雜控制程序的能力強(qiáng),但是數(shù)字信號 處理的能力相對較差。在目前的多媒體實(shí)際應(yīng)用中,既需要有很強(qiáng)的數(shù)字信號 處理能力以便于對各種信號進(jìn)行采樣和分析,同時也需要有很強(qiáng)的控制能力支 持多任務(wù)操作的需要。從目前現(xiàn)狀發(fā)現(xiàn)微處理器和DSP正在逐步融合。因此在 微處理器中,增加相應(yīng)的DSP增強(qiáng)單元顯得非常緊迫。本專利提出的一種支持多模式的媒體增強(qiáng)流水線乘法單元是一個應(yīng)用于數(shù) 字信號處理領(lǐng)域的嵌入式處理器媒體編解碼功能增強(qiáng)單元。該單元的本質(zhì)是在 嵌入式處理器中通過簡單的擴(kuò)展,保持其控制能力的同時,有效提升數(shù)字信號 處理能力,達(dá)到部分DSP的功能。 發(fā)明內(nèi)容本發(fā)明的目的是提供一種支持多模式的媒體增強(qiáng)流水線乘法單元設(shè)計方法。支持多模式的媒體增強(qiáng)流水線乘法單元設(shè)計方法特征如下1) 根據(jù)匯編指令的不同類型動態(tài)選擇普通單指令單數(shù)據(jù)乘法、單指令多數(shù) 據(jù)乘法、多指令多數(shù)據(jù)乘法或高精度乘法;2) 上述四種乘法采用流水線設(shè)計;3) 將上述四種乘法運(yùn)算分別分離為操作數(shù)準(zhǔn)備和數(shù)據(jù)運(yùn)算兩個階段,各個 階段單獨(dú)處理;4) 多模式媒體增強(qiáng)流水線乘法單元的每個數(shù)據(jù)通路均能進(jìn)行乘法和乘累加 操作;5) 對于乘法單元的高精度乘法數(shù)據(jù)通路,通過增加流水線的深度,提高整 體的性能;6) 多模式媒體增強(qiáng)流水線乘法單元設(shè)置整數(shù)和小數(shù)兩種運(yùn)算模式;7) 在乘累加運(yùn)算中,對乘法運(yùn)算后得到的中間結(jié)果進(jìn)行了保護(hù)位的擴(kuò)展, 擴(kuò)大加法運(yùn)算的區(qū)間;8) 設(shè)置指令退休緩沖區(qū),支持乘法和乘累加指令快速退休;9) 高位寄存器和低位寄存器物理上相互獨(dú)立,邏輯上相連。 所述的根據(jù)匯編指令的不同類型動態(tài)選擇普通單指令單數(shù)據(jù)乘法、單指令多數(shù)據(jù)乘法、多指令多數(shù)據(jù)乘法或高精度乘法在媒體處理器指令集中,增加 支持相應(yīng)模式的匯編指令集,用戶通過簡單調(diào)用不同類型的指令,硬件自動選 擇對應(yīng)的模式進(jìn)行運(yùn)算;單指令單數(shù)據(jù)模式指單條指令操作單個數(shù)據(jù);單指令 多數(shù)據(jù)模式指單條指令同時對多個數(shù)據(jù)進(jìn)行操作;多指令多數(shù)據(jù)模式指同時執(zhí) 行多條指令對于多個數(shù)據(jù)進(jìn)行操作;高精度乘法指操作數(shù)的寬度比普通乘法操 作數(shù)寬的乘法操作,結(jié)果的精度也比普通乘法高。所述的上述四種乘法采用流水線設(shè)計分別將普通單指令單數(shù)據(jù)乘法、單 指令多數(shù)據(jù)乘法、多指令多數(shù)據(jù)乘法或高精度乘法運(yùn)算劃分為若干步驟,每個 時鐘周期,流水線各級的硬件可并行執(zhí)行不同指令的不同操作。所述的將上述四種乘法運(yùn)算分別分離為操作數(shù)準(zhǔn)備和數(shù)據(jù)運(yùn)算兩個階段, 各個階段單獨(dú)處理從抽象層次上將操作數(shù)的準(zhǔn)備和數(shù)據(jù)的運(yùn)算的過程相互獨(dú) 立,分別將其分配到不同的流水線級中,進(jìn)行并行操作。所述的多模式媒體增強(qiáng)流水線乘法單元的每個數(shù)據(jù)通路均能進(jìn)行乘法和乘 累加操作每個數(shù)據(jù)通路作為單獨(dú)的數(shù)據(jù)運(yùn)算邏輯單元可以做乘法操作,也支
持乘累加的運(yùn)算,乘累加運(yùn)算復(fù)用了乘法功能單元。所述的多模式媒體增強(qiáng)流水線乘法單元設(shè)置整數(shù)和小數(shù)兩種運(yùn)算模式乘 法器根據(jù)用戶配置,通過改變硬件數(shù)據(jù)通路的控制邏輯,分別執(zhí)行小數(shù)的乘法 和整數(shù)的乘法運(yùn)算。所述的在乘累加運(yùn)算中,對乘法運(yùn)算后得到的中間結(jié)果進(jìn)行了保護(hù)位的擴(kuò) 展,擴(kuò)大加法運(yùn)算的區(qū)間在累加運(yùn)算中,對于每個乘法中間結(jié)果進(jìn)行相應(yīng)的 符號位擴(kuò)展,符號位擴(kuò)展增加加法運(yùn)算的精度,保證累加結(jié)果在一定的范圍內(nèi) 不產(chǎn)生溢出。所述的設(shè)置指令退休緩沖區(qū),支持乘法和乘累加指令快速退休乘法單元 中設(shè)計了專用的退休緩沖區(qū),主要用于控制指令在主流水線未干預(yù)情況下快速 退休。所述的高位寄存器和低位寄存器物理上相互獨(dú)立,邏輯上相連高位寄存 器和低位寄存器在物理上是獨(dú)立的,分別對應(yīng)不同的數(shù)據(jù)通路輸入的結(jié)果;在 邏輯上,在對應(yīng)高精度的乘法和乘累加的運(yùn)算,由于結(jié)果寬度增加,因此高位 寄存器被用來存放結(jié)果的高位結(jié)果信息,低位寄存器用來存放低位結(jié)果信息, 兩者在邏輯上保持聯(lián)系。本發(fā)明是一種滿足媒體應(yīng)用領(lǐng)域復(fù)雜數(shù)字信號處理算法需求的先進(jìn)乘法單 元結(jié)構(gòu)。該結(jié)構(gòu)支持普通單指令單數(shù)據(jù)乘法、單指令多數(shù)據(jù)乘法、多指令多數(shù) 據(jù)乘法或高精度乘法,給復(fù)雜算法提供了靈活的支持。通過采用流水線設(shè)計, 極大的提升了乘法單元的運(yùn)算吞吐率,提高了運(yùn)算處理速度。


圖1是多模式乘法單元流水線劃分圖; 圖2是操作數(shù)準(zhǔn)備單元硬件原理圖;圖3是數(shù)據(jù)通路硬件原理圖;圖4是快速退休機(jī)制硬件電路圖。
具體實(shí)施方式
支持多模式的媒體增強(qiáng)流水線乘法單元是一個為通用嵌入式處理器設(shè)計的 媒體算法增強(qiáng)的硬件執(zhí)行單元。其僅僅是一個執(zhí)行單元,是復(fù)雜嵌入式處理器 的有效補(bǔ)充。支持多模式的媒體增強(qiáng)流水線乘法單元設(shè)計方法特征如下 1)根據(jù)匯編指令的不同類型動態(tài)選擇普通單指令單數(shù)據(jù)乘法、單指令多數(shù) 據(jù)乘法、多指令多數(shù)據(jù)乘法或高精度乘法;
2) 上述四種乘法采用流水線設(shè)計;3) 將上述四種乘法運(yùn)算分別分離為操作數(shù)準(zhǔn)備和數(shù)據(jù)運(yùn)算兩個階段,各個 階段單獨(dú)處理;4) 多模式媒體增強(qiáng)流水線乘法單元的每個數(shù)據(jù)通路均能進(jìn)行乘法和乘累加 操作;5) 對于乘法單元的高精度乘法數(shù)據(jù)通路,通過增加流水線的深度,提高整 體的性能;6) 多模式媒體增強(qiáng)流水線乘法單元設(shè)置整數(shù)和小數(shù)兩種運(yùn)算模式;7) 在乘累加運(yùn)算中,對乘法運(yùn)算后得到的中間結(jié)果進(jìn)行了保護(hù)位的擴(kuò)展, 擴(kuò)大加法運(yùn)算的區(qū)間;8) 設(shè)置指令退休緩沖區(qū),支持乘法和乘累加指令快速退休;9) 高位寄存器和低位寄存器物理上相互獨(dú)立,邏輯上相連。 所述的根據(jù)匯編指令的不同類型動態(tài)選擇普通單指令單數(shù)據(jù)乘法、單指令多數(shù)據(jù)乘法、多指令多數(shù)據(jù)乘法或高精度乘法在媒體處理器指令集中,增加 支持相應(yīng)模式的匯編指令集,用戶通過簡單調(diào)用不同類型的指令,硬件自動選 擇對應(yīng)的模式進(jìn)行運(yùn)算;單指令單數(shù)據(jù)模式指單條指令操作單個數(shù)據(jù);單指令 多數(shù)據(jù)模式指單條指令同時對多個數(shù)據(jù)進(jìn)行操作;多指令多數(shù)據(jù)模式指同時執(zhí) 行多條指令對于多個數(shù)據(jù)進(jìn)行操作;高精度乘法指操作數(shù)的寬度比普通乘法操 作數(shù)寬的乘法操作,結(jié)果的精度也比普通乘法高。為了使用這個執(zhí)行單元,通 用嵌入式處理器首選需要擴(kuò)展其指令集,在原有指令集上擴(kuò)展媒體增強(qiáng)相關(guān)的 各種類型的指令。這些指令分為以下幾個類型*普通精度乘法和乘累加指令*高精度乘法和乘累加指令*單指令多數(shù)據(jù)(SIMD)指令*多指令多數(shù)據(jù)(MIMD)指令普通精度乘法和乘累加指令是進(jìn)行普通運(yùn)算的指令,這些指令為雙周期指 令, 一般應(yīng)用于一些普通的場合。高精度乘法和乘累加指令是一種操作數(shù)數(shù)據(jù) 寬度比普通乘法和乘累加指令寬的指令,通常寬度為普通乘法指令的一倍。這 些指令將被用于那些對數(shù)據(jù)精度要求高(高保真的視頻和音頻數(shù)據(jù)預(yù)算)的場 合。單指令多數(shù)據(jù)指令一條乘法指令可以分別對多個數(shù)據(jù)進(jìn)行乘法和乘累加運(yùn) 算。 一般應(yīng)用于數(shù)據(jù)并行性比較好的場合,如雙通道對稱數(shù)據(jù)操作, 一條指令 執(zhí)行兩個通道送來的數(shù)據(jù)運(yùn)算。多指令多數(shù)據(jù)指令是多條原子指令分別執(zhí)行不
同的數(shù)據(jù)的特殊指令。 一般應(yīng)用于數(shù)據(jù)并行性不理想,但又需要提高運(yùn)算吞吐 率的場合。這些指令相互配合,對于不同應(yīng)用可進(jìn)行靈活選擇,提高媒體算法 核心運(yùn)算的速度。所述的上述四種乘法釆用流水線設(shè)計分別將普通單指令單數(shù)據(jù)乘法、單 指令多數(shù)據(jù)乘法、多指令多數(shù)據(jù)乘法或高精度乘法運(yùn)算劃分為若干步驟,每個 時鐘周期,流水線各級的硬件可并行執(zhí)行不同指令的不同操作。通常在硬件設(shè) 計中,普通乘法運(yùn)算采用移位相加的方法,硬件電路的延時比較大,為了有效 提高乘法運(yùn)算單元的吞吐率,需要采用先進(jìn)的流水線技術(shù)。在支持多模式的媒 體增強(qiáng)流水線乘法單元中,通過仔細(xì)的研究和分析,對于各條數(shù)據(jù)通路進(jìn)行了 合理的流水線劃分如圖1所示。總體流水線劃分了 3級,由于高精度乘法和乘 累加運(yùn)算的速度相對較慢的特殊性,需要單獨(dú)增加1級流水線。所述的將上述四種乘法運(yùn)算分別分離為操作數(shù)準(zhǔn)備和數(shù)據(jù)運(yùn)算兩個階段, 各個階段單獨(dú)處理從抽象層次上將操作數(shù)的準(zhǔn)備和數(shù)據(jù)的運(yùn)算的過程相互獨(dú) 立,分別將其分配到不同的流水線級中,進(jìn)行并行操作。由于乘法單元需要支 持多種模式的乘法和乘累加運(yùn)算,操作數(shù)的準(zhǔn)備比普通的乘法運(yùn)算單元要復(fù)雜 很多,因此將數(shù)據(jù)準(zhǔn)備操作用單獨(dú)的一級流水線來實(shí)現(xiàn)。通過嵌入式處理器的 譯碼單元,將指令進(jìn)行解碼,得到相應(yīng)的控制信息和數(shù)據(jù)信息。由于需要支持單指令多數(shù)據(jù)和多指令多數(shù)據(jù)模式,所以需要有兩個或者兩個以上的數(shù)據(jù)準(zhǔn)備 單元。這兩個數(shù)據(jù)準(zhǔn)備單元相互并行工作,電路原理圖如圖2所示。操作數(shù)準(zhǔn) 備硬件電路是基于選擇器的電路。該部分硬件根據(jù)解碼得到的信息選通對應(yīng)的 數(shù)據(jù)通路,為不同模式的操作數(shù)做好準(zhǔn)備。另外在單指令多數(shù)據(jù)和多指令多數(shù) 據(jù)的模式下,操作數(shù)準(zhǔn)備硬件模塊需要多數(shù)據(jù)進(jìn)行截取和拼接。這些操作依照 解碼得到的邏輯進(jìn)行操作。所述的多模式媒體增強(qiáng)流水線乘法單元的每個數(shù)據(jù)通路均能進(jìn)行乘法和乘 累加操作每個數(shù)據(jù)通路作為單獨(dú)的數(shù)據(jù)運(yùn)算邏輯單元可以做乘法操作,也支 持乘累加的運(yùn)算,乘累加運(yùn)算復(fù)用了乘法功能單元。為了滿足各類媒體算法對 累加操作的需要,三個數(shù)據(jù)通路分別設(shè)計了單獨(dú)的硬件累加器。累加器為一個 帶有保護(hù)位的加法器,硬件代價不大,但可以使累加操作在乘法結(jié)果出來之后 直接進(jìn)行操作,大大提高了硬件的利用效率。提升累加的整體性能。在操作數(shù) 準(zhǔn)備就緒后,對應(yīng)的數(shù)據(jù)和控制信號就會進(jìn)入流水線寄存器,準(zhǔn)備進(jìn)行數(shù)據(jù)的 運(yùn)算操作。支持多模式的媒體增強(qiáng)流水線乘法器有3條數(shù)據(jù)通路,各條數(shù)據(jù)通 路的硬件結(jié)構(gòu)如3所示。
數(shù)據(jù)通路1用來實(shí)現(xiàn)普通乘法和乘累加的運(yùn)算操作,該通路是最基本的數(shù) 據(jù)通路。通路頂端是一個乘法運(yùn)算器,該乘法運(yùn)算器支持有符號和無符號操作。 這個乘法器是整個媒體增強(qiáng)流水線乘法器運(yùn)算單元的核心器件,乘法操作的結(jié) 果都在這個器件中產(chǎn)生。數(shù)據(jù)通路1在單指令多數(shù)據(jù)和多指令多數(shù)據(jù)的運(yùn)算中, 作為其中一條運(yùn)算通路參與運(yùn)算。數(shù)據(jù)通路2是一條輔助數(shù)據(jù)通路。在普通乘法和乘累加運(yùn)算中,其不參與 數(shù)據(jù)的運(yùn)算,處于休眠狀態(tài)。在單指令多數(shù)據(jù)和多指令多數(shù)據(jù)的情況下,這條 流水線被自動喚醒,參與運(yùn)算操作。與數(shù)據(jù)通路1同時協(xié)同工作,這樣實(shí)現(xiàn)了 單個硬件時鐘周期內(nèi)執(zhí)行兩個運(yùn)算操作,從而有效提高了數(shù)據(jù)操作的效率。其 基本結(jié)構(gòu)與數(shù)據(jù)通路1類似。數(shù)據(jù)通路3是支持高精度乘法和乘累加操作的數(shù)據(jù)通路。通常情況下這個 數(shù)據(jù)通路可以支持比普通數(shù)據(jù)通路的精度高一倍的數(shù)據(jù)運(yùn)算。由于數(shù)據(jù)運(yùn)算的 寬度增加,該數(shù)據(jù)通路的運(yùn)算延遲比較大,所以在這一通路中需要增加額外的 一級流水線來實(shí)現(xiàn)總體頻率的突破。因此在圖1中所示的流水線劃分中,對這 條通路進(jìn)行了額外的劃分。所述的多模式媒體增強(qiáng)流水線乘法單元設(shè)置整數(shù)和小數(shù)兩種運(yùn)算模式乘 法器根據(jù)用戶配置,通過改變硬件數(shù)據(jù)通路的控制邏輯,分別執(zhí)行小數(shù)的乘法 和整數(shù)的乘法運(yùn)算。在支持多種模式的媒體增強(qiáng)流水線乘法單元中,在每個模 式下,均支持定點(diǎn)小數(shù)和整數(shù)的乘法操作。對于定點(diǎn)小數(shù)的乘法支持,僅需要 按照整數(shù)乘法進(jìn)行相乘,然后對乘法結(jié)果進(jìn)行左移一位就可以得到小數(shù)的乘法 結(jié)果。硬件代價小,通過簡單的數(shù)據(jù)選擇即可以得到3個數(shù)據(jù)通路分別對整數(shù) 和定點(diǎn)小數(shù)的支持。所述的在乘累加運(yùn)算中,對乘法運(yùn)算后得到的中間結(jié)果進(jìn)行了保護(hù)位的擴(kuò) 展,擴(kuò)大加法運(yùn)算的區(qū)間在累加運(yùn)算中,對于每個乘法中間結(jié)果進(jìn)行相應(yīng)的 符號位擴(kuò)展,符號位擴(kuò)展增加加法運(yùn)算的精度,保證累加結(jié)果在一定的范圍內(nèi) 不產(chǎn)生溢出。在累加過程中,中間結(jié)果很有可能產(chǎn)生溢出,溢出導(dǎo)致數(shù)據(jù)準(zhǔn)確 性下降。導(dǎo)致溢出的原因是由于累加運(yùn)算采用的運(yùn)算寬度不夠。為了提高處理 器在累加過程中的數(shù)據(jù)準(zhǔn)確性,在多模式媒體增強(qiáng)乘法單元中增加了 8個保護(hù) 位。8個保護(hù)位可以保證在最差情況下(每次累加的值為最大值)連續(xù)256次累 加,結(jié)果不溢出。保護(hù)位可以根據(jù)軟件算法的要求進(jìn)行重構(gòu)。所述的累加器設(shè)計中,設(shè)置指令退休緩沖區(qū),支持乘法和乘累加指令快速 退休乘法單元中設(shè)計了專用的退休緩沖區(qū),主要用于控制指令在主流水線未 干預(yù)情況下快速退休。為了提高乘法單元的整體性能,乘法單元需要支持快速 退休機(jī)制。由于乘法,特別是高精度乘法運(yùn)算,采用了較深的流水線,流水線 越深,越容易導(dǎo)致處理器主流水線的等待。為減少主流水線的停頓,本專利提 出的乘法單元內(nèi)建支持快速退休機(jī)制的硬件電路。絕大部分的乘法和乘累加操 作通過快速退休緩沖區(qū)進(jìn)行退休,提高退休速度,從而提高了嵌入式處理器的整體性能??焖偻诵菥彌_區(qū)硬件實(shí)現(xiàn)如圖4所示。可以被快速退休的指令在主流水線將操作發(fā)送給乘法單元時將該指令壓入快速退休緩沖區(qū)。此后對于主流 水線而言,這條指令已經(jīng)交由乘法單元的快速退休緩沖區(qū)控制了,所以主流水 線對其進(jìn)行了退休操作,轉(zhuǎn)而繼續(xù)執(zhí)行后續(xù)的指令。對于乘法單元的快速退休 緩沖區(qū)而言,接受到主流水線發(fā)送而來的命令之后,開始負(fù)責(zé)這條指令的執(zhí)行 和退休。它會時刻監(jiān)聽從主流水線發(fā)送過來的退休信息。如果當(dāng)前表項(xiàng)中的指 令被主流水線退休,那么快速退休緩沖區(qū)只要等待乘法結(jié)果有效即可完成對指 令的快速退休,不需要再將退休的請求發(fā)送給主流水線,由主流水線控制退休。所述的高位寄存器和低位寄存器物理上相互獨(dú)立,邏輯上相連高位寄存 器和低位寄存器在物理上是獨(dú)立的,分別對應(yīng)不同的數(shù)據(jù)通路輸入的結(jié)果;在 邏輯上,在對應(yīng)高精度的乘法和乘累加的運(yùn)算,由于結(jié)果寬度增加,因此高位 寄存器被用來存放結(jié)果的高位結(jié)果信息,低位寄存器用來存放低位結(jié)果信息, 兩者在邏輯上保持聯(lián)系。為了支持快速退休和結(jié)果快速存取,需要在乘法單元 內(nèi)部設(shè)置兩個用來存取結(jié)果的寄存器。這兩個寄存器在簡單乘法和乘累加運(yùn)算 中,只用到低位寄存器。在高精度乘法和乘累加運(yùn)算中,兩個寄存器聯(lián)合使用, 分別表示結(jié)果的高位和低位。在單指令多數(shù)據(jù)和多指令多數(shù)據(jù)的乘法和乘累加 運(yùn)算中,這兩個寄存器被并行使用,分別用來存儲兩個數(shù)據(jù)通路的結(jié)果。
權(quán)利要求
1.一種支持多模式的媒體增強(qiáng)流水線乘法單元設(shè)計方法,其特征如下1)根據(jù)匯編指令的不同類型動態(tài)選擇普通單指令單數(shù)據(jù)乘法、單指令多數(shù)據(jù)乘法、多指令多數(shù)據(jù)乘法或高精度乘法;2)上述四種乘法采用流水線設(shè)計;3)將上述四種乘法運(yùn)算分別分離為操作數(shù)準(zhǔn)備和數(shù)據(jù)運(yùn)算兩個階段,各個階段單獨(dú)處理;4)多模式媒體增強(qiáng)流水線乘法單元的每個數(shù)據(jù)通路均能進(jìn)行乘法和乘累加操作;5)對于乘法單元的高精度乘法數(shù)據(jù)通路,通過增加流水線的深度,提高整體的性能;6)多模式媒體增強(qiáng)流水線乘法單元設(shè)置整數(shù)和小數(shù)兩種運(yùn)算模式;7)在乘累加運(yùn)算中,對乘法運(yùn)算后得到的中間結(jié)果進(jìn)行了保護(hù)位的擴(kuò)展,擴(kuò)大加法運(yùn)算的區(qū)間;8)設(shè)置指令退休緩沖區(qū),支持乘法和乘累加指令快速退休;9)高位寄存器和低位寄存器物理上相互獨(dú)立,邏輯上相連。
2. 根據(jù)權(quán)利要求1所述的一種支持多模式的媒體增強(qiáng)流水線乘法單元設(shè)計 方法,其特征是所述的根據(jù)匯編指令的不同類型動態(tài)選擇普通單指令單數(shù)據(jù)乘 法、單指令多數(shù)據(jù)乘法、多指令多數(shù)據(jù)乘法或高精度乘法在媒體處理器指令 集中,增加支持相應(yīng)模式的匯編指令集,用戶通過簡單調(diào)用不同類型的指令, 硬件自動選擇對應(yīng)的模式進(jìn)行運(yùn)算;單指令單數(shù)據(jù)模式指單條指令操作單個數(shù) 據(jù);單指令多數(shù)據(jù)模式指單條指令同時對多個數(shù)據(jù)進(jìn)行操作;多指令多數(shù)據(jù)模 式指同時執(zhí)行多條指令對于多個數(shù)據(jù)進(jìn)行操作;高精度乘法指操作數(shù)的寬度比 普通乘法操作數(shù)寬的乘法操作,結(jié)果的精度也比普通乘法高。
3. 根據(jù)權(quán)利要求1所述的一種支持多模式的媒體增強(qiáng)流水線乘法單元設(shè)計 方法,其特征是所述的上述四種乘法采用流水線設(shè)計分別將普通單指令單數(shù) 據(jù)乘法、單指令多數(shù)據(jù)乘法、多指令多數(shù)據(jù)乘法或高精度乘法運(yùn)算劃分為若干 步驟,每個時鐘周期,流水線各級的硬件可并行執(zhí)行不同指令的不同操作。
4. 根據(jù)權(quán)利要求1所述的一種支持多模式的媒體增強(qiáng)流水線乘法單元設(shè)計 方法,其特征是所述的將上述四種乘法運(yùn)算分別分離為操作數(shù)準(zhǔn)備和數(shù)據(jù)運(yùn)算 兩個階段,各個階段單獨(dú)處理從抽象層次上將操作數(shù)的準(zhǔn)備和數(shù)據(jù)的運(yùn)算的 過程相互獨(dú)立,分別將其分配到不同的流水線級中,進(jìn)行并行操作。
5. 根據(jù)權(quán)利要求1所述的一種支持多模式的媒體增強(qiáng)流水線乘法單元設(shè)計 方法,其特征是所述的多模式媒體增強(qiáng)流水線乘法單元的每個數(shù)據(jù)通路均能進(jìn) 行乘法和乘累加操作每個數(shù)據(jù)通路作為單獨(dú)的數(shù)據(jù)運(yùn)算邏輯單元可以做乘法 操作,也支持乘累加的運(yùn)算,乘累加運(yùn)算復(fù)用了乘法功能單元。
6. 根據(jù)權(quán)利要求1所述的一種支持多模式的媒體增強(qiáng)流水線乘法單元設(shè)計 方法,其特征是所述的多模式媒體增強(qiáng)流水線乘法單元設(shè)置整數(shù)和小數(shù)兩種運(yùn) 算模式乘法器根據(jù)用戶配置,通過改變硬件數(shù)據(jù)通路的控制邏輯,分別執(zhí)行 小數(shù)的乘法和整數(shù)的乘法運(yùn)算。
7. 根據(jù)權(quán)利要求1所述的一種支持多模式的媒體增強(qiáng)流水線乘法單元設(shè)計 方法,其特征是所述的在乘累加運(yùn)算中,對乘法運(yùn)算后得到的中間結(jié)果進(jìn)行了 保護(hù)位的擴(kuò)展,擴(kuò)大加法運(yùn)算的區(qū)間在累加運(yùn)算中,對于每個乘法中間結(jié)果 進(jìn)行相應(yīng)的符號位擴(kuò)展,符號位擴(kuò)展增加加法運(yùn)算的精度,保證累加結(jié)果在一 定的范圍內(nèi)不產(chǎn)生溢出。
8. 根據(jù)權(quán)利要求1所述的一種支持多模式的媒體增強(qiáng)流水線乘法單元設(shè)計 方法,其特征是所述的設(shè)置指令退休緩沖區(qū),支持乘法和乘累加指令快速退休 乘法單元中設(shè)計了專用的退休緩沖區(qū),主要用于控制指令在主流水線未干預(yù)情 況下快速退休。
9. 根據(jù)權(quán)利要求1所述的一種支持多模式的媒體增強(qiáng)流水線乘法單元設(shè)計 方法,其特征是所述的高位寄存器和低位寄存器物理上相互獨(dú)立,邏輯上相連 高位寄存器和低位寄存器在物理上是獨(dú)立的,分別對應(yīng)不同的數(shù)據(jù)通路輸入的 結(jié)果;在邏輯上,在對應(yīng)高精度的乘法和乘累加的運(yùn)算,由于結(jié)果寬度增加, 因此高位寄存器被用來存放結(jié)果的高位結(jié)果信息,低位寄存器用來存放低位結(jié) 果信息,兩者在邏輯上保持聯(lián)系。
全文摘要
本發(fā)明公開了一種支持多模式的媒體增強(qiáng)流水線乘法單元設(shè)計方法。本發(fā)明除了實(shí)現(xiàn)普通乘法和乘累加運(yùn)算外,針對媒體應(yīng)用的數(shù)據(jù)并行性提出了單指令多數(shù)據(jù)(SIMD)模式,針對非數(shù)據(jù)并行提出了多指令多數(shù)據(jù)(MIMD)模式,以及針對高精度的數(shù)據(jù)操作提出了高精度運(yùn)算模式。四種乘法運(yùn)算模式為媒體應(yīng)用領(lǐng)域中數(shù)字信號處理的復(fù)雜算法提供了靈活的支持。四種模式指令動態(tài)切換,有效減少算法切換時間。該乘法單元對于各種類型的乘法分別采用流水設(shè)計方法,提高了各種乘法運(yùn)算的速度,極大的提升了運(yùn)算吞吐率。本發(fā)明提出的乘法單元應(yīng)用于嵌入式處理器中,提升了嵌入式處理器的數(shù)字信號處理能力,擴(kuò)展了應(yīng)用領(lǐng)域。
文檔編號G06F9/38GK101162423SQ20071015691
公開日2008年4月16日 申請日期2007年11月20日 優(yōu)先權(quán)日2007年11月20日
發(fā)明者嚴(yán)曉浪, 徐鴻明, 葛海通, 龔帥帥 申請人:浙江大學(xué);杭州中天微系統(tǒng)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1