[發明專利]用于保存訪存指令的虛擬地址的方法有效
| 申請號: | 201310072202.2 | 申請日: | 2013-03-06 |
| 公開(公告)號: | CN103268145A | 公開(公告)日: | 2013-08-28 |
| 發明(設計)人: | 李濟川;黃琨;凡啟飛;馬汝亮 | 申請(專利權)人: | 上海云間半導體科技有限公司 |
| 主分類號: | G06F1/32 | 分類號: | G06F1/32;G06F9/30 |
| 代理公司: | 北京戈程知識產權代理有限公司 11314 | 代理人: | 程偉;孫向民 |
| 地址: | 200336 上海市*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 保存 指令 虛擬 地址 方法 | ||
技術領域
本發明涉及微處理器領域,更具體地涉及用于保存訪存指令的虛擬地址的方法。
背景技術
亂序處理器亂序地執行指令,然后按照程序序來提交(Commit)指令。程序序,即程序中規定的指令執行的順序,雖然亂序處理器是亂序地執行指令,但是必須按照程序序來提交指令,以保證處理例外或中斷時能夠精確的回到發生例外或中斷的指令處繼續執行。通常將流水線中程序序在最前面的訪存指令定義為最老的訪存指令。
在亂序執行時指令有可能會發生例外,此時提交隊列在順序提交到例外指令時需要將流水線清空,然后跳轉到例外處理程序去執行。當發生例外的指令是訪存指令(取數和存數指令,用Load和Store指令來表示)時,例外處理程序需要知道該訪存指令的虛擬地址,如Intel的x86處理器在發生訪存指令例外時會把例外訪存指令的地址放到cr2寄存器中讓例外處理程序來處理,這樣就涉及到如何保存亂序處理器中發生例外的訪存指令的虛擬地址的問題。
現有的方法是將所有訪存指令的虛擬地址保存在訪存隊列中,當訪存指令發生例外時,直接讀取例外訪存指令的虛擬地址送給例外處理電路,但是這種方法需要為訪存隊列中所有的訪存指令保存它們的虛擬地址。
然而,訪存指令在經過查找TLB后會將它的虛擬地址轉化為物理地址去訪問Cache和內存,此時正常的訪存指令的虛擬地址就已經沒用了,因此,除了例外訪存指令需要它的虛擬地址之外,正常的訪存指令是不需要它的虛擬地址的,故而,在絕大部分時候這種保存都是浪費的,既浪費了硬件電路資源,也帶來了巨大的功耗。
公開于該發明背景技術部分的信息僅僅旨在加深對本發明的一般背景技術的理解,而不應當被視為承認或以任何形式暗示該信息構成已為本領域技術人員所公知的現有技術。
發明內容
本發明的目的在于提供一種用于保存訪存指令的虛擬地址的方法,以能夠節約硬件資源和降低功耗。
為了實現上述目的,本發明提供了一種用于保存訪存指令的虛擬地址的方法,所述方法包括:在訪存隊列中設置用于保存最老例外訪存指令信息的字段;當有新的例外訪存指令進入訪存隊列時,保存在程序序中位置在前的例外訪存指令信息;當接收到例外總線時,將所述用于保存最老例外訪存指令的信息的字段置零。
優選地,所述例外訪存指令信息的字段包括:例外有效位、例外訪存指令的虛擬地址、最老例外訪存指令在程序序中的位置和最老例外訪存指令所在的基本塊號。
優選地,所述最老例外訪存指令信息的字段的初始值為零。
優選地,所述方法還包括當發生轉移指令猜測錯誤時,將所述轉移指令所在的基本塊號與所述最老例外訪存指令所在的基本塊號進行比較,如果所述轉移指令所在的基本塊號在所述最老例外訪存指令所在的基本塊號之前,則將所述最老例外訪存指令信息的字段置零;否則,保持所述字段中的最老例外訪存指令信息的內容不變。
優選地,通過使用比較器將所述轉移指令所在的基本塊號與所述最老例外訪存指令所在的基本塊號進行比較。
優選地,所述保存在程序序中位置在前的例外訪存指令信息的步驟包括:將所述新的例外訪存指令在程序序中的位置與所述最老例外訪存指令在程序序中的位置進行比較,如果所述新的例外訪存指令在程序序中的位置在所述最老例外訪存指令的位置之前,則使用所述新的例外訪存指令的信息覆蓋原有的所述最老例外訪存指令的信息;否則,保持所述字段中的最老例外訪存指令信息的內容不變。
優選地,通過使用比較器將所述新的例外訪存指令在程序序中的位置與所述最老例外訪存指令在程序序中的位置進行比較。
由于本發明只需要保存程序序中最老的發生例外的指令的虛擬地址,而不像原有技術中需要保存多項指令的虛擬地址,節省了數百個寄存器及相應的讀寫端口的硬件邏輯和寄存器保持功耗,因此極大的節省了硬件資源,同時也降低了處理器的功耗。
通過納入本文的附圖以及隨后與附圖一起用于說明本發明的某些原理的具體實施方式,本發明的方法所具有的其它特征和優點將變得清楚或更為具體地得以闡明。
附圖說明
通過參考以下結合附圖對本發明實施例的詳細描述,本發明的上述目的、優點和特征將變得顯而易見,其中:
圖1示出了根據本發明實施例的用于保存訪存指令的虛擬地址的方法的流程圖;
圖2示出了根據本發明實施例的用于保存最老例外訪存指令的信息的字段;
圖3示出了根據本發明實施例的用于保存最老例外訪存指令的信息的結構示意圖。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海云間半導體科技有限公司,未經上海云間半導體科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310072202.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:指式鼠標
- 下一篇:基于GIS的化工園區風險管理信息系統





