[發明專利]用于硬件鎖省略(HLE)的后期鎖獲取機制的裝置和方法有效
| 申請號: | 201310482999.3 | 申請日: | 2008-11-07 |
| 公開(公告)號: | CN103544052B | 公開(公告)日: | 2017-04-12 |
| 發明(設計)人: | H·阿卡瑞;R·拉杰瓦;S·T·斯里尼瓦桑 | 申請(專利權)人: | 英特爾公司 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46 |
| 代理公司: | 上海專利商標事務所有限公司31100 | 代理人: | 錢慰民 |
| 地址: | 美國加利*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 硬件 省略 hle 后期 獲取 機制 裝置 方法 | ||
本申請是申請號為200810190835.2、申請日為2008年11月7日、發明名稱為“用于硬件鎖省略(HLE)的后期鎖獲取機制的裝置和方法”的發明專利申請的分案申請。
技術領域
本發明涉及處理器執行領域,并且尤其涉及獲取用于代碼段執行的鎖定。
背景技術
在半導體處理和邏輯設計方面的進步已經允許在集成電路器件中可存在的邏輯數量上的增加。結果,計算機系統配置已經從系統中的單個或者多個集成電路演進成存在于單個集成電路上的多核以及多邏輯處理器。處理器或者集成電路通常包括單個處理器管芯,其中處理器管芯可包括任意數量的核或者邏輯處理器。
在集成電路上的核以及邏輯處理器數量的不斷增加使得能夠執行更多的軟件線程。然而,可同時執行的軟件線程數量上的增加已經造成了關于使諸軟件線程間共享的數據同步的問題。一種在多核或者多邏輯處理器系統中訪問共享數據的常用解決方案包括利用鎖來確保對共享數據多個訪問上的互斥。然而,執行多個軟件線程的日益增加的能力潛在可能導致錯誤競爭和執行的串行化。
例如,考慮一種持有共享數據的散列表。利用鎖系統,程序員就可對整個散列表加鎖,從而允許一個線程訪問整個散列表。然而,其它線程的吞吐量和性能潛在可能受到不利影響,因為在鎖被釋放之前他們不能訪問散列表中的任何項。或者,散列表中的每個項可被加鎖。然而,這增加了編程復雜度,因為程序員不得不考慮在散列表之內更多的鎖。
另一種數據同步技術包括使用事務性存儲器(TM)。通常事務性執行包括投機地執行多個微操作,操作,或者指令的編組。在上面的例子中,兩個線程皆在散列表內執行,且其訪問被監控/跟蹤。如果兩個線程訪問/改變相同的項,則可能中斷這兩個事務中的一個來解決沖突。然而,一些應用程序可能不能利用事務性存儲器編程,結果,通常稱為硬件鎖省略(HLE)的硬件數據同步技術被用于取消鎖以獲得類似于事務性存儲器的同步效果。
結果,HLE能夠檢測并且預側代碼的臨界段。但是,對于事務性存儲器或者通過HLE在臨界段的執行期間,當HLE預側不正確的時候,試探性訪問跟蹤使存儲器溢出,或者遇到不可取消事件,通常,中斷并且重新開始臨界段。然而,中斷臨界段可能浪費了在中斷之前所執行的操作執行周期。
附圖說明
本發明通過舉例進行說明并且不希望受到附圖圖形的限制。
圖1示出包括后期鎖獲取機制的多處理部件處理器的實施例。
圖2示出對于臨界段執行后期鎖獲取的邏輯的實施例。
圖3a示出對于當前臨界段執行后期鎖獲取方法的流程圖的實施例。
圖3b示出在對于當前臨界段的后期鎖獲取期間停止后續臨界段操作方法的流程圖的實施例。
圖3c示出在對于當前臨界段的后期鎖獲取期間停止后續臨界段操作方法的流程圖的另一個實施例。
詳細說明
在下面的說明中,闡述了很多特定的細節,比如硬件鎖省略(HLE)的特定硬件支持的例子、特定的跟蹤/元數據方法、處理器中局部/存儲器的特定類型、以及存儲器存取和位置的特定類型等等,以便提供對本發明的徹底理解。但是,本領域技術人員將會明白可不必采用這些細節來實施本發明。在其它的例子中,沒有詳細地描述公知的組件或者方法,比如軟件中臨界段的編碼,臨界段的劃界,特定的多核和多線程處理器體系結構,中斷生成/處理,高速緩存組織,和微處理器特定的操作細節,以免帶來對本發明不必要的混淆。
此處所描述的方法和裝置是用于在臨界段執行期間的后期鎖(late-lock)獲取的方案。具體地說,主要關于多核處理器計算機系統來討論后期鎖獲取方案。但是,用于后期鎖獲取方案的方法和裝置并不因此受限,因為它們可能在任何集成電路裝置或者系統上或與其相關聯以及與諸如執行臨界段的硬件/軟件線程的其它資源結合地實現,所述集成電路裝置或者系統比如為蜂窩電話,個人數字助理,嵌入式控制器,移動式平臺,桌面平臺,和服務器平臺。此外,還關于在硬件鎖省略(HLE)期間的臨界段執行來主要地討論后期鎖獲取方案。然而,在任何臨界段執行方案期間,比如在事務性執行期間,都可使用后期鎖的獲取。
參考圖1,示出多核處理器100的實施例,其能夠執行用于臨界段的后期鎖獲取。如圖所示,物理處理器100包括任何數量的處理部件。處理部件指代線程、進程、上下文、邏輯處理器、硬件線程、核和/或任何可能共享對處理器資源訪問的處理部件,比如保留單元、執行單元、流水線和上級高速緩存/存儲器。物理處理器通常指代集成電路,其可包括許任何數量的處理部件,比如核或者硬件線程。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于英特爾公司,未經英特爾公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310482999.3/2.html,轉載請聲明來源鉆瓜專利網。





