專(zhuān)利名稱(chēng):硬件加速器模塊及其設(shè)置方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種硬件加速器模塊,并且進(jìn)一步涉及一種用于設(shè)置加速器模塊的方法。
背景技術(shù):
經(jīng)常通過(guò)使用被已知為硬件加速器的專(zhuān)用硬件模塊來(lái)加速數(shù)據(jù)處理。這些硬件模塊由在處理器上運(yùn)行的系統(tǒng)軟件經(jīng)由通常是寄存器的編程接口訪問(wèn)和設(shè)置。在硬件加速器能夠處理數(shù)據(jù)流之前,它必須由軟件進(jìn)行設(shè)置。圖1示出結(jié)合在圖2中所示的傳統(tǒng)硬件加速器模塊的方框圖而描述的硬件加速器的傳統(tǒng)操作的時(shí)序圖。硬件加速器模塊2由未示出的系統(tǒng)處理器通過(guò)專(zhuān)用總線訪問(wèn),從而對(duì)用于硬件加速器核心22的一個(gè)處理任務(wù)的參數(shù)集進(jìn)行編程。在(a)對(duì)若干參數(shù)寄存器進(jìn)行寫(xiě)操作之后,在(b),處理器觸發(fā)硬件加速器啟動(dòng)。硬件加速器核心必須等待來(lái)自寄存器接口 21的啟動(dòng)信號(hào)(c),以在時(shí)間、開(kāi)始處理數(shù)據(jù),如在圖1中在(d)所示。目前,在處理器能夠?qū)τ糜谔幚頂?shù)據(jù)流的下一個(gè)數(shù)據(jù)塊的新的參數(shù)集進(jìn)行編程之前,處理器必須等待直到在時(shí)間t2通過(guò)由加速器核心22返回的忙信號(hào)的下降沿檢測(cè)到硬件加速器核心已經(jīng)結(jié)束它的任務(wù)。明顯的是,加速器核心的這些停機(jī)時(shí)間顯著地限制了加速器模塊的吞吐量。目前,用于硬件加速器的參數(shù)由系統(tǒng)軟件直接編程或者被存儲(chǔ)在單獨(dú)的RAM中。 第一種情況要求硬件加速器在每一個(gè)處理周期之后進(jìn)行編程。使用單獨(dú)的參數(shù)RAM意在減小在不同的重復(fù)進(jìn)行的處理狀態(tài)下的總線負(fù)載。當(dāng)使用諸如在US 6,842,844中描述的單獨(dú)的參數(shù)RAM時(shí),軟件能夠預(yù)先對(duì)用于不同的處理狀態(tài)的參數(shù)進(jìn)行編程,并且硬件加速器可以之后數(shù)次地使用這些參數(shù)集。然而,硬件加速器仍然必須在每一個(gè)處理周期之后進(jìn)行編程。而且,采用單獨(dú)的參數(shù)RAM對(duì)于系統(tǒng)軟件而言是不透明的,這意味著,處理器還必須告訴硬件加速器將使用哪一個(gè)參數(shù)集。本發(fā)明的目的是減少停機(jī)時(shí)間并且增加硬件加速器的數(shù)據(jù)吞吐量。本發(fā)明的另一目的是減少在驅(qū)動(dòng)若干硬件加速器的處理器中的處理器過(guò)載的風(fēng)險(xiǎn)。
發(fā)明內(nèi)容
根據(jù)本發(fā)明,提供了一種在權(quán)利要求1中闡述的硬件加速器模塊和在權(quán)利要求3 中闡述的用于設(shè)置硬件加速器模塊的方法。本發(fā)明的硬件加速器模塊由系統(tǒng)處理器經(jīng)由系統(tǒng)總線驅(qū)動(dòng),從而根據(jù)由所述處理器定義的參數(shù)集順序地處理數(shù)據(jù)流的數(shù)據(jù)塊,并且硬件加速器模塊包括寄存器接口塊,用來(lái)從所述系統(tǒng)處理器接收參數(shù)集;和加速器核心,用來(lái)接收流數(shù)據(jù),從而按照由所述參數(shù)集限定的方式處理流數(shù)據(jù)的數(shù)據(jù)塊,并且輸出處理后的流數(shù)據(jù)。根據(jù)本發(fā)明,所述硬件加速器模塊進(jìn)一步包括參數(shù)緩存塊,用來(lái)連續(xù)地存儲(chǔ)多個(gè)參數(shù)集并且根據(jù)從所述硬件加速器核心接收的忙狀態(tài)將所述參數(shù)集順序地提供給硬件加速器核心。參數(shù)緩存塊可以包括第一有限狀態(tài)機(jī),用來(lái)從寄存器接口塊接收第一啟動(dòng)脈沖,并且響應(yīng)于此,一旦確認(rèn)了加速器核心的非忙狀態(tài),將另一啟動(dòng)脈沖傳遞到加速器核心;第二有限狀態(tài)機(jī),用來(lái)接收和評(píng)估來(lái)自加速器核心的第一忙信號(hào),以確定其非忙狀態(tài),并且將第二忙信號(hào)傳遞到系統(tǒng)處理器;具有深度N的FIFO緩存器,用于存儲(chǔ)N個(gè)參數(shù)集;和參數(shù)輸出寄存器,用來(lái)與另一啟動(dòng)脈沖同時(shí)地將當(dāng)前參數(shù)集提供到加速器核心,其中如果所述第一忙信號(hào)指示非忙狀態(tài)并且參數(shù)FIFO為空,則所述第二忙信號(hào)只向處理器反映非忙狀態(tài)。根據(jù)本發(fā)明的另一方面,提供了一種用于設(shè)置硬件加速器模塊的方法,包括下述步驟通過(guò)系統(tǒng)處理器將第一參數(shù)集寫(xiě)到硬件加速器模塊中,第一參數(shù)集限定硬件加速器核心的第一處理任務(wù),并且發(fā)射第一啟動(dòng)脈沖;通過(guò)所述系統(tǒng)處理器連續(xù)地將第二參數(shù)集寫(xiě)到所述硬件加速器模塊中,所述第二參數(shù)集限定所述硬件加速器核心的第二處理任務(wù), 其中所述寫(xiě)步驟獨(dú)立于所述硬件加速器核心的忙狀態(tài)地進(jìn)行,并且發(fā)射第二啟動(dòng)脈沖;順序地將參數(shù)集緩存在參數(shù)緩存器中;通過(guò)所述參數(shù)緩存器監(jiān)視來(lái)自硬件加速器模塊的硬件加速器核心的第一忙信號(hào);在所述硬件加速器核心不忙的情形中,響應(yīng)于第一啟動(dòng)脈沖,立即將啟動(dòng)脈沖傳遞到硬件加速器核心,并且將第一參數(shù)集提供給硬件加速器核心;在硬件加速器核心忙的情形中,緩存啟動(dòng)信號(hào),直到從硬件加速器核心檢測(cè)到非忙指示,以及響應(yīng)于所述非忙指示,將啟動(dòng)脈沖發(fā)送到所述硬件加速器核心,并且將所述第一參數(shù)集提供給所述硬件加速器核心;以及將第二忙信號(hào)返回到所述處理器,其中如果所述第一忙信號(hào)指示所述硬件加速器核心的非忙狀態(tài)并且沒(méi)有另外的參數(shù)集被緩存在所述參數(shù)緩存器中,則所述第二忙信號(hào)只指示所述硬件加速器模塊的非忙狀態(tài),否則指示忙狀態(tài)。在優(yōu)選實(shí)施例中,用于設(shè)置硬件加速器模塊的方法進(jìn)一步包括下述步驟記錄狀態(tài)指示組中指示參數(shù)緩存器的至少一個(gè)狀態(tài)的狀態(tài)信號(hào),所述狀態(tài)指示組包括當(dāng)前使用的參數(shù)集、在所述參數(shù)緩存器中可用的空間和緩存器溢出狀態(tài)。本發(fā)明的參數(shù)緩存塊有利地實(shí)現(xiàn)了硬件加速器的吞吐量和利用的增加,因?yàn)閰?shù)集在硬件加速器核心處可用于執(zhí)行連續(xù)的流數(shù)據(jù)包的無(wú)縫處理。配置數(shù)據(jù)可以被預(yù)先計(jì)算并且提供給硬件,使得在硬件加速器完成處理任務(wù)時(shí)處理器的立即反應(yīng)是不必要的,因此, 減少了由于硬件中斷引起的處理器負(fù)載高峰。此外,減少了能耗,因?yàn)橥ㄟ^(guò)本發(fā)明的參數(shù)緩存塊,處理器能夠進(jìn)入休眠更長(zhǎng)的時(shí)間,這是更有效率的。
從具體實(shí)施例的下面的詳細(xì)描述,本發(fā)明的另外的特征和優(yōu)點(diǎn)將是明顯的,具體實(shí)施例的描述僅通過(guò)實(shí)例的方式給出并且其中將會(huì)參考附圖,在附圖中圖1示出硬件加速器模塊的傳統(tǒng)操作的時(shí)序圖;圖2示出傳統(tǒng)硬件加速器模塊的示意性方框圖;圖3示出根據(jù)本發(fā)明的硬件加速器模塊的操作的時(shí)序圖;圖4示出根據(jù)本發(fā)明的硬件加速器模塊的示意性方框圖;圖5示出圖4的硬件加速器模塊的寄存器接口和參數(shù)緩存器的詳細(xì)方框圖;以及圖6示出其中能夠使用本發(fā)明的電路布置的功能單元的總體構(gòu)造。
具體實(shí)施方式
圖3示出根據(jù)本發(fā)明的硬件加速器模塊的操作的時(shí)序圖。應(yīng)該結(jié)合附圖4來(lái)閱讀其描述,圖4示出根據(jù)本發(fā)明的硬件加速器模塊4的示意性方框圖。硬件加速器模塊4經(jīng)由總線30從在未示出的系統(tǒng)處理器上運(yùn)行的軟件接收參數(shù)和驅(qū)動(dòng)信號(hào)。硬件加速器模塊4包括寄存器接口塊40、參數(shù)緩存塊50、和加速器核心60。 加速器核心60接收數(shù)據(jù)流,根據(jù)由處理器軟件限定的參數(shù)集來(lái)處理流數(shù)據(jù)的塊,并且輸出處理后的流數(shù)據(jù),如在圖4中由粗的垂直箭頭示出的。在(A),處理器將第一參數(shù)集寫(xiě)入寄存器接口 40,并且在(B),觸發(fā)寄存器,以在時(shí)間T1啟動(dòng)。然后,處理器寫(xiě)入第二參數(shù)集并且再次觸發(fā)寄存器以在時(shí)間T3啟動(dòng),并且寫(xiě)入第三參數(shù)集并且再次觸發(fā)寄存器以在時(shí)間T5啟動(dòng),等等。通過(guò)根據(jù)本發(fā)明的加速器模塊, 處理器不必等待直到硬件加速器核心已經(jīng)結(jié)束任務(wù),以對(duì)隨后的參數(shù)集進(jìn)行編程,如將從下面的描述理解的。響應(yīng)于每一個(gè)觸發(fā)事件⑶,寄存器接口塊40將啟動(dòng)脈沖(C)輸出到參數(shù)緩存器 50。參數(shù)緩存器50從硬件加速器核心60接收忙信號(hào)(B)。如果信號(hào)(E)為低,即,加速器核心60不忙,這是圖3中在時(shí)間T2的情形,則啟動(dòng)脈沖(C)例如在時(shí)間T2立即將啟動(dòng)脈沖(D)從參數(shù)緩存器50帶到加速器核心60。如果加速器核心忙,這是圖3中在時(shí)間T4和T6的情形,則參數(shù)緩存器50等待直到它在時(shí)間1~7檢測(cè)到從硬件加速器核心60返回的忙信號(hào)(E)的下降沿。此時(shí),參數(shù)緩存器50 輸出用于加速器核心60將在第二處理任務(wù)中使用的第二參數(shù)集,即,已經(jīng)在時(shí)間T3編程的參數(shù)集的第二啟動(dòng)脈沖(D)。然后,參數(shù)緩存器50再次等待直到它在時(shí)間T8檢測(cè)到忙信號(hào) (E)的另一下降沿,從而輸出用于加速器核心60將在第三處理任務(wù)中使用的第三參數(shù)集, 即,已經(jīng)在時(shí)間T5編程的參數(shù)集的第三啟動(dòng)脈沖(D),等等。另一忙信號(hào)(G)從參數(shù)緩存器50返回到處理器并且可由在處理器上運(yùn)行的軟件訪問(wèn)。盡管從加速器核心60到參數(shù)緩存器的第一忙信號(hào)(E)確實(shí)反映了加速器核心的處理或非處理狀態(tài),但是從參數(shù)緩存器50傳遞到系統(tǒng)處理器的第二忙信號(hào)(G)只反映了在參數(shù)緩存器50空的情況下的加速器核心的空閑狀態(tài)。在本優(yōu)選實(shí)施例中,狀態(tài)信號(hào)由參數(shù)緩存器50輸出到寄存器接口 40中的可選參數(shù)FIFO狀態(tài)寄存器41。該狀態(tài)信號(hào)(F)可反映當(dāng)前激活的參數(shù)集、參數(shù)FIFO中的未用空間的數(shù)目、緩存器溢出狀態(tài)或其他錯(cuò)誤狀態(tài)。還在圖5的詳細(xì)方框圖中描述的該參數(shù)FIFO 狀態(tài)寄存器41對(duì)于根據(jù)本發(fā)明的加速器模塊的基本操作來(lái)說(shuō)不是必需的,但是對(duì)于調(diào)試和錯(cuò)誤管理目的而言是有利的。圖5描繪在圖4中示出的硬件加速器模塊的寄存器接口和參數(shù)緩存器的優(yōu)選實(shí)施例的詳細(xì)方框圖。圖5中所示的加速器模塊的優(yōu)選實(shí)施例的寄存器接口 40包括提供給公共接口和標(biāo)準(zhǔn)行為的標(biāo)準(zhǔn)化類(lèi)型的四個(gè)控制寄存器41-44。寄存器41-44的內(nèi)容被概括在下面的表中
權(quán)利要求
1.一種硬件加速器模塊,其由系統(tǒng)處理器經(jīng)由系統(tǒng)總線(30)驅(qū)動(dòng),從而根據(jù)由所述處理器限定的參數(shù)集來(lái)順序地處理數(shù)據(jù)流的數(shù)據(jù)塊,所述硬件加速器模塊包括寄存器接口塊(40),用來(lái)從所述系統(tǒng)處理器接收參數(shù)集;和加速器核心(60),用來(lái)接收流數(shù)據(jù),從而按照由所述參數(shù)集限定的方式處理所述流數(shù)據(jù)的數(shù)據(jù)塊,并且輸出處理后的流數(shù)據(jù);其中所述硬件加速器模塊進(jìn)一步包括參數(shù)緩存塊(50),用來(lái)連續(xù)地存儲(chǔ)多個(gè)參數(shù)集并且根據(jù)從所述硬件加速器核心(60) 接收的忙狀態(tài)將所述參數(shù)集順序地提供給所述硬件加速器核心。
2.根據(jù)權(quán)利要求1所述的硬件加速器模塊,其中所述參數(shù)緩存塊(50)包括第一有限狀態(tài)機(jī)(51),用來(lái)從所述寄存器接口塊(40)接收第一啟動(dòng)脈沖(C),并且響應(yīng)于此,一旦確定所述加速器核心的非忙狀態(tài),則將另一啟動(dòng)脈沖(D)傳遞到所述加速器核心(60);第二有限狀態(tài)機(jī)(52),用來(lái)接收和評(píng)估來(lái)自所述加速器核心(60)的第一忙信號(hào)(E), 以確定其非忙狀態(tài),并且將第二忙信號(hào)(G)傳遞到所述系統(tǒng)處理器;具有深度N的FIFO緩存器(53),用于存儲(chǔ)N個(gè)參數(shù)集;和參數(shù)輸出寄存器(54),用來(lái)與所述另一啟動(dòng)脈沖(D)同時(shí)將當(dāng)前參數(shù)集提供到所述加速器核心,其中如果所述第一忙信號(hào)(E)指示非忙狀態(tài)并且所述參數(shù)FIFO(53)為空,則所述第二忙信號(hào)(G)只向所述處理器反映非忙狀態(tài)。
3.一種用于設(shè)置硬件加速器模塊的方法,包括下述步驟通過(guò)系統(tǒng)處理器將第一參數(shù)集寫(xiě)(A)到所述硬件加速器模塊中,所述第一參數(shù)集限定硬件加速器核心的第一處理任務(wù),并且發(fā)射(C)第一啟動(dòng)脈沖;通過(guò)所述系統(tǒng)處理器連續(xù)地將第二參數(shù)集寫(xiě)(A)到所述硬件加速器模塊中,所述第二參數(shù)集限定所述硬件加速器核心的第二處理任務(wù),其中所述寫(xiě)步驟獨(dú)立于所述硬件加速器核心的忙狀態(tài)而進(jìn)行,并且發(fā)射(C)第二啟動(dòng)脈沖;順序地將所述參數(shù)集緩存在參數(shù)緩存器中;通過(guò)所述參數(shù)緩存器監(jiān)視來(lái)自所述硬件加速器模塊的所述硬件加速器核心的第一忙信號(hào)(E);在所述硬件加速器核心不忙的情形中,響應(yīng)于所述第一啟動(dòng)脈沖(C),立即將啟動(dòng)脈沖 (D)傳遞到所述硬件加速器核心,并且將第一參數(shù)集提供給所述硬件加速器核心;在所述硬件加速器核心為忙的情形中,緩存啟動(dòng)信號(hào),直到從所述硬件加速器核心檢測(cè)到非忙指示,并且響應(yīng)于所述非忙指示,將啟動(dòng)脈沖(D)傳遞到所述硬件加速器核心,并且將所述第一參數(shù)集提供給所述硬件加速器核心;以及將第二忙信號(hào)(G)返回到所述處理器,其中如果所述第一忙信號(hào)(E)指示所述硬件加速器核心的非忙狀態(tài)并且沒(méi)有另外的參數(shù)集被緩存在所述參數(shù)緩存器中,則所述第二忙信號(hào)(G)僅指示所述硬件加速器模塊的非忙狀態(tài),否則指示忙狀態(tài)。
4.根據(jù)權(quán)利要求3所述的方法,進(jìn)一步包括下述步驟記錄狀態(tài)指示組中指示所述參數(shù)緩存器的至少一個(gè)狀態(tài)的狀態(tài)信號(hào)(F),所述狀態(tài)指示組包括當(dāng)前使用的參數(shù)集、在所述參數(shù)緩存器中可用的空間、和緩存器溢出狀態(tài)。
全文摘要
本發(fā)明提供了一種硬件加速器模塊,其由系統(tǒng)處理器經(jīng)由系統(tǒng)總線驅(qū)動(dòng),從而根據(jù)由所述處理器限定的參數(shù)集來(lái)順序地處理數(shù)據(jù)流的數(shù)據(jù)塊,所述硬件加速器模塊包括寄存器接口塊,用來(lái)從所述系統(tǒng)處理器接收參數(shù)集;和加速器核心,用來(lái)接收流數(shù)據(jù),從而按照由所述參數(shù)集限定的方式處理所述流數(shù)據(jù)的數(shù)據(jù)塊,并且輸出處理后的流數(shù)據(jù);和參數(shù)緩存塊,用來(lái)連續(xù)地存儲(chǔ)多個(gè)參數(shù)集并且根據(jù)所述硬件加速器核心的忙狀態(tài)將所述參數(shù)集順序地提供給所述硬件加速器核心。本發(fā)明的參數(shù)緩存塊使得能夠減少硬件加速器的停機(jī)時(shí)間,從而增加數(shù)據(jù)吞吐量,并且在驅(qū)動(dòng)數(shù)個(gè)硬件加速器的處理器中減少處理器過(guò)載的風(fēng)險(xiǎn)。
文檔編號(hào)G06F5/06GK102446085SQ201110306370
公開(kāi)日2012年5月9日 申請(qǐng)日期2011年10月8日 優(yōu)先權(quán)日2010年10月1日
發(fā)明者烏韋·普羅斯, 岡納·尼切, 托比亞斯·韋伯, 托馬斯·弗利斯 申請(qǐng)人:英特爾移動(dòng)通信技術(shù)德累斯頓有限公司