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