新四季網

用於在多處理器系統中進行同步的方法和設備的製作方法

2023-05-27 13:48:01 2

專利名稱:用於在多處理器系統中進行同步的方法和設備的製作方法
背景技術:
在技術應用中,如尤其是在汽車中或者在工業物品領域(即例如機械領域)中和在自動化領域中,對於對安全性要求嚴格的應用,不斷地採用越來越多的基於微處理器或者計算機的控制和調節系統。在此,雙計算機系統或者雙處理器系統(雙核)目前是用於對安全性要求嚴格的應用的常用計算機系統,尤其是在汽車中諸如是用於防抱死系統、電子穩定程序(ESP)、如線控驅動(Drive-by-Wire)或者線控駕駛(Steer-by-Wire)以及線控剎車(Break-by-Wire)那樣的線傳控制(X-by-wire)系統等等的常用計算機系統,或者在其它聯網系統中也是常用計算機系統。為了滿足未來應用中的高的安全性要求,強大的錯誤識別機制和錯誤處理機制是必需的,尤其是以便對付例如在使計算機系統的半導體結構變小時形成的瞬時錯誤。在此,保護核本身、即處理器是相對困難的。如所提及的那樣,對此的解決方案是應用雙計算機系統或者雙核系統來檢測錯誤。
因此,這種具有至少兩個集成執行單元的處理器單元被稱為雙核架構或者多核架構。按照目前的現有技術主要出於以下兩個原因來建議這種雙核架構或者多核架構因此,一方面,能夠通過以下方式實現效率提高、即實現性能提高,即這兩個執行單元或者核被視為和被當作一個半導體模塊上的兩個計算單元。在該配置中,這兩個執行單元或者核執行不同程序或任務。由此能實現效率提高,因此該配置被稱為性能模式或者性能模式。
實現雙核或者多核架構的第二原因是安全性提高,其方式是這兩個執行單元冗餘地執行相同的程序。這兩個執行單元或者CPU(即核)的結果被比較,並且在比較一致性時能識別出錯誤。以下將該配置稱為安全模式(Safety-Mode)或者也稱為錯誤識別模式。
因此,目前一方面存在為了識別硬體錯誤而冗餘地工作的雙處理器或者多處理器系統(參見雙核或者主機-檢驗器(Master-Checker)系統),而另一方面存在在處理器上執行不同數據的雙處理器或者多處理器系統。如果現在將這兩種運行方式組合在雙處理器或多處理器系統中(為簡單起見現在還僅僅提及雙處理器系統,但是下面的發明完全一樣能被用於多處理器系統),則這兩個處理器在性能模式下獲得不同的數據並且在錯誤識別模式下獲得相同的數據。
現在本發明的任務是介紹一種單元和一種方法,該單元根據模式給至少兩個處理器或核冗餘地或不同地提供指令/數據,並且尤其是在性能模式中分配存儲器訪問權,該存儲器訪問權能夠實現在模式改變時兩個處理器或核的同步和/或去同步。
這樣一種單元直到目前還沒有被公開。它能夠實現雙處理器系統的有效運行,使得可以在運行中轉換為兩種模式、即安全模式和性能模式。在此,此外還談及處理器,但是這在概念上同樣包含核或計算單元。
此外,本發明的任務是給出一種能夠實現多處理器系統的同步的可能性。直到目前還沒有公開這樣的方法或實施方案。存在只能工作在兩種模式之一下的多處理器系統,但不存在時鐘同步地工作、能夠轉換以及能夠時鐘精確地比較數據的多處理器系統。通過所介紹的方法能夠時鐘精確地或時鐘同步地進行同步,但也可能存在不需要這種精確同步的應用。於是該方法也可以被應用,以便實現「失(lose)」同步。這種「失」同步是這樣的同步,在該同步的情況下兩個處理器雖然執行相同的任務,但執行的時間間隔可以在由比較器預先給定的範圍內波動。
本發明的實施例和優點的說明在雙計算機系統中存在兩個處理器,這兩個處理器可以執行相同的或不同的任務。雙計算機系統的這兩個處理器可以時鐘同步地或時鐘偏移地執行這些任務。
為了能夠在時鐘同步的系統中在兩種模式之間進行轉換,這兩個處理器必須是能夠同步的,其中在所述時鐘同步的系統中輸出數據應時鐘同步地被比較。也就是說,如果處理器從性能模式(=模式,在該模式中它們執行不同的任務並且不對輸出數據進行比較)轉換為安全模式(=模式,在該模式中這兩個處理器執行相同的任務並且在每個時鐘都對其輸出進行比較),那麼這兩個處理器必須能夠在程序進程中被同步。
因此,本發明還示出了一種方法和一種設備,其中通過信號來觸發轉換願望。這例如可以通過觀察指令總線來產生(察看是否執行轉換願望),或者是解碼器的控制信號(例如在另一處理器中中斷的觸發、寫入寄存器、…),並且該處理器由此跳轉到預先給定的程序地址。
此外,合宜地,這兩個處理器可以根據在多處理器系統中對於每個處理器來說唯一的標識、也即ID而跳轉到不同的程序位置,並且因此被去同步(重要的是由處理器ID位所表示的處理器標識、條件跳轉、從對於每個處理器來說單獨的、但具有相同地址的存儲區中讀出處理器ID位、存放在內部處理器寄存器中的處理器ID位)。
本發明公開了用於在具有至少兩個處理器的多處理器系統中進行同步的方法和設備,其中包含有轉換裝置,通過該轉換裝置能夠在至少兩種運行模式之間進行轉換,其中該設備如此被構造,使得通過停止信號來進行同步,該停止信號使超前的處理器停止,以便使該處理器與至少第二處理器同步。
可以合宜地通過通知至少一個處理器的轉換願望來進行同步(例如在另一處理器中觸發中斷、寫入寄存器、…)並且該處理器由此跳轉到預先給定的程序地址。
本發明還示出用於在具有至少兩個計算單元的系統中從至少一個數據源分配數據的單元,其中包含有轉換裝置(模式轉換),通過該轉換裝置能夠在該系統的至少兩種運行模式之間進行轉換,其中該單元如此來構造,使得數據分配和/或數據源(尤其是指令存儲器、數據存儲器、高速緩存)取決於運行模式。同樣還示出了具有這種單元的系統。
在此,第一運行模式對應於安全模式,在該安全模式中這兩個計算單元處理相同的程序和/或數據,並設置有比較裝置,該比較裝置比較在處理相同的程序時出現的狀態的一致性。
根據本發明的單元以及根據本發明的方法能夠在一個雙處理器系統中實現兩種模式。
如果這兩個處理器在錯誤識別模式(F模式)下工作,那麼這兩個處理器獲得相同的數據/指令,而如果它們在性能模式(P模式)下工作,那麼每個處理器都可以訪問存儲器。於是所述單元管理對僅僅簡單地存在的存儲器或外圍設備的訪問。
在F模式中,該單元接收一個處理器(這裡稱為主機)的數據/地址,並將該數據/地址轉發給諸如存儲器、總線等的組件。第二處理器(這裡從機)想進行相同的訪問。該數據分配單元在第二埠上對此進行接收,但並不將該請求轉發到其他組件。該數據分配單元向從機傳送與主機相同的數據,並比較兩個處理器的數據。如果這些數據不相同,那麼該數據分配單元(這裡為DVE)通過錯誤信號來表明這一點。因此僅主機在總線/存儲器上工作,而從機獲得相同的數據(工作方式如在雙核系統中一樣)。
在P模式中,這兩個處理器執行不同的程序部分。因此存儲器訪問也是不同的。該DVE因此接受處理器的請求並把結果/所請求的數據返回到請求了該結果/數據的處理器。如果現在兩個處理器同時想訪問組件,那麼一個處理器被置於等待狀態,直到另一處理器被處理完為止。
兩種模式之間並且因此數據分配單元的不同工作方式之間的轉換通過控制信號來實現。該信號可以由兩個處理器之一來產生,或者由外部產生。
如果該雙處理器系統在F模式中以時鐘偏移運行而在P模式中不以時鐘偏移運行,那麼該DVE單元相應地延遲從機的數據,或者一直存儲主機的輸出數據,直到該輸出數據能夠與從機的輸出數據進行比較以進行錯誤識別為止。
藉助

圖1更進一步闡述時鐘偏移。
圖1示出雙計算機系統,其具有第一計算機100(尤其是主計算機)和第二計算機101(尤其是從計算機)。在此,整個系統以能預先給定的時鐘或以能預先給定的時鐘周期(clock cycle)CLK來運行。通過計算機100的時鐘輸入端CLK1以及通過計算機101的時鐘輸入端CLK2將時鐘輸送給該雙計算機系統。除此以外,在該雙計算機系統中還示例性地包含用於識別錯誤的特定特徵,其中亦即第一計算機100以及第二計算機101以時間偏移、尤其是能預先給定的時間偏移或能預先給定的時鐘偏移工作。在此,能預先給定時間偏移的每個任意時間,並且也能預先給定關於時鐘周期的偏移的每個任意時鐘。這可以是時鐘周期(clock cycle)的整數偏移,但是也可以如在該例子中所示出的那樣例如是1.5個時鐘周期的偏移,其中在此第一計算機100正是在第二計算機101之前1.5個時鐘周期工作或運行。通過該偏移能夠避免,同相錯誤(即所謂的共模失效(common mode failure))以相同方式幹擾計算機或者處理器(即雙核系統的核)並且因此保持未被識別。也就是說,這種同相錯誤由於偏移而在程序流程中的不同時刻涉及計算機並且因此對兩個計算機產生不同的效果,由此能識別出錯誤。由此避免,沒有時鐘偏移的同樣的錯誤影響在比較中可能不能被識別出。為了在雙計算機系統中實現在時間或者時鐘方面的這種偏移(在此尤其是為1.5個時鐘周期),實現偏移模塊112至115。
為了識別出所述的同相錯誤,該系統正好例如被設計用於以預先給定的時間偏移或者時鐘周期偏移工作,尤其是在此為1.5個時鐘周期,即在該1.5個時鐘周期期間,一個計算機、例如計算機100直接對組件、特別是外部組件103和104做出響應,第二計算機101以相對於計算機100正好1.5個時鐘周期的延遲工作。為了在這種情況下產生所希望的一個半周期延遲(即1.5個時鐘周期的延遲),在時鐘輸入端CLK2上為計算機101饋送反相的時鐘。但是,由此也必須將計算機的上述端子、即其數據或指令通過總線延遲所述時鐘周期,即在此尤其是延遲1.5個時鐘周期,為此正如所述的那樣設置有偏移或者延遲模塊112至115。除了兩個計算機或者處理器100和101之外,還設置有組件103和104,這些組件103和104通過由總線線路116A和116B及116C組成的總線116以及由總線線路117A和117B組成的總線117與這兩個計算機100和101連接。在此,117是指令總線,在該指令總線中,用117A標識指令地址總線,而用117B標識部分指令(數據)總線。地址總線117A通過指令地址端子IA1(指令地址1)與計算機100相連接,並且通過指令地址端子IA2(指令地址2)與計算機101相連接。指令本身通過部分指令總線117B來傳輸,該部分指令總線117B通過指令端子II(指令1)與計算機100相連接並且通過指令端子I2(指令2)與計算機101相連接。在由117A和117B組成的指令總線117中,中間連接了組件103(例如指令存儲器、尤其是可靠的指令存儲器等)。尤其是作為指令存儲器的該組件在該例子中也以時鐘CLK來運行。此外,用116表示數據總線,該數據總線包含數據地址總線或者數據地址線116A和數據總線或者數據線116B。在此,116A(即數據地址線)通過數據地址端子DA1(數據地址1)與計算機100相連接,並且通過數據地址端子DA2(數據地址2)與計算機101相連接。同樣,數據總線或者數據線116B通過數據端子D01(數據輸出1)與計算機100相連接並且通過數據端子D02(數據輸出2)與計算機101相連接。此外,數據總線線路116C屬於數據總線116,該數據總線線路116C通過數據端子DI1(數據輸入1)和數據端子DI2(數據輸入2)分別與計算機100或計算機101相連接。在由線路116A、116B和116C組成的該數據總線116中,中間連接了組件104(例如數據存儲器、尤其是可靠的數據存儲器等)。在該例子中也為該組件104提供時鐘CLK。
在此,組件103和104代表任意的組件,這些任意的組件通過數據總線和/或指令總線與雙計算機系統的計算機相連接,並且根據在寫操作和/或讀操作方面對雙計算機系統的數據和/或指令的訪問可能獲得或者發出有錯誤的數據和/或指令。為了避免錯誤,雖然設置有錯誤識別發生器105、106和107,這些錯誤識別發生器105、106和107產生諸如奇偶校驗位的錯誤標識或者也產生諸如糾錯碼(即ECC,Error-Correction-Code)等的另一錯誤代碼。於是為此也設置有相應的錯誤標識檢驗裝置或者校驗裝置108和109,用於檢查相應的錯誤標識、即例如奇偶校驗位或者如ECC那樣的另一錯誤代碼)。
如在圖1中所示的那樣,在雙計算機系統中關於冗餘實施的數據和/或指令的比較在比較器110和111中實現。但是如果現在在計算機100與101之間存在由不同步的雙處理器系統或者在同步的雙處理器系統中由同步中的錯誤或者也如在該特定的例子中那樣由於期望用於錯誤識別的時間偏移或時鐘周期偏移(尤其是在此1.5個時鐘周期的偏移)所引起的時間偏移、尤其是時鐘偏移或者時鐘周期偏移,則在該時間偏移或者時鐘偏移中,計算機(在此尤其是計算機100)可能將有錯誤的數據和/或指令寫入或者讀入組件、尤其是外部組件、諸如在此特別是存儲器103或者104中,但是也可能涉及其它用戶或者執行元件或者傳感器。這樣,該計算機也可能以有錯誤的方式通過該時鐘偏移執行寫訪問而不是所設置的讀訪問。不言而喻,尤其是在沒有清楚地表明正好錯誤地改變了哪些數據和/或指令的可能性的情況下,這些情形導致整個系統的錯誤,由此也產生恢復問題。
為了解決該問題,現在將如所示的那樣將延遲單元102連接到數據總線的線路中和/或連接到指令總線中。出於清楚的原因,僅僅示出了到數據總線中的接入。在指令總線方面,這自然完全一樣是可能的並且是可設想的。延遲單元102(Delay Unit)如此延遲訪問、在此尤其是存儲器訪問,以致尤其是在錯誤識別時例如通過比較器110和111例如至少一直補償可能的時間偏移或者時鐘偏移,直到在雙計算機系統中產生錯誤信號,即在雙計算機系統中執行錯誤識別。在此能夠實現各種不同的變型方案延遲寫操作和讀操作,僅僅延遲寫操作,或者即使不是優選地,也延遲讀操作。在此,通過變化信號、尤其是錯誤信號能夠將被延遲的寫操作轉變成讀操作,以便禁止有錯誤的寫。
現在,下面藉助圖2示出關於數據分配單元(DVE)的示例性實現方案,該數據分配單元(DVE)優選地由用於(通過IllOPDetect)檢測轉換願望的裝置、模式轉換單元以及Iram(組合隨機存取存儲器)和Dram(動態隨機存取存儲器)控制模塊組成IllOpDetect(IllOP檢測)兩種模式之間的轉換通過「轉換檢測(Switch-Detect)」單元來識別。該單元位於指令總線上的高速緩存與處理器之間並且察看,指令IllOp是否被加載到處理器中。如果檢測到該指令,則將該事件通知給模式轉換單元。針對每個處理器單獨地存在「轉換檢測」單元。「轉換檢測」單元不必被實施為容錯,因為該「轉換檢測」單元是加倍的並且因此冗餘地存在。另一方面,可設想的是,容錯地並且因此單個地實施該單元,但是優選的是冗餘的實施方案。
ModeSwitch(模式轉換)兩種模式之間的轉換通過「轉換檢測」單元來觸發。如果應進行從鎖定模式到分離模式的轉換,則兩個「轉換檢測」單元檢測到該轉換,因為兩個處理器在鎖定模式下執行相同的程序代碼。處理器1的「轉換檢測」單元在處理器2的「轉換檢測」單元之前1.5個時鐘識別出這一點。「模式轉換」單元藉助等待信號使處理器1停止兩個時鐘。處理器2在1.5個時鐘後同樣被停止,但是僅僅停止半個時鐘,以便使該處理器2與系統時鐘同步。接著,針對其它組件,狀態信號被轉換到分離,並且這兩個處理器繼續工作。為了這兩個處理器現在執行不同的任務,這些任務必須在程序代碼中分離。這通過直接在轉換到分離模式之後進行對處理器ID的讀訪問來實現。所讀出的處理器ID對於這兩個處理器中的每一個來說是不同的。如果現在對額定處理器ID進行比較,則接著利用條件跳轉指令將相應的處理器引到其它程序位置。在從分離模式轉換到鎖定模式時,一個處理器或這兩個處理器中的一個首先發現這一點。該處理器將執行程序代碼,在該程序代碼中包含有轉換指令。現在,這通過「轉換檢測」單元來記錄並且將這通知給模式轉換單元。該模式轉換單元使相應的處理器停止並且通過中斷將同步的願望通知給第二處理器。第二處理器獲得中斷並且現在能夠執行用於結束其任務的軟體例程。現在該處理器同樣跳到用於轉換的指令所位於的程序位置。其「轉換檢測」單元現在同樣將模式變換願望用信號通知給模式轉換單元。現在,在下一上升的系統時鐘邊沿去激活用於處理器1的等待信號,並且在1.5個時鐘之後去激活用於處理器2的等待信號。現在,這兩個處理器又以1.5個時鐘的時鐘偏移同步工作。
如果該系統處於鎖定模式,則兩個「轉換檢測」單元必須通知模式轉換單元,這兩個「轉換檢測」單元想要進入分離模式。如果僅僅一個單元實現了轉換願望,則由比較單元識別出該錯誤,因為這兩個處理器之一繼續將數據提供給這些比較單元,並且這些比較器單元與被停止的處理器不一致。
如果這兩個處理器都處於分離模式並且一個處理器沒有轉換回到鎖定模式,則這能通過外部監視定時器來識別。在用於每個處理器的觸發信號的情況下,監視定時器注意到,等待的處理器不再報告。如果對於該處理器系統來說僅僅存在一個監視定時器信號,則該監視定時器的觸發只允許在鎖定模式下實現。因此,監視定時器可能識別出,沒有實現模式轉換。模式信號作為雙軌信號存在。在此,「10」代表鎖定模式而「01」代表分離模式。在「00」和「11」的情況下,出現了錯誤。
IramControl對這兩個處理器的指令存儲器的訪問通過IRAMControl來控制。該IRAMControl必須可靠地來設計,因為它是單個失效點。IRAMControl由兩個用於每個處理器的狀態自動機、即各一個時鐘同步的iram1clkreset和異步的readiram1。在對安全性要求嚴格的模式下,這兩個處理器的狀態自動機互相監控,而在性能模式下,這兩個處理器的狀態自動機分開工作。
處理器的兩個高速緩存的再加載通過兩個狀態自動機(亦即同步狀態自動機iramclkreset和異步狀態自動機readiram)來控制。通過這兩個狀態自動機,存儲器訪問也在分離模式下被分配。在這種情況下,處理器1具有更高的優先級。在處理器1對主存儲器進行了訪問之後,現在如果這兩個處理器又想要訪問主存儲器,則給處理器2分配存儲器訪問許可。針對每個處理器實現這兩個狀態自動機。在鎖定模式下,自動機的輸出信號被比較,以便能夠識別出現的錯誤。
用於在鎖定模式下更新高速緩存2的數據在IRAM控制單元中被延遲1.5個時鐘。
在SysControl的寄存器0中的位5中對涉及哪個核進行編碼。核1為位0並且在核2的情況下該位為高。該寄存器被映射到地址為65528的存儲區中。
在核2的存儲器訪問時,首先檢查計算機處於哪種模式。如果計算機處於鎖定模式,則其存儲器訪問被抑制。該信號作為共軌信號存在,因為該信號是對安全性要求嚴格的。
處理器1的程序計數器被延遲1.5個時鐘,以便在鎖定模式下能夠與處理器2的程序計數器進行比較。
在分離模式下,這兩個處理器的高速緩存能夠不同地被再加載。如果現在轉換到鎖定模式,則這兩個高速緩存彼此不相關。由此,這兩個處理器能夠分離,並且因此比較器用信號通知錯誤。為了避免這一點,在IRAMControl中建立標記表。在該標記表中註明,高速緩存行在鎖定模式下還是在分離模式下已被寫。在鎖定模式下,對於高速緩存行來說相應的錄入項在高速緩存行再加載時被設置為0,而在分離模式下(即使在僅僅一個高速緩存的高速緩存行的高速緩存更新的情況下)被設置為1。現在如果處理器僅僅在鎖定模式下實施存儲器訪問,則檢查,高速緩存行在鎖定模式下是否已被更新,也就是在這兩個高速緩存中是否相同。在分離模式下,處理器可以總是訪問高速緩存行,而與Flag_Vector如何無關。該表格必須只存在一次,因為在錯誤時這兩個處理器分離並且因此在比較器上可靠地識別出該錯誤。由於對中心表格的訪問時間相對高,所以該表格也可以被複製到每個高速緩存。
DramControl在該組件中,為每個處理器的地址信號、數據信號和存儲器控制信號構成奇偶校驗。
針對這兩個處理器存在用於阻塞存儲器的過程。該過程不必可靠地被實現,因為在鎖定模式下通過比較器來識別有錯誤的存儲器訪問,而在分離模式下不實施安全性相關的應用。在此,檢查處理器是否想要阻塞另一處理器的存儲器。數據存儲器的這種阻塞通過訪問存儲器地址$FBFF$=64511來實現。即使在處理器上在調用時刻存在等待命令,該信號也應正好存在一個時鐘。用於管理數據存儲器訪問的狀態自動機由兩個主要狀態組成-處理器狀態鎖定這兩個處理器工作在鎖定模式下。也就是說,數據存儲器鎖定的功能不是必需的。處理器1協調存儲器訪問。
-處理器狀態分離現在,對數據存儲器的訪問衝突解決是必需的,並且必須能夠實現存儲器阻塞。
分離模式下的狀態又被劃分成7個狀態,這7個狀態解決訪問衝突並且能夠分別針對另一處理器阻塞數據存儲器。在這兩個處理器同時希望訪問時,所列出的順序同時表示優先級。
-Core1\_Lock處理器1已阻塞數據存儲器。如果在這種狀態下處理器2想要訪問該存儲器,則該處理器2通過等待信號被停止,直到處理器1重新釋放該數據存儲器為止。
-Core2\_Lock狀態與以前相同,只是現在處理器2已阻塞了數據存儲器,而處理器1在數據存儲器操作時被停止。
-lock1\_wait當處理器1同樣想要為自己預留數據存儲器時,該數據存儲器通過處理器2被阻塞。因此,預先登記處理器1的下一次存儲器阻塞。
-nex這對於處理器2來說是相同的。數據存儲器在阻塞嘗試期間通過處理器1被阻塞。存儲器被預先預留給處理器2。在正常的沒有阻塞的存儲器訪問的情況下,如果之前輪到了處理器1,則在此處理器2能夠在處理器1之前訪問。
-處理器1的存儲器訪問存儲器在這種情況下未被阻塞。處理器1被允許訪問數據存儲器。如果該處理器1想要阻塞該存儲器,則該處理器1能在這種狀態下進行這一點。
-處理器2的存儲器訪問在同一時鐘內,處理器1不想訪問存儲器,因此存儲器對於處理器2來說是空閒的。
-沒有處理器想要訪問數據存儲器。
DVE如所提及的那樣由轉換願望檢測裝置(IllOPDetect)、模式轉換單元以及Iram和DramControl組成。
下面藉助圖3再次闡述模式轉換的工作方式兩個處理器的轉換在此示例性地通過程序中的指令IllOp來觸發。前提是每個處理器能夠唯一地被標識。為此每個處理器都被分配一個數字。這裡在該例子中一個核是1,另一個核是0。這在處理器狀態寄存器中被編碼。
這兩個處理器在此為了同步而通過等待命令被停止。同樣一直停止應當被停止的處理器的時鐘(例如通過與0的OR邏輯來停止,以及與1的OR邏輯來繼續供給時鐘)。
「轉換檢測(Switch-Detect)」單元兩種模式之間的轉換通過「轉換檢測」單元來識別。該單元在指令總線上位於高速緩存和處理器之間,並且察看,指令IllOp是否被加載到處理器中。如果檢測到該指令,則將該事件通知給模式轉換單元。這種識別通過「Core 1-Signal(核1信號)」或「Core2-Signal(核2信號)」(參見圖2)被通知給「模式轉換」單元。針對每個處理器單獨地存在「轉換檢測」單元。該「轉換檢測」單元不必被實施為容錯,因為它是加倍的並且因此冗餘地存在。
「模式轉換(Mode-Switch)」單元兩種模式之間的轉換通過「轉換檢測」單元來觸發。如果應該進行從鎖定模式到分離模式的轉換,則兩個「轉換檢測」單元檢測到該轉換,因為兩個處理器在鎖定模式中執行相同的程序代碼。處理器1的「轉換檢測」單元在處理器2的「轉換檢測」單元之前1.5個時鐘識別出這一點。該「模式轉換」單元藉助等待信號使處理器1停止2個時鐘。處理器2在1.5個時鐘之後同樣被停止,但是僅僅停止半個時鐘,以便使該處理器2與系統時鐘同步。接著,針對其它組件,狀態信號被轉換到分離,並且這兩個處理器繼續工作。為了這兩個處理器現在執行不同的任務,這些任務必須在程序代碼中分離。這通過直接在轉換到分離模式之後進行對處理器ID的讀訪問來實現。所讀出的處理器ID對於這兩個處理器中的每一個來說都是不同的。如果現在對額定處理器ID進行比較,則接著可以利用條件跳轉指令將相應的處理器引到其它程序位置。分離兩個處理器的例子見下文在分離過程中首先把狀態寄存器的地址寫入到r1中,其中在該狀態寄存器中存放有處理器ID,LDL r1,248LDL r1,255接著通過IllOp指令來分離兩個處理器,error把地址r1的狀態寄存器的內容加載到r2中,LDW r2,r1檢測該狀態寄存器的第5個位置上的位。如果是0,那麼就是處理器1,1涉及處理器2,BTEST r2,5現在通過條件跳轉將處理器2引到另一程序位置。
JMPI_CT 10在從分離模式轉換到鎖定模式時,一個處理器或者兩個處理器之一首先注意到這一點。該處理器將執行包含有轉換指令的程序代碼。現在,這通過「轉換檢測」單元被記錄,並將這通知給「模式轉換」單元。該單元使相應的處理器停止,並通過中斷(圖2中的「消息1」或「消息2」)將同步的願望通知給第二處理器。該第二處理器獲得中斷,並且現在能夠執行用於結束其任務的軟體例程。現在該處理器同樣跳到用於轉換的指令所位於的程序位置。其「轉換檢測」單元現在同樣將模式變換願望用信號通知給模式轉換單元。現在,在下一上升的系統時鐘邊沿去激活用於處理器1的等待信號,並且在1.5個時鐘之後去激活用於處理器2的等待信號。現在,這兩個處理器又以1.5個時鐘的時鐘偏移同步工作。
如果該系統處於鎖定模式,則兩個「轉換檢測」單元必須通知模式轉換單元,這兩個「轉換檢測」單元想要進入分離模式。如果僅僅一個單元實現了轉換願望,則由比較單元識別出該錯誤,因為這兩個處理器之一繼續將數據提供給這些比較單元,並且這些比較器單元與被停止的處理器不一致。
如果這兩個處理器都處於分離模式並且一個處理器沒有轉換回到鎖定模式,則這能通過外部監視定時器來識別。在用於每個處理器的觸發信號的情況下,監視定時器注意到,等待的處理器不再報告。如果對於該處理器系統來說僅僅存在一個監視定時器信號,則該監視定時器的觸發只允許在鎖定模式下實現。因此,監視定時器可能識別出,沒有實現模式轉換。模式信號作為雙軌信號存在(在圖中稱為狀態)。在此,「10」代表鎖定模式而「01」代表分離模式。在「00」和「11」的情況下,出現了錯誤。
因為用於轉換的指令在處理器的流水線的開頭就被檢測到,所以在流水線級中在所述檢測之後不允許存在跳轉。用於避免這一點的最簡單的方法是在指令IllOp之前引入兩個NOp。
本方面的核心如上所述是模式轉換方法的通用工作方式(分別根據模式來進行不同的數據分配並且因此還選擇運行模式)以及在此尤其是處理器的同步。
但是,所述的特殊實施方案此外還解決了開頭所述的任務。
權利要求
1.用於在具有至少兩個處理器的多處理器系統中進行同步的方法,其中包含有轉換裝置,通過該轉換裝置能夠在至少兩種運行模式之間進行轉換,其中通過停止信號來進行同步,該停止信號使超前的處理器停止,以便使該處理器與至少第二處理器同步。
2.根據權利要求1所述的用於進行同步的方法,其特徵在於,所述同步通過同步願望來觸發,其中該同步願望能夠由一個或多個處理器產生。
3.根據權利要求1所述的用於進行同步的方法,其特徵在於,處理器的等待信號被用作停止信號。
4.根據權利要求1所述的用於進行同步的方法,其特徵在於,中斷信號作為停止信號被觸發。
5.根據權利要求1所述的用於進行同步的方法,其特徵在於,所述處理器為了同步通過忽略時鐘周期而被停止。
6.根據權利要求1所述的用於進行同步的方法,其特徵在於,所述處理器為了同步通過切斷時鐘信號而被停止。
7.根據權利要求1所述的用於進行同步的方法,其特徵在於,所述轉換通過轉換願望來表示,並且該轉換願望通過信號來觸發。
8.根據權利要求1所述的用於進行同步的方法,其特徵在於,所述轉換通過轉換願望來表示,其中當兩個或更多個處理器提出該轉換願望時,才進行所述轉換。
9.根據權利要求1所述的用於進行同步的方法,其特徵在於,所述轉換通過轉換願望來觸發,其中按照轉換願望來改變所述多處理器系統的運行模式,並且該轉換願望通過信號來表明。
10.根據權利要求1所述的用於進行同步的方法,其特徵在於,現有的運行模式通過模式信號來表明。
11.根據權利要求10所述的用於進行同步的方法,其特徵在於,所述模式信號作為編碼信號、尤其是作為雙軌信號存在。
12.根據權利要求10所述的用於進行同步的方法,其特徵在於,所述模式信號尤其是通過兩個狀態自動機或通過雙軌邏輯冗餘地生成。
13.根據權利要求1所述的用於進行同步的方法,其特徵在於,同步願望被引導到中央單元,並且該中央單元將所述同步願望轉發到至少一個另外的處理器。
14.根據權利要求1所述的用於進行同步的方法,其特徵在於,通過通知轉換願望來進行所述同步,並且所述處理器由此跳轉到預先給定的程序地址。
15.根據權利要求1所述的用於進行同步的方法,其特徵在於,所述處理器一直被停止,直到另一處理器已經執行完任務並且然後同樣到達了相同的程序位置為止。
16.根據權利要求1所述的用於進行同步的方法,其特徵在於,在同步之後,為了去同步,所述兩個處理器根據在所述多處理器系統中對於每個處理器來說唯一的標識(ID)跳轉到不同的程序位置,並且因此被去同步。
17.用於在具有至少兩個處理器的多處理器系統中進行同步的設備,其中包含有轉換裝置,通過該轉換裝置能夠在至少兩種運行模式之間進行轉換,其中該設備如此被構造,使得通過停止信號來進行同步,其中該停止信號使超前的處理器停止,以便使該處理器與至少第二處理器同步。
18.根據權利要求17所述的用於進行同步的設備,其特徵在於,第一運行模式對應於安全模式,在該安全模式中兩個處理器執行相同的程序,並且設置有比較裝置,該比較裝置比較在執行所述相同的程序時出現的狀態的一致性。
19.根據權利要求1所述的用於進行同步的設備,其特徵在於,所述設備如此被構造,使得處理器的等待信號被用作停止信號。
20.根據權利要求17所述的用於進行同步的設備,其特徵在於,所述設備如此被構造,使得中斷信號作為停止信號被觸發。
21.根據權利要求17所述的用於進行同步的設備,其特徵在於,所述設備如此被構造,使得所述處理器為了同步通過忽略時鐘周期而被停止。
22.根據權利要求17所述的用於進行同步的設備,其特徵在於,所述設備如此被構造,使得所述處理器為了同步通過切斷時鐘信號而被停止。
23.根據權利要求17所述的用於進行同步的設備,其特徵在於,所述設備如此被構造,使得現有的運行模式通過模式信號來表明。
24.根據權利要求23所述的用於進行同步的設備,其特徵在於,所述設備如此被構造,使得所述模式信號作為編碼信號、尤其是作為雙軌信號存在。
25.根據權利要求23所述的用於進行同步的設備,其特徵在於,所述設備如此被構造,使得所述模式信號尤其是通過兩個狀態自動機或通過雙軌邏輯冗餘地生成。
26.根據權利要求17所述的用於進行同步的設備,其特徵在於,設置有中央單元,並且所述設備如此被構造,使得同步願望被引導到中央單元,並且該中央單元把所述同步願望轉發到至少一個另外的處理器。
27.根據權利要求17所述的用於進行同步的設備,其特徵在於,所述設備如此被構造,使得所述處理器一直被停止,直到至少第二處理器已經執行完任務並且然後同樣到達了相同的程序位置為止。
28.根據權利要求17所述的用於進行同步的設備,其特徵在於,所述設備如此被構造,使得在同步之後,為了去同步,兩個處理器根據在所述多處理器系統中對於每個處理器來說唯一的標識(ID)跳轉到不同的程序位置並且因此被去同步。
29.根據權利要求28所述的用於進行同步的設備,其特徵在於,設置有處理器寄存器,並且所述標識被存放在該處理器寄存器中。
30.根據權利要求28所述的設備,其特徵在於,所述標識被存放在所述處理器的外部,尤其被存放在中央單元(DramCtrl)中。
31.根據權利要求17所述的用於進行同步的設備,其特徵在於,尤其是通過狀態自動機的加倍或者雙軌邏輯的實現來容錯地設計用於轉換運行模式的轉換裝置。
32.具有根據權利要求17至31之一所述的設備的多處理器系統。
全文摘要
用於在具有至少兩個處理器的多處理器系統中進行同步的方法和設備,其中包含有轉換裝置,通過該轉換裝置能夠在至少兩種運行模式之間進行轉換,其中所述設備如此被構造,使得通過停止信號來進行同步,該信號使超前的處理器停止,以便使該處理器與至少第二處理器同步。
文檔編號G06F11/16GK101048761SQ200580036617
公開日2007年10月3日 申請日期2005年10月25日 優先權日2004年10月25日
發明者T·科特克 申請人:羅伯特·博世有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀