1.一種處理器,包括:
多個核,用于執(zhí)行同時多線程化,所述核中的至少一個核用于執(zhí)行多個線程的指令的無序指令執(zhí)行;
要在所述核中的兩個或更多個核之間共享的至少一個共享高速緩存電路;
所述核中的至少一個核包括:
指令取出電路,用于取出所述線程中的一個或多個線程的指令;
指令解碼電路,用于解碼所述指令;
寄存器重命名電路,用于重命名寄存器組的寄存器;
指令高速緩存,用于存儲要被執(zhí)行的指令;
數(shù)據(jù)高速緩存,用于存儲數(shù)據(jù);
至少一個緩沖器,用于存儲與加載指令和存儲指令相關(guān)聯(lián)的條目;
事務(wù)處理電路,用于處理指令的事務(wù)區(qū),所述指令包括與第一事務(wù)區(qū)相關(guān)聯(lián)的加載指令和存儲指令中的一個或多個,所述事務(wù)處理電路用于處理事務(wù)開始指令與事務(wù)結(jié)束指令,所述事務(wù)開始指令指示指令的所述事務(wù)區(qū)的開始,所述事務(wù)結(jié)束指令指示指令的所述事務(wù)區(qū)的結(jié)束;
所述事務(wù)處理電路用于分配事務(wù)標(biāo)識符以便在事務(wù)區(qū)之間區(qū)分;
事務(wù)檢查點(diǎn)電路,用于響應(yīng)于指令的所述事務(wù)區(qū)的所述開始而存儲架構(gòu)狀態(tài);
事務(wù)狀態(tài)電路,用于存儲與第一事務(wù)相關(guān)聯(lián)的可編程失敗指示,其中所述第一事務(wù)基于其相關(guān)聯(lián)的失敗指示來失敗或繼續(xù),且其中所述可編程失敗指示用于響應(yīng)于所述第一事務(wù)加載的數(shù)據(jù)被第二事務(wù)修改而指示失?。灰约?/p>
用于響應(yīng)于所述第一事務(wù)的失敗來恢復(fù)所述事務(wù)檢查點(diǎn)電路所存儲的架構(gòu)狀態(tài)的電路。
2.如權(quán)利要求1所述的處理器,其特征在于,所述數(shù)據(jù)高速緩存用于存儲與高速緩存行相關(guān)聯(lián)的至少一個位,所述至少一個位在所述事務(wù)區(qū)從所述高速緩存行推測性地讀取數(shù)據(jù)時被設(shè)置,所述至少一個位用于將所述高速緩存行標(biāo)識為被所述事務(wù)區(qū)使用。
3.如權(quán)利要求2所述的處理器,其特征在于,所述至少一個位響應(yīng)于所述事務(wù)區(qū)的完成而被清除。
4.如權(quán)利要求1所述的處理器,其特征在于還包括:
互連電路,用于將所述處理器耦合至一個或多個系統(tǒng)組件。
5.一種處理器,包括:
多個核的同時多線程化裝置,用于執(zhí)行多個線程的無序指令執(zhí)行;
要在所述核中的兩個或更多個核之間共享的共享高速緩存裝置;
所述核中的至少一個核包括:
指令取出裝置,用于取出所述線程中的一個或多個線程的指令;
指令解碼裝置,用于解碼所述指令;
寄存器重命名裝置,用于重命名寄存器組的寄存器;
指令高速緩存裝置,用于存儲要被執(zhí)行的指令;
數(shù)據(jù)高速緩存裝置,用于存儲數(shù)據(jù);
加載/存儲緩沖器裝置,用于存儲與加載指令和存儲指令相關(guān)聯(lián)的條目;
事務(wù)處理裝置,用于處理指令的事務(wù)區(qū),所述指令包括與第一事務(wù)區(qū)相關(guān)聯(lián)的加載指令和存儲指令中的一個或多個,所述事務(wù)處理裝置用于處理事務(wù)開始指令與事務(wù)結(jié)束指令,所述事務(wù)開始指令指示指令的所述事務(wù)區(qū)的開始,所述事務(wù)結(jié)束指令指示指令的所述事務(wù)區(qū)的結(jié)束;
所述事務(wù)處理裝置用于分配事務(wù)標(biāo)識符以便在事務(wù)區(qū)之間區(qū)分;
事務(wù)檢查點(diǎn)裝置,用于響應(yīng)于指令的所述事務(wù)區(qū)的所述開始而存儲架構(gòu)狀態(tài);
事務(wù)狀態(tài)裝置,用于存儲與第一事務(wù)相關(guān)聯(lián)的可編程失敗指示,其中所述第一事務(wù)基于其相關(guān)聯(lián)的失敗指示來失敗或繼續(xù),且其中所述可編程失敗指示用于響應(yīng)于所述第一事務(wù)加載的數(shù)據(jù)被第二事務(wù)修改而指示失敗;以及
恢復(fù)裝置,用于響應(yīng)于所述第一事務(wù)的失敗來恢復(fù)所述事務(wù)檢查點(diǎn)電路所存儲的架構(gòu)狀態(tài)。
6.如權(quán)利要求5所述的處理器,其特征在于,所述數(shù)據(jù)高速緩存裝置用于存儲與高速緩存行相關(guān)聯(lián)的至少一個位,所述至少一個位在所述事務(wù)區(qū)從所述高速緩存行推測性地讀取數(shù)據(jù)時被設(shè)置,所述至少一個位可用于將所述高速緩存行標(biāo)識為被所述事務(wù)區(qū)使用。
7.如權(quán)利要求6所述的處理器,其特征在于,所述至少一個位響應(yīng)于所述事務(wù)區(qū)的完成而被清除。
8.如權(quán)利要求5所述的處理器,其特征在于還包括:
互連電路,用于將所述處理器耦合至一個或多個系統(tǒng)組件。
9.一種方法,包括:
執(zhí)行多個線程的同時多線程化以及所述多個線程的指令在多個核上的無序執(zhí)行;
在所述核中的兩個或更多個核之間共享高速緩存;
取出所述線程中的一個或多個線程的指令;
解碼所述指令;
重命名寄存器組的寄存器;
將要被執(zhí)行的指令存儲在指令高速緩存中;
將數(shù)據(jù)存儲在數(shù)據(jù)高速緩存中;
將與加載指令和存儲指令相關(guān)聯(lián)的條目存儲在加載/存儲緩沖器中;
處理指令的事務(wù)區(qū),所述指令包括與第一事務(wù)區(qū)相關(guān)聯(lián)的加載指令和存儲指令中的一個或多個;
處理事務(wù)開始指令與事務(wù)結(jié)束指令,所述事務(wù)開始指令指示指令的所述事務(wù)區(qū)的開始,所述事務(wù)結(jié)束指令指示指令的所述事務(wù)區(qū)的結(jié)束;
分配事務(wù)標(biāo)識符以便在事務(wù)區(qū)之間區(qū)分;
響應(yīng)于指令的所述事務(wù)區(qū)的所述開始而存儲架構(gòu)狀態(tài);
存儲與第一事務(wù)相關(guān)聯(lián)的可編程失敗指示,其中所述第一事務(wù)基于其相關(guān)聯(lián)的失敗指示來失敗或繼續(xù),且其中所述可編程失敗指示用于響應(yīng)于所述第一事務(wù)加載的數(shù)據(jù)被第二事務(wù)修改而指示失??;以及
響應(yīng)于所述第一事務(wù)的失敗來恢復(fù)所存儲的架構(gòu)狀態(tài)。
10.如權(quán)利要求9所述的方法,其特征在于,與所述數(shù)據(jù)高速緩存中的高速緩存行相關(guān)聯(lián)的至少一個位在所述事務(wù)區(qū)從所述高速緩存行推測性地讀取數(shù)據(jù)時被設(shè)置,所述至少一個位用于將所述高速緩存行標(biāo)識為被所述事務(wù)區(qū)使用。
11.如權(quán)利要求10所述的方法,其特征在于,所述至少一個位響應(yīng)于所述事務(wù)區(qū)的完成而被清除。
12.如權(quán)利要求11所述的方法,其特征在于還包括:
將所述處理器耦合至一個或多個系統(tǒng)組件。