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

跟蹤對(duì)差錯(cuò)中立的指令來(lái)減少微處理器中的虛假差錯(cuò)檢測(cè)的制作方法

文檔序號(hào):6622810閱讀:245來(lái)源:國(guó)知局
專利名稱:跟蹤對(duì)差錯(cuò)中立的指令來(lái)減少微處理器中的虛假差錯(cuò)檢測(cè)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及微處理器中的差錯(cuò)(error)檢測(cè),具體地說(shuō),涉及通過跟蹤對(duì)差錯(cuò)中立(neutral)的指令來(lái)減少微處理器中的虛假差錯(cuò)檢測(cè)。
背景技術(shù)
由于中子和阿爾發(fā)粒子的撞擊造成的瞬態(tài)故障(fault)正在成為未來(lái)處理技術(shù)中處理器晶體管數(shù)量增多的明顯阻礙。雖然個(gè)別晶體管的故障率可能不會(huì)升高很多,但是向一個(gè)器件中加入更多的晶體管就使得該器件更有可能遇到故障。結(jié)果,預(yù)計(jì)將處理器差錯(cuò)率保持在可接受的水平上將需要更多設(shè)計(jì)方面的努力。
由瞬態(tài)故障引起的單比特翻轉(zhuǎn)已成為今天微處理器設(shè)計(jì)中很重要的挑戰(zhàn)之一。這些故障因帶能量粒子而起,例如宇宙射線中的中子以及來(lái)自封裝材料的阿爾法粒子。晶體管源節(jié)點(diǎn)和擴(kuò)散節(jié)點(diǎn)可以收集這些電荷。足夠量的累積電荷可以反轉(zhuǎn)邏輯器件(例如SRAM單元、鎖存器或者門電路)的狀態(tài),從而向電路運(yùn)行中引入邏輯故障。因?yàn)檫@一類型的故障并不反映器件的永久失效,所以它被稱為軟差錯(cuò)或瞬態(tài)差錯(cuò)。
隨著片上晶體管的數(shù)量不斷呈指數(shù)上升,軟差錯(cuò)對(duì)于微處理器的設(shè)計(jì)者而言正成為越來(lái)越大的負(fù)擔(dān)。對(duì)于下幾代技術(shù)而言,計(jì)劃每鎖存器或SRAM位的原始差錯(cuò)率要大致保持常數(shù)或略微下降。因此,除非有另外的差錯(cuò)保護(hù)機(jī)制或者使用更具魯棒性的技術(shù)(例如全耗盡型SOI),在接下來(lái)的每一代中,微處理器的差錯(cuò)率可能隨附加到處理器的器件的數(shù)量而成正比地上升。

發(fā)明內(nèi)容
為解決以上問題,本發(fā)明提供了一種通過跟蹤對(duì)差錯(cuò)中立的指令,來(lái)減少微處理器中的虛假差錯(cuò)檢測(cè)的技術(shù)。當(dāng)一條指令被譯碼時(shí),將反pi位加標(biāo)簽到譯碼后的指令。當(dāng)檢測(cè)到奇偶差錯(cuò)時(shí),指令隊(duì)列首先檢驗(yàn)反pi位是否被置位。如果反pi位被置位,則指令足對(duì)差錯(cuò)中立的,并且pi位不需要被置位。預(yù)取指令、分支預(yù)測(cè)提示指令和NOP指令是對(duì)差錯(cuò)中立的指令類型。
根據(jù)本發(fā)明的一個(gè)方面,提供了一種處理器,包括對(duì)指令進(jìn)行譯碼的譯碼模塊;與譯碼后指令相關(guān)聯(lián)的第一位;與譯碼后指令相關(guān)聯(lián)的第二位,其中所述第二位用于標(biāo)識(shí)所述指令上的故障;和耦合到所述譯碼模塊的存儲(chǔ)結(jié)構(gòu),所述存儲(chǔ)結(jié)構(gòu)將檢測(cè)所述指令上的故障檢測(cè)結(jié)果,其中所述存儲(chǔ)結(jié)構(gòu)基于所述故障檢測(cè)結(jié)果來(lái)檢驗(yàn)所述指令的第一位,如果所述第一位被置位,則所述第二位不被置位。在以上處理器中,還包括如果所述第一位沒有被置位,則所述第二位被置位。
根據(jù)本發(fā)明的另一個(gè)方面,提供了一種方法,包括對(duì)指令進(jìn)行譯碼;連同所述指令一起加載第一位;連同所述指令一起加載第二位;檢測(cè)故障;檢驗(yàn)所述第一位,以基于檢測(cè)故障的操作來(lái)確定是否置位第一位;以及如果所述第一位沒有被置位,則置位所述第二位。
根據(jù)本發(fā)明的又一個(gè)方面,提供了一種裝置,包括對(duì)條目進(jìn)行譯碼的譯碼模塊;和耦合到所述譯碼模塊的存儲(chǔ)元件,該存儲(chǔ)元件存儲(chǔ)與所述條目相關(guān)聯(lián)的第一檢測(cè)位,該檢測(cè)位標(biāo)識(shí)出是否發(fā)生了破壞所述條目的位狀態(tài)變化,所述存儲(chǔ)元件還存儲(chǔ)與所述條目相關(guān)聯(lián)的第二檢測(cè)位,其中只有當(dāng)所述第一檢測(cè)位沒有被所述位狀態(tài)變化置位時(shí),所述第二檢測(cè)位才被置位。
根據(jù)本發(fā)明的再一個(gè)方面,提供了一種系統(tǒng),包括在條目取出之前存儲(chǔ)條目的片外存儲(chǔ)器;耦合到所述片外存儲(chǔ)器的處理器,其中所述處理器還包括接收條目的譯碼模塊;和存儲(chǔ)與所述條目相關(guān)聯(lián)的第一位和第二位的存儲(chǔ)元件,其中所述第一位標(biāo)識(shí)出是否發(fā)生了破壞所述條目的位狀態(tài)變化,并且其中,只有在所述第一位沒有被所述位狀態(tài)變化置位時(shí),所述第二位才被置位。


參考附圖,根據(jù)以下對(duì)優(yōu)選實(shí)施方案的描述,將會(huì)清楚本發(fā)明的各種特征,在整個(gè)附圖中一般用相同的標(biāo)號(hào)來(lái)表示相同的部分。附圖不一定是按比例繪制的,重點(diǎn)放在說(shuō)明本發(fā)明的原理上。
圖1是微處理器中的故障位的可能結(jié)果的框圖。
圖2是當(dāng)在指令流路徑上使用反pi位來(lái)指示對(duì)差錯(cuò)中立的位時(shí),圖示了本發(fā)明的一種實(shí)施方案的框圖。
圖3是圖示了根據(jù)本發(fā)明一種實(shí)施方案的操作的流程圖。
圖4是圖示了實(shí)現(xiàn)本發(fā)明以檢測(cè)軟差錯(cuò)的示例性計(jì)算機(jī)系統(tǒng)的框圖。
具體實(shí)施例方式
在以下描述中,出于解釋而非限制的目的,闡述了很多具體的細(xì)節(jié),例如具體的結(jié)構(gòu)、體系結(jié)構(gòu)、接口、技術(shù)等,以提供對(duì)本發(fā)明各個(gè)方面的完整理解。然而,獲知本發(fā)明公開內(nèi)容的本領(lǐng)域的技術(shù)人員將會(huì)清楚,在不偏離這些具體細(xì)節(jié)的其他實(shí)施例中也可以實(shí)現(xiàn)本發(fā)明的各個(gè)方面。此外,忽略了對(duì)公知的器件、電路和方法的描述,以免因不必要的細(xì)節(jié)而模糊了對(duì)本發(fā)明的說(shuō)明。
圖1圖示了微處理器中單個(gè)位故障的可能結(jié)果。一開始,微處理器確定是否已讀出了故障位100。如果故障位未被讀出110,則它被認(rèn)為是一個(gè)良性故障,因而沒有差錯(cuò)。如果已讀出了故障位,則處理器接下來(lái)確定該位是否具有差錯(cuò)保護(hù)115。當(dāng)讀出故障位時(shí),至少有三種可能的結(jié)果。首先,如果對(duì)于該位檢測(cè)到差錯(cuò)保護(hù)并進(jìn)行了校正,則認(rèn)為所述故障已被校正120。
第二,如果所述位不具有差錯(cuò)保護(hù),則處理器判斷指令是否會(huì)影響程序的結(jié)果125。如果指令不影響程序的結(jié)果,則故障位被認(rèn)為是一個(gè)良性故障130。故障110、120和130全都表示非差錯(cuò)條件,因?yàn)樵摴收蠜]有什么影響,或者已被檢測(cè)出來(lái)并被校正。
如果指令的確影響程序的結(jié)果,則它被認(rèn)為是一個(gè)沉寂(silent)數(shù)據(jù)破壞(SDC)135。SDC 135是一種最可怕形式的差錯(cuò),在這種情況下,故障導(dǎo)致系統(tǒng)生成錯(cuò)誤的輸出。為了避免SDC 135,設(shè)計(jì)者可以采用基本的差錯(cuò)檢測(cè)機(jī)制,例如奇偶檢驗(yàn)。
第三種可能的結(jié)果是當(dāng)位具有差錯(cuò)保護(hù)時(shí),檢測(cè)出差錯(cuò)的情況140。具有檢測(cè)故障但不校正它的能力,系統(tǒng)就可以避免生成無(wú)效的輸出,但是當(dāng)差錯(cuò)發(fā)生時(shí)不能恢復(fù)。因此,單純的差錯(cuò)檢測(cè)不會(huì)減小差錯(cuò)率,但是能夠提供故障終止的行為,從而可減少任何數(shù)據(jù)破壞。這些類型的差錯(cuò)被稱為可檢測(cè)但無(wú)法恢復(fù)的差錯(cuò)(DUE)。
根據(jù)檢測(cè)出的差錯(cuò)是否會(huì)影響執(zhí)行的最終結(jié)果,DUE事件又被進(jìn)一步劃分。檢測(cè)出的良性差錯(cuò)被稱為虛假DUE事件145,其他的則被稱為真實(shí)DUE事件150。在微處理器中,虛假DUE事件可能因?qū)﹀e(cuò)誤路徑指令、虛假預(yù)測(cè)指令的撞擊以及對(duì)正確路徑指令的撞擊而產(chǎn)生,所述正確路徑指令是指不影響最終程序狀態(tài)的指令,包括無(wú)操作指令、預(yù)取指令和動(dòng)態(tài)死指令。
為了跟蹤虛假DUE事件,微處理器可以將一個(gè)被稱為pi(即,可能不正確的)位的位附加到每條指令,并潛在地附加到各種硬件結(jié)構(gòu)(在相關(guān)申請(qǐng)中有詳細(xì)的論述)。當(dāng)檢測(cè)出差錯(cuò)時(shí),硬件將對(duì)受影響指令的pi位進(jìn)行置位,而不是發(fā)信令通知該差錯(cuò)。隨后,通過檢查pi位并且識(shí)別所述指令的特性,硬件可以判定是否真的發(fā)生了可見差錯(cuò)。
區(qū)分虛假差錯(cuò)和真實(shí)差錯(cuò)是復(fù)雜的。處理器在它檢測(cè)出差錯(cuò)的時(shí)候可能沒有足夠的信息來(lái)進(jìn)行區(qū)分。例如,當(dāng)指令隊(duì)列在一條指令上檢測(cè)到差錯(cuò)時(shí),它也許無(wú)法判斷該指令是否原是一條錯(cuò)誤路徑指令。結(jié)果,處理器可能需要將所述差錯(cuò)信息沿流水線向下傳播,并且在它有足夠的信息進(jìn)行區(qū)分時(shí)才喚起所述差錯(cuò)。
為了在微處理器硬件的不同部分之間傳播差錯(cuò)信息,系統(tǒng)利用了pi位。當(dāng)指令沿流水線從譯碼到退休(retirement)向下流動(dòng)時(shí),pi位與每條指令相互邏輯關(guān)聯(lián)。
pi位機(jī)制有助于避免因故障檢測(cè)機(jī)制(例如奇偶檢驗(yàn))而產(chǎn)生的虛假正匹配。具體地說(shuō),對(duì)于一條指令,當(dāng)指令被譯碼時(shí),pi位被附加到該指令,并被初始化為0以表示該指令還未遇到任何差錯(cuò)。當(dāng)所述指令流過流水線時(shí),它將被變換多次以適于機(jī)器,并被寫入很多不同的存儲(chǔ)結(jié)構(gòu)并從中讀出。如果這些存儲(chǔ)結(jié)構(gòu)具有某種形式的故障檢測(cè),例如奇偶檢驗(yàn),并且所述指令積累了單比特翻轉(zhuǎn),則標(biāo)記出奇偶差錯(cuò)。通常,這將引發(fā)一次機(jī)器檢驗(yàn)例外,一般會(huì)使所述機(jī)器崩潰。這里,不再造成機(jī)器崩潰,處理器通過將pi位的值改變?yōu)?,而在pi位中公告這一差錯(cuò)。
差錯(cuò)檢驗(yàn)以及pi位的更新也可以被用在流水線的多個(gè)階段中,和/或被用在指令執(zhí)行過程中的多種不同結(jié)構(gòu)上。差錯(cuò)檢驗(yàn)邏輯可以采用奇偶檢驗(yàn)器的形式或者其他已知的或可另外獲得的不同差錯(cuò)檢測(cè)技術(shù)。此外,差錯(cuò)檢測(cè)和校正技術(shù)可被用在這些不同的階段中或者不同的結(jié)構(gòu)上,只要在發(fā)生不可恢復(fù)的差錯(cuò)時(shí)對(duì)pi位進(jìn)行置位。
在流水線的提交階段,提交硬件有足夠的信息來(lái)判斷指令是一個(gè)錯(cuò)誤路徑指令、虛假預(yù)測(cè)指令還是NOP指令。在這些情形中,處理器不會(huì)引發(fā)機(jī)器檢驗(yàn)例外,而會(huì)讓機(jī)器繼續(xù)正常運(yùn)行。但是,在其他情形中,可能已存在了真實(shí)差錯(cuò),必須引發(fā)機(jī)器檢驗(yàn)例外。
pi位可以在硬件結(jié)構(gòu)之間傳播(潛在的)差錯(cuò)信息,從而延遲機(jī)器檢驗(yàn)例外,一直到機(jī)器必須完全地宣告所述差錯(cuò)。然而,pi位自身不能斷定某一具體結(jié)構(gòu)是否遇到了故障,以及所述故障是否最終將對(duì)用戶可見。
圖2圖示了當(dāng)反pi位在指令流路徑上被用來(lái)指示對(duì)差錯(cuò)中立的指令時(shí)的一個(gè)實(shí)施方案。在微處理器中,在很多情況下某些指令類型上的故障不會(huì)產(chǎn)生用戶可見的差錯(cuò),因而不會(huì)影響程序的最終結(jié)果。例如,將數(shù)據(jù)塊從存儲(chǔ)器預(yù)取到緩存中的預(yù)取指令對(duì)程序的正確性而言不是必需的;相反,它對(duì)程序的性能而言是必需的。類似地,體系結(jié)構(gòu)中的分支預(yù)測(cè)提示指令通過向微處理器提供有關(guān)程序的控制流路徑的提示,允許程序提高其性能。還有其他一些指令類型(例如NOP)對(duì)微處理器的正確性沒有任何影響,但是可能需要用來(lái)填充程序中的空白靜態(tài)指令隙(instruction slot)。這些類型的指令被稱為對(duì)差錯(cuò)中立的。這些指令的大多數(shù)位在受到引起位翻轉(zhuǎn)的阿爾法粒子或中子的撞擊時(shí),不會(huì)產(chǎn)生用戶可見的差錯(cuò)。因此,硬件不需要在這些指令的非操作碼位上引發(fā)差錯(cuò)。
當(dāng)包括對(duì)差錯(cuò)中立的指令在內(nèi)的指令流過流水線200時(shí),它們存在于不同的結(jié)構(gòu)、緩沖器和鎖存器中。一種這樣的結(jié)構(gòu)就是指令隊(duì)列210,指令在準(zhǔn)備好被發(fā)往執(zhí)行單元之前一直駐留在該隊(duì)列中。然而,當(dāng)指令穿過這些不同的結(jié)構(gòu)時(shí),它們?cè)谒鼋Y(jié)構(gòu)中的表現(xiàn)形式可能會(huì)發(fā)生改變,以適于特定的結(jié)構(gòu)。
當(dāng)硬件訪問指令隊(duì)列210中的指令并且檢測(cè)奇偶差錯(cuò)時(shí),在沒有反pi位的情況下,它只是對(duì)pi位進(jìn)行置位。然而,如上所述,對(duì)差錯(cuò)中立的指令不需要使它們的pi位置位,因?yàn)檫@樣一個(gè)差錯(cuò)將對(duì)用戶不可見。
相反,當(dāng)指令在流水線200早期被譯碼205時(shí),可以將被稱為反pi位的另一個(gè)位加標(biāo)簽到所譯碼的指令上。于是,當(dāng)指令隊(duì)列210在中立指令的非操作碼位上檢測(cè)到奇偶差錯(cuò)時(shí),指令隊(duì)列210首先檢驗(yàn)反pi位。如果反pi位被置位,則意味著所述指令對(duì)差錯(cuò)中立,它就不會(huì)置位pi位。否則,它置位pi位,以在流水線后期做進(jìn)一步處理。
最終,指令將提交215。在提交階段,提交硬件有足夠的信息來(lái)判斷所述指令是不是一個(gè)錯(cuò)誤路徑指令,并且它是不是對(duì)差錯(cuò)中立的指令。換言之,反pi位使pi位對(duì)中立指令類型保持中立。此外,與pi位一起,反pi位有助于進(jìn)一步降低虛假差錯(cuò)檢測(cè)率。
在對(duì)差錯(cuò)中立的指令中的某些控制位需要額外關(guān)注。例如,如果對(duì)差錯(cuò)中立的指令的操作碼位受到撞擊,則系統(tǒng)可能不得不引發(fā)機(jī)器檢驗(yàn)例外,因?yàn)樗軌驕?zhǔn)確地識(shí)別出指令類型。然而,保護(hù)反pi位遠(yuǎn)離數(shù)據(jù)和控制位,這使得所述結(jié)構(gòu)能夠避免因?qū)Σ铄e(cuò)中立的指令的控制位中的故障而置位pi位。如果反pi位只具有差錯(cuò)檢測(cè)功能(經(jīng)由奇偶或電路技術(shù)),那么當(dāng)在反pi位上發(fā)生奇偶差錯(cuò)時(shí),硬件將不得不引發(fā)機(jī)器檢驗(yàn)。然而,如果反pi位具有差錯(cuò)恢復(fù)功能(經(jīng)由ECC或電路技術(shù)),則硬件甚至可以從反pi位上的故障以及條目的控制和數(shù)據(jù)位上的故障中恢復(fù)過來(lái)。
可替換地,存在另一種與反pi位有關(guān)的可能設(shè)計(jì)。在先前描述的設(shè)計(jì)中,各個(gè)結(jié)構(gòu)檢查反pi位來(lái)置位pi位。相反,各個(gè)結(jié)構(gòu)可以在置位pi位時(shí)忽視反pi位。于是,在提交階段215中,退休單元可能既檢驗(yàn)反pi位又檢驗(yàn)pi位,以判斷它是否應(yīng)當(dāng)引發(fā)機(jī)器檢驗(yàn)例外。
反pi位機(jī)制也可以被概括為對(duì)差錯(cuò)中立的其他硬件活動(dòng)。例如,由硬件預(yù)取而生成的地址上的差錯(cuò)可能對(duì)差錯(cuò)是中立的,并且可由反pi位來(lái)標(biāo)記。
圖3是圖示了檢測(cè)軟差錯(cuò)的方法的一個(gè)實(shí)施方案的流程圖。在這個(gè)具體實(shí)施方案中,流程圖300圖示了這樣一種情形,其中處理器判斷在對(duì)差錯(cuò)中立的指令上是否發(fā)生了差錯(cuò)。一開始,當(dāng)指令被譯碼(305)時(shí),反pi位(307)和pi位(310)與所述指令相關(guān)聯(lián)。接下來(lái),所述指令與它的反pi位和pi位一起被入隊(duì)到流水線中(315)。當(dāng)所述指令流過流水線時(shí),它將被轉(zhuǎn)換多次以適于機(jī)器,并且被寫入很多不同的存儲(chǔ)元件并且從這些元件中讀出。
在指令流過流水線期間,該指令可能會(huì)累積出單個(gè)位翻轉(zhuǎn),于是為這條指令標(biāo)記上一個(gè)奇偶差錯(cuò)(320)。如果對(duì)所述指令檢測(cè)出一個(gè)差錯(cuò),那么要是該指令被確定為對(duì)差錯(cuò)中立的,則流水線可以將受影響指令的反pi位設(shè)置為1(322)。如果所述指令不是對(duì)差錯(cuò)中立的,那么反pi位不被置位。如果反pi位不被設(shè)置為1的話,則pi位只可以被設(shè)置為1(325)。pi位被置位,而不是引發(fā)機(jī)器檢驗(yàn)例外。如果沒有檢測(cè)到差錯(cuò),則指令繼續(xù)通過流水線,直到它被提交(330)。提交硬件然后可以判斷所述指令是否原是一條錯(cuò)誤路徑指令(335)。如果所述指令被確定為一條錯(cuò)誤路徑指令,則pi位被忽視(340),否則處理器有權(quán)選擇引發(fā)一個(gè)差錯(cuò),例如機(jī)器檢驗(yàn)差錯(cuò)(345)。
圖4圖示了用于檢測(cè)軟差錯(cuò)的一種典型系統(tǒng)實(shí)現(xiàn)方式。在所示出的計(jì)算機(jī)400中,處理器405用作單獨(dú)一個(gè)處理器或者多個(gè)處理器之一,包括中央處理單元(CPU)或計(jì)算機(jī)400的單元。典型地,處理器405被實(shí)現(xiàn)為單個(gè)集成電路芯片。處理器405可以包括執(zhí)行(處理)核410,它具有一個(gè)或多個(gè)執(zhí)行單元。處理器405的一部分專用于包括指令處理裝置415。指令處理裝置415被示為與核410耦合。
根據(jù)以上描述來(lái)實(shí)現(xiàn)本發(fā)明,以在核410中執(zhí)行指令。存儲(chǔ)器可能位于片上(如片上存儲(chǔ)器420所示)或片外(如片外存儲(chǔ)器425所示)。典型地,片上存儲(chǔ)器可以是緩存存儲(chǔ)器或者主存儲(chǔ)器(RAM)的一部分。片外存儲(chǔ)器一般由主存儲(chǔ)器(以及片外緩存,如果有的話)和其他存儲(chǔ)設(shè)備(例如盤存儲(chǔ)介質(zhì))組成。片上存儲(chǔ)器420和片外存儲(chǔ)器425或者個(gè)別地或者單獨(dú)地可以連接到不同的設(shè)備,例如音頻接口設(shè)備430。然而,需要注意的是,可以用其他方式來(lái)構(gòu)造本發(fā)明,以處理指令供核410來(lái)執(zhí)行。
在以上描述中,出于解釋而非限制的目的,闡述了很多具體的細(xì)節(jié),例如具體的結(jié)構(gòu)、體系結(jié)構(gòu)、接口、技術(shù)等,以提供對(duì)本發(fā)明各個(gè)方面的完整理解。然而,獲知本公開內(nèi)容的本領(lǐng)域的技術(shù)人員將會(huì)清楚,也可以在不偏離這些具體細(xì)節(jié)的其他實(shí)施例中實(shí)現(xiàn)本發(fā)明的各個(gè)方面。在某些情況下,省略了對(duì)公知設(shè)備、電路和方法的描述,以免用不必要的細(xì)節(jié)模糊了對(duì)本發(fā)明的描述。
權(quán)利要求
1.一種處理器,包括對(duì)指令進(jìn)行譯碼的譯碼模塊;與譯碼后指令相關(guān)聯(lián)的第一位;與譯碼后指令相關(guān)聯(lián)的第二位,其中所述第二位用于標(biāo)識(shí)所述指令上的故障;以及耦合到所述譯碼模塊的存儲(chǔ)結(jié)構(gòu),所述存儲(chǔ)結(jié)構(gòu)將檢測(cè)所述指令上的故障檢測(cè)結(jié)果,其中所述存儲(chǔ)結(jié)構(gòu)基于所述故障檢測(cè)結(jié)果來(lái)檢驗(yàn)所述指令的第一位,如果所述第一位被置位,則所述第二位不被置位。
2.如權(quán)利要求1所述的處理器,還包括如果所述第一位沒有被置位,則所述第二位被置位。
3.如權(quán)利要求1所述的處理器,還包括耦合到所述存儲(chǔ)結(jié)構(gòu)的指令處理單元,該單元由處理所述譯碼后指令的多級(jí)組成。
4.如權(quán)利要求1所述的處理器,其中所述存儲(chǔ)結(jié)構(gòu)檢測(cè)所述詳碼后指令的非操作碼位上的故障檢測(cè)結(jié)果。
5.如權(quán)利要求1所述的處理器,其中所述第一位是反pi位。
6.如權(quán)利要求1所述的處理器,其中所述第二位是pi位。
7.如權(quán)利要求1所述的處理器,其中所述故障檢測(cè)結(jié)果是奇偶差錯(cuò)。
8.如權(quán)利要求4所述的處理器,其中基于指令的類型來(lái)置位所述第一位。
9.如權(quán)利要求8所述的處理器,其中所述指令是NOP指令。
10.如權(quán)利要求8所述的處理器,其中所述指令是預(yù)取指令。
11.如權(quán)利要求8所述的處理器,其中所述指令是分支預(yù)測(cè)提示指令。
12.如權(quán)利要求1所述的處理器,其中所述存儲(chǔ)結(jié)構(gòu)是指令隊(duì)列。
13.如權(quán)利要求3所述的處理器,其中所述指令發(fā)出并流過所述多級(jí)。
14.一種方法,包括對(duì)指令進(jìn)行譯碼;連同所述指令一起加載第一位;連同所述指令一起加載第二位;檢測(cè)故障;檢驗(yàn)所述第一位,以基于檢測(cè)故障的操作來(lái)確定第一位是否被置位;以及如果所述第一位沒有被置位,則置位所述第二位。
15.如權(quán)利要求14所述的方法,其中所述第一位與一類指令相關(guān)聯(lián)。
16.如權(quán)利要求14所述的方法,還包括使所述指令入隊(duì);傳播所述指令通過流水線的多級(jí),以處理所述指令;以及確定所述指令是否是錯(cuò)誤路徑指令。
17.如權(quán)利要求15所述的方法,其中檢測(cè)故障的操作檢測(cè)所述指令的非操作碼位上的故障。
18.一種裝置,包括對(duì)條目進(jìn)行譯碼的譯碼模塊;以及耦合到所述譯碼模塊的存儲(chǔ)元件,該存儲(chǔ)元件存儲(chǔ)與所述條目相關(guān)聯(lián)的第一檢測(cè)位,該檢測(cè)位標(biāo)識(shí)出是否發(fā)生了破壞所述條目的位狀態(tài)變化,所述存儲(chǔ)元件還存儲(chǔ)與所述條目相關(guān)聯(lián)的第二檢測(cè)位,其中只有當(dāng)所述第一檢測(cè)位沒有被所述位狀態(tài)變化置位時(shí),所述第二檢測(cè)位才被置位。
19.如權(quán)利要求18所述的裝置,還包括處理所述條目的指令隊(duì)列;以及使條目流傳播通過多級(jí)的指令流路徑。
20.如權(quán)利要求19所述的裝置,還包括提交模塊,該模塊確定條目是否在錯(cuò)誤路徑上。
21.如權(quán)利要求18所述的裝置,其中所述位狀態(tài)變化發(fā)生在所述條目的非操作碼位上。
22.如權(quán)利要求21所述的裝置,其中對(duì)于NOP指令,所述第一檢測(cè)位被置位。
23.如權(quán)利要求21所述的裝置,其中對(duì)于預(yù)取指令,所述第一檢測(cè)位被置位。
24.如權(quán)利要求21所述的裝置,其中對(duì)于分支預(yù)測(cè)提示指令,所述第一檢測(cè)位被置位。
25.如權(quán)利要求19所述的裝置,其中所述條目發(fā)出并流過所述指令流路徑的多級(jí)。
26.如權(quán)利要求19所述的裝置,其中所述第二檢測(cè)位是pi位。
27.如權(quán)利要求19所述的裝置,其中所述第一檢測(cè)位是反pi位。
28.如權(quán)利要求19所述的裝置,其中對(duì)于對(duì)差錯(cuò)中立的條目,所述第一檢測(cè)位被置位。
29.一種系統(tǒng),包括在條目取出之前存儲(chǔ)條目的片外存儲(chǔ)器;耦合到所述片外存儲(chǔ)器的處理器,其中所述處理器還包括接收條目的譯碼模塊;以及存儲(chǔ)與所述條目相關(guān)聯(lián)的第一位和第二位的存儲(chǔ)元件,其中所述第一位標(biāo)識(shí)出是否發(fā)生了破壞所述條目的位狀態(tài)變化,并且其中,只有在所述第一位沒有被所述位狀態(tài)變化置位時(shí),所述第二位才被置位。
30.如權(quán)利要求29所述的系統(tǒng),還包括處理所述條目的指令隊(duì)列;傳播條目流通過多級(jí)的指令流路徑;以及確定條目是否在錯(cuò)誤路徑上的提交模塊。
31.如權(quán)利要求29所述的系統(tǒng),還包括片上存儲(chǔ)器;以及耦合到所述片上存儲(chǔ)器的音頻接口設(shè)備。
32.如權(quán)利要求29所述的系統(tǒng),還包括耦合到所述片外存儲(chǔ)器的音頻接口設(shè)備。
33.如權(quán)利要求29所述的系統(tǒng),其中所述第一位是反pi位。
34.如權(quán)利要求29所述的系統(tǒng),其中所述第二位是pi位。
35.如權(quán)利要求29所述的系統(tǒng),其中所述位狀態(tài)變化發(fā)生在所述條目的非操作碼位上。
36.如權(quán)利要求29所述的系統(tǒng),其中對(duì)于NOP條目,所述第一位被置位。
37.如權(quán)利要求29所述的系統(tǒng),其中對(duì)于預(yù)取條目,所述第一位被置位。
38.如權(quán)利要求29所述的系統(tǒng),其中對(duì)于分支預(yù)測(cè)提示條目,所述第一位被置位。
39.如權(quán)利要求29所述的系統(tǒng),其中對(duì)于對(duì)差錯(cuò)中立的條目,所述第一位被置位。
全文摘要
本發(fā)明提供的技術(shù)通過跟蹤對(duì)差錯(cuò)中立的指令,減少了微處理器中的虛假差錯(cuò)檢測(cè)。當(dāng)一條指令被譯碼時(shí),將反pi位加標(biāo)簽到譯碼后的指令。當(dāng)檢測(cè)到奇偶差錯(cuò)時(shí),指令隊(duì)列首先檢驗(yàn)反pi位是否被置位。如果反pi位被置位,則指令是對(duì)差錯(cuò)中立的,并且pi位不需要被置位。預(yù)取指令、分支預(yù)測(cè)提示指令和NOP指令是對(duì)差錯(cuò)中立的指令類型。
文檔編號(hào)G06F11/00GK1710532SQ200510076828
公開日2005年12月21日 申請(qǐng)日期2005年6月17日 優(yōu)先權(quán)日2004年6月17日
發(fā)明者喬爾·埃默, 舒布亨杜·穆克赫基, 史蒂文·萊因哈特, 克里斯托弗·韋弗 申請(qǐng)人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1