Split Mode vs. Lock Mode: 安全性與效率比較

Split Mode(分離模式)

定義
在 Split Mode 下,兩顆核心(Core0 / Core1)獨立執行各自的程式碼。彼此沒有硬體同步關係,也不共享指令流,但可能仍在同一安全域中運行。

特性與應用

  • 適用於 非安全關鍵任務 的多任務平行處理
  • 常用於開發或非錯誤檢查模式中,例如:
    • 一顆跑 control task,一顆跑 diagnostic / log
    • 一顆為安全域(ASIL),另一顆為非安全域(QM)

優點

  • 運算資源使用效率高
  • 支援更高的彈性與任務多樣性

缺點

  • 缺乏硬體層級的錯誤對比機制
  • 不適用於需要高安全等級(如 ASIL D)保障的執行模式

🔒 Lock Mode(鎖定模式)

定義
在 Lock Mode 下,兩顆核心執行完全相同的程式碼(lockstep execution),並在每個 clock cycle 進行輸出對比,以達到錯誤檢測目的。這是安全關鍵功能(如制動、轉向控制)常見的模式。

特性與應用

  • 適用於 高安全等級任務(ASIL B–D)
  • 主要支援 fault detection:透過 lockstep 比對檢出 single event upset (SEU)、transient fault 等錯誤

比對方式

  • 可為 cycle-by-cycle(硬體同步 lockstep)或 delayed compare(時間錯開少量 cycles 比對)
  • 對比模組常設計於 CPU 結尾(e.g. ECC + Comparator)

優點

  • 即時 fault detection 能力強
  • 滿足 ISO 26262 中的高 ASIL 等級要求

缺點

  • 運算資源使用率較低(兩顆核心執行相同程式)
  • 降低系統整體吞吐量(但提升安全等級)

🆚 Split Mode vs. Lock Mode 比較總表

特性Split ModeLock Mode
執行模式獨立執行不同程式完全同步執行相同程式
錯誤檢測能力無硬體對比,需仰賴軟體層檢查高階硬體比對能力,支援故障檢測
運算資源效率高,兩核心可並行使用低,核心資源重複使用
安全等級適用範圍低至中(QM ~ ASIL B)高(ASIL C/D)
常見應用情境通訊任務、診斷、UI 控制等駕駛輔助系統、動力系統控制、安全制動等
轉換彈性可由啟動模式切換或 Safety Manager 控制通常由開機配置決定,或由錯誤導致切換

✅ 小結:選擇模式的實務建議

系統需求建議模式
資源有限但需安全性檢查Split + Software Monitor
任務為安全關鍵、需最高級別錯誤檢查Lock Mode
混合工作負載,含安全與非安全任務Split Mode with Safety Partitioning

發表留言