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