專利名稱:錯誤登記方法及相應(yīng)的寄存器的制作方法
背景技術(shù):
本發(fā)明起因于與獨立權(quán)項的現(xiàn)有技術(shù)中已知的特征相一致的、將對一個雙計算機(jī)系統(tǒng)的數(shù)據(jù)和/或指令的訪問延時的方法以及相應(yīng)的延時裝置。在未來的應(yīng)用中,特別是在汽車或工業(yè)制品領(lǐng)域,諸如在機(jī)械領(lǐng)域和自動化領(lǐng)域中,越來越多地將基于微處理器或者基于計算機(jī)的控制和調(diào)節(jié)系統(tǒng)用于安全性重要的應(yīng)用。這時,雙計算機(jī)系統(tǒng)或者雙處理器系統(tǒng)(雙核)是目前安全性重要的應(yīng)用中常用的計算機(jī)系統(tǒng),特別是車輛,諸如防阻塞系統(tǒng)、電子穩(wěn)定性程序(ESP)、線控操作系統(tǒng),如線控驅(qū)動或線控駕駛或線控煞車等等或者其他聯(lián)網(wǎng)系統(tǒng)。為了滿足將來的應(yīng)用對安全性的這些高要求,要求強(qiáng)有力的錯誤機(jī)理和錯誤處理機(jī)構(gòu),特別是,為了應(yīng)對例如在計算機(jī)系統(tǒng)半導(dǎo)體結(jié)構(gòu)小型化時出現(xiàn)的瞬態(tài)錯誤。這時,相對困難的是保護(hù)核的自身,亦即處理器。對此的一個解決方案是,如上所述,用雙計算機(jī)系統(tǒng)或者雙核系統(tǒng)來進(jìn)行錯誤檢測。但是,在這樣雙計算機(jī)系統(tǒng)中一個問題是,數(shù)據(jù)的比較,特別是錯誤識別用輸出數(shù)據(jù)的比較,只能在輸出時或輸出后進(jìn)行。就是說,在保證該數(shù)據(jù)和/或指令是正確的之前,數(shù)據(jù)已經(jīng)被引到外部匯集點,即例如一個用數(shù)據(jù)總線或者指令總線連接的組件,諸如存儲器或者其他輸入/輸出部件。這可能導(dǎo)致對錯誤數(shù)據(jù)和/或指令的訪問,亦即寫操作和/或讀操作,特別是在對存儲器訪問中出錯。由于這個問題,在重建確定的系統(tǒng)狀態(tài)時出現(xiàn)錯誤或者只有用非常高的代價才能實現(xiàn)重建時排除出錯的后果,在出錯中斷后產(chǎn)生正確的數(shù)據(jù),在崩潰后重新使一個系統(tǒng)準(zhǔn)備就緒,以及在電路上回到原始狀態(tài)(這被更寬泛地概括為“恢復(fù)(Recovery)”)。這樣的錯誤可以通過該雙計算機(jī)系統(tǒng)的至少一個計算機(jī)的寫操作和/或讀操作形式的訪問導(dǎo)致整個系統(tǒng)和連接于其上的單元出錯,更加困難的是無法確定其中哪一個數(shù)據(jù)和/或指令發(fā)生了錯誤的變化。
雙處理器系統(tǒng)只能識別已經(jīng)出現(xiàn)的錯誤,但是不能提供引出有效的錯誤處理。由于半導(dǎo)體結(jié)構(gòu)逐漸縮小,與穩(wěn)態(tài)錯誤相比,瞬態(tài)錯誤的出現(xiàn)頻率急劇增大,所以為了提高將來系統(tǒng)的可用性,需要有效的錯誤處理。
因此,本發(fā)明任務(wù)是,解決所述問題并提高可用性。
發(fā)明內(nèi)容本發(fā)明旨在提供一種錯誤登記方法、給雙計算機(jī)系統(tǒng)分配的寄存器以及相應(yīng)的雙計算機(jī)系統(tǒng),其中,在該寄存器中信息以位的形式存放,該雙計算機(jī)系統(tǒng)包括一個錯誤識別機(jī)構(gòu),寄存器中的位最好作為錯誤位代表錯誤識別機(jī)構(gòu)的至少一個錯誤信號。
最好這樣形成該寄存器,使得該錯誤識別機(jī)構(gòu)可以設(shè)置一個相應(yīng)的錯誤位,且該錯誤位可以由雙計算機(jī)系統(tǒng)重新清除,其中,該寄存器包含在雙計算機(jī)系統(tǒng)的一個計算機(jī)中,或者插入在雙計算機(jī)系統(tǒng)一個計算機(jī)的存儲區(qū)中。
最好僅根據(jù)一個最初的錯誤設(shè)置該寄存器中的一個錯誤位。接著,最好將多個錯誤信號結(jié)合為一個統(tǒng)一的錯誤信號,并通過該統(tǒng)一的錯誤信號引發(fā)一個中斷。
最好在雙計算機(jī)系統(tǒng)中為每個計算機(jī)設(shè)置一個寄存器,其中,在一個實施例中雙計算機(jī)系統(tǒng)的兩個計算機(jī)都以一個時鐘偏移工作,寄存器中錯誤位的設(shè)置也以這個時鐘偏移進(jìn)行。
最好為每個計算機(jī)設(shè)置一個寄存器,并通過每個統(tǒng)一的錯誤信號引發(fā)一個中斷,其中,中斷以該時鐘偏移引發(fā),在雙計算機(jī)系統(tǒng)的錯誤登記方法中,在識別出一個錯誤時在寄存器中設(shè)置至少一個錯誤位,對該至少一個寄存器進(jìn)行求值,并根據(jù)錯誤位在寄存器中的位置進(jìn)行錯誤處理,或者對該至少一個寄存器進(jìn)行求值,并根據(jù)該寄存器中的錯誤位進(jìn)行錯誤處理,并在錯誤處理之后重新使該寄存器復(fù)位或清除。
本發(fā)明的其他好處與結(jié)構(gòu)上的優(yōu)點可從實施例的描述及權(quán)項的特征中看出。
下面將參照附圖對本發(fā)明作詳細(xì)說明。
其中,圖1表示帶有本發(fā)明的延時裝置的雙計算機(jī)系統(tǒng)或雙處理器系統(tǒng);圖2表示本發(fā)明的延時裝置的第一實施例;圖3表示本發(fā)明的延時裝置的第二實施例;圖4表示多路復(fù)用模塊,特別是本發(fā)明的延時裝置的一個可靠的多路復(fù)用器;圖5表示錯誤登記用的寄存器及其功能。
下面根據(jù)實施例對本發(fā)明作詳細(xì)說明。
具體實施方式圖1表示帶有第一計算機(jī)100(尤其是主計算機(jī))和第二計算機(jī)101(尤其是從計算機(jī))的雙計算機(jī)系統(tǒng)。這時,整個系統(tǒng)由一個可以預(yù)先給定的時鐘或可以預(yù)先給定的時鐘周期(clock cycle)CLK驅(qū)動。通過計算機(jī)100的時鐘輸入端CLK1,并通過計算機(jī)101的時鐘輸入端CLK2引入時鐘。此外,在這個雙計算機(jī)系統(tǒng)中,例如包含錯誤識別用的專門特征,其中,第一計算機(jī)100及第二計算機(jī)101帶有一個時間偏移,特別是一個可以預(yù)先給定的時間偏移,或帶有一個可以預(yù)先給定的時鐘偏移。一個時間偏移的每個任意時間都是可以預(yù)先給定的,而且對于該時鐘周期的偏移的每個任意時鐘也是可以預(yù)先給定的。這可以是時鐘周期的一個整數(shù)偏移,但正如在此例中所表示的,例如,同樣也可以是1.5個時鐘周期的偏移,這里第一計算機(jī)100剛好在第二計算機(jī)101之前1.5個時鐘周期工作,被分別驅(qū)動。通過這個偏移可以避免同時鐘錯誤,即所謂共模錯誤,該計算機(jī)或者處理器,亦即雙核系統(tǒng)的核受到同類型的干擾,因而仍舊無法識別。就是說,通過偏移使計算機(jī)在程序進(jìn)行的不同時刻遭受這樣的同時鐘錯誤,據(jù)此使該兩個計算機(jī)受不同的作用,以使錯誤變得可以識別。相比之下,若沒有時鐘偏移,同類型的錯誤作用也許無法識別,需要避免這一點。為了在雙計算機(jī)系統(tǒng)中在時間上或者時鐘上實現(xiàn)這個偏移,尤其是1.5個時鐘周期的偏移,設(shè)置了偏移模塊112至115。
為了識別上述同時鐘錯誤,系統(tǒng)設(shè)計成例如在一個預(yù)先給定的時間偏移或者時鐘偏移上工作,特別是1.5個時鐘周期,亦即,當(dāng)一個計算機(jī)例如計算機(jī)100直接請求一個組件、特別是外部組件103和104時,第二計算機(jī)101剛好延時1.5個時鐘周期后再這樣做。在這種情況下,為了產(chǎn)生所希望的1.5個周期,亦即1.5個時鐘周期的延遲,計算機(jī)101向時鐘輸入端CLK2饋送反相時鐘。因此,計算機(jī)的上述接口必須通過總線將其數(shù)據(jù)或指令延遲一個上述時鐘周期,亦即這里的1.5個時鐘周期,為此,如上所述設(shè)置偏移或延遲模塊112至115。除了兩個計算機(jī)或者處理器100和101之外還設(shè)置組件103和104,它們通過由總線導(dǎo)線116A、116B和116C組成的總線116以及由總線導(dǎo)線117A和117B組成的總線117連接兩個計算機(jī)100和101。這時,117是指令總線,其中117A稱為指令地址總線,而117B稱為部分指令(數(shù)據(jù))總線。地址總線117A通過指令地址接口IA1(指令地址1)與計算機(jī)100連接,并通過指令地址接口IA2(指令地址2)與計算機(jī)101連接。指令本身通過部分指令總線117B傳輸,它通過指令接口I1(指令1)與計算機(jī)100連接,并通過指令接口I2(指令2)與計算機(jī)101連接。在這個由117A和117B組成的指令總線117中,中間接入組件103,例如,指令存儲器,特別是可靠的指令存儲器等。這個組件,特別是在此例中作為指令存儲器,也由時鐘CLK驅(qū)動。除此之外,數(shù)據(jù)總線用116表示,它包括一個數(shù)據(jù)地址總線或者數(shù)據(jù)地址導(dǎo)線116A和數(shù)據(jù)總線或者數(shù)據(jù)導(dǎo)線116B。這時,116A亦即數(shù)據(jù)地址導(dǎo)線通過數(shù)據(jù)地址接口DA1(數(shù)據(jù)地址1)與計算機(jī)100連接,并通過數(shù)據(jù)地址接口DA2(數(shù)據(jù)地址2)與計算機(jī)101連接。同樣,數(shù)據(jù)總線或者數(shù)據(jù)導(dǎo)線116B通過數(shù)據(jù)接口DO1(數(shù)據(jù)輸出1)和數(shù)據(jù)接口DO2(數(shù)據(jù)輸出2)與計算機(jī)100或計算機(jī)101連接。此外數(shù)據(jù)導(dǎo)線116C屬于數(shù)據(jù)總線116,它通過數(shù)據(jù)接口DI1(數(shù)據(jù)輸入1)和數(shù)據(jù)接口DI2(數(shù)據(jù)輸入2)分別與計算機(jī)100或計算機(jī)101連接。在這個由導(dǎo)線116A、116B和116C組成數(shù)據(jù)總線116之間接入組件104,例如數(shù)據(jù)存儲器,特別是可靠的數(shù)據(jù)存儲器等。此例中也向組件104提供時鐘CLK。
這時,代表任意組件的組件103和104通過數(shù)據(jù)總線和/或指令總線與雙計算機(jī)系統(tǒng)的計算機(jī)連接,相應(yīng)地,通過對雙計算機(jī)系統(tǒng)的數(shù)據(jù)和/或指令的關(guān)于寫操作和/或讀操作的訪問可能獲得或者給出錯誤的數(shù)據(jù)和/或指令。確切地說,為了避免錯誤,設(shè)置錯誤識別發(fā)生器105、106和107,它們產(chǎn)生錯誤識別(信號),諸如奇偶位或者其他出錯代碼,諸如糾錯碼,亦即ECC等。為此這時還設(shè)置相應(yīng)的錯誤識別檢驗裝置或者檢查裝置108和109,用以檢查各自的錯誤識別,亦即例如奇偶位或者其他出錯代碼,如ECC。
關(guān)于雙計算機(jī)系統(tǒng)中冗余實施的數(shù)據(jù)和/或指令的比較在比較器110和111中進(jìn)行,如圖1所示。但若現(xiàn)在存在時間偏移,特別是在計算機(jī)100和101之間存在時鐘或時鐘周期偏移,則不是由非同步雙處理器系統(tǒng)引起的,就是在同步的雙處理器系統(tǒng)中由同步中的錯誤引起的,或者正如在這個特定的例子中,由錯誤識別所要求的時間或時鐘周期偏移,特別是在這里的1.5個時鐘周期引起的,在這個時間或者時鐘偏移中,計算機(jī)(特別是這里的計算機(jī)100)可能在組件(特別是在外部組件,諸如這里的存儲器103或者104)中,以及對于其他用戶、執(zhí)行器或者傳感器寫入或讀取錯誤的數(shù)據(jù)和/或指令。這樣還可能由于這些時鐘偏移而錯誤地進(jìn)行寫訪問來代替預(yù)定的讀訪問。顯而易見,這個情況會導(dǎo)致整個系統(tǒng)出錯,特別是在沒有清晰的指示哪一個數(shù)據(jù)和/或指令發(fā)生了錯誤的改變的可能性,由此還會出現(xiàn)難以恢復(fù)的問題。
為了解決這個問題,如圖所示在數(shù)據(jù)總線導(dǎo)線中和/或在指令總線中連接延時裝置102。為清楚起見,只表示數(shù)據(jù)總線的接入。對于指令總線,這自然也同樣是可能的和可以設(shè)想的。該延時裝置102或延遲單元將訪問延遲,這里特別是對存儲器的訪問,以補(bǔ)償可能的時間或時鐘偏移,特別是在錯誤識別時,例如通過比較器110和111,例如,至少到雙計算機(jī)系統(tǒng)產(chǎn)生錯誤信號為止,由此,在雙計算機(jī)系統(tǒng)中進(jìn)行錯誤識別。這時,可以實現(xiàn)不同的方案延遲寫和讀操作、只延遲寫操作,或者(盡管不推薦)延遲讀操作。這時,可以通過一個更改信號,特別是通過錯誤信號,將延遲的寫操作變?yōu)樽x操作,以禁止錯誤的寫。
圖2和3示出了延時裝置102的不同實現(xiàn)方式。該延時裝置即延遲單元102的目的是,在上述時間偏移或者時鐘周期偏移框架內(nèi)延遲訪問,以對其進(jìn)行補(bǔ)償,特別是為了檢查計算機(jī)100對一個組件(特別是外部組件)的寫操作,從而達(dá)到相應(yīng)的數(shù)據(jù)和/或指令或該各自的地址的正確性。這時,延時裝置還可以用這樣的方法實現(xiàn),即讓它們靠本身識別出錯誤,而且通過錯誤信號EO向外發(fā)信號,這點將參照圖2和3再作較詳細(xì)的說明。
圖2表示延時裝置,帶有兩個切換單元模塊201和200,特別是多路復(fù)用模塊、延遲部件204和檢查裝置或者測試裝置203,特別是TSC-檢查器。這時,該延時裝置由兩個分支組成,一個讀分支,對應(yīng)于多路復(fù)用器200下面的輸入路徑(下面的三個箭頭),包括多路復(fù)用器201;以及一個寫分支,即多路復(fù)用器200上面的輸入路徑(上面的三個箭頭)。就是說,該延時裝置由兩個路徑組成,特別是當(dāng)它們只延遲寫操作時,可以在該兩個路徑之間通過切換裝置(特別是多路復(fù)用器200)進(jìn)行切換。在一個路徑中,不延遲數(shù)據(jù)和/或指令,在這里是來自DO1(數(shù)據(jù)輸出1)的數(shù)據(jù)、相應(yīng)的地址,這里是DA1(數(shù)據(jù)地址1)和特別是這里附加的存儲器控制信號MC(存儲器控制),在另一個分支中通過延遲部件204對其進(jìn)行延遲。兩個路徑之間的切換通過一個轉(zhuǎn)換信號,特別是讀/寫信號R/W或其反相信號,亦即由此引出的信號反相R/W(在圖2至4中為頂上帶橫畫的R/W即
R/W:)。
在寫分支,亦即帶有延遲部件204的分支中,如上所述在預(yù)先給定的延遲1.5個時鐘周期時,進(jìn)行例如兩個時鐘周期的延遲,從而長于所需要的最小1.5個時鐘周期,以允許存儲器,使用相同的時鐘輸入端CLK。亦即,該延遲至少和所規(guī)定的時間偏移(在這里是1.5個時鐘周期)一樣大,但可以更大,如此例中那樣。為了形成一致性,均勻地延遲相關(guān)的地址和控制信號。對于指令總線也可以像針對數(shù)據(jù)總線(正如作為示例針對用DA1和DO1所表示的)所述的那樣設(shè)想。因此,這里的描述容易用于IA1的指令總線。
圖2和3中各連接線上的位數(shù)作了示范性的選擇,亦即,此例中建議用16位系統(tǒng)加上一個奇偶位(16位+1奇偶=17位)。這時,轉(zhuǎn)換到諸如8、32、64位加奇偶位或者更寬的錯誤識別等其他位寬度毫無問題是可能的,并可以按照本發(fā)明去設(shè)想。同樣,對存儲器控制信號MC(存儲器控制)4位的選擇也是示范性的。同樣通過附加而結(jié)合進(jìn)來的R/W-反相位的數(shù)目5位,這時作為示例視為5位(4位+1反相R/W=5位)。在切換模塊200下面的輸入分支(下面的三個箭頭,而且這里包括切換單元201)中,用切換模塊200使延遲旁路,亦即從旁引走,由轉(zhuǎn)換信號(特別是通過利用讀/寫信號R/W或由此引出的反相R/W)控制。在利用R/W(讀/寫信號)時,該信號通過反相部件205變?yōu)榉聪嘧x/寫信號。該第二切換模塊,特別是第二多路復(fù)用器,將數(shù)據(jù)和/或指令(這里例如為數(shù)據(jù))重新匯總到一起,同樣由這個信號,特別是讀/寫信號R/W及其反相信號控制。這里正如下面描述的,最好從延遲路徑,亦即在延遲部件204后面取出信號。
因此,最好選擇延遲后的讀/寫信號R/W或由此反相的反相R/W(=
R/W:),因為不然也許在其他連接的信號出現(xiàn)之前,一個訪問(特別是寫訪問)會在未達(dá)到所要求的從例如第二時鐘周期起的延遲而開始。在讀和寫訪問之間進(jìn)行切換時這也許會引起問題。例如,當(dāng)一個讀訪問(讀操作)緊接在寫訪問(寫操作)之后進(jìn)行時,必定會使延遲后的寫訪問和緊接其后的讀訪問并行地進(jìn)行。亦即,在寫操作和緊接其后的讀操作之間本應(yīng)沒有準(zhǔn)確的2個時鐘節(jié)拍的距離,或者當(dāng)在寫操作和緊接其后的讀操作之間以最小距離,在這里是兩個時鐘周期進(jìn)行時,這可以比較簡單地實現(xiàn)。在寫操作時在切換模塊200輸出端上出現(xiàn)寫操作持續(xù)時間的間隙。在這個間隙的期間,切換模塊200,亦即多路復(fù)用器激活讀分支,亦即多路復(fù)用器200下面的三個輸入端,其中這個分支的未延遲的數(shù)據(jù)或地址和控制信息總是屬于寫操作。為了防止這個信息,亦即前面進(jìn)行的運算到達(dá)該總線,預(yù)先設(shè)置切換裝置201,它在這種情況下將非關(guān)鍵的常數(shù)(例如空操作NO,如這里圖2所示)提供到多路復(fù)用器200下面的輸入端,而同時這構(gòu)成等待時間,直到多路復(fù)用器200也許到上面的三個輸入路徑,亦即進(jìn)行延遲后的、切換了的、有效的寫操作為止。
為了在這種情況下相對于另一個組件確保該接口,在此例中通過一個簡單的奇偶位各自確保信號數(shù)據(jù)地址DA1(數(shù)據(jù)地址)、數(shù)據(jù)輸出DO1(數(shù)據(jù)出)和控制信號(存儲器控制)MC。通過檢查單元109或指令總線用的檢查單元108確保該奇偶性,其中,圖1中沒有示出,通過附加的存儲器檢查器202確保存儲器控制信號MC。信號MC的奇偶位同樣通過延遲部件204像其他信號那樣延遲。因為每個信號類型DA1、DO1和MC的信號都是獨立地引入該延時裝置的,使這個簡單的奇偶位足以預(yù)防各個錯誤。在進(jìn)行多錯誤識別或者確保以及修正多個錯誤時,如上所述,可以使用更強(qiáng)的錯誤識別。
因為用來控制切換單元的轉(zhuǎn)換信號或改變信號,亦即這里的讀/寫信號R/W起著一個特殊的作用,這在一個專門的實施例中再一次具體地加以確保。這可通過雙軌碼(亦即在兩個軌跡上)直接在延時裝置的輸入端上進(jìn)行,其中再參照圖4更準(zhǔn)確地加以描述。
一個附加的功能可以通過路徑DAE/DOE、206、207和208實現(xiàn)。在這上面,可以在諸如錯誤安全(fail safe)存儲器等標(biāo)準(zhǔn)組件出錯或者剛好在讀操作中進(jìn)行寫操作切換時出錯的情況下達(dá)到寫操作的保護(hù)。作為雙軌碼有雙核的錯誤信號DAE/DOE。它被轉(zhuǎn)換為單軌信號,而且處于它們之間在時間偏移之前。這在比較模塊206中進(jìn)行,該功能快特別可以實現(xiàn)為XOR-模塊。這時,XOR-部件206將多路信號變?yōu)楹唵涡盘枴,F(xiàn)在在一個延遲部件207中任選地附上0.5個時鐘周期的時間延遲,以在該延時裝置中使所得到的錯誤信號與相應(yīng)的數(shù)據(jù)字在時間上對齊。因為在本例中該延時裝置按照延遲部件204延遲2個時鐘周期。這時例如,若使用“與”門作為框208,則該讀/寫信號R/W被屏蔽,以阻塞寫訪問,如與框208的布線的關(guān)系所表示的。
這個DAE/DOE輸入,亦即來自計算機(jī)的錯誤信號,同樣可以像來自202的存儲器控制MC的奇偶位一樣以及切換裝置201和202的各自的切換或改變信號,亦即特別是讀/寫信號R/W以及由此引出的反轉(zhuǎn)讀/寫信號(反相R/W)送到測試模塊203(特別是形成為TSC-檢查器),由此給出可供進(jìn)一步進(jìn)行錯誤處理用的錯誤信號EO(ErrorOut錯誤輸出)。多路復(fù)用器切換用的讀/寫信號R/W和
R/W:的使用及其檢查,如前所述,在圖4中詳細(xì)說明。
在延時裝置中,如圖2所示,按照該實施例在輸出端給出一個不是非延遲的就是延遲的數(shù)據(jù)地址信號DA1d(延遲的數(shù)據(jù)地址)、不是非延遲的就是延遲的數(shù)據(jù)信號或者數(shù)據(jù)輸出信號DO1d(延遲的數(shù)據(jù)輸出),這取決于是讀操作還是寫操作,以及在這個特定例子中,當(dāng)作為一個組件,特別是外部組件使用存儲模塊時,存儲器控制信號(延遲的存儲器控制),同樣不是非延遲就是延遲的。
在第二實施例中圖3再次表示一個延時裝置,其中該延時裝置如圖所示也可只由一個切換模塊或多路復(fù)用器200和兩個分支實現(xiàn)。這里,由圖2只使用第二多路復(fù)用器200,以直接引入其輸入DA1、DO1和MC。相同的輸入和以前一樣通過延遲部件204延遲,且同樣被引到多路復(fù)用器200。這時,數(shù)據(jù)(亦即在這里數(shù)據(jù)地址DA1、數(shù)據(jù)DO1和存儲器控制MC)同時進(jìn)入兩個分支中,其中寫操作在不延遲的路徑上轉(zhuǎn)換為讀操作。寫操作的改變或切換為讀操作同樣可以通過讀/寫信號R/W或由其引出的反相R/W進(jìn)行。
此外,第二實施例的結(jié)構(gòu)可與第一實施例相比,只是事實上第一多路復(fù)用器201被省略,因此凡存在的符號和功能都相同。測試單元則例外,由于省略了多路復(fù)用器201,引入的信號較少,故可以不同地構(gòu)造得較小,因此這里用303標(biāo)示。但是同樣給出可在錯誤處理框架內(nèi)可繼續(xù)使用的可用的錯誤信號EO。
特別是在一種其中組件掛在通用總線上的馮·諾依曼結(jié)構(gòu)中,只有寫操作被延遲時是有利的。在馮·諾依曼體系結(jié)構(gòu)的框架內(nèi),指令存儲器訪問和讀操作更適宜在沒有延遲的情況下進(jìn)行。
在該延時單元中,作為切換單元或者多路復(fù)用器可以使用圖4所示的可靠的多路復(fù)用器。這里,數(shù)據(jù)通過錯誤識別碼(例如這里的奇偶位)來確保,而控制信號亦即切換信號或改變信號(這里特別是用讀/寫信號R/W和由此引出的反轉(zhuǎn)讀/寫信號
R/W:)也同樣地被確保,在這里作為示例采用雙軌邏輯(Dual Rail Logic)。亦即,該R/W以及其反轉(zhuǎn)信號首先被導(dǎo)引到可靠的多路復(fù)用器并從那里導(dǎo)引到測試單元TSC-檢查器203或303。在這些前提下,一個讀/寫信號的軌跡涉及的錯誤由測試單元TSC 203或303檢測出來,而在多路復(fù)用器開關(guān)電路中的簡單錯誤涉及一個簡單的輸出位,因而可以通過奇偶檢查查明。即如前所述,數(shù)據(jù)和/或指令例如在一個標(biāo)準(zhǔn)多路復(fù)用器中切換,其中還附帶地切換奇偶位或其他錯誤識別。該控制信號,亦即切換或者改變信號R/W和反相R/W,首先被引向單個位用的所有切換器,這里,模塊401至406特別表示為“與”門,其中同樣被引入各自的輸入端I10,I11,I20,I21至In0,In1。這些模塊或其來自401-406的輸出信號,如圖4所示,此后總是在模塊407至409中結(jié)合起來。為此,模塊407-409特別實現(xiàn)為“或”門。此外,多路復(fù)用模塊的輸出端給出O1,O2至On。圖4所示的結(jié)構(gòu)只是圖2和3的多路復(fù)用模塊整個結(jié)構(gòu)的一部分,帶有舉例說明的每個信號路徑17位或5位的位寬度。亦即,圖2和3的兩個多路復(fù)用模塊201和200最好以圖4形式實現(xiàn),以使如前所述的錯誤切換的數(shù)據(jù)路徑可以識別,并簡化錯誤識別。這樣的錯誤不能通過純奇偶檢查查明,因為只要沒有出現(xiàn)位翻轉(zhuǎn),錯誤的信號路徑的數(shù)據(jù)便呈現(xiàn)出正確的奇偶性。
這個安全包(Sicherheitspaket)通過確保對組件(特別是圖1的103和104的外部組件)的接口而與外界隔絕,其中如圖1所示,產(chǎn)生錯誤識別105-107用的錯誤識別單元和檢查諸如108和109錯誤識別用的錯誤檢查單元,特別是設(shè)置為奇偶位檢查器和奇偶位發(fā)生器。這時出現(xiàn)的錯誤信號此外可以作為圖2和圖3中的DAE/DOE-信號,以及作為數(shù)據(jù)地址錯誤或數(shù)據(jù)輸出錯誤,如上所述,也在延遲單元中使用。可靠多路復(fù)用器的應(yīng)用,其中控制信號或者切換或改變信號R/W及反相R/W首先提供給單個位用的所有切換器,并只有在此之后才在TSC-檢查器測試,以此通過它們的測試知道控制信號中的錯誤,或者當(dāng)只有一位錯誤切換時,通過要切換的數(shù)據(jù)的數(shù)據(jù)編碼中得知。
由此,通過本發(fā)明用相對簡單的裝置便可能顯著提高雙計算機(jī)系統(tǒng)框架內(nèi)的可靠性。最后圖5表示該寄存器,特別是錯誤寄存器的工作方式。
當(dāng)前的錯誤識別用的雙計算機(jī)系統(tǒng)(例如雙核)提供一個非常高的錯誤發(fā)現(xiàn)機(jī)率。由于新的半導(dǎo)體工藝,結(jié)構(gòu)寬度總是不斷逐漸縮小,瞬態(tài)錯誤的數(shù)目增大,所以大部分錯誤可以通過錯誤處理例程排除。在當(dāng)前的雙處理器系統(tǒng)中,往往只記錄錯誤的出現(xiàn),然后關(guān)斷該系統(tǒng)或者通過一個復(fù)位重新啟動。這種錯誤處理方法需要一個長的持續(xù)時間。為了加速錯誤狀態(tài)的恢復(fù),計算機(jī)上的軟件必須知道出錯位置,以能有針對性的和快速地排除出錯狀態(tài)。
若該出錯位置用不同的中斷線路指定,則必須將中斷控制器實現(xiàn)為容錯的,或者還必須相應(yīng)地有多條中斷線路可供使用。之所以如此,是因為該錯誤發(fā)現(xiàn)機(jī)構(gòu)并非該或許能一起提供識別的智能中斷源。
為了使這成為可能,這里提出一種內(nèi)建于雙計算機(jī)系統(tǒng)的兩個處理器中的每一個的錯誤寄存器。該寄存器不一定必須像處理器中的寄存器那樣可尋址,而是可插入處理器的存儲區(qū)。該錯誤寄存器的每個位代表雙處理器系統(tǒng)錯誤發(fā)現(xiàn)機(jī)構(gòu)的錯誤信號。作為示例在這里示出一種實現(xiàn)方案(圖1)。這時,作為示例在這里位(A)至(H)對應(yīng)地代表(A)指令存儲器錯誤例如,指令地址中的奇偶錯誤;(B)數(shù)據(jù)存儲器錯誤也可以通過2位表示,例如,一個用于地址中的錯誤,而另一個用于數(shù)據(jù)中的錯誤;(C)指令地址錯誤通過一個比較器得知;(D)指令錯誤指令出現(xiàn)錯誤例如,通過該指令奇偶檢驗得知;(E)數(shù)據(jù)地址錯誤像(C)一樣,通過一個比較器得知;(F)數(shù)據(jù)字錯誤像(C)或(D)一樣得知;(G)一個具有錯誤識別機(jī)構(gòu)的示范性狀態(tài)組件;(H)輸入數(shù)據(jù)錯誤例如,錯誤可以像(D)點那樣通過一個奇偶檢驗得知。
錯誤寄存器的工作方式,例示于圖2。當(dāng)一個錯誤出現(xiàn)時,首先在主機(jī)的錯誤寄存器中設(shè)置相應(yīng)的錯誤位(主機(jī)錯誤寄存器位0),并在1.5個時鐘節(jié)拍后設(shè)置從機(jī)錯誤寄存器(從機(jī)錯誤寄存器位0)。這種偏移是必要的,因為在這個示范性實現(xiàn)方案中該兩個處理器以1.5個時鐘節(jié)拍的時鐘偏移工作。該實現(xiàn)同樣可以用于帶有其他時鐘偏移0至x(x為自然數(shù))的雙處理器系統(tǒng)。這里,第二處理器用的信號必須相應(yīng)地延遲。這里,錯誤信號作為雙軌信號存在。但這不是絕對必要的。另外,所有單個錯誤信號結(jié)合為一個總的信號。用這個結(jié)合的信號(Error Dual Core)可以向雙處理器系統(tǒng)引發(fā)一個中斷。該中斷首先在主機(jī)上(中斷主機(jī))引發(fā),并在相應(yīng)的時鐘偏移后在從機(jī)(中斷從機(jī))引發(fā)。在從機(jī)處以時鐘偏移的大小延遲,是為了即使在出錯的情況下和該錯誤處理例程時也保證雙處理器系統(tǒng)的同步所需要的。
根據(jù)這個中斷,主機(jī)的錯誤寄存器由主機(jī)讀出,而從機(jī)的錯誤寄存器由從機(jī)讀出?,F(xiàn)在可以通過對設(shè)置了的位求值,啟動一個錯誤處理例程。該錯誤處理例程結(jié)束之后,其相應(yīng)的位可以/應(yīng)該復(fù)位。
該錯誤寄存器不一定構(gòu)建成容錯的,因為它是針對每個處理器各自實現(xiàn)的。若在一個寄存器中出現(xiàn)錯誤,則在錯誤處理時該兩個處理器彼此分開運行(進(jìn)行不同的恢復(fù)措施),且因此知道該寄存器中的錯誤。若就只有該錯誤寄存器存在,則它同樣不必實現(xiàn)為容錯的,因為不僅必須在出錯的情況下設(shè)置這個寄存器中的一個位,而且還必須引發(fā)一個中斷。若引發(fā)了中斷,而該位不設(shè)置或設(shè)置了兩個位,則錯誤寄存器中出現(xiàn)一個錯誤。
該錯誤寄存器或者錯誤寄存器對不僅可以在雙處理器系統(tǒng)上使用。它同樣可以在x重處理器系統(tǒng)上使用,其中x為1至無限大。
可以看出(1)一個錯誤寄存器,其中每個位都代表錯誤識別機(jī)構(gòu)的一個錯誤信號;(2)一個錯誤寄存器,其中該處理器系統(tǒng)的錯誤識別機(jī)構(gòu)可以設(shè)置相應(yīng)的錯誤位,而且它可以由處理器重新清除,而且它實現(xiàn)為處理器的寄存器或者插入處理器的存儲區(qū);(3)一個錯誤寄存器對,在雙處理器系統(tǒng)中,其中明確地為每個處理器設(shè)置該錯誤寄存器;(4)一個錯誤寄存器對,此時主機(jī)的錯誤寄存器在錯誤出現(xiàn)時設(shè)置,而從機(jī)的錯誤寄存器以相應(yīng)的時鐘偏移設(shè)置;
(5)各錯誤信號匯集為一個統(tǒng)一的錯誤信號,以此可以引發(fā)一個中斷;(6)和(5)一樣,然而此時中斷在主機(jī)和從機(jī)以一個時鐘偏移引發(fā),以保證雙處理器系統(tǒng)的同步;(7)一個錯誤寄存器,其中只有第一個出現(xiàn)的錯誤才可以設(shè)置一個位。
一個方法,其中(1)每個錯誤識別機(jī)構(gòu)由一個位/記號/符號代表,且它們在識別出一個錯誤時被設(shè)置;(2)其中,對該寄存器求值,并實現(xiàn)一個與該位對應(yīng)的特定的錯誤處理例程;(3)其中,在識別出錯誤時同時設(shè)置寄存器/寄存器對中的位,并向單、雙或者多處理器系統(tǒng)引發(fā)一個中斷;(4)其中,該寄存器在一個錯誤處理之后由處理器重新復(fù)位。
權(quán)利要求
1.一種附加于雙計算機(jī)系統(tǒng)的寄存器,其中,在所述寄存器中信息以位的形式存放,所述雙計算機(jī)系統(tǒng)包括一個錯誤識別機(jī)構(gòu),其特征在于,所述寄存器中的位作為錯誤位代表錯誤識別機(jī)構(gòu)的至少一個錯誤信號。
2.按照權(quán)利要求
1的寄存器,其特征在于,所述寄存器構(gòu)成為使所述錯誤識別機(jī)構(gòu)可設(shè)置相應(yīng)的錯誤位且該錯誤位可由該雙計算機(jī)系統(tǒng)重新清除。
3.按照權(quán)利要求
1的寄存器,其特征在于,所述寄存器包含在所述雙計算機(jī)系統(tǒng)的一個計算機(jī)中。
4.按照權(quán)利要求
1的寄存器,其特征在于,所述寄存器插入在所述雙計算機(jī)系統(tǒng)的一個計算機(jī)的存儲區(qū)中。
5.按照權(quán)利要求
1的寄存器,其特征在于,僅根據(jù)一個最初的錯誤設(shè)置所述寄存器中的一個錯誤位。
6.按照權(quán)利要求
1的寄存器,其特征在于,多個錯誤信號結(jié)合為一個統(tǒng)一的錯誤信號。
7.按照權(quán)利要求
6的寄存器,其特征在于,通過所述統(tǒng)一的錯誤信號引發(fā)一個中斷。
8.帶有按照權(quán)利要求
1的寄存器的雙計算機(jī)系統(tǒng)。
9.按照權(quán)利要求
8的雙計算機(jī)系統(tǒng),其特征在于,每個計算機(jī)設(shè)有一個寄存器。
10.按照權(quán)利要求
9的雙計算機(jī)系統(tǒng),其特征在于,所述雙計算機(jī)系統(tǒng)的兩個計算機(jī)以一個時鐘偏移工作,且所述寄存器中錯誤位的設(shè)置也以該時鐘偏移進(jìn)行。
11.按照權(quán)利要求
8的雙計算機(jī)系統(tǒng),其特征在于,所述多個錯誤信號結(jié)合為一個統(tǒng)一的錯誤信號。
12.按照權(quán)利要求
8的雙計算機(jī)系統(tǒng),其特征在于,通過所述統(tǒng)一的錯誤信號引發(fā)一個中斷。
13.按照權(quán)利要求
9和12的雙計算機(jī)系統(tǒng),其特征在于,為每個計算機(jī)設(shè)有一個寄存器,且通過每個統(tǒng)一的錯誤信號引發(fā)一個中斷,其中所述中斷以所述時鐘偏移引發(fā)。
14.在一個雙計算機(jī)系統(tǒng)中的錯誤登記方法,其中,在一個寄存器中信息以位的形式存放,所述雙計算機(jī)系統(tǒng)包括一個錯誤識別機(jī)構(gòu),其特征在于,所述寄存器中的位作為錯誤位代表錯誤識別機(jī)構(gòu)的至少一個錯誤信號,并在識別出錯誤時至少一個錯誤位被設(shè)于所述寄存器中。
15.按照權(quán)利要求
14的方法,其特征在于,對至少一個寄存器求值,并依據(jù)所述寄存器中的錯誤位的位置進(jìn)行一項錯誤處理。
16.按照權(quán)利要求
14的方法,其特征在于,對至少一個寄存器求值,并依據(jù)所述寄存器中的錯誤位進(jìn)行一項錯誤處理。
17.按照權(quán)利要求
14的方法,其特征在于,通過所述寄存器中的至少一個錯誤位引發(fā)一個中斷。
18.按照權(quán)利要求
14的方法,其特征在于,一個錯誤處理之后所述寄存器被重新復(fù)位或者清除。
專利摘要
本發(fā)明涉及錯誤登記方法和附加于一個雙計算機(jī)系統(tǒng)的寄存器,其中,在該寄存器中信息以位的形式存放,該雙計算機(jī)系統(tǒng)包括一個錯誤識別機(jī)構(gòu),該寄存器中的位作為錯誤位代表該錯誤識別機(jī)構(gòu)的至少一個錯誤信號。
文檔編號G06F11/07GK1993678SQ200580025999
公開日2007年7月4日 申請日期2005年8月1日
發(fā)明者T·科特克, A·施泰寧格, C·埃爾薩羅姆 申請人:羅伯特·博世有限公司導(dǎo)出引文BiBTeX, EndNote, RefMan