專利名稱:在擁有至少兩個執(zhí)行單元的計算機系統(tǒng)中切換的方法和裝置的制作方法
現(xiàn)有技術(shù)由α粒子或者宇宙射線觸發(fā)的暫態(tài)錯誤越來越對集成半導體電路造成問題。由于結(jié)構(gòu)寬度減少、電壓降低和時鐘頻率升高,由α粒子或者宇宙射線引起的電壓峰值在集成電路中造成邏輯值畸變的概率在上升??赡茉斐梢粋€出錯的計算結(jié)果。在安全性相關(guān)的系統(tǒng)中,特別是在汽車中,因此必須可靠地檢測這樣的錯誤。在安全性相關(guān)的系統(tǒng),例如在于其中必須可靠地檢測電子電路的錯誤功能的一輛汽車的一個ABS控制系統(tǒng)的情況下,在這樣的系統(tǒng)的對應的控制裝置中通常采用冗余進行出錯識別。從而例如在公知的ABS系統(tǒng)中相應地加倍整個微控制器,其中冗余地計算全部ABS功能并且檢驗相符性。如果出現(xiàn)結(jié)果的偏差,就關(guān)閉所述ABS系統(tǒng)。
一個微控制器的重要部件在一個方面是存儲器模塊(例如RAM、ROM、超高速緩沖存儲器),內(nèi)核和輸入/輸出接口,所謂的外圍設施(例如A/D轉(zhuǎn)換器、CAN接口)。因為可以用檢驗碼(奇偶檢驗碼或者ECC)有效地監(jiān)測存儲器裝置,并且往往應用特定地把外圍設施作為一個傳感器信號線路或者執(zhí)行器信號線路的部分監(jiān)測,進一步的冗余在于只加倍一個微控制器的內(nèi)核。
這樣的帶有兩個集成的內(nèi)核的微控制器也公知為雙核結(jié)構(gòu)。這兩個內(nèi)核冗余地并且時鐘同步地(鎖步模式)執(zhí)行同一個程序段,比較這兩個內(nèi)核的結(jié)果,并且然后在比較時在相符性上識別一個錯誤。這種一個雙核系統(tǒng)的配置可以稱為一個比較模式。
在其它的應用中雙核結(jié)構(gòu)還可以用于提高處理能力,也就是說提高性能。這兩個內(nèi)核執(zhí)行不同的程序、程序段和命令,由此可以達到一種處理能力提高,因此可以把一個雙核系統(tǒng)的這種配置稱為一個性能模式。這種系統(tǒng)也可以稱為一個對稱的多處理器系統(tǒng)(SMP)。
這種系統(tǒng)的一個擴展是通過一個軟件借助訪問一個特定地址和專用硬件裝置在這兩個模式之間進行切換。在比較模式中把這兩個內(nèi)核的相互比較。在性能模式中這兩個內(nèi)核作為對稱的多處理器系統(tǒng)(SMP)工作并且執(zhí)行不同的程序、程序段或者命令。
在這種系統(tǒng)存在的問題是在所述模式之間進行切換時利用交替總線訪問可能性進行協(xié)調(diào)。因此本發(fā)明的技術(shù)問題是提供使得能夠在進行模式切換時利用交替來協(xié)調(diào)總線訪問可能性的方法和裝置。
發(fā)明內(nèi)容
有利地采用在擁有至少兩個執(zhí)行單元的計算機系統(tǒng)中進行切換的方法,其中在至少兩個工作模式之間進行切換,并且所述工作模式對應于該計算機系統(tǒng)的狀態(tài),其中,一個第一工作模式對應于一個比較模式而一個第二工作模式對應于一個性能模式,其特征在于,所述執(zhí)行單元可以與所述計算機系統(tǒng)的一個內(nèi)部總線連接,其中在性能模式中至少兩個執(zhí)行單元與所述內(nèi)部總線連接,并且在性能模式與比較模式之間切換時至少一個執(zhí)行單元通過一個由切換器控制的開關(guān)與內(nèi)部總線分離開。
有利地采用一種方法,其中還設置一個比較器,該比較器在比較模式中被激活。
有利地采用一種方法,其中還設置一個比較器,所述比較器在所述性能模式中失活。
有利地采用一種方法,其中設置一個比較器,所述比較器比較所述數(shù)據(jù)并且在不相同的情況下輸出一個出錯信號,在此于性能模式中掩蔽所述出錯信號。
有利地采用一種方法,其中其數(shù)據(jù)在比較模式中被比較的所述至少兩個執(zhí)行單元,在該模式中被處理為在所述內(nèi)部總線上的一種邏輯的執(zhí)行單元。
有利地采用一種方法,其中在比較模式中,至少一個執(zhí)行單元與所述內(nèi)部總線上分離開,并且復制沒有分離開的執(zhí)行單元的輸入數(shù)據(jù)并且把這些數(shù)據(jù)全都輸送到分離開的執(zhí)行單元。
有利地采用在擁有至少兩個執(zhí)行單元的計算機系統(tǒng)中進行切換的裝置,其中設置在至少兩個工作模式之間進行切換的切換器,其中,一個第一工作模式對應于一個比較模式,而一個第二工作模式對應于一個性能模式,其特征在于,所述執(zhí)行單元可以與所述計算機系統(tǒng)的一個內(nèi)部總線連接,其中在性能模式中,所述執(zhí)行單元與所述內(nèi)部總線連接而在比較模式中只有一個執(zhí)行單元與所述內(nèi)部總線連接,并且通過一個由切換器控制的開關(guān)把所述至少兩個執(zhí)行單元從內(nèi)部總線上分離開。
有利地采用一種裝置,其中還設置一個比較器,所述比較器在性能模式中失活。
有利地采用一種裝置,其中還設置一個比較器,所述比較器在比較模式中被激活。
有利地采用一種裝置,其中所述切換器和比較器綜合成一個作為切換和比較單元的部件。
其它優(yōu)點和有利的安排從權(quán)利要求書和說明書中所述的特征中得出。
在圖1中示出一個多處理器系統(tǒng)G60,所述多處理器系統(tǒng)帶有兩個執(zhí)行單元G10a、G10b、一個比較單元G20、一個切換單元G50和一個用于識別切換意愿的單元G40。
在圖2中示出一個多處理器系統(tǒng)G60,所述多處理器系統(tǒng)帶有兩個執(zhí)行單元G10a、G10b、一個由一個比較單元G20和一個切換單元G50組成的組合的比較單元和切換單元G70,以及一個用于識別切換意愿的單元G40。
在圖3中示出一個多處理器系統(tǒng)G60,所述多處理器系統(tǒng)帶有兩個執(zhí)行單元G10a、G10b、一個由一個比較單元G20和一個切換單元G50以及一個用于識別切換意愿的單元G40組成的組合切換意愿識別、比較和切換單元G80。
在圖4中示出一個多處理器系統(tǒng)G200,所述多處理器系統(tǒng)帶有兩個執(zhí)行單元G210a、2G10b、和一個比較單元G260。
在圖5中用一個流程圖示出一種方法,所述方法在一個特定的流水線級G230a、G230b的內(nèi)部交換一個帶有一個NOP的特定的非定義的比特組合或者其它的中性比特組合。
在圖6中示出一個多處理器系統(tǒng)H200,所述多處理器系統(tǒng)帶有兩個執(zhí)行單元H210a、H210b和一個切換和比較單元H260。
在圖7中用一個流程圖示出一種方法,表示可以如何借助于單元ID在帶有兩個執(zhí)行單元的一個多處理器系統(tǒng)中從一個比較模式向一個性能模式切換時對程序流進行分離。
在圖8中示出一種可能的方法,表示可以如何借助于單元ID在帶有三個執(zhí)行單元的一個多處理器系統(tǒng)中從一個比較模式向一個性能模式切換時分離程序流。
在圖9中用一個流程圖示出一種方法,所述方法在從一個性能模式向一個比較模式切換的情況下對所述執(zhí)行單元進行同步。
圖10中示出一個狀態(tài)自動機,所述狀態(tài)自動機顯示一個性能模式與一個比較模式之間的切換。
在圖11中示出一個多處理器系統(tǒng)G400,所述多處理器系統(tǒng)帶有兩個執(zhí)行單元以及兩個中斷控制器G420a、G420b、包括其內(nèi)含的中斷掩蔽寄存器G430a、G430b和各種中斷源G440b至G440n。
在圖12中示出一個多處理器系統(tǒng),所述多處理器系統(tǒng)帶有兩個執(zhí)行單元、一個切換和比較單元和一個帶有三個寄存器組的中斷控制器。
在圖13中示出一個比較器的一個最簡單的形式。
圖14中示出一個比較器,所述比較器帶有用于平衡一種相位差的單元。
圖15中示出優(yōu)選的部件M700(切換和比較單元)在比較模式中的原理行為。
圖16中示出優(yōu)選的部件M700(切換和比較單元)在性能模式中的原理行為。
圖17中示出切換和比較單元的一個實施方式。
圖18中示出切換和比較單元的另一個實施方式。
圖19中示出產(chǎn)生模式信號的一種切換和比較單元。
圖20中示出切換和比較單元的一種一般圖示。
圖21中示出切換和比較單元的一種一般圖示,所述切換和比較單元產(chǎn)生一個一般模式和一種一般出錯信號。
圖22中示出與一個外部單元的問答通信。
圖23中示出與一個內(nèi)部執(zhí)行器的通信。
具體實施例方式
執(zhí)行單元在下文中既可以指一個處理器、一個內(nèi)核、一個CPU,也指一個FPU(浮點單元)、一個DSP(數(shù)字信號處理器)、一個協(xié)處理器或者一個ALU(算術(shù)邏輯單元)。
在圖1中示出一個多處理器系統(tǒng)G60,所述多處理器系統(tǒng)帶有兩個執(zhí)行單元G10a、G10b、一個比較單元G20、一個切換單元G50和一個用于識別切換意愿的單元G40。
本發(fā)明涉及在圖1、圖2、圖3中示出的一個多處理器系統(tǒng)G60,所述多處理器系統(tǒng)帶有至少兩個執(zhí)行單元G10a、G10b、一個比較單元G20、一個切換單元G50、和一個用于識別切換意愿的單元G40。切換單元G50具有對至少兩個系統(tǒng)接口G30a、G30b的至少兩個輸出端。經(jīng)所述接口可以控制寄存器、存儲器或者外圍設施,譬如數(shù)字輸出端、D/A轉(zhuǎn)換器、通信控制器。所述多處理器系統(tǒng)可以用至少兩個工作模式運行,即一個比較模式(VM)和一個性能模式(PM)。
在所述性能模式中,在不同的執(zhí)行單元中并行地執(zhí)行不同的命令、程序段或者程序。在該工作模式中比較單元G20失活。在此工作模式中如此地配置切換單元G50使得每個執(zhí)行單元G10a、G10b各與一個系統(tǒng)接口G30a、G30b連接。此外執(zhí)行單元G10a與系統(tǒng)接口G30a連接而執(zhí)行單元G10b與系統(tǒng)接口G30b連接。
在比較模式中這兩個執(zhí)行單元G10a、G10b處理相同的或者同樣的命令、程序段或者程序。最好以時鐘同步方式執(zhí)行該命令,然而也可以設想以異步或者以一定的時鐘錯位方式執(zhí)行。執(zhí)行單元G10a、G10b的輸出信號在一個比較器G20中比較。在出現(xiàn)不同時就識別一個錯誤并且可以采取對應的措施。這些措施可以觸發(fā)一個出錯信號、引入一個出錯處理、操作切換器或者是這些措施和其它可設想的措施的一個組合。在一個變例中如此地配置所述切換單元G50使得只有一個信號與所述系統(tǒng)接口G30a、G30b連接。在另一個配置中,所述切換單元只使得經(jīng)過比較并從而相同的信號被連接到系統(tǒng)接口G30a、G30b。
在上述事情的一個實施方式中,所述切換單元G50和所述比較單元G20可以綜合成一個切換和比較單元(UVE)G70,如在圖2中所示。該共同的部件G70承擔單個部件G50、G20的任務。在圖15、圖16、圖17、圖18和圖19中示出UVE G70的變例。
如在圖3中所示,在另一個實施方式中,一個示出一個用于識別切換意愿的單元G40、比較單元G20和切換單元G50綜合成一個共同的單元G80。在附圖中未示的另一個實施方式中切換意愿識別單元G40和比較器G20綜合成一個共同的部件。同樣地可以設想切換意愿識別單元G40與切換單元G50綜合成一個共同的部件。
在下文中如果沒有另行說明,就從存在一個切換意愿識別單元G40和一個組合的切換和比較單元G70出發(fā)。
在圖20中示出還適用于兩個以上的執(zhí)行單元的切換和比較部件的一個普遍情況。從n個要考慮的執(zhí)行單元中向所述切換和比較部件N100發(fā)出n個信號N140、...、N14n。后者可以從這些輸入信號中產(chǎn)生n個輸出信號N160、...、N16n。在最簡單的情況,即“純性能模式”的情況,把所有的信號N14l輸送到對應的輸出信號N16i。在相反的極端情況下,即“純粹的比較模式”的情況下,把所有的信號N144、...N14l都只引導到剛好一個輸出信號N16i上。
用該圖可以說明各種可設想的模式可以如何地出現(xiàn)。為此在該圖中所述邏輯部件包含一個切換邏輯N110。該部件不必作為一個本身的部件存在。決定性的是它能夠在一個系統(tǒng)實現(xiàn)所述的功能。首先該開關(guān)邏輯N110確定究竟有多少個輸出信號。此外它還確定哪個輸入信號對哪個輸出信號起作用。在此可以一個輸入信號剛好對一個輸出信號起作用。用數(shù)學地形式另外表達也就是通過所述開關(guān)邏輯確定一個函數(shù),所述函數(shù)對集合{N140、...、N14n}配屬集合{N160、...、N16n}的一個元。
然后處理邏輯N120對每個輸出端N16i確定以什么形式所述輸出端對該輸出信號起作用。在此還是所述部件不必作為本身的部件存在。決定性的也是它能夠在一個系統(tǒng)中實現(xiàn)所述的功能。為了能夠舉例地說明各種不同的變例可能性,不限制普遍性地假定輸出N160由信號N141、...、N14m產(chǎn)生。如果m=1,這簡單地對應所述信號的轉(zhuǎn)接,如果m=2就比較信號N141、N142,如例如在圖13、圖14中用比較器所說明。該比較可以同步或者異步地進行,可以按比特進行也可以只在重要的比特上進行或者還以一個容差范圍進行。
如果m>=3,就有許多種可能性。
一個第一種可能性在于,比較所有信號,并且當存在至少兩個不同的值時檢測出一個錯誤,然后可以任選地發(fā)出信令。
一個第二種可能性在于,進行一個從m中選k的選擇(k>m/2)。這可以通過使用比較器實現(xiàn)。任選地如果識別出一個信號是偏差,那么可以產(chǎn)生一個出錯信號。如果所有的三個信號都不同就可以發(fā)生一個可能與之不同的出錯信號。
一個第三種可能性在于,把所述值輸入到一個邏輯算法。這例如可以表示構(gòu)成一個平均值、一個中值或者采用一個容錯算法(FTA)。這樣一個FTA基于,劃掉輸入值的極端值并且通過其余的值取一種平均值。該平均值通過通過全部集合的其余值取得,或者用一個可以用HW輕易構(gòu)成的子集合取得。在后一種情況下不總是需要總?cè)ケ容^所述的值。例如在構(gòu)成平均值時,只有在FTM、FTA或者中值要求部分地分類時才相加和相除。在一些情況下在此還可以在足夠大的極端值的情況下任選地輸出一個出錯信號。
這些不同的所述把多個信號處理成一個信號的所述可能性簡短地稱作比較運算。
也就是說,該處理邏輯的任務是確定每個輸出信號的(并且從而也確定所屬的輸入信號的)比較運算的準確形態(tài)。開關(guān)邏輯N110的信息(就是說,上述的函數(shù))和處理邏輯的信息(就是說每個輸出信號,即每函數(shù)值的比較運算的確定)的組合是模式信息,并且它確定所述模式。在一般情況下該信息當然是多值的,就是說,不能夠只表達一個邏輯比特。不是所有理論上可設想的模式在一個的實施方式中都是有意義的,最好限制允許的模式數(shù)量。要強調(diào)的是,在只有兩個執(zhí)行單元情況下,在只有一個比較模式處,全部的信息只能夠濃縮到一個比特上。
一個從一個性能模式向一個比較模式的切換在一般情況下其特征是在性能模式中向不同的輸出端映射的執(zhí)行單元,在比較模式中向同一個輸出端映射。優(yōu)選地這是通過有一種執(zhí)行單元的分系統(tǒng)實現(xiàn)的,其中在在性能模式下,該分系統(tǒng)中要考慮的所有輸入信號N14i直接地切換成對應的輸出信號N16i,而它們在比較模式中全部都向一個輸出端映射。作為可供選擇的替代,還可以通過改變配對來實現(xiàn)這樣的一種切換。這通過在一般的情況下不能夠從之評論一個性能模式并且從而評論一個比較模式說明的,盡管在本發(fā)明的一個給定的表述中把允許的模式數(shù)限制成這樣的一種情況。然而總是可以從一個性能模式向一個比較模式(反之亦然)說起。
通過軟件控制,可以在運行中動態(tài)地在這些模式之間切換。在此,或者通過由多處理器系統(tǒng)的至少一個執(zhí)行單元執(zhí)行特定的切換指令、特定的指令序列、明確地標明的指令或者通過訪問一定的地址觸發(fā)所述切換。
出錯切換邏輯N130采集例如由比較器產(chǎn)生的出錯信號,并且可以任選地被動切換輸出端N16i,其中它通過一個開關(guān)將其斷開。
下面的實施例卻主要地集中于兩個執(zhí)行單元的情況,用這種情況能夠簡單地表達大多數(shù)概念。
在模式之間的切換可以通過不同的方法編碼。在一個可能的方法采用特定的切換命令,所述切換命令可以由用于識別切換意愿的單元G40檢測。另一個用于編碼切換的可能的方法是通過訪問一個特定的存儲器區(qū)域確定,再由用于識別切換意愿的單元G40檢測所述存儲器區(qū)域。另一個方法在所述用于識別切換意愿的單元G40中分析發(fā)送切換信令的外部信號。在下面說明一種利用處理器的現(xiàn)有命令句中沒有使用的比特組合的方法。這種方法的特別的優(yōu)點是,可以進一步地利用現(xiàn)有的開發(fā)環(huán)境(匯編程序、編譯程序、連接程序、調(diào)試程序)。
在圖4中示出一個多處理器系統(tǒng)G200,所述多處理器系統(tǒng)帶有兩個執(zhí)行單元G210a、2G10b以及一個切換和比較單元G260。為了在一個比較模式與一個性能模式之間(以及相反地)切換,在所述匯編程序中利用所述至少兩個執(zhí)行單元G210a、G210b的沒有定義的比特組合。以該意義中作為不確定的或者說未定義的比特組合理解為所有在命令句的說明中規(guī)定為未定義的或者非法的組合比特。這例如是非法算子、非法指令、非法運算。這些未定義的比特組合的普遍特征是,在執(zhí)行這樣一種比特組合的情況下,一個正常的執(zhí)行單元或產(chǎn)生一個出錯信號或顯示出一個沒有定義的行為。也就是表達一個通常的程序的語義不需要這些比特組合。
從而對于軟件開發(fā)可以利用迄今的開發(fā)環(huán)境,譬如為單處理器系統(tǒng)提供的開發(fā)環(huán)境。例如這可以通過確定一個宏“SWITCH MODE TO PM”和一個宏“SWITCH MODE TO VM”實現(xiàn),所述宏在代碼中的適當位置對應地嵌入在以上定義的意義未定義的比特組合中。
這樣的組合的應用于是一般定義為“SWITCH”宏。如果在所述系統(tǒng)中有兩個以上的不同模式,為使用該方法必須有多個這樣的組合,于是優(yōu)選地可以每模式一個組合用于切換識別。
根據(jù)本發(fā)明通過一個在命令句中沒有定義的比特組合對所述切換意愿進行編碼。這應當在一個執(zhí)行單元G210a、G210b的內(nèi)部不按通常的方式處理。因此,提出一個附加的流水線級(REPLACE級)G230a、G230b,所述流水線級識別出對應的比特組合,并且所述比特組合由中性的比特組合替代以進一步處理。為此最適當?shù)氖抢谩癗OP”(NoOperation)命令。一個NOP命令的特征是,一直到指令指針為止,它不改變所述執(zhí)行單元的內(nèi)部狀態(tài)。在此REPLACE級G230a、G230b在通常的第一級,即FETCH級G220a、G220b之后,并且在其余的流水線級G240a、G240b之前,嵌入在匯編程序中的沒有定義的比特組合中。
根據(jù)本發(fā)明,如果識別出一個對應的切換的比特組合,一個分開的切換單元和比較單元G260發(fā)出信令要進行處理模式的一個切換,那么在此所述的一個用于識別切換意愿的單元G40被實施為一個流水線單元G215a、G215b中的特定的流水線級G230a、G230b,產(chǎn)生一個附加的信號G250a、G250b。
REP級G230a、G230b優(yōu)選地在FET G220a、G220b與其余的流水線級G240a、G240b之間安排在執(zhí)行單元G210a、G210b的G215a、G215b中。所述REP級G230a、G230b在此識別對應的比特組合并且在此情況下向其余的流水線級G240a、G240b傳達NOP命令。同時激活相應的信號G250a或者G250b。在所有另外的情況下,所述REP級G230a、G230b都采取中性的工作模式,就是說,所有其它的命令都不加改變地向所述其余的流水線級G240a、G240b傳達。
在圖5中用一個流程圖示出一種方法,所述方法在一個特定的流水線級G230a、G230b的內(nèi)部交換一個帶有一個NOP特定的非定義的比特組合或者其它的中性比特組合。在FETCH級G300中從存儲器中取出一個命令,就是說一個比特組合。然后在方框G310中判斷所取出的比特組合是否對應于編碼一個切換的特定的未定義的比特組合。如果不是這種情況,就在下一個步驟G320中把該比特組合不加改變地向其余的流水線級G340傳輸以進一步地處理。如果在步驟G310中識別編碼一個切換的特定的比特組合,就在步驟G330中用所述NOP比特組合替代它并且然后向另一個流水線級G340傳輸以進一步處理。在一個有利的實施方式中方框G310、G320、G330代表根據(jù)本發(fā)明的REPLACE級G230a、G230b,其中它們還可以包含其它的功能。
在圖6中示出一個多處理器系統(tǒng)H200,所述多處理器系統(tǒng)帶有兩個執(zhí)行單元H210a、H210b和一個切換和比較單元H260。部件H220a、H220b、H240a、H240b有與G220a、G220b、G240a、G240b同樣的含義。在用于識別切換意愿的單元G40的一個可供選擇的替代實施方式中,在此是通過特定的流水線級H230a、230b說明的,該實施方式除了發(fā)送切換的信令的信號H250a、H250b之外還有其它的信號。為了在從性能模式切換至比較模式時能夠使執(zhí)行單元H210a、H210b同步,所述執(zhí)行單元210a、H210b的流水線單元H215a、H215b各有一個信號輸入端H280a、H280b,用之可以停止所述處理。所述信號由切換和比較單元H260為首先識別了一個切換錯誤并且然后用之激活信號H250a、250b的那個流水線單元H215a或者H215b建立。只有在這兩個流水線單元H215a、215b識別了所述切換錯誤并且通過軟件或者其它的硬件措施同步了其內(nèi)部狀態(tài)時,才重新取回所述信號H280a、H280b。在從比較模式向性能模式切換時不需要H280a、H280b,因為不需要同步。
在此說明的建議的前提是一個單元(稱為ID單元)和一個方法,通過它們每個執(zhí)行單元可以確定其各自的編號或者單元ID。在一個擁有兩個執(zhí)行單元的系統(tǒng)中例如一個執(zhí)行單元可以確定編號0而另一個執(zhí)行單元可以確定編號1。在擁有兩個以上的執(zhí)行單元的系統(tǒng)中,相應安排或者說確定所述編號。所述ID不是區(qū)分一個比較模式與一個性能模式而是標記執(zhí)行單元。該ID單元可以包含在相應的執(zhí)行單元中,例如可以實施成處理器的工作模式寄存器中的比特或者比特組合,或者實施成真正的寄存器或者實施成單個比特,或者實施成應請求提供一個對應ID的所述執(zhí)行單元的外部單元。
在所述執(zhí)行單元根據(jù)一個切換意愿執(zhí)行了一個向性能模式的轉(zhuǎn)換以后,盡管比較單元不再有活性,然而執(zhí)行單元總是還執(zhí)行相同的命令。其原因在于標記在程序中執(zhí)行工作在下一個步驟進行或者當前進行的位置的指令指針不受所述切換的影響。為了所述執(zhí)行單元能夠接著執(zhí)行不同的SW模式,必須分離執(zhí)行單元的程序流程。因此與此實情對應地在性能模式中指令指針一般具有不同的值,因為的確根據(jù)本發(fā)明處理獨立的命令、程序段或者程序。在此說明的提議中,程序流的分離通過確定相應的執(zhí)行單元編號進行。視一個執(zhí)行單元的ID而異,所述執(zhí)行單元執(zhí)行一個一定的軟件模式。因為每個執(zhí)行單元具有一個各自的編號或者ID,可以由此可靠地分離所參與的執(zhí)行單元的程序流。
在圖7中用一個流程圖示出一種方法,表示可以如何借助于單元ID在帶有兩個執(zhí)行單元的一個多處理器系統(tǒng)中從一個比較模式向一個性能模式切換時分離程序流。在執(zhí)行了從一個比較模式向一個性能模式G500切換以后通過這兩個執(zhí)行單元進行單元ID或者單元編號G510的檢索。根據(jù)本發(fā)明在此執(zhí)行單元0得到編號0,執(zhí)行單元1得到編號1。在G510中把獲得的執(zhí)行單元編號與編號0進行比較。如果它們相等,在步驟G520中為之進行了該比較的執(zhí)行單元用執(zhí)行單元0的代碼繼續(xù)。該比較對之不成功的執(zhí)行單元在步驟G530以與編號1的比較繼續(xù)。如果該比較成功,就在G540中以執(zhí)行單元1的代碼繼續(xù)。如果該比較不成功就從而為對應的執(zhí)行單元得出不等于0和1的一個執(zhí)行單元編號。這代表一個出錯情況并且以G550繼續(xù)。
在圖8中描述用于三個執(zhí)行單元的一種可能的方法。在執(zhí)行了從一個比較模式向一個性能模式的切換H500以后通過該執(zhí)行單元進行單元ID或者執(zhí)行單元編號的檢索。在此例如執(zhí)行單元0得到編號0,執(zhí)行單元1得到編號1,并且執(zhí)行單元2得到編號2。在H510中進行得到的執(zhí)行單元編號與編號0的比較。如果它們相等,在步驟H520中為之進行了該比較的執(zhí)行單元用執(zhí)行單元0的代碼繼續(xù)。該比較對之不成功的執(zhí)行單元在步驟H530以與編號1的比較繼續(xù)。在該比較對之成功地進行的執(zhí)行單元中,在H540中以執(zhí)行單元1的代碼繼續(xù)。在該比較對之沒有成功地進行的執(zhí)行單元中,在H530中以與執(zhí)行單元2的比較繼續(xù)。在該比較對之成功地進行的執(zhí)行單元中,在H536中以執(zhí)行單元2的代碼繼續(xù)的代碼繼續(xù)。如果該比較沒有成功地進行,就從而為對應的執(zhí)行單元得出不等于0、1和2的一個執(zhí)行單元編號。這代表一個出錯情況并且以H550繼續(xù)。作為與編號比較的可供選擇的替代方案,還可以把查明的執(zhí)行單元編號直接地用作一個轉(zhuǎn)移表中的指數(shù)。
對應于此說明,所述方法還可以用于有多于三個執(zhí)行單元的多處理器系統(tǒng)。
如果從性能模式向比較模式切換,就必須關(guān)注較多的事情。在從性能模式向比較模式切換的情況下必須確保執(zhí)行單元的內(nèi)部狀態(tài)在此切換以后相同,否則,如果不同的開始狀態(tài)導致不同的輸出,在比較模式中有可能識別成出錯。這可以用硬件、用軟件或者用所有三個的執(zhí)行單元的一個組合進行。在此的前提是在切換到比較模式中以后所有的執(zhí)行單元執(zhí)行同樣的命令、程序或者程序段。此外,說明一種同步方法,如果所述比較模式的特征是處理完全相同的命令并且進行比特準確的比較,就可以使用所述同步方法。
在圖9中用一個流程圖示出一種方法,所述方法在從一個性能模式向一個比較模式切換的情況下同步所述執(zhí)行單元。在步驟G600中最好禁止所有的中斷。這不僅僅是重要的,因為必須為所述比較模式對應地重新編程所述中斷控制器。還應當通過軟件適配所述執(zhí)行單元的內(nèi)部狀態(tài)。然而,如果在處理向比較模式的切換的過程中觸發(fā)了一個中斷,一個適配就不可能毫無困難地不增加開銷地進行了。
步驟G610如果這兩個執(zhí)行單元有分開的高速緩沖存儲器,就還必須在所述切換以前適配高速緩沖存儲器的內(nèi)容,以防止,在比較模式中對于一個執(zhí)行單元的地址出現(xiàn)Cache-Hit而對于另一個執(zhí)行單元的地址出現(xiàn)Cache-Miss。如果這不是通過高速緩沖存儲器硬件自動地進行,這例如就通過把所有的高速緩沖存儲器線標記成無效的進行。這必須等得直到高速緩沖存儲器(或者一些高速緩沖存儲器)完全無效為止。在需要時,這通過在程序代碼中的等候循環(huán)確保。這還可以通過其它的手段達到,決定性的是,在該步驟以后所述高速緩沖存儲器處于相同的工作模式。
在步驟G620中清空執(zhí)行單元的寫緩沖器,從而在切換以后不發(fā)生仍然是源于性能模式的執(zhí)行單元的活動。
在步驟G630中同步執(zhí)行單元的流水線級的狀態(tài)。為此在切換程序/切換命令之前執(zhí)行一種適當數(shù)量的NOP(不操作)命令。所述NOP命令的數(shù)量取決于流水線級的結(jié)構(gòu)。什么命令適于作為NOP命令也同樣地是結(jié)構(gòu)依從性的。如果所述執(zhí)行單元具有一個指令高速緩沖存儲器,就從而確保所述命令程序?qū)柿艘粋€高速緩沖存儲器線的邊界(對齊)。因為在執(zhí)行該NOP以前所述指令高速緩沖存儲器被標記成無效的,必須把這些NOP首先加載在所述高速緩沖存儲器中。如果該命令程序在一個高速緩沖存儲器線邊界上開始,于是就在進行切換的命令之前結(jié)束從存儲器(例如RAM/ROM/閃存)向高速緩沖存儲器的數(shù)據(jù)轉(zhuǎn)移。這與必須在確定所需要的NOP數(shù)量時考慮。
在步驟G640中實際地進行向比較模式切換的所述命令步驟。
在步驟G650中適配每個執(zhí)行單元的各自寄存器文件的內(nèi)容。為此在切換的前后用完全相同的內(nèi)容加載所述寄存器。在此重要的是,切換以后,在向外轉(zhuǎn)移寄存器內(nèi)容并且從而在由比較單元比較之前,使所述執(zhí)行單元的一個寄存器的內(nèi)容完全相同。
在步驟G660中重新編程所述中斷控制器,從而在所有連接在一起的執(zhí)行單元中一個外部的中斷信號觸發(fā)相同的中斷。
在步驟G67中重新釋放所述中斷。
如果從程序運行中不明確應當在什么時候向比較模式切換,就應當向參與的執(zhí)行單元提供打算進行的切換的信息。為此優(yōu)選地在屬于相應的中斷控制器中例如用SW起始一個中斷。然后所述中斷處理器引發(fā)上述序列的執(zhí)行以進行聯(lián)接。
圖10中示出一個狀態(tài)自動機,所述狀態(tài)自動機顯示一個性能模式與一個比較模式之間(反之亦然)的切換。由于“電源開”或者還有復位(軟件或者硬件)造成的,系統(tǒng)起動時,通過過渡G800把系統(tǒng)G700置于狀態(tài)G700。一般成立在一個能夠觸發(fā)一個復位的沒有定義事件以后,所述系統(tǒng)總是出于狀態(tài)G700開始工作。能夠觸發(fā)一個復位的事件例如是外部的信號、供電電源的問題、或者使得一個進一步的工作不再有意義的出錯事件。于其中以性能模式工作的,切換和比較單元G70的以及還有處理器系統(tǒng)G60的狀態(tài)G700從而是該系統(tǒng)的缺省狀態(tài)。如上所述,在所有的否則就采取沒有定義的狀態(tài)的情況下,都采取該缺省的狀態(tài)G700。在此,通過硬件措施確保狀態(tài)G700的缺省位置。例如可以把系統(tǒng)狀態(tài)或者說切換和比較單元G60狀態(tài)通過在一個寄存器中的比特組合或者通過一個雙穩(wěn)態(tài)觸發(fā)器編碼在一個寄存器中、在一個寄存器的一個比特中。然后由硬件確保在一個復位或者電源開以后總是采取狀態(tài)G700。這通過例如把所述復位信號或者“電源開”信號輸送到所述雙穩(wěn)態(tài)觸發(fā)器或者所述寄存器的復位輸入端或者設定輸入端確保。
然后用硬件確保在復位或者開通電源以后總是取狀態(tài)G700。這通過例如把復位信號或者“電源開”信號輸送到雙穩(wěn)態(tài)觸發(fā)器或者寄存器的復位輸入端或者置位輸入端確保。
在狀態(tài)G700中,所述系統(tǒng)以一種性能模式工作。從而執(zhí)行單元處理不同的命令、程序或者程序段。切換意愿例如可以通過一個執(zhí)行單元G10a、G10b執(zhí)行一個特定的切換命令識別。其它的可能性是一個識別通過一個特定的存儲器地址、通過一個內(nèi)部信號或者還通過一個外部的信號。只要不存在切換意愿,微處理器系統(tǒng)G60并且從而還有切換和比較單元G70就保持在狀態(tài)G700中。此外,用切換意愿表示識別一種切換條件,所述切換條件有如同一個切換意愿在該特定的系統(tǒng)中的特征那樣的特征。
保留在狀態(tài)G700中用過渡G810示出。如果由執(zhí)行單元G10a識別出一個切換意愿,然后就通過過渡820把切換和比較單元G70切換到狀態(tài)G710。從而狀態(tài)G710表示執(zhí)行單元G10a識別了一個切換意愿并且等候直到執(zhí)行單元G10b同樣識別一個切換意愿。只要不是這種情況,切換和比較單元G70就保留在狀態(tài)G710,這用過渡G830示出。
如果在狀態(tài)G710中執(zhí)行單元G10b同樣識別一個切換意愿就進行過渡G840。從而切換和比較單元G70采取狀態(tài)G730。該工作模式表明兩個執(zhí)行單元G10a、G10b都識別一個切換意愿的情況。在狀態(tài)G730中進行所述同步方法,用之把兩個執(zhí)行單元G10a、G10b相互同步,以接著用比較模式工作。在此過程中,切換和比較單元G70保留在狀態(tài)G730中,這用過渡G890表示。
如果在狀態(tài)G700中首先由執(zhí)行單元G10b識別出一個切換意愿,然后就通過過渡G860轉(zhuǎn)換到狀態(tài)G720。從而狀態(tài)G720表示執(zhí)行單元G10b識別了一個切換意愿并且等候直到執(zhí)行單元G10a同樣識別一個切換意愿。只要不是這種情況,切換和比較單元G70就保留在狀態(tài)G720,這用過渡G870示出。如果在狀態(tài)G720中執(zhí)行單元G10a同樣識別一個切換意愿就進行過渡G880。從而切換和比較單元G70采取狀態(tài)G730。
如果在狀態(tài)G700中這兩個執(zhí)行單元G10a、G10b同時識別出一個切換意愿,就立即轉(zhuǎn)換到狀態(tài)G730。這個情況用過渡G850表示。
如果切換和比較單元G70處于狀態(tài)G730,這兩個執(zhí)行單元G10a、G10b就都識別了一個切換意愿。在狀態(tài)下首先同步執(zhí)行單元G10a、G10b內(nèi)部狀態(tài),并且在該同步過程結(jié)束以后用比較模式工作。隨著該同步工作結(jié)束進行過渡G900。該過渡表明同步的結(jié)束。在狀態(tài)G740中執(zhí)行單元G10a、G10b用比較模式工作。同步工作的結(jié)束可以由執(zhí)行單元G10a、G10b本身發(fā)送信令。這就是說,如果執(zhí)行單元G10a、G10b發(fā)出信令已經(jīng)用比較模式工作了,就進行過渡G900。該結(jié)束也可以通過一個固定的設置的時間信令。這就是說,在切換和比較單元G70中固定編碼在狀態(tài)G730保持多長時間。該時間設置得使這兩個執(zhí)行單元G10a、G10b肯定地結(jié)束了其同步工作。在運行了該時間以后起始過渡G900。在另一個變例中切換和比較單元G70可以監(jiān)測執(zhí)行單元G10a、G10b的狀態(tài)并且自行識別,這兩個執(zhí)行單元G10a、G10b是否結(jié)束了其同步工作。在該識別以后就引入過渡G900。
只要沒有識別到切換意愿,多處理器系統(tǒng)G60就保留在比較模式,這由過渡G910表示。如果在狀態(tài)G70識別了一個切換意愿,就通過過渡G920把所述切換和比較單元置于狀態(tài)G700。如上已述,該系統(tǒng)在狀態(tài)G700以性能模式工作。在從狀態(tài)G740向狀態(tài)G700轉(zhuǎn)移情況下程序流的分離可以如所說明的方法中那樣進行。
在圖11中示出一個多處理器系統(tǒng)G400,所述多處理器系統(tǒng)帶有兩個執(zhí)行單元G410a、G410b以及兩個中斷控制器G420a、G420b、包括其內(nèi)含的中斷掩蔽寄存器G430a、G430b和各種中斷源G440b至G440n。另外還表示帶有一個特定的中斷掩蔽寄存器G450的切換和比較單元G450。
有利地每個執(zhí)行單元G410a、G410b都有其自身的中斷控制器G420a、G420b,以能夠在性能模式中同時地處理兩個中斷。這特別是在其中中斷處理表示在系統(tǒng)性能中的一個出錯的系統(tǒng)中是有利的。在此中斷源G440a至G440n有利地相應同樣地連接到兩個中斷控制器G420a、G420b上。這種連接方式使得可以不需要其它措施地在這兩個執(zhí)行單元G410a、G410b地觸發(fā)相同的中斷。在性能模式中如此地編程中斷控制器G420a、G420b,使得可以視應用而異適當?shù)匕严鄳闹袛嘣碐440a至G440b劃分到不同的執(zhí)行單元G410a、G410b上。這借助于適當編程中斷掩蔽寄存器G430a、G430b進行。該掩蔽寄存器為每個中斷源G440a至G440n規(guī)定在該寄存器中的一個比特。如果置該比特,禁止所述中斷,也就是不把它轉(zhuǎn)交到連接的執(zhí)行單元G410a、G410b。有利地,在性能模式中,一定的中斷源G440a至G440n由剛好一個執(zhí)行單元G410a、G410b處理。有利地這至少對一些中斷源適用。從而可以達到能夠同時處理多個中斷源G440a至G440b,而不需要進行一個中斷嵌套(一個中斷處理通過一個第二中斷停止)或者中斷推遲(第二個的處理推遲到第一個的處理結(jié)束)。
在比較模式中必須確保,在所有執(zhí)行單元G410a、G410b上的中斷控制器同時地觸發(fā)同樣的中斷,不然就會,對應一個比較模式,識別成一個出錯。這意味著在從性能模式向比較模式切換的情況下在同步階段中必須確保中斷掩蔽寄存器G430a、G430b完全相同。這種同步在圖9中用步驟G660說明。該同步可以用軟件進行,其中對應地用相同的值編程中斷掩蔽寄存器G430a、G430b。本發(fā)明提出采用一個特定的寄存器G460,以加速切換過程。在一個實施方式中,該寄存器G460安排在切換和比較單元G460中,然而它也可以包含在切換意愿識別碼G40中、在組合的切換意愿識別碼中,在比較器中、在切換單元G80中以及在所有的組合中。同樣可以設想,該寄存器在這三個部件之外安排在一個其它的適當位置上。寄存器G460包含應當在比較模式中起作用的中斷掩蔽。切換和比較單元G450、從切換意愿識別G40得到一個從一個性能模式向一個比較模式切換的信號。在能夠在步驟G600中禁止該中斷以后,重新編程中斷控制器G420a、G420b的中斷掩蔽寄存器G430a、G430b。在此用切換和比較單元G450對其余的同步步驟并行地進行,然后得到切換信號并且禁止中斷控制器G420a、G420b。有利地在比較模式中不單個重新編程中斷掩蔽寄存器G430a、G430b而是總重新編程中央寄存器G460。這然后用同步地用硬件轉(zhuǎn)移到兩個中斷掩蔽寄存器G430a、G430b。在此對一個中斷掩蔽寄存器說明的方法可以以相同的方式移植到安排在一個中斷控制器中的所有中斷工作模式寄存器上。當然還可以設想,取代于一個寄存器G460可以使用從中能夠盡可能快地轉(zhuǎn)移中斷掩蔽寄存器G430a、G430b的一個其它的存儲器媒體。
在圖12中示出一個多處理器系統(tǒng)G1000,所述多處理器系統(tǒng)帶有兩個執(zhí)行單元G1010a、G1010b、一個切換和比較單元G1020和一個帶有三個不同的寄存器組G1040a、G1040b、G1050的中斷控制器G1030。作為上述方案的一個可供選擇的替代,提出一個特定的中斷控制器G1030,如在圖12中所示。這用在一個多處理器系統(tǒng)G1000中,所述多處理器系統(tǒng)在此例中示出帶有兩個執(zhí)行單元G1010a、G1010b以及一個可以在一個比較模式與一個能夠模式之間切換的切換和比較單元G1020。在此,在性能模式中采用寄存器組G1040a、G1040b。在此情況下,中斷控制器G1030與兩個中斷控制器G420a、G420b工作完全一樣。該方法在圖11中示出并且說明。在此寄存器1040a配屬給執(zhí)行單元G1010a而寄存器1040b配屬給執(zhí)行單元G1010b。中斷源G1060a至1060n按掩蔽碼適當?shù)胤峙浣o執(zhí)行單元G1010a、G1010b。在從性能模式切換到比較模式時,切換和比較單元G1020產(chǎn)生一個信號G1070。該信號向中斷控制器G1030發(fā)送切換到比較模式中或者系統(tǒng)至此時間起用比較模式工作的信令。然后中斷控制器G1030使用寄存器G1050。從而確保在兩個執(zhí)行單元G1010a、G1010b上相同的中斷信號。通過從比較模式向切換模式的切換,切換和比較單元G1020再次通過信號G1070向中斷控制器G1030發(fā)送又切換到寄存器組G1040a、G1040b上的信令。從而有利地還可以達到對應寄存器組的保護,其中在性能模式中只允許在寄存器組G1040a、G1040b上寫,而在對比較模式保留的寄存器G1050的定用硬件停止。同樣地沿另一個方向也可能以在比較模式中只允許G1050上寫并且停止在寄存器組G1040a、G1040b上寫。
在圖13中示出一個比較器M500、G20的最簡單的形式。在一個性能模式與一個比較模式之間切換的擁有兩個執(zhí)行單元G10a、G10b的一個多處理器系統(tǒng)G60中一個重要的部件是比較器M500。在該最簡單的形式中所述比較器在圖13中示出。該比較部件M500可以接收兩個輸入信號M510和M511。它比較這兩個輸入信號的相同性,在此處說明上下文中優(yōu)選地是一個比特意義上的相同性。在相同的情況下把輸入信號M510、M511給出成輸出信號M520,并且不激活出錯信號M530,就是說,它發(fā)出“良好”狀態(tài)的信令。如果它檢測出不相同,就激活信號M530。作為選擇然后發(fā)出M520失活信令。其優(yōu)點是,不表現(xiàn)對應系統(tǒng)得出的錯誤(“錯誤包含”)。這就是說,不由于潛在的錯誤信號干擾在該執(zhí)行單元外部的其它部件。然而還有在其中不失活信號M520的系統(tǒng)。這是例如在系統(tǒng)層次上只要求出錯沉默的情況。然后例如向外輸出出錯信號。
從該基本系統(tǒng)出發(fā)可以設想許多實施方式。首先可以把部件M500實施成所謂的TSC(完全自檢)部件。在此情況下把出錯信號M530用至少兩個線路(“雙軌”)向外輸出,并且通過內(nèi)部的設計和錯誤識別措施確保在每個可能的出錯情況下,對所述比較部件該信號都是正確的或者可識別地不正確的。在此一個雙軌的信號通過兩個線路提供一個二進制信號,優(yōu)選地是,在無錯誤地情況下這兩個線路是彼此相反的。使用本發(fā)明所述系統(tǒng)時一個優(yōu)選的變例是采用一個這樣的TSC比較器。
一個第二類的實施方式可以以這兩個輸入M510、M511(或者M610、M611)必須有什么程度的同步相區(qū)別。一個可能的實施方式是以按時鐘的同步為特征,就是說可以在一個時鐘周期中進行數(shù)據(jù)的比較。
一個稍微的改變在于在一個輸入之間有一個固定的相位差的情況下采用一種同步的延遲元件,所述延遲元件把對應的信號例如延遲半數(shù)個時鐘周期或者整數(shù)個時鐘周期。這種相位差當然是為了避免共因(Common Cause)錯誤,也就是避免可能同時或者同樣地影響多個處理單元的出錯原因。
因此圖14描述了另一個實施方式。部件和信號M600、M610、M611、M620、M630與圖13中的對應部件和信號M500、M510、M511、M520、M530有相同的含義。除了這些部件以外在圖14中添加了把較早的輸入延遲所述相位差的部件M640。優(yōu)選地該延遲元件放在比較器中,以只在比較模式中使用。為可供選擇的替代方按或者作為補充,可以在輸入鏈中加入緩沖器M650、M651,以同樣地能夠兼容不表現(xiàn)為時鐘錯開或者相位差的異步性。優(yōu)選地把這種緩沖器設計成FIFO(先進先出)存儲器。這樣的比較器具有一個輸入端和一個輸出端并且可以存儲多個存儲器字。在輸入一個新的存儲器字時可以把一個進入的存儲器字移位。在最后的位(緩沖器的深度)以后把它“從該存儲器向外”推移。如果有一個這樣的緩沖器,就還可以把異步性兼容到該緩沖器的最大深度。在此情況下只有在緩沖器溢出時才必須輸出一個出錯信號。
此外可以在比較器中按照如何產(chǎn)生信號M520(或者M620)來區(qū)分實施方式。一個優(yōu)選的實施方式是把輸入信號M510(或者M620)加在輸出端并且用開關(guān)可斷開地進行該連接。該實施方式的一個特殊的優(yōu)點在于可以使用同一個開關(guān)在性能模式與可能是不同的比較模式之間進行切換。作為可供選擇的替代方案,還可以從比較器內(nèi)部的緩沖器產(chǎn)生信號。
最后一類實施方式的區(qū)別在于在比較器上有多少個輸出端以及所述比較器應當如何響應。在每三個輸入端的情況下,可以進行一種多數(shù)性表決,亦即比較所有三個信號或者僅比較兩個信號。在四個或者更多的輸入端的情況下,可以設想對應地更多的實施方式。這些可能的實施方式的一個詳盡的描述包含在圖20的說明中。
這些實施方式的準確選擇優(yōu)選地與整個系統(tǒng)的不同工作模式相關(guān)聯(lián)。就是說,如果有多個不同的性能模式或者比較模式時,把這些模式優(yōu)選地與比較器的對應模式相關(guān)聯(lián)。
在本發(fā)明的一些位置需要或者有利地,使一個比較或者一個通用的表決/處理/分類元件失活或者鈍化(在下文中為了簡化總是稱為比較器)。對此有許多可能性。一個可能性是可以向所述比較器輸送一個用之激活或者失活該比較器的信號。為此在所述比較器添加一個可以進行這種激活或者失活的附加的邏輯。另一個可能是,不向該比較器輸送任何比較數(shù)據(jù)。第三個可能性是,在系統(tǒng)的層面上忽略出錯信號。此外還可以中斷出錯信號本身。所有這些可能性的共同之處在于在系統(tǒng)中區(qū)分潛在比較的兩個或者多個數(shù)據(jù)不起任何作用。如果是這種情況,那么把比較器考慮成鈍化或者失活的。
此外把一切換器的實施與一個比較器相關(guān)聯(lián)考慮,也就是一個切換和比較單元G70。如果把它與執(zhí)行單元G10a、G10b一起實施在一個芯片中這種實施方式是特別地有利的。
通過把部件比較器和切換器集成在一個芯片內(nèi)部,只出現(xiàn)一個非常小的硬件附加開銷。因此在該實施方式的一個優(yōu)選的變例中,這兩個部分結(jié)合成一個部件。這是一個有至少所述輸入信號(輸出執(zhí)行單元1、輸出執(zhí)行單元2)、至少所述輸出信號(輸出1、輸出2)、一個邏輯的輸出信號“全部輸出”(可以物理上與輸出1或者輸出2相符)和一個比較器的部件。該部件有模式切換的能力,在性能模式中接通所有的信號,并且在比較模式中比較多個信號并且在一定的情況下接通一個信號。附加地還有其它的輸入信號和輸出信號是有利的一個發(fā)送檢測出的錯誤信令的出錯信號、一個發(fā)送于其中所述的部件所處模式的信令的模式信號、和從該部件發(fā)出及發(fā)向該部件的控制信號。
在一個優(yōu)選的實施例中,以性能模式在一個面向處理器的總線上連接兩個或者多個執(zhí)行單元作為主機。失活所述比較單元,或者掩蔽在一個可設想的比較模式中于執(zhí)行單元的一個不同的行為的情況下產(chǎn)生的出錯信號。這意味著切換和比較單元對軟件是透明的。在所考慮的比較模式中把用于比較的物理執(zhí)行單元處理成一個在總線上的邏輯執(zhí)行單元,就是說在總線上只出現(xiàn)一個主機。激活該比較器的出錯信號。此外切換和比較單元通過開關(guān)直到一個執(zhí)行單元把所有的從該面向處理器的總線上分離開,復制所述一個邏輯的執(zhí)行單元的輸入并且把這些輸入提供給所有參與該比較模式的執(zhí)行單元。在向總線上寫入的情況下在所述比較單元上比較所述輸出并且在相等的情況下通過一個現(xiàn)有的通路向總線寫入。
圖15和圖16中示出優(yōu)選的部件M700(切換和比較單元對應于G70)在性能模式中的原理行為。出于簡化的目的,兩圖只對兩個執(zhí)行單元示出。在此圖15示出比較模式中所述部件的狀態(tài),而在圖16中示出性能模式中所述部件的狀態(tài)。在這兩個模式中的不同開關(guān)位置由M700通過控制M760實現(xiàn)。如圖16中所示,如果閉合開關(guān)M750和M751,這兩個執(zhí)行單元M730、M731可以首先于性能模式中在數(shù)據(jù)和地址總線M710上寫入。其前提在于可能出現(xiàn)的寫沖突既不由總線協(xié)議觸發(fā)也不由其它的圖中未示出的部件觸發(fā)。在比較模式中該行為至少從邏輯的角度上是另一種情況。如在圖15中所示,然后使開關(guān)M750、M751開路并且從而中止直接的訪問可能性。與圖16中相反,在圖15中然后卻閉合開關(guān)M752、M753。把執(zhí)行單元M730、M731的信號M740、M741輸送到比較部件M720。這至少是于圖13所示的構(gòu)成,然而還可以包含一個擴展,如圖14中所示。然而在圖15和圖16中卻省去了表達出錯信號或者還省去了比較部件的其它信號。如果這兩個信號相符,就閉合開關(guān)M754,并且然后向地址/數(shù)據(jù)總線轉(zhuǎn)交這兩個相符的信號??傊切枰袚Q和比較單元M700能夠影響開關(guān)M750-M754。相應的開關(guān)位置取決于所述模式和所述出錯識別。以此還可以設想其中開關(guān)M754總是閉合并且適當?shù)南到y(tǒng)反應由出錯信號產(chǎn)生的變例。
圖17中示出切換和比較單元的一個變例。還是已經(jīng)對于一個只帶有兩個執(zhí)行單元G10a、G10b的最簡單的系統(tǒng)有許多實施一個切換和比較單元的變例。另一個在比較器中不采用任何緩沖器時特別有利的變例示于圖17中。如圖15、圖16中所示,有執(zhí)行單元的信號M840、M841。后者在該圖中沒有示出。在根據(jù)本發(fā)明的部件M800中有一個給定所述部件的模式的模式邏輯M810。在性能模式中它閉合開關(guān)M831,而在比較模式中它開路該開關(guān)。此外它向比較器M820發(fā)出該模式信號。在該實施方式中,此比較器總是進行比較,但是利用該比較的結(jié)果和所述模式信號,以充分利用開關(guān)M830。在性能模式中總是閉合該開關(guān),而在比較模式中如果沒有錯誤時就總是閉合。當然還可以,在確定一個錯誤的情況下持續(xù)地保持該開關(guān)開路,直到出現(xiàn)一個對應的復位。
圖18中示出切換和比較單元的另一個實施方式。該實施方式變通地,盡管有多個開關(guān),卻在性能模式中失效,并且因此還可以輕易地對付異步性。還是有執(zhí)行單元的這兩個信號M940、M941。后者還是在該圖中沒有示出。在根據(jù)本發(fā)明的部件M900中有一個給定所述部件的模式的模式邏輯M910。在性能模式中,它閉合開關(guān)M931并且使開關(guān)M932、M933開路。從而在該模式中不向所述比較部件輸入數(shù)據(jù)。這在不同步的情況下允許較長的緩沖時間或者在一個實施中有很小的緩沖深度。在性能模式中總是閉合開關(guān)M930。在比較模式中,部件M910閉合開關(guān)M932、933并且通過開關(guān)M931開路來安排對總線的直接訪問。任選地,模式邏輯M910還向比較器M920通知所述模式。在比較模式中,在沒有錯誤的情況下閉合開關(guān)M930。在出錯情況下比較部件M920通過使開關(guān)M930開路來中斷把信號M940轉(zhuǎn)交到總線上。
在所述各圖中可以不費力地把模式或者出錯信號向外輸送。此外,特別是為了產(chǎn)生內(nèi)部模式狀態(tài),毫無問題地可以向所述部件輸送其它的信號。
綜上所述,該部件的一個優(yōu)選的實施的特征是,有多個處理單元,所述多個處理單元可以在總線(例如地址/數(shù)據(jù)總線)上寫輸出信號。其重要之處在于所述部件可以處理所述執(zhí)行單元的至少兩個輸出信號(例如比較,然而還有可能表決或者分類),并且所述部件可以影響至少一個開關(guān),用所述開關(guān)中斷至少一個直接的總線訪問。如果所述執(zhí)行單元是一個計算機內(nèi)核是特別有用的。此外如果可影響的開關(guān)狀態(tài)規(guī)定計算單元的工作模式是有利的。
如果所述部件可以在地址-數(shù)據(jù)總線上施加一個信號,就可以特別良好地轉(zhuǎn)換該系統(tǒng)的特性,特別是可能的比較模式。有利地這是所述執(zhí)行單元之一的輸出信號之一的接通。作為可供選擇的替代,任選地這可以從處理不同的執(zhí)行單元的不同輸出信號中出現(xiàn)。
例如,如已經(jīng)在對圖17、18的說明中表明的那樣,可以在系統(tǒng)中,并且,視部件中的安排而異,還在所述部件中,標識一個模式信息。視實施而異,該模式信號甚至可以詳盡地存在于一個分部件中。在一個優(yōu)選的實施方式中還可以從所述部件中調(diào)出該信號并且提供給該系統(tǒng)的其它部分。
對于一般情況,可以參照圖21說明根據(jù)本發(fā)明的行為。信號和部件N100、N110、N120、N130、N140、N141、N142、N143、N14n、N160、N161、N162、N163、N16n與在圖20中有同樣的含義。此外在該圖中示出了模式150和出錯信號N170。該任選的出錯信號由集結(jié)出錯信號的出錯形狀邏輯N130產(chǎn)生,并且或者是直接地轉(zhuǎn)交單個出錯信號或者是其中包含的出錯信號的一個集束。模式信號N150是任選的,然而在許多位置其在該部件外部的應用中可能是有利的。開關(guān)邏輯N110(就是說在圖20的說明中描述的功能)和處理邏輯(就是說,確定每個輸出信號的比較運行,也就是每個函數(shù)值)的信息的組合是模式信息并且該信息確定模式。該信息在一般情況下當然是多值的,就是說不能夠只通過一個邏輯比特表達。并非所有理論上可設想的模式在一個給定的實施方式中都是有意義的,優(yōu)選地限制允許的模式的數(shù)量。于是模式信號表明相關(guān)的模式信息。優(yōu)選地如此表達一個HW實施使得能夠配置外部可見的模式信號。優(yōu)選地同樣可配置地安排處理邏輯和開關(guān)邏輯。優(yōu)選地相互諧調(diào)這些配置。作為可供選擇的替代,也可以向外只發(fā)出或者補充地發(fā)出模式信號的改變。這特別地在一個雙配置中是有利的。
最好保護該模式信號。在圖19中示出例如在一個雙系統(tǒng)中的實施方式的基于圖17所述的實施方式。在此信號M850從切換和比較單元中引出。在一個雙系統(tǒng)中該信息可以在邏輯上由一個比特表達。上述的保護最好通過一個雙軌信號體現(xiàn)。在一般情況下可以同樣地通過一個加倍,作為選擇把它反向地進行保護。作為替代方案還可以產(chǎn)生一個奇偶位,所述奇偶位優(yōu)選地內(nèi)部自身發(fā)生,或者采用一個CRC(循環(huán)冗余檢驗)或者ECC(糾錯碼)。
可以在所述部件外部使用該模式信號。首先把它用于操作系統(tǒng)的自我監(jiān)測。這是從SW層中對一個切換負責的,并且應當總是知道該系統(tǒng)處于什么模式,并且還應當把該系統(tǒng)帶入所述模式。這可以首先直接進行。然而一個可供選擇的可能性還是,通過時鐘或者其它“獨立”的單元用該信號在該操作系統(tǒng)中使一個請求合理。
一般可以把該信號任選地用于一個μc的其它數(shù)據(jù)阱(或者一般單計算元)中。例如可以如此地編程一個MPU(存儲器保護單元)使之只在一定的模式中允許的存儲器訪問(由一定的執(zhí)行單元)。在此一個MPU是一個可以確保只在數(shù)據(jù)/地址總線上進行允許的訪問的單元,例如其中它對于一定的程序部分禁止對一定的地址空間的訪問。通過把該模式信號引導到所述MPU上、該MPU的對應的配置,以及分析該配置數(shù)據(jù)和模式信號,可以進行一個附加的保護。如果該模式信號有足夠的信息去檢驗,在一定的情況下甚至簡化編程。于是一個準統(tǒng)計學的編程對μc的的初始化時間是足夠的。對應地可以適用于外圍單元。在此也有其中只在一定的模式中允許對對應的外圍元件訪問的應用。通過把所述模式信號輸送到該外圍元件、該外圍元件的對應的配置和編程,可以進行一個附加的保護。如果該模式信號有足夠的信息去檢驗,在一定的情況下甚至簡化編程。于是一個準統(tǒng)計學的編程對μc的的初始化時間是足夠的。類似地可以也在中斷控制器上使用該信號的分析。于是,這樣的監(jiān)測就可以解決安全性概念的基礎(chǔ)或者一個重要的組成部分。通過適當?shù)貓?zhí)行和SW構(gòu)成有可能對一個整個的出錯類型在所考慮的應用中把安全性概念建立在該模式信號上。如果以一個適當?shù)男问?,如以上所述,保存所述模式信號這就是特別有利的。在此情況下,如果所考慮的部件檢測到模式信號與對它的訪問本身之間的一個不一致性的情況下,該所考慮的部分有發(fā)送一個出錯信號或者實行一種線路斷路的可能性是進一步有利的。
另一個重要的應用目的是在所述計算單元的外部使用該模式信號的分析。一個直接的應用是在一個遞減看門狗中分析。一個這樣的“看門狗”由至少一個(計數(shù)器-)寄存器組成,可以通過處理器把該寄存器置于一個整數(shù)。在設置該寄存器以后,所述“看門狗”按一個固定的周期自動地遞減該寄存器的值。如果該寄存器的值是零,或者出現(xiàn)一個溢出,該“看門狗”產(chǎn)生一個出錯信號。如果不應當產(chǎn)生該出錯信號,微控制器就必須適時地重新復位該寄存器的值。從而可以(在邊界上)檢驗該微控制器是否正確地執(zhí)行了所述軟件。如果微控制器不再正確地執(zhí)行所述軟件,就可以假定在該情況下也不再正確地操縱所述“看門狗”,并且從而由所述“看門狗”產(chǎn)生一個出錯信號。硬件和數(shù)據(jù)結(jié)構(gòu)的完善性可以可靠地用比較模式檢驗,然而為此必須確保,定期地所述微控制器重新返回到比較模式中。在此所述的“看門狗”的任務因此是不僅當它在一個確定的時間空間內(nèi)不再復位時產(chǎn)生一個出錯信號,而還在所述微控制器在一個確定的時間內(nèi)不同退回到一定的比較模式時也產(chǎn)生一個出錯信號。例如只在模式信號顯示計算單元的確定的比較模式時才能復位所述“看門狗”。從而確保定時地把所述計算單元退回到該模式中。作為可供選擇的替換或者補充,只有在微控制器觸發(fā)一定的中斷時才遞減該“看門狗”寄存器中的值。為此還必須把該μC的外部中斷信號向所述看門狗耦連。在所述看門狗中存儲在確定的比較模式中接通什么中斷。所述“建立”該看門狗,只要出現(xiàn)一個這樣的中斷,就由于存在正確的模式信號而復位該看門狗。
完全普遍地,尤其應用在一個安全性概念上時,在一個μC外部源中分析該模式信號是有用的。保證在一個計算機上正確地運行該軟件中的一個重要之處在于如在本發(fā)明中所述說明地,是在不同的允許模式之間正確地切換。首先應當自行檢驗可切換性,優(yōu)選地還檢驗正確的切換。如上所述,人們還對定時地采取一個特定的模式感興趣。如果該模式信號自行安排一個這樣的方法總是特別有利的。一種可能性是把模式信號向一個ASIC或者向另一個μC輸送。這可以在采用該信號的條件下通過一個計時器和簡單的邏輯至少檢驗以下的點所述計算單元是否足夠經(jīng)常地(例如最遲每1000μs)進入一個或者多個模式?是否在切換成至一個模式時總是輸出一個確定的信號?計算單元是否定時從一個模式開始?是否一定的簡單模式對該模式的順序有效?是否一個一般時間的模式有效(例如在模式1中平均<70%并且在模式2中<50%)?一定的情況下通過采用附加信號來補充模式信號在邏輯上、時間上的特性某一個組合。
在此圖22中說明一個由此著手的建議的基本配置。其中在一個這樣的伙伴ASIC或者伙伴μC與本發(fā)明具有的所考慮的單元之間進行一個特定的詢問應答周期。N300是能夠發(fā)送一個這樣的模式信號的計算單元。這例如可以是一個帶有多個執(zhí)行單元和可以發(fā)生該模式信號的另一個部件的μC。例如,這可以如圖19或者圖21所示地實現(xiàn)所述另一個部件。N300向伙伴(例如另一個計算單元、另一個μC或者ASIC)N330輸出該信號。所述伙伴可以通過信號N320向N300詢問,讓N300通過N321應答。這樣一種詢問可以是一種計算任務,其正確的結(jié)果通過N321由N300在一定的時間間期內(nèi)提供。N330可以獨立于N300檢驗該結(jié)果的正確性。例如可以自行考慮把該結(jié)果存儲在N330或者N330。對所提出的詢問應答通信特殊之處在于與該應答同時關(guān)注模式信號。優(yōu)選地如此地提出詢問為了通過N300應答必須采取一定的模式。從而能夠可靠地檢驗所有的模式切換能力,并且還實施在程序運行中規(guī)定的模式切換。尤其在初始化一個系統(tǒng)時,當然也在運行中,這可以用作一個安全概念的重要組成部分。
該構(gòu)思的另一個應用在一個執(zhí)行器控制器中對模式信號進行分析。在汽車領(lǐng)域的許多應用中當前的一個傾向是所謂的智能執(zhí)行器。它們是有一個最小的電子規(guī)模的執(zhí)行器,所述執(zhí)行器接收一個執(zhí)行器設定命令,并且設計所述執(zhí)行器使其也執(zhí)行該設定命令。
該基本構(gòu)思示于圖23中。本發(fā)明具有的計算單元N400通過連接N420向一個(智能的)執(zhí)行器或者一個執(zhí)行器控制裝置N430輸出一個設定命令。并行地它通過連接N410向該執(zhí)行器發(fā)出模式信號。執(zhí)行器N430借助于該模式信號檢驗是否允許所述控制并且可選地通過信號N440回輸一個出錯工作模式。在錯誤控制的情況下它采取在系統(tǒng)無關(guān)緊要的出錯沉默工作模式。
權(quán)利要求
1.在擁有至少兩個執(zhí)行單元的計算機系統(tǒng)中進行切換的方法,其中在至少兩個工作模式之間進行切換,并且一個第一工作模式對應于一個比較模式,而一個第二工作模式對應于一個性能模式,其特征在于,所述執(zhí)行單元與所述計算機系統(tǒng)的一個內(nèi)部總線連接,其中在性能模式中,至少兩個執(zhí)行單元與所述內(nèi)部總線連接,并且在性能模式與比較模式之間切換時,至少一個執(zhí)行單元通過一個由切換器控制的開關(guān)與內(nèi)部總線分離開。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,還設置一個比較器,在比較模式中,所述比較器被激活。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,還設置一個比較器,在性能模式中,所述比較器失活。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,設置一個比較器,所述比較器比較所述數(shù)據(jù),并且在不相同的情況下輸出一個出錯信號,在性能模式中掩蔽所述出錯信號。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述至少兩個執(zhí)行單元在比較模式中被處理為在所述內(nèi)部總線上的邏輯執(zhí)行單元,這兩個執(zhí)行單元的數(shù)據(jù)在比較模式中被比較。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,在比較模式中,至少一個執(zhí)行單元與所述內(nèi)部總線上分離開,并且復制沒有分離開的執(zhí)行單元的輸入數(shù)據(jù)并且把這些數(shù)據(jù)全都輸送到分離開的執(zhí)行單元。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,在比較模式中,所有直到一個的執(zhí)行單元從所述內(nèi)部總線上分離開,并且復制沒有分離開的執(zhí)行單元的輸入數(shù)據(jù)并且把這些數(shù)據(jù)全都輸送到分離開的執(zhí)行單元。
8.在擁有至少兩個執(zhí)行單元的計算機系統(tǒng)中進行切換的裝置,其中設置一個在至少兩個工作模式之間切換的切換器,其中,一個第一工作模式對應于一個比較模式,而一個第二工作模式對應于一個性能模式,其特征在于,所述執(zhí)行單元與所述計算機系統(tǒng)的一個內(nèi)部總線連接,其中,在性能模式中,所述多個執(zhí)行單元與所述內(nèi)部總線連接,而在比較模式中只有一個執(zhí)行單元與所述內(nèi)部總線連接并且通過一個由切換器控制的開關(guān)把所述至少兩個執(zhí)行單元與內(nèi)部總線分離開。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,還設置一個比較器,所述比較器在性能模式中失活。
10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,還設置一個比較器,所述比較器在比較模式中被激活。
11.根據(jù)權(quán)利要求8和9或者8和10所述的裝置,其特征在于,所述切換器和比較器綜合成一個切換和比較單元的部件。
全文摘要
本發(fā)明涉及在擁有至少兩個執(zhí)行單元的計算機系統(tǒng)中進行切換的方法,其中在至少兩個工作模式之間進行切換,并且一個第一工作模式對應于一個比較模式,而一個第二工作模式對應于一個性能模式,其特征在于,所述執(zhí)行單元與所述計算機系統(tǒng)的一個內(nèi)部總線連接,其中在性能模式中至少兩個執(zhí)行單元與所述內(nèi)部總線連接,并且在性能模式與比較模式之間進行切換時至少一個執(zhí)行單元通過一個由切換器控制的開關(guān)與內(nèi)部總線分離開。
文檔編號G06F11/16GK101048753SQ200580036537
公開日2007年10月3日 申請日期2005年10月25日 優(yōu)先權(quán)日2004年10月25日
發(fā)明者R·韋伯勒, B·米勒, R·安格鮑爾, Y·科拉尼, R·格梅利奇, E·博爾 申請人:羅伯特·博世有限公司