《Imagination:2024分布式功能安全的創新與突破白皮書(15頁).pdf》由會員分享,可在線閱讀,更多相關《Imagination:2024分布式功能安全的創新與突破白皮書(15頁).pdf(15頁珍藏版)》請在三個皮匠報告上搜索。
1、 Imagination Technologies 1White Paper作者:Dan Wilkinson,Imagination 技術首席研究員2024年5月分布式功能安全的創新與突破 Imagination Technologies 2本白皮書闡述了Imagination在未來關鍵安全產品中即將推出的硬件功能安全方面的創新。這些正在申請專利的技術針對的是需要達到汽車安全完整性等級(ASIL)-B保護級別的處理核,同時力求在面積、功耗和性能成本上達到最佳表現。它概述了針對CPU和GPU核的全新分布式安全機制(DSM),這些機制能滿足ASIL-B安全要求,相較于傳統方法,其開銷降低了兩到三倍
2、。雖然本文檔中的概念主要針對汽車產品,但在工業環境以及大型超規?;虺売嬎銠C處理集群中,硬件故障檢測同樣變得日益重要;所有這些技術都可以推廣應用于這些領域。ASIL-B與ASIL-D的定義ASIL(Automotive Safety Integrity Level,汽車安全完整性等級)簡單來說,就是針對車輛特定功能在考慮潛在危險與運行情境下的所需安全風險降低程度。在確定ASIL等級時,ISO 26262標準定義了一個風險模型,該模型考慮了多個因素,包括在特定運行情況下遭遇危險的概率、駕駛員在發生故障時對車輛的可控性,以及如果故障導致不良事件時事故的嚴重性。相比于ASIL-D級別的開發,ASIL
3、-B級別的開發在設計和開發周期中的要求較低,因為它們旨在減輕不同級別的安全風險。大致而言,ASIL-B級別可以認為是整個控制回路中包含了一名駕駛員,大多數事件一般可通過該駕駛員進行控制;而與ASIL-D級別相關的事件則被認為是不可控的,甚至是全自動化的情況,這就要求車輛控制系統(包括硬件和軟件)承擔更多的責任,以確保安全。對于硬件開發,尤其是半導體開發,ISO 26262標準允許將開發視為“脫離上下文的安全元素”(SEooC,Safety Element out of Context),同時也指出在這個系統層次上的設備面向通用設備,如CPU或GPU核。此外,還有一系列目標硬件架構指標,這些指標
4、實際上是對危險故障檢測診斷覆蓋率的衡量標準。目標指標可見表1:介紹架構指標目標ASIL-B ASIL-D 備注單點故障指標(SPFM)90%99%預期危險故障的診斷覆蓋率潛在故障指標 (LFM)60%90%預期的診斷覆蓋率針對那些未被駕駛員檢測到或感知到的危險多點故障隨機硬件故障的概率指標 (PMHF)10-7/hr 10-8/hr 目標概率可靠性:盡管高可靠性本身并不能確保安全,但所有系統都應設計為安全失?。╢ail-safe)。表1:ASIL-B 和 ASIL-D 開發的架構指標目標 Imagination Technologies 3考慮到ASIL-D級別下對危險故障檢測極其嚴苛的要求,
5、通常情況下,根據ISO 26262標準的建議,最可行的安全機制一般采用復制冗余的形式,即重復執行工作負載,并結合某種機制來對比結果,以此檢測任一路徑中可能發生的任何錯誤。這種方法對永久性和瞬態故障都有極高的魯棒性。盡管ASIL-B的要求不像ASIL-D那樣嚴格,但實際上,單點故障檢測90%的目標通常已經很難達成,以至于在很多情況下,兩次執行并對比輸出結果的方法仍然常見。在其他情況下,工程師們可能會退而求其次,認為足夠多的故障會自然變得可觀察,并且是可控的,從而使故障覆蓋率目標得以滿足,并據此聲稱達到了ASIL目標。對于ASIL-B解決方案,這兩種方法逐漸顯得不夠令人滿意:一是由于“運行兩次”方
6、法涉及到顯著的時間或面積開銷,導致車輛OEM不得不無意中要求半導體性能的提升,以支持高級車輛功能;另外,基于主觀論證的方法由于其模糊性和在不斷變化和復雜的使用場景中的通用性不足,也面臨挑戰。本白皮書將重點介紹Imagination Technologies提出的新概念,其指出在不增加“運行兩次”方法所涉及的面積或時間/功耗開銷的情況下,提供符合ASIL-B的解決方案,同時提供可靠的方法來證明已實現所需的故障覆蓋水平。CPU 鎖步介紹 在傳統的汽車雙核鎖步(DCLS)CPU解決方案中,通常針對ASIL-D要求,方法是僅復制處理核心,而不是復制其基于SRAM的緩存內存和互連,這些內存和互連通過奇偶
7、校驗(Parity)和錯誤更正碼(ECC)單錯誤更正和雙錯誤檢測(SEC-DED)來保護。給定的工作負載會在兩個處理核心上并行運行,并進行周期對周期的輸出比較。這種方法的面積增加通常是:CPU 處理核的面積翻倍。因 SRAM 的 ECC 保護導致大約15%的面積增加。.在緩存和CPU核之間的互連上,為了奇偶校驗或ECC,除了用于比較兩個核心輸出結果的名義上的額外邏輯外,面積增加大約5-10%。鎖步 與工作組保護 Imagination Technologies 4GPU工作組保護詳解Imagination為GPU設計的執行兩次解決方案略有不同。在我們的GPU工作組保護(WGP)方法中,我們充分
8、利用了GPU包含眾多相同處理集群的事實,例如,這允許相同的著色器工作負載在兩個獨立的核心上并行運行,并比較它們的結果。在所有配置下,Imagination的PowerVR GPU都包含多個共享L1緩存的處理集群。如圖1所示,L2和L1緩存受到ECC(錯誤檢查和糾正)的保護,而互連則受到Parity(奇偶校驗)的保護。安全關鍵的工作負載在兩個獨立的集群上運行,這兩個集群共享L1緩存。處理邏輯從L1緩存讀取的數據累積的校驗和,以及處理邏輯將數據寫回L1緩存后的校驗和,用于驗證兩個工作負載的結果是否相同。如果結果不相同,則報告故障。這對集群面積的影響幾乎為零或最?。ǔ诵r灪瓦壿嫞?,但會使使用工作組
9、保護(WGP)的工作負載部分的運行時間翻倍。由于L2和L1緩存內存以及互連在兩次運行之間共享(數據不會被兩次提取到L2/L1緩存中),因此總體上的功耗和面積影響不會翻倍,但影響仍然顯著。具體影響的大小取決于在集群上運行任務的功耗強度。鎖步 與工作組保護 L2 cacheL1 cacheInterconnectL0 cacheGPU processing logicChecksumL0 cacheGPU processing logicChecksumProcessing clusterProcessing clusterFigure 1:GPU Microstructure Imaginati
10、on Technologies 5分布式功能安全:SRAM、總線和處理 分布式安全機制(DSMs)可以定義為用于檢測硅設備中硬件錯誤的硬件或硬件輔助機制,這些機制并不依賴于完整執行或部分重復執行工作負載然后進行比較。正如術語所指代的,為了達到預期的效果,安全機制分布在核的各個部分,每一個都專注于被測核中某一基本單元的功能層和行為層上的重要表現。因此,與執行兩次方法相比,除了在運行時間和功耗開銷上的優勢之外,這些方法還幫助將故障定位到特定模塊或電路(這是DCLS所無法實現的)。通常,DSM(分布式安全機制)的設計目的是針對處理核的以下幾個方面,考慮其功能和可能的危險故障模式:SRAM:片上的集成
11、SRAM 總線:圍繞核心搬移數據的數據傳輸總線(例如,在緩存SRAM和處理流水線之間,或者通過片上 網絡在兩個核心之間),且這些總線并不會改變正在傳輸的數據。處理:所有以某種方式轉換數據的所有電路和模塊。對于SRAM(1),我們關心的是保護駐留在SRAM中的數據,既要防范設備壽命期間可能出現的永久性硬件故障,也要應對瞬態錯誤導致的存儲位翻轉,比如由偶發輻射或電源噪聲引發的錯誤。長期以來,ECC(錯誤檢查和糾正)和奇偶校驗機制已被用于保護數據,它們對此類任務依然非常適合。對于總線(2),僅僅需要檢測在總線上傳輸過程中被翻轉的位。對于這種情況,同樣可以實施ECC和奇偶校驗,以及諸如循環冗余校驗(C
12、RC)等基于包的機制。一個設計可能通過結合使用ECC、奇偶校驗和CRC,保護其約50%的晶體管,因為典型的處理核心預計會將約50%的面積用于SRAM存儲器和總線。SRAM與邏輯區域的確切比例會依CPU和GPU的不同以及核心可能的多種配置而變化,并且會根據所使用的工藝技術而有所不同。真正的挑戰在于處理邏輯(3)。由于處理邏輯與總線不同,它會改變數據,因此靜態的ECC和奇偶校驗機制無法用于控制或檢測錯誤。分布式功能安全 Imagination Technologies 6一些功能安全解決方案,特別是對于那些SRAM和總線相對于邏輯部分占有較大比例的核,往往只是忽略邏輯部分,寄希望于通過將內存和總線
13、覆蓋到一個能檢測到99%所有故障的水平,然后通過論證那些未被覆蓋的故障可能會導致可檢測的錯誤,以此來聲稱整個解決方案能夠滿足ASIL-B的要求。更糟糕的是,有一種觀念認為,在DCLS(Dual Core Lock-Step)配置中使用兩個這樣的核可以確定地降低ASIL-D的風險,但這嚴格來說并不正確。這是一種無法令人滿意的處理方式,因為通常整個解決方案未能達到ASIL-B的目標要求,需要依賴于執行兩次的實現來解決;即便無需這樣做,客戶也必須相信有多少邏輯錯誤會被檢測到的論斷這可能更多是靠運氣而非優秀的工程設計。這是 Imagination 著手解決的問題:如何在不用重復或三倍化工作負載或處理邏
14、輯的 情況下,快速檢測到處理邏輯中的錯誤?分布式功能安全 Imagination Technologies 7Imagination在硬件功能安全方面的新方法主要基于一個洞察:現代處理核高度并行化。眾所周知,GPU會實例化許多相同算術邏輯單元(ALU)、紋理處理單元等實體。而即使是CPU,也在不斷追求更高的指令并行度,并且越來越多地將專門的處理面積分配給向量單元和矩陣乘法單元。因此,面對處理邏輯中錯誤高效檢測的挑戰,我們的解決方案如下:安全對(Safety Pairs)在任何通過多個相同電路實例實現的并行處理中,理論上,通過配對相同的電路實例,對兩者運行測試向量并在簡單的硬件檢查電路(基本上是
15、一組AND門的小型陣列)中比較輸出,就可以檢測出這些電路中的故障。我們將這樣一對電路實例稱為安全對。典型的例子是在GPU線程塊或CPU向量單元中,每個ALU都可以與同一塊內的另一個相同的ALU配對。另一個例子,對CPU核而言,可能是配備有多個并行運行的指令解碼器的多發射流水線的核??臻e周期盜用(Idle Cycle Stealing,ICS)像GPU和CPU向量單元這樣的并行算術處理陣列的一個特性是,由于它們的本質以及使用它們的工作負載的性質,它們很少在一個超過幾微秒的時間窗口內被完全利用。如果能夠檢測到安全對沒有被任務模式工作負載使用的周期,那么這些空閑周期就可以被“盜用”,用于執行能夠檢測
16、安全對內任一電路故障的測試向量。這種安全對方法的一個相關屬性是,具有空閑周期檢測的安全對中的處理邏輯可以被設計為僅在該邏輯正被或最近被任務模式工作負載激活用過時執行故障查找測試。安全對的測試向量(Test Vectors for Safety Pairs)為了保證檢測出安全對中的大多數故障,有必要運行多個測試向量,并使用基于原理、可測量的技術(如安全對電路的故障模擬,或自動測試模式生成(ATPG)工具)導出覆蓋率最佳的向量集。由于為每個安全對存儲大量測試向量會帶來過大的面積開銷,因此最好使用線性反饋移位寄存器(LFSR)或類似方法偽隨機生成一組向量,預加載種子值。這可以與極小數量的任意“補充”
17、向量結合,以進一步增強覆蓋率,這是與成熟的邏輯BIST(內置自測)方法類似的技巧。處理邏輯的分布式安全機制 Imagination Technologies 8最終,設備安全概念規定必須在硬件故障檢測的一半時間之內完成所需覆蓋率的向量集。通常,對于ASIL-B應用場景,這個限制設定在大約100毫秒左右。因此,如果我們能在每50毫秒內執行完我們所有的安全對向量集,我們就能保證不會發生任何故障,只要該故障被向量集中的至少一個向量所覆蓋,它就不會在100毫秒內未被檢測和報告。只要每個安全對中被測試的單元足夠?。ɡ?,一個ALU),我們在Imagination的研究表明,通常只需幾千個向量即可獲得80
18、%-90%的單點故障覆蓋率。假設核心以約1GHz的時鐘速度運行,那么執行完整集合只需占用50毫秒時間預算的一小部分。當與ICS結合時,這意味著在這些特性成立的情況下,對任務模式工作負載吞吐量的影響為零,功耗僅略微增加。此外,向量生成、空閑周期檢測和輸出檢查邏輯的開銷非常小,通常在+1%的范圍內。為了確保所有針對特定安全對的測試向量都能在所需時間窗口(本例中為50毫秒)內完成,從而提供必要的硬性保障,如果空閑周期不足,我們會引入額外機制來強制產生所需的空閑周期,以確保所有向量都在窗口內完成。這一邏輯同樣開銷很?。ㄖ饕强刂坡窂缴系拈_銷),并且在幾乎所有情況下對任務工作負載執行時間的影響微乎其微。
19、最后,我們制定了一條規則,即每當一個或兩個處于空閑狀態的安全對中的電路經歷活動的任務模式周期時,整個向量集必須在檢測時間窗口的一半時間內運行完畢,這個檢測時間窗口如前文所述。然而,一旦因為觸發這條規則而開始執行向量,我們直到向量完成窗口結束前都不會再次應用這條規則。這意味著大部分時間處于空閑狀態的電路(在具有多樣化的并行功能單元的GPU中非常常見,但在CPU中較少見)永遠不會受到測試。所有這些措施共同作用,確保了這種安全對技術可以具備非常低的功耗、面積和性能開銷。圖 2:使用安全對在 ASIL-B 窗口內檢測故障0ms50ms100ms150ms200ms250msASIL-B hardwar
20、e fault detection window:100msSafety Pair 1A.空閑周期中,每50毫秒發出測試向量B.發生故障C.故障在下一個測試向量組內的 ASIL-B 窗口中被檢測到D按需插入空閑周期,以保證每個 50 毫秒時間窗口中都運行測試向量任務模式工作負載空閑周期測試向量強制空閑周期處理邏輯的分布式安全機制 Imagination Technologies 9安全對的替代方案 對于核中的某些功能,安全對并不是一個有效的解決方案,需要其他的分布式安全機制(DSM)具體而言:覆蓋那些只實例化一次的模塊(例如,CPU的分支預測器)。當存在多個可以形成安全對的并行單元,但它們很少
21、處于足夠空閑的狀態,以至于在不占用大量任務模式周期的情況下,在所需的時間窗口內執行完整的向量集是不可能的。即便存在足夠的實例和足夠的空閑周期,但由于某些特定電路的原因,為了獲得良好覆蓋率所需的向量數量過于龐大。這在具有較長時序狀態深度的高序貫狀態模塊中可能是常見情況。對于這些情況,我們開發了一系列技術,如下所述。精確復制 對于面積和功耗相對較小的功能,通常最好的做法就是簡單地復制這些功能,并在每一周期中比較它們的結果。當測試電路中的故障可能真正危及安全案例時(例如,在運行主處理核心所依賴的關鍵固件的處理器中),這尤其適用。由于每周期都會進行復件間的比較,因此不需要使用空閑周期盜用(ICS)。近
22、似計算 有一系列與近似計算相關的、經過深入研究的技術,這些技術與DSM緊密相關。原則上,幾乎所有電路都可以與另一個執行相似邏輯功能的電路配對,后者在較低的功耗和面積成本下運行,但代價是無法檢測一小類故障。這些方法大致可以分為兩類,一類永遠不會給出假陽性結果(例如,在無故障時報告故障),另一類僅對測試電路的輸出提供概率性檢查。一個顯而易見的例子是一個高精度ALU操作,經由一個低精度ALU實行驗證。根據近似類別的不同,可以提供的保證類型也會有所變化,因此任何此類近似技術的適用性必須在特定安全概念和安全要求的背景下進行評估。這里與在安全關鍵任務中使用神經網絡有著密切的平行關系。神經網絡的固有隨機性,
23、加上圍繞神經網絡控制器做出的決策可解釋性的挑戰,產生了與DSM中的近似技術相似的難題。因此,一般來說,用于使神經網絡解決方案在安全關鍵情況下可接受的類型技術和推理也可以應用于這些更高級形式的DSM。處理邏輯的分布式安全機制 Imagination Technologies 10CPU T下圖展示了Imagination在針對符合ASIL-B標準的CPU上運行DSM(Diagnostics Safety Mechanisms,診斷安全機制)的一般方法:緩存/靜態隨機存取存儲器(SRAM)受到ECC(錯誤校正碼)的保護,而互聯結構則是通過某些奇偶校驗(Parity)或ECC的組合來進行保護,這與傳
24、統的DCLS(Dual Core Lock Step,雙核鎖步)方法完全一致。核心本身并未復制。大部分的CPU處理邏輯(即算術邏輯單元,ALU)通過安全對技術(Safety Pair)結合ICS(Idle Cycle Stealing,空閑周期盜用)進行覆蓋。當因為測試電路的特性導致無法使用安全對時,一小部分的CPU邏輯會通過其他的DSM技術來得到保護;例如,對有限狀態機使用獨熱編碼(one-hot encoding),帶有自檢比較器的冗余信號,寄存器和控制信號的互斥實現,或者選擇性冗余。還有更小一部分的邏輯,通過硬件、信息或時間進行復制,但通常是與自檢比較器一起復制。有些邏輯由于具備故障安全
25、行為,或是對于安全性功能的重要性低于其他CPU邏輯,因此未被保護?;旌戏植际桨踩珯C制來達成ASIL-B 圖3:對比不同方法對CPU達到ASIL-B資格認證在面積影響上的比較GPU 對于GPU而言,情況略有不同我們通過使用DSM避免了在兩個獨立集群上先后兩次運行WGP的需求。因此,GPU的主要節省不是面積,而是減少了運行時間(提高了吞吐量)和降低了功耗。實際上,支持 ASIL-B 的 GPU(啟用 DSM)的面積要比使用 WGP 的 ASIL-D 解決方案稍大一些,但這在很大程度上被功耗和運行時間的節省所抵消。Baseline CPUCPU with DCLSCPU with DSMsCover
26、ed with other DSM techniquesUnprotectedSafety pair overheadArea savingCache/TCM(SRAM)Interconnect with ECC or Parity or CRCLock Step LogicCPU Processing Core 1(Logic)CPU Processing Core 0(Logic)Cache/TCM(SRAM)InterconnectCPU Processing Core(Logic)Cache/TCMwith ECC(SRAM)Interconnect with ECC or Parit
27、y or CRCCPU Processing CoreWith safety pairs Imagination Technologies 11這些正在申請專利的分布式安全機制使得 Imagination 即將推出的汽車 GPU 和 CPU 及其后續產品在一個常規的故障模式、影響和診斷分析(FMEDA)過程中,當將 IP 核的總面積和每個電路的安全機制覆蓋率相結合時,能夠達到 ASIL-B 級別的故障檢測。對于CPU而言,這不僅代表了顯著的面積節?。ㄍǔ4笥?0%,具體取決于關聯的具體配置中CPU SRAM和邏輯組件的相對大?。?,而且功耗節省也是類似的程度。對于GPU,與基于WGP的解決方案相
28、比,存在輕微的面積開銷,但運行時間幾乎減半,功耗將在一半至三分之一的范圍內。功耗-性能-面積(PPA)是一個廣泛使用的指標,將功耗消耗、吞吐量和面積結合成單一的優劣指標。下面,我們使用這個指標的一個變體,稱為面積-延遲-功耗乘積(ADP),其中延遲是吞吐量的倒數。ADP值越大,PPA越差。分布式安全機制的ADP優勢 下表給出了一種代表性情景,對比了一個未受保護的CPU和GPU(具有基準面積、延遲和功耗的單位均為1,因此ADP為1),以及DCLS/WGP ASIL-D方法和本文描述的DSM方法。ADP結果隨核心配置(特別是核心及其緩存中SRAM與時序和組合邏輯的比例)變化,并且也取決于工作負載。
29、在這個示例中,對于CPU和GPU,我們都假設核心配置為面積上SRAM和邏輯各占50%,并且還做了表2中的假設項?;旌戏植际桨踩珯C制來達成ASIL-B Imagination Technologies 12表2:ADP估算場景的假設AreaDelayPowerCPUDCLS1.75倍的ECC開銷用于SRAM,保護互連,處理邏輯的冗余以及其他小型ASIL-D功能。無延遲影響 1.75倍的功耗懲罰。并非2倍,因為L2/L1緩存的功耗沒有重復計算。DSMs1.15倍的ECC開銷用于SRAM和某種程度的CPU緩存核心互連保護。1.02倍的開銷用于考慮在空閑周期偷取不足以完成安全配對測試向量的情況下,必須
30、改為偷取任務模式周期。1.15倍的開銷是由于除了安全配對之外的DSM(分布式安全機制),這些機制必須用于某些關鍵電路內無法使用安全配對的CPU中,以及執行DSM測試向量的成本。GPUWGP由于SRAM上的ECC和WGP校驗和機制,產生1.15倍的開銷。1.90倍的開銷是因為每個受保護的任務需要消耗兩個集群,而不是一個。這個開銷不是2倍,因為與內存延遲和緩存未命中相關的延遲沒有重復計算由于額外面積產生的1.10倍開銷。DSMs1.25倍的開銷用于SRAM上的ECC、DSM硬件電路、GPU緩存核心互連的某種程度保護以及其他安全機制。1.02倍的開銷用于考慮在空閑周期偷取不足以完成安全配對測試向量的
31、情況下,必須改為偷取任務模式周期。由于額外面積產生的1.15倍開銷?;旌戏植际桨踩珯C制來達成ASIL-B Imagination Technologies 13如表格中所示,由于用DSM取代DCLS或WGP所帶來的復合ADP優勢極其顯著。表3:示例場景的ADP收益。ADP越大,PPA(性能、功耗和面積)越差。CPUGPUBaselineDCLSDSMsBaselineWGPDSMsArea11.5751.1511.151.25Delay111.0211.91.02Power11.751.1511.051.12ADP product12.81.7612.401.46Perf/mm210.570.
32、8610.450.78Perf/W10.570.8610.470.85混合分布式安全機制來達成ASIL-B Imagination Technologies 14采用分布式安全機制是一種更為智能的方法,通過設計實現處理核心的內在安全,而不僅僅是依賴于傳統的DCLS(雙核鎖步)方法,雖然后者在某種程度上較為穩健,但在面積效率上卻并不理想。這種方法的結果是,可以在幾乎不增加面積開銷的情況下維持性能目標,同時保持安全完整性。此外,它消除了對復雜、繁瑣且經常無效的軟件測試庫的需求,簡化了更廣泛的系統集成要求,從而總體上大幅降低成本。更重要的是,這些安全機制具有足夠的靈活性和可擴展性,能夠支持混合關鍵性系統,并且為實現高可用性的ASIL-D級別設備或等效安全標準提供了一條清晰路徑。Conclusion Imagination Technologies Contact us now