專利名稱:具有無記憶的頁面表的集成電路的制作方法
本公開的領(lǐng)域本公開涉及使用無記憶(memoryless)的頁面表的系統(tǒng)和方法。
背景用于嵌入式應(yīng)用的集成電路裝置可以使用有限量的計算機存儲器。例如,在便攜式裝置中使用的處理器具有相當(dāng)大的處理和功能性要求,但例如個人數(shù)字助理,移動電話,或MP3音頻播放器等便攜式裝置由于尺寸較小,僅可以使用采用有限量的計算機存儲器。另外,處理器裝置經(jīng)常使用虛擬存儲技術(shù),其要求使用一個或多個頁面表以從虛擬存儲器映射到物理存儲器地址。頁面表存儲在存儲器中并占用存儲器空間。
為了處理在確定應(yīng)用中節(jié)省存儲器空間的要求,已描述了一種其使用壓縮技術(shù)來減少頁面表的大小的方法。盡管壓縮技術(shù)減少了頁面表的存儲容量,但這種壓縮技術(shù)也增加了存取存儲器過程的系統(tǒng)開銷和額外的復(fù)雜性。增加的復(fù)雜性增加了系統(tǒng)成本并會影響處理性能。
因此,就需要一種改進(jìn)的使用存儲器和分頁表的系統(tǒng)和方法。
附圖的簡要說明
圖1是示出了包括處理器和無記憶的頁面表的集成電路的框圖;圖2是示出了無記憶的第一級頁面表的實施例的進(jìn)一步細(xì)節(jié)的框圖;圖3是示出了存取第一和第二級頁面表的方法的流程圖;圖4是示出了尋址第一和第二級頁面表的方法的流程圖;及圖5是示出了存儲器地址的數(shù)據(jù)結(jié)構(gòu)的總圖。
附圖的詳細(xì)說明參照圖1,示出了包括處理器102、存儲器總線104、存儲器映射模塊106和計算機可讀取存儲器110的集成電路100。存儲器映射模塊106包括無記憶的第一級頁面表108。物理計算機存儲器110包括第二級頁面表112。存儲器映射模塊106耦合到存儲器總線104。類似的,存儲器裝置110耦合到存儲器總線104,存儲器總線依次又耦合到處理器102。
在操作過程中,處理器裝置102可以經(jīng)存儲器總線104來啟動到存儲器映射模塊106中的第一級頁面表108的尋址。處理器102可以尋址第一級頁面表以接收存儲器地址。另外,存儲在存儲器110中的第二級頁面表112可通過第一級頁面表108中的一個或多個入口尋址。在一個具體的說明性實施例中,處理器裝置102可以從第一級頁面表108檢索第一級存儲器地址,并可以隨后存取第二級頁面表112以檢索第二級地址。處理器102可以在由第二級地址所指示的數(shù)據(jù)單元存取計算機存儲器110,以從此類地址檢索數(shù)據(jù)用于進(jìn)一步的處理。
應(yīng)注意到第一級頁面表包括多個入口,所述多個入口可以用邏輯門來實現(xiàn),第二級頁面表112包括多個存儲器地址,所述多個存儲器地址作為計算機可讀取存儲器110的一部分來實現(xiàn)。因此,第二級頁面表存儲在存儲器中,但第一級頁面表108沒有存儲在存儲器中,而是作為無記憶的模塊來實現(xiàn)。此外,應(yīng)注意到在具體說明性實施例中,無記憶的第一級頁面表108以電路來實現(xiàn),所述電路嵌入在集成電路100內(nèi)且未使用外部存儲器。因此,無記憶的第一級頁面表108有利地提供了第一級分頁功能,而不會耗費集成電路100中的寶貴的存儲器資源。
參照圖2,示出了系統(tǒng)100的進(jìn)一步的細(xì)節(jié)。系統(tǒng)100包括處理器102、存儲器總線104和無記憶的第一級頁面表108。無記憶的第一級頁面表108包括第一多路復(fù)用器206、第二多路復(fù)用器216、邏輯門及固定地址值218和多個觸發(fā)器裝置,例如用作說明的觸發(fā)器210,212及214。第二多路復(fù)用器216從存儲器總線104接收標(biāo)記為“映射映射模式”和“地址模式”的兩個輸入。第二多路復(fù)用器216向第一多路復(fù)用器206提供輸出220。邏輯門及固定地址值218向第一多路復(fù)用器206提供輸入。與此類似,第一多路復(fù)用器206從觸發(fā)器210,212和214接收輸入。邏輯門及固定地址值218和觸發(fā)器210,212,及214可以被統(tǒng)稱為地址模塊。
在操作過程中,第一級多路復(fù)用器206從邏輯門及固定地址值218和觸發(fā)器210,212,及214接收地址信息。所述地址信息由多個數(shù)據(jù)段組成。所述數(shù)據(jù)段的第一部分可以由邏輯門及固定地址值218保持在恒定地址值。所述數(shù)據(jù)段的第二部分可以對觸發(fā)器210,212,和214做出響應(yīng)。每個觸發(fā)器的數(shù)字邏輯狀態(tài)可由處理器102來選擇。第一多路復(fù)用器206可以運行在多個地址模式中。地址模式通過從多路復(fù)用器216而來的輸出220來提供。地址模式可以從包括錯誤模式(error mode),粗略模式,精確模式和部分模式的多種模式中選擇。第二多路復(fù)用器216還可以用于為第一多路復(fù)用器206確定映射模式。映射模式可以從直接映射映射模式、第二級頁面表模式或其它適當(dāng)?shù)牟僮髂J街羞x擇。多路復(fù)用器216的輸出基于由處理器提供的映射模式和地址模式輸入。第一多路復(fù)用器206從處理器102接收地址,基于由邏輯門及固定地址值218,觸發(fā)器210,212及214,和多路復(fù)用器216的輸出220提供的輸入,第一多路復(fù)用器206向處理器102提供第一級頁面表地址。第一級頁面表地址可以用于直接存取存儲單元,或可以用于存取存儲在存儲器中的第二級頁面表,例如表112。
參照圖3,示出了一種尋址無記憶的第一級頁面表和存取數(shù)據(jù)單元的方法。該方法包括存取無記憶的第一級頁面表的處理器,如在300所示。該方法還包括在302從無記憶的第一級頁面表接收地址,及基于該地址存取存儲器,如在304所示。參照判定步驟306,評估該地址以便判定其是否會在第二級頁面表中被找到。如果地址位于第二級頁面表內(nèi),那么在308,存取計算機可讀取存儲器內(nèi)的第二級頁面表就,并基于第二級入口執(zhí)行進(jìn)一步的存儲器存取,如在310所示?;仡^參照判定步驟306,如果地址是從第一級頁面表而來的直接地址且沒有在第二級頁面表中找到,那么就使用第一級頁面表地址來存取存儲器中的數(shù)據(jù),如在312所示。當(dāng)?shù)谝患夗撁姹硖峁┲苯拥刂窌r,到計算機可讀取存儲器的物理地址可以是硬連線的,而不會耗費存儲器資源??蛇x的,存儲器地址的一部分可以由處理器控制來選擇,并是可編程的,例如,通過使用如圖2所示的多個觸發(fā)器。
如果被存取的第一級頁面表的入口沒有在計算機可讀取存儲器中找到,例如由處理器啟動的虛擬存儲器尋址是頁面錯失,那么第一級頁面表就提供表示不可用存儲單元的地址。
因此,本公開的系統(tǒng)和方法提供了有效的存儲器技術(shù),用于執(zhí)行計算機存儲器的第一和第二級變址讀寫(indexed reads and writes)。在具體實施例中,第一級頁面表可以具有16千字節(jié)容量的尋址空間。在此實施例中,計算機可讀取存儲器可以具有256千字節(jié)的總存儲空間。因此,在該具體說明性實例中,第一級頁面表的存儲器地址空間大于計算機存儲器容量的5%。如此,通過以無記憶的電路來實現(xiàn)第一級頁面表,可以有利的獲得相當(dāng)大量的存儲器,例如大于存儲器的5%,以用于其它目的。此外,應(yīng)注意到在具體實例中的第二級頁面表耗費的空間小于第一級頁面表。例如,第二級頁面表可以具有小于4千字節(jié)的存儲器空間要求。
參照圖4,示出了一種使用第一和第二級頁面表存取存儲器的方法。該方法包括在402向在無記憶的第一級頁面表中的多路復(fù)用器提供第一級頁面表地址和模式控制信號。該方法進(jìn)一步包括從無記憶的第一級頁面表接收第二地址,如在404所示。在具體實施例中,第二地址可以由在第一級頁面表108中的第一多路復(fù)用器206提供。該方法進(jìn)一步包括定位計算機存儲器內(nèi)第二級頁面表中的數(shù)據(jù)單元。第二頁面表入口與第二地址相對應(yīng),如在406所示。該方法進(jìn)一步包括從計算機存儲器中由第二級頁面表提供的識別的數(shù)據(jù)單元中檢索數(shù)據(jù)項。從存儲器檢測該數(shù)據(jù),如在408所示。
參照圖5,示出了一種用于提供給第一多路復(fù)用器206的地址的數(shù)據(jù)結(jié)構(gòu)。該存儲器地址結(jié)構(gòu)包括多個固定存儲單元位502,多個控制位504,高速緩存位506和粗略或精確第二級頁面控制位508。數(shù)據(jù)結(jié)構(gòu)500可以提供給無記憶的第一級頁面表108??刂莆?04,高速緩存位506,和粗略/精確位508可以用于選擇一個或多個觸發(fā)器210,212和214的狀態(tài)。固定存儲單元位502可以用于尋址第一多路復(fù)用器206。高速緩存位506能被無記憶的第一級頁面表108使用,以選擇由第一多路復(fù)用器206提供的存儲器地址是否與可位于高速緩存中的數(shù)據(jù)單元相關(guān)聯(lián)。粗略/精確位508可以被無記憶的第一級頁面表108使用,以從存儲在存儲器中的至少兩個不同的第二級頁面表中進(jìn)行選擇。粗略/精確位可以從粗略第二級頁面表或精確第二級頁面表中進(jìn)行選擇。這樣,多個觸發(fā)器210,212和214可以處于代表存儲器存取模式的數(shù)字邏輯狀態(tài)中。
此外,盡管出于解釋的目的示出了三個代表性的觸發(fā)器210,212和214,應(yīng)該明白可以使用多個觸發(fā)器來實現(xiàn)地址的每一個不同選擇,所述地址的每一個不同選擇由無記憶的第一級頁面表響應(yīng)控制位、高速緩存位506和粗略/精確控制位508提供。因此,無記憶的第一級頁面表提供第一級頁面表的默認(rèn)功能,而且提供了靈活性,其在于,可以在處理器102的控制下由處理器對不同觸發(fā)器元件編程。另外,盡管該具體說明性實施例使用了觸發(fā)器,邏輯門,和所示的多路復(fù)用器,然而應(yīng)該明白,也可以各種其它無記憶的硬件電路來提供第一級頁面表的操作。
上述公開的主題內(nèi)容應(yīng)認(rèn)為是說明性的,而不是約束性的,附屬權(quán)利要求意欲覆蓋所有此類修改、改進(jìn)和落入本發(fā)明的實質(zhì)精神和范圍之內(nèi)的其它實施例。因此,在法律所允許的最大范圍內(nèi),本發(fā)明的范圍由后面的權(quán)利要求及其等效的所容許的最寬泛的解釋來確定,而不應(yīng)受到前述的詳細(xì)說明的約束或限制。
權(quán)利要求
1.一種系統(tǒng),包括處理器;無記憶的第一級頁面表,可由所述處理器尋址;及第二級頁面表,存儲在耦合到所述處理器的存儲器中,所述第二級頁面表可通過第一級頁面表的至少一個入口來尋址。
2.如權(quán)利要求1的系統(tǒng),其中所述無記憶的第一級頁面表包括耦合到所述處理器的第一多路復(fù)用器及耦合到所述多路復(fù)用器的多個地址模塊。
3.如權(quán)利要求2的系統(tǒng),其中所述多個地址模塊中的至少一個地址模塊由多個數(shù)據(jù)段組成,所述多個數(shù)據(jù)段的第一部分被一組邏輯門保持在恒定地址值,所述多個數(shù)據(jù)段的第二部分響應(yīng)于所述多個觸發(fā)器,其中所述多個觸發(fā)器中每個觸發(fā)器的數(shù)字邏輯狀態(tài)可由處理器選擇。
4.如權(quán)利要求4的系統(tǒng),其中所述多個地址模塊中的至少一個地址模塊與存儲單元相關(guān)聯(lián),且所述多個觸發(fā)器中的至少一個觸發(fā)器的數(shù)字邏輯狀態(tài)代表存儲單元的高速緩存狀態(tài)。
5.如權(quán)利要求4的系統(tǒng),其中所述多個觸發(fā)器中的至少一個觸發(fā)器的數(shù)字邏輯狀態(tài)代表存儲器存取模式。
6.如權(quán)利要求5的系統(tǒng),其中所述存儲器存取模式從粗略模式或精確模式中選擇。
7.如權(quán)利要求2的系統(tǒng),進(jìn)一步包括耦合到第一多路復(fù)用器的第二多路復(fù)用器,以為第一多路復(fù)用器確定存儲器地址模式。
8.如權(quán)利要求7的系統(tǒng),其中所述存儲器地址模式從錯誤模式、粗略模式、精確模式或部分模式中的一個來選擇。
9.如權(quán)利要求7的系統(tǒng),其中所述第二多路復(fù)用器用于為第一多路復(fù)用器確定一個選擇。
10.如權(quán)利要求8的系統(tǒng),其中所述選擇是直接地址或第二級頁面表地址中的一個。
11.如權(quán)利要求1的系統(tǒng),其中所述無記憶的第一級頁面表由多個入口組成,且所述多個入口中的至少一個入口是預(yù)定的恒定二進(jìn)制值。
12.如權(quán)利要求11的系統(tǒng),其中所述多個入口中的至少一個入口基于所述多個觸發(fā)器中的至少一個來確定。
13.如權(quán)利要求1的系統(tǒng),其中所述第二級頁面表存儲計算機可讀取存儲器的多個物理存儲器地址。
14.如權(quán)利要求13的系統(tǒng),進(jìn)一步包括計算機可讀取存儲器。
15.如權(quán)利要求14的系統(tǒng),進(jìn)一步包括耦合到計算機可讀取存儲器的存儲器總線。
16.一種方法,包括從無記憶的第一級頁面表接收存儲器地址;及基于所述存儲器地址,存取存儲器裝置中的數(shù)據(jù)單元。
17.如權(quán)利要求16的方法,進(jìn)一步包括存取存儲在存儲器裝置內(nèi)該數(shù)據(jù)單元中的第二級頁面表中的入口。
18.如權(quán)利要求16的方法,其中所述存儲器地址是硬連線的。
19.如權(quán)利要求16的方法,其中所述存儲器地址的至少一部分由所述多個觸發(fā)器來存儲。
20.如權(quán)利要求16的方法,其中所述存儲器地址從多個預(yù)定的第一級頁面表地址中選擇,所述預(yù)定的第一級頁面表地址中的至少一個地址代表不可用存儲單元。
21.一種方法,包括向無記憶的第一級頁面表提供第一地址;從無記憶的第一級頁面表接收第二地址;及在存儲器中定位一個與第二地址相對應(yīng)的數(shù)據(jù)單元。
22.如權(quán)利要求21的方法,其中所述存儲器中的數(shù)據(jù)單元與存儲在存儲器內(nèi)的第二級頁面表中的入口相關(guān)聯(lián)。
23.如權(quán)利要求21的方法,其中所述第二地址從多個頁面地址中選擇,其中所述多個頁面地址中的至少一個地址代表不可用存儲單元。
24.如權(quán)利要求21的方法,進(jìn)一步包括向無記憶的第一級頁面表提供存儲器地址模式控制信號。
25.如權(quán)利要求21的方法,其中所述第一地址提供給多路復(fù)用器的選擇輸入,且其中所述多路復(fù)用器提供第二地址。
26.一種系統(tǒng),包括處理器;耦合到所述處理器的總線,;耦合到所述總線的存儲器映射模塊,所述存儲器映射模塊包括第一輸入以接收虛擬存儲器地址,所述映射模塊包括無記憶的第一級頁面表,所述映射模塊具有輸出以提供存儲器地址;及響應(yīng)于所述存儲器映射模塊的存儲器裝置。
27.如權(quán)利要求26的系統(tǒng),其中所述存儲器地址是固定的直接存儲器地址。
28.如權(quán)利要求26的系統(tǒng),進(jìn)一步包括存儲在存儲器裝置中的第二級頁面表,其中所述存儲器地址提供指向第二級頁面表中的數(shù)據(jù)單元的指針。
29.如權(quán)利要求28的系統(tǒng),其中所述第一級頁面表具有比第二級頁面表更大的地址空間。
30.如權(quán)利要求28的系統(tǒng),其中所述第二級頁面表是未壓縮的。
31.如權(quán)利要求28的系統(tǒng),其中所述第二級頁面表存儲在小于存儲器裝置1%的存儲容量中。
32.如權(quán)利要求28的系統(tǒng),其中所述第一級頁面表能夠?qū)ぶ返谝蝗萘康拇鎯ζ骺臻g,并且其中所述存儲器裝置具有第二容量的存儲容量,所述第一容量大于第二容量的5%。
33.一種系統(tǒng),包括包括處理器的集成電路;及與所述處理器位于同一集成電路上的存儲器裝置,所述存儲器裝置包括第二級頁面表,但不包括第一級頁面表。
34.如權(quán)利要求33的系統(tǒng),其中所述第一級頁面表以嵌入在所述集成電路中的無記憶的第一級頁面表電路來實現(xiàn)。
全文摘要
公開了一種系統(tǒng),所述系統(tǒng)包括處理器、可由所述處理器尋址的無記憶的第一級頁面表以及存儲在耦合到所述處理器的存儲器中的第二級頁面表。所述第二級頁面表可通過第一級頁面表的至少一個入口來尋址。
文檔編號G06F12/10GK101014939SQ200580017574
公開日2007年8月8日 申請日期2005年9月20日 優(yōu)先權(quán)日2005年6月24日
發(fā)明者D·C·巴克 申請人:西格馬特爾公司