擴展存儲空間的存取方法及其存取裝置的製作方法
2023-04-22 18:41:26 1
專利名稱:擴展存儲空間的存取方法及其存取裝置的製作方法
技術領域:
本發明涉及微機系統,尤其涉及微機系統中擴展存儲空間的一種存取方法和一種存取裝置。
背景技術:
在微機系統中,最為核心的裝置是CPU(Central Processing Unit,中央處理器)、總線和存儲器。其中總線分為地址總線和數據總線,數據總線用來在各個裝置之間傳輸數據,地址總線用來傳輸存取數據的地址。地址總線的寬度決定了CPU可以直接尋址的地址範圍,例如20位地址總線可以直接尋址的範圍是1MB存儲空間,而24位地址總線的直接尋址空間可達16MB。
隨著科技的發展,CPU的處理能力不斷提高,所需的存儲器容量也越來越大。但地址總線的寬度有限,這樣就需要用一定的方法進行存儲空間的擴展,通過有限的總線寬度實現更大存儲空間的間接尋址。
目前採用的一種擴展存儲空間的存取裝置如圖1所示,直接尋址存儲器110的每一個數據單元根據地址總線上傳輸的信號可以進行直接尋址,當地址總線的寬度為Wa,數據總線寬度為Wd時,直接尋址存儲器110中的數據單元總數k的最大值為2Wa,每個數據單元的位數與數據總線130的寬度相同,為Wd。
直接尋址存儲器110由地址總線120上獲得地址信號後,根據該地址信號尋找到本存儲器中對應的數據單元,將數據總線130上的數據寫入該數據單元或從該數據單元讀取數據輸出到數據總線130上。數據單元映射器150通過直接尋址存儲器110存儲的數據信息查找到與該數據信息對應的頁面存儲器的數據單元,並建立該頁面存儲器的數據單元與直接尋址存儲器110中對應的數據單元之間的映射關係,這樣CPU通過對該直接尋址存儲器110中數據單元的讀寫即可完成對該頁面存儲器的數據單元的讀寫。圖1中的頁面存儲器141、142至14n均為擴展的存儲空間。
上述存取裝置的存取方法是,將直接尋址存儲器110的數據單元映射到頁面存儲器的數據單元上,如圖2所示。直接尋址存儲器110相鄰的兩個數據單元為一組,對應於一個頁面存儲器,其中第一個數據單元用來存放該頁面存儲器的地址,直接尋址存儲器110中的第二個數據單元映射到該頁面存儲器中具有此地址的數據單元上。
請參閱圖2,直接尋址存儲器110的數據單元1和數據單元2對應於頁面存儲器1,其中數據單元1用來存放頁面存儲器1的地址,數據單元2用作與頁面存儲器1的數據單元在直接尋址存儲器110中的映射,依次類推,數據單元(2m-1)和數據單元2m對應於頁面存儲器m,其中數據單元(2m-1)用來存放頁面存儲器m的地址,數據單元2m用作與頁面存儲器m的數據單元在直接尋址存儲器110中的映射。
當要對頁面存儲器m的數據單元s進行讀寫操作時,CPU先在直接尋址存儲器110的數據單元(2m-1)中寫入s;數據單元映射器150根據寫入s的數據單元所對應的頁面存儲器,得知是對頁面存儲器m進行操作;根據從直接尋址存儲器110的數據單元(2m-1)中讀取的值s,數據單元映射器150在頁面存儲器m中找到第s個數據單元;數據單元映射器150將直接尋址存儲器110的數據單元2m映射到頁面存儲器m的數據單元s;CPU通過對直接尋址存儲器110的數據單元2m的讀寫,完成對頁面存儲器m的數據單元s的讀寫操作。
當地址總線的寬度為Wa,數據總線寬度為Wd時,這種存取方法支持的頁面存儲器的數量n最大值為2Wa-1,每個頁面存儲器中數據單元的數量a最大值為2Wd,則這種方法支持的擴展存儲空間最大值為2Wa+Wd-1。
可見,上述存取裝置和存取方法在對頁面存儲器的數據單元進行讀寫時,必須先將該數據單元在頁面存儲器的地址寫入直接尋址存儲器中,在建立數據單元之間的映射關係之後,才能完成讀寫操作。對每一個數據單元的存取都要重複上述過程,這大大降低了系統的讀寫速度。同時,直接尋址存儲器中一半空間用作頁面存儲器數據單元的映射,另一半空間用作尋址,導致可擴展的數據單元總數較小。
發明內容
本發明要解決的技術問題是提供一種擴展存儲空間的存取方法和應用該方法的存取裝置,能夠提高存儲器的讀寫速度,並且在數據總線和地址總線寬度相同的情況下,支持更大的擴展存儲空間。
本發明所述擴展存儲空間的存取方法,其特徵在於,包括以下步驟a)為頁面存儲器設置頁面標識,建立頁面標識與頁面存儲器的對應關係;b)在直接尋址存儲器的公共頁面標識單元中寫入要訪問的頁面存儲器的頁面標識,公共頁面標識單元為直接尋址存儲器中具有固定地址的數據單元;c)將直接尋址存儲器除公共頁面標識單元外的數據單元映射到具有所述寫入公共頁面標識單元的頁面標識的頁面存儲器中對應的數據單元上;d)通過對直接尋址存儲器中所述數據單元的讀寫,進行對所述頁面存儲器對應數據單元的存取操作。
優選地,在所述步驟d)之後還包括e)判斷下一次存取操作是否對同一個頁面存儲器進行,如果是,轉步驟d);如果否,轉步驟b)。
優選地,步驟a)所述為頁面存儲器設置頁面標識具體為將每個頁面存儲器中具有相同預定地址的數據單元用做頁面標識單元,在頁面標識單元中保存該頁面存儲器的頁面標識;步驟a)所述建立頁面標識與頁面存儲器的對應關係具體為頁面標識單元中保存的頁面標識與該頁面標識單元所在的頁面存儲器相對應;步驟b)所述具有固定地址的數據單元為具有所述預定地址的數據單元。
上述具有預定地址的數據單元為其所在存儲器的第一個數據單元。
優選地,步驟a)所述為頁面存儲器設置頁面標識具體為設置頁面標識存儲器,在頁面標識存儲器的數據單元中保存頁面存儲器的頁面標識;步驟a)所述建立頁面標識與頁面存儲器的對應關係具體為建立所述保存頁面標識的數據單元與具有該頁面標識的頁面存儲器的對應關係。
所述步驟b)和步驟c)之間還包括通過判斷所述寫入公共標識單元的頁面標識與每個頁面存儲器的頁面標識是否相同,找出具有所述寫入公共頁面標識單元的頁面標識的頁面存儲器。
本發明同時提供了一種應用所述存取方法的存取裝置,包括直接尋址存儲器、判斷單元、頁面映射單元和至少一個頁面存儲器;其中每個所述頁面存儲器用於存取數據,並且每個頁面存儲器具有不同的頁面標識;所述直接尋址存儲器接受中央處理器的存取操作,所述直接尋址存儲器中的公共頁面標識單元用來寫入要訪問的頁面存儲器的頁面標識,公共頁面標識單元為具有固定地址的數據單元;所述判斷單元用來查找具有所述寫入直接尋址存儲器的頁面標識的頁面存儲器,並將結果信息輸出到所述頁面映射單元;所述頁面映射單元根據所述判斷單元的輸入信息,建立直接尋址存儲器除公共頁面標識單元外的數據單元到所述頁面存儲器對應數據單元的映射,將對直接尋址存儲器所述數據單元的存取操作映射為對所述頁面存儲器對應的數據單元的存取操作。
優選地,所述頁面標識保存在具有該頁面標識的頁面存儲器的頁面標識單元中;所述頁面標識單元是該頁面存儲器的數據單元,其在該頁面存儲器中的地址,與公共頁面標識單元在直接尋址存儲器中的地址相同。
優選地,所述存取裝置還包括頁面標識存儲器,其中保存著頁面存儲器的頁面標識,保存頁面標識的數據單元與具有該頁面標識的頁面存儲器有對應關係;所述頁面標識存儲器向判斷單元提供用來比較的頁面標識,及其與頁面存儲器的對應關係。
優選地,在所述公共頁面標識單元中的數據有變化時,啟動判斷單元工作。
通過為每個頁面存儲器設置佔用一個數據單元的頁面標識,並利用該頁面標識尋找對應的頁面存儲器,本發明建立直接尋址存儲器與該對應的頁面存儲器之間的映射關係,而不是單個數據單元之間的映射關係,從而提高了讀寫速度;同時由於不再需要直接尋址存儲器的一半空間用作尋址,本發明在數據總線和地址總線寬度相同的情況下,能夠支持更大的擴展存儲空間。
圖1所示為現有技術中擴展存儲空間的存取裝置結構圖;圖2所示為現有技術中存取方法的映射關係示意圖;圖3所示為本發明所述存取方法的流程圖;圖4所示為本發明所述存取方法一個實施方式的映射關係示意圖;圖5所示為本發明所述存取裝置的結構圖;圖6所示為使用本發明的存取空間切換過程示意圖。
具體實施例方式
以下結合附圖,詳細說明本發明的優選實施方式。
在本發明中,通過以直接尋址存儲器的整個存取空間到頁面存儲器頁面的映射,取代直接尋址存儲器的單個數據單元到頁面存儲器的單個數據單元的映射,來提高存取速度。
圖3所示為本發明所述存取方法的流程圖。在步驟10,為頁面存儲器設置頁面標識,建立頁面標識與頁面存儲器的對應關係。頁面標識用來唯一地代表頁面存儲器,對頁面存儲器的尋址通過頁面標識來實現。
設置頁面標識的方法有兩種,以下分別說明。
第一種設置頁面標識的方法是將每個頁面存儲器中具有相同預定地址的數據單元用做頁面標識單元,在頁面標識單元中保存該頁面存儲器的頁面標識;每個頁面存儲器與該存儲器中頁面標識單元保存的頁面標識相對應。為了便於對頁面存儲器進行尋址,每個頁面標識單元在其頁面存儲器中的地址相同。頁面標識單元只用於保存頁面標識,不作為存取信息的數據單元使用。
在這種情況下,與頁面存儲器的頁面標識單元相對應,將直接尋址存儲器中具有相同地址的數據單元用作公共頁面標識單元。公共頁面標識單元用來存放要訪問的頁面存儲器的頁面標識,也不作為存取信息的數據單元使用。所有的頁面標識單元與公共頁面標識單元在其所在的存儲器中具有相同的地址,通常為實現簡便會選擇第1個數據單元作為頁面標識單元。
由於在每次通過頁面標識進行尋址前,所有的頁面標識應當已經存儲在頁面標識單元中,所以這種方法要求在頁面存儲器的加電初始化過程中,預置每個頁面標識單元的值。
第二種設置頁面標識的方法是設置頁面標識存儲器,用來保存所有的頁面標識。在頁面標識存儲器的數據單元中保存頁面標識,並且建立保存頁面標識的數據單元與具有該頁面標識的頁面存儲器的對應關係。
在這種情況下,公共頁面標識單元只要位於直接尋址存儲器中的固定地址就可以了,通常簡便起見仍推薦選擇第1個數據單元作為頁面標識單元。
頁面標識存儲器可以是易失性存儲器或非易失性存儲器。採用易失性存儲器時,可以直接將其中的一個頁面存儲器設置為頁面標識存儲器,此時也需要在加電初始化過程中預置每個頁面標識單元的值;採用非易失性存儲器時,也應預置每個頁面標識單元的值。
在這兩種方法中,頁面標識的值是固定的常量。
當對頁面存儲器進行存取時,進入步驟20,在直接尋址存儲器的公共頁面標識單元中寫入要訪問的頁面存儲器的頁面標識。
在步驟30,通過比較公共頁面單元中寫入的頁面標識與哪個頁面存儲器的頁面標識相同,找到要訪問的頁面存儲器。
在步驟40,將直接尋址存儲器除公共頁面標識單元外的數據單元映射到具有寫入公共頁面標識單元的頁面標識的頁面存儲器中對應的數據單元上。
在步驟50,在建立了直接尋址存儲器的所述數據單元到要訪問的頁面存儲器的頁面之間的映射關係後,對直接尋址存儲器進行讀寫操作,就可以完成對要訪問的頁面存儲器的存取。
當對同一頁面存儲器進行連續的存取操作時,只要重複步驟50即可;當要訪問另一頁面存儲器時,轉步驟20。
圖4所示為採用設置頁面標識的第一種方法的存取方法的映射關係示意圖。圖4中,以每個頁面存儲器的第1個數據單元作為頁面標識單元,同樣直接尋址存儲器也以其第1個數據單元作為公共頁面標識單元。根據公共頁面標識單元中頁面標識的值,直接尋址存儲器中用於數據存取的數據單元可以映射到每個頁面存儲器的頁面上,以實現對各個頁面存儲器的存取。
當地址總線的寬度為Wa,數據總線寬度為Wd時,直接尋址存儲器的數據單元總數k的最大值為2Wa,去掉專用於頁面尋址的公共頁面標識單元,可用於數據存取的數據單元最大值為(2Wa-1);同理,每個頁面存儲器可用於數據存取的數據單元的最大值也是(2Wa-1)。在採用設置頁面標識的方法第一種方法和非易失性存儲器作為頁面標識存儲器的第二種方法中,系統支持的頁面存儲器的數目a最大值為2Wd,在採用其中一個頁面存儲器作為頁面標識存儲器時,系統支持的頁面存儲器的數目a最大值為(2Wd-1),因此本發明所述存取方法支持的擴展存儲空間容量至少為(2Wd-1)(2Wa-1)。與現有技術中的擴展存儲空間最大值2Wa+Wd-1相比,存儲空間容量增加了(2Wd+Wa1-2Wd-2Wa+1),由於數據總線寬度Wd通常至少為8位,或16位、32位、64位等,而地址總線寬度通常至少為16位、20位或更多,所以本發明極大地增加了存儲容量。
同時,由於對頁面存儲器的訪問常常是一次存取多個連續的數據單元,應用本發明後,在完成到頁面存儲器存儲空間的映射後,可以對多個數據單元直接進行讀寫操作,而不需要每次都做一次映射,因此,本發明可以提高對頁面存儲器的存取速度。
圖5所示為應用本發明所述存取方法的存取裝置。如圖5所示,直接尋址存儲器510根據地址總線520上傳輸的地址信息定位到本存儲器中的數據單元,並在數據總線530與具有該地址的數據單元之間進行讀寫操作。直接尋址存儲器510與頁面映射單元550、判斷單元560連接,同時頁面存儲器541、542至54a也與頁面映射單元550、判斷單元560連接。
為每個頁面存儲器設置不同的頁面標識,直接尋址存儲器510中有一個數據單元用作公共頁面標識單元。
如前所述,有兩種方法為頁面存儲器設置頁面標識其一是將每個頁面存儲器中具有相同預定地址的數據單元用做頁面標識單元,在頁面標識單元中保存該頁面存儲器的頁面標識,此時公共頁面標識單元在直接尋址存儲器510中也應具有所述相同的預定地址;頁面存儲器的容量可以不同,也可以與直接尋址存儲器不同,但頁面存儲器的容量應當不小於直接尋址存儲器510的容量;在這種情況下本發明推薦所有頁面存儲器採用與直接尋址存儲器相同的容量。
其二是設置頁面標識存儲器570,用來保存所有的頁面標識。在頁面標識存儲器570的數據單元中保存頁面標識,並且建立保存頁面標識的數據單元與具有該頁面標識的頁面存儲器的對應關係;此時公共頁面標識單元只要位於直接尋址存儲器中的固定地址即可;在這種情況下,頁面標識存儲器570的容量最好能夠支持系統的頁面存儲器總數,而每個頁面存儲器的容量應當不小於直接尋址存儲器510的容量減一(減去公共頁面標識單元佔用的一個數據單元);頁面標識存儲器570在判斷單元每次操作時向其提供用來比較的頁面標識,及其與頁面存儲器的對應關係。
當在公共頁面標識單元申寫入要訪問的頁面存儲器的頁面標識後,由判斷單元560讀取寫入公共頁面標識單元中的頁面標識,和各個頁面存儲器的頁面標識,通過比較上述兩個頁面標識是否相同判斷出要訪問的頁面存儲器,並將判斷結果輸出到頁面映射單元550。
頁面映射單元550根據判斷單元560的輸出,建立直接尋址存儲器510的所有數據單元與到所述頁面存儲器對應數據單元的映射,將對直接尋址存儲器110數據單元的存取操作映射到所述頁面存儲器對應的數據單元中。
同樣,本發明推薦將直接尋址存儲器的第1個數據單元用作公共頁面標識單元。
在應用本發明的方法或裝置後,可以將直接尋址存儲器中除公共頁面標識單元外的存儲空間視為邏輯空間,將各個頁面存儲器上與直接尋址存儲器的邏輯空間建立映射的存儲空間視為物理空間,本發明的方法或裝置完成的功能是根據公共頁面標識單元中頁面標識值的變化將邏輯空間映射到不同的物理空間上。
如果將邏輯空間或物理空間稱為一個存取頁,圖6所示為使用本發明的存取頁切換過程示意圖,其中,公共頁面標識單元620位於直接尋址存儲器6 10的第一個數據單元,為直觀起見,將頁面標識單元640標記在頁面存儲器的存取頁630之上,而事實上,頁面標識單元640可能不在其代表的頁面存儲器上。
圖6(A)中,公共頁面標識單元620的值為10,此時邏輯存取頁被映射到頁面標識為10物理存取頁上;圖6(B)中,處理器在公共頁面標識單元620中寫入新值18,由於公共頁面標識單元620中的數據發生了變化,新的映射過程啟動;在映射過程完成後,出現圖6(C)中所示的情形,邏輯存取頁被映射到頁面標識為18物理存取頁上。
通過採用頁面標識進行邏輯存取頁到物理存取頁的映射,本發明具有以下優點復用了直接尋址存儲器的存取空間,這樣可以減少地址線的寬度,或者說在相同的地址線寬度的情況下達到存取容量遠遠大於該地址線所及的物理空間;存取空間的分配非常明確,比如可以根據功能不同分配不同的存取頁空間;存取空間的切換非常靈活。
以上所述僅為本發明的優選實施方式,並不構成對本發明保護範圍的限定。任何在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的權利要求保護範圍之內。
權利要求
1.一種擴展存儲空間的存取方法,其特徵在於,包括以下步驟a)為頁面存儲器設置頁面標識,建立頁面標識與頁面存儲器的對應關係;b)在直接尋址存儲器的公共頁面標識單元中寫入要訪問的頁面存儲器的頁面標識,公共頁面標識單元為直接尋址存儲器中具有固定地址的數據單元;c)將直接尋址存儲器除公共頁面標識單元外的數據單元映射到具有所述寫入公共頁面標識單元的頁面標識的頁面存儲器中對應的數據單元上;d)通過對直接尋址存儲器中所述數據單元的讀寫,進行對所述頁面存儲器對應數據單元的存取操作。
2.按照權利要求1所述擴展存儲空間的存儲方法,其特徵在於,所述步驟d)之後還包括e)判斷下一次存取操作是否對同一個頁面存儲器進行,如果是,轉步驟d);如果否,轉步驟b)。
3.按照權利要求2所述擴展存儲空間的存取方法,其特徵在於,步驟a)所述為頁面存儲器設置頁面標識具體為將每個頁面存儲器中具有相同預定地址的數據單元用做頁面標識單元,在頁面標識單元中保存該頁面存儲器的頁面標識;步驟a)所述建立頁面標識與頁面存儲器的對應關係具體為頁面標識單元中保存的頁面標識與該頁面標識單元所在的頁面存儲器相對應;步驟b)所述具有固定地址的數據單元為具有所述預定地址的數據單元。
4.按照權利要求3所述擴展存儲空間的存取方法,其特徵在於所述具有預定地址的數據單元為其所在存儲器的第一個數據單元。
5.按照權利要求2所述擴展存儲空間的存取方法,其特徵在於,步驟a)所述為頁面存儲器設置頁面標識具體為設置頁面標識存儲器,在頁面標識存儲器的數據單元中保存頁面存儲器的頁面標識;步驟a)所述建立頁面標識與頁面存儲器的對應關係具體為建立所述保存頁面標識的數據單元與具有該頁面標識的頁面存儲器的對應關係。
6.按照權利要求1至5任意一項所述擴展存儲空間的存取方法,其特徵在於,所述步驟b)和步驟c)之間還包括通過判斷所述寫入公共標識單元的頁面標識與每個頁面存儲器的頁面標識是否相同,找出具有所述寫入公共頁面標識單元的頁面標識的頁面存儲器。
7.一種應用權利要求1所述存取方法的存取裝置,其特徵在於,包括直接尋址存儲器、判斷單元、頁面映射單元和至少一個頁面存儲器;每個所述頁面存儲器用於存取數據,並且每個頁面存儲器具有不同的頁面標識;所述直接尋址存儲器接受中央處理器的存取操作,所述直接尋址存儲器中的公共頁面標識單元用來寫入要訪問的頁面存儲器的頁面標識,公共頁面標識單元為具有固定地址的數據單元;所述判斷單元用來查找具有所述寫入直接尋址存儲器的頁面標識的頁面存儲器,並將結果信息輸出到所述頁面映射單元;所述頁面映射單元根據所述判斷單元的輸入信息,建立直接尋址存儲器除公共頁面標識單元外的數據單元到所述頁面存儲器對應數據單元的映射,將對直接尋址存儲器所述數據單元的存取操作映射為對所述頁面存儲器對應的數據單元的存取操作。
8.按照權利要求7所述的存取裝置,其特徵在於所述頁面標識保存在具有該頁面標識的頁面存儲器的頁面標識單元中;所述頁面標識單元是該頁面存儲器的數據單元,其在該頁面存儲器中的地址,與公共頁面標識單元在直接尋址存儲器中的地址相同。
9.按照權利要求7所述的存取裝置,其特徵在於所述存取裝置還包括頁面標識存儲器,其中保存著頁面存儲器的頁面標識,保存頁面標識的數據單元與具有該頁面標識的頁面存儲器有對應關係;所述頁面標識存儲器向判斷單元提供用來比較的頁面標識,及其與頁面存儲器的對應關係。
10.按照權利要求8或9所述的存取裝置,其特徵在於在所述公共頁面標識單元中的數據有變化時,啟動判斷單元工作。
全文摘要
本發明公開了一種擴展存儲空間的存取方法,包括以下步驟為頁面存儲器設置頁面標識,建立頁面標識與頁面存儲器的對應關係;在直接尋址存儲器的公共頁面標識單元中寫入要訪問的頁面存儲器的頁面標識,公共頁面標識單元為直接尋址存儲器中具有固定地址的數據單元;將直接尋址存儲器除公共頁面標識單元外的數據單元映射到具有所述寫入公共頁面標識單元的頁面標識的頁面存儲器中對應的數據單元上;通過對直接尋址存儲器中所述數據單元的讀寫,進行對所述頁面存儲器對應數據單元的存取操作。本發明還公開了一種應用所述存取方法的存取裝置。本發明提高了存儲器的讀寫速度,並且在數據總線和地址總線寬度相同的情況下,能夠支持更大的擴展存儲空間。
文檔編號G06F12/00GK1622057SQ20041010398
公開日2005年6月1日 申請日期2004年12月31日 優先權日2004年12月31日
發明者董欣, 金傳恩, 程青雲, 李公成 申請人:北京中星微電子有限公司