實例中,客戶端可執(zhí)行駐留檢查。
[0101] 在一些實例中,存儲器控制器8、GPU 12或其它處理器可在對非駐留頁的存取是寫 入且非駐留頁不應該導致頁錯誤時中斷寫入(556)。在一些實例中,所述寫入可為中斷的, 這是因為未提供用于所述非駐留頁的存儲器。
[0102]圖6是說明根據(jù)本發(fā)明中所描述的一或多個實例的實例方法的流程圖。存儲器控 制器8、GPU 12或其它處理器可存取非駐留頁(650)。非駐留頁的地址可指向含有默認值的 存儲器頁。含有默認值的所述存儲器頁也可被稱作虛擬頁且被稱為含有虛擬值。這些虛擬 可指示頁是否為駐留的。例如,在存取虛擬頁時,讀取請求的字節(jié)地址可映射到虛擬頁中且 將返回存儲在那里的值(例如)以替代0x0,除非其為虛擬值。
[0103] 存儲器控制器8、GPU 12或其它處理器可接收存儲器讀取未翻譯的返回的指示且 在存儲器控制器8、GPU 12或其它處理器可嘗試存取非駐留頁時返回默認值(652)。此可例 如在存儲器控制器8、GPU 12或其它處理器嘗試從非駐留頁的讀取時發(fā)生。非駐留頁不應該 導致頁錯誤。對頁的讀取可正常進行。這是因為適當?shù)哪J值將已經(jīng)寫入到虛擬頁且這些 值將由嘗試存取非駐留頁的系統(tǒng)讀取。在虛擬地址不映射到物理地址時存儲器讀取不翻 譯。
[0104] 在對所述非駐留頁的所述存取是寫入且非駐留頁不應該導致頁錯誤時,存儲器控 制器8、GPU 12或其它處理器可中斷寫入或在一些情況下,存儲器自身可中斷寫入(654)。在 一些情況下,然而,如果出現(xiàn)對這些非駐留頁中的任一者的寫入,那么其將覆寫默認值。因 此,如果允許寫入繼續(xù),那么將不能夠依賴虛擬頁始終返回正確的默認值。
[0105] 本發(fā)明中所描述的技術可至少部分實施于硬件、軟件、固件或其任何組合中。舉例 來說,所描述技術的各種方面可實施于一或多個處理器中,包含一或多個微處理器、數(shù)字信 號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA),或任何其它等效集成或 離散邏輯電路,以及此類組件的任何組合。術語"處理器"或"處理電路"可大體上指前述邏 輯電路中的任一者(單獨或結合其他邏輯電路)或例如執(zhí)行處理的離散硬件的任何其它等 效電路。
[0106]此硬件、軟件和固件可實施于相同裝置內(nèi)或單獨裝置內(nèi)以支持本發(fā)明中所描述的 各種操作和功能。另外,所描述單元、模塊或組件中的任一者可一起或單獨作為離散但可互 操作邏輯裝置而實施。將不同特征描述為模塊或單元意圖強調(diào)不同功能方面且未必暗示此 類模塊或單元必須由單獨硬件或軟件組件實現(xiàn)。而是,與一或多個模塊或單元相關聯(lián)的功 能性可由單獨硬件、固件和/或軟件組件執(zhí)行,或整合到共用或單獨硬件或軟件組件內(nèi)。
[0107] 本發(fā)明中所描述的技術也可存儲、體現(xiàn)或編碼于計算機可讀媒體(例如,存儲指令 的計算機可讀存儲媒體)中。嵌入或編碼于計算機可讀媒體中的指令可導致一或多個處理 器執(zhí)行本文中所描述的技術(例如,當由一或多個處理器執(zhí)行指令時)。計算機可讀存儲媒 體可包含隨機存取存儲器(RAM)、只讀存儲器(R0M)、可編程只讀存儲(PR0M)、可擦除可編程 只讀存儲器(EPROM)、電可擦除可編程只讀存儲器(EEPR0M)、快閃存儲器、硬盤、CD-ROM、軟 盤、盒式磁帶、磁性媒體、光學媒體或其它有形計算機可讀存儲媒體。
[0108] 計算機可讀媒體可包含計算機可讀存儲媒體,其對應于例如上文所列的有形存儲 媒體的有形存儲媒體。計算機可讀媒體也可包括通信媒體,其包含促進計算機程序從一個 地點到另一地點的傳送(例如,根據(jù)通信協(xié)議)的任何媒體。以此方式,短語"計算機可讀媒 體"大體上可對應于(1)非暫時性有形計算機可讀存儲媒體和(2)例如暫時性信號或載波的 非有形計算機可讀通信媒體。
[0109]已描述各種方面和實例。然而,可在不脫離以下權利要求的范圍的情況下對本發(fā) 明的結構或技術作出修改。
【主權項】
1. 一種處理非駐留頁的方法,其包括: 嘗試存取所述非駐留頁,所述非駐留頁的地址指向含有默認值的存儲器頁; 基于檢查指示所述非駐留頁不應該產(chǎn)生頁錯誤的指示符而確定所述非駐留頁不應該 導致頁錯誤;及 返回存儲器讀取未翻譯的指示,且在對所述非駐留頁的所述存取是讀取且所述非駐留 頁不應該導致頁錯誤時返回所述默認值。2. 根據(jù)權利要求1所述的方法,其中所述指示符包括位或旗標。3. 根據(jù)權利要求1所述的方法,其進一步包括在返回所述默認值時執(zhí)行駐留檢查。4. 根據(jù)權利要求1所述的方法,其中所述存取包括對部分駐留的紋理的讀取。5. 根據(jù)權利要求4所述的方法,其進一步包括在所述讀取是對非駐留頁時讀取不同粗 糙水平的所述部分駐留的紋理。6. 根據(jù)權利要求1所述的方法,其中嘗試所述存取包括嘗試對所述非駐留頁的存取以 用于色彩緩沖。7. -種處理非駐留頁的方法,其包括: 嘗試存取所述非駐留頁,所述非駐留頁的地址指向含有默認值的存儲器頁; 返回存儲器讀取未翻譯的指示,且在對所述非駐留頁的所述存取是讀取且所述非駐留 頁不應該導致頁錯誤時返回所述默認值;及 在對所述非駐留頁的所述存取是寫入且所述非駐留頁不應該導致頁錯誤時中斷寫入。8. 根據(jù)權利要求7所述的方法,其進一步包括將頁表中的地址與含有默認值的所述存 儲器頁的地址值進行比較以確定所述物理地址是否與含有默認值的所述存儲器頁的所述 地址值相同。9. 根據(jù)權利要求8所述的方法,其中含有默認值的所述存儲器頁的所述地址值存儲在 寄存器中;且 基于存儲在所述寄存器中的所述默認值與含有默認值的所述存儲器頁的所述地址值 之間的匹配而確定正被存取的頁是非駐留的。10. 根據(jù)權利要求7所述的方法,其中所述默認值指示頁是駐留或非駐留的。11. 根據(jù)權利要求7所述的方法,其進一步包括在稍后需要從中斷的寫入丟失的數(shù)據(jù)的 情況下重新計算所述數(shù)據(jù)。12. -種用于處理非駐留頁的設備,其包括: 處理器,其經(jīng)配置以: 嘗試存取所述非駐留頁,所述非駐留頁的地址指向含有默認值的存儲器頁; 基于檢查指示所述非駐留頁不應該產(chǎn)生頁錯誤的指示符而確定所述非駐留頁不應該 導致頁錯誤;及 返回存儲器讀取未翻譯的指示,且在對所述非駐留頁的所述存取是讀取且所述非駐留 頁不應該導致頁錯誤時返回所述默認值。13. 根據(jù)權利要求12所述的方法,其中所述指示符包括位或旗標。14. 根據(jù)權利要求12所述的設備,其中所述處理器進一步經(jīng)配置以在返回默認值時執(zhí) 行駐留檢查。15. 根據(jù)權利要求12所述的設備,其中,為嘗試存取存取所述非駐留頁,所述處理器進 一步經(jīng)配置以執(zhí)行對部分駐留的紋理的讀取。16. 根據(jù)權利要求15所述的設備,其中所述處理器進一步經(jīng)配置以在所述讀取是對非 駐留頁時讀取不同粗糙水平的所述部分駐留的紋理。17. 根據(jù)權利要求12所述的設備,其中,為嘗試存取所述非駐留頁,所述處理器進一步 經(jīng)配置以存取所述非駐留頁以用于色彩緩沖。18. -種用于處理非駐留頁的設備,其包括: 處理器,其經(jīng)配置以: 嘗試存取所述非駐留頁,所述非駐留頁的地址指向含有默認值的存儲器頁; 返回存儲器讀取未翻譯的指示,且在對所述非駐留頁的所述存取是讀取且所述非駐留 頁不應該導致頁錯誤時返回所述默認值;及 在對所述非駐留頁的所述存取是寫入且所述非駐留頁不應該導致頁錯誤時中斷寫入。19. 根據(jù)權利要求18所述的設備,其中所述處理器進一步經(jīng)配置以將頁表中的地址與 含有默認值的所述存儲器頁的地址值進行比較以確定所述物理地址是否與含有默認值的 所述存儲器頁的所述地址值相同。20. 根據(jù)權利要求19所述的設備,其中含有默認值的所述存儲器頁的所述地址值存儲 在寄存器中;且其中所述處理器進一步經(jīng)配置以基于存儲在所述寄存器中的所述默認值與 含有默認值的所述存儲器頁的所述地址值之間的匹配而確定正被存取的頁是非駐留的。21. 根據(jù)權利要求18所述的設備,其中所述默認值指示頁是駐留或非駐留的。22. 根據(jù)權利要求18所述的設備,其中所述處理器進一步經(jīng)配置以在稍后需要從中斷 的寫入丟失的數(shù)據(jù)的情況下重新計算所述數(shù)據(jù)。23. -種用于處理非駐留頁的設備,其包括: 用于嘗試存取所述非駐留頁的裝置,所述非駐留頁的地址指向含有默認值的存儲器 頁; 用于基于所述裝置檢查指示所述非駐留頁不應該產(chǎn)生頁錯誤的指示符而確定所述非 駐留頁不應該導致頁錯誤的裝置;及 用于在對所述非駐留頁的所述存取是讀取且所述非駐留頁不應該導致頁錯誤時返回 默認值的裝置。24. 根據(jù)權利要求23所述的設備,其中所述指示符包括位或旗標。25. 根據(jù)權利要求23所述的設備,其進一步包括用于在返回默認值時執(zhí)行駐留檢查的 裝置。26. -種用于向客戶端告知頁是非駐留頁的設備,其包括: 用于存取非駐留頁的裝置,所述非駐留頁的地址指向含有默認值的存儲器頁; 用于返回存儲器讀取未翻譯的指示的裝置,及用于在對所述非駐留頁的所述存取是讀 取且所述非駐留頁不應該導致頁錯誤時返回所述默認值的裝置;及 用于在對所述非駐留頁的所述存取是寫入且所述非駐留頁不應該導致頁錯誤時中斷 寫入的裝置。27. 根據(jù)權利要求26所述的設備,其進一步包括用于將頁表中的地址與含有默認值的 所述存儲器頁的地址值進行比較以確定所述物理地址是否與含有默認值的所述存儲器頁 的所述地址值相同的裝置。28. 根據(jù)權利要求27所述的設備,用于存儲含有默認值的所述存儲器頁的所述地址值 的寄存器裝置;及 用于基于存儲在所述寄存器裝置中的所述默認值與含有默認值的所述存儲器頁的所 述地址值之間的匹配而確定正被存取的頁是非駐留的裝置。29. 根據(jù)權利要求26所述的設備,其進一步包括用于在稍后需要從中斷的寫入丟失的 數(shù)據(jù)的情況下重新計算所述數(shù)據(jù)的裝置。30. -種存儲指令的非暫時性計算機可讀存儲媒體,所述指令在由一或多個處理器執(zhí) 行后致使所述一或多個處理器: 嘗試存取非駐留頁,所述非駐留頁的地址指向含有默認值的存儲器頁; 基于檢查指示所述非駐留頁不應該產(chǎn)生頁錯誤的指示符而確定所述非駐留頁不應該 導致頁錯誤;及 返回存儲器讀取未翻譯的指示,且在對所述非駐留頁的所述存取是讀取且所述非駐留 頁不應該導致頁錯誤時返回所述默認值。31. -種存儲指令的非暫時性計算機可讀存儲媒體,所述指令在由一或多個處理器執(zhí) 行后致使所述一或多個處理器: 嘗試存取非駐留頁,所述非駐留頁的地址指向含有默認值的存儲器頁; 返回存儲器讀取未翻譯的指示,且在對所述非駐留頁的所述存取是讀取且所述非駐留 頁不應該導致頁錯誤時返回所述默認值;及 在對所述非駐留頁的所述存取是寫入且所述非駐留頁不應該導致頁錯誤時中斷寫入。
【專利摘要】本發(fā)明提供用以處理非駐留頁的系統(tǒng)和方法,其可包含:嘗試存取所述非駐留頁,所述非駐留頁的地址指向含有默認值的存儲器頁;基于指示特定非駐留頁不應該產(chǎn)生頁錯誤的指示符而確定所述非駐留頁不應該導致頁錯誤;返回存儲器讀取未翻譯的指示且在對所述非駐留頁的所述存取是讀取且所述非駐留頁不應該導致頁錯誤時返回所述默認值。另一實例可在對所述非駐留頁的所述存取是寫入且所述非駐留頁不應該導致頁錯誤時中斷寫入。
【IPC分類】G06F12/08, G06T1/60, G06F12/1009
【公開號】CN105556487
【申請?zhí)枴緾N201480052005
【發(fā)明人】D·A·戈特沃爾特, T·E·弗里辛格, A·E·格魯貝爾, E·德默斯, C·C·夏普
【申請人】高通股份有限公司
【公開日】2016年5月4日
【申請日】2014年8月27日
【公告號】US20150089146, WO2015047642A1