[發明專利]處理信息的方法及其裝置有效
| 申請號: | 201310259561.9 | 申請日: | 2013-06-26 |
| 公開(公告)號: | CN103345392B | 公開(公告)日: | 2017-02-22 |
| 發明(設計)人: | 周巍 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 北京龍雙利達知識產權代理有限公司11329 | 代理人: | 毛威,張亮 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 處理 信息 方法 及其 裝置 | ||
技術領域
本發明實施例涉及計算機領域,并且更具體地,涉及處理信息的方法及其裝置。
背景技術
在目前的編譯技術中,常用的函數調用方式通過棧來實現參數和返回值傳遞,具體而言,當調用函數需要向被調函數傳遞參數時,調用函數從被調函數的棧空間開始位置起逐個存入參數內容,相應地,被調函數從自己的棧空間開始位置起寫入傳遞給它的參數,并在寄存器中對該參數內容執行操作,這種方式的實現需要額外增加讀寫指令,同時由于寄存器和棧之間的存取操作時延較大,會使得系統性能消耗較大。
由于上述完全用棧來傳參的方式效率較低,為此使用寄存器來傳參成為了一種新的方式,滑窗機制是一種在兼顧成本的情況下通過寄存器傳遞參數的方式,比如tensalica公司的芯片,它提供了32個通用物理寄存器,依次編號為A0-A31,而在匯編代碼中直接操作的只有16個寄存器,稱為初始窗口。初始窗口的16個寄存器依次編號為a0-a15,該a0-a15可稱為邏輯寄存器,當父函數調用子函數時,需要進行窗口滑動,每次滑動的寄存器數固定,例如4和8,分別被稱作call4和call8調用。以call8調用為例,當父函數通過call8指令調用子函數時,父函數中的a0-a7是子函數不能訪問到的,這樣,這8個寄存器就不需要由父函數或者子函數顯式的壓棧保存,窗口劃動后自然對這8個寄存器進行保護,其中,a0-a3寄存器稱為父函數的基本寄存器,a4-a7寄存器為子函數的擴展寄存器;對父函數的a8-a15,在窗口劃動后又變成了子函數窗口的a0-a7寄存器,這部分寄存器(稱為滑動寄存器)的內容直接被子函數看到,因此可以用他們來存儲一些函數間傳遞用到的參數。這樣避免了將參數保存到棧傳遞導致的存儲時間耗費。
雖然滑窗機制能減少對棧空間的存取操作,然而,在現有技術中,當編譯器配置完成后,使用該編譯器編譯的所有函數均采用默認的劃窗長度,且此默認劃窗長度在任何情況下都是固定不變的。因此,當該默認劃窗長度較大時,例如,8或12,當函數調用次數大到一定深度的時候,就會不斷的產生溢出,導致我們并不能從滑窗機制中獲取好處。而當該默認劃窗長度較小時,例如4,雖然減少了溢出的概率,但是當函數調用不會產生溢出時,與較大的劃窗長度相比,較小的劃窗長度增加了存入棧中寄存器的個數,因而增加了程序運行時延。因此,現有技術中采用固定的劃窗長度使得處理信息過程中還會由于存取數據耗費時間,函數的運行速率較慢,對內存空間的利用率和系統的整體性能較差。
發明內容
本發明實施例提供了一種處理信息的方法及其裝置,能夠解決現有技術中由于固定的劃窗長度而造成的存取數據的時間耗費。
第一方面,提供了一種處理信息的方法,包括:確定待編譯函數的目標劃窗長度,該目標劃窗長度不等于該待編譯函數的初始劃窗長度;根據該目標劃窗長度,確定該待編譯函數的匯編代碼。
結合第一方面,在第一種可能的實現方式中,該確定待編譯函數的目標劃窗長度,該目標劃窗長度不等于該待編譯函數的初始劃窗長度,包括:根據用于指示該待編譯函數的劃窗長度的用戶編譯指令,確定該待編譯函數的目標劃窗長度,該目標劃窗長度不等于該待編譯函數的初始劃窗長度。
結合第一方面,在第二種可能的實現方式中,該確定待編譯函數的目標劃窗長度,該目標劃窗長度不等于該待編譯函數的初始劃窗長度,包括:獲取該待編譯函數的函數調用信息;根據該函數調用信息,確定該目標劃窗長度,該目標劃窗長度不等于該待編譯函數的初始劃窗長度。
結合第一方面或結合第一方面的第一種或第二種可能的實現方式,在第三種可能的實現方式中,該根據該目標劃窗長度,確定該待編譯函數的匯編代碼,包括:根據該目標劃窗長度,進行寄存器分配;根據該寄存器分配和該目標劃窗長度,生成該待編譯函數的匯編代碼。
結合第一方面的第三種可能的實現方式,在第四種可能的實現方式中,該根據該寄存器分配和該目標劃窗長度,生成該待編譯函數的匯編代碼,包括:調整該待編譯函數的調用指令,使得該待編譯函數的劃窗長度為該目標劃窗長度。
結合第一方面或結合第一方面的第一種或第二種可能的實現方式,在第五種可能的實現方式中,該根據該目標劃窗長度,確定該待編譯函數的匯編代碼,包括:根據該初始劃窗長度,生成該待編譯函數的初始匯編代碼;調整該初始匯編代碼以獲得目標匯編代碼,使得該目標匯編代碼中該待編碼函數的劃窗長度為該目標劃窗長度。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310259561.9/2.html,轉載請聲明來源鉆瓜專利網。
- 信息記錄介質、信息記錄方法、信息記錄設備、信息再現方法和信息再現設備
- 信息記錄裝置、信息記錄方法、信息記錄介質、信息復制裝置和信息復制方法
- 信息記錄裝置、信息再現裝置、信息記錄方法、信息再現方法、信息記錄程序、信息再現程序、以及信息記錄介質
- 信息記錄裝置、信息再現裝置、信息記錄方法、信息再現方法、信息記錄程序、信息再現程序、以及信息記錄介質
- 信息記錄設備、信息重放設備、信息記錄方法、信息重放方法、以及信息記錄介質
- 信息存儲介質、信息記錄方法、信息重放方法、信息記錄設備、以及信息重放設備
- 信息存儲介質、信息記錄方法、信息回放方法、信息記錄設備和信息回放設備
- 信息記錄介質、信息記錄方法、信息記錄裝置、信息再現方法和信息再現裝置
- 信息終端,信息終端的信息呈現方法和信息呈現程序
- 信息創建、信息發送方法及信息創建、信息發送裝置





