[發明專利]用于優化存儲器中軟件功能的配置的方法和軟件有效
| 申請號: | 200680031690.0 | 申請日: | 2006-08-30 |
| 公開(公告)號: | CN101253479A | 公開(公告)日: | 2008-08-27 |
| 發明(設計)人: | T·里特佐;R·莫勒 | 申請(專利權)人: | 索尼愛立信移動通訊股份有限公司 |
| 主分類號: | G06F9/45 | 分類號: | G06F9/45 |
| 代理公司: | 中國專利代理(香港)有限公司 | 代理人: | 王慶海;劉春元 |
| 地址: | 瑞典*** | 國省代碼: | 瑞典;SE |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 優化 存儲器 軟件 功能 配置 方法 | ||
技術領域
本發明涉及用于優化計算裝置的存儲器中的軟件功能的配置(positioning)的方法和相應的軟件程序。在許多其中執行程序或軟件代碼和/或處理任意類型數據的計算裝置中,數據、信息、軟件代碼等的主存儲介質與運行存儲裝置結合使用,軟件代碼和/或信息當所述運行存儲裝置正在運行時存儲在所述工作存儲裝置中。主存儲裝置例如是硬盤或者類似物,而主工作裝置例如是RAM(隨機訪問存儲器)。在硬盤中,即使當計算裝置關閉時,所存儲的軟件代碼和信息也保持存儲狀態,然而RAM在在計算機關閉后被清空。在數據處理和/或軟件代碼執行期間,因為RAM允許在所述RAM的任何區域以相同的速度尋址所存儲的軟件代碼和信息,所以通常使用RAM執行這種處理。
背景技術
在任何類型計算裝置中,會發生所需RAM空間比可用RAM空間更多的情況。因為較大RAM比較小RAM昂貴很多,并且需要比可用空間更多的RAM空間的情況并不是經常出現,所以引入了虛擬存儲器的概念。這種思想主要是將來自RAM的軟件代碼或數據復制到次級存儲器以騰出空間用于從所述次級存儲器加載回來的其它軟件代碼或數據。因此,所述次級存儲器可以是計算裝置中諸如硬盤之類的主存儲介質或者計算機裝置中可用的任何其它適當的存儲器或存儲裝置的。虛擬存儲器的一般性概念在圖1中展示。這里,邏輯(或虛擬)存儲器1具有比物理存儲器2更大的存儲空間,所述物理存儲器2例如是RAM。應用程序3a,3b,3c在邏輯存儲器1中具有地址數據,這些地址數據轉換(地址轉換4)到物理存儲器2中的數據或軟件代碼的“實際”地址。這種地址數據或軟件的轉換對于應用程序是完全透明的。
如前面陳述的,虛擬或邏輯存儲器1比物理存儲器2更大,而次級存儲器用作沒有放置在主工作存儲器中的數據或軟件代碼的備份,所述主工作存儲器通常是所提到的RAM。
虛擬存儲器的概念也被用作-實質上直接-從諸如NAND閃存和硬盤驅動器的原地非執行部分(XiP)設備執行軟件代碼,這意味著應用程序或軟件代碼不需要處理任何來自于次級存儲器的加載操作,因為這是由系統代碼自動處理。
通常,有兩種主要類型的虛擬存儲系統,即其中邏輯和物理存儲器分成相等尺寸頁的分頁系統,和塊具有可變尺寸的分段系統。出于簡化理解的目的,在以下描述中將僅僅使用分頁系統的術語,但是應該明確的是本發明也適用于分段系統。
如果邏輯或虛擬存儲器空間比物理存儲器空間大,可能發生下述情況,訪問包含所需數據或軟件代碼的所需頁,而此所需頁在物理存儲器中得不到。當發生此種情況時,就發生了所謂的頁面失效。由系統處理此情況,并且這是通過在邏輯存儲器中查找空白頁開始的。如果沒有找到這樣的空白頁,它選擇一個需要卸載的犧牲數據(victim?data)或軟件代碼塊。如果犧牲頁(victim?page)中的數據在之前因為一些處理已經改變了,它必須按次序寫回到次級存儲器以保存這些變化,否則它將被簡單地覆蓋。下一步是將所需的數據或軟件代碼從次級存儲器復制到主存儲器中,即RAM,并且更新地址轉換數據。最后,系統將轉換地址數據返回給應用程序,所述應用程序在略有延遲后重新開始執行。
虛擬存儲概念的優點是無需提供更大的物理存儲裝置就能夠獲得更大的存儲空間以及可能透明地執行來自non-XiP存儲器的應用程序。其缺點是前面描述的頁失效所導致的延遲。頁失效發生的次數主要依賴于邏輯和物理存儲器的大小、選擇犧牲頁的算法以及數據和代碼的設計。
現有技術中已有一些通過重新排列次級存儲器中的軟件代碼以使得頁失效較少發生來降低頁失效發生率的嘗試。例如,在ACM出版社于1990年出版的關于編程語言設計和應用(Conference?on?Programming?Language?Design?andImplementation)的ACM?SIGPLAN1990會議的會議論文中,K.Pettis,R.Hansen在論文“Profile?Guided?Code?Positioning”中提出了一種形成此技術領域參考標準的算法。由Pettes和Hansen提出的此方法是基于“最近即最好(closest?is?best)”的原則。換句話說,經常相互調用的軟件代碼或軟件功能應該在代碼的最終版本中被最終配置為彼此相鄰。這增加了它們被放置在相同RAM頁(或段)中的機會,從而減少了運行集的大小并相應減少了頁失效的次數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于索尼愛立信移動通訊股份有限公司,未經索尼愛立信移動通訊股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200680031690.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種高鉻錳鑄鐵軋輥及其制備方法
- 下一篇:用于低合金結構鋼零件的阻滲涂料





