[發明專利]訪存優化方法和裝置在審
| 申請號: | 201410079789.4 | 申請日: | 2014-03-05 |
| 公開(公告)號: | CN104899158A | 公開(公告)日: | 2015-09-09 |
| 發明(設計)人: | 張立新;劉月吉;陳凱 | 申請(專利權)人: | 華為技術有限公司;中國科學院計算技術研究所 |
| 主分類號: | G06F12/08 | 分類號: | G06F12/08 |
| 代理公司: | 北京同立鈞成知識產權代理有限公司 11205 | 代理人: | 劉芳 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 優化 方法 裝置 | ||
技術領域
本發明實施例涉及通信技術領域,尤其涉及一種訪存優化方法和裝置。
背景技術
緩沖存儲器是存儲系統中最重要的部分,最早是由Wilkes于1951年構想出來,為了彌補中央處理器(Central?Processing?Unit,簡稱CPU)與內存之間的速度差異而提出的,為了有效彌補CPU與內存之間的速度差異引起的延遲,CPU中通常采用多級存儲系統。例如采用一級緩存、二級緩存和隨機存取存儲器(Random?Access?Memory,簡稱RAM)三個層次的存儲結構,其訪問速度依次遞減,容量依次遞增,如果CPU執行寫指令時,對最后一級緩存(二級緩存)的訪問未命中,那么需要訪問RAM,造成訪問延遲長,功耗高,性能差的問題。
為解決上述問題,現有技術中在CPU執行寫指令且緩存未命中的情況下,不去訪問RAM,而是首先采用數據緩存塊清除為零(Data?Cache?Block?Zero,簡稱dcbz)指令直接在緩存中為訪問地址分配一個緩存塊,并對該整個緩存塊寫入全0數據,由于只能對整個緩存塊寫入全0數據,即只能將緩存塊初始化為全0數據,因此后續仍然需要使用一個寫指令(例如store指令)將有效數據寫入緩存,增加了訪存操作。
發明內容
本發明實施例提供一種訪存優化方法和裝置,解決了現有技術中在CPU執行寫指令且緩存未命中的情況下,只能對整個緩存塊寫入全0數據,后續寫入真正的有效數據時,需要再次進行寫操作,增加了訪存操作,造成功耗浪費的問題。
第一方面,本發明實施例提供一種訪存優化方法,包括:
確定處理器核的緩存訪問是否未命中緩存塊;
若緩存訪問未命中緩存塊,則在緩存中通過塊存儲指令為訪問地址分配一個緩存塊,并將所述塊存儲指令指示的地址標識字段的地址單元寫入到分配的緩存塊的地址標識字段,將所述塊存儲指令指示的數據寫入到所述分配的緩存塊的第一數據位置上,所述分配的緩存塊的第一數據位置為所述塊存儲指令指示的所述分配的緩存塊的數據位置。
在第一方面的第一種可能的實現方式中,還包括:
如果所述塊存儲指令指示的數據的寬度小于所述分配的緩存塊的寬度,則保持所述分配的緩存塊的第二數據位置上的數據或將所述分配的緩存塊的第二數據位置上全部寫入“0”數據值或“1”數據值或將所述分配的緩存塊的第二數據位置上寫入“0”數據值和“1”數據值,所述分配的緩存塊的第二數據位置為除所述分配的緩存塊的第一數據位置之外的所述分配的緩存塊的數據位置。
根據第一方面或第一方面的第一種可能的實現方式,在第二種可能的實現方式中,還包括:
若緩存訪問命中緩存塊,則將所述塊存儲指令指示的數據寫入到命中的緩存塊的第一數據位置上,所述命中的緩存塊的第一數據位置為所述塊存儲指令指示的所述命中的緩存塊的數據位置。
根據第一方面的第二種可能的實現方式,在第三種可能的實現方式中,還包括:
如果所述塊存儲指令指示的數據的寬度小于命中的緩存塊的寬度,則保持所述命中的緩存塊的第二數據位置上的數據或將所述命中的緩存塊的第二數據位置上全部寫入“0”數據值或“1”數據值或將所述命中的緩存塊的第二數據位置上寫入“0”數據值和“1”數據值,所述命中的緩存塊的第二數據位置為除所述命中的緩存塊的第一數據位置之外的所述命中的緩存塊的數據位置。
第二方面,本發明實施例提供一種訪存優化裝置,包括:
確定模塊,用于確定處理器核的緩存訪問是否未命中緩存塊;
處理模塊,用于若緩存訪問未命中緩存塊,則在緩存中通過塊存儲指令為訪問地址分配一個緩存塊,并將所述塊存儲指令指示的地址標識字段的地址單元寫入到分配的緩存塊的地址標識字段,將所述塊存儲指令指示的數據寫入到所述分配的緩存塊的第一數據位置上,所述分配的緩存塊的第一數據位置為所述塊存儲指令指示的所述分配的緩存塊的數據位置。
在第二方面的第一種可能的實現方式中,所述處理模塊還用于如果所述塊存儲指令指示的數據的寬度小于所述分配的緩存塊的寬度,則保持所述分配的緩存塊的第二數據位置上的數據或將所述分配的緩存塊的第二數據位置上全部寫入“0”數據值或“1”數據值或將所述分配的緩存塊的第二數據位置上寫入“0”數據值和“1”數據值,所述分配的緩存塊的第二數據位置為除所述分配的緩存塊的第一數據位置之外的所述分配的緩存塊的數據位置。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司;中國科學院計算技術研究所,未經華為技術有限公司;中國科學院計算技術研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410079789.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:對電子裝置執行存儲接口控制的方法及其裝置
- 下一篇:一種嵌入式系統調試方法





