[發(fā)明專利]控制多個(gè)核和線程的時(shí)戳計(jì)數(shù)器(TSC)偏移有效
| 申請(qǐng)?zhí)枺?/td> | 201010620032.3 | 申請(qǐng)日: | 2010-12-21 |
| 公開(公告)號(hào): | CN102103525A | 公開(公告)日: | 2011-06-22 |
| 發(fā)明(設(shè)計(jì))人: | M·G·迪克森;J·J·謝拉;R·S·帕塔薩拉蒂 | 申請(qǐng)(專利權(quán))人: | 英特爾公司 |
| 主分類號(hào): | G06F9/52 | 分類號(hào): | G06F9/52;G06F15/163 |
| 代理公司: | 上海專利商標(biāo)事務(wù)所有限公司 31100 | 代理人: | 毛力 |
| 地址: | 美國(guó)加利*** | 國(guó)省代碼: | 美國(guó);US |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 控制 多個(gè)核 線程 計(jì)數(shù)器 tsc 偏移 | ||
背景技術(shù)
許多處理器包括時(shí)戳計(jì)數(shù)(TSC)計(jì)數(shù)器,其通常實(shí)現(xiàn)為以固定速率增加的計(jì)數(shù)器。一些已知的TSC計(jì)數(shù)器按總線時(shí)鐘速率計(jì)數(shù),并且對(duì)于各個(gè)總線時(shí)鐘周期,增加一乘數(shù)。即,如果總線時(shí)鐘是以100兆赫(MHz),并且處理器是以2000MHz對(duì)操作被標(biāo)記,則對(duì)于每個(gè)總線周期,值20被增加到TSC計(jì)數(shù)。通常,對(duì)于多核處理器而言,處理器內(nèi)存在的多個(gè)核有一單個(gè)硬件TSC計(jì)數(shù)器。對(duì)于一給定的核,TSC的確定值是該TSC計(jì)數(shù)器值加上核偏移。
對(duì)于軟件而言,對(duì)在多插槽、多核以及多線程系統(tǒng)中同步的各個(gè)核保持TSC值是重要的。某些軟件使用TSC值作為戳記來(lái)記錄事件的順序,例如,在數(shù)據(jù)庫(kù)事務(wù)中。在兩個(gè)處理器之間具有向后運(yùn)行的時(shí)間能導(dǎo)致不利的后果,甚至對(duì)于某些操作而言是致命的。此外,使得TSC值在多個(gè)核之間進(jìn)行同步能產(chǎn)生相當(dāng)大的復(fù)雜性。
當(dāng)軟件更新給定核的TSC值時(shí),處理器讀取TSC計(jì)數(shù)器并計(jì)算新值。即,硬件TSC計(jì)數(shù)器從不被寫。由于該操作是有效地向移動(dòng)中的目標(biāo)進(jìn)行寫操作,軟件從來(lái)不保證它能接收到該值。即,用于更新給定核的TSC值的各種軟件操作能被無(wú)限地延遲。如果延遲發(fā)生在新值的軟件計(jì)算和該值的寫操作之間,則計(jì)算是無(wú)效的并且流程必須被重新執(zhí)行。在單個(gè)處理器系統(tǒng)中,這樣的操作是常見(jiàn)的。
在跨多個(gè)處理器更新TSC值時(shí),能產(chǎn)生相當(dāng)大的復(fù)雜性,尤其,當(dāng)這些值需要為正確的軟件操作被同步時(shí)。為了執(zhí)行對(duì)于多處理器系統(tǒng)的核的TSC值的寫操作,需要涉及屏障(barrier)和同步的更加復(fù)雜的流程,例如,成對(duì)同步,這提升了復(fù)雜性并且是耗時(shí)的。
附圖說(shuō)明
圖1是依照本發(fā)明的一實(shí)施例的處理器的一部分的框圖。
圖2是示出將核時(shí)戳計(jì)數(shù)(TSC)計(jì)數(shù)器和真實(shí)時(shí)間進(jìn)行比較的計(jì)時(shí)圖。
圖3是依照本發(fā)明的一實(shí)施例的一方法的流程圖。
圖4是依照本發(fā)明的一實(shí)施例的處理器核的框圖。
圖5是依照本發(fā)明的一實(shí)施例的處理器的框圖。
圖6是依照本發(fā)明的另一實(shí)施例的處理器的框圖。
圖7是依照本發(fā)明的一實(shí)施例的系統(tǒng)的框圖。
具體實(shí)施方式
在各個(gè)實(shí)例中,能獨(dú)立于其它核計(jì)算給定核(和/或一個(gè)或多個(gè)在核上執(zhí)行的線程)的時(shí)戳計(jì)數(shù)(TSC)值。這樣的核TSC值部分基于獨(dú)立的核TSC計(jì)數(shù)器以及將在以下描述的各種偏移。為此,能實(shí)現(xiàn)對(duì)于核偏移的直接讀和寫,而不需要在多核處理器的多個(gè)核之間的同步。由于插槽內(nèi)的所有核/線程共享單個(gè)硬件計(jì)數(shù)器,有效地對(duì)于核偏移的直接寫允許軟件在其空閑時(shí)更新核的偏移。注意,如將在以下詳細(xì)描述的,該直接寫可以是針對(duì)在一個(gè)或多個(gè)核上執(zhí)行的多個(gè)線程的每個(gè)的線程偏移的。在多種情況下,核TSC值能用作不重要的戳記機(jī)制來(lái),例如,排序事務(wù)或確定一天的當(dāng)前時(shí)間。
現(xiàn)在參考圖1,其示出了依照本發(fā)明的一實(shí)施例的處理器的一部分的框圖。如圖1中所示,處理器100包括非核(uncore)邏輯110和核邏輯150。通常,非核邏輯110包括各種線路、邏輯,以此執(zhí)行關(guān)于電力管理、與其它組件接口、計(jì)時(shí)等總的處理器操作。依次地,核邏輯150包括處理器的主要執(zhí)行單元以執(zhí)行各種指令。在許多實(shí)施例中,雖然僅僅示出了單個(gè)非核邏輯,處理器100可以是其中有多個(gè)核邏輯150的多核處理器。
參考圖1,其主要示出了用于關(guān)于時(shí)戳計(jì)數(shù)的計(jì)時(shí)操作的組件,為了方便說(shuō)明,沒(méi)有示出處理器的大部分其它線路和邏輯。關(guān)于非核邏輯110,提供了非核TSC計(jì)數(shù)器120。通常,非核TSC計(jì)數(shù)器120能通過(guò)增量器125以例如總線時(shí)鐘的速率被增加,即,處理器所耦合的總線。在一實(shí)施例中,該總線可以是前端總線(FSB),但是本發(fā)明的范圍不僅僅限制于此。即,術(shù)語(yǔ)“總線”被一般地用于指代任何類型的互連,包括諸如點(diǎn)對(duì)點(diǎn)互連的串行互連。作為一個(gè)例子,處理器通過(guò)點(diǎn)對(duì)點(diǎn)互連被耦合,并且由于在此可慮到總線時(shí)鐘速率,非核TSC計(jì)數(shù)器根據(jù)常用時(shí)鐘速率進(jìn)行計(jì)數(shù)。由非核TSC計(jì)數(shù)器120輸出的值被用于在非核內(nèi)的各種操作。此外,如將在以下詳細(xì)描述的,來(lái)自非核TSC計(jì)數(shù)器120的值可由各個(gè)核使用以允許在不同的核和/或在核上執(zhí)行的線程之間的同步。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于英特爾公司,未經(jīng)英特爾公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010620032.3/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 在多線程處理器中用于高速線程間中斷的方法和設(shè)備
- 一種多線程系統(tǒng)中實(shí)現(xiàn)實(shí)時(shí)監(jiān)控各線程狀態(tài)的方法
- 移動(dòng)終端系統(tǒng)線程池實(shí)現(xiàn)方法及裝置
- 一種基于策略模式的信號(hào)發(fā)生器多線程管理方法
- 多線程并發(fā)處理方法和多線程并發(fā)處理系統(tǒng)
- 分布式系統(tǒng)的線程管理方法和裝置
- 線程執(zhí)行方法、裝置、終端及存儲(chǔ)介質(zhì)
- 線程監(jiān)控方法、裝置、電子設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 一種多核系統(tǒng)中多線程調(diào)度方法、裝置及設(shè)備
- 線程間通信方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 多計(jì)數(shù)器的構(gòu)造方法、多計(jì)數(shù)器及使用其的多隊(duì)列裝置
- 用于可調(diào)式移液器的計(jì)數(shù)器
- 清花棉卷產(chǎn)量計(jì)數(shù)器
- 一種時(shí)鐘頻率跟蹤測(cè)量及誤差估計(jì)實(shí)現(xiàn)方法和模塊
- 燃?xì)獗碛?jì)數(shù)器的安裝裝置
- 一種魚卵魚苗便利計(jì)數(shù)器
- 燃?xì)獗碛?jì)數(shù)器的安裝裝置
- 一種膜式燃?xì)獗碛?jì)數(shù)器
- 一種燃?xì)獗碛?jì)數(shù)器防竊氣結(jié)構(gòu)
- 一種捻股雙計(jì)長(zhǎng)裝置





