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 Mode | Lock Mode |
|---|---|---|
| 執行模式 | 獨立執行不同程式 | 完全同步執行相同程式 |
| 錯誤檢測能力 | 無硬體對比,需仰賴軟體層檢查 | 高階硬體比對能力,支援故障檢測 |
| 運算資源效率 | 高,兩核心可並行使用 | 低,核心資源重複使用 |
| 安全等級適用範圍 | 低至中(QM ~ ASIL B) | 高(ASIL C/D) |
| 常見應用情境 | 通訊任務、診斷、UI 控制等 | 駕駛輔助系統、動力系統控制、安全制動等 |
| 轉換彈性 | 可由啟動模式切換或 Safety Manager 控制 | 通常由開機配置決定,或由錯誤導致切換 |
✅ 小結:選擇模式的實務建議
| 系統需求 | 建議模式 |
|---|---|
| 資源有限但需安全性檢查 | Split + Software Monitor |
| 任務為安全關鍵、需最高級別錯誤檢查 | Lock Mode |
| 混合工作負載,含安全與非安全任務 | Split Mode with Safety Partitioning |

發表留言