欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于事務(wù)內(nèi)存的方法和設(shè)備的制作方法

文檔序號(hào):6613286閱讀:102來(lái)源:國(guó)知局
專利名稱:用于事務(wù)內(nèi)存的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域。更具體地,本發(fā)明涉及一種用于事
務(wù)內(nèi)存(Transactional Memory: TM )的方法和^殳備。
背景技術(shù)
事務(wù)內(nèi)存允許應(yīng)用、程序、模塊等以原子的和隔離的方式來(lái)訪問(wèn) 共享的內(nèi)存。
事務(wù)內(nèi)存的使用允許不同的線程同時(shí)進(jìn)行,從而可以獲得極高的 處理效率。
可以參考由Maurice Herlihy, J. Eliot B. Moss在1993年發(fā)表的文 章 "Transactional Memory: Architectural Support for Lock-Free Data Structures"(文獻(xiàn)1 ),來(lái)了解事務(wù)內(nèi)存的實(shí)現(xiàn)以及有關(guān)的一些術(shù)語(yǔ) 或概念。
在事務(wù)的執(zhí)行期間,很有可能需要進(jìn)行切換,即把一個(gè)正在執(zhí)行 的事務(wù)切換出去,并在適當(dāng)?shù)臅r(shí)候把它切換回來(lái)。
需要進(jìn)行切換的原因包括 一個(gè)事務(wù)可能被定時(shí)器中斷、被異常 (例如TLB ( Translation Lookaside Buffer )沒(méi)有命中)中斷等等。
一般地,在事務(wù)內(nèi)存的實(shí)現(xiàn)中,采用基于硬件的事務(wù)蹤跡記錄器, 來(lái)記錄事務(wù)的蹤跡。其中,事務(wù)蹤跡包括事務(wù)從中讀出數(shù)據(jù)的內(nèi)存 的地址、事務(wù)向其寫(xiě)入數(shù)據(jù)的內(nèi)存的地址、以及要寫(xiě)入的數(shù)據(jù)等。
例如在文獻(xiàn)1中,通過(guò)在處理器核中的緩存,來(lái)記錄事務(wù)的蹤跡。 換句話說(shuō),在文獻(xiàn)1中,所述基于硬件的事務(wù)蹤跡記錄器是處理器 核中的緩存。
由于所述緩存資源有限,并且如果一個(gè)事務(wù)被切換出去,其蹤跡 有可能需要在所述緩存中保存很長(zhǎng)時(shí)間,從而可能造成處理器核不能處理后續(xù)的事務(wù),因此,在文獻(xiàn)1中,不支持事務(wù)的切換。
最近,有人提出了以非常高的代價(jià)來(lái)支持事務(wù)的切換,例如,將 切換出去的事務(wù)的蹤跡存儲(chǔ)到 一 個(gè)軟件數(shù)據(jù)結(jié)構(gòu)中,其中所述軟件
數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)在內(nèi)存中(參見(jiàn)Ravi Raj war, Maurice Herlihy和Konrad Lai在2005年發(fā)表的文章"Virtualizing Transactional Memory")。
這種方案的缺點(diǎn)在于沖突檢測(cè)比較復(fù)雜以及成本高,原因是雖然 一個(gè)事務(wù)已經(jīng)切換出去,但是還需要對(duì)它的蹤跡進(jìn)行訪問(wèn),以進(jìn)行 沖突檢測(cè),即該切換出去的事務(wù)與當(dāng)前活躍的事務(wù)之間是否存在沖 突,因此需要檢查記錄活躍事務(wù)的蹤跡的緩存和存儲(chǔ)切換出去的事 務(wù)的蹤跡的內(nèi)存,但是訪問(wèn)內(nèi)存要花費(fèi)比較長(zhǎng)的時(shí)間。
因此,需要一種用于事務(wù)內(nèi)存的方法和設(shè)備,以克服上述缺點(diǎn)。

發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個(gè)方面,提出了一種用于事務(wù)內(nèi)存的方法,包括 步驟當(dāng)開(kāi)始一個(gè)事務(wù)時(shí),向所述事務(wù)分配一個(gè)基于硬件的事務(wù)蹤 跡記錄器,用于記錄所述事務(wù)的蹤跡;確定所述事務(wù)需要切換出去; 以及將所述事務(wù)切換出去,其中所述切換出去的事務(wù)的蹤跡,仍然 保留在所述基于硬件的事務(wù)蹤跡記錄器中。
根據(jù)本發(fā)明的另一個(gè)方面,提出了一種用于事務(wù)內(nèi)存的設(shè)備,包 括用于當(dāng)開(kāi)始一個(gè)事務(wù)時(shí),向所述事務(wù)分配一個(gè)基于硬件的事務(wù) 蹤跡記錄器,用于記錄所述事務(wù)的蹤跡的裝置;用于確定所述事務(wù) 需要切換出去的裝置;以及用于將所述事務(wù)切換出去的裝置,其中 所述切換出去的事務(wù)的蹤跡,仍然保留在所述基于硬件的事務(wù)蹤跡 記錄器中。
根據(jù)本發(fā)明,不但實(shí)現(xiàn)了使得事務(wù)內(nèi)存支持事務(wù)的切換,而且由 于切換出去的事務(wù)的蹤跡仍然保留在基于硬件的事務(wù)蹤跡記錄器 中,因此大大降低了活躍事務(wù)與切換出去的事務(wù)之間的沖突檢測(cè)代 價(jià)。


通過(guò)以下結(jié)合附圖的說(shuō)明,并且隨著對(duì)本發(fā)明的更全面了解,本 發(fā)明的其他目的和效果將變得更加清楚和易于理解,其中
圖1示意性地示出了本發(fā)明可以在其中實(shí)現(xiàn)的系統(tǒng)100; 圖2示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式事務(wù)的蹤跡是如何在緩 沖器中記錄的;
圖3示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式在事務(wù)的蹤跡的每個(gè)條 目中包括用于識(shí)別是哪個(gè)事務(wù)的蹤跡的色彩比特的情形;
圖4示出了根據(jù)本發(fā)明的實(shí)施方式的用于事務(wù)內(nèi)存的方法的流程圖。
在所有的上述附圖中,相同的標(biāo)號(hào)表示具有相同、相似或相應(yīng)的 特;f正或功能。
具體實(shí)施例方式
圖1示意性地示出了本發(fā)明可以在其中實(shí)現(xiàn)的系統(tǒng)100。
如圖1所示,所述系統(tǒng)100包括軟件部分200、硬件部分300和
控制和管理軟件部分200和硬件部分300的4乘作系統(tǒng)400。
在一個(gè)實(shí)施方式中,本發(fā)明的方法和設(shè)備由操作系統(tǒng)400實(shí)現(xiàn)。 當(dāng)然,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,本發(fā)明的方法和設(shè)備也可以
由硬件、固件、中間件軟件、甚至應(yīng)用層軟件來(lái)實(shí)現(xiàn)。
其中,硬件部分300包括處理器核310、 320、 330和340,緩沖
器350、 360、 370和380,以及連接處理器核310、 320、 330和340
和緩沖器350、 360、 370和380的網(wǎng)絡(luò)390。
換句話說(shuō),在圖1所示的硬件部分300中,緩沖器350、 360、
370和380被處理器核310、 320、 330和340共享,處理器核310、
320、 330和340可以訪問(wèn)緩沖器350、 360、 370和380中的任何一個(gè)。
當(dāng)然,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,緩沖器350、 360、 370和 380與處理器核310、 320、 330和340也可以通過(guò)總線連接。緩沖器350、 360、 370和380與處理器核310、 320、 330和340甚至可以通 過(guò)直接鏈路而連接。
當(dāng)然,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,緩沖器以及處理器核的數(shù)目 不一定非要是4個(gè),而可以是其他的值。
在本發(fā)明的另 一個(gè)實(shí)施方式中,緩沖器與處理器核的關(guān)系是固定 的。例如,緩沖器350被固定為只能由處理器核310和320使用; 緩沖器360被固定為只能由處理器核320和330使用;緩沖器370 被固定為只能由處理器核330和340使用;而緩沖器380被固定為 只能由處理器核310和340使用。
軟件部分200包括線程210、 220、 230、 240、 250、 260、 270、 280。線禾呈210、 220、 230、 240、 250、 260、 270、 280中的每一個(gè) 包括多個(gè)事務(wù)。線程210包括事務(wù)2101、 2102、 2103。線程220包 括事務(wù)2201、 2202、 2203。線程230包括事務(wù)2301 、 2302、 2303。 線程240包括事務(wù)2401 、2402、 2403。線程250包括事務(wù)2501 、 2502、 2503。線程260包括事務(wù)2601 、 2602、 2603。線程270包括事務(wù)2701 、 2702、 2703。線程280包括事務(wù)2801 、 2802、 2803。
線程210、 220、 230、 240、 250、 260、 270、 280可以屬于同一 個(gè)進(jìn)程,也可以屬于不同的進(jìn)程。
在系統(tǒng)100中,線程210、 220、 230、 240、 250、 260、 270、 280 的執(zhí)行是并行的,而每一個(gè)線程中的多個(gè)事務(wù)的執(zhí)行是串行的。
當(dāng)然,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,線程的數(shù)目不一定非要是8 個(gè),而可以是其他的值。并且每一個(gè)線程中的事務(wù)的數(shù)目也不一定 非要是3個(gè),而可以是其他的值。
在本發(fā)明的實(shí)施方式中,緩沖器350、 360、 370和380用作線程 210、 220、 230、 240、 250、 260、 270、 280中的各個(gè)事務(wù)的蹤跡記 錄器,用于記錄各個(gè)事務(wù)的蹤跡。
事務(wù)的蹤跡包括事務(wù)從中讀出數(shù)據(jù)的內(nèi)存的地址、事務(wù)向其寫(xiě)入 數(shù)據(jù)的內(nèi)存的地址、以及要寫(xiě)入的數(shù)據(jù)。
應(yīng)當(dāng)指出的是,處理器核訪問(wèn)緩沖器所花費(fèi)的時(shí)間要少于處理器核訪問(wèn)由它們所共享的內(nèi)存(在圖1中沒(méi)有示出)所花費(fèi)的時(shí)間。
在本發(fā)明的一個(gè)實(shí)施方式中,處理器核310、 320、 330和340 與緩沖器350、 360、 370和380在同一個(gè)芯片上,而內(nèi)存不在該芯 片上。并且,上述緩沖器可以是專用的緩沖器,也可以就是各個(gè)處 理器核的高速緩存。
在本發(fā)明的實(shí)施方式中,當(dāng)開(kāi)始一個(gè)線程的事務(wù)時(shí),例如,當(dāng)開(kāi) 始線程210的事務(wù)2101時(shí),操作系統(tǒng)400向其分配一個(gè)緩沖器,例 如緩沖器350。
所屬技術(shù)領(lǐng)域的技術(shù)人員理解,操作系統(tǒng)400可以知道緩沖器 350、 360、 370和380的使用情況;因此,當(dāng)開(kāi)始一個(gè)事務(wù)時(shí),操作 系統(tǒng)400可以將還沒(méi)有被其他事務(wù)所使用的緩沖器分配給該開(kāi)始的 事務(wù)。
圖2示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式事務(wù)的蹤跡是如何在例 如緩沖器350的緩沖器中記錄的。
如圖2所示,在緩沖器350中有2張表格20和22,其中表格20 只有一列201,用于記錄事務(wù)從中讀出數(shù)據(jù)的內(nèi)存的地址;表格22 包括兩列221和222,其中一列221用于記錄事務(wù)向其寫(xiě)入數(shù)據(jù)的內(nèi) 存的地址,另外一列222記錄所述要寫(xiě)入的數(shù)據(jù)。也就是說(shuō),表格 20的每個(gè)條目(每行)代表事務(wù)從中讀出數(shù)據(jù)的內(nèi)存的地址;表格 22的每個(gè)條目(每行)代表事務(wù)向其寫(xiě)入數(shù)據(jù)的內(nèi)存的地址和要寫(xiě) 入的數(shù)據(jù)。
在本發(fā)明的一個(gè)實(shí)施方式中,線程210、 220、 230、 240、 250、 260、 270、 280被綁定到緩沖器350、 360、 370和380中的一個(gè)或多 個(gè)。例如,線程210、 220、 230被綁定到緩沖器350,線程230、 240 被綁定到緩沖器360,線程250、 260被綁定到緩沖器370,以及線 程270、 280被綁定到緩沖器380。
更具體地說(shuō),在該實(shí)施方式中,線程210、 220的事務(wù)的蹤跡只 能記錄在緩沖器350中,線程240的事務(wù)的蹤跡只能記錄在緩沖器 360中,線程230的事務(wù)的蹤跡可以記錄在緩沖器350和360中,線程250、 260的事務(wù)的蹤跡只能記錄在緩沖器370中,以及線程270、 280的事務(wù)的蹤跡只能記錄在緩沖器380中。
換句話說(shuō),在該實(shí)施方式中,在緩沖器350已經(jīng)記錄了線程210 的事務(wù)的蹤跡的情況下,即使緩沖器360、 370和/或380為空,也不 能用于記錄線程220的事務(wù)的蹤跡,從而線程220不能與線程210 同時(shí)執(zhí)行。
在本發(fā)明的一個(gè)實(shí)施方式中,通過(guò)在圖2所示的表格的每個(gè)條目 中增加用于識(shí)別是哪個(gè)事務(wù)(也可以說(shuō)是哪個(gè)線程,因?yàn)橐粋€(gè)線程 中的各個(gè)事務(wù)是串行執(zhí)行的)的蹤跡的比特位或"色彩比特",緩 沖器350、 360、 370、 380中的一個(gè)或多個(gè)可以同時(shí)分配^^多個(gè)事務(wù)。
例如,如果色彩比特有2位,該2位可以用來(lái)指示對(duì)應(yīng)的一個(gè)緩 沖器可以同時(shí)分配給4個(gè)事務(wù)。
圖3示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式在事務(wù)的蹤跡的每個(gè)條 目中包括用于識(shí)別是哪個(gè)事務(wù)的蹤跡的色彩比特的情形。
如圖3所示,在緩沖器350中有兩張表格30和32,其中表格30 具有兩列301和302,其中列301用于記錄事務(wù)從中讀出數(shù)據(jù)的內(nèi)存 的地址,而列302用于記錄表明列301中的信息是屬于哪個(gè)事務(wù)的 色彩比特;表格32包括三列321、 322和323,其中列321用于記錄 事務(wù)向其寫(xiě)入數(shù)據(jù)的內(nèi)存的地址,列322用于記錄所述要寫(xiě)入的數(shù) 據(jù),而列323用于記錄表明列321和322中的信息是屬于哪個(gè)事務(wù) 的色彩比特。
操作系統(tǒng)400可以通過(guò) 一 個(gè)色彩寄存器,來(lái)確定 一 個(gè)緩沖器是否 可以分配給所述事務(wù)。例如,該色彩寄存器的初始值可以設(shè)定為一 個(gè)緩沖器可以分配給事務(wù)的數(shù)目的最大值,當(dāng)一個(gè)事務(wù)被分配到所 述緩沖器時(shí),該色彩寄存器的值減l。當(dāng)一個(gè)事務(wù)不再需要所述緩沖 器來(lái)記錄其蹤跡時(shí),即該事務(wù)的蹤跡被從緩沖器中刪除時(shí),該色彩 寄存器的值加1。當(dāng)色彩寄存器的值為零時(shí),說(shuō)明事務(wù)已經(jīng)不能分配 到該緩沖器了。
另外,該色彩寄存器還記錄有顏色與事務(wù)的對(duì)應(yīng)關(guān)系。也就是說(shuō),哪個(gè)顏色已經(jīng)被用于哪個(gè)事務(wù),所述對(duì)應(yīng)關(guān)系也動(dòng)態(tài)更新。 色彩寄存器可以位于對(duì)應(yīng)的緩沖器中。
在本發(fā)明的另一個(gè)實(shí)施方式中,同一個(gè)線程的所有事務(wù)都被分配 到同一個(gè)緩沖器。也就是說(shuō),在該實(shí)施方式中,以線程為粒度來(lái)進(jìn) 行緩沖器的分配。
例如,如果線程210的第一個(gè)事務(wù)2101被分配到緩沖器350, 那么線程210的第二個(gè)事務(wù)2102和第三個(gè)事務(wù)2103也被分配到緩 沖器350。
在本發(fā)明的實(shí)施方式中,當(dāng)操作系統(tǒng)400確定一個(gè)事務(wù)由于各種 各樣的原因,需要被切換出去時(shí),該事務(wù)的蹤跡仍然保留在該事務(wù) 剛開(kāi)始時(shí)分配給它的緩沖器中,而不像現(xiàn)有技術(shù)那樣,將切換出去 的事務(wù)的蹤跡從緩存中移走,例如移到內(nèi)存中。需要進(jìn)行切換的原 因包括事務(wù)可能被定時(shí)器中斷、被異常(例如TLB (Translation Lookaside Buffer)沒(méi)有命中)中斷等等。
這種方案的優(yōu)點(diǎn)在于大大降低了活躍事務(wù)與切換出去的事務(wù)之 間的沖突檢測(cè)代價(jià),原因是活躍事務(wù)的蹤跡和切換出去的事務(wù)的蹤 跡都保留在緩沖器中,而不需要為了對(duì)已經(jīng)切換出去的事務(wù)的蹤跡 進(jìn)行訪問(wèn),以進(jìn)行沖突檢測(cè),而訪問(wèn)內(nèi)存,其中訪問(wèn)內(nèi)存所花的時(shí) 間比訪問(wèn)緩沖器所花的時(shí)間要長(zhǎng)。
沖突檢測(cè)可以由沖突仲裁器進(jìn)行。本發(fā)明并不關(guān)心沖突仲裁器如 何進(jìn)行沖突檢測(cè),即以什么樣的標(biāo)準(zhǔn)判斷活躍事務(wù)與切換出去的事 務(wù)之間發(fā)生沖突。沖突檢測(cè)結(jié)果可以是終止活躍事務(wù)或者終止切換 出去的事務(wù)。在圖1中沒(méi)有示出沖突仲裁器。沖突仲裁器可以是操 作系統(tǒng)400的一部分、是硬件、是固件、是中間件軟件、甚至是應(yīng) 用層軟件。如果沖突仲裁器不是操作系統(tǒng)400的一部分,則沖突仲 裁器可以將沖突檢測(cè)結(jié)果告訴給操作系統(tǒng)400。例如,沖突仲裁器可 以在一個(gè)數(shù)據(jù)結(jié)構(gòu)(終止緩沖器)中寫(xiě)入由于沖突而需要被終止的 事務(wù)的標(biāo)識(shí),該數(shù)據(jù)結(jié)構(gòu)例如位于內(nèi)存中,可以由操作系統(tǒng)或者應(yīng) 用程序等訪問(wèn)。當(dāng)導(dǎo)致事務(wù)切換出去的事件結(jié)束,而需要將該事務(wù)切換回來(lái)時(shí),
操作系統(tǒng)400將所述事務(wù)切換回來(lái)。
然后,操作系統(tǒng)400通過(guò)查看上述終止緩沖器,來(lái)判斷所述切換 出去后又切換回來(lái)的事務(wù)是否被終止。
如果所述切換出去的事務(wù)不需要被終止,操作系統(tǒng)400就繼續(xù)執(zhí)
行該事務(wù)。
在本發(fā)明的實(shí)施方式中,繼續(xù)在該事務(wù)被切換出去之前所分配的 緩沖器中記錄該切換回來(lái)的事務(wù)的蹤跡。
如果所述切換出去的事務(wù)需要被終止,操作系統(tǒng)400終止所述事務(wù)。
當(dāng)一個(gè)事務(wù)終止時(shí),其在緩沖器中的蹤跡也被刪除。 然后,操作系統(tǒng)400重新執(zhí)行該被終止的事務(wù)。 當(dāng)該被終止的事務(wù)重新執(zhí)行時(shí),不一定需要被分配到被終止之前
所分配的那個(gè)緩沖器,任意一個(gè)緩沖器都可以分配給該重新執(zhí)行的事務(wù)。
在本發(fā)明的實(shí)施方式中,切換回來(lái)的事務(wù)可以在不同于在切換出 去之前在其上執(zhí)行的處理器核的處理器核上執(zhí)行。例如,如果在切 換出去之前,事務(wù)2101在處理器核310上執(zhí)行,那么在事務(wù)2101 被切換回來(lái)之后,它可以在處理器核320上纟丸行。
圖4示出了根據(jù)本發(fā)明的實(shí)施方式的用于事務(wù)內(nèi)存的方法的流 程圖。所述方法例如由操作系統(tǒng)400實(shí)現(xiàn)。
首先,當(dāng)開(kāi)始一個(gè)事務(wù)時(shí),向所述事務(wù)分配一個(gè)基于硬件的事務(wù) 蹤跡記錄器(例如緩沖器350 ),用于記錄所述事務(wù)的蹤跡(步驟 S410)。
接下來(lái),確定所述事務(wù)由于各種各樣的原因需要切換出去(步驟 S420)。
然后,將所述事務(wù)切換出去(步驟S430 )。 其中所述事務(wù)的蹤跡包括事務(wù)從中讀出數(shù)據(jù)的內(nèi)存的地址、事務(wù) 向其寫(xiě)入數(shù)據(jù)的內(nèi)存的地址、以及要寫(xiě)入的數(shù)據(jù)。其中所述切換出去的事務(wù)的蹤跡,仍然保留在所述基于硬件的事 務(wù)蹤跡記錄器中,而不被轉(zhuǎn)移走,例如被轉(zhuǎn)移到內(nèi)存中。
在本發(fā)明的一個(gè)實(shí)施方式中,所述基于硬件的事務(wù)蹤跡記錄器由 多個(gè)處理器核共享。
在本發(fā)明的一個(gè)實(shí)施方式中,通過(guò)在事務(wù)蹤跡的每個(gè)條目中包括 用于識(shí)別是哪個(gè)事務(wù)的蹤跡的色彩比特,所述基于硬件的事務(wù)蹤跡
記錄器可以同時(shí)分配給多個(gè)事務(wù),因此,在步驟S410之前,所述方
法還包括步驟訪問(wèn)一個(gè)色彩寄存器,以確定所述基于硬件的事務(wù)
蹤跡記錄器是否可以分配給所述事務(wù)(該步驟沒(méi)有在圖4中示出)。 在本發(fā)明的一個(gè)實(shí)施方式中,所述基于硬件的事務(wù)蹤跡記錄器是
多個(gè)基于硬件的事務(wù)蹤跡記錄器中的一個(gè)。
接下來(lái),在步驟S440,切換回所述切換出去的事務(wù)。
接下來(lái),在步驟S450,判斷所述切換出去又切換回的事務(wù)是否
由于與活躍事務(wù)存在沖突要被終止。
如果步驟S450的回答是否定的,那么流程進(jìn)行到步驟S470。 在步驟S470,繼續(xù)執(zhí)行切換回來(lái)的所述事務(wù),其中繼續(xù)在該事
務(wù)被切換出去之前所分配的緩沖器中記錄該切換回來(lái)的事務(wù)的蹤跡。
如果步驟S450的回答是肯定的,那么流程進(jìn)行到步驟S460。
在步驟S460,終止所述要被終止的事務(wù)。然后,流程返回到步 驟S410,以重新執(zhí)行所述被終止的事務(wù)。
在本發(fā)明的一個(gè)實(shí)施方式中,與所述事務(wù)同屬于一個(gè)線程的所有 其他事務(wù)都分配到所述基于硬件的事務(wù)蹤跡記錄器。
本領(lǐng)域的技術(shù)人員可以理解,在繼續(xù)執(zhí)行切換出去后被切換回來(lái) 的事務(wù)的過(guò)程中,該事務(wù)有可能又被切換出去。
應(yīng)當(dāng)注意,為了使本發(fā)明更容易理解,上面的描述省略了對(duì)于本 領(lǐng)域的技術(shù)人員來(lái)說(shuō)是公知的、并且對(duì)于本發(fā)明的實(shí)現(xiàn)可能是必需 的更具體的 一 些纟支術(shù)細(xì)節(jié)。
提供本發(fā)明的說(shuō)明書(shū)的目的是為了說(shuō)明和描述,而不是用來(lái)窮舉或?qū)⒈景l(fā)明限制為所公開(kāi)的形式。對(duì)本領(lǐng)域的普通技術(shù)人員而言, 許多修改和變更都是顯而易見(jiàn)的。
因此,選擇并描述實(shí)施方式是為了更好地解釋本發(fā)明的原理及其 實(shí)際應(yīng)用,并使本領(lǐng)域普通技術(shù)人員明白,在不脫離本發(fā)明實(shí)質(zhì)的 前提下,所有修改和變更均落入由權(quán)利要求所限定的本發(fā)明的保護(hù) 范圍之內(nèi)。
權(quán)利要求
1. 一種用于事務(wù)內(nèi)存的方法,包括步驟當(dāng)開(kāi)始一個(gè)事務(wù)時(shí),向所述事務(wù)分配一個(gè)基于硬件的事務(wù)蹤跡記錄器,用于記錄所述事務(wù)的蹤跡;確定所述事務(wù)需要切換出去;以及將所述事務(wù)切換出去,其中所述切換出去的事務(wù)的蹤跡,仍然保留在所述基于硬件的事務(wù)蹤跡記錄器中。
2. 根據(jù)權(quán)利要求1所述的方法,其中所述基于硬件的事務(wù)蹤跡 記錄器由多個(gè)處理器核共享。
3. 根據(jù)權(quán)利要求1所述的方法,其中通過(guò)在事務(wù)蹤跡的每個(gè)條 目中包括用于識(shí)別是哪個(gè)事務(wù)的蹤跡的色彩比特,所述基于硬件的 事務(wù)蹤跡記錄器可以同時(shí)分配給多個(gè)事務(wù),其中,所述方法還包括 步驟訪問(wèn) 一 個(gè)色彩寄存器,以確定所述基于硬件的事務(wù)蹤跡記錄器是 否可以分配給所述事務(wù)。
4. 根據(jù)權(quán)利要求1所述的方法,還包括步驟 切換回所述切換出去的事務(wù)。
5. 根據(jù)權(quán)利要求4所述的方法,還包括步驟 終止所述切換出去的事務(wù)。
6. 根據(jù)權(quán)利要求1所述的方法,其中與所述事務(wù)同屬于一個(gè)線 程的所有其他事務(wù)都分配到所述基于硬件的事務(wù)蹤跡記錄器。
7. 根據(jù)權(quán)利要求1至6的任何之一所述的方法,其中所述基于 硬件的事務(wù)蹤跡記錄器是一個(gè)專用緩沖器或者與多個(gè)處理器核之一 相關(guān)聯(lián)的高速緩存。
8. 根據(jù)權(quán)利要求1至6的任何之一所述的方法,其中所述事務(wù) 的蹤跡包括事務(wù)從中讀出數(shù)據(jù)的內(nèi)存的地址、事務(wù)向其寫(xiě)入數(shù)據(jù)的 內(nèi)存的地址、以及要寫(xiě)入的數(shù)據(jù)。
9. 一種用于事務(wù)內(nèi)存的設(shè)備,包括用于當(dāng)開(kāi)始一個(gè)事務(wù)時(shí),向所述事務(wù)分配一個(gè)基于硬件的事務(wù)蹤 跡記錄器,用于記錄所述事務(wù)的蹤跡的裝置;用于確定所述事務(wù)需要切換出去的裝置;以及 用于將所述事務(wù)切換出去的裝置,其中所述切換出去的事務(wù)的蹤跡,仍然保留在所述基于硬件的事 務(wù)蹤跡記錄器中。
10. 根據(jù)權(quán)利要求9所述的設(shè)備,其中所述基于硬件的事務(wù)蹤跡 記錄器由多個(gè)處理器核共享。
11. 根據(jù)權(quán)利要求9所述的設(shè)備,其中通過(guò)在事務(wù)蹤跡的每個(gè)條 目中包括用于識(shí)別是哪個(gè)事務(wù)的蹤跡的色彩比特,所述基于硬件的 事務(wù)蹤跡記錄器可以同時(shí)分配給多個(gè)事務(wù),其中,所述設(shè)備還包括用于訪問(wèn) 一 個(gè)色彩寄存器,以確定所述基于硬件的事務(wù)蹤跡記錄 器是否可以分配給所述事務(wù)的裝置。
12. 根據(jù)權(quán)利要求9所述的設(shè)備,還包括 用于切換回所述切換出去的事務(wù)的裝置。
13. 根據(jù)權(quán)利要求12所述的設(shè)備,還包括 用于終止所述切換出去的事務(wù)的裝置。
14. 根據(jù)權(quán)利要求9所述的設(shè)備,其中與所述事務(wù)同屬于一個(gè)線 程的所有其他事務(wù)都分配到所述基于硬件的事務(wù)蹤跡記錄器。
15. 根據(jù)權(quán)利要求9至14的任何之一所述的設(shè)備,其中所述基 于硬件的事務(wù)蹤跡記錄器是一個(gè)專用緩沖器或者與多個(gè)處理器核之 一相關(guān)聯(lián)的高速緩存。
16. 根據(jù)權(quán)利要求9至14的任何之一所述的設(shè)備,其中所述事 務(wù)的蹤跡包括事務(wù)從中讀出數(shù)據(jù)的內(nèi)存的地址、事務(wù)向其寫(xiě)入數(shù)據(jù) 的內(nèi)存的地址、以及要寫(xiě)入的數(shù)據(jù)。
全文摘要
本發(fā)明公開(kāi)了一種用于事務(wù)內(nèi)存的方法和設(shè)備。其中,該方法包括步驟當(dāng)開(kāi)始一個(gè)事務(wù)時(shí),向所述事務(wù)分配一個(gè)基于硬件的事務(wù)蹤跡記錄器,用于記錄所述事務(wù)的蹤跡;確定所述事務(wù)需要切換出去;以及將所述事務(wù)切換出去,其中所述切換出去的事務(wù)的蹤跡,仍然保留在所述基于硬件的事務(wù)蹤跡記錄器中。根據(jù)本發(fā)明,不但實(shí)現(xiàn)了使得事務(wù)內(nèi)存支持事務(wù)的切換,而且由于切換出去的事務(wù)的蹤跡仍然保留在基于硬件的事務(wù)蹤跡記錄器中,因此大大降低了活躍事務(wù)與切換出去的事務(wù)之間的沖突檢測(cè)代價(jià)。
文檔編號(hào)G06F11/34GK101430650SQ20071016924
公開(kāi)日2009年5月13日 申請(qǐng)日期2007年11月7日 優(yōu)先權(quán)日2007年11月7日
發(fā)明者銳 侯, 沈曉衛(wèi), 王華勇 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
繁昌县| 隆昌县| SHOW| 扎兰屯市| 松溪县| 天等县| 青岛市| 酉阳| 古丈县| 杂多县| 福建省| 克什克腾旗| 聂荣县| 益阳市| 小金县| 荆门市| 海兴县| 自治县| 吉水县| 万年县| 古蔺县| 渝北区| 繁昌县| 吴忠市| 临泽县| 和田市| 永福县| 宜丰县| 黔南| 祁连县| 贺州市| 呼和浩特市| 正镶白旗| 龙山县| 浮山县| 光泽县| 天镇县| 徐水县| 民勤县| 阿瓦提县| 昔阳县|