專利名稱:通過pci總線傳輸數(shù)據(jù)的裝置、代理訪問裝置及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及PCI總線技術(shù),尤指一種通過PCI總線傳輸數(shù)據(jù)的裝置、代
理訪問裝置及方法。
背景技術(shù):
PCI總線是 一種目前廣泛用于各類網(wǎng)絡(luò)產(chǎn)品中的標(biāo)準(zhǔn)總線。PCI總線具 有帶寬較大、功耗低、操作方便等特點,用于連接控制中央處理器(CPU) 和PCI設(shè)備。
PCI總線的基本讀/寫操作可以分為雙字(DWORD)操作和連續(xù)多次突 發(fā)(BURST )操作兩種模式。PCI設(shè)備一般都支持DWORD操作模式,DWORD 模式就是每次只能傳輸2個word, 1個word等于2個byte 。也就是說,DWORD 模式每次只能傳輸4個byte,并且每次傳輸都需要重新協(xié)商總線,浪費大量 的時間用于協(xié)商總線而不是數(shù)據(jù)傳輸。相比較而言,BURST操作模式由于 可以在一次申請占用總線后連續(xù)傳輸多次數(shù)據(jù),因而比DWORD操作模式 具有更高的效率。
在實際的應(yīng)用中,業(yè)界普遍大量4吏用的芯片,如Ezchip的NP-lx, NP-2x 等PCI設(shè)備都支持DWORD操作模式,而不支持BURST操作模式。這類 PCI設(shè)備在與控制CPU進行數(shù)據(jù)交互時,就只能釆用DWORD操作模式。 例如圖1所示,控制CPU通過橋片單元與僅支持DWORD的PCI設(shè)備NP 相連。其中,橋片單元主要用于與CPU高速前端總線的接口,實現(xiàn)外部設(shè) 備的連接以及內(nèi)存的多源訪問控制。對控制CPU、內(nèi)存以及外部i殳備來i兌是 透明的。由于NP不支持PCI BURST操作模式,在進行路由表項下發(fā)、表 項老化消息上報功能時,控制CPU只能通過橋片單元采用DWORD操作模式, 一個字(32Bits) —個字(323i'ts)的拭行讀寫操作。同時,由于控制 CPU工作分配的要求是,控制CPU執(zhí)行PCI操作指令的占用系統(tǒng)時間不能 超過50%, PCI總線有 一半的時間處于空閑狀態(tài)。
由此可見,PCI總線的利用效率不高,不利于控制CPU與PCI設(shè)備之 間數(shù)據(jù)的高效傳輸。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種通過PCI總線傳輸數(shù)據(jù)的裝置、代理訪問 裝置及方法,應(yīng)用本發(fā)明所提供的裝置,能夠提高控制CPU與僅支持 DWORD操作模式的PCI設(shè)備之間的數(shù)據(jù)傳輸效率。
一種通過PCI總線傳輸數(shù)據(jù)的裝置,包括控制CPU、橋片單元和支持 雙字DWORD操作模式而不支持連續(xù)多次突發(fā)BURST操作模式的PCI設(shè) 備,進一步包括支持BURST操作模式的代理訪問裝置、以及通過橋片單元 與所述控制CPU連接的內(nèi)存單元;
所述代理訪問裝置通過PCI總線與所述PCI設(shè)備連接,采用DWORD 操作模式與所述PCI設(shè)備進行數(shù)據(jù)傳輸;通過所述橋片單元實現(xiàn)與所述內(nèi)存 單元的PCI連接,采用BURST操作模式對所述內(nèi)存單元執(zhí)行讀寫操作,實 現(xiàn)與內(nèi)存單元連接的控制CPU之間的數(shù)據(jù)傳輸。
一種代理訪問裝置,該代理訪問裝置包括處理單元和PCI接口單元;
所述處理單元,用于通過所述PCI接口單元,采用雙字DWORD操作 模式與所述PCI設(shè)備進行數(shù)據(jù)傳輸;并通過所述PCI接口單元,采用BURST 操作模式對控制CPU所連接的內(nèi)存單元執(zhí)行讀寫操作,實現(xiàn)與控制CPU之 間的數(shù)據(jù)傳輸;
所述PCI接口單元,用于實現(xiàn)PCI總線的接口 。
一種通過PCI總線傳輸數(shù)據(jù)的方法,應(yīng)用于支持DWORD操作模式而 不支持連續(xù)多次突發(fā)BURST操作模式的PCI設(shè)備,該方法包括
控制CPU將需要發(fā)送至PCI設(shè)備的數(shù)據(jù)保存至自身的內(nèi)存單元;代理訪問裝置采用BURST操作模式從所述內(nèi)存單元讀取需要發(fā)送至所 述PCI設(shè)備的數(shù)據(jù);將所讀取的數(shù)據(jù)通過DWORD搡作模式發(fā)送至所述PCI 設(shè)備。
一種通過PCI總線傳輸數(shù)據(jù)的方法,應(yīng)用于支持DWORD操作模式而 不支持連續(xù)多次突發(fā)BURST操作模式的PCI設(shè)備,該方法包括
代理訪問裝置采用DWORD操作模式從所述PCI設(shè)備讀取需要發(fā)送至 所述控制CPU的數(shù)據(jù);并采用BURST操作模式將所讀取的數(shù)據(jù)寫入所述控 制CPU所連接的內(nèi)存單元;
所述控制CPU從所連接的內(nèi)存單元中讀取所述PCI設(shè)備發(fā)送給自身的 數(shù)據(jù)。
本發(fā)明所提供的技術(shù)方案中,通過代理訪問裝置與所述PCI設(shè)備之間采 用DWORD操作模式交互,并與控制CPU所連接的內(nèi)存單元采用BURST 操作模式交互;同時,內(nèi)存單元用于保存控制CPU和PCI設(shè)備之間傳輸?shù)?數(shù)據(jù),代替控制CPU使用PCI總線,提高了控制CPU與PCI設(shè)備之間數(shù)據(jù) 傳輸?shù)男?,提高?PCI總線的利用效率,解放了控制CPU,從而提高了
整個設(shè)備系統(tǒng)的性能。
圖1為現(xiàn)有技術(shù)中通過PCI總線傳輸數(shù)據(jù)的裝置結(jié)構(gòu)圖2為本發(fā)明通過PCI總線傳輸數(shù)據(jù)的裝置結(jié)構(gòu)圖3為本發(fā)明中代理訪問裝置的結(jié)構(gòu)圖4為本發(fā)明中控制CPU向PCI設(shè)備傳輸數(shù)據(jù)的方法流程圖5為本發(fā)明中PCI設(shè)備向控制CPU傳輸數(shù)據(jù)的方法流程圖。
具體實施例方式
為了更加高效的傳輸控制CPU和PCI設(shè)備之間的數(shù)據(jù),本發(fā)明在控制 CPU和僅支持DWORD操作模式的PCI設(shè)備之間接入一支持PCI BURST操作模式的代理訪問裝置,同時利用控制CPU所連接的內(nèi)存單元,來提高PCI
總線的利用效率,加速控制CPU和PCI設(shè)備之間的數(shù)據(jù)傳輸速度。
其中,代理訪問裝置與所述PCI設(shè)備之間采用DWORD操作模式交互, 與控制CPU所連接的內(nèi)存單元采用BURST操作模式交互。內(nèi)存單元用于保 存控制CPU和PCI設(shè)備之間傳輸?shù)臄?shù)據(jù),代替控制CPU使用PCI總線。
具體可參見如圖2所示的裝置結(jié)構(gòu)圖。該裝置包括控制CPU、橋片單 元和支持DWORD搡作模式而不支持BURST操作模式的PCI設(shè)備,以及支 持BURST操作模式的代理訪問裝置、和通過橋片單元與所述控制CPU連接 的內(nèi)存單元。其中,所述代理訪問裝置通過PCI總線與所述PCI設(shè)備連接, 采用DWORD操作模式與所述PCI設(shè)備進行數(shù)據(jù)傳輸;通過所述橋片單元 實現(xiàn)與所述內(nèi)存單元的PCI連接,采用BURST操作模式對所述內(nèi)存單元執(zhí) 行讀寫操作,實現(xiàn)與內(nèi)存單元連接的控制CPU之間的數(shù)據(jù)傳輸。
當(dāng)控制CPU向PCI設(shè)備傳輸數(shù)據(jù)時,控制CPU,將需要發(fā)送至所述PCI 設(shè)備的數(shù)據(jù)寫入所述內(nèi)存單元。代理訪問裝置,采用PCI BURST操作模式 從所述內(nèi)存單元讀取需要發(fā)送至所述PCI設(shè)備的數(shù)據(jù),并將所讀取的數(shù)據(jù)采 用PCI DWORD操作模式發(fā)送至所述PCI設(shè)備。
當(dāng)PCI設(shè)備向控制CPU傳輸數(shù)據(jù)時,代理訪問裝置,采用PCI DWORD 操作模式從所述PCI設(shè)備讀取需要發(fā)送至所述控制CPU的數(shù)據(jù);將所讀取 的數(shù)據(jù)采用PCI BURST操作模式寫入所述內(nèi)存單元;所述控制CPU,用于 從所述內(nèi)存單元讀取所述PCI設(shè)備發(fā)送給自身的數(shù)據(jù)。
現(xiàn)以一個應(yīng)用示例對本發(fā)明的技術(shù)效果進行說明。通常,在傳輸32個 字節(jié)時,采用DWORD操作模式大約需要40個周期,采用BURST操作模 式時大約需要12個周期。在現(xiàn)有技術(shù)中,由于控制CPU與PCI設(shè)備之間采 用DWORD,并且控制CPU僅花50%的時間在PCI總線上。因此,現(xiàn)有技 術(shù)傳輸32個字節(jié)需要80個周期。這里的周期指的是PCI總線的時鐘周期。
而在本發(fā)明的技術(shù)方案中,PCI設(shè)備與代理訪問裝置采用DWORD,傳 輸32個字節(jié)需要40個周期;代理訪問裝置與控制CPU的內(nèi)存采用BURST操作模式,傳輸32個字節(jié)需要12個周期??梢?,采用本發(fā)明的技術(shù)方案, PCI設(shè)備和控制CPU的內(nèi)存單元之間傳輸32個字節(jié)僅需要52個周期,而 控制CPU與內(nèi)存單元之間的是高速連接,占用時間很少,如果換算成PCI 時鐘僅1-2個PCI時鐘周期??梢?,本發(fā)明的技術(shù)能夠提高PCI總線的利 用效率,加速控制CPU和PCI設(shè)備之間的數(shù)據(jù)傳輸速度。同時,代理訪問 裝置代替控制CPU使用PCI總線,使得控制CPU在傳輸大量數(shù)據(jù)時幾乎不 用對PCI總線進行操作,解放了控制CPU,提高了控制CPU的系統(tǒng)性能。
另外參見圖3,圖3為本發(fā)明所提供的代理訪問裝置的結(jié)構(gòu)圖。該裝置 具體可以包括處理單元和PCI接口單元。其中,所述處理單元,用于通過 所述PCI接口單元,采用雙字DWORD操作模式與所述PCI設(shè)備進行數(shù)據(jù) 傳輸;并通過所述PCI接口單元,采用BURST操作模式對控制CPU所連接 的內(nèi)存單元執(zhí)行讀寫操作,實現(xiàn)與控制CPU之間的數(shù)據(jù)傳輸;所述PCI接 口單元,用于實現(xiàn)PCI總線的接口 。
更具體的,處理單元中可以包括控制單元、執(zhí)行單元和存儲單元。其中, 所述控制單元,主要用于通過所述PCI接口單元,采用DWORD操作模式 與所述PCI設(shè)備進行數(shù)據(jù)傳輸,并根據(jù)所傳輸?shù)臄?shù)據(jù)對所述存儲單元執(zhí)行讀 寫操作。所述執(zhí)行單元,主要用于通過所述PCI接口單元,采用BURST操 作模式對控制CPU所連接的內(nèi)存單元執(zhí)行讀寫操作,并根據(jù)讀寫的數(shù)據(jù)對 所述存儲單元執(zhí)行讀寫操作。所述存儲單元,用于保存數(shù)據(jù)。存儲單元可以 是FIFO、 RAM等,不對其具體的形式進行限定。
當(dāng)控制CPU向PCI設(shè)備傳輸數(shù)據(jù)時,所述執(zhí)行單元,用于通過所迷PCI 接口單元從控制CPU所連接的內(nèi)存單元讀取所述控制CPU需要發(fā)送至PCI 設(shè)備的數(shù)據(jù),保存至所述存儲單元;所述控制單元,用于將所述存儲單元中 保存的需要發(fā)送至所述PCI設(shè)備的數(shù)據(jù),通過PCI接口單元發(fā)送至所迷PCI 設(shè)備。
其中,所述執(zhí)行單元可以根據(jù)所述控制CPU下發(fā)的指令,從所述控制 CPU連接內(nèi)存單元的預(yù)定位置讀取所述控制CPU需要發(fā)送至PCI設(shè)備的數(shù)據(jù)。這里,控制CPU可以在內(nèi)存單元中開辟一塊存儲空間用于存儲需要下 發(fā)至PCI設(shè)備的數(shù)據(jù),并預(yù)先告知執(zhí)行單元。這樣,執(zhí)行單元就可以根據(jù)控
制CPU下發(fā)的指令,直接在預(yù)先協(xié)商確定控制CPU在內(nèi)存單元中進行數(shù)據(jù) 的讀取。這樣操作的好處在于,不但可以簡化控制CPU下發(fā)的命令,也可
以簡化執(zhí)行單元的功能,加快處理速度??刂茊卧趯⑺鰯?shù)據(jù)發(fā)送至所述
PCI設(shè)備后,通知所述控制CPU當(dāng)前操作完成。具體通知的方式可以是通 過PCI接口單元發(fā)送消息通知,也可以不通過PCI接口單元直接向CPU發(fā)
送中斷信號。
當(dāng)PCI設(shè)備向控制CPU傳輸數(shù)據(jù)時,所述控制單元,主要通過所述PCI 接口單元從pci設(shè)備讀取所述PCI設(shè)備需要發(fā)送至控制CPU的數(shù)據(jù),保存
至所述存儲單元。所述執(zhí)行單元,主要將所述存儲單元中保存的發(fā)送至所述
控制CPU的數(shù)據(jù),通過所述PCI接口單元發(fā)送至所述控制CPU連接的內(nèi)存 單元,供所述控制CPU讀取。
這里,所述控制單元可以根據(jù)所述控制CPU下發(fā)的指令,從所述PCI 設(shè)備讀取所述PCI設(shè)備需要發(fā)送至控制單元的數(shù)據(jù)。也可以周期性的訪問 PCI設(shè)備,在PCI設(shè)備存在需要上送控制CPU的數(shù)據(jù)時,從PCI設(shè)備中讀 取所述數(shù)據(jù)。執(zhí)行單元可以在將所述PCI設(shè)備的數(shù)據(jù)發(fā)送至控制CPU所連 接的內(nèi)存單元后,通知所述控制CPU當(dāng)前操作完成。具體通知的方式可以 是通過PCI接口單元發(fā)送消息通知,也可以不通過PCI接口單元直接向CPU
發(fā)送中斷信號。這里,執(zhí)行單元也可以按照預(yù)先設(shè)定的位置將從存儲單元中
讀取出的數(shù)據(jù)保存至內(nèi)存單元,供控制CPU讀取,以減少通知消息的復(fù)雜
度,加快處理進度。
另外,目前的一些PCI設(shè)備功能單一,通常按照給定的指令執(zhí)行相應(yīng)的 操作,例如NP。這里,代理訪問裝置中的控制單元相當(dāng)于代替了原來的控 制CPU與PCI設(shè)備進行交互。因此,控制CPU可以在初始化階段將指導(dǎo)控
制單元進行操作的任務(wù)指令下發(fā)至控制單元。然后,在具體處理的過程中,
控制單元則可以根據(jù)任務(wù)指令來完成與PCI設(shè)備之間的數(shù)據(jù)傳輸。例如,在寫入前采用PCI DWORD方式檢測所述PCI設(shè)備的內(nèi)部寄存器狀態(tài),在狀態(tài) 允許的情況下,執(zhí)行寫入操作;以及在寫入后,檢測所述PCI設(shè)備內(nèi)部特定 寄存器狀態(tài),確保數(shù)據(jù)寫入成功。
進而,更具體的,控制單元可以由操作單元和任務(wù)列表單元組成。任務(wù) 列表單元,用于保存所述控制CPU在初始化下發(fā)的任務(wù)指令。這里任務(wù)指 令用于指導(dǎo)操作單元與PCI設(shè)備進行數(shù)據(jù)交換的操作方式。操作單元,用于 根據(jù)所述任務(wù)列表單元中任務(wù)指令指示的操作方式,執(zhí)行與所述PCI設(shè)備之 間的數(shù)據(jù)傳輸。
本發(fā)明所提供了代理訪問裝置可以在FPGA上實現(xiàn),在FPGA上實現(xiàn) DWORD操作模式以及BURST操作模式。
以上描述的本發(fā)明裝置的結(jié)構(gòu),以下描述PCI設(shè)備和控制CPU之間具 體的數(shù)據(jù)傳輸過程,包括控制CPU向PCI設(shè)備傳輸數(shù)據(jù)以及PCI設(shè)備向 控制CPU傳輸數(shù)據(jù)。現(xiàn)針對這兩類數(shù)據(jù)傳輸,分別列舉實施例對本發(fā)明的 技術(shù)方案進行詳細說明。
參見圖4,圖4描述的是控制CPU向PCI設(shè)備傳輸數(shù)據(jù)的技術(shù)方案。 在本發(fā)明技術(shù)方案的描述中,如無特別說明PCI設(shè)備指的是僅支持DWORD 操作模式的PCI設(shè)備。
在步驟401中,控制CPU將需要發(fā)送至PCI設(shè)備的數(shù)據(jù)保存至自身的 內(nèi)存單元。
例如,當(dāng)PCI設(shè)備為NP時,控制CPU向NP下發(fā)路由轉(zhuǎn)發(fā)表項。
在控制CPU將需要發(fā)送的數(shù)據(jù)保存至內(nèi)存單元之后,可以向代理訪問 裝置下發(fā)指令,通知代理訪問裝置從自身所連接的內(nèi)存單元中取出發(fā)送至 PCI設(shè)備的數(shù)據(jù)。之后,控制CPU則無需再處理發(fā)送數(shù)據(jù)的操作,由代理 訪問裝置執(zhí)行將數(shù)據(jù)從內(nèi)存單元中取出,并發(fā)送至PCI設(shè)備的搡作。
在步驟402中,代理訪問裝置采用PCI BURST操作模式從所述內(nèi)存單 元讀取需要發(fā)送至所述PCI設(shè)備的數(shù)據(jù)。
具體的,如圖3所示,可以由代理訪問裝置中的執(zhí)行單元執(zhí)行從內(nèi)存單元中讀取數(shù)據(jù)的操作。執(zhí)行單元可以根據(jù)指令從內(nèi)存單元預(yù)先設(shè)定的存儲空 間中取出數(shù)據(jù),并保存至存儲單元。
在步驟403中,代理訪問裝置將所讀取的數(shù)據(jù)通過PCI DWORD操作模 式發(fā)送至所述PCI設(shè)備。
如圖3所示,可以由代理訪問裝置中的控制單元執(zhí)行從存儲單元中讀取 數(shù)據(jù),并發(fā)送至PCI設(shè)備的操作??刂茊卧梢栽跈z測到存儲單元中保存了 執(zhí)行單元取出的數(shù)據(jù)之后,就可以將其中保存的數(shù)據(jù)發(fā)送至PCI設(shè)備。具體 的在控制單元包括操作單元和任務(wù)列表單元時,操作單元可以根據(jù)任務(wù)列表 單元中保存任務(wù)指令定義的操作模式,將數(shù)據(jù)發(fā)送至PCI設(shè)備。任務(wù)指令可 以由控制CPU在裝置初始化寫入任務(wù)列表單元。
在步驟404中,代理訪問裝置在將所述控制CPU的數(shù)據(jù)發(fā)送給所述PCI 設(shè)備后,通知所述控制CPU當(dāng)前操作完成。
如圖3所示,可以由代理訪問裝置中的操作單元執(zhí)行上述通知操作。具 體的通知方式為由操作單元通過PCI接口單元發(fā)送通知消息至控制CPU; 操作單元也可以不通過PCI接口單元,直接通過中斷信號通知控制CPU。
另外,參見圖5,圖5為本實施例中PCI設(shè)備向控制CPU傳輸數(shù)據(jù)的 流程圖。具體介紹如下
在步驟501中,代理訪問裝置采用PCI DWORD操作模式從所述PCI 設(shè)備讀取需要發(fā)送至所述控制CPU的數(shù)據(jù)。
例如,當(dāng)PCI設(shè)備為NP時,控制CPU從PCI設(shè)備中讀取老化消息。
在圖3所示的代理訪問裝置中,可以由代理訪問裝置中的控制單元執(zhí)行 從PCI設(shè)備中讀取數(shù)據(jù)的操作,并將所讀取的數(shù)據(jù)保存至代理訪問裝置中的 存儲單元。控制單元可以根據(jù)控制CPU下發(fā)的任務(wù)指令執(zhí)行從PCI設(shè)備中 讀取數(shù)據(jù)的操作;也可以周期性訪問PCI設(shè)備,在PCI設(shè)備存在上報給控制 CPU的數(shù)據(jù)時,執(zhí)行從PCI設(shè)備中讀取數(shù)據(jù)的操作。控制單元具體執(zhí)行的 方式,可以根據(jù)控制CPU在初始化下發(fā)任務(wù)指令來執(zhí)行。
在步驟502中,代理訪問裝置采用PCI BURST操作模式將所讀取的數(shù)據(jù)寫入所述控制CPU所連接的內(nèi)存單元。同樣,如圖3所示,可以由代理訪問裝置中的執(zhí)行單元執(zhí)行從存儲單元 中讀取數(shù)據(jù),并寫入內(nèi)存單元中預(yù)先設(shè)定的位置。在步驟503中,代理訪問裝置在將所讀取的數(shù)據(jù)寫入所述控制CPU所 連接的內(nèi)存單元之后,通知所述控制CPU當(dāng)前操作完成。如圖3所示,可以由代理訪問裝置中的執(zhí)行單元執(zhí)行通知操作。具體的 通知方式為由執(zhí)行單元通過PCI接口單元發(fā)送通知消息至控制CPU;執(zhí) 行單元也可以不通過PCI接口單元,直接通過中斷信號通知控制CPU。在步驟504中,控制CPU收到通知后,從所連接的內(nèi)存單元中讀取所 述PCI設(shè)備發(fā)送給自身的數(shù)據(jù)。這里,控制CPU在收到執(zhí)行單元的通知后,到預(yù)先指定的位置就可以 讀取到PCI設(shè)備發(fā)送的消息。控制CPU可以在自身需要處理這些數(shù)據(jù)時, 從內(nèi)存單元中讀取。另外,需要注意的是,本發(fā)明的技術(shù)方案既可以用于傳輸PCI設(shè)備與控 制CPU之間的大批量數(shù)據(jù)時,也可以用來傳輸PCI設(shè)備與控制CPU之間的 小部分數(shù)據(jù)。在本發(fā)明的技術(shù)方案中,通過代理訪問裝置與所述PCI設(shè)備之間采用 DWORD操作模式交互,并與控制CPU所連接的內(nèi)存單元采用BURST操作 模式交互;同時內(nèi)存單元用于保存控制CPU和PCI設(shè)備之間傳輸?shù)臄?shù)據(jù), 代替控制CPU使用PCI總線,提高了控制CPU與PCI設(shè)備之間數(shù)據(jù)傳輸?shù)?效率,同時也提高了 PCI總線的利用效率,解放了控制CPU,從而提高了 整個設(shè)備系統(tǒng)的性能。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本 發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在 本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1、一種通過PCI總線傳輸數(shù)據(jù)的裝置,包括控制CPU、橋片單元和支持雙字DWORD操作模式而不支持連續(xù)多次突發(fā)BURST操作模式的PCI設(shè)備,其特征在于,進一步包括支持BURST操作模式的代理訪問裝置、以及通過橋片單元與所述控制CPU連接的內(nèi)存單元;所述代理訪問裝置通過PCI總線與所述PCI設(shè)備連接,采用DWORD操作模式與所述PCI設(shè)備進行數(shù)據(jù)傳輸;通過所述橋片單元實現(xiàn)與所述內(nèi)存單元的PCI連接,采用BURST操作模式對所述內(nèi)存單元執(zhí)行讀寫操作,實現(xiàn)與內(nèi)存單元連接的控制CPU之間的數(shù)據(jù)傳輸。
2、 根據(jù)權(quán)利要求1所示的裝置,其特征在于,所述控制CPU,用于將需要發(fā)送至所述PCI設(shè)備的數(shù)據(jù)寫入所述內(nèi)存單元; 所述代理訪問裝置,用于采用BURST操作模式從所述內(nèi)存單元讀取需要發(fā)送至所述PCI設(shè)備的數(shù)據(jù),并將所讀取的數(shù)據(jù)采用DWORD操作模式發(fā)送至所述PCI設(shè)備。
3、 根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述代理訪問裝置,用于采用DWORD操作模式從所述PCI設(shè)備讀取需要 發(fā)送至所述控制CPU的數(shù)據(jù);將所讀取的數(shù)據(jù)采用BURST操作模式寫入所述 內(nèi)存單元;所述控制CPU,用于從所述內(nèi)存單元讀取所述PCI設(shè)備發(fā)送給自身的數(shù)據(jù)。
4、 一種代理訪問裝置,其特征在于,該代理訪問裝置包括處理單元和PCI 接口單元;所述處理單元,用于通過所述PCI接口單元,采用雙字DWORD操作模式 與所述PCI設(shè)備進行數(shù)據(jù)傳輸;并通過所述PCI接口單元,釆用BURST操作 模式對控制CPU所連接的內(nèi)存單元執(zhí)行讀寫操作,實現(xiàn)與控制CPU之間的數(shù) 據(jù)傳輸;所述PCI接口單元,用于實現(xiàn)PCI總線的接口。
5、 根據(jù)權(quán)利要求4所述的代理訪問裝置,其特征在于,所述處理單元包括 控制單元、執(zhí)行單元和存儲單元;所述控制單元,用于通過所述PCI接口單元,采用DWORD操作模式與所 述PCI設(shè)備進行數(shù)據(jù)傳輸,并根據(jù)所傳輸?shù)臄?shù)據(jù)對所述存儲單元執(zhí)行讀寫操作;所述執(zhí)行單元,用于通過所述PCI接口單元,采用BURST操作模式對控 制CPU所連接的內(nèi)存單元執(zhí)行讀寫操作,并根據(jù)讀寫的數(shù)據(jù)對所述存儲單元執(zhí) 行讀寫操作;所述存儲單元,用于保存數(shù)據(jù)。
6、 根據(jù)權(quán)利要求5所述的代理訪問裝置,其特征在于, 所述執(zhí)行單元,用于通過所述PCI接口單元從控制CPU所連接的內(nèi)存單元讀取所述控制CPU需要發(fā)送至PCI設(shè)備的數(shù)據(jù),保存至所述存儲單元;所迷控制單元,用于將所述存儲單元中保存的需要發(fā)送至所述PCI設(shè)備的 數(shù)據(jù),通過PCI接口單元發(fā)送至所述PCI設(shè)備。
7、 根據(jù)權(quán)利要求6所述的代理訪問裝置,其特征在于, 所述執(zhí)行單元,用于根據(jù)所述控制CPU下發(fā)的指令,從所述控制CPU連接內(nèi)存單元的預(yù)定位置讀取所述控制CPU需要發(fā)送至PCI設(shè)備的數(shù)據(jù);所述控制單元,進一步用于將所述數(shù)據(jù)發(fā)送至所述PCI設(shè)備后,通知所述控制CPU當(dāng)前^:作完成。
8、 根據(jù)權(quán)利要求5所述的代理訪問裝置,其特征在于, 所述控制單元,用于通過所述PCI接口單元從PCI設(shè)備讀取所述PCI設(shè)備需要發(fā)送至控制CPU的數(shù)據(jù),保存至所述存儲單元;所述執(zhí)行單元,用于將所述存儲單元中保存的發(fā)送至所述控制CPU的數(shù) 據(jù),通過所述PCI接口單元發(fā)送至所述控制CPU連接的內(nèi)存單元,供所述控制 CPU讀取。
9、 根據(jù)權(quán)利要求8所述的代理訪問裝置,其特征在于, 所述控制單元,用于根據(jù)所述控制CPU下發(fā)的指令,從所述PCI設(shè)備讀取所述PCI設(shè)備需要發(fā)送至控制單元的數(shù)據(jù);所述執(zhí)行單元,進一步用于將所迷PCI設(shè)備的數(shù)樨發(fā)送至控制CPU所連接 的內(nèi)存單元后,通知所述控制CPU當(dāng)前4喿作完成。
10、 根據(jù)權(quán)利要求5至9中任一權(quán)利要求所述的代理訪問裝置,其特征在 于,所述控制單元包括操作單元和任務(wù)列表單元;所述任務(wù)列表單元,用于保存所述控制CPU在初始化下發(fā)的任務(wù)指令; 所述操作單元,用于根據(jù)所述任務(wù)列表單元中任務(wù)指令指示的操作方式, 執(zhí)行與所述PCI設(shè)備之間的數(shù)據(jù)傳輸。
11、 一種通過PCI總線傳輸數(shù)據(jù)的方法,其特征在于,應(yīng)用于支持DWORD 搡作模式而不支持連續(xù)多次突發(fā)BURST操作模式的PCI設(shè)備,該方法包括控制CPU將需要發(fā)送至PCI設(shè)備的數(shù)據(jù)保存至自身的內(nèi)存單元; 代理訪問裝置采用BURST操作模式從所述內(nèi)存單元讀取需要發(fā)送至所述 PCI設(shè)備的數(shù)據(jù);將所讀取的數(shù)據(jù)通過DWORD操作模式發(fā)送至所述PCI設(shè)備。
12、 一種通過PCI總線傳輸數(shù)據(jù)的方法,其特征在于,應(yīng)用于支持DWORD 操作模式而不支持連續(xù)多次突發(fā)BURST操作模式的PCI設(shè)備,該方法包括代理訪問裝置采用DWORD操作模式從所述PCI設(shè)備讀取需要發(fā)送至所述 控制CPU的數(shù)據(jù);并采用BURST操作模式將所讀取的數(shù)據(jù)寫入所述控制CPU 所連接的內(nèi)存單元;所述控制CPU從所連接的內(nèi)存單元中讀取所述PCI設(shè)備發(fā)送給自身的數(shù)據(jù)。
全文摘要
本發(fā)明公開了通過PCI總線傳輸數(shù)據(jù)的裝置、代理訪問裝置及方法。本發(fā)明所提供的技術(shù)方案中,通過代理訪問裝置與PCI設(shè)備之間采用DWORD操作模式交互,并與控制CPU所連接的內(nèi)存單元采用BURST操作模式交互;同時,內(nèi)存單元用于保存控制CPU和PCI設(shè)備之間傳輸?shù)臄?shù)據(jù),代替控制CPU使用PCI總線,提高了控制CPU與PCI設(shè)備之間數(shù)據(jù)傳輸?shù)男?,提高了PCI總線的利用效率,解放了控制CPU,從而提高了整個設(shè)備系統(tǒng)的性能。
文檔編號G06F13/40GK101303682SQ20081011561
公開日2008年11月12日 申請日期2008年6月25日 優(yōu)先權(quán)日2008年6月25日
發(fā)明者周在福, 揚 李 申請人:杭州華三通信技術(shù)有限公司