[發明專利]一種訪問PCI存儲空間的方法和裝置無效
| 申請號: | 200910091610.6 | 申請日: | 2009-08-26 |
| 公開(公告)號: | CN101639810A | 公開(公告)日: | 2010-02-03 |
| 發明(設計)人: | 張海飛 | 申請(專利權)人: | 杭州華三通信技術有限公司 |
| 主分類號: | G06F12/06 | 分類號: | G06F12/06;G06F13/16 |
| 代理公司: | 北京德琦知識產權代理有限公司 | 代理人: | 謝安昆;宋志強 |
| 地址: | 310053浙江省杭州市高新技術產業*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 訪問 pci 存儲空間 方法 裝置 | ||
技術領域
本發明涉及計算機通信技術領域,特別涉及一種訪問PCI存儲空間的方法和裝置。
背景技術
隨著電子信息和半導體產業的飛速發展,存儲器共享技術逐漸被廣泛應用。在中央處理器(CPU)系統中,外圍器件互連(PCI)是普遍采用的總線結構,CPU通過PCI總線實現對存儲器中各存儲空間的訪問。
現有技術中PCI存儲空間訪問系統可以如圖1所示,CPU采用多個PCI窗口對該PCI窗口對應的存儲空間進行訪問,其中,每個PCI窗口對應不同的基地址寄存器(BAR),每個BAR對應固定地址范圍的存儲空間,也就是說,PCI窗口和存儲空間一對一進行映射。一旦PCI窗口和存儲空間的映射關系確定,BAR中的基地址內容也就相應的確定,BAR中的基地址就是對應PCI窗口所映射的存儲空間的基地址,是預先配置好的,在訪問過程中不會發生變化。當CPU確定訪問存儲器中某個目標地址時,確定該目標地址對應的基地址,通過配置了該基地址的BAR對應的PCI窗口訪問對應的存儲空間。
然而,現有技術中CPU僅能實現固定數量的PCI窗口對應的存儲空間訪問,例如圖1中僅能夠實現6個PCI窗口對應的存儲空間的訪問,如果每個PCI窗口的訪問范圍是8M,那么最多僅能夠實現48M存儲空間的訪問,且訪問地址范圍也受限,當在某些情況下需要擴大存儲空間時,則不能夠滿足需求。如果通過擴大PCI窗口大小的方式來擴大存儲空間訪問范圍,由于CPU的地址空間有限,可能會造成PCI窗口無法擴大到存儲需求的狀況。
發明內容
有鑒于此,本發明提供了一種訪問PCI存儲空間的方法和裝置,以便于解決存儲空間訪問范圍受限的問題。
一種訪問PCI存儲空間的方法,該方法包括:
A、確定目標地址對應的基地址和偏移地址;
B、利用確定的基地址配置要訪問存儲器的基地址寄存器BAR;
C、通過所述BAR對應的PCI窗口按照確定的偏移地址對所述存儲器進行訪問。
一種訪問PCI存儲空間的裝置,該裝置包括:地址確定單元、配置單元和訪問單元;
所述地址確定單元,用于確定目標地址對應的基地址和偏移地址;
所述配置單元,用于利用所述地址確定單元確定的基地址配置要訪問的存儲器的BAR;
所述訪問單元,用于通過所述BAR對應的PCI窗口按照所述地址確定單元確定的偏移地址對所述存儲器進行訪問。
由以上技術方案可以看出,本發明提供的方法和裝置,在訪問時確定目標地址對應的基地址后,利用該基地址對存儲器的BAR進行配置,從而實現PCI窗口的移動。也就是說,本發明能夠根據實際的存儲器訪問需求對BAR進行靈活設置,打破了PCI窗口與存儲空間的固定一一映射關系,利用PCI窗口的移動來實現對存儲器存儲空間的全域訪問,解決了存儲空間訪問范圍受限的問題。另外,通過本發明在CPU中使用一個PCI窗口即可實現對存儲器整個存儲空間的訪問,因此,相比較現有技術占用CPU的地址較少,不會受到CPU地址空間的限制。
附圖說明
圖1為現有技術中的PCI存儲空間訪問示意圖;
圖2為本發明實施例提供的PCI存儲空間訪問示意圖;
圖3為本發明實施例提供的詳細方法流程圖;
圖4為本發明實施例提供的訪問多個存儲器的實例圖;
圖5為本發明實施例提供的裝置結構圖。
具體實施方式
為了使本發明的目的、技術方案和優點更加清楚,下面結合附圖和具體實施例對本發明進行詳細描述。
本發明提供的方法主要包括:確定目標地址對應的基地址和偏移地址;CPU利用確定的基地址配置要訪問存儲器的BAR,通過該BAR對應的PCI窗口按照確定的偏移地址對該存儲器進行訪問。
下面列舉具體實施例對上述方法進行詳細描述。在本發明中PCI窗口對應的BAR并不是預先配置好,而是根據實際訪問需求靈活配置,使得PCI窗口不再與固定的存儲空間一一映射,而是可以通過改變BAR的配置映射到任意存儲空間。采用這種方式時,CPU僅需要一個PCI窗口就可以實現對存儲器所有存儲空間的訪問,同時在存儲器也僅需要設置一個BAR。如圖2所示。
下面以圖2所示的情況為例說明本發明的具體實現,假設PCI窗口大小配置為8M,BAR的初始默認值為0x00000000,則初始狀態時,CPU能夠對目標地址為0x00000000至0x007fffff范圍內的8M存儲空間進行訪問;如果此時要訪問的目標地址為0x01300000,則具體實現方法流程如圖3所示,該方法可以包括以下步驟:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州華三通信技術有限公司,未經杭州華三通信技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910091610.6/2.html,轉載請聲明來源鉆瓜專利網。





