專利名稱:直接訪問存儲裝置及直接訪問存儲操作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及直接訪問存儲(DMA, Direct Memory Access),特別涉及一種 具有嵌入式直接訪問存儲控制器(DMAC, Direct Memory Access Controller)結(jié) 構(gòu)的裝置及其在先進微控制器總線結(jié)構(gòu)(AMBA, Advanced Microcontroller Bus Architecture)中的應(yīng)用。
背景技術(shù):
在片外總線系統(tǒng)中,直接訪問存儲廣泛應(yīng)用于各個領(lǐng)域,如在外設(shè)部件互 連標(biāo)準(zhǔn)(PCI, Peripheral Component Interconnect)總線結(jié)構(gòu)中石更盤設(shè)備和系統(tǒng)存 儲器間的應(yīng)用。在片上系統(tǒng)(SOC, System on chip)中,為了能夠重復(fù)^f吏用知識 產(chǎn)權(quán)核,設(shè)計人員通常將知識產(chǎn)權(quán)核與標(biāo)準(zhǔn)的總線集成,例如先進微控制器 總線。所述知識產(chǎn)權(quán)核是應(yīng)用于片上系統(tǒng)中,經(jīng)驗證過的具備特定功能的邏 輯塊,例如USB控制器、MP3解碼器。在先進微控制器總線的說明書中定義了 核心模塊的功能和各模塊之間的接口、時序關(guān)系,但沒有定義直接訪問存儲 控制器的結(jié)構(gòu)。為了完成知識產(chǎn)權(quán)核之間的直接訪問存儲數(shù)據(jù)傳輸,由此產(chǎn) 生了各種不同的基于先進微控制器總線結(jié)構(gòu)的直接訪問存儲控制器。有的直 接訪問存儲控制器過于簡單難以滿足設(shè)計需求,有的又過于復(fù)雜而使得操作 過程繁瑣、功耗加大,有的則僅僅是為特殊總線結(jié)構(gòu)和應(yīng)用定制并且擴展性 很差,還有的直接訪問存儲控制器甚至?xí)~外增加先進微控制器總線結(jié)構(gòu)所 沒有定義的控制信號以及它本身同先進微控制器總線的時序和功能關(guān)系,因 此破壞了先進微控制器總線結(jié)構(gòu)。面對這些情況,設(shè)計人員不得不耗費時間 挑選可用的直接訪問存儲控制器,然后根據(jù)選定的直接訪問存儲控制器,為 知識產(chǎn)權(quán)核額外設(shè)計接口及控制運行的方法來滿足設(shè)計要求。
Synopsys7/^司2005年12月14日的Design Ware DW—ahb_dmac Databook
version 2.07a中公開了 一種基于先進微控制器總線結(jié)構(gòu)的中央直接訪問存儲控 制器,應(yīng)用于含有多個知識產(chǎn)權(quán)核并且知識產(chǎn)權(quán)核間直接訪問存儲數(shù)據(jù)傳輸
的源設(shè)備,通過數(shù)據(jù)緩存器接收源設(shè)備的數(shù)據(jù)暫存,再通過內(nèi)部仲裁器確定 直接訪問存儲的目標(biāo)設(shè)備,從數(shù)據(jù)緩存器中讀取源設(shè)備數(shù)據(jù)向目標(biāo)設(shè)備傳輸。 通過這樣的方法來高效地處理最多16個知識產(chǎn)權(quán)核之間的直接訪問存儲數(shù)據(jù) 傳輸。但是對于現(xiàn)今大多數(shù)內(nèi)部模塊功能復(fù)雜并且模塊功能劃分良好的片上 系統(tǒng),各個模塊間只存在著不多的直接訪問存儲數(shù)據(jù)傳輸,因此Syn叩sys公司 所公開的中央直接訪問存儲控制器并不能有效地適用于這種系統(tǒng)的總線,其 不足之處在于
1. 中央直接訪問存儲控制器是為處理多個知識產(chǎn)權(quán)核間直接訪問存儲 數(shù)據(jù)傳輸設(shè)計,因此結(jié)構(gòu)復(fù)雜,導(dǎo)致芯片面積增大,芯片成本增加;
2. 中央直接訪問存儲控制器運行需要設(shè)計人員為知識產(chǎn)權(quán)核定制不同 的總線接口來進行數(shù)據(jù)傳輸,因而會破壞總線結(jié)構(gòu);
3. 中央直接訪問存儲控制器的結(jié)構(gòu)與處理直接訪問存儲操作的方法決 定了總線設(shè)備之間無法直接進行數(shù)據(jù)傳輸,使直接訪問存儲操作效 率降低。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是為了避米因為使用中央直接訪問存儲控器而使得總線設(shè)備之間的直接訪問存儲操作效率降低并且破壞總線結(jié)構(gòu)。
為解決上述問題,本發(fā)明將知識產(chǎn)權(quán)核、直接訪問存儲控制器、先進微 控制器總線結(jié)構(gòu)主接口和先進微控制器總線結(jié)構(gòu)從接口集成來構(gòu)成可以完成 直接訪問存儲功能的裝置。下面對于本發(fā)明直接訪問存儲裝置的各個組成部 件作——介紹
先進微控制器總線結(jié)構(gòu)從接口,與總線相連,用于接收并傳輸CPU通知
知識產(chǎn)權(quán)核進行直接訪問存儲操作的系統(tǒng)信號;
知識產(chǎn)權(quán)核,接收并根據(jù)系統(tǒng)信號發(fā)送直接訪問存儲操作請求信號和操 作信息;接收直接訪問存儲器的反饋和通知信號;
直接訪問存儲控制器,接收并根據(jù)直接訪問存儲操作請求信號和操作信 息,發(fā)送總線數(shù)據(jù)傳輸?shù)膯又噶睢Ⅱ?qū)動信息;接收并根據(jù)先進微控制器總 線結(jié)構(gòu)主接口反饋的傳輸失敗信息發(fā)送總線數(shù)據(jù)傳輸終止指令;接收并發(fā)送 內(nèi)部數(shù)據(jù)或接收外部數(shù)據(jù);通知知識產(chǎn)權(quán)核直接訪問存儲操作成功或失??;
先進微控制器總線結(jié)構(gòu)主接口,與總線相連,接收啟動指令和驅(qū)動信息 啟動與總線的數(shù)據(jù)傳輸并反饋直接訪問存儲控制器;接收終止指令終止與總 線的數(shù)據(jù)傳輸,并將從總線接收的外部數(shù)據(jù)傳輸給直接訪問存儲控制器;將 直接訪問存儲控制器發(fā)送的內(nèi)部數(shù)據(jù)發(fā)送至總線。
相應(yīng)地,本發(fā)明還采用了一種直接訪問存儲梯:作的方法,包括以下步驟 CPU向知識產(chǎn)權(quán)核發(fā)送系統(tǒng)信號通知進行直接訪問存儲操作;知識產(chǎn)權(quán)核向 直接訪問存儲控制器發(fā)送直接訪問存儲請求信號及操作信息;直接訪問存儲 控制器接收直接訪問存儲請求信號及操作信息并向知識產(chǎn)權(quán)核反饋;知識產(chǎn) 權(quán)核接收反饋并處置請求信號;直接訪問存儲控制器根據(jù)接收的操作信息向 先進微控制器總線結(jié)構(gòu)主接口發(fā)送啟動指令和驅(qū)動信息;先進微控制器總線 結(jié)構(gòu)主接口接收啟動指令和驅(qū)動信息啟動直接訪問存儲的總線數(shù)據(jù)傳輸,從 總線接收外部數(shù)據(jù)傳輸給直接訪問存儲控制器或從直接訪問存儲控制器接收 內(nèi)部數(shù)據(jù)發(fā)送至總線,并將總線數(shù)據(jù)傳輸過程反饋給直接訪問存儲控制器; 直接訪問存儲控制器根據(jù)接收的反饋保持總線數(shù)據(jù)傳輸?shù)睦^續(xù)進行或者向先 進微控制器總線結(jié)構(gòu)主接口發(fā)送終止指令停止總線數(shù)據(jù)傳輸并通知知識產(chǎn)權(quán) 核直接訪問存儲操作失??;當(dāng)總線數(shù)據(jù)傳輸完成后,先進微控制器總線結(jié)構(gòu)主接口通知直接訪問存儲控制器總線數(shù)據(jù)傳輸完成,直接訪問存儲控制器通 知知識產(chǎn)權(quán)核直接訪問存儲操作成功。
與現(xiàn)有4支術(shù)相比,本發(fā)明具有以下優(yōu)點
1. 本發(fā)明直接訪問存儲裝置通過將知識產(chǎn)權(quán)核、直接訪問存儲控制器、 先進微控制器總線結(jié)構(gòu)主接口和先進微控制器總線結(jié)構(gòu)從接口集成 來構(gòu)成可以完成直接訪問存儲功能的裝置,無需經(jīng)過中央直接訪問存 儲控制器,并且剔除了中央直接訪問存儲控制器的內(nèi)部仲裁器,因此
面積較小,降低了芯片成本;
2. 從本發(fā)明直接訪問存儲操作方法可以看到,直接訪問存儲操作中知識 產(chǎn)權(quán)核與總線設(shè)備的數(shù)據(jù)傳輸都統(tǒng)一通過先進微控制器總線結(jié)構(gòu)主 接口在總線上完成并且采用標(biāo)準(zhǔn)的總線傳輸,因此不破壞總線結(jié)構(gòu);
3. 從本發(fā)明直接訪問存儲操作方法中還可以看到,直接訪問存儲操作所 傳輸數(shù)據(jù)通過總線僅僅在本發(fā)明直接訪問存儲裝置和總線設(shè)備之間 直接傳輸而無需經(jīng)過中央直接訪問存儲控制器,因此直接訪問存儲操 作效率提高。
圖1 本發(fā)明直接訪問存儲裝置在先進高性能總線或先進系統(tǒng)總線上作 為源設(shè)備的示意圖2本發(fā)明直接訪問存儲操作方法流程圖3 本發(fā)明直接訪問存儲操作方法涉及的信號流向圖4本發(fā)明直接訪問存儲操作方法的相關(guān)信號時序圖5 本發(fā)明直接訪問存儲裝置的進一步擴展結(jié)構(gòu)圖。
具體實施例方式
本發(fā)明直接訪問存儲裝置通過將知識產(chǎn)權(quán)核l、直接訪問存儲控制器5、數(shù) 據(jù)緩存器3、緩存器控制器4、先進微控制器總線結(jié)構(gòu)主接口6和先進微控制器 總線結(jié)構(gòu)7從接口集成在一起。使知識產(chǎn)權(quán)核l能夠通過先進高性能總線 (AHB, Advanced High-performance Bus)直接與總線上的設(shè)備實現(xiàn)直接訪問存 儲數(shù)據(jù)傳輸操作。
如圖l所示,本發(fā)明直接訪問存儲裝置(未標(biāo)號)包括
先進微控制器總線結(jié)構(gòu)從接口7,與總線相連,用于接收并傳輸CPU通知 知識產(chǎn)權(quán)核1進行直接訪問存儲操作的系統(tǒng)信號;
知識產(chǎn)權(quán)核1,接收并根據(jù)系統(tǒng)信號發(fā)送直接訪問存儲操作請求信號和操 作信息;接收直接訪問存儲器5的反饋和通知信號;
直接訪問存儲控制器5,接收并根據(jù)直接訪問存儲操作請求信號和操作信 息,發(fā)送總線數(shù)據(jù)傳輸?shù)膯又噶?、?qū)動信息;接收并根據(jù)先進微控制器總 線結(jié)構(gòu)主接口6反饋的傳輸失敗信息發(fā)送總線數(shù)據(jù)傳輸終止指令;接收并發(fā)送 內(nèi)部數(shù)據(jù)或接收外部數(shù)據(jù);通知知識產(chǎn)權(quán)核1直接訪問存儲操作成功或失敗;
先進微控制器總線結(jié)構(gòu)主接口6,與總線相連,接收啟動指令和驅(qū)動信息 啟動與總線的數(shù)據(jù)傳輸并反饋直接訪問存儲控制器5;接收終止指令終止與總 線的數(shù)據(jù)傳輸,并將從總線接收的外部數(shù)據(jù)傳輸給直接訪問存儲控制器5;將 直接訪問存儲控制器5發(fā)送的內(nèi)部數(shù)據(jù)發(fā)送至總線。
本發(fā)明直接訪問存儲裝置還可以包括數(shù)據(jù)緩存器3,存儲直接訪問存儲操 作的外部數(shù)據(jù)或內(nèi)部數(shù)據(jù)。緩存器控制器4,采用多路器實現(xiàn),用于將直接訪 問存儲控制器5接收的外部數(shù)據(jù)寫入數(shù)據(jù)緩存器或讀取數(shù)據(jù)緩存器3存儲的內(nèi) 部數(shù)據(jù)傳輸給直接訪問存儲控制器5。當(dāng)然,本發(fā)明直接訪問存儲裝置并不需 要依賴數(shù)據(jù)緩存器3和緩存控制器4來實現(xiàn)直接訪問存儲功能,增加這兩個部 件只是為了使得直接訪問存儲操作過程對于內(nèi)部數(shù)據(jù)和外部數(shù)據(jù)的保存和處 理更加方^f更。
所述知識產(chǎn)權(quán)核l還可以包括寄存器群2,用于存儲先進微控制器總線結(jié)
構(gòu)從接口 7傳送的系統(tǒng)信號和知識產(chǎn)權(quán)核1產(chǎn)生的操作信息。通過在知識產(chǎn)權(quán) 核中加入寄存器群使知識產(chǎn)權(quán)核接收的系統(tǒng)信號和產(chǎn)生的操作信息信號分類 更加明確。
所述直接訪問存儲控制器5包括與知識產(chǎn)權(quán)核1的接口模塊(未顯示)、 與先進微控制器總線結(jié)構(gòu)主接口6的接口模塊(未顯示)、與緩存器控制器4 的接口模塊(未顯示)以及內(nèi)部功能模塊(未顯示)。其中各接口模塊負(fù)責(zé) 與相應(yīng)部件的信號傳輸,例如與緩存器控制器4的接口模塊負(fù)責(zé)直接訪問存儲 控制器5與緩存控制器4的數(shù)據(jù)信號傳輸。而內(nèi)部功能模塊完成指令發(fā)送和接 收功能,例如接收知識產(chǎn)權(quán)核1的請求信號發(fā)出反饋信號通過與知識產(chǎn)權(quán)核1 的接口模塊傳輸?shù)街R產(chǎn)權(quán)核1 。
所述系統(tǒng)信號包括設(shè)備狀態(tài)信號和設(shè)備地址信號,其中設(shè)備狀態(tài)信號包 括源設(shè)備狀態(tài)信號或目標(biāo)設(shè)備狀態(tài)信號,表示源設(shè)備或目標(biāo)設(shè)備對于直接訪 問存儲是否可用;設(shè)備地址信號包括源設(shè)備地址信號或目標(biāo)設(shè)備地址信號, 表示直接訪問存儲操作的源設(shè)備或目標(biāo)設(shè)備地址。
所述操作信息包括讀寫狀態(tài)、傳輸數(shù)據(jù)大小、源設(shè)備地址信號基及目標(biāo) 設(shè)備地址信號基。
所述驅(qū)動信息包括讀寫狀態(tài)、傳輸數(shù)據(jù)大小、傳輸類型、當(dāng)前傳輸狀態(tài)、 源i殳備地址和目標(biāo)i殳備i也址。
所述內(nèi)部數(shù)據(jù)為知識產(chǎn)權(quán)核要向總線上設(shè)備傳送的數(shù)據(jù)。
所述外部數(shù)據(jù)為先進微控制器總線結(jié)構(gòu)主接口從總線上接收的總線設(shè)備 傳送的數(shù)據(jù)。
圖2為本發(fā)明直接訪問存儲操作的方法,包括CPU向知識產(chǎn)權(quán)核發(fā)送系 統(tǒng)信號通知進行直接訪問存儲操作;知識產(chǎn)權(quán)核向直接訪問存儲控制器發(fā)送 直接訪問存儲請求信號及搡作信息;直接訪問存儲控制器接收直接訪問存儲 請求信號及操作信息并向知識產(chǎn)權(quán)核反饋;知識產(chǎn)權(quán)核接收反饋并處置請求 信號;直接訪問存儲控制器根據(jù)接收的操作信息向先進微控制器總線結(jié)構(gòu)主 接口發(fā)送啟動指令和驅(qū)動信息;先進微控制器總線結(jié)構(gòu)主接口接收啟動指令 和驅(qū)動信息啟動直接訪問存儲的總線數(shù)據(jù)傳輸,從總線接收外部數(shù)據(jù)傳輸給 直接訪問存儲控制器或從直接訪問存儲控制器接收內(nèi)部數(shù)據(jù)發(fā)送至總線,并 將總線數(shù)據(jù)傳輸過程反饋給直接訪問存儲控制器;直接訪問存儲控制器根據(jù) 接收的反饋保持總線數(shù)據(jù)傳輸?shù)睦^續(xù)進行或者向先進微控制器總線結(jié)構(gòu)主接 口發(fā)送終止指令停止總線數(shù)據(jù)傳輸并通知知識產(chǎn)權(quán)核直接訪問存儲操作失 敗;當(dāng)總線數(shù)據(jù)傳輸完成后,先進微控制器總線結(jié)構(gòu)主接口通知直接訪問存 儲控制器總線數(shù)據(jù)傳輸完成,直接訪問存儲控制器通知知識產(chǎn)權(quán)核直接訪問 存儲操作成功。
下面結(jié)合圖2和圖3分別對于讀和寫兩種直接訪問存儲操作詳細(xì)闡述。
寫操作中,CPU10通知總線仲裁器8指定本發(fā)明直接訪問存儲裝置為直接 訪問存儲操作的源設(shè)備,總線設(shè)備ll作為直接訪問存儲的目標(biāo)設(shè)備。包括下 列步驟
步驟21, CPU產(chǎn)生系統(tǒng)信號包括目標(biāo)設(shè)備狀態(tài)信號OppositeJP一ready以 及目標(biāo)設(shè)備地址信號基Externa1—base一addr向知識產(chǎn)權(quán)核發(fā)送來通知知識產(chǎn) 權(quán)核進行直接訪問存儲操作,對于Opposite一IP—ready信號,如果值為"0", 則表示目標(biāo)設(shè)備還不可訪問;如果值為"1",則表示目標(biāo)設(shè)備可訪問,此 處為"1",知識產(chǎn)權(quán)核內(nèi)的寄存器群從先進微控制器總線結(jié)構(gòu)從接口獲取 這些信號并暫存;
步驟22 ,知識產(chǎn)權(quán)核向直接訪問存儲控制器發(fā)出直接訪問存儲請求信號 DMA—request和直接訪問存儲操作信息,包括DMA—direction信號,表示與目 標(biāo)設(shè)備的讀寫狀態(tài),此處由于是寫搡作所以為"1" ; DMA—size信號,表示 與目標(biāo)設(shè)備傳輸數(shù)據(jù)的大?。籌nternal—base—addr信號,表示源設(shè)備地址信號 基;External—base—addr信號,表示目標(biāo)設(shè)備地址信號基;
步驟23,直接訪問存儲控制器接收知識產(chǎn)權(quán)核發(fā)出的直接訪問存儲請求 信號,返回一個反饋信號DMA—acknowledge,同時獲取知識產(chǎn)權(quán)核發(fā)出的直 接訪問存儲操作信息并且將直接訪問存儲完成信號DMA一end置為無效,發(fā)送 給知識產(chǎn)權(quán)核,其中直接訪問存儲請求信號由知識產(chǎn)權(quán)核的內(nèi)部時鐘控制, 反饋信號和直接訪問存儲完成信號由先進高性能總線產(chǎn)生的時鐘控制,具體 時序關(guān)系如圖5所示,其中系統(tǒng)信號sys一clk為先進高性能總線產(chǎn)生時鐘,應(yīng) 用信號app一clk為知識產(chǎn)^l核內(nèi)部時鐘,我們可以從中看出總線產(chǎn)生的時鐘頻 率要高于知識產(chǎn)權(quán)核內(nèi)部的時鐘,為保證反饋信號、直接訪問存儲完成信號 這些信號能被較慢的知識產(chǎn)權(quán)核內(nèi)部時鐘采樣到,這些信號必須鎖存至少幾 個時鐘周期的時間,具體多少個時鐘周期由兩個時鐘的頻率倍數(shù)關(guān)系決定, 設(shè)計人員可以在直接訪問存儲控制器中進行配置和選擇;
步驟24,如果知識產(chǎn)權(quán)核收到直接訪問存儲控制器的反饋信號,會將請求 信號置為無效,否則,會一直保持請求信號值為高直到超時或其他原因才將 請求信號置為無效;同時,直接訪問存儲控制器向先進微控制器總線結(jié)構(gòu)主
接口發(fā)送啟動指令,即聯(lián)絡(luò)信號Ca11—Master,同時根據(jù)接受的直接訪問存儲 操作信息,向主接口發(fā)送驅(qū)動信息包括讀寫狀態(tài)信號HWRITE一root,此時 HWRITE—root為"1",表示向目標(biāo)設(shè)備寫入數(shù)據(jù);傳輸數(shù)據(jù)大小信號 HSIZE—root,傳輸類型信號HBURST」root,表示突發(fā)傳輸;當(dāng)前傳輸狀態(tài)信 號HTRANS一root,包含不連續(xù),連續(xù),等待,忙碌四種狀態(tài),此時為連續(xù)狀態(tài); 源設(shè)備地址信號Interna1—addr,由直接訪問存儲控制器在源設(shè)備地址信號基
Internal—base—addr上加上不超過傳輸數(shù)據(jù)大小的偏移量(offset)來構(gòu)成;目 標(biāo)設(shè)備地址信號HADDR,同樣由直接訪問存儲控制器在目標(biāo)設(shè)備地址信號基 External—base—addr上加上不超過傳輸數(shù)據(jù)大小的偏移量(offset)來構(gòu)成;
步驟25,先進微控制器總線結(jié)構(gòu)主接口接收啟動指令和驅(qū)動信息啟動直接 訪問存儲的總線數(shù)據(jù)傳輸,直接訪問存儲控制器根據(jù)與目標(biāo)設(shè)備的讀寫狀態(tài) 信號值為"1"得知是與目標(biāo)設(shè)備的寫操作,因此通過緩存控制器從數(shù)據(jù)緩存 器中讀出內(nèi)部數(shù)據(jù),而先進微控制器總線結(jié)構(gòu)主接口根據(jù)驅(qū)動信息的讀寫狀 態(tài)信號HWRITE—root為'T'得知是向目標(biāo)設(shè)備寫入數(shù)據(jù),因此從直接訪問存 儲控制器接收內(nèi)部數(shù)據(jù)寫入總線,在向總線寫入數(shù)據(jù)過程中,先進微控制器 總線結(jié)構(gòu)主接口會向直接訪問存儲控制器返回反饋信號,即傳輸狀態(tài)響應(yīng)信 號HRESP,包括傳輸正常OK、傳輸出錯ERROR,若直接訪問存儲控制器接收 到的傳輸狀態(tài)響應(yīng)信號為OK,則會保持先進微控制器總線結(jié)構(gòu)主接口向總線 寫入數(shù)據(jù)的繼續(xù)進行;若直接訪問存儲控制器接收到的傳輸狀態(tài)響應(yīng)信號為 ERROR,直接訪問存儲控制器會向先進微控制器總線結(jié)構(gòu)主接口發(fā)送終止指 令停止先進微控制器總線結(jié)構(gòu)主接口向總線寫入數(shù)據(jù),并向知識產(chǎn)權(quán)核發(fā)送 直接訪問存儲結(jié)果信號DMA—result為failure的信息來表示直接訪問存儲操作 失??;
步驟26,當(dāng)先進微控制器總線結(jié)構(gòu)主接口向總線寫入數(shù)據(jù)完成后,先進微 控制器總線結(jié)構(gòu)主接口通知直接訪問存儲控制器向總線寫入數(shù)據(jù)完成,直接 訪問存儲控制器向知識產(chǎn)權(quán)核發(fā)送直接訪問存儲停止信號DMA—end和直接訪 問存儲結(jié)果信號DMA—result為success的信息表示直接訪問存儲操作成功,它 與DMA一end由相同的時鐘控制,也需要鎖存若干個時鐘周期以保證能被知識 產(chǎn)權(quán)核內(nèi)部時鐘采樣到。
讀操作中,CPU10向總線仲裁器8發(fā)送信號指定本發(fā)明直接訪問存儲裝置
為直接訪問存儲操作的源設(shè)備,總線設(shè)備ll作為直接訪問存儲的目標(biāo)設(shè)備。
讀搡作與寫搡作的步驟類似,包括以下歩驟
步驟21, CPU產(chǎn)生系統(tǒng)信號包括目標(biāo)設(shè)備狀態(tài)信號OppositeJP—ready以 及目標(biāo)設(shè)備地址信號基ExternalJ)ase—addr向知識產(chǎn)權(quán)核發(fā)送來通知知識產(chǎn) 權(quán)核進行直接訪問存儲操作,此時OppositeJtP—ready值為"1",表示目標(biāo)設(shè) 備可訪問,知識產(chǎn)權(quán)核內(nèi)的寄存器群從先進微控制器總線結(jié)構(gòu)從接口獲取這 些信號并暫存;
步驟22,知識產(chǎn)權(quán)核向直接訪問存儲控制器發(fā)出直接訪問存儲請求信號 DMA—request和直接訪問存儲操作信息,包括DMA一direction信號為"0", 表示與目標(biāo)設(shè)備的讀操作;表示與目標(biāo)設(shè)備傳輸數(shù)據(jù)大小的;DMA—size信號; 表示源設(shè)備地址信號基的InternalJ)ase—addr信號;表示目標(biāo)設(shè)備地址信號基 的External—base—addr信號;
步驟23 ,直接訪問存儲控制器接收知識產(chǎn)權(quán)核發(fā)出的直接訪問存儲請求 信號,返回一個反饋信號DMA—acknowledge,同時獲取知識產(chǎn)權(quán)核發(fā)出的直 接訪問存儲梯:作信息并且將直接訪問存儲停止信號DMA一end置為無效,發(fā)送 給知識產(chǎn)4又核;
步驟24,如果知識產(chǎn)權(quán)核收到直接訪問存儲控制器的反饋信號,會將請求 信號置為無效,否則,會一直保持請求信號值為高直到超時或其他原因才將 請求信號置為無效;同時,直接訪問存儲控制器向先進微控制器總線結(jié)構(gòu)主 接口發(fā)送啟動指令,即聯(lián)絡(luò)信號Ca11—Master,同時根據(jù)接受的直接訪問存儲 操作信息,向主接口發(fā)送驅(qū)動信息包括讀寫狀態(tài)信號HWRITE—root,此時 HWRITE—root為"0",表示從目標(biāo)設(shè)備讀取數(shù)據(jù);傳輸數(shù)據(jù)大小信號 HSIZE—root,傳輸類型信號HBURST—root,表示突發(fā)傳輸;當(dāng)前傳輸狀態(tài)信號HTRANS一root,包含不連續(xù),連續(xù),等待,忙碌四種狀態(tài),此時為連續(xù)狀態(tài); 源設(shè)備地址信號InternaLaddr,由直接訪問存儲控制器在源設(shè)備地址信號基 Intemal_base—addr上加上不超過傳輸數(shù)據(jù)大小的偏移量(offset)來構(gòu)成;目 標(biāo)設(shè)備地址信號HADDR,同樣由直接訪問存儲控制器在目標(biāo)設(shè)備地址信號基 External—base—addr上加上不超過傳輸數(shù)據(jù)大小的偏移量(offset)來構(gòu)成;
步驟25,先進微控制器總線結(jié)構(gòu)主接口接收啟動指令和驅(qū)動信息啟動直接 訪問存儲的總線數(shù)據(jù)傳輸,直接訪問存儲控制器根據(jù)與目標(biāo)設(shè)備的讀寫狀態(tài) 信號值為"0"得知是與目標(biāo)設(shè)備的讀操作,因此直接訪問存儲控制器處于等 待接收先進微控制器總線結(jié)構(gòu)主接口傳送數(shù)據(jù)的狀態(tài),而先進微控制器總線 結(jié)構(gòu)主接口根據(jù)驅(qū)動信息的讀寫狀態(tài)信號HWRITEj"oot為"0"得知是從目標(biāo) 設(shè)備讀取數(shù)據(jù),因此從總線讀取外部數(shù)據(jù)傳送給直接訪問存儲控制器,直接 訪問存儲控制器接收外部數(shù)據(jù),通過緩存控制器向數(shù)據(jù)緩存器寫入外部數(shù)據(jù), 在從總線讀取數(shù)據(jù)過程中,先進微控制器總線結(jié)構(gòu)主接口會向直接訪問存儲 控制器返回傳輸狀態(tài)響應(yīng)信號HRESP,若直接訪問存儲控制器接收到的傳輸 狀態(tài)響應(yīng)信號為OK,則會保持先進微控制器總線結(jié)構(gòu)主接口讀取外部數(shù)據(jù)的 繼續(xù)進行;若直接訪問存儲控制器接收到的傳輸狀態(tài)響應(yīng)信號為ERROR,直 接訪問存儲控制器會向先進微控制器總線結(jié)構(gòu)主接口發(fā)送終止指令停止先進 微控制器總線結(jié)構(gòu)主接口讀取外部數(shù)據(jù),并向知識產(chǎn)權(quán)核發(fā)送直接訪問存儲 結(jié)果信號DMA一result為failure的信息來表示直接訪問存儲操作失?。?br>
步驟26,當(dāng)先進微控制器總線結(jié)構(gòu)主接口讀取外部數(shù)據(jù)完成后,先進微控 制器總線結(jié)構(gòu)主接口通知直接訪問存儲控制器讀取外部數(shù)據(jù)完成,而當(dāng)直接 訪問存儲控制器通過緩存控制器向數(shù)據(jù)緩存器寫入外部數(shù)據(jù)完成后,直接訪 問存儲控制器向知識產(chǎn)權(quán)核發(fā)送直接訪問存儲停止信號DMA—end和直接訪問 存儲結(jié)果信號DMA result為success的信息表示直接訪問存儲操作成功。
從以上兩個實施方式可以看出,通過對本發(fā)明直接訪問存儲裝置結(jié)構(gòu)的進 一步優(yōu)化,增加數(shù)據(jù)緩存器來實現(xiàn)內(nèi)部數(shù)據(jù)和外部數(shù)據(jù)的存儲,增加緩存控 制器來實現(xiàn)對數(shù)據(jù)緩存器的讀寫使得直接訪問存儲搡作過程對于內(nèi)部數(shù)據(jù)和 外部數(shù)據(jù)的保存和處理更加方便。通過在知識產(chǎn)權(quán)核中加入寄存器群使知識 產(chǎn)權(quán)核接收和產(chǎn)生的信號分類更加明確。
同樣地,通過本發(fā)明直接訪問存儲操作方法的進一步具體化,對于系統(tǒng)信 號、操作信息和驅(qū)動信息狀態(tài)的細(xì)致劃分使得操作過程條理更清楚,每一步 的操作目的也更明確。
更進一步,為了使結(jié)構(gòu)更加完整,本發(fā)明直接訪問存儲裝置還可以如圖5 所示增加先進微控制器總線結(jié)構(gòu)從接口7與緩存控制器4的信號通道來實現(xiàn) CPU通過先進微控制器總線結(jié)構(gòu)從接口 7和緩存控制器4對數(shù)據(jù)緩存器3的讀 寫操作的功能;增加寄存器群2向先進微控制器總線結(jié)構(gòu)從接口7的信號通道 來實現(xiàn)知識產(chǎn)權(quán)核通過先進微控制器總線結(jié)構(gòu)從接口7通知CPU進行中斷操 作,刷新CPU狀態(tài)的功能以及增加知識產(chǎn)權(quán)核1與緩存控制器4的信號通道來 實現(xiàn)知識產(chǎn)權(quán)核與緩存控制器的數(shù)據(jù)聯(lián)絡(luò)。但以上結(jié)構(gòu)的補充增加并不是完 成直接訪問存儲才喿作所必需的。
綜上所述,本發(fā)明直接訪問存儲裝置通過將知識產(chǎn)權(quán)核、直接訪問存儲控 制器、先進微控制器總線結(jié)構(gòu)主接口和先進微控制器總線結(jié)構(gòu)從接口集成, 使得知識產(chǎn)權(quán)核能夠通過先進高性能總線直接與總線上的設(shè)備實現(xiàn)直接訪問 存儲操作。再通過本發(fā)明直接訪問存儲操作方法在先進高性能總線上較高效 率地實現(xiàn)所述的直接訪問存儲操作。本領(lǐng)域的技術(shù)人員可以在本發(fā)明描述的 基礎(chǔ)上較方便地對應(yīng)用做出擴展,例如,本發(fā)明中所述的總線設(shè)備可以是具 有本發(fā)明裝置結(jié)構(gòu)的設(shè)備或者是存儲器。同樣地,本領(lǐng)域的技術(shù)人員也可以 很容易得到本發(fā)明適用于先進系統(tǒng)總線(ASB, Advanced System Bus)的結(jié) 論。
權(quán)利要求
1.一種直接訪問存儲裝置,其特征在于,包括先進微控制器總線結(jié)構(gòu)從接口,與總線相連,用于接收開傳輸CPU通知知識產(chǎn)權(quán)核進行直接訪問存儲操作的系統(tǒng)信號;知識產(chǎn)權(quán)核,接收并根據(jù)系統(tǒng)信號發(fā)送直接訪問存儲操作請求信號和操作信息;接收直接訪問存儲器的反饋和通知信號;直接訪問存儲控制器,接收并根據(jù)直接訪問存儲操作請求信號和操作信息,發(fā)送總線數(shù)據(jù)傳輸?shù)膯又噶?、?qū)動信息;接收并根據(jù)先進微控制器總線結(jié)構(gòu)主接口反饋的傳輸失敗信息發(fā)送總線數(shù)據(jù)傳輸終止指令;接收并發(fā)送內(nèi)部數(shù)據(jù)或接收外部數(shù)據(jù);通知知識產(chǎn)權(quán)核直接訪問存儲操作成功或失??;先進微控制器總線結(jié)構(gòu)主接口,與總線相連,接收啟動指令和驅(qū)動信息啟動與總線的數(shù)據(jù)傳輸并反饋直接訪問存儲控制器;接收終止指令終止與總線的數(shù)據(jù)傳輸,并將從總線接收的外部數(shù)據(jù)傳輸給直接訪問存儲控制器;將直接訪問存儲控制器發(fā)送的內(nèi)部數(shù)據(jù)發(fā)送至總線。
2. 如權(quán)利要求l所述的直接訪問存儲裝置,其特征在于,還包括數(shù)據(jù)緩存器,存儲直接訪問存儲操作的外部數(shù)據(jù)或內(nèi)部數(shù)據(jù),直接訪問 存儲控制器向數(shù)據(jù)緩存器寫入外部數(shù)據(jù)或從數(shù)據(jù)緩存器中讀取內(nèi)部數(shù)據(jù)。
3. 如權(quán)利要求l所述的直接訪問存儲裝置,其特征在于,還包括數(shù)據(jù)緩存器,存儲直接訪問存儲操作的外部數(shù)據(jù)或內(nèi)部數(shù)據(jù);緩存器控制器,將直接訪問存儲控制器接收的外部數(shù)^寫入數(shù)據(jù)緩存器或 讀取數(shù)據(jù)緩存器存儲的內(nèi)部數(shù)據(jù)傳輸給直接訪問存儲控制器。
4. 如權(quán)利要求l所述的直接訪問存儲裝置,其特征在于,所述直接訪問存儲控 制器包括與知識產(chǎn)權(quán)核的接口模塊、與先進微控制器總線結(jié)構(gòu)主接口的接口 模塊以及通知信號及指令的內(nèi)部功能模塊。
5. 如權(quán)利要求2所述的直接訪問存儲裝置,其特征在于,所述直接訪問存儲控 制器包括與知識產(chǎn)權(quán)核的接口模塊、與先進微控制器總線結(jié)構(gòu)主接口的接口 模塊、與數(shù)據(jù)緩存器的接口模塊以及產(chǎn)生反饋、通知信號及指令的內(nèi)部功能 模塊。
6. 如權(quán)利要求3所述的直接訪問存儲裝置,其特征在于,所述直接訪問存儲控 制器包括與知識產(chǎn)權(quán)核的接口模塊、與先進微控制器總線結(jié)構(gòu)主接口的接口 模塊、與緩存器控制器的接口模塊以及產(chǎn)生反饋、通知信號及指令的內(nèi)部功 能模塊。
7. 如權(quán)利要求l所述的直接訪問存儲裝置,其特征在于,所述知識產(chǎn)權(quán)核包 括寄存器群,用于存儲先進微控制器總線結(jié)構(gòu)從接口傳送的系統(tǒng)信號和知識 產(chǎn)權(quán)核產(chǎn)生的操作信息。
8. 如權(quán)利要求l所述的直接訪問存儲裝置,其特征在于,所述系統(tǒng)信號包括 設(shè)備狀態(tài)信號和設(shè)備地址信號。
9. 如權(quán)利要求l所述的直接訪問存儲裝置,其特征在于,所述操作信息包括 讀寫狀態(tài)、傳輸數(shù)據(jù)大小、源設(shè)備地址信號基及目標(biāo)設(shè)備地址信號基。
10. 如權(quán)利要求l所述的直接訪問存儲裝置,其特征在于,所述驅(qū)動信息包括 讀寫狀態(tài)、傳輸數(shù)據(jù)大小、傳輸類型、當(dāng)前傳輸狀態(tài)、源設(shè)備地址和目標(biāo)設(shè) 備地址。
11. 一種直接訪問存儲操作方法,其特征在于,包括以下步驟(21) CPU向知識產(chǎn)權(quán)核發(fā)送系統(tǒng)信號通知進行直接訪問存儲操作;(22) 知識產(chǎn)權(quán)核向直接訪問存儲控制器發(fā)送直接訪問存儲請求信號及操 作信息;(23) 直接訪問存儲控制器接收直接訪問存儲請求信號及操作信息并向知 識產(chǎn)權(quán)核反饋;(24) 知識產(chǎn)權(quán)核接收反饋并處置請求信號;直接訪問存儲控制器根據(jù)接收的操作信息向先進微控制器總線結(jié)構(gòu)主接口發(fā)送啟動指令和驅(qū)動信 自 (25) 先進微控制器總線結(jié)構(gòu)主接口接收啟動指令和驅(qū)動信息啟動直接訪 問存儲的總線數(shù)據(jù)傳輸,從總線接收外部數(shù)據(jù)傳輸給直接訪問存儲控 制器或從直接訪問存儲控制器接收內(nèi)部數(shù)據(jù)發(fā)送至總線,并將總線數(shù) 據(jù)傳輸過程反饋給直接訪問存儲控制器;直接訪問存儲控制器根據(jù)接 收的反饋保持總線數(shù)據(jù)傳輸?shù)睦^續(xù)進行或者向先進微控制器總線結(jié) 構(gòu)主接口發(fā)送終止指令停止總線數(shù)據(jù)傳輸并通知知識產(chǎn)權(quán)核直接訪 問存儲操作失??;(26) 當(dāng)總線數(shù)據(jù)傳輸完成后,先進微控制器總線結(jié)構(gòu)主接口通知直接訪問 存儲控制器總線數(shù)據(jù)傳輸完成,直接訪問存儲控制器通知知識產(chǎn)權(quán)核 直接訪問存儲操作成功。
12. 如權(quán)利要求ll所述的直接訪問存儲操作方法,其特征在于,所述處置請 求信號是將請求信號置為無效。
13. 如權(quán)利要求ll所述的直接訪問存儲操作方法,其特征在于,所述直接訪 問存儲操作基于先進微控制器總線結(jié)構(gòu)的先進高性能總線。
14. 如權(quán)利要求ll所述的直接訪問存儲操作方法,其特征在于,所述直接訪 問存儲操作基于先進微控制器總線結(jié)構(gòu)的先進系統(tǒng)總線。
15. 如權(quán)利要求11或12或13或14所述的直接訪問存儲操作方法,其特征在于, 所述直接訪問存儲操作是兩個知識產(chǎn)權(quán)核之間的操作。
16.如權(quán)利要求11或12或13或14所述的直接訪問存儲操作方法,其特征在于, 所述直接訪問存儲操作是知識產(chǎn)權(quán)核與存儲器之間的操作。
全文摘要
本發(fā)明公開了一種直接訪問存儲裝置。將知識產(chǎn)權(quán)核、直接訪問存儲控制器、數(shù)據(jù)緩存器、緩存器控制器、先進微控制器總線結(jié)構(gòu)主接口以及先進微控制器總線結(jié)構(gòu)從接口集成,使得知識產(chǎn)權(quán)核能夠直接訪問存儲操作先進微控制器總線上的設(shè)備。本發(fā)明還公開了一種直接訪問存儲操作方法知識產(chǎn)權(quán)核通過總線從接口獲取系統(tǒng)信號并初始化,直接訪問存儲控制器接收知識產(chǎn)權(quán)核提供的操作信息來驅(qū)動總線主接口上進行的總線傳輸,并根據(jù)總線主接口的反饋來控制直接訪問存儲傳輸?shù)倪M行或終止,并將最終的操作結(jié)果通知知識產(chǎn)權(quán)核。本發(fā)明結(jié)構(gòu)簡單且面積較小、不破壞總線結(jié)構(gòu),并且能夠通過總線直接與總線上的設(shè)備實現(xiàn)高效率直接訪問存儲的數(shù)據(jù)傳輸。
文檔編號G06F13/28GK101196859SQ20061011905
公開日2008年6月11日 申請日期2006年12月4日 優(yōu)先權(quán)日2006年12月4日
發(fā)明者石 李, 強 沈 申請人:中芯國際集成電路制造(上海)有限公司