[發明專利]面向重放機制的緩存操作方法及裝置有效
| 申請號: | 201310746996.6 | 申請日: | 2013-12-30 |
| 公開(公告)號: | CN103744800A | 公開(公告)日: | 2014-04-23 |
| 發明(設計)人: | 王佳;陳云霽;尹夕振 | 申請(專利權)人: | 龍芯中科技術有限公司 |
| 主分類號: | G06F12/08 | 分類號: | G06F12/08;G06F11/36 |
| 代理公司: | 北京匯澤知識產權代理有限公司 11228 | 代理人: | 張瑾 |
| 地址: | 100095 北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 面向 重放 機制 緩存 操作方法 裝置 | ||
技術領域
本發明涉及程序重放領域,特別是一種面向重放機制的緩存操作方法及裝置。
背景技術
程序重放是一種常見的應用,在程序調試(特別是并行程序的調試)、錯誤容忍和特征分析等領域有著極為重要的作用。
目前,程序重放機制只是在內存層面對于內存的訪存(load/store)行為有記錄,相對于內存而言,緩存的速度對于數據訪問存儲和指令操作具有明顯的速度上的優勢,但是緩存的大小相比之下又非常小,如何提高程序重放過程中數據訪存緩存的命中率是亟需解決的問題。
現有的程序重放機制在記錄緩存行為時僅僅是簡單的歷史訪存操作記錄,由于緩存的容量有限,在程序重放過程中發生緩存操作且該訪存操作未命中緩存時,在緩存仍然有空閑的情況下直接將訪存操作對應的內存行以緩存行的形式存儲到緩存中,在緩存已滿的情況下,將符合替換策略(如先進先出策略、最后最近使用型策略)的緩存行踢出所述緩存使得緩存空閑進而使得訪存操作對應的內存行以緩存行的形式存儲到緩存中。
在實現本發明實施例的過程中,發明人發現完整的程序中可能需要對某一內存行進行多次的訪存操作,由于簡單的替換策略使得訪存操作需要多次訪問的內存行可能被重復的存儲到緩存中并被多次的從緩存中踢出,進而不能保證程序在重放時緩存命中率的穩定性更不能保證重放機制中程序重放時緩存命中率優于程序初次運行的緩存命中率。
發明內容
本發明的目的在于提供一種面向重放機制的緩存操作方法及裝置,保證了程序在重放時緩存命中率的穩定性,并進一步保證了重放機制中程序重放時緩存命中率優于程序初次運行的緩存命中率。
一方面,本發明實施例提供了一種面向重放機制的緩存操作方法,用于面向重放機制的緩存,所述面向重放機制的緩存包括緩存數據區和緩存池,所述緩存數據區用于存放當前運行的程序根據訪存指令生成的第一類型緩存行,所述緩存池用于存放歷史緩存行,所述第一類型緩存行包括標示TAG信息、局部唯一標識信息以及訪存指令需要訪存的數據,所述歷史緩存行包括程序初次運行過程中被替換出來的第一類型緩存行的TAG信息和局部唯一標識信息,所述方法,包括:
在初次運行程序的過程中,當緩存行池中存在與第一緩存行匹配的歷史緩存行時,根據所述與第一緩存行匹配的歷史緩存行生成替換信息并將所述第一緩存行中的局部唯一標識信息替換與所述第一緩存行匹配的歷史緩存行中的局部唯一標識信息保存在與第一緩存行匹配的歷史緩存行中,其中,所述第一緩存行為每當接收到訪存指令且該訪存指令未命中已存滿的緩存數據區時生成的第一類型緩存行所述替換信息包括與第一緩存行匹配的歷史緩存行中的TAG信息和局部唯一標識信息;
在重放程序的過程中,當存在與第二緩存行匹配的替換信息時,將所述第二緩存行保存到輔助緩存中,所述第二緩存行為程序重放過程中每當接收到訪存指令且該訪存指令既未命中已存滿緩存數據區也未命中所述輔助緩存時被替換出來的第一類型緩存行。
另一方面,本發明實施例還提供了一種面向重放機制的緩存操作裝置,用于面向重放機制的緩存,所述面向重放機制的緩存包括緩存數據區和緩存池,所述緩存數據區用于存放當前運行的程序根據訪存指令生成的第一類型緩存行,所述緩存池用于存放歷史緩存行,所述第一類型緩存行包括標示TAG信息、局部唯一標識信息以及訪存指令需要訪存的數據,所述歷史緩存行包括程序初次運行過程中被替換出來的第一類型緩存行的TAG信息和局部唯一標識信息,所述裝置,包括:
第一生成單元,用于在初次運行程序的過程中,當緩存行池中存在與第一緩存行匹配的歷史緩存行時,根據所述與第一緩存行匹配的歷史緩存行生成替換信息并將所述第一緩存行中的局部唯一標識信息替換與所述第一緩存行匹配的歷史緩存行中的局部唯一標識信息保存在與第一緩存行匹配的歷史緩存行中,其中,所述第一緩存行為每當接收到訪存指令且該訪存指令未命中已存滿的緩存數據區時生成的第一類型緩存行所述替換信息包括與第一緩存行匹配的歷史緩存行中的TAG信息和局部唯一標識信息;
第一執行單元,用于在重放程序的過程中,當第一生成單元生成的替換信息中存在與第二緩存行匹配的替換信息時,將所述第二緩存行保存到輔助緩存中,所述第二緩存行為程序重放過程中每當接收到訪存指令且該訪存指令既未命中已存滿緩存數據區也未命中所述輔助緩存時被替換出來的第一類型緩存行。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于龍芯中科技術有限公司,未經龍芯中科技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310746996.6/2.html,轉載請聲明來源鉆瓜專利網。





