許多系統設計,包括工業機械、醫療設備和汽車,都對安全至關重要,需要能夠實時檢測自身的操作故障,并以一種避免傷害使用它們的人的方式做出反應。因此,創建一個基于處理器的系統來提供這種功能安全需要結合使用硬件錯誤檢查、硬件自檢和系統冗余來提供這些系統所需的獨立于軟件的故障檢測和安全解決方案。幸運的是,有可用的處理器可以處理安全關鍵系統所需的大部分硬件繁重工作。
基于處理器的系統對功能安全的需求正在上升,尤其是在汽車應用中。即使拋開自動駕駛汽車的整個發展趨勢,汽車也越來越依賴微處理器來實現關鍵功能。防抱死制動系統、發動機控制和轉向只是現在在處理器控制下具有重大安全意義的少數車輛功能。如果這些處理器中的任何一個犯了一個錯誤而沒有被抓住,結果可能是致命的。
不幸的是,在基于處理器的設計中出現問題的機會很多。如下圖所示,正確的代碼執行需要許多系統元素才能正常工作。處理器及其所有內部寄存器、程序和高速緩存存儲器、RAM 和它們之間的總線接口,以及系統電源和時鐘,都必須以精確的時序完美運行。但正如任何無緣無故鎖定計算機的人都知道的那樣,系統中任何地方的任何一點變化都可能使整個操作脫軌??偩€上任何線路上的噪聲故障、雜散的阿爾法粒子或宇宙射線撞擊(是的,它們確實發生,而且比人們想象的更頻繁)改變內存或寄存器中的位、低電壓、時鐘漂移和許多其他來源可能會導致系統崩潰。
基于處理器的系統的核心為噪聲毛刺和其他單一事件擾亂提供了許多機會,以完全破壞正確的軟件執行。
通過精心設計,此類錯誤不太可能發生,但無法消除。因此,要使系統被認為是安全的,它必須能夠實時檢測到此類錯誤并做出適當的響應以減輕其影響。構成適當緩解的因素高度依賴于應用程序,但檢測錯誤的方法已經成熟,并且在安全關鍵設計中很常見。例如,可以通過在每個事務中包含糾錯編碼 (ECC) 或循環冗余校驗(CRC) 數據來監控系統總線上的事務。電壓監視器可以監視電源,看門狗定時器可以幫助監視時鐘信號。
看門狗定時器還可以通過讓處理器定期重置定時器來提供正確的處理器操作的總體指示。如果處理器在該任務中出現故障,則一旦計時器用完,看門狗就會發送信號以提醒系統出現故障。然而,這涉及在頻繁的定時器復位的軟件開銷和信號處理器故障的延遲之間進行權衡。
然而,檢測故障只是功能安全的一部分。另一部分是以保持系統安全運行的方式對故障做出響應。此響應不能完全基于軟件。您不能指望能夠使用無法緩解自身問題甚至無法對警報做出反應的處理器。必須有一個獨立的硬件機制。
多年來,各種體系結構已經發展,以在基于處理器的系統中提供這種獨立的機制。這些架構包括使用帶有硬件檢查器的單個處理器,以及使用具有相同或不同類型的第二個處理器作為主單元的兩個處理器。第二個處理器可以獨立運行,運行相同或獨立的軟件,作為逐周期驗證主處理器行為的試金石。不過,更流行的替代方案是讓第二個處理器與主單元同步運行,使用相同的代碼和數據。但是,輔助處理器通常會在主處理器稍有延遲的情況下工作,以避免兩個處理器都受到系統總線上的瞬態錯誤的影響。
已經開發了多種支持檢測和緩解隨機處理錯誤的架構。
這些架構的共同點是需要對基本處理器設計進行大量添加,包括比較硬件和可能的完整輔助處理器。多核處理器的出現為芯片供應商提供了一個機會,可以從系統開發人員那里卸下大部分硬件設計負擔,許多人已經通過推出專為安全關鍵型應用設計的處理器來加緊努力。其中許多安全處理器主要面向根據ISO 26262標準進行 ASIL(汽車安全完整性等級)認證的汽車設計人員銷售,但同樣適用于工業控制、醫療、軍事和航空航天領域的其他安全關鍵應用。
這些提供商不僅僅是提供硬件功能。他們還為設計人員提供實施安全設計、可追溯性和驗證文檔以及支持獲得安全認證的開發工具和診斷軟件庫方面的幫助。
以下是目前市場上一些具有代表性的安全處理器系列:
ARMCortex R52:作為 ARM v8-R 架構的一部分,R52 內核為 ARM 被許可方提供了實現安全處理器所需的基礎功能。雙核器件可以在鎖步模式下運行以進行故障檢測,并可選擇額外的分離配置,允許兩個內核在需要時獨立運行。核心設計還包括所有總線和內存接口上的 ECC,能夠進行雙位錯誤檢測和單位錯誤糾正。此外,該內核還提供高覆蓋率的內置自測試 (BIST) 功能和可許可的安全包,以簡化產品安全實施。
InfineonAurix:Aurix 系列器件包含多達三個獨立的內核,提供雙鎖步處理器,實現了額外的架構多樣性。這兩個內核運行相同的代碼,但具有旨在減少出現常見原因錯誤的機會的硬件設計差異。設計差異有助于確保在主處理器上產生錯誤的事件不會在比較處理器上導致相同的錯誤。
英飛凌的 Aurix 鎖步處理器設計使用延遲執行通用指令和數據流來避免未檢測到單事件擾動。
英特爾至強 D-1529:英特爾的 D-1529 不是針對汽車應用,而是旨在滿足IEC 61508安全集成級別 (SIL) 認證標準下的工業需求。該設計包括冗余鎖步處理器對、窗口看門狗定時器、時鐘和電源監視器以及處理器溫度監控。這些處理器可以支持混合的安全關鍵和非關鍵任務執行,并在其 PCI 和 SATA 接口上提供診斷和錯誤檢測邏輯。
MIPSi6500-F 內核:這種內核設計允許 MIPS 被許可人基于 64 位 CPU 的可配置集群創建安全處理器。它包括所有總線上的奇偶校驗、RAM 上的 ECC 和邏輯 BIST 支持。它已被認證為 ASIL B 級的脫離環境 (SEooC) 安全元件,支持旨在獲得 ASIL D 級認證的設計。
NXPS32S24:針對 ASIL-D 設計,S32S247 使用四個帶有硬件管理程序的 ARM R-52 鎖步內核來保持應用程序執行獨立。大型(至 64 MB)集成閃存允許處理器保存多組應用程序代碼以支持無線軟件更新,并且所有存儲器接口都包括 ECC。
STMicroSPC5:SPC5 產品線包括多種變體,包括鎖步、延遲鎖步和解耦并行處理選項。處理器包括帶有 SPC57S 系列的 BIST 硬件,另外還提供內存上的 ECC。
Texas InstrumentsHercules:Hercules 系列安全處理器已通過使用鎖步 Cortex-R 處理器的 IEC-61508 SIL 3 級和 ISO-26262 ASIL D 級認證。此外,它們還提供系統存儲器上的 ECC、選定外設和 DMA 接口上的 ECC 或奇偶校驗、串行和網絡通信外設上的 CRC 或奇偶校驗、片上時鐘和電壓監控、IO 環回和 ADC 自檢以及存儲器 BIST。錯誤信號模塊提供了一個外部信號引腳,以促進對處理器內檢測到的錯誤作出額外的系統響應。
XilinxZynq 7000:雖然它實際上不是處理器,但 Zynq FPGA 可以配置為在單個設備中提供兩個獨立的安全通道,使用經過認證可用于功能安全應用的設計包、方法和工具。這些工具包括對隔離設計流程的支持,這些流程在物理上分離冗余元件以防止使用 FPGA 資源,以及軟錯誤緩解 IP 的可用性。
然而,選擇安全處理器僅僅是開始。安全關鍵系統的開發人員仍需要對硬件和軟件采用設計和評估方法,嚴格評估發生錯誤的可能性,并驗證系統設計對此類錯誤的恢復能力。不過,以安全為目標的處理器及其供應商提供的支持在很大程度上減輕了開發人員的負擔。
審核編輯:郭婷
-
處理器
+關注
關注
68文章
19317瀏覽量
230099 -
芯片
+關注
關注
456文章
50892瀏覽量
424346 -
cpu
+關注
關注
68文章
10873瀏覽量
212056
發布評論請先 登錄
相關推薦
評論