欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于嵌入式系統(tǒng)的請(qǐng)求調(diào)頁設(shè)備和方法

文檔序號(hào):6564498閱讀:127來源:國知局
專利名稱:用于嵌入式系統(tǒng)的請(qǐng)求調(diào)頁設(shè)備和方法
技術(shù)領(lǐng)域
與本發(fā)明一致的設(shè)備和方法涉及用于嵌入式系統(tǒng)的請(qǐng)求調(diào)頁,更具體地講,涉及這樣一種用于嵌入式系統(tǒng)的請(qǐng)求調(diào)頁設(shè)備和方法,在將請(qǐng)求調(diào)頁技術(shù)應(yīng)用于使用支持請(qǐng)求調(diào)頁的操作系統(tǒng)的系統(tǒng)或不使用操作系統(tǒng)的系統(tǒng)時(shí),該設(shè)備和方法使得能夠簡單有效地使用請(qǐng)求調(diào)頁技術(shù)。
背景技術(shù)
術(shù)語“請(qǐng)求調(diào)頁”指的是這樣一種技術(shù)在使用虛擬存儲(chǔ)系統(tǒng)的操作系統(tǒng)中,將虛擬存儲(chǔ)器分配給諸如硬盤的輔助存儲(chǔ)裝置,并應(yīng)用戶的請(qǐng)求將物理存儲(chǔ)器映射到虛擬存儲(chǔ)器,從而使得能夠更加有效地使用有限的主存儲(chǔ)器。盡管在諸如Linux和Windows的通用操作系統(tǒng)中使用請(qǐng)求調(diào)頁,但是響應(yīng)于應(yīng)用程序所需的代碼和數(shù)據(jù)的大小的增加,由于這種功能的機(jī)制復(fù)雜而導(dǎo)致大多數(shù)嵌入式系統(tǒng)中不支持這種功能。原因是每個(gè)存儲(chǔ)系統(tǒng)本身與通用操作系統(tǒng)的操作密切相關(guān)。也就是說,除非使用支持請(qǐng)求調(diào)頁的操作系統(tǒng),否則在實(shí)踐中難以實(shí)現(xiàn)請(qǐng)求調(diào)頁。
圖1A是示出在支持請(qǐng)求調(diào)頁的操作系統(tǒng)中的現(xiàn)有技術(shù)的請(qǐng)求調(diào)頁設(shè)備,該請(qǐng)求調(diào)頁設(shè)備包括具有有限大小的物理存儲(chǔ)器30、產(chǎn)生用于請(qǐng)求調(diào)頁的虛擬存儲(chǔ)空間的輔助存儲(chǔ)裝置40、作為應(yīng)用程序的各個(gè)進(jìn)程的虛擬地址空間10和20以及用于管理請(qǐng)求調(diào)頁的操作系統(tǒng)50。當(dāng)產(chǎn)生進(jìn)程時(shí),操作系統(tǒng)50在輔助存儲(chǔ)裝置40中產(chǎn)生用于各個(gè)進(jìn)程的虛擬存儲(chǔ)空間。其后,當(dāng)所述進(jìn)程嘗試訪問虛擬存儲(chǔ)空間時(shí),操作系統(tǒng)50將適當(dāng)?shù)目臻g分配給物理存儲(chǔ)器30,從輔助存儲(chǔ)裝置40讀取虛擬存儲(chǔ)空間的內(nèi)容,然后將所述內(nèi)容映射到各個(gè)進(jìn)程的虛擬地址空間10和20,從而執(zhí)行應(yīng)用程序。
在這種情況下,各個(gè)進(jìn)程的虛擬地址空間10和20被分為核心區(qū)域和用戶區(qū)域。在核心區(qū)域中,與載入操作系統(tǒng)50的代碼和靜態(tài)數(shù)據(jù)的空間大小相同的空間在物理存儲(chǔ)器30中被保護(hù)。請(qǐng)求調(diào)頁技術(shù)應(yīng)用于所有剩余空間。因此,根據(jù)用戶程序,請(qǐng)求調(diào)頁技術(shù)處理所有代碼和數(shù)據(jù)。
圖1B是示出使用請(qǐng)求調(diào)頁的現(xiàn)有技術(shù)的系統(tǒng)的示圖,該系統(tǒng)包括應(yīng)用程序90查看和使用的地址空間60、存在于系統(tǒng)中并具有有限大小的物理存儲(chǔ)器70、存儲(chǔ)應(yīng)用程序的輔助存儲(chǔ)裝置80以及存儲(chǔ)在輔助存儲(chǔ)裝置80中、被載入物理存儲(chǔ)器70、然后被映射到地址空間60的應(yīng)用程序90。
在所述系統(tǒng)中,整個(gè)存儲(chǔ)空間被共用而沒有被劃分為對(duì)應(yīng)于進(jìn)程的區(qū)域。由于物理存儲(chǔ)器70可沒有改變地映射到地址空間60,所以大小比系統(tǒng)的物理存儲(chǔ)器70的大小大的程序不被執(zhí)行。通常,存儲(chǔ)在輔助存儲(chǔ)裝置80中的應(yīng)用程序90通過引導(dǎo)加載程序被載入物理存儲(chǔ)器70,然后被執(zhí)行。
為了在圖1A的現(xiàn)有技術(shù)情況下應(yīng)用請(qǐng)求調(diào)頁,使用在操作系統(tǒng)級(jí)支持請(qǐng)求調(diào)頁的方案,存在的問題是操作系統(tǒng)本身必須由另一操作系統(tǒng)取代。此外,由于用于嵌入式系統(tǒng)的大多數(shù)操作系統(tǒng)不支持用于各個(gè)任務(wù)的虛擬地址空間,所以難以將傳統(tǒng)的請(qǐng)求調(diào)頁方案引入到這些操作系統(tǒng)?;蛘撸绻褂弥С终?qǐng)求調(diào)頁的操作系統(tǒng),那么難以根據(jù)應(yīng)用程序預(yù)測(cè)將由請(qǐng)求調(diào)頁延遲處理的部分應(yīng)用程序和由請(qǐng)求調(diào)頁延遲所述部分應(yīng)用程序的時(shí)刻。因此,存在的問題是難以將所述系統(tǒng)應(yīng)用于需要實(shí)時(shí)響應(yīng)的應(yīng)用。
此外,在圖1B的沒有使用請(qǐng)求調(diào)頁的現(xiàn)有技術(shù)的系統(tǒng)中,存在的問題是難以處理大小逐漸增加的代碼和數(shù)據(jù)。此外,當(dāng)在該系統(tǒng)中采用NAND閃存(即,不能被直接尋址的非易失性存儲(chǔ)器)或硬盤的情況下執(zhí)行存儲(chǔ)在存儲(chǔ)裝置中的程序時(shí),存在的問題是必須分配具有與所述程序的大小相應(yīng)的大小的RAM。

發(fā)明內(nèi)容
本發(fā)明提供了一種用于嵌入式系統(tǒng)的請(qǐng)求調(diào)頁設(shè)備和方法,在該請(qǐng)求調(diào)頁設(shè)備和方法中,可將請(qǐng)求調(diào)頁技術(shù)使用在使用支持請(qǐng)求調(diào)頁的操作系統(tǒng)的系統(tǒng)和使用不支持請(qǐng)求調(diào)頁的操作系統(tǒng)的系統(tǒng)中。
根據(jù)本發(fā)明的一方面,提供了一種用于嵌入式系統(tǒng)的請(qǐng)求調(diào)頁設(shè)備,該設(shè)備包括非易失性存儲(chǔ)裝置,存儲(chǔ)通過請(qǐng)求調(diào)頁處理的代碼和數(shù)據(jù);物理存儲(chǔ)器,處理從非易失性存儲(chǔ)裝置讀取的關(guān)于請(qǐng)求頁的信息;請(qǐng)求調(diào)頁窗口,產(chǎn)生所述頁錯(cuò)誤(fault),因而使請(qǐng)求調(diào)頁發(fā)生,請(qǐng)求調(diào)頁窗口是存儲(chǔ)在非易失性存儲(chǔ)裝置中的應(yīng)用程序所引用的地址空間的一部分;和請(qǐng)求調(diào)頁管理器,處理請(qǐng)求調(diào)頁窗口中產(chǎn)生的頁錯(cuò)誤。
可將物理存儲(chǔ)器的一部分分配給請(qǐng)求調(diào)頁管理器,請(qǐng)求調(diào)頁管理器產(chǎn)生用于執(zhí)行請(qǐng)求調(diào)頁的請(qǐng)求調(diào)頁存儲(chǔ)池。
請(qǐng)求調(diào)頁存儲(chǔ)池可包括幀緩沖器,被映射到請(qǐng)求調(diào)頁窗口中的虛擬存儲(chǔ)空間;存儲(chǔ)器轉(zhuǎn)換表,將關(guān)于映射的信息通知給存儲(chǔ)管理單元(MMU);和幀緩沖器列表,即,用于管理幀緩沖器的數(shù)據(jù)結(jié)構(gòu)。
請(qǐng)求調(diào)頁管理器可包括接口模塊,初始化請(qǐng)求調(diào)頁管理器,并激活存儲(chǔ)管理單元;頁高速緩沖管理模塊,響應(yīng)于接口模塊的請(qǐng)求對(duì)幀緩沖器和幀緩沖器列表進(jìn)行初始化;和頁錯(cuò)誤處理模塊,確定在請(qǐng)求調(diào)頁窗口的區(qū)域中是否產(chǎn)生了激活的存儲(chǔ)管理單元產(chǎn)生的頁錯(cuò)誤,從而處理頁錯(cuò)誤。
接口模塊可包括應(yīng)用程序接口(API),從應(yīng)用程序接收產(chǎn)生請(qǐng)求調(diào)頁窗口的請(qǐng)求和信息;存儲(chǔ)器轉(zhuǎn)換表產(chǎn)生單元,從請(qǐng)求調(diào)頁存儲(chǔ)池向其分配存儲(chǔ)器,并且存儲(chǔ)器轉(zhuǎn)換表產(chǎn)生單元產(chǎn)生用于請(qǐng)求調(diào)頁窗口的區(qū)域的存儲(chǔ)器轉(zhuǎn)換表;頁錯(cuò)誤處理程序安裝單元,將頁錯(cuò)誤處理模塊注冊(cè)在中央處理單元(CPU)中;和存儲(chǔ)管理單元控制單元,控制存儲(chǔ)管理單元調(diào)用注冊(cè)的頁錯(cuò)誤處理模塊。在這種情況下,所述信息可包括關(guān)于請(qǐng)求調(diào)頁窗口占據(jù)的空間的大小和地址的信息、關(guān)于請(qǐng)求調(diào)頁存儲(chǔ)池的大小的信息和關(guān)于存儲(chǔ)在非易失性存儲(chǔ)裝置中的代碼和數(shù)據(jù)的位置的信息。
所述非易失性存儲(chǔ)裝置可以是NAND閃存。
根據(jù)本發(fā)明的另一方面,提供了一種用于嵌入式系統(tǒng)的請(qǐng)求調(diào)頁方法,該方法包括響應(yīng)于存儲(chǔ)在非易失性存儲(chǔ)裝置中的應(yīng)用程序的請(qǐng)求,產(chǎn)生請(qǐng)求調(diào)頁窗口,所述請(qǐng)求調(diào)頁窗口是發(fā)生請(qǐng)求調(diào)頁的區(qū)域;對(duì)用于處理請(qǐng)求調(diào)頁窗口中產(chǎn)生的頁錯(cuò)誤的請(qǐng)求調(diào)頁管理器進(jìn)行初始化,從而激活存儲(chǔ)管理單元;當(dāng)請(qǐng)求調(diào)頁窗口中產(chǎn)生頁錯(cuò)誤時(shí),使用激活的存儲(chǔ)管理單元來調(diào)用向CPU注冊(cè)的頁錯(cuò)誤處理模塊;使用調(diào)用的頁錯(cuò)誤處理模塊來確定請(qǐng)求調(diào)頁窗口中是否產(chǎn)生頁錯(cuò)誤;如果請(qǐng)求調(diào)頁窗口中產(chǎn)生了頁錯(cuò)誤,那么在頁錯(cuò)誤處理模塊處理頁錯(cuò)誤。
初始化請(qǐng)求調(diào)頁管理器的步驟可包括從應(yīng)用程序接收產(chǎn)生請(qǐng)求調(diào)頁窗口的請(qǐng)求和信息;由操作系統(tǒng)分配存儲(chǔ)器,并產(chǎn)生用于請(qǐng)求調(diào)頁窗口的區(qū)域的存儲(chǔ)器轉(zhuǎn)換表;向CPU注冊(cè)頁錯(cuò)誤處理模塊,頁錯(cuò)誤處理模塊在產(chǎn)生頁錯(cuò)誤中斷時(shí)被執(zhí)行;和激活調(diào)用注冊(cè)的頁錯(cuò)誤處理模塊的存儲(chǔ)管理單元。在這種情況下,所述信息可包括關(guān)于請(qǐng)求調(diào)頁窗口占據(jù)的空間的大小和地址的信息、關(guān)于被請(qǐng)求執(zhí)行請(qǐng)求調(diào)頁的存儲(chǔ)器的大小的信息和關(guān)于存儲(chǔ)在非易失性存儲(chǔ)裝置中的代碼和數(shù)據(jù)的位置的信息。
處理頁錯(cuò)誤的步驟可包括如果請(qǐng)求調(diào)頁窗口中產(chǎn)生了頁錯(cuò)誤,那么將請(qǐng)求調(diào)頁存儲(chǔ)池內(nèi)的幀緩沖器分配給請(qǐng)求調(diào)頁管理器;頁錯(cuò)誤處理模塊使用幀緩沖器從非易失性存儲(chǔ)裝置讀取頁;根據(jù)讀取的頁來修改存儲(chǔ)器轉(zhuǎn)換表。


通過下面結(jié)合附圖對(duì)示例性實(shí)施例進(jìn)行的詳細(xì)描述,本發(fā)明的上述和其它方面將會(huì)被更加清楚地理解,其中圖1A是示出在支持請(qǐng)求調(diào)頁的操作系統(tǒng)中的現(xiàn)有技術(shù)的請(qǐng)求調(diào)頁設(shè)備的示圖;圖1B是示出沒有使用請(qǐng)求調(diào)頁的現(xiàn)有技術(shù)的系統(tǒng)的示圖;圖2是示出根據(jù)本發(fā)明示例性實(shí)施例的用于嵌入式系統(tǒng)的請(qǐng)求調(diào)頁設(shè)備的構(gòu)思的框圖;圖3是示出根據(jù)本發(fā)明示例性實(shí)施例的作為請(qǐng)求調(diào)頁設(shè)備的結(jié)構(gòu)的一部分的請(qǐng)求調(diào)頁管理器和物理存儲(chǔ)器的結(jié)構(gòu)的示圖;圖4是示出根據(jù)本發(fā)明示例性實(shí)施例的作為請(qǐng)求調(diào)頁設(shè)備的結(jié)構(gòu)的一部分的接口模塊的結(jié)構(gòu)的示圖;圖5是示出根據(jù)本發(fā)明示例性實(shí)施例的用于嵌入式系統(tǒng)的請(qǐng)求調(diào)頁方法的構(gòu)思的流程圖;和圖6是示出根據(jù)示例性實(shí)施例的初始化請(qǐng)求調(diào)頁管理器的處理的流程圖。
具體實(shí)施例方式
通過下面結(jié)合附圖對(duì)示例性實(shí)施例進(jìn)行的詳細(xì)描述,本發(fā)明的各方面將變得更加清楚。然而,本發(fā)明不限于示例性實(shí)施例,而是可以以各種方式被實(shí)現(xiàn)。提供示例性實(shí)施例以使本公開完整,并使本領(lǐng)域普通技術(shù)人員理解本發(fā)明的范圍。貫穿附圖,將使用相同的標(biāo)號(hào)來表示相同或相似的部件。
以下將參照框圖或流程圖來詳細(xì)描述用于嵌入式系統(tǒng)的請(qǐng)求調(diào)頁設(shè)備和方法。
圖2是示出根據(jù)本發(fā)明示例性實(shí)施例的用于嵌入式系統(tǒng)的請(qǐng)求調(diào)頁設(shè)備的構(gòu)思的框圖。該用于嵌入式系統(tǒng)的請(qǐng)求調(diào)頁設(shè)備包括地址空間110內(nèi)的請(qǐng)求調(diào)頁窗口100、物理存儲(chǔ)器200、非易失性存儲(chǔ)裝置300和請(qǐng)求調(diào)頁管理器400。
非易失性存儲(chǔ)裝置300是用于存儲(chǔ)可以進(jìn)行請(qǐng)求調(diào)頁的代碼和數(shù)據(jù)的空間,即使電源被斷開,非易失性存儲(chǔ)裝置300也能保持存儲(chǔ)在其中的信息,從而當(dāng)重新供電時(shí)可再使用存儲(chǔ)的信息,非易失性存儲(chǔ)裝置300表示閃存、只讀存儲(chǔ)器(ROM)、磁帶或磁盤。
更具體地講,閃存能夠自由地存儲(chǔ)和刪除數(shù)據(jù),并且根據(jù)其內(nèi)部配置被分為NOR閃存或NAND閃存。NOR閃存具有其單元彼此并聯(lián)的配置,而NAND閃存具有其單元彼此串聯(lián)的配置。NAND閃存可具有比NOR閃存低的制造成本,并且能夠?qū)崿F(xiàn)比NOR閃存高的容量,而NOR閃存可具有比NAND閃存短的數(shù)據(jù)訪問時(shí)間和比NAND閃存好的數(shù)據(jù)穩(wěn)定性。然而,示例性實(shí)施例不需要這些方面,并且沒有這些方面也可以預(yù)見示例性實(shí)施例。
在示例性實(shí)施例中,NAND閃存可用作非易失性存儲(chǔ)裝置300,以實(shí)現(xiàn)允許嵌入式系統(tǒng)的應(yīng)用程序直接控制請(qǐng)求調(diào)頁功能的優(yōu)點(diǎn)。
物理存儲(chǔ)器200是處理從非易失性存儲(chǔ)裝置300讀取的關(guān)于請(qǐng)求頁的信息的存儲(chǔ)器類型。RAM通常用作物理存儲(chǔ)器200。
請(qǐng)求調(diào)頁窗口100是存儲(chǔ)在非易失性存儲(chǔ)裝置300中的應(yīng)用程序所查看和引用的地址空間110的一部分。請(qǐng)求調(diào)頁窗口100是產(chǎn)生讀取的頁的頁錯(cuò)誤從而使請(qǐng)求調(diào)頁發(fā)生的區(qū)域。可以不管操作系統(tǒng)而由用戶程序產(chǎn)生請(qǐng)求調(diào)頁窗口100。為此,請(qǐng)求調(diào)頁管理器400在應(yīng)用程序級(jí)被初始化,并且請(qǐng)求調(diào)頁窗口100注冊(cè)在請(qǐng)求調(diào)頁管理器400中。由于這種注冊(cè)過程可以重復(fù)多次,所以可以同時(shí)使用多個(gè)請(qǐng)求調(diào)頁窗口100。在請(qǐng)求調(diào)頁窗口100的注冊(cè)完成之后,請(qǐng)求調(diào)頁管理器400被請(qǐng)求激活請(qǐng)求調(diào)頁窗口100,因此,請(qǐng)求調(diào)頁窗口100被激活。
請(qǐng)求調(diào)頁管理器400用于處理從請(qǐng)求調(diào)頁窗口100產(chǎn)生的頁錯(cuò)誤。圖3詳細(xì)示出請(qǐng)求調(diào)頁管理器400的結(jié)構(gòu),圖3是示出請(qǐng)求調(diào)頁管理器400和請(qǐng)求調(diào)頁存儲(chǔ)池200A的結(jié)構(gòu)的示圖,該結(jié)構(gòu)是請(qǐng)求調(diào)頁設(shè)備的結(jié)構(gòu)的一部分。從物理存儲(chǔ)器200將該存儲(chǔ)器的一部分分配給請(qǐng)求調(diào)頁管理器400,請(qǐng)求調(diào)頁管理器400產(chǎn)生用于執(zhí)行請(qǐng)求調(diào)頁的請(qǐng)求調(diào)頁存儲(chǔ)池200A。
請(qǐng)求調(diào)頁存儲(chǔ)池200A包括幀緩沖器220,由映射到請(qǐng)求調(diào)頁窗口100內(nèi)的虛擬存儲(chǔ)空間的物理存儲(chǔ)器形成;存儲(chǔ)器轉(zhuǎn)換表210,將關(guān)于映射的信息通知給存儲(chǔ)管理單元(MMU)500;和幀緩沖器列表230,是用于管理幀緩沖器220的數(shù)據(jù)結(jié)構(gòu)。此外,請(qǐng)求調(diào)頁管理器400包括接口模塊410、頁高速緩沖管理模塊420和頁錯(cuò)誤處理模塊430。
必須由獨(dú)立于操作系統(tǒng)的應(yīng)用程序產(chǎn)生請(qǐng)求調(diào)頁窗口100。為了使用請(qǐng)求調(diào)頁設(shè)備處理頁錯(cuò)誤,必須初始化請(qǐng)求調(diào)頁管理器400。接口模塊410執(zhí)行有關(guān)功能,從而激活存儲(chǔ)管理單元。
頁高速緩沖管理模塊420用于應(yīng)接口模塊410的請(qǐng)求對(duì)幀緩沖器220和幀緩沖器列表230進(jìn)行初始化。結(jié)果,產(chǎn)生幀緩沖器220和幀緩沖器列表230。
頁錯(cuò)誤處理模塊430是一種由激活的存儲(chǔ)管理單元調(diào)用的頁錯(cuò)誤處理程序。當(dāng)產(chǎn)生頁錯(cuò)誤中斷時(shí),頁錯(cuò)誤處理模塊430用于確定是否在請(qǐng)求調(diào)頁窗口100的區(qū)域中產(chǎn)生了所述中斷并處理頁錯(cuò)誤。
如參照?qǐng)D4所述,接口模塊410可負(fù)責(zé)初始化處理,其中,對(duì)示例性實(shí)施例的設(shè)備執(zhí)行初始化處理以執(zhí)行請(qǐng)求調(diào)頁功能。
圖4是示出接口模塊410的結(jié)構(gòu)的示圖,該結(jié)構(gòu)是請(qǐng)求調(diào)頁管理器的結(jié)構(gòu)的一部分。應(yīng)用程序接口(API)412執(zhí)行接收應(yīng)用程序?qū)Ξa(chǎn)生請(qǐng)求調(diào)頁窗口100的請(qǐng)求和信息的功能。在這種情況下,所述信息包括關(guān)于請(qǐng)求調(diào)頁窗口100的大小和地址的信息、關(guān)于請(qǐng)求調(diào)頁存儲(chǔ)池200A的大小的信息和關(guān)于存儲(chǔ)在非易失性存儲(chǔ)裝置300中的代碼和數(shù)據(jù)的位置的信息。
存儲(chǔ)器轉(zhuǎn)換表產(chǎn)生單元414用于從請(qǐng)求調(diào)頁存儲(chǔ)池200A分配存儲(chǔ)器,并產(chǎn)生用于請(qǐng)求調(diào)頁窗口100的區(qū)域的存儲(chǔ)器轉(zhuǎn)換表210。在這種情況下,操作根據(jù)存儲(chǔ)管理單元500是否已被激活而變化。
如果存儲(chǔ)管理單元500已停止,那么請(qǐng)求調(diào)頁管理器400必須重新更新用于整個(gè)地址空間的存儲(chǔ)器轉(zhuǎn)換表210,并向中央處理單元(CPU)注冊(cè)存儲(chǔ)器轉(zhuǎn)換表210。這樣做的原因是因?yàn)?,?duì)于存儲(chǔ)管理單元500的激活而言,存儲(chǔ)器轉(zhuǎn)換表210總是必需的。然而,如果存儲(chǔ)管理單元500已經(jīng)被激活,那么這意味著對(duì)整個(gè)地址空間而言向系統(tǒng)注冊(cè)的存儲(chǔ)器轉(zhuǎn)換表210已經(jīng)存在,因此請(qǐng)求調(diào)頁管理器400不必重新更新整個(gè)表。不管存儲(chǔ)管理單元500是否被激活,在以上處理完成之后,存在用于整個(gè)地址空間的存儲(chǔ)器轉(zhuǎn)換表210。
現(xiàn)在,必須修改用于請(qǐng)求調(diào)頁窗口100的區(qū)域的存儲(chǔ)器轉(zhuǎn)換表210以產(chǎn)生頁錯(cuò)誤中斷。如果可由CPU識(shí)別的特定值被輸入存儲(chǔ)器轉(zhuǎn)換表210,那么當(dāng)從相應(yīng)的存儲(chǔ)器讀取數(shù)據(jù)或者將數(shù)據(jù)寫入相應(yīng)的存儲(chǔ)器時(shí)產(chǎn)生頁錯(cuò)誤中斷。也就是說,該處理是初始化存儲(chǔ)器轉(zhuǎn)換表210以在請(qǐng)求調(diào)頁窗口100的區(qū)域中產(chǎn)生頁錯(cuò)誤中斷的處理。
頁錯(cuò)誤處理程序安裝單元416用于向CPU注冊(cè)頁錯(cuò)誤處理模塊430。如果產(chǎn)生了頁錯(cuò)誤中斷,那么存儲(chǔ)管理單元調(diào)用被稱為頁錯(cuò)誤處理程序并向CPU注冊(cè)的特定程序(routine)。由于頁錯(cuò)誤處理模塊430執(zhí)行相應(yīng)于頁錯(cuò)誤處理程序的功能,所以頁錯(cuò)誤處理模塊430必須已經(jīng)向CPU注冊(cè)。MMU控制單元418用于控制調(diào)用注冊(cè)的頁錯(cuò)誤處理模塊430的存儲(chǔ)管理單元500。
諸如“模塊”和“表”的在示例性實(shí)施例中使用的術(shù)語“單元”表示諸如現(xiàn)場(chǎng)可編程門陣列(FPGA)或?qū)S眉呻娐?ASIC)的軟件和硬件組件。所述模塊執(zhí)行功能。然而,這并不是說所述模塊限于軟件或硬件。所述模塊可以被配置為存在于可尋址存儲(chǔ)介質(zhì)中,并且可被配置為在一個(gè)或多個(gè)處理單元上執(zhí)行。例如,所述模塊可包括諸如軟件組件、面向?qū)ο蟮能浖M件、類組件和任務(wù)組件的組件、進(jìn)程、函數(shù)、屬性、程序、子程序、程序代碼段、驅(qū)動(dòng)程序、固件、微碼、電路、數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)結(jié)構(gòu)、表、數(shù)組和參數(shù)。所述組件和模塊提供的功能可用較少量的組件和模塊來組合,或者可被分成另外的組件和模塊。此外,可將所述組件和模塊實(shí)現(xiàn)為在裝置內(nèi)的一個(gè)或多個(gè)CPU上執(zhí)行。
以下將參照?qǐng)D5和圖6來描述執(zhí)行根據(jù)本發(fā)明示例性實(shí)施例的請(qǐng)求調(diào)頁方法的過程。圖5是示出根據(jù)本發(fā)明示例性實(shí)施例的用于嵌入式系統(tǒng)的請(qǐng)求調(diào)頁方法的構(gòu)思的流程圖,圖6是示出初始化請(qǐng)求調(diào)頁管理器的處理的流程圖。
首先,在操作S110,應(yīng)存儲(chǔ)在非易失性存儲(chǔ)裝置300中的應(yīng)用程序的請(qǐng)求,產(chǎn)生請(qǐng)求調(diào)頁窗口100,即,產(chǎn)生請(qǐng)求調(diào)頁的區(qū)域。其后,在操作S120,對(duì)用于處理從請(qǐng)求調(diào)頁窗口100產(chǎn)生的頁錯(cuò)誤的請(qǐng)求調(diào)頁管理器400進(jìn)行初始化,從而激活存儲(chǔ)管理單元500。
將參照?qǐng)D6來詳細(xì)描述以上初始化處理。首先,在操作S122,用戶使用的應(yīng)用程序請(qǐng)求請(qǐng)求調(diào)頁管理器400在虛擬地址空間110中產(chǎn)生請(qǐng)求調(diào)頁窗口100。在這種情況下,應(yīng)用程序?qū)⑿畔⒁平唤o請(qǐng)求調(diào)頁管理器400。也就是說,關(guān)于請(qǐng)求調(diào)頁窗口100占據(jù)的虛擬地址空間110的大小和地址的信息、關(guān)于被請(qǐng)求執(zhí)行請(qǐng)求調(diào)頁的請(qǐng)求調(diào)頁存儲(chǔ)池200A的大小的信息和關(guān)于存儲(chǔ)在非易失性存儲(chǔ)裝置300中的代碼和數(shù)據(jù)的位置的信息被移交。
當(dāng)產(chǎn)生請(qǐng)求調(diào)頁窗口100時(shí),操作系統(tǒng)分配存儲(chǔ)器,并且在操作S124,產(chǎn)生用于請(qǐng)求調(diào)頁窗口100的區(qū)域的存儲(chǔ)器轉(zhuǎn)換表。在操作S126,向CPU注冊(cè)頁錯(cuò)誤處理模塊430,然后在操作S128,激活用于調(diào)用注冊(cè)的頁錯(cuò)誤處理模塊430的存儲(chǔ)管理單元500,從而完成初始化,其中,頁錯(cuò)誤處理模塊430是當(dāng)產(chǎn)生頁錯(cuò)誤中斷時(shí)用于處理頁錯(cuò)誤中斷的處理程序。
同時(shí),在操作S130,當(dāng)初始化處理完成之后在請(qǐng)求調(diào)頁窗口100中產(chǎn)生頁錯(cuò)誤時(shí),使用激活的存儲(chǔ)管理單元500來調(diào)用頁錯(cuò)誤處理模塊430,其中,頁錯(cuò)誤處理模塊430是向CPU注冊(cè)的頁錯(cuò)誤處理程序。
在操作S140,調(diào)用的頁錯(cuò)誤處理模塊430確定是否在請(qǐng)求調(diào)頁窗口100中產(chǎn)生了頁錯(cuò)誤。如果請(qǐng)求調(diào)頁窗口100中產(chǎn)生了頁錯(cuò)誤,那么在操作S150,頁錯(cuò)誤處理模塊430執(zhí)行處理頁錯(cuò)誤的操作。如果沒有在請(qǐng)求調(diào)頁窗口100中而是在另一區(qū)域中產(chǎn)生了頁錯(cuò)誤,那么在操作S160,使用現(xiàn)有的注冊(cè)的頁錯(cuò)誤處理程序來處理頁錯(cuò)誤。
以下更詳細(xì)地描述操作S150。如果請(qǐng)求調(diào)頁窗口100中產(chǎn)生了頁錯(cuò)誤,那么請(qǐng)求調(diào)頁存儲(chǔ)池200A內(nèi)的幀緩沖器220被分配給請(qǐng)求調(diào)頁管理器400,并且頁錯(cuò)誤處理模塊430使用分配的幀緩沖器220從非易失性存儲(chǔ)裝置300中讀取頁。根據(jù)讀取的頁來修改存儲(chǔ)器轉(zhuǎn)換表。以上詳細(xì)描述的非易失性存儲(chǔ)裝置300可以是NAND閃存。
現(xiàn)有技術(shù)的操作系統(tǒng)使用請(qǐng)求調(diào)頁技術(shù)來管理用于進(jìn)程的全部空間,而示例性實(shí)施例中提出的請(qǐng)求調(diào)頁窗口分配應(yīng)用程序使用的物理存儲(chǔ)空間的一部分,因此可以采用請(qǐng)求調(diào)頁技術(shù)??扇缭诂F(xiàn)有技術(shù)的物理存儲(chǔ)器系統(tǒng)中一樣,使用除了請(qǐng)求調(diào)頁窗口的區(qū)域以外的空間。對(duì)于為請(qǐng)求調(diào)頁窗口的區(qū)域設(shè)置的存儲(chǔ)器的部分,使用有限大小的物理存儲(chǔ)器來訪問存儲(chǔ)在大容量的非易失性存儲(chǔ)裝置中的代碼和數(shù)據(jù)。由于應(yīng)用程序起僅對(duì)請(qǐng)求調(diào)頁窗口設(shè)置應(yīng)用程序的全部存儲(chǔ)空間的一部分的主要作用,所以可容易地將代碼分為將在請(qǐng)求調(diào)頁窗口中執(zhí)行的代碼或必須保證快速響應(yīng)時(shí)間的代碼。因此,本請(qǐng)求調(diào)頁技術(shù)還可使用在使用現(xiàn)有技術(shù)的實(shí)時(shí)操作系統(tǒng)的應(yīng)用程序中。
同時(shí),本領(lǐng)域技術(shù)人員會(huì)清楚,本發(fā)明的范圍包括存儲(chǔ)用于在計(jì)算機(jī)上執(zhí)行上述用于嵌入式系統(tǒng)的請(qǐng)求調(diào)頁方法的程序代碼的計(jì)算機(jī)可讀記錄介質(zhì)。
根據(jù)示例性實(shí)施例的用于嵌入式系統(tǒng)的請(qǐng)求調(diào)頁設(shè)備和方法,可存在的優(yōu)點(diǎn)是請(qǐng)求調(diào)頁技術(shù)可以容易地使用在使用不支持請(qǐng)求調(diào)頁的操作系統(tǒng)的系統(tǒng)和缺少操作系統(tǒng)的系統(tǒng)中。此外,根據(jù)示例性實(shí)施例,可以組件形式提供請(qǐng)求調(diào)頁管理器。因此,可在應(yīng)用程序級(jí)而不是操作系統(tǒng)級(jí)自由和直接地控制請(qǐng)求調(diào)頁功能。因此,由于可減小系統(tǒng)對(duì)主存儲(chǔ)器的使用,所以可減少有關(guān)產(chǎn)品的制造成本。然而,實(shí)踐本發(fā)明不需要前述優(yōu)點(diǎn),可以按不脫離本發(fā)明范圍的方式來實(shí)踐本發(fā)明而沒有前述優(yōu)點(diǎn)。
示例性實(shí)施例的效果不限于上述效果,本領(lǐng)域技術(shù)人員從權(quán)利要求中可以清楚地理解以上沒有描述的其它效果。
盡管為示例性的目的公開了本發(fā)明的示例性實(shí)施例,但是本領(lǐng)域技術(shù)人員應(yīng)該理解,在不脫離如權(quán)利要求中所公開的本發(fā)明的精神和范圍的情況下,可以進(jìn)行各種修改、添加和替換。
權(quán)利要求
1.一種用于嵌入式系統(tǒng)的請(qǐng)求調(diào)頁設(shè)備,包括非易失性存儲(chǔ)裝置,存儲(chǔ)配置為通過請(qǐng)求調(diào)頁處理的代碼和數(shù)據(jù);物理存儲(chǔ)器,處理關(guān)于請(qǐng)求頁的信息,所述信息從非易失性存儲(chǔ)裝置讀?。徽?qǐng)求調(diào)頁窗口,產(chǎn)生請(qǐng)求頁錯(cuò)誤,因而使請(qǐng)求調(diào)頁發(fā)生,請(qǐng)求調(diào)頁窗口是存儲(chǔ)在非易失性存儲(chǔ)裝置中的應(yīng)用程序所引用的地址空間的一部分;請(qǐng)求調(diào)頁管理器,處理在請(qǐng)求調(diào)頁窗口中產(chǎn)生的頁錯(cuò)誤。
2.如權(quán)利要求1所述的請(qǐng)求調(diào)頁設(shè)備,其中,物理存儲(chǔ)器的一部分被分配給請(qǐng)求調(diào)頁管理器,請(qǐng)求調(diào)頁管理器產(chǎn)生執(zhí)行請(qǐng)求調(diào)頁的請(qǐng)求調(diào)頁存儲(chǔ)池。
3.如權(quán)利要求2所述的請(qǐng)求調(diào)頁設(shè)備,其中,請(qǐng)求調(diào)頁存儲(chǔ)池包括幀緩沖器,被映射到請(qǐng)求調(diào)頁窗口中的虛擬存儲(chǔ)空間;存儲(chǔ)器轉(zhuǎn)換表,將關(guān)于映射的信息通知給存儲(chǔ)管理單元;幀緩沖器列表,用于管理幀緩沖器。
4.如權(quán)利要求3所述的請(qǐng)求調(diào)頁設(shè)備,其中,請(qǐng)求調(diào)頁管理器包括接口模塊,初始化請(qǐng)求調(diào)頁管理器,并激活存儲(chǔ)管理單元;頁高速緩沖管理模塊,響應(yīng)于接口模塊的請(qǐng)求,對(duì)幀緩沖器和幀緩沖器列表進(jìn)行初始化;頁錯(cuò)誤處理模塊,確定在請(qǐng)求調(diào)頁窗口的區(qū)域中是否產(chǎn)生了激活的存儲(chǔ)管理單元產(chǎn)生的頁錯(cuò)誤,從而處理所述頁錯(cuò)誤。
5.如權(quán)利要求4所述的請(qǐng)求調(diào)頁設(shè)備,其中,接口模塊包括應(yīng)用程序接口,從應(yīng)用程序接收產(chǎn)生請(qǐng)求調(diào)頁窗口的請(qǐng)求和信息;存儲(chǔ)器轉(zhuǎn)換表產(chǎn)生單元,從請(qǐng)求調(diào)頁存儲(chǔ)池向其分配存儲(chǔ)器,并且存儲(chǔ)器轉(zhuǎn)換表產(chǎn)生單元產(chǎn)生用于請(qǐng)求調(diào)頁窗口的區(qū)域的存儲(chǔ)器轉(zhuǎn)換表;頁錯(cuò)誤處理程序安裝單元,將頁錯(cuò)誤處理模塊注冊(cè)在中央處理單元中;存儲(chǔ)管理單元控制單元,控制存儲(chǔ)管理單元調(diào)用注冊(cè)的頁錯(cuò)誤處理模塊。
6.如權(quán)利要求5所述的請(qǐng)求調(diào)頁設(shè)備,其中,從應(yīng)用程序接收的信息包括關(guān)于被請(qǐng)求調(diào)頁窗口占據(jù)的空間的大小和地址的信息、關(guān)于請(qǐng)求調(diào)頁存儲(chǔ)池的大小的信息和關(guān)于存儲(chǔ)在非易失性存儲(chǔ)裝置中的代碼和數(shù)據(jù)的位置的信息。
7.如權(quán)利要求1所述的請(qǐng)求調(diào)頁設(shè)備,其中,所述非易失性存儲(chǔ)裝置是NAND閃存。
8.一種用于嵌入式系統(tǒng)的請(qǐng)求調(diào)頁方法,包括響應(yīng)于存儲(chǔ)在非易失性存儲(chǔ)裝置中的應(yīng)用程序的請(qǐng)求,產(chǎn)生請(qǐng)求調(diào)頁窗口,所述請(qǐng)求調(diào)頁窗口是發(fā)生請(qǐng)求調(diào)頁的區(qū)域;對(duì)用于處理請(qǐng)求調(diào)頁窗口中產(chǎn)生的頁錯(cuò)誤的請(qǐng)求調(diào)頁管理器進(jìn)行初始化,以激活存儲(chǔ)管理單元;當(dāng)請(qǐng)求調(diào)頁窗口中產(chǎn)生頁錯(cuò)誤時(shí),使用激活的存儲(chǔ)管理單元來調(diào)用向中央處理單元注冊(cè)的頁錯(cuò)誤處理模塊;使用調(diào)用的頁錯(cuò)誤處理模塊來確定請(qǐng)求調(diào)頁窗口中是否產(chǎn)生頁錯(cuò)誤;如果請(qǐng)求調(diào)頁窗口中產(chǎn)生了頁錯(cuò)誤,那么通過頁錯(cuò)誤處理模塊來處理頁錯(cuò)誤。
9.如權(quán)利要求8所述的請(qǐng)求調(diào)頁方法,其中,對(duì)請(qǐng)求調(diào)頁管理器進(jìn)行初始化的步驟包括從應(yīng)用程序接收產(chǎn)生請(qǐng)求調(diào)頁窗口的請(qǐng)求和信息;由操作系統(tǒng)分配存儲(chǔ)器,并產(chǎn)生用于請(qǐng)求調(diào)頁窗口的區(qū)域的存儲(chǔ)器轉(zhuǎn)換表;向CPU注冊(cè)頁錯(cuò)誤處理模塊,頁錯(cuò)誤處理模塊在產(chǎn)生頁錯(cuò)誤中斷的情況下被執(zhí)行;激活調(diào)用注冊(cè)的頁錯(cuò)誤處理模塊的存儲(chǔ)管理單元。
10.如權(quán)利要求9所述的請(qǐng)求調(diào)頁方法,其中,所述信息包括關(guān)于請(qǐng)求調(diào)頁窗口占據(jù)的空間的大小和地址的信息、關(guān)于被請(qǐng)求執(zhí)行請(qǐng)求調(diào)頁的存儲(chǔ)器的大小的信息和關(guān)于存儲(chǔ)在非易失性存儲(chǔ)裝置中的代碼和數(shù)據(jù)的位置的信息。
11.如權(quán)利要求9所述的請(qǐng)求調(diào)頁方法,其中,處理頁錯(cuò)誤的步驟包括如果請(qǐng)求調(diào)頁窗口中產(chǎn)生了頁錯(cuò)誤,那么將請(qǐng)求調(diào)頁存儲(chǔ)池內(nèi)的幀緩沖器分配給請(qǐng)求調(diào)頁管理器;頁錯(cuò)誤處理模塊使用幀緩沖器從非易失性存儲(chǔ)裝置讀取頁;根據(jù)讀取的頁來修改存儲(chǔ)器轉(zhuǎn)換表。
12.如權(quán)利要求8所述的請(qǐng)求調(diào)頁方法,其中,所述非易失性存儲(chǔ)裝置是NAND閃存。
13.一種存儲(chǔ)用于執(zhí)行請(qǐng)求調(diào)頁方法的程序代碼的計(jì)算機(jī)可讀記錄介質(zhì),所述方法包括響應(yīng)于存儲(chǔ)在非易失性存儲(chǔ)裝置中的應(yīng)用程序的請(qǐng)求,產(chǎn)生請(qǐng)求調(diào)頁窗口,所述請(qǐng)求調(diào)頁窗口是發(fā)生請(qǐng)求調(diào)頁的區(qū)域;對(duì)用于處理請(qǐng)求調(diào)頁窗口中產(chǎn)生的頁錯(cuò)誤的請(qǐng)求調(diào)頁管理器進(jìn)行初始化,以激活存儲(chǔ)管理單元;當(dāng)請(qǐng)求調(diào)頁窗口中產(chǎn)生頁錯(cuò)誤時(shí),使用激活的存儲(chǔ)管理單元來調(diào)用向中央處理單元注冊(cè)的頁錯(cuò)誤處理模塊;使用調(diào)用的頁錯(cuò)誤處理模塊來確定請(qǐng)求調(diào)頁窗口中是否產(chǎn)生頁錯(cuò)誤;如果請(qǐng)求調(diào)頁窗口中產(chǎn)生了頁錯(cuò)誤,那么通過頁錯(cuò)誤處理模塊來處理頁錯(cuò)誤。
14.如權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其中,對(duì)請(qǐng)求調(diào)頁管理器進(jìn)行初始化的步驟包括從應(yīng)用程序接收產(chǎn)生請(qǐng)求調(diào)頁窗口的請(qǐng)求和信息;由操作系統(tǒng)分配存儲(chǔ)器,并產(chǎn)生用于請(qǐng)求調(diào)頁窗口的區(qū)域的存儲(chǔ)器轉(zhuǎn)換表;向CPU注冊(cè)頁錯(cuò)誤處理模塊,頁錯(cuò)誤處理模塊在產(chǎn)生頁錯(cuò)誤中斷的情況下被執(zhí)行;激活調(diào)用注冊(cè)的頁錯(cuò)誤處理模塊的存儲(chǔ)管理單元。
15.如權(quán)利要求14所述的計(jì)算機(jī)可讀介質(zhì),其中,所述信息包括關(guān)于請(qǐng)求調(diào)頁窗口占據(jù)的空間的大小和地址的信息、關(guān)于被請(qǐng)求執(zhí)行請(qǐng)求調(diào)頁的存儲(chǔ)器的大小的信息和關(guān)于存儲(chǔ)在非易失性存儲(chǔ)裝置中的代碼和數(shù)據(jù)的位置的信息。
16.如權(quán)利要求14所述的計(jì)算機(jī)可讀介質(zhì),其中,處理頁錯(cuò)誤的步驟包括如果請(qǐng)求調(diào)頁窗口中產(chǎn)生了頁錯(cuò)誤,那么將請(qǐng)求調(diào)頁存儲(chǔ)池內(nèi)的幀緩沖器分配給請(qǐng)求調(diào)頁管理器;頁錯(cuò)誤處理模塊使用幀緩沖器從非易失性存儲(chǔ)裝置讀取頁;根據(jù)讀取的頁來修改存儲(chǔ)器轉(zhuǎn)換表。
17.如權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其中,所述非易失性存儲(chǔ)裝置是NAND閃存。
全文摘要
提供了一種用于嵌入式系統(tǒng)的請(qǐng)求調(diào)頁設(shè)備和方法。所述請(qǐng)求調(diào)頁設(shè)備包括非易失性存儲(chǔ)裝置、物理存儲(chǔ)器、請(qǐng)求調(diào)頁窗口和請(qǐng)求調(diào)頁管理器。非易失性存儲(chǔ)裝置存儲(chǔ)通過請(qǐng)求調(diào)頁處理的代碼和數(shù)據(jù)。物理存儲(chǔ)器處理從非易失性存儲(chǔ)裝置讀取的關(guān)于請(qǐng)求頁的信息。請(qǐng)求調(diào)頁窗口產(chǎn)生所述頁錯(cuò)誤,因而使請(qǐng)求調(diào)頁發(fā)生。請(qǐng)求調(diào)頁窗口是存儲(chǔ)在非易失性存儲(chǔ)裝置中的應(yīng)用程序所引用的地址空間的一部分。請(qǐng)求調(diào)頁管理器處理在請(qǐng)求調(diào)頁窗口中產(chǎn)生的頁錯(cuò)誤。
文檔編號(hào)G06F12/08GK1991796SQ20061016925
公開日2007年7月4日 申請(qǐng)日期2006年12月21日 優(yōu)先權(quán)日2005年12月27日
發(fā)明者金曉俊, 印至, 咸?hào)|勛 申請(qǐng)人:三星電子株式會(huì)社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
皋兰县| 建始县| 乌兰浩特市| 孙吴县| 方正县| 霍邱县| 措美县| 天祝| 江门市| 亚东县| 屏东市| 永吉县| 翁牛特旗| 西丰县| 定州市| 南郑县| 乐陵市| 新昌县| 廉江市| 米脂县| 南宫市| 高淳县| 北流市| 库车县| 吴堡县| 昌宁县| 新源县| 白河县| 得荣县| 武定县| 西和县| 永川市| 镇江市| 乌鲁木齐县| 和龙市| 泾源县| 喀喇| 黎川县| 资阳市| 曲松县| 长沙县|