基于RISC-V實現高可靠性能:為何架構、微架構與編譯器必須協同工作
致力于聚焦RISC-V架構對嵌入式和物聯網系統日益凸顯的重要性。我們專訪了現任 TASKING 公司研發總監杰拉德?溫克。該公司專為高安全關鍵型嵌入式系統研發專業的編譯、調試和測試工具,為汽車、航空航天、工業及機器人領域提供端到端的可認證工具鏈。杰拉德?溫克的將結合架構級安全機制、微架構優化與先進編譯器技術,為搭建安全、可靠、高性能的 RISC-V 系統提供實操思路。

Q:如今,市場對兼具高算力、實時性與功能安全的高端嵌入式系統需求持續攀升,背后原因是什么?RISC-V 又能在其中發揮怎樣的作用?
杰拉德?溫克:多重行業趨勢的疊加推動了這一需求增長。汽車領域向軟件定義汽車和自動駕駛轉型,需要中心化計算平臺實時處理海量數據流,同時滿足汽車安全完整性等級 D 級(ASIL-D)的要求。工業機器人領域也呈現類似趨勢,協作機器人需在指定安全完整性等級下實現傳感器數據的實時融合;航空航天領域的自主系統,則對高吞吐率的安全計算提出了需求。
RISC-V 憑借其模塊化架構占據天然優勢,半導體行業可基于該架構打造異構片上系統(SoC),將高性能計算核心、確定性實時核心與安全認證鎖步核心相結合,根據應用場景定制化設計,而非受限于固定的專有架構。
對于工具供應商而言,這意味著開發環境需在單一項目中支持全流程研發:既要實現編譯優化、最壞情況執行時間(WCET)分析,也要提供符合安全標準的工作流,且所有研發工作均面向同一片芯片上的不同 RISC-V 核心。
Q:RISC-V 架構本身具備哪些安全機制?哪些安全機制需要開發者在系統層面額外搭建?
杰拉德?溫克:RISC-V 在架構層面提供了多項安全機制:通過硬件強制的特權模式實現軟件層間的隔離;無需內存管理單元(MMU),即可通過物理內存保護(PMP)實現硬件強制的空間分區;同時定義了清晰的陷阱與異常模型,支持確定性的故障上報。
但 RISC-V 刻意將諸多高安全關鍵型設計交由具體實現環節完成。鎖步執行、存儲器和寄存器的橢圓曲線加密(ECC)、看門狗定時器、時鐘與電壓監控,以及確定性的時序表現,均由半導體廠商在微架構或平臺設計階段決定。軟件開發人員則需在頂層增設軟件級安全機制,例如運行時自測試、控制流監控、數據完整性校驗、棧溢出檢測,以及合理的物理內存保護配置,以此滿足《道路車輛功能安全》(ISO 26262)、《電氣 / 電子 / 可編程電子安全相關系統的功能安全》(IEC 61508)等標準的要求。
作為工具供應商,我們正致力于填補這一空白:公司研發的編譯器、鏈接器和調試器,可生成符合安全架構要求、可預測且可追溯的代碼,支持針對特定 RISC-V 實現的最壞情況執行時間分析,且自身均通過了相關安全標準認證,可直接應用于合規的開發流程。
Q:高安全關鍵型的 RISC-V 設計,與基于專有指令集架構(ISA)的設計相比,最顯著的差異是什么?
杰拉德?溫克:第一大差異是透明性。專有指令集架構如同 “黑箱”,可能出現未公開的底層行為;而 RISC-V 的開放式規范支持全面的檢查與驗證。但需注意,這一透明性僅適用于 RISC-V 的規范本身,其具體硬件實現仍屬于黑箱范疇。
第二大差異是架構靈活性。RISC-V 允許實現者僅集成所需的擴展指令集,減少驗證面。但這一特性也導致了架構碎片化,不同廠商的實現配置各不相同,要求工具能對這種差異性進行抽象處理,也因此給工具開發帶來了更大負擔。
最后一大差異是認證成熟度。專有處理器擁有數十年的實際應用經驗,而 RISC-V 的硬件實現尚處于發展階段。經認證的開發工具可提供標準化的認證基礎設施,降低企業采用 RISC-V 架構的風險。
Q:在 RISC-V 架構下,同時實現功能安全與網絡安全會面臨哪些具體挑戰?
杰拉德?溫克:功能安全與網絡安全的設計目標存在本質差異,有時甚至相互沖突。功能安全要求系統表現出確定性、可預測的行為;而網絡安全所需的防護措施,如地址空間隨機化、加密運算等,往往會引入時序波動。在 RISC-V 架構中,物理內存保護機制可兼顧兩者需求:既為功能安全提供空間分區,又能通過內存保護抵御惡意訪問。但要讓該機制同時滿足兩大需求,需進行細致的權衡分析,在混合關鍵度系統中尤為如此。
RISC-V 的開放式特性有助于提升網絡安全的透明性,但其架構靈活性也導致了一個問題:加密擴展指令集、擬推出的 WorldGuard 隔離框架等與網絡安全相關的特性,并非所有 RISC-V 實現都會集成,這使得網絡安全的基礎架構呈現碎片化。
對于開發工具而言,這要求編譯器和鏈接器在支持功能安全目標(生成確定性代碼、輸出可進行最壞情況執行時間分析的程序)的同時,實現網絡安全加固(如棧金絲雀保護、控制流完整性校驗、邊信道攻擊防護),且確保兩者互不干擾。
Q:你的演講摘要中提到,指令融合是一項核心創新技術。能否解釋一下,該技術如何在不影響確定性實時性的前提下提升系統性能?
杰拉德?溫克:指令融合技術允許處理器識別特定的指令序列,并將其作為單個組合操作執行。例如,將比較與分支指令、加載與自增指令融合,原本需要兩個時鐘周期完成的操作,融合后一個周期即可完成。該技術通過提升數據吞吐率實現性能提升,無需提高時鐘頻率,也無需引入投機執行 —— 而投機執行正是破壞時序確定性的主要因素之一,這一點對實時系統至關重要。
實時系統應用該技術的核心關鍵在于:指令融合是一項只加快、不減慢執行速度的性能優化手段;即便指令序列未被融合,仍能正常執行,只是耗時更長。這意味著在進行最壞情況執行時間分析時,可保守地假設未發生指令融合,以此保證安全認證所需的確定性最壞情況執行時間邊界,而實際執行過程則能享受指令融合帶來的速度提升。
從工具鏈角度來看,若編譯器能適配處理器的指令融合規則,即可合理編排指令序列,最大化融合機會。這一設計能讓系統性能接近架構更復雜的亂序執行核心,同時保留架構更簡單的順序執行流水線的時序可分析性。
Q:TASKING 的 RISC-V 編譯器采用了哪些具體優化手段,以充分利用指令融合及新思科技(Synopsys)RISC-V 的其他特性?
杰拉德?溫克:TASKING 的 RISC-V 編譯器為適配指令融合量身設計。與傳統指令集架構不同,RISC-V 不會新增專門的 “融合操作碼”,始終保持基礎指令集的簡潔性,將指令融合完全交由微架構實現。這意味著編譯器需生成并保留特定指令模式,讓新思科技 ARC-V 等硬件能對其進行融合處理。
相關優化貫穿編譯器的四個處理階段:指令選擇階段,利用 ARC-V 專屬啟發式算法,篩選出可融合的指令序列;指令調度階段,將存在依賴關系的指令相鄰排布,且該操作在寄存器分配前后均會執行,以生成并保留可融合模式;寄存器分配階段,確保待融合指令的操作數不會與其他活躍區間產生沖突;融合感知窺孔優化階段,在后續優化步驟完成后,修復或重新生成可融合的指令模式。
該工具鏈還實現了與鏈接器的深度聯動,因為代碼松弛優化可能會改變指令對齊方式,進而對取指單元的性能產生負面影響。TASKING 自研的 Viper 框架,為這種深度集成提供了技術支撐。
Q:是否有實操案例能證明,架構、微架構與編譯器的協同設計能帶來可量化的收益?
杰拉德?溫克:新思科技 ARC-V 核心與 TASKING 編譯器的組合,就是一個典型的實操案例。ARC-V 的高級指令融合技術,能讓單發射順序執行的處理器流水線,通過融合不同功能單元的指令實現雙發射執行,既無需新增指令,也不會破壞 RISC-V 的兼容性。結合 TASKING 編譯器的融合感知代碼生成能力,最終實現的系統性能接近雙發射核心,而芯片面積和功耗預算則與簡易的順序執行流水線持平。
該技術已在英飛凌的汽車級 RISC-V 虛擬原型中得到實際應用,TASKING 編譯器為該原型核心簇內的 RISC-V 微架構優化生成了高執行效率的代碼。這三個層面的協同作用十分關鍵:RISC-V 提供可移植的指令集架構,ARC-V 以極低的硅片開銷實現指令融合,而 TASKING 編譯器則確保軟件能充分挖掘這些硬件特性的潛力。
這一協同設計帶來了可量化的收益:在不影響最壞情況執行時間可分析性和安全認證的前提下,讓高安全關鍵型工作負載的性能得到顯著提升。這種協同方案在滿足功能安全約束的同時,縮小了與復雜架構之間的性能差距。












評論