[發明專利]用于測試事務性執行狀態的方法、裝置和系統有效
| 申請號: | 201380028480.6 | 申請日: | 2013-06-19 |
| 公開(公告)號: | CN104335183B | 公開(公告)日: | 2018-03-30 |
| 發明(設計)人: | R·拉吉瓦爾;B·L·托爾;K·K·賴;M·C·梅爾騰;M·G·迪克森 | 申請(專利權)人: | 英特爾公司 |
| 主分類號: | G06F11/22 | 分類號: | G06F11/22 |
| 代理公司: | 上海專利商標事務所有限公司31100 | 代理人: | 何焜 |
| 地址: | 美國加利*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 測試 事務性 執行 狀態 指令 邏輯 | ||
相關申請
本申請是2012年2月2日提交的指定美國的當前待審的國際申請PCT/US2012/023611的部分繼續申請。在先的該國際申請通過引用結合于此,如同其整體記載于本申請中。
技術領域
本公開一般涉及處理邏輯、微處理器以及相關的指令集架構的領域,這些指令集架構在被處理器或其他處理邏輯所執行時執行邏輯、數學或其他功能性操作。具體地,本公開涉及用于測試事務性執行狀態的指令和邏輯。
背景技術
半導體處理和邏輯設計的進步已允許在集成電路器件上可能存在的邏輯量的增加。因此,計算機系統配置已經從系統中的單個或多個集成電路發展到單個集成電路上存在的多個處理核和多個邏輯處理器。處理器或集成電路通常包括單個處理器管芯,其中處理器管芯可包括任意數量的核或邏輯處理器。
集成電路上日益增加的核和邏輯處理器的數量使得更多軟件線程能夠被并發地執行。然而,可能同時執行的軟件線程的數量的增加已造成與同步軟件線程之間共享的數據有關的問題。用于訪問多核或多邏輯處理器系統中的共享數據的一個常見的解決方案包括使用鎖來保證對共享數據的多個訪問之間的互斥。然而,不斷增加的執行多個軟件線程的能力對鎖定數據產生瓶頸,導致線程要等待其它線程的完成(使它們的執行串行化),從而降低了使多個線程并發執行的益處。此外,在寫入方試圖修改數據的情況下,一些只讀訪問可使用鎖來確保數據的互斥,這會帶來排斥其它只讀訪問的不希望有的副作用。
例如,考慮保持共享數據的散列表。利用鎖系統,編程者可鎖定整個散列表,從而允許一個線程訪問整個散列表。然而,其它線程的吞吐量和性能可能不利地受影響,因為它們無法訪問散列表中的任何條目,直到該鎖被釋放為止。替代地,散列表中的每個條目可能被鎖定,從而導致軟件中的許多鎖結構。在這樣的構造中,可能需要獲得許多鎖以執行特定任務,這會導致與其它線程的死鎖。無論哪種方式,在將該簡單示例外推到大的可縮放程序中之后,顯然鎖競爭、串行化、精細粒度同步以及死鎖避免的復雜程度變成編程者的極其繁瑣的負擔。
另一種最近的數據同步技術包括使用事務性存儲器(TM)。通常,事務性執行包括原子地執行多個微操作、操作或指令的分組。在上述示例中,兩個線程在散列表內執行,并且它們的存儲器訪問被監控/追蹤。如果兩個線程訪問/改變相同的條目,則可執行沖突化解以確保數據有效性。一種類型的事務性執行包括軟件事務性存儲器(STM),其中通常在沒有硬件支持的情況下在軟件中執行對存儲器訪問、沖突化解、中止任務以及其它事務性任務的追蹤。另一類型的事務性執行包括硬件事務性存儲器(HTM)系統,其中包括用于支持訪問追蹤、沖突化解以及其它事務性任務的硬件。
類似于事務性存儲器的技術包括硬件鎖省略(HLE),其中在不使用鎖的情況下實驗性地執行被鎖定的關鍵區段。如果執行成功(即無沖突),則使結果全局可見。換言之,就像省略了來自關鍵區段的鎖指令的事務那樣執行關鍵區段,而不是執行原子地定義的事務。作為結果,在上述示例中,不是用事務來代替散列表執行,而是試驗性地執行由鎖指令定義的關鍵區段。多個線程類似地在散列表中執行,并且它們的訪問被監控/追蹤。如果這些線程中的任一個對同一條目進行訪問/改動,則可執行沖突化解以確保數據有效性。但是如果未檢測到沖突,則原子地提交對散列表的更新。
如所見,事務性執行和鎖省略具有在多個線程中提供更佳性能的潛力。然而,HLE和TM對于微處理器是相對新的研究領域。因此,尚未充分探索或詳細研究處理器中的HLE和TM實現方式。
附圖說明
在附圖的各圖中通過示例而非限制地示出本發明。
圖1示出用于使用指令和邏輯來測試事務性執行狀態的計算系統的一個實施例。
圖2示出用于使用指令和邏輯來測試事務性執行狀態的處理器的一個實施例。
圖3A示出根據一個實施例的用于提供用于測試事務性執行狀態的功能的指令編碼。
圖3B示出根據另一實施例的用于提供用于測試事務性執行狀態的功能的指令編碼。
圖3C示出根據另一實施例的用于提供用于測試事務性執行狀態的功能的指令編碼。
圖3D示出根據另一實施例的用于提供用于測試事務性執行狀態的功能的指令編碼。
圖3E示出根據另一實施例的用于提供用于測試事務性執行狀態的功能的指令編碼。
圖4A是處理器微架構中用于執行提供用于測試事務性執行狀態的功能的指令的一個實施例的框圖。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于英特爾公司,未經英特爾公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201380028480.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種混合孤島檢測方法
- 下一篇:一種基于光電混合信號并行測試裝置





