專利名稱:在多處理器系統(tǒng)中從至少一個數(shù)據(jù)源分配數(shù)據(jù)的方法和設備的制作方法
背景技術:
在技術應用中,如尤其是在汽車中或者在工業(yè)物品領域(即例如機械領域)中和在自動化領域中,對于對安全性要求嚴格的應用,不斷地采用越來越多的基于微處理器或者計算機的控制和調節(jié)系統(tǒng)。在此,雙計算機系統(tǒng)或者雙處理器系統(tǒng)(雙核)目前是用于對安全性要求嚴格的應用的常用計算機系統(tǒng),尤其是在汽車中諸如是用于防抱死系統(tǒng)、電子穩(wěn)定程序(ESP)、如線控驅動(Drive-by-Wire)或者線控駕駛(Steer-by-Wire)以及線控剎車(Break-by-Wire)那樣的線傳控制(X-by-wire)系統(tǒng)等等的常用計算機系統(tǒng),或者在其它聯(lián)網(wǎng)系統(tǒng)中也是常用計算機系統(tǒng)。為了滿足未來應用中的高的安全性要求,強大的錯誤識別機制和錯誤處理機制是必需的,尤其是以便對付例如在使計算機系統(tǒng)的半導體結構變小時形成的瞬時錯誤。在此,保護核本身、即處理器是相對困難的。如所提及的那樣,對此的解決方案是應用雙計算機系統(tǒng)或者雙核系統(tǒng)來檢測錯誤。
因此,這種具有至少兩個集成執(zhí)行單元的處理器單元被稱為雙核架構或者多核架構。按照目前的現(xiàn)有技術主要出于以下兩個原因來建議這種雙核架構或者多核架構因此,一方面,能夠通過以下方式實現(xiàn)效率提高、即實現(xiàn)性能提高,即這兩個執(zhí)行單元或者核被視為和被當作一個半導體模塊上的兩個計算單元。在該配置中,這兩個執(zhí)行單元或者核執(zhí)行不同程序或任務。由此能實現(xiàn)效率提高,因此該配置被稱為效率模式或者性能模式。
實現(xiàn)雙核或者多核架構的第二原因是安全性提高,其方式是這兩個執(zhí)行單元冗余地執(zhí)行相同的程序。這兩個執(zhí)行單元或者CPU(即核)的結果被比較,并且在比較一致性時能識別出錯誤。以下將該配置稱為安全模式(Safety-Mode)或者也稱為錯誤識別模式。
因此,目前一方面存在為了識別硬件錯誤而冗余地工作的雙處理器或者多處理器系統(tǒng)(參見雙核或者主機-檢驗器(Master-Checker)系統(tǒng)),而另一方面存在在處理器上執(zhí)行不同數(shù)據(jù)的雙處理器或者多處理器系統(tǒng)。如果現(xiàn)在將這兩種運行方式組合在雙處理器或多處理器系統(tǒng)中(為簡單起見現(xiàn)在還僅僅提及雙處理器系統(tǒng),但是下面的發(fā)明完全一樣能被用于多處理器系統(tǒng)),則這兩個處理器在性能模式下獲得不同的數(shù)據(jù)并且在錯誤識別模式下獲得相同的數(shù)據(jù)。
現(xiàn)在,本發(fā)明的任務是介紹一種單元和一種方法,該單元和該方法根據(jù)模式向至少兩個處理器冗余地或不同地提供指令/數(shù)據(jù),并且尤其是在性能模式中分配存儲器訪問權限。
這種單元到目前為止還不是公知的。該單元能夠實現(xiàn)雙處理器系統(tǒng)的有效運行,使得在運行時能夠轉換到兩種模式、即安全模式和性能模式下。在此還提及處理器,但是這在概念上同樣包括核或計算單元。
本發(fā)明的實施例和優(yōu)點的說明因此,本發(fā)明有利地從一種用于在具有至少兩個計算單元的系統(tǒng)中從至少一個數(shù)據(jù)源分配數(shù)據(jù)的單元出發(fā),其中包含有轉換裝置(模式轉換),通過該轉換裝置能夠在該系統(tǒng)的至少兩種運行模式之間進行轉換,其中所述單元這樣被構造,使得數(shù)據(jù)分配和/或數(shù)據(jù)源取決于運行模式。同樣示出具有這種單元的系統(tǒng)。
同樣地,本發(fā)明展示一種用于在具有至少兩個計算單元的系統(tǒng)中從至少一個數(shù)據(jù)源分配數(shù)據(jù)的方法,其中包含有轉換裝置,通過該轉換裝置能夠在該系統(tǒng)的至少兩種運行模式之間進行轉換,其中數(shù)據(jù)分配和/或數(shù)據(jù)源(尤其是指令存儲器、數(shù)據(jù)存儲器、高速緩存)的選擇取決于運行模式。
在此,第一運行模式對應于安全模式,在該安全模式中兩個計算單元執(zhí)行相同的程序和/或數(shù)據(jù),并且設置有比較裝置,該比較裝置比較在執(zhí)行相同的程序時出現(xiàn)的狀態(tài)的一致性。
本發(fā)明的單元或本發(fā)明的方法使得能夠在一個雙處理器系統(tǒng)中實現(xiàn)兩種模式。
如果兩個處理器工作在錯誤識別模式(F模式)中,則這兩個處理器獲得相同的數(shù)據(jù)/指令,而如果這兩個處理器工作在性能模式(P模式)中,則每個處理器都可以訪問存儲器。于是該單元管理對只簡單存在的存儲器或外圍設備的訪問。
在F模式中,該單元接收一個處理器(在此稱為主機)的數(shù)據(jù)/地址,并將該數(shù)據(jù)/地址轉發(fā)給諸如存儲器、總線等的組件。第二處理器(在此稱為從機)希望進行相同的訪問。數(shù)據(jù)分配單元在第二端口上對此進行接收,但是不向其它組件轉發(fā)該請求。數(shù)據(jù)分配單元向從機傳送與主機相同的數(shù)據(jù),并將兩個處理器的數(shù)據(jù)進行比較。如果這些數(shù)據(jù)不同,則數(shù)據(jù)分配單元(在此是DVE)通過錯誤信號表示這一點。因此只有主機工作在總線/存儲器上,而從機得到相同的數(shù)據(jù)(如在雙核系統(tǒng)中的工作方式)。
在P模式中,兩個處理器執(zhí)行不同的程序部分。因此存儲器訪問也是不同的。因此,DVE接受處理器的請求,并將結果/所請求的數(shù)據(jù)發(fā)還給請求了該結果/該數(shù)據(jù)的處理器。如果現(xiàn)在兩個處理器同時想要訪問一個組件,則一個處理器被置于等待狀態(tài),直到另一個處理器操作完為止。
兩種模式之間的轉換以及因此數(shù)據(jù)分配單元的不同工作方式通過控制信號來實現(xiàn)。這可以由兩個處理器之一產(chǎn)生或由外部產(chǎn)生。
有利地,所述轉換通過控制信號、尤其是涉及至少一個計算單元的運行模式的模式信號來觸發(fā)和/或表明,其中該控制信號尤其是從外部針對該機算單元來產(chǎn)生。
此外合宜的是,所述轉換通過指令、尤其是描述不允許操作(illOp)的指令來觸發(fā)和/或表明,其中該指令由轉換裝置、尤其是模式轉換單元產(chǎn)生。
有利地,在對應于安全模式(F模式)的運行模式中相互比較兩個計算單元的輸入數(shù)據(jù)的一致性和/或在對應于安全模式(F模式)的運行模式中相互比較兩個計算單元的輸出數(shù)據(jù)的一致性。
合宜地,將待分配的數(shù)據(jù)轉發(fā)給至少一個其它組件、尤其是計算單元,其中該待分配的數(shù)據(jù)在轉發(fā)之前被擴充錯誤發(fā)現(xiàn)碼。同樣可以將輸入數(shù)據(jù)轉發(fā)給至少一個其它組件、尤其是計算單元,其中該輸入數(shù)據(jù)在轉發(fā)之前被擴充錯誤發(fā)現(xiàn)碼。同樣地,將輸出數(shù)據(jù)轉發(fā)給至少一個其它組件,其中該輸出數(shù)據(jù)在轉發(fā)之前擴充錯誤發(fā)現(xiàn)碼。針對所有這些情況,有利地在基于該錯誤發(fā)現(xiàn)碼發(fā)現(xiàn)錯誤時輸出錯誤信號。其中在一種實施形式中僅在安全模式(F模式)中才輸出錯誤信號。
原則上,可以有利地在性能模式和安全模式之間進行區(qū)分,并且在性能模式中進行兩個計算單元的數(shù)據(jù)的優(yōu)先級排列,并且可以根據(jù)該優(yōu)先級排列順序地接收和/或轉發(fā)這些數(shù)據(jù)。
按照本發(fā)明,可以包含有延遲組件,該延遲組件根據(jù)兩個計算單元在相應運行模式中的時鐘偏移將超前的數(shù)據(jù)恰好延遲該時鐘偏移。
有利地,從存儲器中讀取待分配的數(shù)據(jù),然后分配給計算單元。
在此,所述數(shù)據(jù)分配合宜地通過狀態(tài)自動機來控制,其中為每個計算單元設置兩個狀態(tài)自動機。這些狀態(tài)自動機有利地被構造為同步狀態(tài)自動機和異步狀態(tài)自動機。
按照本發(fā)明,設置有一種具有這種本發(fā)明單元的系統(tǒng),其中此外設置有在該單元外部的監(jiān)視電路,該監(jiān)視電路在沒有實現(xiàn)運行模式的預期的轉換時識別出錯誤。
如果雙處理器系統(tǒng)在F模式中以時鐘偏移運行而在P模式中不是以時鐘偏移運行,則DVE單元相應地延遲從機的數(shù)據(jù),或者一直存儲主機的輸出數(shù)據(jù),直到該輸出數(shù)據(jù)能夠與從機的輸出數(shù)據(jù)相比較以識別錯誤為止。
借助
圖1來進一步地闡述時鐘偏移圖1示出雙計算機系統(tǒng),其具有第一計算機100(尤其是主計算機)和第二計算機101(尤其是從計算機)。在此,整個系統(tǒng)以能預先給定的時鐘或以能預先給定的時鐘周期(clock cycle)CLK來運行。通過計算機100的時鐘輸入端CLK1以及通過計算機101的時鐘輸入端CLK2將時鐘輸送給該雙計算機系統(tǒng)。除此以外,在該雙計算機系統(tǒng)中還示例性地包含用于識別錯誤的特定特征,其中亦即第一計算機100以及第二計算機101以時間偏移、尤其是能預先給定的時間偏移或能預先給定的時鐘偏移工作。在此,能預先給定時間偏移的每個任意時間,并且也能預先給定關于時鐘周期的偏移的每個任意時鐘。這可以是時鐘周期(clock cycle)的整數(shù)偏移,但是也可以如在該例子中所示出的那樣例如是1.5個時鐘周期的偏移,其中在此第一計算機100正是在第二計算機101之前1.5個時鐘周期工作或運行。通過該偏移能夠避免,同相錯誤(即所謂的共模失效(common mode failure))以相同方式干擾計算機或者處理器(即雙核系統(tǒng)的核)并且因此保持未被識別。也就是說,這種同相錯誤由于偏移而在程序流程中的不同時刻涉及計算機并且因此對兩個計算機產(chǎn)生不同的效果,由此能識別出錯誤。由此避免,沒有時鐘偏移的同樣的錯誤影響在比較中可能不能被識別出。為了在雙計算機系統(tǒng)中實現(xiàn)在時間或者時鐘方面的這種偏移(在此尤其是為1.5個時鐘周期),實現(xiàn)偏移模塊112至115。
為了識別出所述的同相錯誤,該系統(tǒng)正好例如被設計用于以預先給定的時間偏移或者時鐘周期偏移工作,尤其是在此為1.5個時鐘周期,即在該1.5個時鐘周期期間,一個計算機、例如計算機100直接對組件、特別是外部組件103和104做出響應,第二計算機101以相對于計算機100正好1.5個時鐘周期的延遲工作。為了在這種情況下產(chǎn)生所希望的一個半周期延遲(即1.5個時鐘周期的延遲),在時鐘輸入端CLK2上為計算機101饋送反相的時鐘。但是,由此也必須將計算機的上述端子、即其數(shù)據(jù)或指令通過總線延遲所述時鐘周期,即在此尤其是延遲1.5個時鐘周期,為此正如所述的那樣設置有偏移或者延遲模塊112至115。除了兩個計算機或者處理器100和101之外,還設置有組件103和104,這些組件103和104通過由總線線路116A和116B及116C組成的總線116以及由總線線路117A和117B組成的總線117與這兩個計算機100和101連接。在此,117是指令總線,在該指令總線中,用117A標識指令地址總線,而用117B標識部分指令(數(shù)據(jù))總線。地址總線117A通過指令地址端子IA1(指令地址1)與計算機100相連接,并且通過指令地址端子IA2(指令地址2)與計算機101相連接。指令本身通過部分指令總線117B來傳輸,該部分指令總線117B通過指令端子II(指令1)與計算機100相連接并且通過指令端子I2(指令2)與計算機101相連接。在由117A和117B組成的指令總線117中,中間連接了組件103(例如指令存儲器、尤其是可靠的指令存儲器等)。尤其是作為指令存儲器的該組件在該例子中也以時鐘CLK來運行。此外,用116表示數(shù)據(jù)總線,該數(shù)據(jù)總線包含數(shù)據(jù)地址總線或者數(shù)據(jù)地址線116A和數(shù)據(jù)總線或者數(shù)據(jù)線116B。在此,116A(即數(shù)據(jù)地址線)通過數(shù)據(jù)地址端子DA1(數(shù)據(jù)地址1)與計算機100相連接,并且通過數(shù)據(jù)地址端子DA2(數(shù)據(jù)地址2)與計算機101相連接。同樣,數(shù)據(jù)總線或者數(shù)據(jù)線116B通過數(shù)據(jù)端子DO1(數(shù)據(jù)輸出1)與計算機100相連接并且通過數(shù)據(jù)端子DO2(數(shù)據(jù)輸出2)與計算機101相連接。此外,數(shù)據(jù)總線線路116C屬于數(shù)據(jù)總線116,該數(shù)據(jù)總線線路116C通過數(shù)據(jù)端子DI1(數(shù)據(jù)輸入1)和數(shù)據(jù)端子DI2(數(shù)據(jù)輸入2)分別與計算機100或計算機101相連接。在由線路116A、116B和116C組成的該數(shù)據(jù)總線116中,中間連接了組件104(例如數(shù)據(jù)存儲器、尤其是可靠的數(shù)據(jù)存儲器等)。在該例子中也為該組件104提供時鐘CLK。
在此,組件103和104代表任意的組件,這些任意的組件通過數(shù)據(jù)總線和/或指令總線與雙計算機系統(tǒng)的計算機相連接,并且根據(jù)在寫操作和/或讀操作方面對雙計算機系統(tǒng)的數(shù)據(jù)和/或指令的訪問可能獲得或者發(fā)出有錯誤的數(shù)據(jù)和/或指令。為了避免錯誤,雖然設置有錯誤識別發(fā)生器105、106和107,這些錯誤識別發(fā)生器105、106和107產(chǎn)生諸如奇偶校驗位的錯誤標識或者也產(chǎn)生諸如糾錯碼(即ECC,Error-Correction-Code)等的另一錯誤代碼。于是為此也設置有相應的錯誤標識檢驗裝置或者校驗裝置108和109,用于檢查相應的錯誤標識、即例如奇偶校驗位或者如ECC那樣的另一錯誤代碼)。
如在圖1中所示的那樣,在雙計算機系統(tǒng)中關于冗余實施的數(shù)據(jù)和/或指令的比較在比較器110和111中實現(xiàn)。但是如果現(xiàn)在在計算機100與101之間存在由不同步的雙處理器系統(tǒng)或者在同步的雙處理器系統(tǒng)中由同步中的錯誤或者也如在該特定的例子中那樣由于期望用于錯誤識別的時間偏移或時鐘周期偏移(尤其是在此1.5個時鐘周期的偏移)所引起的時間偏移、尤其是時鐘偏移或者時鐘周期偏移,則在該時間偏移或者時鐘偏移中,計算機(在此尤其是計算機100)可能將有錯誤的數(shù)據(jù)和/或指令寫入或者讀入組件、尤其是外部組件、諸如在此特別是存儲器103或者104中,但是也可能涉及其它用戶或者執(zhí)行元件或者傳感器。這樣,該計算機也可能以有錯誤的方式通過該時鐘偏移執(zhí)行寫訪問而不是所設置的讀訪問。不言而喻,尤其是在沒有清楚地表明正好錯誤地改變了哪些數(shù)據(jù)和/或指令的可能性的情況下,這些情形導致整個系統(tǒng)的錯誤,由此也產(chǎn)生恢復問題。
為了解決該問題,現(xiàn)在將如所示的那樣將延遲單元102連接到數(shù)據(jù)總線的線路中和/或連接到指令總線中。出于清楚的原因,僅僅示出了到數(shù)據(jù)總線中的接入。在指令總線方面,這自然完全一樣是可能的并且是可設想的。延遲單元102(Delay Unit)如此延遲訪問、在此尤其是存儲器訪問,以致尤其是在錯誤識別時例如通過比較器110和111例如至少一直補償可能的時間偏移或者時鐘偏移,直到在雙計算機系統(tǒng)中產(chǎn)生錯誤信號,即在雙計算機系統(tǒng)中執(zhí)行錯誤識別。在此能夠實現(xiàn)各種不同的變型方案延遲寫操作和讀操作,僅僅延遲寫操作,或者即使不是優(yōu)選地,也延遲讀操作。在此,通過變化信號、尤其是錯誤信號能夠將被延遲的寫操作轉變成讀操作,以便禁止有錯誤的寫。
現(xiàn)在,下面借助圖2示出關于數(shù)據(jù)分配單元(DVE)的示例性實現(xiàn)方案,該數(shù)據(jù)分配單元(DVE)優(yōu)選地由用于通過IllOPDetect檢測轉換愿望的裝置(因為IllOP指令(IllOP=Illegal Operation,非法操作)在該例子中被用于進行轉換)、模式轉換單元以及Iram(組合隨機存取存儲器)和Dram(動態(tài)隨機存取存儲器)控制模塊組成IllOpDetect(IllOP檢測)兩種模式之間的轉換通過“轉換檢測(Switch-Detect)”單元來識別。該單元位于指令總線上的高速緩存與處理器之間并且察看,指令IllOp是否被加載到處理器中。如果檢測到該指令,則將該事件通知給模式轉換單元。針對每個處理器單獨地存在“轉換檢測”單元?!稗D換檢測”單元不必被實施為容錯,因為該“轉換檢測”單元是加倍的并且因此冗余地存在。另一方面,可設想的是,容錯地并且因此單個地實施該單元,但是優(yōu)選的是冗余的實施方案。
ModeSwitch(模式轉換)兩種模式之間的轉換通過“轉換檢測”單元來觸發(fā)。如果應進行從鎖定模式到分離模式的轉換,則兩個“轉換檢測”單元檢測到該轉換,因為兩個處理器在鎖定模式下執(zhí)行相同的程序代碼。處理器1的“轉換檢測”單元在處理器2的“轉換檢測”單元之前1.5個時鐘識別出這一點?!澳J睫D換”單元借助等待信號使處理器1停止兩個時鐘。處理器2在1.5個時鐘后同樣被停止,但是僅僅停止半個時鐘,以便使該處理器2與系統(tǒng)時鐘同步。接著,針對其它組件,狀態(tài)信號被轉換到分離,并且這兩個處理器繼續(xù)工作。為了這兩個處理器現(xiàn)在執(zhí)行不同的任務,這些任務必須在程序代碼中分離。這通過直接在轉換到分離模式之后進行對處理器ID的讀訪問來實現(xiàn)。所讀出的處理器ID對于這兩個處理器中的每一個來說是不同的。如果現(xiàn)在對額定處理器ID進行比較,則接著利用條件跳轉指令將相應的處理器引到其它程序位置。在從分離模式轉換到鎖定模式時,一個處理器或這兩個處理器中的一個首先發(fā)現(xiàn)這一點。該處理器將執(zhí)行程序代碼,在該程序代碼中包含有轉換指令?,F(xiàn)在,這通過“轉換檢測”單元來記錄并且將這通知給模式轉換單元。該模式轉換單元使相應的處理器停止并且通過中斷將同步的原望通知給第二處理器。第二處理器獲得中斷并且現(xiàn)在能夠執(zhí)行用于結束其任務的軟件例程。現(xiàn)在該處理器同樣跳到用于轉換的指令所位于的程序位置。其“轉換檢測”單元現(xiàn)在同樣將模式變換愿望用信號通知給模式轉換單元。現(xiàn)在,在下一上升的系統(tǒng)時鐘邊沿去激活用于處理器1的等待信號,并且在1.5個時鐘之后去激活用于處理器2的等待信號?,F(xiàn)在,這兩個處理器又以1.5個時鐘的時鐘偏移同步工作。
如果該系統(tǒng)處于鎖定模式,則兩個“轉換檢測”單元必須通知模式轉換單元,這兩個“轉換檢測”單元想要進入分離模式。如果僅僅一個單元實現(xiàn)了轉換愿望,則由比較單元識別該錯誤,因為這兩個處理器之一繼續(xù)將數(shù)據(jù)提供給這些比較單元,并且這些比較器單元與被停止的處理器不一致。
如果這兩個處理器都處于分離模式并且一個處理器沒有轉換回到鎖定模式,則這能通過外部監(jiān)視定時器來識別。在用于每個處理器的觸發(fā)信號的情況下,監(jiān)視定時器注意到,等待的處理器不再報告。如果對于該處理器系統(tǒng)來說僅僅存在一個監(jiān)視定時器信號,則該監(jiān)視定時器的觸發(fā)只允許在鎖定模式下實現(xiàn)。因此,監(jiān)視定時器可能識別出,沒有實現(xiàn)模式轉換。模式信號作為雙軌信號存在。在此,“10”代表鎖定模式而“01”代表分離模式。在“ 00”和“11”的情況下,出現(xiàn)錯誤。
IramControl對這兩個處理器的指令存儲器的訪問通過IRAMControl來控制。該IRAMControl必須可靠地來設計,因為它是單個失效點。IRAMControl由兩個用于每個處理器的狀態(tài)自動機、即時鐘同步的iramlclkreset和異步的readiraml。在對安全性要求嚴格的模式下,這兩個處理器的狀態(tài)自動機互相監(jiān)控,而在性能模式下,這兩個處理器的狀態(tài)自動機分開工作。
處理器的兩個高速緩存的再加載通過兩個狀態(tài)自動機(亦即同步狀態(tài)自動機iramclkreset和異步狀態(tài)自動機readiram)來控制。通過這兩個狀態(tài)自動機,存儲器訪問也在分離模式下被分配。在這種情況下,處理器1具有更高的優(yōu)先級。在處理器1對主存儲器進行了訪問之后,現(xiàn)在如果這兩個處理器又想要訪問主存儲器,則給處理器2分配存儲器訪問許可。針對每個處理器實現(xiàn)這兩個狀態(tài)自動機。在鎖定模式下,自動機的輸出信號被比較,以便能夠識別出現(xiàn)的錯誤。
用于在鎖定模式下更新高速緩存2的數(shù)據(jù)在IRAM控制單元中被延遲1.5個時鐘。
在SysControl的寄存器0中的位5中對涉及哪個核進行編碼。核1為位0并且在核2的情況下該位為高。該寄存器被映射到地址為65528的存儲區(qū)中。
在核2的存儲器訪問時,首先檢查計算機處于哪種模式。如果計算機處于鎖定模式,則其存儲器訪問被抑制。該信號作為共軌信號存在,因為該信號是對安全性要求嚴格的。
處理器1的程序計數(shù)器被延遲1.5個時鐘,以便在鎖定模式下能夠與處理器2的程序計數(shù)器進行比較。
在分離模式下,這兩個處理器的高速緩存能夠不同地被再加載。如果現(xiàn)在轉換到鎖定模式,則這兩個高速緩存彼此不相關。由此,這兩個處理器能夠分離,并且因此比較器用信號通知錯誤。為了避免這一點,在IRAMControl中建立標記表。在該標記表中注明,高速緩存行在鎖定模式下還是在分離模式下已被寫。在鎖定模式下,對于高速緩存行來說相應的錄入項在高速緩存行再加載時被設置為0,而在分離模式下(即使在僅僅一個高速緩存的高速緩存行的高速緩存更新的情況下)被設置為1?,F(xiàn)在如果處理器僅僅在鎖定模式下實施存儲器訪問,則檢查,高速緩存行在鎖定模式下是否已被更新,也就是在這兩個高速緩存中是否相同。在分離模式下,處理器可以總是訪問高速緩存行,而與Flag-Vector如何無關。該表格必須只存在一次,因為在錯誤時這兩個處理器分離并且因此在比較器上可靠地識別出該錯誤。由于對中心表格的訪問時間相對高,所以該表格也可以被復制到每個高速緩存。
DramControl在該組件中,為每個處理器的地址信號、數(shù)據(jù)信號和存儲器控制信號構成奇偶校驗。
針對這兩個處理器存在用于阻塞存儲器的過程。該過程不必可靠地被實現(xiàn),因為在鎖定模式下通過比較器來識別有錯誤的存儲器訪問,而在分離模式下不實施安全性相關的應用。在此,檢查處理器是否想要阻塞另一處理器的存儲器。數(shù)據(jù)存儲器的這種阻塞通過訪問存儲器地址$FBFF$=64511來實現(xiàn)。即使在處理器上在調用時刻存在等待指令,該信號也應正好存在一個時鐘。用于管理數(shù)據(jù)存儲器訪問的狀態(tài)自動機由兩個主要狀態(tài)組成-處理器狀態(tài)鎖定這兩個處理器工作在鎖定模式下。也就是說,數(shù)據(jù)存儲器鎖定的功能不是必需的。處理器1協(xié)調存儲器訪問。
-處理器狀態(tài)分離現(xiàn)在,對數(shù)據(jù)存儲器的訪問沖突解決是必需的,并且必須能夠實現(xiàn)存儲器阻塞。
分離模式下的狀態(tài)又被劃分成7個狀態(tài),這7個狀態(tài)解決訪問沖突并且能夠分別針對另一處理器阻塞數(shù)據(jù)存儲器。在這兩個處理器同時希望訪問時,所列出的順序同時表示優(yōu)先級排列(Priorisierung)。
-Core1\_Lock處理器1已阻塞數(shù)據(jù)存儲器。如果在這種狀態(tài)下處理器2想要訪問該存儲器,則該處理器2通過等待信號被停止,直到處理器1重新釋放該數(shù)據(jù)存儲器為止。
-Core2\_Lock狀態(tài)與以前相同,只是現(xiàn)在處理器2已阻塞了數(shù)據(jù)存儲器,而處理器1在數(shù)據(jù)存儲器操作時被停止。
-lock1\_wait當處理器1同樣想要為自己預留數(shù)據(jù)存儲器時,該數(shù)據(jù)存儲器通過處理器2被阻塞。因此,預先登記處理器1的下一次存儲器阻塞。
-nex這對于處理器2來說是相同的。數(shù)據(jù)存儲器在阻塞嘗試期間通過處理器1被阻塞。存儲器被預先預留給處理器2。在正常的沒有阻塞的存儲器訪問的情況下,如果之前輪到了處理器1,則在此處理器2能夠在處理器1之前訪問。
-處理器1的存儲器訪問存儲器在這種情況下未被阻塞。處理器1被允許訪問數(shù)據(jù)存儲器。如果該處理器1想要阻塞該存儲器,則該處理器1能在這種狀態(tài)下進行這一點。
-處理器2的存儲器訪問在同一時鐘內,處理器1不想訪問存儲器,因此存儲器對于處理器2來說是空閑的。
-沒有處理器想要訪問數(shù)據(jù)存儲器。
DVE如所提及的那樣由轉換愿望檢測裝置(IllOPDetect)、模式轉換單元以及Iram和DramControl組成。
如上所述,本發(fā)明的核心在于數(shù)據(jù)分配單元DVE的通用工作方式(根據(jù)模式進行不同的數(shù)據(jù)分配并因此還選擇運行模式)。
但是此外,DVE的所示出的特殊實施方式也解決了開頭所述的任務。
權利要求
1.一種用于在具有至少兩個計算單元的系統(tǒng)中從至少一個數(shù)據(jù)源分配數(shù)據(jù)的方法,其中包含有轉換裝置,通過該轉換裝置能夠在該系統(tǒng)的至少兩種運行模式之間進行轉換,其中數(shù)據(jù)分配和/或數(shù)據(jù)源的選擇取決于運行模式。
2.根據(jù)權利要求1所述的方法,其特征在于,所述轉換通過控制信號、尤其是涉及至少一個計算單元的運行模式的模式信號來觸發(fā)和/或表明。
3.根據(jù)權利要求2所述的方法,其特征在于,從外部針對所述機算單元產(chǎn)生所述控制信號。
4.根據(jù)權利要求1所述的方法,其特征在于,所述轉換通過指令、尤其是描述不允許操作(i110p)的指令來觸發(fā)和/或表明。
5.根據(jù)權利要求4所述的方法,其特征在于,所述指令由所述轉換裝置、尤其是模式轉換單元產(chǎn)生。
6.根據(jù)權利要求1所述的方法,其特征在于,在對應于安全模式(F模式)的運行模式中相互比較兩個計算單元的輸入數(shù)據(jù)的一致性。
7.根據(jù)權利要求1所述的方法,其特征在于,在對應于安全模式(F模式)的運行模式中相互比較兩個計算單元的輸出數(shù)據(jù)的一致性。
8.根據(jù)權利要求1所述的方法,其特征在于,將待分配的數(shù)據(jù)轉發(fā)給至少一個其它組件、尤其是計算單元,其中所述待分配的數(shù)據(jù)在轉發(fā)之前被擴充錯誤發(fā)現(xiàn)碼。
9.根據(jù)權利要求6所述的方法,其特征在于,將所述輸入數(shù)據(jù)轉發(fā)給至少一個其它組件、尤其是計算單元,其中所述輸入數(shù)據(jù)在轉發(fā)之前被擴充錯誤發(fā)現(xiàn)碼。
10.根據(jù)權利要求7所述的方法,其特征在于,將所述輸出數(shù)據(jù)轉發(fā)給至少一個其它組件,其中所述輸出數(shù)據(jù)在轉發(fā)之前被擴充錯誤發(fā)現(xiàn)碼。
11.根據(jù)權利要求6或7所述的方法,其特征在于,在缺少一致性時輸出錯誤信號。
12.根據(jù)權利要求8至10之一所述的方法,其特征在于,在基于所述錯誤發(fā)現(xiàn)碼發(fā)現(xiàn)錯誤時輸出錯誤信號。
13.根據(jù)權利要求11或12所述的方法,其特征在于,只有在安全模式(F模式)中才輸出錯誤信號。
14.根據(jù)權利要求1所述的方法,其特征在于,在性能模式和安全模式之間進行區(qū)分,并且在性能模式中進行兩個計算單元的數(shù)據(jù)的優(yōu)先級排列,并且根據(jù)該優(yōu)先級排列順序地接收和/或轉發(fā)這些數(shù)據(jù)。
15.一種用于在具有至少兩個計算單元的系統(tǒng)中從至少一個數(shù)據(jù)源分配數(shù)據(jù)的單元,其中包含有轉換裝置,通過該轉換裝置能夠在該系統(tǒng)的至少兩種運行模式之間進行轉換,其中所述單元這樣被構造,使得數(shù)據(jù)分配和/或數(shù)據(jù)源取決于運行模式。
16.根據(jù)權利要求15所述的用于分配數(shù)據(jù)的單元,其特征在于,第一運行模式對應于安全模式,在該安全模式中兩個計算單元執(zhí)行相同的程序,并且設置有比較裝置,該比較裝置比較在執(zhí)行相同的程序時出現(xiàn)的狀態(tài)的一致性。
17.根據(jù)權利要求15所述的用于分配數(shù)據(jù)的單元,其特征在于,所述單元這樣被構造,使得在對應于安全模式(F模式)的運行模式中相互比較兩個計算單元的輸入數(shù)據(jù)的一致性。
18.根據(jù)權利要求15所述的用于分配數(shù)據(jù)的單元,其特征在于,所述單元這樣被構造,使得在對應于安全模式(F模式)的運行模式中相互比較兩個計算單元的輸出數(shù)據(jù)的一致性。
19.根據(jù)權利要求15或17或18所述的用于分配數(shù)據(jù)的單元,其特征在于,所述單元這樣被構造,使得將待分配的數(shù)據(jù)轉發(fā)給至少一個其它組件、尤其是計算單元,其中所述待分配的數(shù)據(jù)在轉發(fā)之前被擴充錯誤發(fā)現(xiàn)碼。
20.根據(jù)權利要求15所述的用于分配數(shù)據(jù)的單元,其特征在于,所述單元這樣被構造,使得所述單元在性能模式中進行兩個計算單元的數(shù)據(jù)的優(yōu)先級排列,并且根據(jù)該優(yōu)先級排列順序地接收和/或轉發(fā)這些數(shù)據(jù)。
21.根據(jù)權利要求15所述的用于分配數(shù)據(jù)的單元,其特征在于,包含有延遲組件,該延遲組件根據(jù)兩個計算單元在相應運行模式中的時鐘偏移將超前的數(shù)據(jù)恰好延遲該時鐘偏移。
22.根據(jù)權利要求15所述的用于分配數(shù)據(jù)的單元,其特征在于,所述單元這樣被構造,使得所述單元從存儲器中讀取待分配的數(shù)據(jù),然后將這些數(shù)據(jù)分配給計算單元。
23.根據(jù)權利要求15所述的用于分配數(shù)據(jù)的單元,其特征在于,所述單元這樣被構造,使得通過狀態(tài)自動機來控制所述數(shù)據(jù)的分配。
24.根據(jù)權利要求23所述的用于分配數(shù)據(jù)的單元,其特征在于,所述單元這樣被構造,使得為每個計算單元設置有兩個狀態(tài)自動機。
25.根據(jù)權利要求23所述的用于分配數(shù)據(jù)的單元,其特征在于,所述單元這樣被構造,使得設置有同步狀態(tài)自動機和異步狀態(tài)自動機。
26.一種具有按照權利要求15至25之一所述的用于分配數(shù)據(jù)的單元的系統(tǒng)。
27.根據(jù)權利要求26所述的系統(tǒng),其特征在于,設置有在所述單元外部的監(jiān)視電路,該監(jiān)視電路在沒有實現(xiàn)運行模式的預期的轉換時識別出錯誤。
全文摘要
用于在具有至少兩個計算單元的系統(tǒng)中從至少一個數(shù)據(jù)源分配數(shù)據(jù)的單元和方法,其中包含有轉換裝置,通過該轉換裝置能夠在該系統(tǒng)的至少兩個運行模式之間進行轉換,其中數(shù)據(jù)分配和/或數(shù)據(jù)源的選擇取決于運行模式。
文檔編號G06F11/16GK101048754SQ200580036538
公開日2007年10月3日 申請日期2005年10月25日 優(yōu)先權日2004年10月25日
發(fā)明者T·科特克 申請人:羅伯特·博世有限公司