專利名稱:通過簽名分析計算的系統和方法
技術領域:
本發明的某些實施方式涉及在計算系統和方法中提供診斷覆蓋。更具體地,本發明的某些實施方式涉及在執行計算時的診斷簽名(Signature)生成,包括作為用于檢測短暫和持續的錯誤的再生地址簽名的數據地址的再生。
背景技術:
通常,用在安全相關系統中的處理單元經由內部總線系統連接至內部子系統,諸如存儲器和外圍設備。用于保護總線的數據和地址信號免受通信干擾的常規解決方案是通過增加提供糾錯和檢測能力的額外的通信線路而在系統中設置冗余。然而,部分由于一些“總線”結構物理上不再可識別和/或容易訪問常規糾錯和檢測能力的應用的“技術水平”設計方法學,對通信信道的錯誤可能性的估計可能在計算上緊張和不準確。在典型系統中,位于處理單元尋址接口后面的邏輯(諸如與地址解碼器和存儲器內部的地址總線以及處理單元外部的外圍設備相關聯的邏輯)未被常規糾錯和檢測能力保護。此外,常規冗余和/或算法分集為處理單元的尋址安全失效操作提供了典型解決方案。例如,處理信道可以是時 分多路復用的,以執行兩個(或更多個)不同算法,定期交叉檢查其結果的一致性和/或合理性。可選地,可采用對兩個(或更多個)處理信道的時間分離來執行單個算法,也定期交叉檢查其結果的一致性和/或合理性。然而,若使用單個處理信道的時分多路復用技術,則應用開發人員必須建立幾個不同算法,對各組結果定義合適的“通過”限制,以及監控時分多路復用的調度。此外,系統的失效反應時丨B]被限制為完整計算各種算法所需的時間。若使用單個算法的雙處理技術,則每條處理信道必須獨立,從而最小化普通原因造成的失效,且一條信道中的失效不會影響其他信道。此外,由計算所用的數據必須被保護以防損壞,且軟件和軟件開發過程必須保證質量。將期望提供全面、有效的對與計算系統內處理單元的操作相關聯的計算錯誤的診斷覆蓋,包括與計算系統的外圍設備和存儲器的內部子系統內的數據通信和存儲相關聯的
錯誤覆蓋。
發明內容
根據本發明的實施方式,一種微控制器包括處理單元,適于生成多個跟蹤信號;簽名分析單元,耦接至處理單元和經由簽名管道(pipe)耦接至第二處理單元的第二簽名分析單元;以及端口邏輯單元,耦接至簽名分析單元。在一種實施方式中,多個跟蹤信號包括輸入數據、輸入數據地址、處理單元的一個或多個內部狀態、輸出數據和輸出數據地址。簽名分析單元適于基于多個跟蹤信號中的一個或多個跟蹤信號生成第一多個簽名,經由簽名管道接收第二多個相應簽名,將第一多個簽名中的每個簽名與第二多個相應簽名中的每個相應簽名相比較,以及若比較產生至少一個不匹配,則生成第一錯誤信號。端口邏輯單元適于基于第一錯誤信號生成裝置禁用信號。
根據本發明的另一實施方式,用于與微控制器的處理單元和一個或多個其他微控制器的一個或多個其他處理單元一起使用的簽名分析單元包括簽名生成單元,適于從處理單元接收多個跟蹤信號并基于接收到的多個跟蹤信號中的一個或多個跟蹤信號生成第一多個簽名;第一 FIFO緩沖器,適于接收第一多個簽名;第二 FIFO緩沖器,適于接收基于由一個或多個其他處理單元生成的多個相應跟蹤信號的多個相應簽名;以及簽名比較器,適于接收第一多個簽名和多個相應簽名,將第一多個簽名中的每個簽名與多個相應簽名中的每個相應簽名相比較,以及若比較產生至少一個不匹配,則生成第一錯誤信號。在本發明的另一實施方式中,一種系統包括微控制器,其包括處理單兀,適于生成多個跟蹤信號,以及簽名分析單元,耦接至處理單元和經由簽名管道耦接至第二處理單元的第二簽名分析單元;以及存儲器,耦接至微控制器。簽名分析單元適于基于多個跟蹤信號中的一個或多個跟蹤信號生成第一多個簽名,經由簽名管道接收第二多個相應簽名,將第一多個簽名中的每個簽名與第二多個相應簽名中的每個相應簽名相比較,以及若比較產生至少一個不匹配,則生成第一錯誤信號。在一種實施方式中,第一多個簽名包括輸入數據簽名、輸入地址簽名、處理狀態簽名、輸出數據簽名和輸出地址簽名。此外,存儲器包括地 址解碼器,適于接收與對存儲在存儲器中的輸入數據的讀請求相關聯的輸入數據地址,以及地址再生單元,適于基于當從存儲器讀取輸入數據時驅動的位線和字線生成再生地址簽名。簽名分析單元還適于接收再生地址簽名,并將輸入地址簽名(基于輸入數據地址)與再生地址簽名相比較,且若比較產生不匹配,則生成第二錯誤信號。根據本發明的又一實施方式,一種用于通過具有處理單元的微控制器處理數據的方法包括:將輸入數據地址發送至存儲器作為對存儲在存儲器中的輸入數據的讀請求的一部分;從存儲器接收輸入數據;生成多個跟蹤信號,其中,多個跟蹤信號中的一個或多個基于輸入數據、輸入數據地址、處理單元的一個或多個內部處理狀態、輸出數據和輸出數據地址;基于多個跟蹤信號生成第一多個簽名;從第二微控制器接收第二多個相應簽名;將第一多個簽名中的每個簽名與第二多個相應簽名中的每個相應簽名相比較;若比較產生至少一個不匹配,則生成第一錯誤信號;以及利用第一錯誤信號來生成用于禁用在微控制器的控制下的一個或多個裝置的工作的一個或多個禁用信號。根據以下描述和附圖,將更充分理解本發明的這些和其他優勢、方面及新特征以及其示例性的實施方式的細節。
圖1是根據本發明實施方式的計算機處理系統的示意圖;圖2是根據本發明實施方式的圖1所示程序存儲器的示意圖;圖3是根據本發明實施方式的圖1所示微控制器的簽名分析單元的示意圖;圖4是示出根據本發明實施方式的集成在單個芯片(die)上的兩個微控制器的示意圖;圖5是示出根據本發明實施方式的集成在分離芯片上的兩個微控制器的示意圖;圖6是示出根據本發明實施方式的集成在分離芯片上的交叉耦接的微控制器的示意圖。
具體實施例方式圖1是根據本發明實施方式的計算機處理系統100的示意圖。計算機處理系統100的部件包括微控制器105、程序存儲器110和/或數據存儲器115和/或一個或多個外圍存儲器120。如圖所示,微控制器105、程序存儲器110、數據存儲器115和一個或多個外圍存儲器120設置在分離的芯片(或分離的微芯片)上。然而,本發明的范圍覆蓋任何數量的提供計算機處理系統100的部件的各種組合的芯片(或微芯片)。微控制器105包括一個或多個數據緩沖器125,其可經由系統總線(未示出)耦接至一個或多個內部存儲器(未示出),以及經由系統總線耦接至一個或多個片外存儲器(未示出),以及耦接至一個或多個存儲器控制器和/或I/o接口(未示出)。內部存儲器和外部存儲器可包括用于存儲例如操作系統(OS)和嵌入式和/或非嵌入式程序應用的易失性隨機存取存儲器(RAM)和非易失性只讀存儲器(ROM)的任何組合。微控制器105還包括一個或多個地址生成器130、處理單元135、簽名分析單元140、重取/反向查找單元145和端口邏輯單元150。處理單元135例如可以是微處理器、中央處理單元或本領域技術人員已知的任何其他類型的處理系統,其可被配置為接收輸入數據(即,讀取數據)、輸入數 據的相應存儲器地址(即,輸入數據地址)和程序應用指令,執行程序應用指令,以及生成輸出數據(寫入數據)和輸出數據的相應存儲器地址(即,輸出數據地址)。地址、數據以及對應于處理單元135的一個或多個內部狀態的信息中的一些或全部可作為跟蹤信號155而從處理單元135發送至簽名分析單元140。在一種實施方式中,該跟蹤信號155由處理單元135的處理管線160生成。例如,對應于內部狀態的信息可以是對應于處理單元135內部操作的信息,諸如操作碼、標志、分支、中斷狀態以及其他狀態信息。如本領域技術人員已知,通過定位和糾正發送錯誤,糾錯碼(ECC)被用于校驗數據和數據地址的發送。ECC確保對應于分別從數據緩沖器125和地址生成器130發送至程序存儲器110、數據存儲器115和一個或多個外圍存儲器120的數據的數據和地址(即數據地址)被接收而無發送錯誤。例如,若ECC指示在數據和/或數據地址發送中的錯誤,則數據和/或數據地址可能需要重新發送,或者程序存儲器110、數據存儲器115和/或外圍存儲器120適于使用接收到的ECC來實時糾正相應數據和/或數據地址發送錯誤,或者微控制器105可生成禁用信號,該禁用信號禁用由微控制器105控制的一個或多個裝置或子系統的工作。此外,處理單元135可從數據緩沖器125接收輸入(即,讀取)數據,以及向數據緩沖器125發送輸出(B卩,寫入)數據(B卩,例如由處理單元生成的數據)。處理單元135還可經由地址生成器130來接收輸入(即,讀取)數據地址,且可將對應于所生成的數據(即,輸出數據或寫入數據)的地址信息發送至地址生成器130以轉換成輸出數據地址。在操作中,簽名分析單元140從處理單元135的管線160接收跟蹤信號155,并基于當訪問存儲在外部存儲器中的輸入數據時在外部存儲器中被驅動的位線和字線,從程序存儲器110、數據存儲器115和外圍存儲器120 (即,統稱為外部存儲器)中的一個或多個接收再生地址簽名。以下將結合圖2更充分地討論該再生地址簽名。簽名分析單元140適于對如由跟蹤信號發送的輸入數據、輸出數據、處理單元135的內部狀態、輸入數據地址和輸出數據地址中的一個或多個(即,處理診斷變量)執行診斷,以及利用再生地址簽名來確定關于生成、通信(例如,經由程序存儲器110、數據存儲器115、外圍存儲器120和/或微控制器105內部的系統總線)和/或任何處理診斷變量的存儲是否已發生短暫的或永久的錯誤,以及從存儲器110、115和/或120為讀取數據提供地址驗證。對處理診斷變量的分析提供了校驗處理單元135的無錯誤工作的手段。若檢測到一個或多個錯誤,則微控制器105可實施一個或多個動作,包括但不限于經由重取/反向查找單元145從程序存儲器110、數據存儲器115或一個或多個外圍存儲器120重取數據,和/或經由端口邏輯單元150應用合適的端口邏輯來禁用由微控制器105控制的一個或多個裝置或子系統的工作。以下將結合圖3進一步更詳細地討論簽名分析單元140。圖2是根據本發明實施方式的圖1的程序存儲器110的示意圖。如圖所示,程序存儲器包括存儲器陣列202 (其包括多個由字線235和位線240選址(B卩,訪問)的存儲單元)、數據ECC檢查/生成單元205、存儲器數據緩沖器210、地址ECC檢查單元215、地址解碼器220、用于生成并可選地對再生地址簽名編碼的地址再生單元225和地址簽名緩沖器230。程序存儲器110還可包括位于程序存儲器110內部部件之間且提供地址、數據、ECC和再生地址簽名以及任何偏置和 控制信號的通信的內部總線(未示出)。存儲器數據緩沖器210被配置為從微控制器105的數據緩沖器125接收寫數據,且數據ECC檢查/生成單元205被配置為接收已被應用到寫數據的ECCd (也稱為寫數據的ECCd)0地址解碼器220被配置為接收對應于接收到的寫數據的寫數據地址,以及地址ECC檢查單元215被配置為接收已被應用到相應的寫數據地址的ECCa (也稱為寫數據地址的ECCa)。在操作中,數據ECC檢查/生成單元205在微控制器105與程序存儲器110之間提供通信接口,且被配置為針對發送錯誤利用相應的接收到的寫數據的ECCd來檢查接收到的寫數據,并根據通過由地址解碼器220接收并解碼的相應的寫數據地址驅動的位線和字線來將接收到的寫數據和相應的ECCd發送至特定存儲單元。數據ECC檢查/生成單元205還被配置為基于通過地址解碼器220從微控制器105接收(并解碼)的讀數據地址,從存儲器陣列202中的特定單元接收讀數據和該讀數據的相應ECCd,針對發送錯誤利用相應的讀數據的ECCd來檢查接收到的讀數據,以及將接收到的讀數據和該讀數據的相應ECCd發送至微控制器105。如上所述,針對發送錯誤,ECC檢查/生成單元205利用接收到的寫或讀數據的相應的ECCd來檢查從微控制器105接收到的寫數據或從特定存儲器存儲單元接收到的讀數據。在一種實施方式中,在發現一個或多個發送錯誤后,ECC檢查/生成單元205糾正數據中的錯誤,且能使數據和該數據的相應ECCd發送到合適的目的地(B卩,微控制器105或存儲單元)。在另一實施方式中,在發現一個或多個發送錯誤后,ECC檢查/生成單元205糾正數據中的錯誤,生成新的正確數據的ECCd,以及能使數據和該數據的相應的新的ECCd發送至合適的目的地。基于在從存儲器陣列202中讀出存儲數據時驅動的特定位線和字線,地址再生單元225生成再生地址簽名,并經由地址簽名緩沖器230將再生地址簽名發送至微控制器105。例如,程序存儲器110可從微控制器105接收數據讀取請求,和/或地址解碼器220可接收被請求數據的讀數據地址,以及地址ECC檢查單元215可接收讀數據地址的ECCa。在地址ECC檢查單元215利用接收到的讀數據地址的ECCa對接收到的讀數據地址執行任何必要的糾錯之后,根據依照接收到的讀數據地址來驅動的特定位線和字線,從存儲器陣列202中讀出被請求的讀數據和被請求的讀數據的相應ECCd。微控制器105接收被請求的讀數據(即,也稱為輸入數據)和被請求的讀數據的ECCd。基于在從存儲器陣列202訪問被請求的讀數據時驅動的特定位線和字線,地址再生單元225生成再生地址簽名,并經由地址簽名緩沖器230將再生地址簽名發送至微控制器105的簽名分析單元140。在一種實施方式中,再生地址簽名是再生地址的無損編碼。在另一實施方式中,再生地址簽名是無壓縮再生地址。然而,本發明的范圍包括被具體化為在對存儲器陣列202的每次訪問后實際驅動的位線和字線的任何電子化表示的再生地址簽名。再生地址簽名在被發送至微控制器105之前可存儲在地址簽名緩沖器230中。在一種實施方式中,在對存儲器陣列202的每次讀和/或寫訪問后,再生地址簽名被發送至微控制器105。當諸如數據包的數據被讀或寫到存儲器陣列202時發生存儲器訪問。如以下結合圖3進一步討論,微控制器105的簽名分析單元140被配置為接收再生地址簽名并檢查地址的一致性。例如,在一種實施方式中,簽名分析單元140將再生地址簽名與由簽名分析單元140基于讀數據地址生成的地址簽名相比較。由于接收輸入數據和輸入數據地址的處理單元135位于與地址解碼器和用于控制存儲器陣列202的驅動器相距一定的距離處,所以簽名分析單元140可診斷通常跨接程序存儲器110的任何內部導線的狀態。另外,在一種實施方式中,處理單元135可用慢速技術或者用較長的建立保持時序要求來建立,使得若地址生成器單元的預期時序比預期慢,則簽名生成將更易受比存儲器更慢的時序影響,因此,在存儲器產生錯誤數據之前會產生不正確的簽名。這保證了在時序違規的情況下總是首先觸發簽名機制。在本發明的其他示例性實施方 式中,數據存儲器115和一個或多個外圍存儲器120具有帶有與程序存儲器110相同的附圖標記的相同部件,并以相同方式生成再生地址簽名。圖3是根據本發明實施方式的圖1所示的微控制器105的簽名分析單元140的示意圖。簽名分析單元140包括簽名生成單元305、兩個簽名先入先出(FIFO)緩沖器310a-310b和簽名比較器315。簽名生成單元305被配置為從處理單元135的管線160接收跟蹤信號155,處理跟蹤信號以生成簽名312,以及將簽名312發送至簽名FIFO緩沖器310a-310b中的一個或多個以用于后處理。如圖所示,簽名分析單元140包括兩個簽名FIFO緩沖器310a_310b,其用于存儲和對準由處理單元135的兩個不同處理線程生成的簽名312,和/或用于存儲和對準源自兩個不同處理單元的簽名。然而,為了能實現存儲并對準由每個處理單元的任何數量的處理線程生成的簽名和/或源自任何數量的不同處理單元的簽名,本發明的范圍還包括含有任何數量的FIFO結構的簽名分析單元140。在一種實施方式中,簽名可包括一個或多個簽名域。簽名比較器315被配置為接收并比較存儲在第一 FIFO緩沖器310a中的簽名的簽名域與存儲在第二 FIFO緩沖器310b中的簽名的對準的(即,相應的)簽名域。盡管本發明的范圍覆蓋對準兩個或更多個簽名的任何技術,例如,每一個簽名可具有由一個或多個被用作用于對準兩個或更多個簽名的標記的唯一索引組成的一個或多個簽名域。在一種實施方式中,若簽名比較器315確定在任何一個或多個被比較的簽名域之間存在差異(即,不匹配),則簽名比較器315可觸發“系統事件”。例如,簽名比較器315可觸發禁用一個或多個由微控制器105控制的裝置(未示出)的硬件陷阱和/或管腳切換。在另一實施方式中,簽名比較器315可能生成錯誤信號,其能使軟件或固件發出控制信號和/或指令,以從程序存儲器110和/或數據存儲器115和/或外圍存儲器120重取數據,和/或使處理單元135重復一個或多個導致錯誤信號產生的程序應用執行步驟。如圖所示,簽名生成單元305包括輸入數據跟蹤處理塊320a,其用于根據一個或多個跟蹤信號155生成輸入數據簽名;輸入地址跟蹤處理塊320b,其用于根據一個或多個跟蹤信號155生成輸入地址簽名;CPU (也稱為處理單元)狀態跟蹤處理塊320c,其用于根據一個或多個跟蹤信號155生成CPU狀態簽名;輸出數據跟蹤處理塊320d,其用于根據一個或多個跟蹤信號155生成輸出數據簽名;以及輸出地址跟蹤處理塊320e,其用于根據一個或多個跟蹤信號155生成輸出地址簽名。在一種實施方式中,跟蹤處理塊320a_320e是五個循環冗余校驗(CRC)多項式算法單元。CRC多項式算法塊可基于由處理單元135對每條程序指令的執行來生成新的一組簽名。根據另一實施方式, 為了限制所生成的簽名的總數,CRC多項式算法塊僅基于一個或多個特定代碼指令或特定代碼順序(連續的或非連續的)的執行而適于(或受控)生成新的一組簽名。在一種實施方式中,由處理單元135執行的軟件或在處理單元135外部執行的軟件可實現包括CRC多項式算法塊的變量和/或常量的修改,且軟件可使這些變量和/或常量中的任何一個被用戶觀察到。可選地,簽名生成單元305可包括輸入數據寄存器(未示出),其用于存儲由輸入數據跟蹤處理塊320a生成的輸入數據簽名;輸入地址寄存器(未示出),其用于存儲由輸入地址跟蹤處理塊320b生成的輸入地址簽名;CPU狀態寄存器(未示出),其用于存儲由CPU狀態跟蹤處理塊320c生成的CPU狀態簽名;輸出數據寄存器(未示出),其用于存儲由輸出數據跟蹤處理塊320d生成的輸出數據簽名;以及輸出地址寄存器(未示出),其用于存儲由輸出地址跟蹤處理塊320e生成的輸出地址簽名。盡管簽名生成單元305包括五個跟蹤處理塊320a-320e且可選地,可包括五個相應的簽名寄存器,但本發明的范圍涵蓋任何數量的跟蹤處理塊和任何數量的相應的簽名寄存器。如圖所示,第一 FIFO緩沖器3 IOa包括第一輸入數據簽名緩沖器330a,其被配置為存儲從簽名生成單元305接收到的第一輸入數據簽名;第一輸入地址簽名緩沖器330b,其被配置為存儲從簽名生成單元305接收到的第一輸入地址簽名;第一 CPU狀態簽名緩沖器330c,其被配置為存儲從簽名生成單元305接收到的第一 CPU狀態簽名;第一輸出數據簽名緩沖器330d,其被配置為存儲從簽名生成單元305接收到的第一輸出數據簽名;以及第一輸出地址簽名緩沖器330e,其被配置為存儲從簽名生成單元305接收到的第一輸出地址簽名。第二 FIFO緩沖器310b包括第二輸入數據簽名緩沖器335a,其被配置為存儲經由簽名管道340從第二處理單元(未示出)的第二簽名生成單元(未示出)接收到的第二輸入數據簽名;第二輸入地址簽名緩沖器335b,其被配置為存儲經由簽名管道340接收到的第二輸入地址簽名和/或存儲經由耦接至程序存儲器110的再生地址簽名緩沖器230的總線345接收到的再生地址簽名;第二CPU狀態簽名緩沖器335c,其被配置為存儲經由簽名管道340接收到的第二CPU狀態簽名;第二輸出數據簽名緩沖器335d,其被配置為存儲經由簽名管道340接收到的第二輸出數據簽名;以及第二輸出地址簽名緩沖器335e,其被配置為存儲經由簽名管道340接收到的第二輸出地址簽名。在另一實施方式中,經由簽名管道340接收到的簽名并不由第二處理單元(未示出)的第二簽名生成單元(未示出)生成,而是基準簽名。例如,基準簽名是由執行預定代碼順序的處理單元135產生的已知的預期簽名。盡管如圖所示,簽名分析單元140包括作為兩個FIFO緩沖器實施的兩個簽名緩沖器310a-310b,但本發明的范圍涵蓋適于緩沖從簽名生成單元、簽名管道和/或總線接收到的簽名的任何存儲緩沖器,諸如循環緩沖器、隨機存取緩沖器、鏈表緩沖器或存儲結構的組
合
在一種實施方式中,第一比較窗口 350a內的一個或多個第一簽名和第二比較窗口 350b內的一個或多個第二簽名被周期性發送至簽名比較器315。本發明的范圍包括處理單元135和第二處理單元(未示出)被集成到與微控制器105相同或不同的芯片上的實施方式。在另一實施方式中,微控制器105的簽名分析單兀140包括三個或更多個簽名FIFO緩沖器,其中,每個FIFO緩沖器耦接至與不同的處理單元耦接的不同簽名生成單元。如圖所示,簽名比較器315包括輸入數據簽名處理塊355a、輸入地址簽名處理塊355b、CPU狀態簽名處理塊355c、輸出數據簽名處理塊355d和輸出地址簽名處理塊355e。在操作中,處理塊355a-355e中的每一個將接收到的第一和第二簽名相比較,且若一個或多個處理塊確定接收到的第一和第二簽名不匹配(即,存在差異或不匹配),則處理塊355a-355e中的一個或多個生成錯誤信號。在正常(即無差錯)的工作條件下(B卩,當簽名分析單元140未生成任何錯誤信號時),端口邏輯單元150生成能使其他裝置和/或在微控制器105外部的子系統工作的系統使能信號。在一種實施方式中,當端口邏輯單元150接收由簽名比較器315生成的錯誤信號El時,部分基于錯誤信號是否是由輸入數據簽名處理塊355a和/或輸入地址簽名處理塊355b和/或CPU狀態簽名處理塊355c和/或輸出數據簽名處理塊355d和/或輸出地址簽名處理塊355e生成,端口邏輯塊150生成禁用一個或多個裝置或子系統工作的一個或多個系統禁用信號。在另一實施方式中,若由于再生地址簽名(經由第二簽名管道345通過第二輸入地址緩沖器335b從程序存儲器110、數據存儲器115和/或外圍存儲器120接收)與經由第一輸入地址緩沖器330b從簽名生成單元305接收到的相應的第一輸入地址簽名之間不匹配,簽名比較器315生成錯誤信號E2,這意味著被請求從存儲器110、115和/或120讀取的輸入數據與實際從存儲器讀取的數據不同,則重取/反向查找單元145在接收到錯誤信號E2后,發送用于從存儲器110、115和/或120讀取輸入數據的第二請求。表示與對輸入數據的讀請求相關聯的在存儲器110、115和/或120中訪問的實際地址的再生地址簽名與從簽名生成單元305接收到的表示所請求的輸入數據的地址(B卩,從一個或多個地址生成器130發送至存儲器110、115和/或120的輸入數據地址)的輸入地址簽名之間的比較為地址驗證提供了一種系統和方法。
圖4是示出根據本發明實施方式的集成在單個芯片410上的兩個微控制器405a和405b的不意圖。微控制器405a和405b可與圖1所不的微控制器105相同。如圖4所示,芯片410 (即,微控制器芯片)包括第一微控制器405a,其包括耦接至與第一端口邏輯單元425a和第一重取/反向查找單元430a耦接的第一簽名分析單元420a的第一處理單元415a ;以及第二微控制器405b,其包括耦接至與第二端口邏輯單元425b和第二重取/反向查找單元430b耦接的第二簽名分析單元420b的第二處理單元415b。第一簽名FIFO緩沖器440a從第一簽名生成器445a接收第一簽名,以及經由第二簽名管道450從第二簽名生成器445b接收第二簽名。第二簽名FIFO緩沖器440b從第二簽名生成器445b接收第二簽名,以及經由第一簽名管道455從第一簽名生成器445a接收第一簽名。在一種實施方式中,第一微控制器405a經由片內隔離機制與第二微控制器405b電隔離和熱隔離。本發明的范圍涵蓋對于本領域技術人員已知的單獨實施或結合實施的其他隔離機制。在本發明的另一實施方式中,與典型的片內連接的帶寬相比,簽名管道450和455是窄帶寬管道。窄帶寬管道 的使用允許唯一的電源網絡和時鐘系統被用于簽名管道的實施。圖5是示出根據本發明實施方式的集成在分離的芯片上的兩個微控制器的示意圖。如圖所不,第一微控制器505a集成在第一芯片510a上,第二微控制器505b集成在第二芯片510b上,以及第一和第二微控制器通過串行接口通信式耦接。在一種實施方式中,第一微控制器505a包括第一雙串行外圍接口(第一雙SPI) 515a,其用于經由第二管道520從第二簽名分析單元530b的第二簽名生成器525b接收第二簽名,且將由第一簽名分析單元530a的第一簽名生成單元525a生成的第一簽名經由第一管線540發送至第二簽名FIF0535b。第二微控制器505b包括第二雙SPI515b,其用于經由第一管線540從第一簽名分析單元530a的第一簽名生成器525a接收第一簽名,并將由第二簽名分析單元530b的第二簽名生成單元525b生成的第二簽名經由第二管線520發送至第一簽名FIF0535a。圖6是示出根據本發明實施方式的集成在分離的芯片上的交叉耦接的微控制器的不意圖。如圖所不,第一微控制器605a集成在第一芯片610a上,第二微控制器605b集成在第二芯片610b上,第三微控制器605c集成在第三芯片610c上,以及微控制器對通過雙SPI通信式耦接。在一種實施方式中,第一微控制器605a包括第一雙SPI615a,其用于經由第三管線620從第三簽名分析單元630c的第三簽名生成單元625c接收第三簽名,并將由第一簽名分析單元630a的第一簽名生成單元625a生成的第一簽名經由第一管線640發送至第二簽名FIF0635b。第二微控制器605b包括第二雙SPI615b,其用于經由第一管線640從第一簽名分析單元630a的第一簽名生成單元625a接收第一簽名,并將由第二簽名分析單元630b的第二簽名生成單元625b生成的第二簽名經由第三管線645發送至第三簽名FIF0635C。第三微控制器605c包括第三雙SPI615c,其用于經由第三管線645從第二簽名分析單元630b的第二簽名生成單元625b接收第二簽名,并將由第三簽名分析單元630c的第三簽名生成單元625c生成的第三簽名經由第三管線620發送至第一簽名FIF0635a。盡管圖6示出了位于分離的芯片上的交叉耦接的微控制器,但當多個微控制器位于單個芯片上時或者當微控制器中的一些位于單個芯片上且其他微控制器位于分離的芯片上(即,混合系統)時,本發明的范圍涵蓋類似的交叉耦接的連接架構。生成本地簽名并與由其他處理單元生成的簽名相比的非對稱特性允許實時比較任何數量的處理核,允許構造多核、多處理器和混合系統。此外,盡管圖5和圖6示出了包括雙SPI的微控制器,本發明的范圍涵蓋包括所有類型的串行和并行通信總線的微控制器。盡管本發明已參照特定實施方式來描述,但本領域技術人員將理解,可進行各種更改且可用等同物代替而不脫離本發明的范圍。此外,可進行多種修改使特定的情況或材料適于本發明的教導而不脫離其范圍。 因此,其目的在于本發明不限于所公開的特定實施方式,而是指本發明將包括落在所附權利要求范圍內的所有實施方式。
權利要求
1.一種微控制器,包括: 處理單元,適于生成多個跟蹤信號,所述多個跟蹤信號中的一個或多個跟蹤信號包括輸入數據、輸入數據地址、所述處理單元的一個或多個內部狀態、輸出數據和輸出數據地址; 簽名分析單元,耦接至所述處理單元和經由簽名管道耦接至第二處理單元的第二簽名分析單元,所述簽名分析單元適于: 基于所述多個跟蹤信號中的一個或多個跟蹤信號生成第一多個簽名, 經由所述簽名管道接收第二多個相應簽名, 將所述第一多個簽名中的每個簽名與所述第二多個相應簽名中的每個相應簽名相比較,以及 若所述比較產生至少一個不匹配,則生成第一錯誤信號;以及 端口邏輯單元,耦接至所述簽名分析單元,所述端口邏輯單元適于基于所述第一錯誤信號生成裝置禁用信號。
2.根據權利要求1所述的微控制器,其中,所述簽名分析單元包括: 簽名生成單元,包括多個跟蹤處理塊,所述多個跟蹤處理塊適于接收所述多個跟蹤信號,并基于所述多個跟蹤信號中的所述一個或多個跟蹤信號生成所述第一多個簽名; 第一存儲器緩沖器,適于接收所述第一多個簽名; 第二存儲器緩沖器,適于接收所述第二多個相應簽名;以及 簽名比較器,包括多個簽名處理塊,所述多個簽名處理塊適于接收所述第一多個簽名和所述第二多個相應簽名,將所述第一多個簽名中的每個簽名與所述第二多個相應簽名中的每個相應簽名相比較,以及若所述比較產生所述至少一個不匹配,則生成所述第一錯誤信號。
3.根據權利要求2所述的微控制器,其中,所述第一多個簽名包括輸入數據簽名、輸入地址簽名、處理狀態簽名、輸出數據簽名和輸出地址簽名。
4.根據權利要求3所述的微控制器,其中,所述第二存儲器緩沖器還適于從外部存儲器接收再生地址簽名,以及所述簽名比較器還適于將所述輸入地址簽名與所述再生地址簽名相比較,且若所述比較產生不匹配,則生成第二錯誤信號,其中,所述再生地址簽名基于當訪問存儲在所述外部存儲器中的所述輸入數據時在所述外部存儲器中驅動的位線和字線,并且所述輸入地址簽名基于當請求所述輸入數據時發送至所述外部存儲器的所述輸入數據地址。
5.根據權利要求4所述的微控制器,其中,所述外部存儲器是程序存儲器、數據存儲器或外部裝置的存儲器。
6.根據權利要求4所述的微控制器,還包括重取/反向查找單元,其耦接至所述簽名比較器,所述重取/反向查找單元適于在接收到所述第二錯誤信號后重復對來自所述外部存儲器的所述輸入數據的所述請求。
7.根據權利要求6所述的微控制器,其中,所述重取/反向查找單元還適于僅在接收到小于或等于預定最大數量的所述第二錯誤信號后,重復對來自所述外部存儲器的所述輸入數據的所述請求。
8.根據權利要求1所述的微控制器,其中,所述端口邏輯單元還適于將所述裝置禁用信號發送至由所述微控制器控制的裝置。
9.根據權利要求1所述的微控制器,其中,所述微控制器被形成在第一芯片上。
10.根據權利要求9所述的微控制器,其中,所述第二簽名分析單元和所述第二處理單元是形成在所述第一芯片上的第二微控制器的部件。
11.根據權利要求9所述的微控制器,其中,所述第二簽名分析單元和所述第二處理單元是形成在第二芯片上的第二微控制器的部件。
12.一種用于與微控制器中的處理單元和一個或多個其他微控制器中的一個或多個其他處理單元一起使用的簽名分析單元,其中,所述微控制器中的所述處理單元生成多個跟蹤信號,所述多個跟蹤信號包括輸入數據、輸入數據地址、所述處理單元的一個或多個內部狀態、輸出數據和輸出數據地址,且所述一個或多個其他處理單元中的每一個生成多個相應跟蹤信號,所 述簽名分析單元包括: 簽名生成單元,適于接收所述多個跟蹤信號并基于接收到的所述多個跟蹤信號中的一個或多個跟蹤信號生成第一多個簽名; 第一存儲器緩沖器,適于接收所述第一多個簽名; 第二存儲器緩沖器,適于接收基于由所述一個或多個其他處理單元中的一個其他處理單元生成的所述多個相應跟蹤信號的多個相應簽名;以及 簽名比較器,適于接收所述第一多個簽名和所述多個相應簽名,將所述第一多個簽名中的每個簽名與所述多個相應簽名中的每個相應簽名相比較,并且若所述比較產生至少一個不匹配,則生成第一錯誤信號。
13.根據權利要求12所述的簽名分析單元,其中,所述第一多個簽名包括輸入數據簽名、輸入地址簽名、處理狀態簽名、輸出數據簽名和輸出地址簽名。
14.根據權利要求13所述的簽名分析單元,其中,所述第二FIFO緩沖器還適于從在所述微控制器外部的存儲器接收再生地址簽名,并且所述簽名比較器還適于將所述輸入地址簽名與所述再生地址簽名相比較,且若所述比較產生不匹配,則生成第二錯誤信號,其中,所述再生地址簽名基于當所述處理單元在對存儲在外部存儲器中的所述輸入數據的讀請求中將所述輸入數據地址發送至所述外部存儲器時、在所述外部存儲器中驅動的位線和字線,并且所述輸入地址簽名基于所述輸入數據地址。
15.—種系統,包括: 微控制器,包括: 處理單元,適于生成多個跟蹤信號,所述多個跟蹤信號中的一個或多個跟蹤信號包括輸入數據、輸入數據地址、所述處理單元的一個或多個內部狀態、輸出數據和輸出數據地址; 簽名分析單元,耦接至所述處理單元和經由簽名管道耦接至第二處理單元的第二簽名分析單元,所述簽名分析單元適于: 基于所述多個跟蹤信號中的一個或多個跟蹤信號生成第一多個簽名,其中,所述第一多個簽名包括輸入數據簽名、輸入地址簽名、處理狀態簽名、輸出數據簽名和輸出地址簽名, 經由所述簽名管道接收第二多個相應簽名, 將所述第一多個簽名中的每個簽名與所述第二多個相應簽名中的每個相應簽名相比較,以及 若所述比較產生至少一個不匹配,則生成第一錯誤信號;以及 存儲器,耦接至所述微控制器,所述存儲器包括: 地址解碼器,適于接收與對存儲在所述存儲器中的所述輸入數據的讀請求相關聯的所述輸入數據地址,以及 地址再生單元,適于基于當從所述存儲器讀取所述輸入數據時驅動的位線和字線生成再生地址簽名,其中, 所述簽名分析單元還適于接收所述再生地址簽名,并將所述輸入地址簽名與所述再生地址簽名相比較,且若所述比較產生不匹配,則生成第二錯誤信號,其中,所述輸入地址簽名基于所述輸入數據地址。
16.根據權利要求15所述的系統,還包括耦接至所述簽名分析單元的端口邏輯單元,所述端口邏輯單元適于基于所述第一錯誤信號生成裝置禁用信號。
17.根據權利要求15所述的系統,還包括耦接至所述簽名分析單元的重取/反向查找單元,所述重取/反向查找單元適于基于所述第二錯誤信號,重復對存儲在所述存儲器中的所述輸入數據的所述讀請求。
18.一種用于通過微控制器處理數據的方法,所述微控制器具有處理單元,所述方法包括: 將輸入數據地址發送至存儲器作為對存儲在所述存儲器中的輸入數據的讀請求的一部分; 從所述存儲器接收所述輸入數據; 生成多個跟蹤信號,其中,所述多個跟蹤信號中的一個或多個基于所述輸入數據、所述輸入數據地址、所述處理單元的一個或多個內部處理狀態、輸出數據和輸出數據地址;基于所述多個跟蹤信號生成第一多個簽名; 從第二微控制器接收第二多個相應簽名; 將所述第一多個簽名中的每個簽名與所述第二多個相應簽名中的每個相應簽名相比較; 若所述比較產生至少一個不匹配,則生成第一錯誤信號;以及利用所述第一錯誤信號來生成用于禁用在所述微控制器的控制下的一個或多個裝置的工作的一個或多個禁用信號。
19.根據權利要求18所述的方法,其中,所述第一多個簽名包括輸入數據簽名、輸入地址簽名、處理狀態簽名、輸出數據簽名和輸出地址簽名。
20.根據權利要求19所述的方法,還包括: 從所述存儲器接收再生地址簽名,所述再生地址簽名基于當從所述存儲器讀取所述輸入數據時在所述存儲器中驅動的位線和字線; 將所述再生地址簽名與所述輸入地址簽名相比較; 若所述比較產生不匹配,則生成第二錯誤信號;以及 利用所述第二錯誤信號來重復將所述輸入數據地址發送至所述存儲器作為對存儲在所述存儲器中的所述輸入數據的第二讀請求的一部分。
21.一種用于通過微控制器處理數據的系統,所述微控制器具有處理單元,所述系統包括: 用于將輸入數據地址發送至存儲器作為對存儲在所述存儲器中的輸入數據的讀請求的一部分的裝置; 用于從所述存儲器接收所述輸入數據的裝置; 用于生成多個跟蹤信號的裝置,其中,所述多個跟蹤信號中的一個或多個基于所述輸入數據、所述輸入數據地址、所述處理單元的一個或多個內部處理狀態、輸出數據和輸出數據地址; 用于基于所述多個跟蹤信號生成第一多個簽名的裝置,其中,所述第一多個簽名包括輸入數據簽名、輸入地址簽名、處理狀態簽名、輸出數據簽名和輸出地址簽名; 用于從第二微控制器接收第二多個相應簽名的裝置; 用于將所述第一多個簽名中的每個簽名與所述第二多個相應簽名中的每個相應簽名相比較的裝置; 用于在所述比較產生至少一個不匹配時生成第一錯誤信號的裝置; 用于利用所述第一錯誤信號來生成用于禁用在所述微控制器的控制下的一個或多個裝置的工作的一個或多個禁用信號的裝置。
22.根據權利要求21所述的系統,還包括: 用于從所述存儲器接收再生地址簽名的裝置,所述再生地址簽名基于當從所述存儲器讀取所述輸入數據時在所述存儲器中驅動的位線和字線; 用于將所述再生地址簽名與所述輸入地址簽名相比較的裝置; 用于在所述比較產生不匹配時生成第二錯誤信號的裝置;以及 用于利用所述第二錯誤信號來重復將所述輸入數據地址發送至所述存儲器作為對存儲在所述存儲器中的所述輸入數據的第二讀請求的一部分的裝置。
全文摘要
本發明涉及通過簽名分析計算的系統和方法,公開了一種用于與具有處理單元的微控制器一起使用來處理數據的系統和方法,其提供了將輸入數據地址發送至存儲器作為對存儲在存儲器中的輸入數據的讀請求的一部分;從存儲器接收輸入數據;生成多個跟蹤信號;基于多個跟蹤信號生成第一多個簽名;從第二微控制器接收第二多個相應簽名;將第一多個簽名中的每個簽名與第二多個相應簽名中的每個相應簽名相比較;若該比較產生至少一個不匹配,則生成第一錯誤信號;以及利用第一錯誤信號來生成用于禁用在微控制器的控制下的一個或多個裝置的工作的一個或多個禁用信號。
文檔編號G06F11/10GK103226500SQ20131003951
公開日2013年7月31日 申請日期2013年1月31日 優先權日2012年1月31日
發明者西蒙·布魯爾頓, 格倫·阿什利·法拉爾, 尼爾·斯圖爾特·黑斯蒂, 博伊科·特雷科夫, 安東尼奧·維萊拉 申請人:英飛凌科技股份有限公司