以下為譯文:
RISC-V處理器指令集體系結(jié)構(ISA)的問世和最初的成功重新激發(fā)了人們對定制處理器設計的興趣,但是業(yè)界現(xiàn)在正在努力解決如何驗證它們的問題。過去20年來,市場上曾經(jīng)存在的專業(yè)技術和工具已經(jīng)被少數(shù)幾家生產(chǎn)處理器芯片或IP內(nèi)核的公司所掌握。
處理器的驗證不同于其他IP的驗證,甚至不同于SoC的驗證。處理器是通用硬件的終極組成部分,它會產(chǎn)生自己的獨特問題。
Cadence Design Systems公司副總裁兼總經(jīng)理Paul Cunningham說:“它可以運行任何軟件程序?!?“它是您可以想象到的最可配置的深度狀態(tài)設備之一。確切地說,我已經(jīng)完成了對CPU的驗證,就是說您已經(jīng)運行了所有可能在CPU上運行的軟件程序。當然這是非常棘手的。CPU驗證是非常困難的?!?/p>
在一個硬件必須盡可能靈活的時代,在軟件中盡可能多地進行操作是明智的。Imperas軟件首席執(zhí)行官Simon Davidmann表示:“一家公司發(fā)現(xiàn),在處理器中使用一些軟件來構建狀態(tài)機要比在Verilog中創(chuàng)建狀態(tài)機要好得多?!?“如果您在Verilog中構建狀態(tài)機并發(fā)現(xiàn)錯誤,則必須重新改造芯片。但是,如果您使用狀態(tài)機編程構建小型控制器,則可以在出現(xiàn)問題后再進行解決?!?/p>
但這帶來了兩個問題。VTool的首席執(zhí)行官Hagai Arbel說:“在最近的一個處理器驗證項目發(fā)現(xiàn),您必須讓軟件團隊參與這個過程?!薄斑@帶來了一系列全新的挑戰(zhàn),因為他們說的是一種完全不同的語言,無論是技術上還是心理上?!?/p>
第二個問題是驗證。西門子業(yè)務部門Mentor的首席技術專家Duaine Pryor表示:“處理器的好壞取決于它的驗證?!?“暴力算法進行驗證的辦法是不可行的,雖然我們在高端和低端市場都看到了這種趨勢。”
無論處理器內(nèi)核是基于RISC-V還是獨特的指令集體系結(jié)構(ISA),全面的驗證都是至關重要的。OneSpin Solution的設計驗證專家Nicolae Tusinschi表示:“用戶再也不能指望使用傳統(tǒng)處理器在硅芯片上進行數(shù)十年的驗證了?!?“ RISC-V采納者沒有特別通行證;經(jīng)驗表明,許多開源內(nèi)核都經(jīng)過了弱驗證,并且包含許多基本的bug。所有處理器開發(fā)人員必須廣泛驗證其核心設計,記錄所實現(xiàn)的過程和覆蓋范圍,并使用戶能夠利用此驗證來處理包含核心的整個系統(tǒng)芯片(SoC)設計?!?/p>
處理器的某些方面是通用的,與項目規(guī)模無關?!疤幚砥黩炞C可以大致分為控制驗證和數(shù)據(jù)路徑驗證,” Arm的架構師和中央工程小組成員Daniel Schostak說,“這兩者都不簡單,都面臨著挑戰(zhàn)。對于控制驗證,主要挑戰(zhàn)是交互組件的數(shù)量并確保覆蓋所有極端情況;而對于數(shù)據(jù)路徑驗證,主要挑戰(zhàn)在于確定邊界情況,以便能夠正確覆蓋這些情況。面積、性能或功率的微體系結(jié)構特征會使這些挑戰(zhàn)進一步復雜化?!?/p>
在開源領域,尤其是在RISC-V方面,這個問題更加復雜?!耙环矫?,您可以進行功能驗證,” Aldec市場營銷總監(jiān)Louie De Luna說,“但是隨后您還將進行合規(guī)性測試,您需要確保任何自定義指令均與源代碼兼容。這會影響您的覆蓋率模型,并且實際上還沒有工具流程,所以在這方面仍有許多工作要做。除了學習如何使用所有工具外,您還必須了解如何將其用于測試。”
持續(xù)變化的復雜性
盡管自2000年以來處理器性能沒有顯著提高,但這并不意味著復雜性保持不變?!拔覀?nèi)匀豢吹教幚砥鞯膹碗s性在增加,” Imagination Technologies的驗證平臺副總裁Colin McKellar說,“人們越來越希望從處理器中榨取更多,強烈希望擁有某種形式的獨特功能集或獨特的做事方式?!?/p>
對獨特性的渴望正在驅(qū)動當前的趨勢?!霸诘投耸袌?,特別是對于邊緣設備,功耗和成本約束更加嚴格;價格更低?!?Mentor的Pryor說,“這意味著更緊密耦合的加速、可定制性、甚至刪除指令都非常有價值。與高端產(chǎn)品相比,較小的設計和專屬軟件有助于降低重新驗證成本,RISC-V就以較低的成本提供了易于定制的平臺。總而言之,自定義的優(yōu)點大于缺點,并且在更小、更封閉的系統(tǒng)上,推動產(chǎn)生了一群新的驗證工程師來面對處理器(重新)驗證問題。”
在高端市場,其他力量也在發(fā)揮作用。Cadence的Cunningham說:“處理器架構始于向RISC遷移更復雜的指令。” “這一趨勢開始趨平,我們開始進入多核系統(tǒng)。然后,我們無法在多核上進行擴展。在這一點上,所有新的復雜性級別都圍繞著定制的特定體系結(jié)構——針對特定垂直行業(yè)而定制的不同類型的計算引擎,例如AI、圖形或視頻。核心管道的潛在復雜性可能變化的速度并不快,但是仍然存在。還有更多關于安全的、有關推測執(zhí)行的方面內(nèi)容。”
推測執(zhí)行是一種優(yōu)化技術,已與許多著名的處理器漏洞(例如Spectre和Meldown)相關聯(lián)。安全性是一個持續(xù)的挑戰(zhàn),在這個領域,設計需求仍然在增加。
“安全性是現(xiàn)代處理器的新維度,確保處理器啟用有效安全的硬件Hardware root of trust (HRoT)是關鍵,” Breker Verification Systems副總裁兼首席營銷官Dave Kelf說。為了驗證這一點,負面驗證(證明除了規(guī)定的機制之外沒有其他方法可以訪問區(qū)域)非常重要。正式版對此有好處,但在系統(tǒng)級別上容量不足。因此,允許指定和分析系統(tǒng)狀態(tài)空間的工具將成為處理器驗證團隊的重要工具箱組件?!?/p>
如果期望在處理器上運行操作系統(tǒng),則必須提供其他級別的支持。Valtrix Systems的聯(lián)合創(chuàng)始人Shubhodeep Roy Choudhury說:“通用處理器有望支持所有現(xiàn)代操作系統(tǒng)以及最頂層的許多應用程序。” 這些用例中的大多數(shù)都需要硬件的支持,例如用于虛擬內(nèi)存的TLB / MMU,用于虛擬化的虛擬機管理程序以及用于浮點計算的FPU,對并行執(zhí)行線程的支持涉及內(nèi)存順序和緩存一致性??紤]到用例、處理器單元和交叉產(chǎn)品的數(shù)量,與其他設計相比,驗證通用處理器是一項更具挑戰(zhàn)性的任務?!?/p>
為驗證計價
不必逃避執(zhí)行處理器內(nèi)核驗證所必須支付的價格,您可以直接自己支付費用,也可以付錢給其他人替您支付費用。
Cunningham說:“頂級處理器公司已經(jīng)進行了巨額投資,并且擁有大量的專業(yè)知識,因此他們可以提供出色的產(chǎn)品。” “必須記住,RISC-V是一個指令集,它不是CPU的實際實現(xiàn)。實施必須經(jīng)過驗證,并且必須具有足夠的質(zhì)量,并滿足一定的功能,性能和區(qū)域目標。Arm不僅僅是一個指令集,他們提供了整個生態(tài)系統(tǒng),為此花費了數(shù)百萬美元?!?/p>
質(zhì)量對處理器很重要?!癆rm在每個核心上運行大約1015條指令,” Imperas的Davidmann說,“一般的RISC-V開發(fā)人員或IP提供商甚至都沒有硬件仿真器,他們無法進行任何數(shù)量的驗證。多年來,當人們購買Arm或MIPS和Power處理器時,他們依賴于IP供應商進行驗證?!?/p>
但是,并非所有內(nèi)核都那么大或那么復雜。Imagination的McKellar說:“如今,許多RISC-V項目規(guī)模都很小,而且復雜性是可以控制的。” “與驗證相關的費用不會很大。但是,當您開始提高性能或添加多線程等并行化的方式增加復雜性時,它可能會迅速增長。我可以想象,半數(shù)試圖制造復雜處理器的公司將會發(fā)現(xiàn)這是一個太大的挑戰(zhàn),而食物鏈上的人們將會停止與之相關的資金,因為它很昂貴,而且不一定能正常工作?!?/p>
Codasip副總裁Jerry Ardizzone對此表示贊同?!拔覀兊囊粋€客戶打算使用開源的RISC-V內(nèi)核和開源工具,創(chuàng)建108個可重復的協(xié)同處理器,但遇到了一些問題。首先,他們必須證明核心功能有效。然后,他們意識到該內(nèi)核可用的唯一測試套件是開源的,因為所有其他商業(yè)工具都在由Arm,Codasip,MIPS和Synopsys等公司開發(fā)的工具包中。然后,他們必須證明所有這些處理器都可以處理35條指令以實現(xiàn)特定的加速,這在開源軟件中非常困難。您可以從Arm購買所有產(chǎn)品,并確保它能正常工作。您還可以構建自己的核心,前提是您知道如何構建處理器,并可以確保它不會被鎖定。但是驗證始終是最大的瓶頸。”
這也可能被證明是相當昂貴的?!膀炞C是最困難也是最昂貴的部分,”Ardizzone說,“這是一個瓶頸,至少需要幾個季度的工作。每次你接觸硬件,你都必須重新驗證它?!?/p>
對于開源硬件,降低成本是關鍵賣點之一。Aldec的De Luna表示:“像Intel和Arm這樣的公司確實非常擅長此事,并且您知道,將其集成到SoC中后,您將能夠驗證其是否有效?!?“現(xiàn)在,業(yè)內(nèi)人士說這并非易事。如果您考慮開源社區(qū),那么很多事情都是基于預算。該行業(yè)需要建立一個端到端的流程,只有更多的合作才能實現(xiàn)?!?/p>
驗證技術
二十年前,有多家公司生產(chǎn)用于處理器驗證的工具。當時,大多數(shù)系統(tǒng)公司都擁有自己的專有處理器內(nèi)核。從那時起,他們都遷移到了大型處理器公司之一,如今,專業(yè)知識已集中在這些公司中。
“多年的經(jīng)驗和方法學開發(fā)在能夠可靠地驗證和驗證處理器方面具有巨大優(yōu)勢,” Pryor說,“我們對處理器廠商在驗證流程中推動創(chuàng)新和提高效率的方式一直印象深刻?!?/p>
最近幫助其他人驗證處理器內(nèi)核的咨詢公司談論了這種體驗的重要性?!拔覀兊慕?jīng)驗和知識至關重要,” VTool的Arbel說,“我20年前就開始進行處理器驗證,但是如果這是第一次談論此類問題,我在解決這些問題時就會遇到麻煩。即使您的處理器很小或很簡單,設計驗證團隊也需要具備這種知識。有幾種可能的解決方案,我們可能沒有做到最好的方式。但是與其他類型的設計相比,您肯定需要以不同的方式解決問題?!?/p>
McKellar表示同意?!澳枰獙I(yè)知識和方法。它們是相輔相成的。如果沒有專家,這些工具可能沒有太大價值。沒有工具,專家們將為之苦惱,因為工具包太弱了。世界上缺乏一流的驗證工程師,許多公司正在相互競爭所需的技能。他們中的許多人沒有足夠的深度去完成他們需要做的事情?!?/p>
獲得這些知識是困難的。Davidmann說:“如何測試一個處理器基本上已經(jīng)變得封閉起來,封裝在三、四家大廠商的產(chǎn)品中?!薄爸皇菦]有很多論文、出版物或工具可以提供幫助?!?/p>
有用的建議
Cunningham提供了以下建議。“首先,也是最重要的,去雇人。確保您知道是否真的要構建自己的處理器,如果需要,請認真對待。你需要有人來領導它?!?/p>
這一切都始于計劃。McKellar說:“要對自己的實際業(yè)績和上市所需的時間表保持清醒的頭腦?!?“專注于嘗試限制組合并減少功能。一些高級功能或功能組合對最終客戶而言可能不那么有價值,但會花費大量時間和精力來正確驗證它們。保持開放的心態(tài),因為沒有統(tǒng)一的答案。進行獨立審查并接受批評非常重要,并且要非常注意盡早測試新事物。您應該盡早解決新的困難等事情,花大量的時間和精力在上面,少花時間和精力在老的事情上?!?/p>
并問自己為什么這樣做。Davidmann說:“除非您試圖真正做一些創(chuàng)新和定制的事情,否則好的解決方案已經(jīng)存在。” “如果您想添加一些非常有趣的面料或自定義說明,那么也許這就是為什么您應該走RISC-V路線的原因。越來越多的人正在構建自己的或配置自己的處理器,這意味著更多的復雜性,更多的驗證以及驗證行業(yè)的更多機會。”
開源驗證
RISC-V顯然已經(jīng)提高了開源硬件的概念,一些人質(zhì)疑他們是否也可以期待開源驗證從這里出現(xiàn)。SmartDV應用工程總監(jiān)Bipul Talukdar表示:“開放源代碼模型的成功需要一個基礎架構,該基礎架構才能創(chuàng)建真實的設計和產(chǎn)品,并將其投入制造并交付市場?!?“必要基礎架構的關鍵部分是RISC-V驗證平臺,該平臺可以使用開放源代碼規(guī)范以及執(zhí)行ISA的CPU來準確地驗證設計?!?/p>
一些人看到了希望?!?RISC-V社區(qū)正在共同努力,以幫助找到解決方案,” Imperas Software市場營銷副總裁Kevin McDermott說,“也許谷歌云使用免費的riscvOVPsim參考模型開發(fā)和增強RISC-V隨機指令流生成器的開源項目能夠最好地說明了這一點?!?/p>
盡管如此,核心EDA工具仍不太可能被開源替代。盡管有多年處理這些問題的經(jīng)驗,大型處理器供應商仍然在尋找意料之外的bug和漏洞。
-
處理器
+關注
關注
68文章
19115瀏覽量
228861 -
cpu
+關注
關注
68文章
10812瀏覽量
210880
原文標題:為什么很難創(chuàng)造出新的處理器?
文章出處:【微信號:AItists,微信公眾號:人工智能學家】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論