專利名稱:Ahb互連矩陣接口及其數(shù)據(jù)處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及AMBA協(xié)議的先進(jìn)高速總線AHB,具體涉及AHB互連矩陣接口及 其數(shù)據(jù)處理方法。
背景技術(shù):
AHB互連矩陣是由A腿公司提出的一種系統(tǒng)總線,其連接結(jié)構(gòu)如圖1所示, ARM提出的AHB互連矩陣包含以下部分輸入鎖存部分(INPUT STAGE)、譯碼部 分(DEC0DER)、通道選擇部分(MUX)。此結(jié)構(gòu)的提出,實現(xiàn)了 AHB總線的并行運 作,ii高了總線的效率,但是在實際應(yīng)用中發(fā)現(xiàn),此方案并不可行,原因在于 hready信號是一個全局信號,而當(dāng)這個AHB總線在連接多個AHB主器件和從器 件之后,所有這些器件的hready實際上都是連在一起的,而hready甚至接近連 到每一個寄存器上,導(dǎo)致此方案最大的問題,這個總線系統(tǒng)的頻率很難得到提高。對于高速的內(nèi)存空間來說,尤其是內(nèi)存空間SDRAM (Synchronous Dynamic Random Access Memory,同步動態(tài)隨機存取存儲器)、DDR (Double Data Rate, 雙倍速內(nèi)存)、DDR2、 DDR3等,這些空間的速度通常是系統(tǒng)內(nèi)除CPU內(nèi)核之外的 最高速度的部分,這一部分的運行速度與效率直接影響系統(tǒng)的效率。并且在多 CPU或DSP (Digital Signal Processing,數(shù)字信號處理)內(nèi)核的系統(tǒng)中,CPU 或DSP之間需要進(jìn)行數(shù)據(jù)高速有效的交換,這就需要一個適合的高速緩存器 (Cache)方式來實現(xiàn)數(shù)據(jù)高速高效的交換,以提高系統(tǒng)的效率。發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問題是,提供一種AHB互連矩陣接口,并在所述接口 的基礎(chǔ)上提供一種AHB互連矩陣接口的數(shù)據(jù)處理方法,本發(fā)明可有效的提高系統(tǒng) 的運作效率。一種AHB互連矩陣接口,包括AHB主器件控制模塊,用于接收并鎖存來自AHB主器件的信息,以及向網(wǎng)絡(luò) 型Cache控制模塊發(fā)出申請及數(shù)據(jù)交互;網(wǎng)絡(luò)型Cache控制模塊,用于對AHB主器件控制模塊發(fā)出的申請進(jìn)行數(shù)據(jù)操作,或者向仲裁模塊發(fā)出申請;請求仲裁模塊,用于對網(wǎng)絡(luò)型Cache控制模塊所發(fā)出的申請進(jìn)行仲裁,并生 成仲裁信息;以及AHB從器件控制模塊,用于與AHB從器件及網(wǎng)絡(luò)型Cache控制模塊進(jìn)行 數(shù)據(jù)交互;其中,所述AHB主器件控制模塊、網(wǎng)絡(luò)型Cache控制模塊、請求仲裁模塊以 及從器件控制模塊四者共同構(gòu)成一個系統(tǒng)級的流水線。所述接口的AHB主器件控制模塊的個數(shù)至少與接入的AHB主器件個數(shù)相同。所述接口的網(wǎng)絡(luò)型Cache控制模塊由多組Cache控制模塊構(gòu)成,其個數(shù)至少 與所述AHB主器件控制模塊個數(shù)相同。一種AHB互連矩陣接口的數(shù)據(jù)處理方法,該方法為AHB主器件控制模塊根 據(jù)來自AHB主器件的信息,以流水線方式向網(wǎng)絡(luò)型高速緩存器控制模塊發(fā)出申 請,網(wǎng)絡(luò)型高速緩存器控制模塊判斷所述信息包含的命令類型,若為寫命令,則 將數(shù)據(jù)寫入與其對應(yīng)的高速緩存器的標(biāo)記隨機存儲器中,或者寫入AHB從器件 中;若為讀命令,則從高速緩存器中,或者通過請求仲裁模塊申請從AHB從器件 中讀取有效數(shù)據(jù),提供給主器件控制模塊。若與所述高速緩存器控制模塊對應(yīng)的高速緩存器為數(shù)據(jù)型高速緩存器,則在 AHB主器件控制模塊鎖存的信息中包含寫命令且高速緩存器控制模塊判斷與其 對應(yīng)的高速緩存器內(nèi)有空閑的標(biāo)記隨機存儲器可用時,網(wǎng)絡(luò)型高速緩存器控制模 塊將要寫入的數(shù)據(jù)寫入到所述空閑標(biāo)記隨機存儲器中。若與所述高速緩存器控制模塊對應(yīng)的高速緩存器為類指令型高速緩存器,則 在AHB主器件控制模塊鎖存的信息中包含寫命令時,網(wǎng)絡(luò)型高速緩存器控制模塊 直接將要寫入的數(shù)據(jù)寫入到其后面的AHB從器件中,并檢查高速緩存器控制模塊 對應(yīng)的高速緩存器內(nèi)是否有相應(yīng)地址的有效標(biāo)記隨機存儲器,若有,則將其標(biāo)為 無效。在AHB主器件控制模塊鎖存的信息中包含讀命令且高速緩存器控制模塊判 斷與其對應(yīng)的高速緩存器內(nèi)具有有效數(shù)據(jù)時,網(wǎng)絡(luò)型高速緩存器控制模塊從相應(yīng)的高速緩存器中讀取有效數(shù)據(jù),并將其提供給主器件控制模塊。在AHB主器件控制模塊鎖存的信息中包含讀命令且網(wǎng)絡(luò)型高速緩存器控制 模塊判斷所有高速緩存器內(nèi)均無有效數(shù)據(jù)時,AHB從器件控制模塊從AHB從器件 上讀取有效數(shù)據(jù),并將其提供給主器件控制模塊及網(wǎng)絡(luò)型高速緩存器控制模塊。所述請求仲裁模塊對來自網(wǎng)絡(luò)型高速緩存器控制模塊的申請的仲裁是根據(jù) 申請的時間以先進(jìn)先出的方式進(jìn)行的,并生成仲裁信息。 所述仲裁信息的內(nèi)容為申請的順序。本發(fā)明使得矩陣運作效率大為增加,同時因為網(wǎng)絡(luò)型Cache控制模塊可視作 為一個共享型的Cache,故可提升多內(nèi)核體系的整體運作效率。
圖1是ARM公司提出的AHB互連矩陣的原理框圖; 圖2是本發(fā)明所述接口的原理框圖;圖3是本發(fā)明所述接口的優(yōu)選實施例的AHB互聯(lián)矩陣結(jié)構(gòu)示意圖;圖4是本發(fā)明所述接口的AHB主器件控制模塊為兩級流水線時的波形示意圖;圖5是本發(fā)明所述接口的AHB主器件控制模塊為三級流水線時的波形示意圖;圖6是本發(fā)明所述接口寫操作時的波形示意圖; 圖7是本發(fā)明所述接口讀操作時的波形示意圖。
具體實施方式
下面結(jié)合圖2、圖3、圖4、圖5、圖6及圖7對本發(fā)明所述的接口及其數(shù)據(jù) 處理方法的優(yōu)選實施例進(jìn)行說明,此處所描述的優(yōu)選實施例僅用于說明和解釋本 發(fā)明,并不用于限定本發(fā)明。AHB總線是很多嵌入式處理器(尤其是ARM CPU)系統(tǒng)進(jìn)行數(shù)據(jù)傳送時采用的 高速總線,本接口設(shè)計以多個AHB主器件通過一個流水線式的帶Cache的AHB 矩陣到達(dá)AHB從器件方,實現(xiàn)總線間的高速高效、并行運作。如圖2所示,是本發(fā)明所述接口的原理框圖;包括AHB主器件控制模塊202,用于接收并鎖存來自AHB主器件的信息,以及以 流水線的方式向網(wǎng)絡(luò)型Cache控制模塊發(fā)出申請及數(shù)據(jù)交互;其作用相當(dāng)于ARM 公司提出的AHB互聯(lián)矩陣的輸入階段部分(INPUT STAGE);網(wǎng)絡(luò)型Cache控制模塊204,用于對A冊主器件控制模塊發(fā)出的申請進(jìn)行數(shù) 據(jù)操作,或者向仲裁模塊發(fā)出申請;請求仲裁模塊206,用于對網(wǎng)絡(luò)型Cache控制模塊所發(fā)出的申請進(jìn)行仲裁,并生成仲裁信息;該對來自網(wǎng)絡(luò)型Cache控制模塊204的申請的仲裁是根據(jù)申請 的時間以先進(jìn)先出的方式進(jìn)行的,且最終生成的仲裁信息的內(nèi)容為申請的順序。網(wǎng)絡(luò)型Cache控制模塊204和請求仲裁模塊206作用相當(dāng)于A固提出的公司 提出的AHB互聯(lián)矩陣的通道選擇器部分;以及AHB從器件控制模塊208,用于與AHB從器件及網(wǎng)絡(luò)型Cache控制模塊 進(jìn)行數(shù)據(jù)交互;同時所述AHB主器件控制模塊202、網(wǎng)絡(luò)型Cache控制模塊204、請求仲裁 模塊206以及從器件控制模塊208四者共同構(gòu)成一個系統(tǒng)級的流水線。本發(fā)明針對內(nèi)存系統(tǒng),在保證數(shù)據(jù)在每個接口保證一致性的提前下,在這一 類AHB矩陣上增加了一個網(wǎng)絡(luò)型Cache控制模塊,這樣,可以使得AHB接口效率 得到極大的提高。對于無Cache的CPU (如ARM CPU)或者DSP (作為AHB主器 件)內(nèi)核來說,AHB矩陣上的Cache就是系統(tǒng)級的Cache,而對于有Cache的 CPU/DSP來說,AHB矩陣上的Cache就是一個二級Cache,即AHB矩陣上的Cache 可以提高系統(tǒng)的運行效率。同時,AHB矩陣上的Cache是為AHB矩陣之后的空間服務(wù)的,相當(dāng)于AHB主 器件的共享型Cache,這對于多核系統(tǒng)(多個CPU,多個DSP)進(jìn)行數(shù)據(jù)交互有很 大的作用,可以使得這樣的多內(nèi)核系統(tǒng)整體運行效率得到進(jìn)一步的提高。網(wǎng)絡(luò)型Cache控制模塊是由多組Cache控制模塊組成的,每個AHB主器件控 制模塊對應(yīng)一個Cache控制模塊,在一定條件下,每個AHB主器件控制模塊可以 同時進(jìn)行各自的數(shù)據(jù)操作,這樣可以消除因Cache控制模塊只有一個而成為運行 瓶頸。組成網(wǎng)絡(luò)型Cache控制模塊的多組Cache控制模塊并不是獨立沒有聯(lián)系的, 每個AHB主器件控制模塊對Cache控制模塊操作時,同時也會更新別的其它 Cache控制模塊的狀態(tài)信息,網(wǎng)絡(luò)型Cache控制模塊的有效標(biāo)識位與單一 Cache 控制模塊的有效標(biāo)識位是不一樣的,單一 Cache控制模塊的有效標(biāo)識位只有一位 (標(biāo)識該標(biāo)簽的數(shù)據(jù)有效或者無效),而網(wǎng)絡(luò)型Cache控制模塊的有效標(biāo)識位有 兩位,如分別為OO表示本地?zé)o效,Ol表示本地有效,IO表示本地?zé)o效但網(wǎng)絡(luò) (其它組Cache控制模塊)有有效數(shù)據(jù),11表示本地數(shù)據(jù)已過時但網(wǎng)絡(luò)(其它 組Cache控制模塊)已有更新數(shù)據(jù))。正是因為網(wǎng)絡(luò)型Cache控制模塊可以知道其它組的Cache控制模塊的信息, 所以在讀操作過程中,如果在本地Cache控制模塊沒有找到有效數(shù)據(jù)時,但網(wǎng)絡(luò) 上模塊發(fā)出數(shù)據(jù)操作申請,而是從網(wǎng)絡(luò)上其它組的Cache控制模塊獲得數(shù)據(jù),再返 回給主控制器控制模塊。本發(fā)明的特征在于使用流水線和網(wǎng)絡(luò)型Cache控制模塊,減少AHB接口對 AHB從器件的操作,以提高系統(tǒng)的運作效率,同時因為其多組Cache控制模塊可 并行操作,且Cache控制模塊組間可以進(jìn)行信息的交換,可以極大的提高多內(nèi)核 系統(tǒng)的整體運作效率。圖3是本發(fā)明所述接口的優(yōu)選實施例的AHB互聯(lián)矩陣結(jié)構(gòu)示意圖;包括N 個AHB主器件控制模塊、N個Cache控制模塊,它們共同組成網(wǎng)絡(luò)型Cache控制 模塊,請求仲裁模塊、AHB從器件控制模塊;為一個二級流水線;本發(fā)明所述接 口還可以是一個三級流水線,三級流水線的分工更為細(xì)小,總線的頻率可以更高。圖4是本發(fā)明所述接口的AHB主器件控制模塊為兩級流水線時的波形示意 圖,即為圖3所示實施例的波形示意圖;流水線作業(yè)切斷了 hready與之后的邏 輯的直接連接關(guān)系,使得總線頻率得到提升,并且因為這是一個流水線式的操作 方式,使得效率的損失減到最小。圖5是本發(fā)明所述接口的AHB主器件控制模塊 為三級流水線時的波形示意圖;圖6是本發(fā)明所述接口寫操作時的波形示意圖; 圖7是本發(fā)明所述接口讀操作時的波形示意圖。下面參照圖3、圖4、圖5、圖6 及圖7對本發(fā)明所述實施例進(jìn)行詳細(xì)描述,為了保證數(shù)據(jù)操作的一致性,請求仲 裁模塊中采用的是按時間順序記錄各操作的先后,并以先進(jìn)先出的方式進(jìn)行仲 裁,以此保證數(shù)據(jù)操作的一致性。本發(fā)明中,與所述Cache控制模塊對應(yīng)的Cache可以有兩種實現(xiàn)方式, 一種 為數(shù)據(jù)型Cache, —種為類指令型Cache。若與所述Cache控制模塊對應(yīng)的Cache為數(shù)據(jù)型Cache,則在AHB主器件控 制模塊鎖存的信息中包含寫命令且Cache控制模塊判斷與其對應(yīng)的Cache內(nèi)有空 閑的Tag RAM可用時,網(wǎng)絡(luò)型Cache控制模塊將要寫入的數(shù)據(jù)寫入到所述空閑 Tag RAM中,并不在其后面的AHB從器件上發(fā)生任何的數(shù)據(jù)操作。其波形如圖6 所示。若與所述Cache控制模塊對應(yīng)的Cache為類指令型Cache,則在AHB主器件 控制模塊鎖存的信息中包含寫命令時,網(wǎng)絡(luò)型Cache控制模塊直接將要寫入的數(shù) 據(jù)寫入到其后面的AHB從器件中,并檢查Cache控制模塊對應(yīng)的Cache內(nèi)是否有 相應(yīng)地址的有效Tag RAM,若有,則將其標(biāo)為無效。但無論與所述Cache控制模塊對應(yīng)的Cache實現(xiàn)方式數(shù)據(jù)型Cache還是類指令型Cache,如圖7所示,在AHB主器件控制模塊鎖存的信息中包含讀命令且 Cache控制模塊判斷與其對應(yīng)的Cache內(nèi)具有有效數(shù)據(jù)時,網(wǎng)絡(luò)型Cache控制模塊從相應(yīng)的Cache中讀取有效數(shù)據(jù),并將其提供給主器件控制模塊。或者網(wǎng)絡(luò)型Cache制模塊判斷所有Cache內(nèi)均無有效數(shù)據(jù)時,AHB從器件控制模塊從AHB從器件上讀取有效數(shù)據(jù),并將其提供給主器件控制模塊及網(wǎng)絡(luò)型Cache控制模塊。綜上所述,本發(fā)明通過帶Cache的AHB互聯(lián)矩陣,并在互聯(lián)矩陣上增加流水 線和網(wǎng)絡(luò)型Cache控制模塊,使得矩陣運作效率大為增加,且提升了多內(nèi)核體系 的整體運作效率。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域 的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi), 所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種AHB互連矩陣接口,其特征在于,包括AHB主器件控制模塊,用于接收并鎖存來自AHB主器件的信息,以及向網(wǎng)絡(luò)型高速緩存器控制模塊發(fā)出申請及數(shù)據(jù)交互;網(wǎng)絡(luò)型高速緩存器控制模塊,用于對AHB主器件控制模塊發(fā)出的申請進(jìn)行數(shù)據(jù)操作,或者向仲裁模塊發(fā)出申請;請求仲裁模塊,用于對網(wǎng)絡(luò)型高速緩存器控制模塊所發(fā)出的申請進(jìn)行仲裁,并生成仲裁信息;以及AHB從器件控制模塊,用于與AHB從器件及網(wǎng)絡(luò)型高速緩存器控制模塊進(jìn)行數(shù)據(jù)交互;其中,所述AHB主器件控制模塊、網(wǎng)絡(luò)型高速緩存器控制模塊、請求仲裁模塊以及從器件控制模塊四者共同構(gòu)成一個系統(tǒng)級的流水線。
2、 如權(quán)利要求1所述的AHB互連矩陣接口,其特征在于,所述接口的AHB 主器件控制模塊的個數(shù)至少與接入的AHB主器件個數(shù)相同。
3、 如權(quán)利要求1所述的AHB互連矩陣接口,其特征在于,所述接口的網(wǎng)絡(luò) 型高速緩存器控制模塊由多組高速緩存器控制模塊構(gòu)成,其個數(shù)至少與所述 AHB主器件控制模塊個數(shù)相同。
4、 一種A朋互連矩陣接口的數(shù)據(jù)處理方法,其特征在于,該方法為AHB 主器件控制模塊根據(jù)來自AHB主器件的信息,以流水線方式向網(wǎng)絡(luò)型高速緩存器 控制模塊發(fā)出申請,網(wǎng)絡(luò)型高速緩存器控制模塊判斷所述信息包含的命令類型, 若為寫命令,則將數(shù)據(jù)寫入與其對應(yīng)的高速緩存器的標(biāo)記隨機存儲器中,或者寫 入AHB從器件中;若為讀命令,則從高速緩存器中,或者通過請求仲裁模塊申請 從AHB從器件中讀取有效數(shù)據(jù),提供給主器件控制模塊。
5、 如權(quán)利要求4所述的AHB互連矩陣接口的數(shù)據(jù)處理方法,其特征在于, 若與所述高速緩存器控制模塊對應(yīng)的高速緩存器為數(shù)據(jù)型高速緩存器,則在AHB 主器件控制模塊鎖存的信息中包含寫命令且高速緩存器控制模塊判斷與其對應(yīng) 的高速緩存器內(nèi)有空閑的標(biāo)記隨機存儲器可用時,網(wǎng)絡(luò)型高速緩存器控制模塊將要寫入的數(shù)據(jù)寫入到所述空閑標(biāo)記隨機存儲器中。
6、 如權(quán)利要求4所述的AHB互連矩陣接口的數(shù)據(jù)處理方法,其特征在于, 若與所述高速緩存器控制模塊對應(yīng)的高速緩存器為類指令型高速緩存器,則在 AHB主器件控制模塊鎖存的信息中包含寫命令時,網(wǎng)絡(luò)型高速緩存器控制模塊直 接將要寫入的數(shù)據(jù)寫入到其后面的AHB從器件中,并檢査高速緩存器控制模塊對 應(yīng)的高速緩存器內(nèi)是否有相應(yīng)地址的有效標(biāo)記隨機存儲器,若有,則將其標(biāo)為無 效。
7、 如權(quán)利要求4所述的AHB互連矩陣接口的數(shù)據(jù)處理方法,其特征在于, 在AHB主器件控制模塊鎖存的信息中包含讀命令且高速緩存器控制模塊判斷與 其對應(yīng)的高速緩存器內(nèi)具有有效數(shù)據(jù)時,網(wǎng)絡(luò)型高速緩存器控制模塊從相應(yīng)的高 速緩存器中讀取有效數(shù)據(jù),并將其提供給主器件控制模塊。
8、 如權(quán)利要求4所述的AHB互連矩陣接口的數(shù)據(jù)處理方法,其特征在于, 在AHB主器件控制模塊鎖存的信息中包含讀命令且網(wǎng)絡(luò)型高速緩存器控制模塊 判斷所有高速緩存器內(nèi)均無有效數(shù)據(jù)時,AHB從器件控制模塊從AHB從器件上讀 取有效數(shù)據(jù),并將其提供給主器件控制模塊及網(wǎng)絡(luò)型高速緩存器控制模塊。
9、 如權(quán)利要求4所述的AHB互連矩陣接口的數(shù)據(jù)處理方法,其特征在于, 所述請求仲裁模塊對來自網(wǎng)絡(luò)型高速緩存器控制模塊的申請的仲裁是根據(jù)申請 的時間以先進(jìn)先出的方式進(jìn)行的,并生成仲裁信息。
10、 如權(quán)利要求9所述的AHB互連矩陣接口的數(shù)據(jù)處理方法,其特征在于, 所述仲裁信息的內(nèi)容為申請的順序。
全文摘要
本發(fā)明提供一種AHB互連矩陣接口及其數(shù)據(jù)處理方法,所述AHB互連矩陣接口包括AHB主器件控制模塊、網(wǎng)絡(luò)型高速緩存器控制模塊、請求仲裁模塊以及AHB從器件控制模塊,四者共同構(gòu)成一個系統(tǒng)級的流水線;所述方法為AHB主器件控制模塊向網(wǎng)絡(luò)型高速緩存器控制模塊發(fā)出申請,若為寫命令,則網(wǎng)絡(luò)型高速緩存器控制模塊將數(shù)據(jù)寫入標(biāo)記隨機存儲器中,或者寫入AHB從器件中;若為讀命令,則網(wǎng)絡(luò)型高速緩存器控制模塊從高速緩存器中,或者通過請求仲裁模塊申請從AHB從器件中讀取有效數(shù)據(jù),提供給主器件控制模塊。本發(fā)明不僅使得矩陣運作效率大為增加,同時還提升了多內(nèi)核體系的整體運作效率。
文檔編號G06F13/40GK101625671SQ20081006843
公開日2010年1月13日 申請日期2008年7月8日 優(yōu)先權(quán)日2008年7月8日
發(fā)明者陳家錦 申請人:中興通訊股份有限公司