專利名稱:延遲對多處理器系統的數據和/或指令的訪問的方法和設備的制作方法
背景技術:
本發明從根據獨立權利要求的由現有技術公知的特征所述的一種用于延遲對多計算機系統的數據和/或指令的訪問的方法以及一種相應的延遲單元出發。
在技術應用中,如尤其是在汽車中或者在工業品質領域(即例如機械領域)中和在自動化領域中,對于對安全性要求嚴格的應用,不斷地采用越來越多的基于微處理器或者計算機的控制和調節系統。在此,雙計算機系統或者雙處理器系統(雙核)如今是對安全性要求嚴格的應用的常用計算機系統,尤其是在汽車中諸如是防抱死系統、電子穩定程序(ESP)、如線控駕駛(Drive-by-Wire或者Steer-by-Wire)以及線控停車(Break-by-Wire)那樣的線傳控制(X-by-wire)系統等等的常用計算機系統,或者在其它聯網系統中也是常用計算機系統。為了滿足未來應用中的高的安全性要求,必需強大的錯誤機制和錯誤處理機制,尤其是以便應對例如在使計算機系統的半導體結構變小時形成的瞬時錯誤。在此,保護該核本身(即處理器)是相對困難的。如所提及的那樣,對此的解決方案是應用雙計算機系統或者雙核系統來檢測錯誤。
因此,這種具有至少兩個集成執行單元的處理器單元被稱為雙核架構或者多核架構。按照如今的現有技術主要出于以下兩個原因建議這種雙核架構或者多核架構因此,一方面,能夠通過以下方式實現功率提高,即實現性能提高,即這兩個執行單元或者核被視為和被處理為一個半導體模塊上的兩個計算單元。在該配置中,這兩個執行單元或者核執行不同程序或任務。由此,能實現功率提高,因此,該配置被稱為功率模式或者性能模式。
實現雙核或者多核架構的第二原因是安全性提高,其方式是這兩個執行單元冗余地執行相同的程序。這兩個執行單元或者CPU(即核)的結果被比較,并且在比較一致性時能識別出錯誤。以下將該配置稱為安全模式(Safety-Mode)或者也稱為錯誤識別模式。
因此,如今一方面存在為了識別硬件錯誤而冗余地工作的雙處理器或者多處理器系統(參見雙核或者主機檢驗器(Master-Checker)系統),而另一方面有在其處理器上執行不同數據的雙處理器或者多處理器系統。
發明優點和任務如果現在根據下面本發明的實施形式將這兩種工作方式結合到雙處理器或多處理器系統中(出于簡單的原因現在還僅僅提及雙處理器系統,但是下面的發明完全一樣能被用于多處理器系統),則這兩個處理器在性能模式下獲得不同的數據并且在錯誤識別模式下獲得相同的數據。
這種設備或者單元能夠實現雙處理器系統的有效運行,以致能在工作時在兩個模式(即安全模式和性能模式)下進行轉換。在此,進一步提及了處理器,但是這同樣在概念上包括核或計算單元在內。
在實現特別是雙處理器系統(雙核)時,通常為每個處理器都設置一個高速緩存。一個高速緩存通常是不夠的,因為該高速緩存在空間上看來必須被布置在兩個處理器之間。由于高速緩存與兩個處理器之間的長運行時間,因此這兩個處理器僅僅能以受限的時鐘頻率工作。在此,在該系統中,高速緩存用作快速中間存儲器,以便處理器不必總是從緩慢的主存儲器中獲取數據。為了能夠實現這一點,在實現高速緩存時必須非常注意其訪問持續時間。該訪問持續時間由從高速緩存中獲取數據的實際訪問時間以及由將數據轉交給處理器的時間來構成。如果高速緩存現在在空間上遠離處理器放置,則數據的傳送持續很長時間并且處理器不再能以其完整的時鐘工作。由于定時問題,在雙處理器系統中針對每個處理器通常設置一專用的高速緩存。
本發明的任務是說明一種方法和設備,通過該方法和設備能在雙處理器系統中節約一個高速緩存,或在多處理器系統中節約冗余的高速緩存。通過利用時鐘偏移來實現節約。
發明實施例和優點說明為了解決該任務,本發明說明了一種用于延遲對具有第一和第二處理器的多處理器系統的數據和/或指令的訪問的方法和設備,給該第一和第二處理器分配一存儲單元,其中第二處理器有時鐘偏移地工作,并且這樣構造該設備,使得第一處理器訪問存儲單元,而第二處理器有時鐘偏移地獲得數據和/或指令。有利地,存儲單元是高速緩存存儲器,由此能夠將該存儲技術的優點與本發明的優點相結合。
適宜地,存儲單元由至少一個處理器來尋址并且直接被耦合到尋址該存儲單元的處理器上。
有利的是,包含延遲元件,并且這樣構造該設備,使得通過延遲元件來使用時鐘偏移,以便實現數據和/或指令從存儲單元到第二處理器的運行時間的跨接。
此外有利的是,設置比較裝置,通過該裝置比較數據和/或指令,并且該比較裝置在空間上靠近隨后的處理器來布置。
適宜地,這樣構造該設備,使得利用該時鐘偏移,以便將第一處理器的比較數據引導到第二處理器。
有利的是,按照改進方案,當訪問時,延遲寫操作和讀操作或者僅僅延遲讀操作或者僅僅延遲寫操作。
現在如果這兩個處理器有時鐘偏移地運行,則利用所建議的方法和相應的設備能夠省去針對從處理器的第二高速緩存。
在雙計算機系統中,存在兩個處理器,這兩個處理器能夠執行相同或者不同的任務。雙計算機系統的兩個處理器能夠時鐘同步地或者時鐘偏移地執行這些任務。如果雙處理器系統被構造用于發現錯誤,則為了避免共模錯誤有利的是,這兩個處理器有時鐘偏移地工作。如果選擇非整數的時鐘偏移>1,則該方法是最有效的。也就是說,在第一應用形式中,這兩個處理器或者核執行相同的任務。
如果這兩個處理器執行不同的任務,則有利的是,這兩個處理器能時鐘邊沿同步地運行,因為如存儲器那樣的外部組件能僅僅利用處理器的時鐘來控制。如果現在采用例如能在這兩種模式之間轉換的雙處理器系統,則因此優化到一工作模式。
根據本發明,通過以下方式來補償這一點,即在雙處理器系統(或多處理器系統)中,該雙處理器系統能在如安全模式和性能模式那樣的兩個模式之間進行轉換,這兩個處理器在安全模式下有時鐘偏移地工作而在性能模式下無時鐘偏移地工作。在性能模式下沒有時鐘偏移是有利的,因為如存儲器那樣的外部組件大多以較低的時鐘頻率運行,并且將時鐘邊沿僅僅和處理器相配地來設計這些外部組件。此外,第二時鐘偏移的處理器在每次存儲器訪問時會具有等待周期,因為該第二處理器晚半個時鐘地控制外部組件。
通過對雙處理器系統的時鐘轉換,在安全模式下取得錯誤識別中的最佳狀態,而在性能模式下取得性能上的最大值。
因此,本發明有利地從一種用于延遲對具有第一和第二處理器的多處理器系統的數據和/或指令的訪問的方法和設備出發,給該第一和第二處理器分配一存儲單元,其中第一和第二處理器有時鐘偏移地工作,并且這樣構造該設備,使得兩個處理器有時鐘偏移地訪問相同的存儲單元。
適宜地,在此,當訪問時,延遲寫操作和讀操作,其中該設備能在延遲訪問與不延遲訪問之間進行轉換。除此之外,公開了一種具有這樣的設備的多處理器系統。
在至少一個模式下,這兩個處理器有時鐘偏移地工作。該時鐘偏移既能彼此相對偏移整個時鐘又能彼此相對偏移部分時鐘。另一變型方案是,在這兩個模式下應用不同的時鐘頻率。在對安全性要求嚴格的模式下,例如將比在性能模式下更低的時鐘用于進行干擾抑制。在此,這兩種變型方案也能相互結合。
在此,第一工作模式與安全模式相對應,在該安全模式中,兩個計算單元執行相同的程序和/或數據,并且設置比較裝置,這些比較裝置對在執行相同的程序時形成的狀態比較一致性。
根據本發明的單元或根據本發明的方法能夠在雙處理器系統中最佳地實現這兩個模式。
如果這兩個處理器工作在錯誤識別模式(F模式),則這兩個處理器獲得相同的數據/指令,而如果這兩個處理器工作在性能模式(P模式),則每個處理器都能訪問該存儲器。于是,該單元管理對僅僅簡單存在的存儲器或者外圍設備的訪問。
在F模式下,該單元接收處理器(在此稱為主機)的數據/地址并且將這些數據/地址轉發給如存儲器、總線等的組件。第二處理器(在此稱為從機)想要進行相同的訪問。數據分配單元在第二端口收到這,但是不將該問詢轉發給其它組件。該數據分配單元將與主機相同的數據遞交給從機并且比較這兩個處理器的數據。如果這些數據不同,則數據分配單元(在此為DVE)通過錯誤信號表明這一點。因此,在總線/存儲器上僅僅主機工作,而從機得到同一數據(如在雙核系統中的運行方式)。
在P模式下,這兩個處理器執行不同的程序部分。因此,存儲器訪問也是不同的。因此,DVE收到處理器的要求并且將結果/所要求的數據發還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延遲正好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通過數據端子DO1(數據輸出1)與計算機100相連并且通過數據端子DO2(數據輸出2)與計算機101相連。此外,數據總線線路116C屬于數據總線116,該數據總線線路116C通過數據端子DI1(數據輸入1)和數據端子D12(數據輸入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)優選地由用于(通過I110PDetect)檢測轉換愿望的設備、模式轉換單元以及Iram和Dram控制模塊構成。
I110pDetect兩個模式之間的轉換通過“轉換檢測(Switch-Detect)”單元來識別。該單元位于指令總線上的高速緩存與處理器之間并且察看,指令I110p是否被加載到處理器中。如果檢測到指令,則將該事件通知給模式轉換單元。針對每個處理器單獨存在“轉換檢測”單元。“轉換檢測”單元不必容錯地實施,因為該“轉換檢測”單元被加倍地并且因此冗余地存在。在另一方面,可考慮的是,容錯地并且因此個別地實施該單元,但是優選的是冗余的實施方案。
ModeSwitch這兩個模式之間的轉換通過“轉換檢測”單元來觸發。如果應進行從鎖定模式到分離模式的轉換,則兩個“轉換檢測”單元檢測到該轉換,因為這兩個處理器在鎖定模式下執行相同的程序代碼。處理器1的“轉換檢測”單元在處理器2的“轉換檢測”單元之前的1.5個時鐘識別出這一點。“模式轉換”單元借助等待信號使處理器1中止兩個時鐘。處理器2同樣稍晚被中止1.5個時鐘,但是僅僅中止半個時鐘,以便該處理器2與系統時鐘同步。接著,針對其它組件,狀態信號被連接到分離模式,并且這兩個處理器繼續工作。現在為了兩個處理器實施不同的任務,這兩個處理器必須在程序代碼中相繼運行。這通過直接在轉換到分離模式之后實現對處理器ID的讀訪問來實現。所讀出的處理器ID對于這兩個處理器中的每一個是不同的。現在如果對給定處理器ID進行比較,則接著利用條件跳轉指令將相對應的處理器引到其它程序位置。在從分離模式轉換到鎖定模式時,處理器或這兩個處理器中的一個首先發現這一點。該處理器將執行程序代碼,在該程序代碼中包含有轉換指令。現在,這通過“轉換檢測”單元來注冊并且將這通知給模式轉換單元。該模式轉換單元使相對應的處理器中止并且通過中斷將同步的原望通知給第二處理器。第二處理器獲得中斷并且現在能執行軟件例行程序,用于結束其任務。現在該處理器同樣跳到用于轉換的指令所位于的程序位置。其“轉換檢測”單元現在同樣將模式變換的愿望發信號通知給模式轉換單元。首先上升的系統時鐘邊沿現在去激活處理器1的等待信號,并且晚1.5個時鐘去激活處理器2的等待信號。現在,這兩個處理器再次以1.5個時鐘的時鐘偏移同步工作。
如果該系統處于鎖定模式,則兩個“轉換檢測”單元必須通知模式轉換單元,這兩個“轉換檢測”單元想要進入分離模式。如果僅由一個單元來實現轉換愿望,則由比較單元識別該錯誤,因為這兩個處理器之一繼續將數據提供給這些比較單元,并且這些比較器單元與被中止的處理器不一致。
如果這兩個處理器在分離模式并且一個處理器沒有返回到鎖定模式,則這能通過外部監視定時器來識別。在每個處理器的觸發信號中,監視定時器注意到,等待的處理器不再報到。如果對于處理器系統僅僅存在一個監視定時器信號,則監視定時器的觸發只允許在鎖定模式實現。因此,監視定時器可能識別出,沒有實現模式轉換。模式信號作為雙軌信號存在。在此,“10”代表鎖定模式而“01”表示分離模式。在“00”和“01”的情況下,出現錯誤。
IramControl對這兩個處理器的指令存儲器的訪問通過IRAMControl來控制。該IRAMControl必須可靠地來設計,因為它是單個失效點。IRAMControl由兩個針對每個處理器的狀態自動機組成各自作為時鐘同步iramlclkreset和異步readiraml。在對安全性要求嚴格的模式下,這兩個處理器的狀態自動機互相監控,而在性能模式下,這兩個處理器的狀態自動機分開工作。
處理器的兩個高速緩存的再加載通過兩個狀態自動機(亦即同步狀態自動機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如所提及的那樣由檢測模式轉換單元的轉換愿望(I110PDetect)和Iram-和DramControl構成。
在圖3中,現在以一例子示出時鐘轉換,以致在一個模式方面與其它模式相比實現時鐘轉換。在此,示出以下兩種模式,即時鐘clk和兩個處理器時鐘或者核時鐘。
在一模式下,這兩個處理器有時鐘偏移地工作。該時鐘偏移既彼此相對偏移整個時鐘又彼此相對偏移部分時鐘。另一變型方案是,在這兩種模式中應用不同的時鐘頻率。在對安全性要求嚴格的模式下,例如將比在性能模式下更低的時鐘用于抑制干擾。在此,這兩個變型方案也能相互組合。
但是,此外所示出的特定實現方案也解決了開頭所述的任務。
在實現尤其是雙處理器系統(雙核)時,對于每個處理器設置有一個高速緩存,如還示意性地在圖4中所示的那樣。一個高速緩存通常是不夠的,因為該高速緩存在空間上看來必須被布置在兩個處理器之間。由于高速緩存與兩個處理器之間的長運行時間,因此這兩個處理器僅僅能以受限的時鐘頻率工作。
高速緩存用作快速暫存器,以便處理器不必總是從緩慢的主存儲器中獲取數據。為了能夠實現這一點,在實現高速緩存時必須非常注意其訪問持續時間。該訪問持續時間由從高速緩存中獲取數據的實際訪問時間和由將數據遞交給處理器的時間構成。現在如果將高速緩存在空間上遠離處理器放置,則傳送數據持續很長,并且處理器不再能以其完整的時鐘工作。由于定時問題,在雙處理器系統中針對每個處理器通常設置專用的高速緩存。
如果這兩個處理器現在有時鐘偏移地運行,則現在利用在圖5中所建議的方法能夠省去從處理器的第二高速緩存。
高速緩存必需多個芯片面并且也必需多個電流。由此,該高速緩存也產生了許多廢熱,該廢熱必須被引出。現在如果能夠省去高速緩存,則雙處理器系統明顯能更廉價地被實施。
在此所介紹的雙計算機系統中,一個處理器為主機,而一個處理器為從機。主機首先執行數據并且因此也控制如存儲器、高速緩存、DMA控制器等等的外圍組件。從機以在此例如為1.5個時鐘的時鐘偏移來執行相同的數據。這也意味著,從機從共同的存儲器中獲得數據并且同樣晚該持續時間地獲得外部組件的數據。這兩個處理器的輸出數據(如存儲器地址、數據等)被相互比較。為了能夠相互比較數據,主機的結果同樣必須被暫存1.5個時鐘。下面描述這種示例系統。
根據圖5,現在為了能夠將一個高速緩存用于兩個處理器,如在單個處理器中那樣,指令和數據高速緩存直接被布置在主機上。因此,主機不必容忍在高速緩存與處理器之間的運行時間方面的性能損失。由于從機才晚1.5個時鐘執行數據,所以現在利用該時間,以便將數據導向現在在空間上進一步遠離高速緩存的第二處理器。
為此,在1.5個時鐘的示例性時鐘偏移的情況下,使用兩個觸發器,如在圖6中所示出的那樣。第一觸發器利用主機的時鐘來控制,第二觸發器利用從機的時鐘來控制。第一觸發器直接被定位在源的輸出端。第二觸發器現在根據信號在這兩個時鐘之間的差內能經過的長度相應地更靠近從機來定位。這在1.5個時鐘的時間偏移的情況下與半個時鐘的運行時間長度相對應,而在2個時鐘的時鐘偏移的情況下與一個時鐘的運行時間長度相對應。接著,第二觸發器接收該信號。現在還考慮一次該信號在整個時鐘期間能經過的距離。在圖中,1.)這通過靠近接收器上布置來示出,2.)這與在時鐘差中能經過的長度相對應,以及3.)這是在第二觸發器之后的一個時鐘中能經過的長度。
權利要求
1.一種用于延遲對具有第一和第二處理器的多處理器系統的數據和/或指令的訪問的方法,給該第一和第二處理器分配一存儲單元,其中第二處理器有時鐘偏移地工作,并且這樣構造設備,使得所述第一處理器訪問所述存儲單元,并且所述第二處理器有時鐘偏移地獲得數據。
2.根據權利要求1所述的用于延遲對數據和/或指令的訪問的方法,其特征在于,所述時鐘偏移通過延遲元件來使用,以便實現數據和/或指令從存儲器到第二處理器的運行時間的跨接。
3.根據權利要求1所述的用于延遲對數據和/或指令的訪問的方法,其特征在于,利用所述時鐘偏移,以便將第一處理器的比較數據引導到第二處理器。
4.根據權利要求1所述的用于延遲對數據和/或指令的訪問的方法,其特征在于,當訪問時延遲寫操作和讀操作。
5.根據權利要求1所述的用于延遲對數據和/或指令的訪問的方法,其特征在于,當延遲時僅僅延遲寫操作。
6.根據權利要求1所述的用于延遲對數據和/或指令的訪問的方法,其特征在于,當延遲時僅僅延遲讀操作。
7.根據權利要求1所述的用于延遲對數據和/或指令的訪問的方法,其特征在于,半數地預定所述時鐘偏移。
8.根據權利要求1所述的用于延遲對數據和/或指令的訪問的方法,其特征在于,整數地預定所述時鐘偏移。
9.根據權利要求1所述的用于延遲對數據和/或指令的訪問的方法,其特征在于,所述時鐘偏移被預定為1.5個時鐘。
10.一種用于延遲對具有第一和第二處理器的多處理器系統的數據和/或指令的訪問的設備,給該第一和第二處理器分配一存儲單元,其中第二處理器有時鐘偏移地工作,并且這樣構造所述設備,使得所述第一處理器訪問所述存儲單元,并且所述第二處理器有時鐘偏移地獲得數據和/或指令。
11.根據權利要求10所述的用于延遲對數據和/或指令的訪問的設備,其特征在于,所述存儲單元是高速緩存。
12.根據權利要求10所述的用于延遲對數據和/或指令的訪問的設備,其特征在于,所述存儲單元由至少一個處理器來尋址,并且所述存儲器直接被耦合到尋址該存儲單元的處理器。
13.根據權利要求10所述的用于延遲對數據和/或指令的訪問的設備,其特征在于,包含延遲元件,并且這樣構造所述設備,使得通過延遲元件來使用時鐘偏移,以便實現數據和/或指令從存儲單元到第二處理器的運行時間的跨接。
14.根據權利要求10所述的用于延遲對數據和/或指令的訪問的設備,其特征在于,設置比較裝置,通過所述比較裝置比較數據和/或指令。
15.根據權利要求14所述的用于延遲對數據和/或指令的訪問的設備,其特征在于,所述比較裝置在空間上靠近隨后的處理器來布置。
16.根據權利要求14所述的用于延遲對數據和/或指令的訪問的設備,其特征在于,這樣構造所述設備,使得利用所述時鐘偏移,以便將第一處理器的比較數據引導到第二處理器。
17.根據權利要求10所述的用于延遲對數據和/或指令的訪問的設備,其特征在于,這樣構造所述設備,使得當訪問時延遲寫操作和讀操作。
18.根據權利要求10所述的用于延遲對數據和/或指令的訪問的設備,其特征在于,這樣構造所述設備,使得當訪問時僅僅延遲寫操作。
19.根據權利要求10所述的用于延遲對數據和/或指令的訪問的設備,其特征在于,這樣構造所述設備,使得當訪問時僅僅延遲讀操作。
20.根據權利要求10所述的用于延遲對數據和/或指令的訪問的設備,其特征在于,這樣構造所述設備,使得半數地預定所述時鐘偏移。
21.根據權利要求10所述的用于延遲對數據和/或指令的訪問的設備,其特征在于,這樣構造所述設備,使得整數地預定所述時鐘偏移。
22.根據權利要求10所述的用于延遲對數據和/或指令的訪問的設備,其特征在于,這樣構造所述設備,使得所述時鐘偏移被預定為1.5個時鐘。
23.一種具有根據權利要求10至22之一所述的設備的多處理器系統。
全文摘要
一種用于延遲對具有第一和第二處理器的多處理器系統的數據和/或指令的訪問的方法和設備,給該第一和第二處理器分配存儲單元,其中第二處理器有時鐘偏移地工作,并且這樣構造該設備,使得所述第一處理器訪問所述存儲單元,并且所述第二處理器有時鐘偏移地獲得數據和/或指令。
文檔編號G06F9/38GK101048747SQ200580036461
公開日2007年10月3日 申請日期2005年10月25日 優先權日2004年10月25日
發明者T·科特克 申請人:羅伯特·博世有限公司