[發明專利]一種用于動態管理片上指令便簽存儲器的方法有效
| 申請號: | 201010178169.8 | 申請日: | 2010-05-14 |
| 公開(公告)號: | CN101853183A | 公開(公告)日: | 2010-10-06 |
| 發明(設計)人: | 王東輝;王紅梅;時磊;張鐵軍;洪纓;侯朝煥 | 申請(專利權)人: | 中國科學院聲學研究所 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F12/06 |
| 代理公司: | 北京法思騰知識產權代理有限公司 11318 | 代理人: | 楊小蓉;高宇 |
| 地址: | 100190 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 用于 動態 管理 指令 便簽 存儲器 方法 | ||
技術領域
本發明涉及一種用于動態管理片上指令便簽存儲器的方法,具體涉及一種用于動態管理片上指令便簽存儲器的方法。
背景技術
在嵌入式系統中,處理器的片上存儲器通常采用SRAM結構,主要分為高速緩存(cache)和便簽存儲器(scratchpad-memory,SPM)兩種類型。便簽存儲器是一種快速的、由編譯器進行管理的片上存儲器,它和高速緩存相比在實時性、功耗和面積上都有很大的優勢,因此便簽存儲器更加適合嵌入式系統的需要。
現有的指令便簽存儲器的管理策略,采用靜態管理的模式,即在程序運行前,指令便簽存儲器的內容已經被分配好,而且在程序執行的過程中,其內容保持不變。對于嵌入式應用而言靜態管理模式下的便簽存儲器性能優于Cache,然而卻無法適應應用程序的動態特性,沒有靈活性。
發明內容
本發明的目的在于,為克服針對傳統靜態指令便簽存儲器無法適應程序動態特性的不足,提出了一種用于動態管理片上指令便簽存儲器的方法。
本發明提出的一種用于動態管理片上指令便簽存儲器的方法,該方法用于對片上便簽存儲器的內容進行動態管理,所述的方法包含如下步驟:
1)對高級語言源程序進行基于典型輸入的剖面分析,得到應用程序的執行剖面信息;
2)對源程序進行控制流分析,得到程序的控制流圖;
3)根據得到的程序剖面信息和控制流圖,對應用程序進行分析,識別程序中的候選程序遷移點;
4)根據得到的候選程序遷移點,再結合相關參數建立收益模型,針對不同候選程序遷移點計算將程序基本塊進行動態遷移所獲得的初始性能收益;
5)根據得到的基本塊的初始性能收益,同時考慮若干因素,決定是否進行程序塊的動態遷移;
6)根據做出的遷移方案,在程序遷移點處插入控制程序塊遷移的指令,將程序塊從片外傳輸到片上;
7)對源程序進行二次編譯,得到源程序對應的匯編程序進行匯編,并和其他經過編譯的應用程序、庫函數進行鏈接,最終得到動態利用片上指令便簽存儲器的二進制可執行文件。
上述技術方案,步驟1)所述的程序的執行剖面信息包括:程序基本塊的大小、執行的次數或分支頻率。
上述技術方案,步驟3)所述的識別程序遷移點的類型包含:函數開始、循環入口處和循環結束處。循環入口前后的程序局部性發生明顯的變化,并且循環體的執行頻率遠高于循環入口處及以前的代碼的執行頻率,因而動態遷移操作的開銷能夠被補償;算法在函數入口點和循環結束處的程序點可以利用連續串行執行的基本塊特點,補償動態遷移操作開銷,進而獲得更大的收益。其中,步驟3)所述的識別程序遷移點的步驟,具體的考慮因素包含:
在程序遷移點之后,程序基本塊執行的局部性發生明顯變化,并且程序遷移點的執行頻率小于被遷移程序基本塊的執行頻率,這樣動態遷移操作的開銷才能通過被遷移程序塊所獲得的收益獲得補償。
上述技術方案,步驟4)所述的相關參數包含:程序基本塊的大小、將程序放在片上便簽存儲器時獲得的收益和將程序進行動態遷移的額外開銷,其中,所述的收益和開銷,能夠通過運行時間、功耗、或面積以及三者結合綜合考慮衡量得到。
上述技術方案,步驟5)所述的若干因素包含:便簽存儲器的可用空閑存儲空間、程序基本塊的生存期和遷移操作的開銷;且步驟5)所述的動態遷移之前能進行優化步驟,該步驟為:將連續的程序基本塊進行合并后再遷移,或將當前生存的程序基本塊覆蓋便簽存儲器中已經死亡的基本塊。即當當程序塊不在生存的時候,可以被當前生存的程序塊覆蓋;片上便簽存儲器的可用空閑存儲空間,當剩余存儲空間不多的時候,可以盡量放一些小的程序基本塊來提升便簽存儲器的利用率。
上述技術方案,步驟6)所述的動態遷移操作,通過逐條指令讀寫存儲器的方式完成,或通過直接存儲器訪問的方式來完成。其中,動態遷移操作的實現方式,會影響步驟4)收益模型。
本發明的優點在于,建立了多種候選程序遷移點模型,并根據需要建立針對性能、功耗等多種目的的收益模型,同時在動態塊遷移過程中考慮到了程序塊生存期、剩余存儲空間大小、遷移操作的開銷等因素,利用存儲器讀寫操作或者直接存儲訪問等多種方式進行動態程序塊遷移,最終達到了高效、動態管理片上指令便簽存儲器的目的。該方法能夠達到提升嵌入式系統性能、降低嵌入式系統功耗等目的。
附圖說明
圖1給出了本發明的一種用于動態管理片上指令便簽存儲器的方法的詳細流程圖。
具體實施方式
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院聲學研究所,未經中國科學院聲學研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010178169.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:數據處理系統、控制器及其搜尋特定內存區的方法
- 下一篇:磁盤陣列處理方法





