[發明專利]存儲器違反預測在審
| 申請號: | 201780054892.5 | 申請日: | 2017-09-01 |
| 公開(公告)號: | CN109690477A | 公開(公告)日: | 2019-04-26 |
| 發明(設計)人: | V·R·克廷蒂·納雷什;A·克里希納;G·M·賴特 | 申請(專利權)人: | 高通股份有限公司 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38 |
| 代理公司: | 北京律盟知識產權代理有限責任公司 11287 | 代理人: | 楊林勳 |
| 地址: | 美國加利*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 指令 存儲器 存儲指令 加載指令 處理器 繞過 消歧 指令高速緩沖存儲器 處理器執行 方法和設備 分支預測器 指示符指示 獲取單元 指示符 違反 存取 關聯 預測 | ||
本發明公開用于防止存儲器違反的方法和設備。在一方面,獲取單元從處理器的分支預測器存取與將由處理器執行的程序的指令塊相關聯的消歧指示符,并從指令高速緩沖存儲器獲取所述指令塊。所述處理器基于所述消歧指示符指示所述指令塊中的加載指令和/或存儲指令可繞過所述程序的其它指令還是被所述程序的其它指令繞過,來執行所述指令塊中的加載指令和/或存儲指令。
技術領域
本發明涉及存儲器違反預測。
背景技術
處理器提供加載且存儲指令來存取位于處理器高速緩沖存儲器(例如L1、L2等)和/或主存儲器中的信息。加載指令可包含存儲器地址(直接在加載指令中提供或使用地址寄存器提供),且識別目標寄存器。當執行所述加載指令時,可檢索(例如從高速緩沖存儲器,從主存儲器,或從另一存儲機構)存儲在所述存儲器地址處的數據,并將其放入所識別的目標寄存器中。類似地,存儲指令可包含源寄存器的存儲器地址和識別符。當執行存儲指令時,來自源寄存器的數據可寫入到存儲器地址。加載指令和存儲指令可利用高速緩存在L1高速緩沖存儲器中的數據。
處理器可利用指令級并行度(ILP)來改進應用程序性能。亂序執行是利用ILP的頻繁使用的技術。在亂序執行中,識別并執行準備好執行的指令,通常與馮-紐曼(von-Neumann)編程模型所指定的程序次序不同。這可導致存儲器操作,例如加載和存儲,以亂序方式執行。舉例來說,“較老的”存儲指令可未就緒執行,直到“較年輕的”加載指令已執行之后,因為程序中較早的數據和地址計算等待時間?!拜^老的”指令是在程序次序中比“較年輕的”指令早出現的指令。
較年輕的指令可取決于較老的指令。舉例來說,兩個指令可存取同一存儲器地址,或較年輕的指令可需要較老的指令的結果。因此,繼續以上實例,較年輕的加載指令可取決于正首先執行的較老的存儲指令,但歸因于程序執行中較早的等待時間,在較年輕的加載指令執行之前,較老的存儲指令并不執行,從而導致錯誤。
為了解決此錯誤,所執行的加載指令和隨后發布的指令從管線沖洗,且經沖洗指令中的每一者再發布且再執行。雖然加載指令和隨后發布的指令失效并重新發布,但可用存儲指令所存儲的數據來更新L1高速緩沖存儲器。當第二次執行重新發布的加載指令時,加載指令接著可從L1高速緩沖存儲器接收經正確更新的數據。
在加載-存儲沖突之后,執行加載指令和隨后的所執行指令、使加載指令和隨后的所執行指令無效和重新發布加載指令的隨后的執行所執行指令可花費許多處理器循環。因為加載指令和隨后發布的指令的初始結果是失效的,所以執行這些指令所花的時間基本上被浪費。因此,加載-存儲沖突可導致處理器低效。
發明內容
下文呈現與本文所公開的一或多個方面有關的簡化概述。由此,以下概述不應被視為與所有預期方面有關的廣泛綜述,也以下概述不應被認為識別與所有預期方面有關的關鍵或重要元素或劃定與任何特定方面相關聯的范圍。因此,以下概述具有以下唯一目的:以簡化形式呈現和與本文中所公開的機構有關的一或多個方面有關的某些概念以先于下文呈現的具體實施方式。
在一方面,一種用于防止存儲器違反的方法包含:通過獲取單元從處理器的分支預測器存取與將由處理器執行的程序的指令塊相關聯的消歧指示符;通過處理器的獲取單元從指令高速緩沖存儲器獲取所述指令塊;以及通過所述處理器,基于所述消歧指示符指示所述指令塊中的加載指令和/或存儲指令可繞過所述程序的其它指令還是被所述程序的其它指令繞過,來執行所述指令塊中的加載指令和/或存儲指令。
在一方面中,一種用于防止存儲器違反的設備包含:處理器;獲取單元,其經配置以從指令高速緩沖存儲器獲取將由處理器執行的程序的指令塊;以及分支預測器,其經配置以向所述處理器提供與所述指令塊相關聯的消歧指示符,其中所述處理器經配置以基于所述消歧指示符指示指令塊中的加載指令和/或存儲指令可繞過所述程序的其它指令還是被所述程序的其它指令繞過,來執行所述指令塊中的加載指令和/或存儲指令。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于高通股份有限公司,未經高通股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201780054892.5/2.html,轉載請聲明來源鉆瓜專利網。





