[發(fā)明專利]在硬件中登記用戶處理程序以用于事務(wù)存儲器事件處理有效
| 申請?zhí)枺?/td> | 200911000212.5 | 申請日: | 2009-12-25 |
| 公開(公告)號: | CN101950259A | 公開(公告)日: | 2011-01-19 |
| 發(fā)明(設(shè)計)人: | G·謝弗;S·賴金;V·巴辛 | 申請(專利權(quán))人: | 英特爾公司 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46;G06F15/167 |
| 代理公司: | 永新專利商標(biāo)代理有限公司 72002 | 代理人: | 王英;劉炳勝 |
| 地址: | 美國加*** | 國省代碼: | 美國;US |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 硬件 登記 用戶 處理 程序 用于 事務(wù) 存儲器 事件 | ||
相關(guān)申請的交叉引用
本申請涉及一同提交的以下專利申請:2008年12月30日由GadSheaffer等人提交的名稱為“Extending?Cache?Coherency?Protocols?to?SupportLocally?Buffered?Data”、代理方案卷號為P29132的美國專利申請No.12/346,543;2008年12月30日由Gad?Sheaffer等人提交的名稱為“MemoryModel?for?Hardware?Attributes?Within?a?Transactional?Memory?System”、代理方案卷號為P29131的美國專利申請No.12/346,539;2008年12月30日由Gad?Sheaffer等人提交的名稱為“Read?and?Write?Monitoring?Attributes?inTransactional?Memory(TM)Systems”、代理方案卷號為P29130的美國專利申請No.12/346,530;2008年12月30日由Gad?Sheaffer等人提交的名稱為“Metaphysical?Address?Space?for?Holding?Lossy?Meta-data?in?Hardware”、代理方案卷號為P29128的美國專利申請No.12/346,500。
技術(shù)領(lǐng)域
本發(fā)明涉及處理器執(zhí)行的領(lǐng)域,并且特別地涉及指令組的執(zhí)行。
背景技術(shù)
半導(dǎo)體工藝和邏輯設(shè)計的發(fā)展使得可以在集成電路設(shè)備上存在更多的邏輯。因此,計算機系統(tǒng)結(jié)構(gòu)從系統(tǒng)中的單個或多個集成電路演化為在單獨的集成電路上存在多個核心以及多個邏輯處理器。通常,處理器或集成電路包括單個處理器管芯,其中,處理器管芯可以包括任意數(shù)量的核心或邏輯處理器。
集成電路上的核心和邏輯處理器的數(shù)量的不斷增加使得更多的軟件線程能夠同時執(zhí)行。然而,可以同時執(zhí)行的軟件線程的數(shù)量的增加導(dǎo)致對軟件線程之間共享的數(shù)據(jù)進行同步的問題。在多核心或多個邏輯處理器系統(tǒng)中訪問共享數(shù)據(jù)的一種常見方案包括:使用鎖來保證使對共享數(shù)據(jù)的多個訪問之間互斥。然而,不斷增強的執(zhí)行多個軟件線程的能力可能導(dǎo)致錯誤地爭用以及執(zhí)行的串行化。
例如,考慮保存共享數(shù)據(jù)的散列表。利用鎖系統(tǒng),程序員可以鎖定整個散列表,從而允許一個線程訪問整個散列表。然而,其它線程的吞吐量和性能可能會受到不利的影響,因為它們在鎖被釋放之前不能訪問散列表中的任何條目??蛇x的,可以鎖定散列表中的每個條目。無論使用哪種方式,當(dāng)將這個簡單示例推廣到大規(guī)模的程序之后,鎖競爭、串行化、細粒度的同步以及避免死鎖的復(fù)雜性對于程序員來說將成為極為繁重的負擔(dān),這是顯而易見的。
近來出現(xiàn)的另一種數(shù)據(jù)同步技術(shù)包括使用事務(wù)存儲器(TM)。通常,事務(wù)執(zhí)行包括執(zhí)行多個微操作、操作或指令的組。在上面的示例中,線程在散列表內(nèi)的執(zhí)行以及它們的存儲器訪問都被監(jiān)視/跟蹤。如果兩個線程都訪問/更改相同的條目,那么可以執(zhí)行沖突消除以確保數(shù)據(jù)的有效性。事務(wù)執(zhí)行的一種類型包括軟件事務(wù)存儲器(STM),其中,通常在沒有硬件的支持的情況下,在軟件中執(zhí)行存儲器訪問的跟蹤、沖突解決、中止任務(wù)以及其它事務(wù)任務(wù)。事務(wù)執(zhí)行的另一種類型包括硬件事務(wù)存儲器(HTM)系統(tǒng),其中,包括硬件以支持訪問跟蹤、沖突解決以及其它事務(wù)任務(wù)。
事務(wù)內(nèi)的一些操作是基于由事務(wù)讀取或產(chǎn)生的數(shù)據(jù)的。如果該數(shù)據(jù)或監(jiān)視對該數(shù)據(jù)的訪問的信息被損害,那么會產(chǎn)生無法預(yù)料的副作用。例如,假定事務(wù)向某個變量X寫入分支目的地。由于事務(wù)存儲器的語義,X的值可以改變(例如,以緩沖方式寫入X并且緩沖器丟失)。在改變以后,事務(wù)試圖基于從地址X讀取的當(dāng)前無效的值來進行分支,因此,發(fā)生無法預(yù)料的結(jié)果。用完全同步的軟件(OS或VMM)方法(例如,輪詢)來處理或者在事務(wù)的結(jié)束處處理如上所述的事件可能無法及時地在未預(yù)料的結(jié)果發(fā)生之前處理改變或沖突。
附圖說明
通過示例來說明本發(fā)明,并且本發(fā)明并不旨在由附圖中的圖來限定。
圖1說明了包括能夠同時執(zhí)行多個軟件線程的多個處理元件的處理器的實施例。
圖2說明了處理器中的結(jié)構(gòu)的實施例,所述結(jié)構(gòu)用于支持響應(yīng)于處理程序事件而向處理程序進行的控制轉(zhuǎn)移。
圖3說明了用于在沒有特權(quán)級軟件干預(yù)的情況下將執(zhí)行引導(dǎo)至事務(wù)處理程序的方法流程圖的實施例。
圖4說明了使用硬件將控制流轉(zhuǎn)移到軟件處理程序的方法的流程圖的另一實施例。
具體實施方式
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于英特爾公司,未經(jīng)英特爾公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200911000212.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





