亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

降低時(shí)鐘同步雙模冗余系統(tǒng)中的不可糾正錯(cuò)誤率的制作方法

文檔序號(hào):6567810閱讀:304來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):降低時(shí)鐘同步雙模冗余系統(tǒng)中的不可糾正錯(cuò)誤率的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,尤其涉及在數(shù)據(jù)處理裝置中抑制錯(cuò)誤 的領(lǐng)域。
背景技術(shù)
隨著集成電路制造技術(shù)的改進(jìn)不斷使微處理器和其他數(shù)據(jù)處理 裝置具有更小的尺寸和更低的工作電壓,這些設(shè)備的制造商和用戶(hù)變得更加關(guān)心軟錯(cuò)誤現(xiàn)象。當(dāng)a粒子和高能中子碰撞集成電路并改變存 儲(chǔ)在電路節(jié)點(diǎn)上的電荷時(shí),產(chǎn)生軟錯(cuò)誤。如果電荷改變足夠大,則節(jié) 點(diǎn)上的電壓可能從表示一種邏輯狀態(tài)的電平改變?yōu)楸硎疽环N不同的 邏輯狀態(tài)的電平,在這種情況下,存儲(chǔ)在該節(jié)點(diǎn)上的信息被破壞。通 常,軟錯(cuò)誤率隨著電路尺寸的減小而增加,這是因?yàn)楫?dāng)電路密度增加 時(shí)碰撞粒子擊中電壓節(jié)點(diǎn)的可能性增加。同樣,隨著工作電壓減小, 表示不同邏輯狀態(tài)的電壓電平之間的差值減小,因此改變電路節(jié)點(diǎn)上 的邏輯狀態(tài)需要更少的能量,并且產(chǎn)生更多的軟錯(cuò)誤。阻擋導(dǎo)致軟錯(cuò)誤的粒子是極其困難的,因此數(shù)據(jù)處理裝置常常包 括用于檢測(cè)并且有時(shí)用于糾正軟錯(cuò)誤的技術(shù)。這些錯(cuò)誤抑制技術(shù)包括 雙模冗余("DMR")和三模冗余("TMR")。利用DMR,兩個(gè)相同 的處理器或處理器內(nèi)核以時(shí)鐘同步Oockst印)的方式執(zhí)行相同的程 序,并且對(duì)它們的結(jié)果進(jìn)行比較。禾擁TMR,以時(shí)鐘同步的方式運(yùn) 行三個(gè)相同的處理器。使用DMR或TMR可以檢測(cè)任何一個(gè)處理器中的錯(cuò)誤,這是因 為錯(cuò)誤將導(dǎo)致結(jié)果出現(xiàn)差異,TMR提供了如下優(yōu)點(diǎn),即可以通過(guò)假 定三個(gè)處理器當(dāng)中的兩個(gè)處理器的匹配結(jié)果是正確的結(jié)果來(lái)實(shí)現(xiàn)從 錯(cuò)誤中的恢復(fù)。
通過(guò)在將所有結(jié)果提交給寄存器或者所有結(jié)果被允許影響系統(tǒng)的架構(gòu)狀態(tài)(architectural state)之前校驗(yàn)所有的結(jié)果,DMR系統(tǒng)中 的恢復(fù)也是可行的。然后,如果檢測(cè)到錯(cuò)誤,則通過(guò)重新執(zhí)行自最后 一個(gè)檢查點(diǎn)以來(lái)的所有指令,可以實(shí)現(xiàn)恢復(fù)。然而,由于延遲時(shí)間或 其他設(shè)計(jì)限制,這種方法并不實(shí)用。另一種方法是加入回退機(jī)制,如 果檢測(cè)到錯(cuò)誤,其允許恢復(fù)原來(lái)的架構(gòu)狀態(tài)。由于設(shè)計(jì)的復(fù)雜性,這 種方法也不實(shí)用,并且可能存在以下問(wèn)題,由于發(fā)生非確定性事件, 例如異步中斷或不等冪的輸出操作的重新執(zhí)行,而使從先前狀態(tài)重新 執(zhí)行的結(jié)果可能與原始結(jié)果不同。另外,因?yàn)镈MR和TMR的實(shí)現(xiàn)需要會(huì)受軟錯(cuò)誤影響的附加電 路,并且因?yàn)樗鼈兛梢詸z測(cè)到不然會(huì)變?yōu)槲幢粰z測(cè)到的但又不會(huì)引起 系統(tǒng)故障的錯(cuò)誤,所以DMR和TMR實(shí)際上可能增加錯(cuò)誤率。例如, 用于進(jìn)行預(yù)測(cè)的結(jié)構(gòu)中的錯(cuò)誤可能導(dǎo)致不正確的預(yù)測(cè),其中所述結(jié)構(gòu) 用于預(yù)測(cè)應(yīng)該推測(cè)性地執(zhí)行程序的哪個(gè)分支,但是當(dāng)最終評(píng)定分支條 件時(shí),處理器將自動(dòng)恢復(fù)。


借助實(shí)例說(shuō)明本發(fā)明,但不限于附圖。圖1示出本發(fā)明在多核處理器中的實(shí)施例;圖2示出使用微校驗(yàn)指紋邏輯(microcheck fingerprint logic)來(lái) 降低內(nèi)核間帶寬(cross-core bandwidth)的本發(fā)明的實(shí)施例;圖3示出本發(fā)明在用于降低時(shí)鐘同步雙模冗余系統(tǒng)中的不可糾 正錯(cuò)誤率的方法中的實(shí)施例;圖4示出本發(fā)明在用于降低時(shí)鐘同步雙模冗余系統(tǒng)中的不可糾 正錯(cuò)誤率的方法中的另一實(shí)施例;圖5示出本發(fā)明在用于降低時(shí)鐘同步雙模冗余系統(tǒng)中的不可糾 正錯(cuò)誤率的方法中的另一實(shí)施例;圖6示出本發(fā)明在時(shí)鐘同步雙模冗余系統(tǒng)中的實(shí)施例。
具體實(shí)施例方式
以下說(shuō)明用于降低時(shí)鐘同步雙模冗余系統(tǒng)中的不可糾正錯(cuò)誤率 的裝置和方法的實(shí)施例。在以下說(shuō)明中,為了對(duì)本發(fā)明有更加全面的 理解,闡明了許多具體的細(xì)節(jié),例如部件和系統(tǒng)結(jié)構(gòu)。然而,本領(lǐng)域 技術(shù)人員應(yīng)該理解的是,可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)施本發(fā) 明。另外,沒(méi)有對(duì)一些公知的結(jié)構(gòu)、電路、技術(shù)等進(jìn)行詳細(xì)的說(shuō)明, 以避免不必要地使本發(fā)明含混不清。DMR可以用于提供錯(cuò)誤檢測(cè)和糾正。然而,通過(guò)檢測(cè)到不會(huì)引 起系統(tǒng)故障的錯(cuò)誤,DMR也可能增加錯(cuò)誤率。本發(fā)明的實(shí)施例可以 通過(guò)使用微校驗(yàn)器檢測(cè)這種"假"錯(cuò)誤以便將它們忽略,來(lái)降低DMR 系統(tǒng)中的錯(cuò)誤率。其他實(shí)施例可以通過(guò)如下方式來(lái)降低DMR系統(tǒng)中 的錯(cuò)誤率將微校驗(yàn)器用于特定結(jié)構(gòu),例如高速緩存,為其重新產(chǎn)生 值并將該值與原始值進(jìn)行比較以確定兩個(gè)處理器中的哪一個(gè)應(yīng)該與 另一個(gè)處理器的狀態(tài)同步,由此避免完全回退機(jī)制的成本。本發(fā)明的 這些實(shí)施例是可取的,其提供了DMR的一些益處(例如,錯(cuò)誤檢測(cè) 和糾正能力),同時(shí)減少了一些缺點(diǎn)(例如,假錯(cuò)誤、完全恢復(fù)能力 的成本)。而且,本發(fā)明的實(shí)施例是可取的,其避免了用奇偶校驗(yàn)或糾錯(cuò)碼 機(jī)制保護(hù)特定的結(jié)構(gòu),所述機(jī)制可能很昂貴,并且對(duì)于不能破壞架構(gòu) 狀態(tài)的結(jié)構(gòu)也可能是不必要的。根據(jù)本發(fā)明的實(shí)施例,將這些結(jié)構(gòu)連 接到微校驗(yàn)器可以在不需要通過(guò)奇偶校驗(yàn)或其他方式確定兩個(gè)DMR 內(nèi)核中的哪一個(gè)出現(xiàn)了錯(cuò)誤的情況下,提供從錯(cuò)誤中恢復(fù)的能力。圖1示出本發(fā)明在多核處理器100中的實(shí)施例。通常,多核處理 器是包括一個(gè)以上執(zhí)行內(nèi)核的單個(gè)集成電路。執(zhí)行內(nèi)核包括用于執(zhí)行 指令的邏輯。除執(zhí)行內(nèi)核之外,多核處理器可以包括在本發(fā)明范圍內(nèi) 的專(zhuān)用或共享資源的任何組合。專(zhuān)用資源可以是專(zhuān)用于單內(nèi)核的資 源,例如專(zhuān)用的一級(jí)高速緩存,或者可以是專(zhuān)用于內(nèi)核的任何子集的 資源。共享資源可以是由所有內(nèi)核共享的資源,例如支持多核處理器 和另一部件之間的接口的共享外部總線單元或共享的二級(jí)高速緩存, 或者可以是由內(nèi)核的任何子集共享的資源。本發(fā)明還在多核處理器之 外的裝置中實(shí)現(xiàn),例如在具有至少兩個(gè)處理器的多處理器系統(tǒng)中實(shí)
現(xiàn),其中每個(gè)所述處理器具有至少一個(gè)內(nèi)核。處理器100包括內(nèi)核IIO和內(nèi)核120。內(nèi)核110和120可以基于 各種不同類(lèi)型的處理器中的任何一種的設(shè)計(jì),例如Pentium⑧處理器 系列、Itanium⑧處理器系列、或來(lái)自Intel公司的其他處理器系列中 的處理器,或者來(lái)自另一公司的另一處理器。處理器100還包括全局 校驗(yàn)器130和微校驗(yàn)器140。根據(jù)任何公知的用于檢測(cè)DMR系統(tǒng)中的時(shí)鐘同步故障的技術(shù), 例如利用比較器電路,全局校驗(yàn)器130將來(lái)自?xún)?nèi)核110的輸出與來(lái)自 內(nèi)核120的輸出進(jìn)行比較。例如,當(dāng)內(nèi)核110和120同步運(yùn)行具有相 同輸入的相同程序副本時(shí),可以對(duì)內(nèi)核110和120的輸出進(jìn)行比較。內(nèi)核IIO包括結(jié)構(gòu)111,其可以是任何電路、邏輯、功能塊、模 塊、單元或其他結(jié)構(gòu),所述其他結(jié)構(gòu)當(dāng)內(nèi)核110和120以時(shí)鐘同步的 方式操作時(shí)產(chǎn)生或保持與來(lái)自包括在內(nèi)核120中的相應(yīng)結(jié)構(gòu)121的相 應(yīng)值相匹配的值。在一個(gè)實(shí)施例中,結(jié)構(gòu)111和121可以是不能改變處理器100或 包括處理器100的系統(tǒng)的架構(gòu)狀態(tài)的結(jié)構(gòu)。例如,結(jié)構(gòu)111和121可 以是預(yù)測(cè)結(jié)構(gòu),例如條件分支預(yù)測(cè)器、跳轉(zhuǎn)預(yù)測(cè)器、返回地址預(yù)測(cè)器、 或存儲(chǔ)器相關(guān)性(memory dependence)預(yù)測(cè)器。在另一實(shí)施例中,結(jié)構(gòu)1U和121可以是其內(nèi)容在包括處理器100 的系統(tǒng)中的其他處被復(fù)制、或被重新產(chǎn)生的結(jié)構(gòu)。例如,結(jié)構(gòu)lll和 121可以是高速緩存結(jié)構(gòu),其中每個(gè)未修改的高速緩存線或項(xiàng)是可以 通過(guò)從系統(tǒng)中的更高級(jí)高速緩存或其他存儲(chǔ)器中重新加載高速緩存 線或項(xiàng)來(lái)重新產(chǎn)生的值。微校驗(yàn)器140將來(lái)自結(jié)構(gòu)111的值與來(lái)自結(jié)構(gòu)121的相應(yīng)值相比 較。在不同的實(shí)施例中,所比較的值可以根據(jù)結(jié)構(gòu)111和112的性質(zhì) 而不同,并且例如可以是指示是應(yīng)該進(jìn)行條件分支還是應(yīng)該發(fā)生跳轉(zhuǎn) 的單個(gè)比特、多比特預(yù)測(cè)返回地址、或多比特高速緩存線或項(xiàng)。因此, 微校驗(yàn)器140的性質(zhì)在不同的實(shí)施例中可以不同,并且可以根據(jù)任何 公知的技術(shù),例如利用專(zhuān)用電路或門(mén)電路或比較器電路,來(lái)進(jìn)行比較。在一個(gè)實(shí)施例中,可以將微校驗(yàn)器140配置為保留其比較結(jié)果至 少直到時(shí)鐘同步的程序執(zhí)行已經(jīng)到達(dá)這樣一個(gè)點(diǎn)為止,即在該點(diǎn)全局校驗(yàn)器130所檢測(cè)到的時(shí)鐘同步故障不能被歸因于在微校驗(yàn)器140所 比較的值之間的不匹配。例如,如果微校驗(yàn)器是組合邏輯,并且所比 較的值保持靜態(tài)至少直到到達(dá)每個(gè)時(shí)鐘同步故障檢測(cè)點(diǎn)為止,則可以 在沒(méi)有任何特殊存儲(chǔ)元件的情況下實(shí)現(xiàn)微校驗(yàn)器140的這種配置,或 者可以利用寄存器或其他存儲(chǔ)微校驗(yàn)器140的結(jié)果的存儲(chǔ)元件來(lái)實(shí) 現(xiàn)微校驗(yàn)器140的這種配置。在其他實(shí)施例中,不需要將微校驗(yàn)器配 置為保留其比較結(jié)果。處理器100還包括故障邏輯150。故障邏輯150可以是任何硬件、 微代碼、可編程邏輯、處理器抽象層、固件、軟件、或其他命令處理 器100對(duì)全局校驗(yàn)器130檢測(cè)到時(shí)鐘同步故障進(jìn)行響應(yīng)的邏輯。在全 局校驗(yàn)器130檢測(cè)到時(shí)鐘同步故障時(shí),如果微校驗(yàn)器140已經(jīng)檢測(cè)到 來(lái)自結(jié)構(gòu)111的值和來(lái)自結(jié)構(gòu)121的相應(yīng)值之間的不匹配,則故障邏 輯150使內(nèi)核110和內(nèi)核120如下所述那樣被重新同步。然而,如果 微校驗(yàn)器140沒(méi)有檢測(cè)到來(lái)自結(jié)構(gòu)111的值和來(lái)自結(jié)構(gòu)121的相應(yīng)值 之間的不匹配,則根據(jù)任何公知的指示系統(tǒng)故障的方法,例如報(bào)告故 障碼和中斷操作,故障邏輯150指示檢測(cè)到不可糾正的錯(cuò)誤。盡管圖1僅僅示出內(nèi)核110中的結(jié)構(gòu)111和內(nèi)核120中的結(jié)構(gòu)121 向微校驗(yàn)器40提供輸入,但是在本發(fā)明的范圍內(nèi)可以使用任何數(shù)量 的結(jié)構(gòu)和微校驗(yàn)器。例如,圖2示出使用每個(gè)內(nèi)核多個(gè)結(jié)構(gòu)、單個(gè)微 校驗(yàn)器和用于降低內(nèi)核間帶寬的指紋邏輯的本發(fā)明的實(shí)施例。在圖2中,處理器200包括內(nèi)核210和220、全局校驗(yàn)器230、 微校驗(yàn)器240以及故障邏輯250。內(nèi)核210包括結(jié)構(gòu)211、 213和215, 并且處理器內(nèi)核220包括結(jié)構(gòu)221、 223和225。結(jié)構(gòu)211包括根據(jù)來(lái)自結(jié)構(gòu)213和215的值產(chǎn)生指紋的指紋邏輯 212,其中結(jié)構(gòu)213和215可以是如以上相對(duì)于圖1中的結(jié)構(gòu)111所 述的任何結(jié)構(gòu)。同樣,結(jié)構(gòu)221包括根據(jù)與指紋邏輯212所用的方法 相同的方法、基于來(lái)自結(jié)構(gòu)223和225的值產(chǎn)生指紋的指紋邏輯222。指紋邏輯212和指紋邏輯222可以利用任何公知的將兩個(gè)或多個(gè) 值組合成單個(gè)值的方法(例如,使用循環(huán)冗余校驗(yàn)器產(chǎn)生校驗(yàn)和)來(lái)
實(shí)現(xiàn)??梢允褂弥讣y邏輯212和指紋邏輯222,以便微校驗(yàn)器240可 以檢測(cè)結(jié)構(gòu)213與223以及結(jié)構(gòu)215與225之間的不匹配,而不是對(duì) 于結(jié)構(gòu)213和223使用一個(gè)微校驗(yàn)器,對(duì)于結(jié)構(gòu)215和225使用另一 個(gè)微校驗(yàn)器。指紋邏輯212和指紋邏輯222還可以用于降低內(nèi)核間帶寬。例如, 指紋邏輯212可以用于組合來(lái)自結(jié)構(gòu)213和215的值,從而使指紋邏 輯212的輸出中的比特的數(shù)量小于這兩個(gè)值中的比特的總數(shù)量。盡管 在一些實(shí)施例中,希望指紋邏輯212對(duì)于每一輸入組合輸出唯一的 值,但是在其他實(shí)施例中,希望在與減少連接到微校驗(yàn)器240的每一 輸入的比特?cái)?shù)量的交換中接受來(lái)自微校驗(yàn)器240的小于100%的準(zhǔn)確 度。微校驗(yàn)器240的小于100%的準(zhǔn)確度是可以接受的,這是因?yàn)槲?校驗(yàn)器240未能檢測(cè)到可糾正的時(shí)鐘同步故障將被解釋為不可糾正 的時(shí)鐘同步故障,而不是被解釋為可以導(dǎo)致系統(tǒng)破壞的正確時(shí)鐘同步 操作。圖3示出本發(fā)明在用于降低包括圖1的處理器100的時(shí)鐘同步雙 模冗余系統(tǒng)中的不可糾正錯(cuò)誤率的方法300中的實(shí)施例,其中結(jié)構(gòu) 111和121是不能改變架構(gòu)狀態(tài)的結(jié)構(gòu),例如預(yù)測(cè)結(jié)構(gòu)。在方框310中,內(nèi)核110和120以時(shí)鐘同步的方式進(jìn)行操作。在 方框311中,結(jié)構(gòu)lll產(chǎn)生第一值,而結(jié)構(gòu)121產(chǎn)生第二值。第一值 可以與第二值匹配,也可以與第二值不匹配。在方框320中,微校驗(yàn) 器140將來(lái)自結(jié)構(gòu)111和121的值相比較。在方框330中,存儲(chǔ)在方 框320中的比較結(jié)果。在方框331中,內(nèi)核110基于結(jié)構(gòu)111所產(chǎn)生的值執(zhí)行第一指令, 而內(nèi)核120基于結(jié)構(gòu)121所產(chǎn)生的值執(zhí)行第二指令。第一和第二指令 可以是相同的指令,也可以是不同的指令。通過(guò)指示條件分支預(yù)測(cè)、 跳轉(zhuǎn)預(yù)測(cè)、返回地址預(yù)測(cè)、存儲(chǔ)器相關(guān)性預(yù)測(cè)、或者任何其他不能改 變架構(gòu)狀態(tài)的預(yù)測(cè)或結(jié)果,第--和第二值可以用作用于確定執(zhí)行什么 指令的基礎(chǔ)。方法300從方框331直接前進(jìn)到方框340,或在內(nèi)核110和120 執(zhí)行了任何數(shù)量的附加指令之后前進(jìn)到方框340。 在方框340,全局校驗(yàn)器130將來(lái)自?xún)?nèi)核110禾B 120的輸出相比 較。如果輸出相匹配,則在方框310中內(nèi)核UO和120的時(shí)鐘同步操 作繼續(xù)進(jìn)行,不管存儲(chǔ)在方框330中的結(jié)果如何,都不受任何錯(cuò)誤糾 正、恢復(fù)或通知技術(shù)(notificationtechnique)的影響。然而,如果在 方框340中全局校驗(yàn)器140檢測(cè)到時(shí)鐘同步故障,則方法300前進(jìn)到 方框350。如果存儲(chǔ)在方框330中的結(jié)果指示來(lái)自結(jié)構(gòu)111的值與來(lái)自結(jié)構(gòu) 121的值相匹配,則方法300從方框350前進(jìn)到方框360。在方框360 中,例如通過(guò)報(bào)告故障碼并中斷系統(tǒng),故障邏輯150指示檢測(cè)到不可 糾正的錯(cuò)誤。如果存儲(chǔ)在方框330中的結(jié)果指示在來(lái)自結(jié)構(gòu)111和121的值之 間不匹配,則方法300從方框350前進(jìn)到方框370。在方框370中, 故障邏輯150導(dǎo)致內(nèi)核110和120的重新同步??梢酝ㄟ^(guò)改變內(nèi)核 110的架構(gòu)狀態(tài)以與內(nèi)核120的架構(gòu)狀態(tài)相匹配,或反之亦然,來(lái)實(shí) 現(xiàn)該重新同步。然后,方法300返回到方框310。圖4示出本發(fā)明在用于降低包括圖1的處理器100的時(shí)鐘同步雙 模冗余系統(tǒng)中的不可糾正錯(cuò)誤率的方法400中的實(shí)施例,其中結(jié)構(gòu) 111和121是其內(nèi)容在系統(tǒng)中的其他處被復(fù)制或可以被重新產(chǎn)生的結(jié) 構(gòu),例如高速緩存。在方框410中,內(nèi)核110和120以時(shí)鐘同步的方式進(jìn)行操作。在 方框411中,導(dǎo)致對(duì)結(jié)構(gòu)111中的未修改的高速緩存線進(jìn)行加載的指 令由內(nèi)核110執(zhí)行,并且導(dǎo)致對(duì)結(jié)構(gòu)121中的未修改的高速緩存線進(jìn) 行加載的指令產(chǎn)生第二值。方法400從方框411直接前進(jìn)到方框420, 或在內(nèi)核IIO和120執(zhí)行了任何數(shù)量的附加指令之后前進(jìn)到方框420。在方框420中,微校驗(yàn)器140將來(lái)自結(jié)構(gòu)111的值(例如,在方 框411中被加載的高速緩存線)與來(lái)自結(jié)構(gòu)121的值(例如,在方框 411中被加載的高速緩存線)相比較。在方框430中,存儲(chǔ)方框420 中的比較結(jié)果。方法400從方框430直接前進(jìn)到方框440,或在內(nèi)核110和120 執(zhí)行了任何數(shù)量的附加指令之后前進(jìn)到方框440。
在方框440中,全局校驗(yàn)器130將來(lái)自?xún)?nèi)核110和120的輸出相 比較。如果輸出相匹配,則在方框410中內(nèi)核110和120的時(shí)鐘同步 操作繼續(xù)進(jìn)行,不管存儲(chǔ)在方框430中的結(jié)果如何,都不受任何錯(cuò)誤 糾正、恢復(fù)或通知技術(shù)的影響。然而,如果在方框440中全局校驗(yàn)器 140檢測(cè)到時(shí)鐘同步故障,則方法400前進(jìn)到方框450。如果存儲(chǔ)在方框430中的結(jié)果指示來(lái)自結(jié)構(gòu)111的值與來(lái)自結(jié)構(gòu) 121的值相匹配,則方法400從方框450前進(jìn)到框460。在方框460 中,例如通過(guò)報(bào)告故障碼且中斷系統(tǒng),故障邏輯150指示檢測(cè)到不可 糾正的錯(cuò)誤。如果存儲(chǔ)在方框430中的結(jié)果指示在來(lái)自結(jié)果111和121的值之 間不匹配,則方法400從方框450前進(jìn)到方框470。在方框470到473 中,故障邏輯150導(dǎo)致內(nèi)核110和120的重新同步。在方框470中,例如通過(guò)重新加載在方框411中加載的高速緩存 線,在系統(tǒng)中的其他處發(fā)現(xiàn),或者不然重新產(chǎn)生來(lái)自結(jié)構(gòu)111和121 的值。所重新產(chǎn)生的一個(gè)值(例如,如果從該值在系統(tǒng)中被復(fù)制的地 方獲得其單個(gè)副本)或多個(gè)值(例如,如果從該值在系統(tǒng)中被復(fù)制的地方獲得每一結(jié)構(gòu)該值的副本)可以被加載到一個(gè)寄存器或多個(gè)寄存 器中,或者其它的一個(gè)或多個(gè)位置,其提供用來(lái)與來(lái)自結(jié)構(gòu)111和 121的值進(jìn)行比較?;蛘?,可以將來(lái)自結(jié)構(gòu)111和121的值移至寄存 器、或其它提供用來(lái)與所重新產(chǎn)生的一個(gè)或多個(gè)值進(jìn)行比較的位置, 例如通過(guò)重新執(zhí)行在方框411中執(zhí)行的指令可以獲得所述重新產(chǎn)生 的一個(gè)或多個(gè)值。在方框471中,將所重新產(chǎn)生的一個(gè)或多個(gè)值與來(lái)自結(jié)構(gòu)111和 121的值相比較。如果所重新產(chǎn)生的值與來(lái)自結(jié)構(gòu)111的值相匹配, 則在方框472中,例如通過(guò)改變內(nèi)核120的架構(gòu)狀態(tài)以與內(nèi)核110的 架構(gòu)狀態(tài)相匹配,使內(nèi)核120與內(nèi)核110同步。如果所重新產(chǎn)生的值 與來(lái)自結(jié)構(gòu)121的值相匹配,則在方框473中,例如通過(guò)改變內(nèi)核 110的架構(gòu)狀態(tài)以與內(nèi)核120的架構(gòu)狀態(tài)相匹配,使內(nèi)核110與內(nèi)核 120相匹配。方法400從方裙472和473返回到方框410。圖5示出本發(fā)明在用于降低包括圖2的處理器200的時(shí)鐘同步雙
模冗余系統(tǒng)中的不可糾正錯(cuò)誤率的方法500中的實(shí)施例。在方框510中,內(nèi)核210和220以時(shí)鐘同步的方式進(jìn)行操作。在 方框511中,結(jié)構(gòu)213產(chǎn)生值,并且結(jié)構(gòu)223產(chǎn)生值。來(lái)自結(jié)構(gòu)213 的值可以與來(lái)自結(jié)構(gòu)223的值相匹配,也可以與來(lái)自結(jié)構(gòu)223的值不 匹配。在方框512中,結(jié)構(gòu)215產(chǎn)生值,并且結(jié)構(gòu)225產(chǎn)生值。來(lái)自 結(jié)構(gòu)215的值可以與來(lái)自結(jié)構(gòu)225的值相匹配,也可以與來(lái)自結(jié)構(gòu) 225的值不匹配。在方框513中,結(jié)構(gòu)211基于來(lái)自結(jié)構(gòu)213和215的值產(chǎn)生指紋 值,并且結(jié)構(gòu)221基于來(lái)自結(jié)構(gòu)223和225的值產(chǎn)生指紋值??梢愿?據(jù)任何公知的用于組合值的技術(shù)(例如,使用循環(huán)冗余校驗(yàn)器產(chǎn)生校 驗(yàn)和)來(lái)產(chǎn)生指紋值。在方框520中,微校驗(yàn)器240將來(lái)自結(jié)構(gòu)211和221的指紋值相 比較。在方框530中,存儲(chǔ)方框520中的比較結(jié)果。在方框540中,全局校驗(yàn)器230將來(lái)自?xún)?nèi)核210和220的輸出相 比較。如果輸出相匹配,在方框510中內(nèi)核210和220的時(shí)鐘同步操 作繼續(xù)進(jìn)行,不管存儲(chǔ)在方框530中的結(jié)果如何,都不受任何錯(cuò)誤糾 正、恢復(fù)、或通知技術(shù)的影響。然而,如果在方框540中全局校驗(yàn)器 240檢測(cè)到時(shí)鐘同步故障,則方法500前進(jìn)到方框550。如果存儲(chǔ)在方框530中的結(jié)果指示來(lái)自結(jié)構(gòu)211的指紋值與來(lái)自 結(jié)構(gòu)221的指紋值相匹配,則方法500從方框550前進(jìn)到方框560。 在方框560中,例如通過(guò)報(bào)告故障碼且中斷系統(tǒng),故障邏輯250指示 檢測(cè)到不可糾正的錯(cuò)誤。如果存儲(chǔ)在方框530中的結(jié)果指示在來(lái)自結(jié)構(gòu)211和221的值之 間不匹配,則方法500從方框550前進(jìn)到方框570。在方框570中, 故障邏輯250導(dǎo)致內(nèi)核210和220的重新同步??梢酝ㄟ^(guò)改變內(nèi)核 210的架構(gòu)狀態(tài)以與內(nèi)核220的架構(gòu)狀態(tài)相匹配,或反之亦然,來(lái)實(shí) 現(xiàn)該重新同步。然后,方法500返回到方框510。在本發(fā)明的范圍內(nèi),可以以不同的順序執(zhí)行圖3、 4和5所示的 方法,可以省略所示的步驟,加入額外的步驟,或者將記錄、組合、 省略或額外的步驟組合。例如,如果微校驗(yàn)器的輸出保持為靜態(tài)直到
分別執(zhí)行方框350、 450或550 (檢査微校驗(yàn)器的比較結(jié)果)為止, 則可以省略方框330、 430或530 (存儲(chǔ)微校驗(yàn)器的比較結(jié)果)。其中可以省略方框330 (存儲(chǔ)微校驗(yàn)器的比較結(jié)果)的方法的其 他實(shí)例是其中不需要保留微校驗(yàn)器輸出的本發(fā)明的實(shí)施例。在一個(gè)這 樣的實(shí)施例中,方法可以從方框320的微校驗(yàn)器比較前進(jìn)到基于微校 驗(yàn)器比較的方框350的判定(或者,可以將方框320和350合并)。 在該實(shí)施例中,如果微校驗(yàn)器檢測(cè)到不匹配(在320或350中),則 處理器現(xiàn)有的分支誤預(yù)測(cè)恢復(fù)機(jī)制可以用于除掉推測(cè)狀態(tài),由此在方 框370中將內(nèi)核同步到非推測(cè)狀態(tài)。如果微校驗(yàn)器沒(méi)有檢測(cè)到不匹 配,則該實(shí)施例的方法可以前進(jìn)到方框331,以基于預(yù)測(cè)執(zhí)行指令, 然后前進(jìn)到方框340,以便全局校驗(yàn)器為時(shí)鐘同步故障進(jìn)行檢測(cè),然 后,如果檢測(cè)到時(shí)鐘同步故障,則前進(jìn)到方框360,以指示不可恢復(fù) 的錯(cuò)誤。圖6示出本發(fā)明在時(shí)鐘同步雙模冗余系統(tǒng)600中的實(shí)施例。系統(tǒng) 600包括多內(nèi)核處理器610和系統(tǒng)存儲(chǔ)器620。處理器610可以是如 以上對(duì)于圖1和2所述的任何處理器。系統(tǒng)存儲(chǔ)器620可以是任何類(lèi) 型的存儲(chǔ)器,例如基于半導(dǎo)體的靜態(tài)或動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器、基于半 導(dǎo)體的閃存或只讀存儲(chǔ)器、或者磁盤(pán)或光盤(pán)存儲(chǔ)器??梢砸匀魏尾贾?, 利用任何組合總線或者直接或點(diǎn)對(duì)點(diǎn)連接,并且通過(guò)任何其他部件使 處理器610和系統(tǒng)存儲(chǔ)器620彼此耦合。系統(tǒng)600也可以包括任何總 線(例如外圍總線)或部件(例如輸入/輸出設(shè)備),在圖6中未示出。在系統(tǒng)600中,系統(tǒng)存儲(chǔ)器620可以用于存儲(chǔ)可以加載到諸如上 述結(jié)構(gòu)lll、 121、 213、 215、 223和225的結(jié)構(gòu)的值。因此,系統(tǒng)存 儲(chǔ)器620可以是根據(jù)本發(fā)明的方法實(shí)施例的復(fù)制或重新產(chǎn)生的值的 來(lái)源,例如,如圖4的方框470所示。可以在從生成到模擬到制造的各個(gè)階段設(shè)計(jì)處理器100、處理器 200或者根據(jù)本發(fā)明的實(shí)施例設(shè)計(jì)的任何其他部件或部件的一部分。 表示設(shè)計(jì)的數(shù)據(jù)可以以多種方式表示設(shè)計(jì)。首先,如在模擬中所使用 的那樣,可以使用硬件描述語(yǔ)言或另一功能描述語(yǔ)言表示硬件。另外 或可選擇地,在設(shè)計(jì)過(guò)程的某些階段可以產(chǎn)生具有邏輯和/或晶體管
門(mén)電路的電路級(jí)模型。此外,在某些階段,大部分設(shè)計(jì)達(dá)到可以利用 表示各個(gè)器件的物理布局的數(shù)據(jù)對(duì)它們進(jìn)行建模的級(jí)別。在使用常規(guī)的半導(dǎo)體制造技術(shù)的情況下,表示器件布局模型的數(shù)據(jù)可以是指定在 用于掩模的不同掩模層上各種特征是存在或還是不存在的數(shù)據(jù),所述 掩模用于制造集成電路。在設(shè)計(jì)的任何表示中,可以將數(shù)據(jù)存儲(chǔ)在任何形式的機(jī)器可讀介 質(zhì)中。調(diào)制的或者以其他方式產(chǎn)生的用以傳送這種信息的光波或電 波、存儲(chǔ)器、或者磁或光存儲(chǔ)介質(zhì),例如盤(pán)片,可以是機(jī)器可讀介質(zhì)。 這些介質(zhì)中的任何一種可以"承載"或"指示"設(shè)計(jì)、或在本發(fā)明的 實(shí)施例中使用的其他信息,例如在錯(cuò)誤恢復(fù)例程中的指令。當(dāng)傳送指 示或承載信息的電載波時(shí),到執(zhí)行電信號(hào)的復(fù)制、緩沖、或重發(fā)的程 度,進(jìn)行新的復(fù)制。因此,通信供應(yīng)商或網(wǎng)絡(luò)供應(yīng)商的行為可以是對(duì) 體現(xiàn)本發(fā)明的技術(shù)的對(duì)象(例如,載波)進(jìn)行復(fù)制的行為。因此,公開(kāi)了用于降低時(shí)鐘同步雙模冗余系統(tǒng)中的不可糾正錯(cuò)誤 率的裝置和方法。盡管對(duì)特定實(shí)施例進(jìn)行了說(shuō)明并且在附圖中示出了 所述特定實(shí)施例,但是應(yīng)該理解的是,這些實(shí)施例僅僅是說(shuō)明性的而 不是限制本發(fā)明的寬廣范圍,并且本發(fā)明不限于所示和所述的具體結(jié) 構(gòu)和布置,因?yàn)閷?duì)于本領(lǐng)域技術(shù)人員而言,在研究本公開(kāi)文本時(shí)可以 想到多種其他修改。在諸如發(fā)展迅速且不容易預(yù)見(jiàn)更大的進(jìn)步的技術(shù) 領(lǐng)域中,由于實(shí)il技術(shù)進(jìn)步而得到幫助,使得可以在不脫離本公開(kāi)的 原則或所附權(quán)利要求的范圍的情況下,輕易地修改所公開(kāi)的實(shí)施例的 布置和細(xì)節(jié)。
權(quán)利要求
1、一種裝置,包括包括第一結(jié)構(gòu)的第一內(nèi)核;包括第二結(jié)構(gòu)的第二內(nèi)核;微校驗(yàn)器,用于檢測(cè)來(lái)自所述第一結(jié)構(gòu)的第一值是否與來(lái)自所述第二結(jié)構(gòu)的第二值相匹配;全局校驗(yàn)器,用于檢測(cè)所述第一內(nèi)核與所述第二內(nèi)核之間的時(shí)鐘同步故障;以及故障邏輯,用于如果所述全局校驗(yàn)器檢測(cè)到所述時(shí)鐘同步故障且所述微校驗(yàn)器檢測(cè)到所述第一值與所述第二值之間的不匹配,則使所述第一內(nèi)核和所述第二內(nèi)核重新同步。
2、 根據(jù)權(quán)利要求1所述的裝置,其中所述微校驗(yàn)器包括用于將 所述第一值與所述第二值相比較的比較器。
3、 根據(jù)權(quán)利要求1所述的裝置,其中所述全局校驗(yàn)器包括用于 將所述第一內(nèi)核的第一輸出與所述第二內(nèi)核的第二輸出相比較的比 較器。
4、 根據(jù)權(quán)利要求1所述的裝置,其中所述故障邏輯還用于如果 所述全局校驗(yàn)器檢測(cè)到所述時(shí)鐘同步故障且所述微校驗(yàn)器檢測(cè)到所 述第一值與所述第二值相匹配,則指示檢測(cè)到不可糾正的錯(cuò)誤。
5、 根據(jù)權(quán)利要求1所述的裝置,其中-所述第一內(nèi)核還包括第三結(jié)構(gòu)和第四結(jié)構(gòu); 所述第二內(nèi)核還包括第五結(jié)構(gòu)和第六結(jié)構(gòu); 所述第一結(jié)構(gòu)包括第一指紋邏輯,以基于來(lái)自所述第三結(jié)構(gòu)的第三值和來(lái)自所述第四結(jié)構(gòu)的第四值產(chǎn)生所述第一值;并且所述第二結(jié)構(gòu)包括第二指紋邏輯,以基于來(lái)自所述第五結(jié)構(gòu)的第 五值和來(lái)自所述第六結(jié)構(gòu)的第六值產(chǎn)生所述第二值。
6、 根據(jù)權(quán)利要求1所述的裝置,其中 所述第一內(nèi)核的架構(gòu)狀態(tài)與所述第一值無(wú)關(guān);并且 所述第二內(nèi)核的架構(gòu)狀態(tài)與所述第二值無(wú)關(guān)。
7、 根據(jù)權(quán)利要求6所述的裝置,其中 所述第一結(jié)構(gòu)是第一預(yù)測(cè)結(jié)構(gòu);并且 所述第二結(jié)構(gòu)是第二預(yù)測(cè)結(jié)構(gòu)。
8、根據(jù)權(quán)利要求1所述的裝置,其中所述故障邏輯還用于如果 所述全局校驗(yàn)器檢測(cè)到所述時(shí)鐘同步故障且所述微校驗(yàn)器檢測(cè)到所 述不匹配,則使所述第一值和所述第二值被重新產(chǎn)生。
9、根據(jù)權(quán)利要求8所述的裝置,其中: 所述第一結(jié)構(gòu)是第一高速緩存; 所述第一結(jié)果是第一高速緩存項(xiàng); 所述第二結(jié)構(gòu)是第二高速緩存;以及 所述第二結(jié)果是第二高速緩存項(xiàng)。
10、根據(jù)權(quán)利要求9所述的裝置,其中所述故障邏輯還用于如果 所述全局校驗(yàn)器檢測(cè)到所述時(shí)鐘同步故障且所述微校驗(yàn)器檢測(cè)到所 述不匹配,則使所述第一高速緩存項(xiàng)和所述第二高速緩存項(xiàng)被重新加 載。
11、 一種方法,包括校驗(yàn)來(lái)自第一內(nèi)核中的第一結(jié)構(gòu)的第--值是否與來(lái)自第二內(nèi)核中的第二結(jié)構(gòu)的第二值相匹配;檢測(cè)所述第一內(nèi)核與所述第二內(nèi)核之間的時(shí)鐘同步故障;以及 如果檢測(cè)到所述第一值與所述第二值之間的不匹配,則使所述第 一內(nèi)核和所述第二內(nèi)核重新同步。
12、 根據(jù)權(quán)利要求11所述的方法,還包括如果所述第一值與所 述第二值相匹配,則指示檢測(cè)到不可糾正的錯(cuò)誤。
13、 根據(jù)權(quán)利要求12所述的方法,還包括基于來(lái)自所述第一內(nèi)核中的第三結(jié)構(gòu)的第三值和來(lái)自所述第一內(nèi)核中的第四結(jié)構(gòu)的第四值產(chǎn)生所述第一值;以及基于來(lái)自所述第二內(nèi)核中的第五結(jié)構(gòu)的第五值和來(lái)自所述第二 內(nèi)核中的第六結(jié)構(gòu)的第六值產(chǎn)生所述第二值。
14、 根據(jù)權(quán)利要求13所述的方法,其中產(chǎn)生所述第一值包括基于所述第三值和所述第四值產(chǎn)生校驗(yàn)和;并且產(chǎn)生所述第二值包括基于所述第五值和所述第六值產(chǎn)生校驗(yàn)和。
15、 根據(jù)權(quán)利要求11所述的方法,還包括預(yù)測(cè)第一指令是否將由所述第一 內(nèi)核基于所述第一值來(lái)執(zhí)行;以及預(yù)測(cè)第二指令是否將由所述第二內(nèi)核基于所述第二值來(lái)執(zhí)行。
16、 根據(jù)權(quán)利要求11所述的方法,還包括如果檢測(cè)到所述不匹 配,則重新產(chǎn)生所述第一值和所述第二值。
17、 根據(jù)權(quán)利要求16所述的方法,還包括 將所述第一值與所重新產(chǎn)生的第一值相比較; 將所述第二值與所重新產(chǎn)生的第二值相比較; 如果所述第二值與所重新產(chǎn)生的第二值相匹配,則使所述第一內(nèi)核與所述第二內(nèi)核同步;以及如果所述第一值與所重新產(chǎn)生的第一值相匹配,則使所述第二內(nèi)核與所述第一內(nèi)核同步。
18、 根據(jù)權(quán)利要求16所述的方法,其中所述第一結(jié)構(gòu)是第一高 速緩存,所述第一值是第一高速緩存項(xiàng),所述第二結(jié)構(gòu)是第二高速緩 存,并且所述第二值是第二高速緩存項(xiàng),其中重新產(chǎn)生所述第一值和 所述第二值包括重新加載所述第一高速緩存項(xiàng)和所述第二高速緩存 項(xiàng)。
19、 一種系統(tǒng),包括 動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器; 包括第一結(jié)構(gòu)的第一內(nèi)核; 包括第二結(jié)構(gòu)的第二內(nèi)核;微校驗(yàn)器,用于檢測(cè)來(lái)自所述第一結(jié)構(gòu)的第一值是否與來(lái)自所述 第二結(jié)構(gòu)的第二值相匹配;全局校驗(yàn)器,用于檢測(cè)所述第一內(nèi)核與所述第二內(nèi)核之間的時(shí)鐘 同步故障;以及故障邏輯,用于如果所述全局校驗(yàn)器檢測(cè)到所述時(shí)鐘同步故障且所述微校驗(yàn)器檢測(cè)到所述第一值和所述第二值之間的不匹配,則使所 述第一內(nèi)核與所述第二內(nèi)核重新同步。
全文摘要
公開(kāi)了用于降低時(shí)鐘同步雙模冗余系統(tǒng)中的不可糾正錯(cuò)誤率的裝置和方法的實(shí)施例。在一個(gè)實(shí)施例中,該裝置包括兩個(gè)處理器內(nèi)核、微校驗(yàn)器、全局校驗(yàn)器以及故障邏輯。微校驗(yàn)器用于檢測(cè)來(lái)自一個(gè)內(nèi)核中的結(jié)構(gòu)的值是否與來(lái)自另一內(nèi)核中的相應(yīng)結(jié)構(gòu)的值相匹配。全局校驗(yàn)器用于檢測(cè)兩個(gè)內(nèi)核之間的時(shí)鐘同步故障。故障邏輯用于如果存在時(shí)鐘同步故障,而校驗(yàn)器檢測(cè)到不匹配,則使這兩個(gè)內(nèi)核重新同步。
文檔編號(hào)G06F11/16GK101213522SQ200680021365
公開(kāi)日2008年7月2日 申請(qǐng)日期2006年6月29日 優(yōu)先權(quán)日2005年6月30日
發(fā)明者A·比斯瓦斯, J·S·埃默爾, P·B·拉庫(kù)納斯, S·E·拉希, S·S·慕克吉 申請(qǐng)人:英特爾公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1