1. MCU的編譯器有哪些
編譯器與晶元要對應,不存在各晶元通用的編譯器。
51,IDE是keil或tkstudio,編譯器都是keil內置的
pic,IDE是mplab,編譯器是picc
avr,不了解
freescale,IDE用codewarrior,不同系列版本不同,編譯器內置
ARM,IDE是ADS(codewarrior改的),編譯器內置
等等
2. 目前主流的C語言編譯軟體是什麼
C語言相比其他很多新興的、復雜的語言,語法還是簡單一些,較好實現的。
所以在C語言幾十年的發展中出現了各式各樣的編譯器,還有一些容易被誤解為編譯器的IDE。
這里列舉幾個主流的:
GCC
毫無疑問,GCC幾乎是unix及linux系統中最通用的編譯器套件,幾乎所有的linux發行版都預裝了GCC作為C語言的默認編譯器。除了對C語言的支持,GCC還支持C++、Objective-C等多種語言。GCC早在1987就由Richard Stallman作為GNU計劃的一部分發布。
Clang
Clang是近幾年新興的C/C++以及Objective-C的編譯器,Apple是其主要投資者,其最初的開發者已加盟Apple。雖說是新興,但其對C/C++標準的支持不亞於GCC等老牌編譯器,並且外部介面和GCC完全兼容,並且因其模塊化、錯誤提示完善等優點已經越來越受到重視。一些如FreeBSD等項目已將clang作為默認編譯器。
其實Clang並不是一個完整的編譯器,而是作為同一批開發者開發的另一個備受關注的虛擬機(類似於JVM)的llvm的一個前端開發,只是負責將C語言源碼編譯為llvm IR的中間語言,再由llvm編譯為目標代碼,這樣做可以讓其可移植性更好。
Microsoft Visual C++
作為擁有可視化集成編程系統的編譯器,VC被很多使用Windows作為開發環境的初學者使用。詳見網路的介紹
http://ke..com/view/2070966.htm?fromtitle=vc&fromid=7792954&type=syn#viewPageContent
3. 主流C51單片機編譯器比對
int short 的大小是因機器而異嘛(准確點應該是編譯器)。你都說了人家規定的是「最小」為16位,又不是只能是16位,也沒有說兩者應該相等(事實上是short不超過int就OK啦)。所以當然可以short類型為半個機器字長,而int類型則為一個機器字長的啦。
「C++標准規定了每個算術類型的最小存儲空間,但他並不自知編譯器使用更大的存儲空間 」
說簡單點就是C++規定了個最小的值,但是將你的代碼編譯成機器碼的編譯器則確定了你這個長度值為多少。因為C++是一種語言,一個規范,或者說只是一種規定,然後要將你按這種規范寫的代碼編譯成能在機器上運行的代碼的是編譯器。而在不同的機器上運行的程序的實際結構是不一樣的,比如單片機與PC相差就很大。要將按相同規范寫的程序在各種各樣亂七八糟的機器上運行,就需要相應的編譯器了。所以實際的大小是由你編譯代碼的編譯器確定的。
PS:當然當前一般的PC上int都是32位,short16位的。因為現在32位的機子是主流嘛。如果你不寫什麼單片機的程序可以不用太在意這個問題。但是寫單片機程序時就要注意了,因為一般一個單片機的編譯器可以編譯很多種型號晶元的代碼,而這些型號有可能從8位到32位都有……
4. 異構計算中國芯!問題來了,異構計算到底是什麼
隨著近幾年天河2號和神威太湖之光相繼在全球超級計算機公布的TOP500刷榜。在超級計算方面異構計算已經基本取代了同構計算,而且隨著Intel著力發展CPU+FPGA,AMD大力研發CPU+GPU,異構計算也將越來越多的進入人們的視野。在國外公司積極布局異構計算的同時,國內公司也不甘落後。日前,中國華夏芯公司宣布,其異構計算處理器IP核已經在矽片上成功實現,並已通過HSA(異構系統架構)一致性測試。公司還宣布了新的機器學習和深層神經網路的開源項目,旨在進一步推動HSA異構計算的發展。
目前,在HSA協會的推動下,異構計算有向越來越多的領域侵蝕的趨勢。那麼,什麼是異構計算?發展前景究竟如何?中國首個異構計算處理器又憑什麼在業界處於領先地位呢?
什麼是異構計算
同構計算是使用相同類型指令集和體系架構的計算單元組成系統的計算方式。而異構計算主要是指使用不同類型指令集和體系架構的計算單元組成系統的計算方式,常見的計算單元類別包括CPU、GPU、DSP、ASIC、FPGA等。異構計算用簡單的公式可以表示為「CPU+XXX」。舉例來說,AMD著力發展的APU就屬於異構計算,用公式表示就是CPU+GPU。
「科普中國」是中國科協攜同社會各方利用信息化手段開展科學傳播的科學權威品牌。
本文由科普中國融合創作出品,轉載請註明出處。
5. 為什麼沒有國產的C/C++的編譯器
首先:國產有編譯器,比如龍芯就用
其次:開發編譯器難度非常大,編譯器、操作系統、資料庫這三樣是程序界的三座大山,不是 所有牛奶都叫愚公。國產即使有編譯器我認為也不是完全從零開發的。龍芯雖然有了自己的編譯器也只是針對自己的平台編譯,不具備通用性。一句話,中國目前缺少大企業的眼光和決心以及實力
6. 如何看待國產龍芯處理器
但這個團隊完全沒有市場思維,不懂市場經濟,不懂杠杠原理。因此,即使再給20年,也還是一個市場邊緣產品。
龍芯公司體量太小,人手嚴重不足,專職從事開發工作的工程師數量更缺,這是一個不爭的事實。
針對這個現狀,龍芯應該效仿ARM公司初期在自己弱小的時候走組隊模式(傻子才會指望幾百名工程師真的能擊敗英特爾AMD數萬名工程師團隊)。龍芯公司主動放棄開發具體的晶元產品,集中精力開發新一代ip核,切實提高新一代ip核的性能,然後將ip核授權給其他公司開發具體的晶元產品。
當前,包括中國在內的很多國家認識到過度依賴美國的英特爾和AMD的產品,會導致國家安全存在巨大的漏洞。想擺脫,自己又搞不定。這時候如果有一家公司能夠出售ip核幫助這些國家盡快推出自己的計算機晶元來平衡因特爾和AMD的影響,我相信很多國家會樂觀其成。像俄羅斯、印度、韓國、歐洲各國,想擺脫美國英特爾和AMD的國家真的是太多了。
在國內,可以把ip核授權給華為、聯想、浪潮、紫光等公司。這樣一來,龍芯相關產品的開發人員迅速壯大到數十萬工程師,與之相關的從業人員達到數百萬,完全不是夢。
雖然性能不如intel,但是真正的自主可控,是純正的中國芯。
一、龍芯的自主可控
龍芯真正立項是2001年左右,當時奔著就是自主可控的方向去做的,所以選擇了MIPS架構,並且直接買了下來,別人不再使用了,而不是所謂的授權,不像ARM這種。
在買下MIPS架構之後,龍芯團隊還擴展了指令集,可以說龍芯是來源於MIPS,但又脫胎於MIPS,是從架構開始就屬於自主可控的中國芯,是純正的中國芯。
也正因為如此,所以目前龍芯在政府、軍事、金融、教育等眾多行業,對保密性有要求的領域,對安全可控非常重視的領域,得到了大量的使用。
二、龍芯的性能
對於一款晶元,自然是要考慮性能的,目前龍芯的性能和intel比較起來,確實有3-5年左右的差距,所以個人消費者對龍芯沒什麼感知,因為龍芯也沒有面向個人消費領域,因為這個領域喜歡「不服跑個分」,自然龍芯很難得到認可。
更重要的是,個人消費領域,對生態要求很高,目前windows只能安裝在X86架構的intel\AMD晶元上,不支持龍芯,所以使用龍芯的筆記本、台式機非常少。
三、龍芯的意義
另外,目前很多人對於龍芯有誤解,覺得這晶元性能不行,完全是在靠政府補貼的貨,但其實還真不是的,國家早就不補貼龍芯了。
龍芯現在是商業化動作,完全的自負盈虧的,並且在2014年龍芯就實現了盈利,2019年利潤有1億多,這些年以來龍芯納的稅早已經超過了政府給予的補貼,所以不要拿騙補來說龍芯。
龍芯一旦成功,將真正的使中國芯擺脫國外的依賴,畢竟ARM還要依賴ARM架構,但龍芯啥都不依賴,完全的100%純正中國芯,意義重大,值得大家支持。
龍芯是基於MIPS指令集來的,而且獲得了相關指令集的永久授權,可以說在指令集等知識產權上面龍芯不存在被卡脖子的問題了,不過因為MIPS指令集在目前的市場上已經沒有什麼地位,所以其應用領域比較有限,起碼在消費級市場上面是看不到多少希望了,消費市場上的PC主要是X86架構處理器,而手機等中端主要是ARM處理器,根本就沒有留給龍芯多少空間,雖然很多人說龍芯的性能達到了英特爾某些產品的多少多少,或者達到了AMD挖土機多少多少的性能,但是因為架構不同,實際上這種對比對於普通用戶意義不大,因為目前普通消費者的生態對龍芯的支持很差,就算能夠運行Windows系統,那也是模擬的,表現自然會打折扣。
雖然龍芯在消費級大眾市場上面沒有什麼起色,但是在一些細分領域還是可以慢慢發展的,而且有龍芯的技術在手,起碼解決了有還是沒有的問題,在面對國外的競爭時,底氣足一些,而且龍芯的研發和應用發展過程中,也培育了自己的人才,所以長遠來看,龍芯的意義還是不小的,所以初期龍芯的發展還是以政府扶持為主,後來龍芯開始自負盈虧,到了2015年據說已經開始盈利了,這點還是很不錯的,算是洗刷了當年漢芯的 歷史 恥辱吧,當然還是會有很多人質疑龍芯,估計是因為漢芯當年的負面影響太大了吧。
當然很多人會拿ARM和MIPS相比較,因為二者都是精簡指令集的處理器,二者之間當然有不少差異,但是MIPS對商業不敏感,錯失了移動化的浪潮,所以雖然MIPS出現的比ARM還要早,而且當初在性能上並不輸於ARM,但是因為沒有把握住機會,這些年MIPS的發展並不理想,ARM這些年反而發展很快,MIPS被拆分,然後賣來賣去的,基本上已經GG了,至於今後MIPS還有沒有機會,目前來看,難度比較大就是了,不過我們還是希望龍芯能夠在未來發展起來。
可以說,龍芯最能提現軍事應用上晶元的自主可控。
2015年3月,由中科院負責研製的新一代導航衛星I1-S(北斗三號首發星)首次使用了中國製造的「龍芯」中央處理器(CPU)。之後發射的每一顆北斗導航衛星都配備了大量的龍芯。這些龍芯除了當CPU外,最典型的一個應用就是可重構技術。也就是說在軌衛星的軟體隨時可以通過地面上注進行重構,這就大大提高了軟體的生存能力。從五年的實際應用來看,龍芯1E和龍芯1F的在軌性能還是要更好一些,處理能力和可靠性也與進口CPU持平,當然價格會是進口的一半。
龍芯是中科院北京計算機所研發,龍芯成立的目標只有一個,那就是全球第一的晶元帝國 Intel。但是目前看來,龍芯軍事應用居多,普及商用還是任重而道遠。
最有前景難度最大最自主的國產處理器 持續關注龍芯15-16年了 現在送去流片的3A5000CPU有望單核跑到2.5ghz 30分(轉自知乎:2017年AMD在3.4G赫茲下使用gcc4.6編譯器優化參數-o2,3代CPU的spec int06測試值分為:打樁機20.7 ;挖掘機19.2 ;ryzen31.5)看樣子還算不錯。
龍芯設計團隊是國內內功最扎實的團隊之一,龍芯老大胡偉武的目標是三分天下有其一 不同於其他國產CPU 可以搭上現有成熟生態體系的快車從而高速發展 龍芯要自建生態 打造一個不受外部環境制約的第三套軟體體系(圖片內有個別廠家預測分數)
關於龍芯的簡介
一直以來,因為曾經漢芯騙局以及可能存在的故意混淆,很多人對龍芯要麼不了解、要麼誤解,還有人是因為沒看到龍芯CPU出現在普通電腦中從而認為龍芯也是騙局。就此問題我在這里簡單介紹一下龍芯是怎麼回事。
龍芯的團隊:
龍芯團隊由中科院計算所研究員胡偉武任總師於2001年起步,並於2002年正式獲得立項並得到500萬人民幣的研發資金,至2010年龍芯團隊成立公司以前,總共獲得國家資金五億人民幣,對比英特爾公司2015年一年的研發投入124億美元、2017年一年研發投入不低於130億美元,龍芯九年間的資金合計連人家一年的零頭都差遠了。不過很奇怪,龍芯從2011年起就不拿扶持資金了、只拿過北京市政府和其它公私營機構和企業的合計兩億人民幣的投資,但還是有大量帖子到處宣揚龍芯騙經費,而且動不動就指責龍芯騙取上百億千億經費!
龍芯的指令集:
一開始龍芯直接採用了MIPS指令集,在金融危機期間低價購買了MIPS指令集527條指令的永久授權,後來根據自己的規劃修改並增加到1907條指令,因此現在是具備自主知識產權的龍芯指令集(loogISA),已經不能叫做MIPS指令集了,1907條指令基本情況如下:
源自MIPS的指令:
216條MIPS基礎指令,獲得永久授權;
311條DSP指令,獲得永久授權。
龍芯自主指令:
MIPS基礎指令擴展——148條loongEXT;
虛擬機擴展——5條loongVM指令;
二進制翻譯擴展——213條loongBT;
向量指令擴展——1014條loongSIMD。
龍芯目前的型號命名:
龍芯1系列:分別是面向特種、嵌入應用;
龍芯2系列:面向高端嵌入、工控、特種應用、伺服器、桌面;
龍芯3系列:用於PC、伺服器、高級特種應用,其中3A是四核、3B是不低於3A的可多路互聯(常用於伺服器)。
龍芯7:目前定位是橋片,也就是南北橋晶元,現只有一款龍芯7A-1000,其中還集成了龍芯自研的第一款GPU,估計其圖形性能不會比十年前的主板集顯更好,但至少普通日常應用是可以的,而且該橋片支持獨顯,可以用英偉達或AMD的顯卡來提高性能,並且龍芯正在與英偉達開展合作。
龍芯的性能:
2015年,基於大改內核GS464E、使用國內40nm低速工藝製造的主頻1GHz的龍芯3A-2000四核CPU的單核性能測試SPEC CPU2006分值6~7分,達到了GS464單核的3倍左右;2016年最高主頻1.5GHz的龍芯3A-3000測SPEC CPU2006單核分值11、四核分值36,也就是說SPEC CPU2006測試下,龍芯GS464E內核的每GHz得分為7分,距離AMD和英特爾的每GHz得分10~15分還有距離。
2019年12月24日發布的基於新研發GS464V內核的龍芯3A/B-4000每GHz分值提高到10分,主頻提高到2.0GHz,因此得分21分,接近了AMD前兩年的挖掘機CPU,距離英特爾和AMD現在主流的得分在30~40分的CPU差距已經不太大了。
龍芯的經營:
當然,微軟和谷歌不可能給龍芯做兼容,因此雖然龍芯通過二進制模擬X86指令的方式實現了安裝運行WindowsXP,但較大軟體和專業性的軟體(比如PS、股票、 游戲 等軟體)還不能使用,這樣一來龍芯還不能正常使用Windows和安卓,那麼龍芯目前就無法進入消費產業領域,普通用戶自然就看不到龍芯處理器。
所以,龍芯團隊於2010年離開中科院成立龍芯公司開始自負盈虧以後,起步靠北京市政府天使投資近兩億人民幣維持存在,從低端嵌入領域起步,擴展到行業領域和特種、定製領域,畢竟作為企業得自己賺錢生存,能活下來才談得上理想,不過龍芯在行業領域混的還不錯,上到網路伺服器、存儲伺服器、衛星用的抗輻照處理器,中到行業定製電腦、機頂盒、電視機CPU、軍用指揮控制系統、高溫高壓等特種處理器,下至紅綠燈、充電樁等低端嵌入等等應用場景都在做,同時也在做軟體等業務。
2015年龍芯實現扭虧為盈,除持續增長的嵌入和特種等領域業務以外,龍芯桌面應用也開始增長,2018年龍芯桌面CPU銷售5萬片,佔中國桌面電腦CPU市場份額的0.1%;2019年龍芯CPU中的桌面用CPU銷售達50萬片,占國內桌面CPU市場份額的1%;
胡偉武說,以前龍芯連英特爾的影子都看不到,2020年龍芯從性能上可以看到英特爾的後腦勺,並在局部形成體系,在行業市場領域應該能做到國內企業第一位,之後會擴展業務逐漸向消費領域進軍,爭取到2030年後能與英特爾、AMD、IBM同台競技。
註:有興趣可以在B站搜索「龍芯」,可以找到2019年4月19日龍芯公司的張福新博士在山東大學做了題目為《從inside到outside,龍芯的發展和產業生態建設》的演講,2019年6月龍芯總師胡偉武在中山大學的演講,2019年12月24日龍芯發布會中胡偉武的演講,這些裡面有超出一般想像的信息,比如:通過這兩年的局部試點,公務員用的設備即將大規模使用龍芯設備;龍芯在軍用裝備領域已經呈面上鋪開趨勢、還為軍隊製作了數字地球,結合以前的信息來看(官方主動講的,不涉及泄密),龍芯軍用范圍至少包括指揮控制、導彈制導、精確定位、坦克等戰車控制或火控系統、軍用信息系統;等等等等
必須要有存在
龍芯必須存在,別家的石頭,不可靠!
虛心向優秀的企業學習,堅持獨立自主,這樣才能發展有底氣。
支持國產,說明國家晶元更上一層樓。
7. RISC-V與ARM架構相比有何優勢和劣勢
EDN電子技術設計:請用您自己的話為讀者大致介紹一下RISC-V。
胡振波:
RISC-V是一種簡單、開放、免費的全新指令集架構。RISC-V最大的特點是「開放」,它的開放性允許它可以自由地被用於任何目的、允許任何人設計、製造和銷售基於RISC-V的晶元或軟體,這種開放性,在處理器領域是徹底的第一次。
RISC-V這種開放架構的誕生可以說是時代發展的必然。RISC-V生態體系正在全球范圍內快速崛起,成為半導體產業及物聯網、邊緣計算等新興應用領域的重要創新焦點。
RISC-V基金會於2015年由矽谷相關公司發起並成立,至今已有150多個企業或單位加入,包括谷歌、華為、英偉達、高通、麻省理工學院、普林頓大學、印度理工大學、中科院計算所等。目前RISC-V由基金會統一維護。
美國國防高級研究計劃局(DAPRA)已連續多年通過專項方式支持RISC-V指令集的研究和實用化。2017年,印度政府大力資助基於RISC-V的處理器項目,RISC-V成為印度的事實國家指令集。我國RISC-V雖然處於起步階段,但是發展非常迅速。今年7月,上海市政府率先發布了中國大陸首個支持RISC-V的政策,這對於RISC-V指令集在中國的發展起到了重要的推動作用。10月17日,中國RISC-V產業聯盟成立,標志著我國在RISC-V生態系統建設上正式邁出了堅實的一步。
EDN電子技術設計:請分別從技術和商業的角度,分析RISC-V相對於ARM架構的優勢和劣勢。
胡振波:
優勢非常明顯,RISC-V是一種開放的架構,從 歷史 的經驗來看,開放的生態一定會比封閉的好。RISC-V技術是後發技術,所以能夠總結前人的經驗教訓,做到相對簡潔和干凈。
但是,劣勢也很明顯,由於RISC-V誕生時間太短,相關的編譯器、開發工具和軟體開發環境(IDE)以及其它生態要素還在發展。目前RISC-V具有全套開源免費的編譯器、開發工具和軟體開發環境,這是RISC-V的巨大優勢,但是開源版本相比ARM的商用編譯器和IDE而言,還頗有差距。
RISC-V必須依靠強有力的商業玩家來長期支持和推進,方能得到持續發展。目前從全世界范圍來看,在RISC-V技術陣營中,台灣的Andes公司(晶心 科技 )開發的編譯器、開發工具和軟體開發環境(IDE)是最為完善和先進的,幾乎可以和ARM的工具相媲美。另外,還有很多RISC-V的新創公司(譬如芯來 科技 ),也會 探索 新的商業模式。
EDN電子技術設計:哪些市場應用和產品將會成為RISC-V架構快速發展的驅動力?
胡振波:
從技術的角度來講,RISC-V架構理論上是能夠實現從低功耗處理器內核到支持Linux操作系統的高性能處理器內核的全方位產品。譬如,目前美國的SiFive公司以及台灣地區專業處理器IP公司Andes(晶心 科技 )都推出了有競爭力的、支持Linux的RISC-V處理器內核。芯來 科技 目前提供面向低功耗領域的RISC-V處理器內核。
處理器領域的生態建設需要一定的時間,短期內比較容易落地的是物聯網和邊緣計算領域:
• 由於RISC-V擁有精簡、低功耗、模塊化、可擴展等技術優勢,因此尤其適合對生態依賴比較小的封閉或半封閉產品、深嵌入式或新興的物聯網、包含嵌入式人工智慧等應用的邊緣計算領域及需要定製化的場景。
• RISC-V能夠為物聯網行業帶來顯著的靈活性和成本優勢,在未來的20年,物聯網和邊緣計算領域的處理器內核年出貨量預計會達到萬億顆的規模。中國大陸由於擁有幾乎全球最大的市場空間,理論上RISC-V會大有可為。
EDN電子技術設計:RISC-V對中國半導體產業的發展會帶來哪些影響?
胡振波:
從長遠來看,RISC-V對中國半導體產業會產生劃時代的意義,主要體現在以下5個方面:
• 通過RISC-V架構擺脫國外的壟斷,實現處理器內核的國產自主。這種處理器內核不是閉門造車做出來的,而是擁有全世界認可的主流架構和主流生態。
• 通過RISC-V可以極大地加強我國處理器IP話語權。IP產業處於行業最上游,遠離其它產業,並沒有得到產業和國家的重視。RISC-V給了中國IP產業機會,雖然目前我國在RISC-V上仍然落後,但相對於其它IP技術,落後並不太遠。
• RISC-V可以推動創新和差異化。由於RISC-V的開放、簡潔、可擴展以及低成本,可以給終端應用市場帶來巨大創新。
• RISC-V可以明顯降低晶元研發成本。RISC-V的產業鏈日趨完善,從處理器內核到硬體設計、操作系統、開發工具、基準測試以及解決方案,全產業鏈具備完整性,使得行業可以均攤一切成本。
RISC-V的逐漸普及在一定程度上促進了行業本土化的發展,創造了更多行業機會,為產業界和學術界積累大量CPU人才。
EDN電子技術設計:您認為哪些因素會妨礙中國IC設計公司採用RISC-V架構?
胡振波:
以下三個主要因素會起到妨礙作用:
首先,ARM在中國影響力巨大。在晶元處理器內核方面,由於中國長期缺乏自主的通用處理器內核,幾乎都是購買國外的ARM處理器內核,形成了習慣。對於RISC-V這樣一種新架構的出現,很長一段時間內人們持懷疑態度。ARM在中國還成立了合資公司(全球唯一的國家),所以ARM在中國市場尤其顯得強勢,這使RISC-V在中國的傳播相比別的國家顯得非常緩慢。
其次,RISC-V被誤導為免費。RISC-V架構是一種Free的指令集架構,准確地說Free應該理解為「自由「而不是「免費」,指令集架構也不是一款具體的處理器內核。大多數人對於處理器的一些基本概念並不了解,將RISC-V與「一款免費開源的處理器「劃上等號,而免費往往是劣質的代名詞。這種誤導嚴重影響了RISC-V在中國的正常傳播和發展。
最後,RISC-V還被誤導為一種全新的設計語言和流程。雖然目前很多開源的RISC-V內核使用的是全新的設計語言和流程,但並不代表RISC-V處理器內核就等價於全新的設計語言和流程。全新的設計語言和流程帶來的不確定性和質量隱憂會讓IC設計公司(尤其是國內公司)感到排斥和不安,這種誤導也會影響RISC-V處理器內核在國內的採納和傳播。其實RISC-V只是一種全新的處理器架構(以及衍生出的新生態),無關乎設計語言和流程。使用工業級成熟、穩健的設計方法更能設計出穩健可靠的RISC-V處理器內核,如芯來 科技 、台灣Andes公司(晶心 科技 )以及其它一些公司使用工業級成熟、穩健的設計方法設計出的RISC-V處理器內核。
EDN電子技術設計:您專門寫了一本設計RISC-V處理器的書,請為有志於從事RISC-V架構設計的IC設計工程師和高校學生提幾點建議和心得體會。
胡振波:
我認為目前學習RISC-V架構正當時,因為:
RISC-V的開放性使得任何公司與個人均可依據開放的RISC-V架構設計自己所需的處理器。很多科研機構開始使用RISC-V開發處理器,獨立的RISC-V處理器IP公司開始出現,一些實力雄厚的巨頭(如NVIDIA、三星等)開始使用RISC-V架構開發其自有的處理器內核,可以說是舊時王謝堂前燕,飛入尋常百姓家。因此,掌握RISC-V架構,會變成一種通用技能,對科研、學習和就業大有裨益。
當前國內CPU產業熱潮方興未艾,x86、ARM、MIPS等傳統商用處理器架構在國內呈全面開花之勢。龍芯、兆芯、飛騰等資深專業CPU公司在不斷突破;華為、展訊等一線大公司也相繼開始研發自主的處理器內核;海光、華芯通等新銳紛紛摩拳擦掌。開放的RISC-V架構的誕生,更是為此番繁華增添了精彩。同時,各種人工智慧AI處理器也採用RISC-V作為核心,RISC-V的相關知識完全能夠應用於AI處理器晶元領域。
綜上所述,我認為學習RISC-V正當時。
但是,計算機體系結構相關書籍往往不利於初學者入門,尤其是RISC-V誕生時間太短,全英文版的指令集手冊專業性強,晦澀難懂,非常不利於國內用戶學習上手。另外很多對RISC-V感興趣的初學者基本背景知識比較薄弱,需要補足。
為了促進RISC-V在國內的普及,尤其是被廣大初學愛好者接受,我撰寫了國內第一本關於RISC-V處理器的通俗書籍《手把手教你設計CPU——RISC-V處理器篇》,詳細介紹了相關的基礎背景知識,系統通俗地講述了RISC-V的前世今生,還配套了自己開發的開源蜂鳥E203處理器內核。
目前有關如何使用RISC-V的嵌入式軟體開發方面的中文資料仍然欠缺,我撰寫的另一本新書《RISC-V架構與嵌入式開發快速入門》也即將上市,相信會在某種程度上緩解這一問題。
EDN電子技術設計:您創立芯來 科技 公司專門開發RISC-V內核,請談一下公司的商業模式和願景。
胡振波:
芯來 科技 (Nuclei System Technology Co., Ltd.)作為中國大陸本土唯一專注於RISC-V處理器內核開發的公司,是RISC-V基金會銀級會員,中國RISC-V產業聯盟副理事長單位。
在商業模式上,主要是傳統的處理器IP授權模式和面向垂直領域的深度定製模式,同時還在進行一些全新的商業模式 探索 。
我們有兩個願景:一方面,IoT和邊緣計算領域的處理器內核IP年出貨量會達到萬億顆。如此巨大的市場,我們希望至少這個市場的一部分屬於我們本土公司,從而讓大多數本土晶元公司用上國產的RISC-V處理器內核。另一方面,目前國內的RISC-V技術力量非常薄弱,希望芯來 科技 能夠為RISC-V陣營做出我們中國人應該做出的貢獻。
EDN電子技術設計:除了RISC-V內核外,要開發出商用的RISC-V處理器還需要哪些開發工具和環境?
胡振波:
處理器是軟硬體的交匯點,所以必須有完善的編譯器、開發工具和軟體開發環境(IDE),處理器內核才能夠被用戶順利使用起來。
目前RISC-V具有全套開源免費的編譯器、開發工具和軟體開發環境(IDE),這是RISC-V的巨大優勢,但是開源版本相比ARM等傳統架構的編譯器和IDE而言,還頗有差距。
除了開源版本之外,還有專業公司提供的專業版本。目前從全世界范圍來看,在RISC-V技術陣營中,台灣的Andes公司(晶心 科技 )開發的編譯器、開發工具和軟體開發環境(IDE)最為完善和先進,幾乎可以和ARM的工具相媲美,這一點也值得我們去學習。
延伸閱讀:
RISC-V真的是中國晶元實現自主、可控、創新和繁榮的希望嗎?
8. ARM9為什麼要用ADS編譯器呢
網上有人做過測試,同樣的代碼,在ADS、IAR和KEIL中進行編譯,keil的效率最好。此外,由於ARM將keil收購,keil的應用更為廣泛,推薦使用Keil,尤其是以前做過C51的,更容易上手。
9. 解釋下龍芯
關於CPU和晶元,我們標準的操作系統,大約有350個C函數,這種操作系統叫標準的操作系統,IEEE
POSIX這就是標准操作系統的規范,但是事實上,美國很多軍方的CPU和工控,飛機製造和武器工業控制領域很多晶元是不支持這個標準的,比如軍隊的OpenRISC派系的晶元,只能支持大約100~150個標准C函數,當然了,剩下的200多個函數可以使用這個100多個函數來用軟體來實現,但是,這些用軟體實現的庫和函數,運行速度相當的慢。
實際上mips就是當年早期OpenRISC商業化的產物,但是Mips走的更遠,主要解決大規模並行的浮點數運算問題。mips是支持linux操作系統的,但是這個CPU只能順利的運行大約150個標準的操作系統的C函數。
現在C++標准庫STL一共又20個大類,超過了1000個函數或者模板實現,而boost庫(STL的升級版)有超過2000個復雜函數或者模板實現,這些函數如果在intel或者AMD的晶元上執行得到的結果,跟在arm上執行得到的結果很多都是不同的,尤其是執行效率問題,很多在arm上慢的要死,比java還要慢(現在安卓機主要使用java開發應用軟體,編譯器是使用J2SDK修改的編譯器)。蘋果公司在這方面有比較深入的研究。這個不細談。
如果這個C++函數在mips晶元上執行,這裡面有一多半是根本無法執行的,也就是說,會崩潰和異常退出。並且,J2SDK也是無法在mips上順利的執行的,相當的垃圾的一個晶元。
這就是為啥在美國9年代末期,mips被市場淘汰的根本原因。
10. 低調的國產RISC-V晶元玩家
在這個巨大市場潛力的推動下,IP廠商、工具廠商、晶元廠商和系統廠商都爭先恐後地湧入這個賽道,其中不乏一些擁有深厚行業積累的廠商。如以ASIC晶元起家的嘉楠 科技 (以下簡稱「嘉楠」),就是當中一個重要的低調參與者。
從ASIC到RISC-V
眾所周知,納斯達克上市的嘉楠 科技 在ASIC晶元設計方面有深厚的積累,公司在晶元的前後端設計以及流片方面也有豐富的量產經驗。早在2016年,嘉楠就成為了國內前十實現10nm晶元量產的公司。也就是從這一年開始,嘉楠開始了在邊緣端AI晶元的 探索 。
據嘉楠 科技 董事長兼CEO張楠賡先生介紹,因為ASIC晶元對於計算效率的要求趨近極致,這就需要嘉楠一直在ASIC晶元設計中尋求算力與功耗之間的最佳平衡。因為這個研發過程對技術要求比較高,這無疑間就磨煉了公司的研發團隊。與此同時,公司還發現,ASIC在計算效率上相比傳統架構有了數量級的提升,這就為嘉楠後續進軍RISC-V市場埋下了伏筆。同屬計算密集型應用場景的邊緣AI晶元就成為了嘉楠的目標。
經歷了一番綜合考量,嘉楠把目光投向了基於RISC-V的邊緣端AI晶元。
嘉楠 科技 董事長兼CEO張楠賡先生
首先,從成本角度看,RISC-V開源免費的特性對於晶元創業公司而言非常友好。選擇這一架構,意味著嘉楠可以在AI晶元研發過程中節省大量的IP授權成本,將資源投入到最核心的技術研發,幫助公司加快晶元的迭代速度,靈活應對市場環境的變化。
其次,從技術趨勢角度看,RISC-V架構開源、精簡和模塊化的理念符合未來的技術發展趨勢。計算體系結構宗師David Patterson(RISC-V的創始人之一)在ACM通訊上發表的論文中就指出了計算機體系結構的兩個機遇,其中一個就是開源的指令集ISA,創建一個「面向處理器的Linux」。從目前來看,RISC-V無疑是開源指令集架構中最成功的一個。
第三,從開發角度看,RISC-V不需要像ARM一樣考慮向後兼容,沒有 歷史 包袱,基礎指令只有幾十條,學習門檻相對較低;另一方面,RISC-V支持開發者按需拓展指令,這為晶元研發提供了更高的自由度。
第四,從性能角度看,RISC-V架構內核的性能可與ARM內核性能抗衡。
第五,從IP開發角度看,嘉楠從一開始就堅持IP核心自主研發的技術路線,RISC-V架構則提供了這一可能。嘉楠還能以SoC的形式將RISC-V CPU與自主研發的加速器組合在一起,為客戶提供邊緣側的晶元解決方案。在這一過程中,公司可以把更多精力放在IP核的迭代,而不用考慮可能面臨的授權風險。
從市場發展現狀看來,嘉楠打造端側RISC-V AI晶元的做法也是一個明智的決定。
熟悉行業的讀者應該知道,根據應用場景的不同,AI晶元的可以粗略劃分為模型訓練和推理計算。其中模型訓練市場已出現巨頭壟斷的態勢,GPU巨頭英偉達不僅在硬體方面建立起技術領先優勢,而且結合圖形計算平台構建了強大的軟體生態壁壘,那就意味著這個市場給新晉者的機會並不多。反觀推理晶元組市場,則還處於發展早期,特別是邊緣側市場,不同場景對晶元的要求存在差異化,給AI晶元公司留下了更多空間,因此嘉楠一開始就專注於邊緣推理晶元的研發。
同時,在邊緣側市場,可穿戴設備、攝像頭和感測器等聯網設備越來越多。不同物聯設備對功耗和算力的要求不同,這就決定很難用單一架構適配所有場景。架構的競爭歸根結底是生態之間的競爭。雖然ARM仍然是移動端市場的主流,但RISC-V開源和模塊化的特點允許像嘉楠這樣的晶元公司基於RISC-V進行定製化的設計,擁有更大的自由度。
此外,從目前的市場環境看,Arm正成為巨頭公司爭相收購的目標,這對於IP授權的獨立性造成了很大威脅。而如果很多組織使用RISC-V設計處理器,就可以在更大層面上推動晶元的創新。所以長期來看,RISC-V的價值在未來會更加凸顯,從而為嘉楠帶來更多的市場機遇。
奔跑在這條全新的賽道上,自主研發的IP成為了嘉楠最重要的底氣之一。
從K210到K510
在拍板進軍RISC-V之後,嘉楠就一直堅持依託RISC-V架構,自主研發IP核心的技術路線。
張楠賡表示,公司這樣做有三方面板的優勢:一方面是為了把核心技術握在自己手裡,避免可能面臨的授權風險;另一方面,自主開發核心從長期來看可以降低研發成本,並加快晶元的迭代速度;第三,自研可以形成嘉楠自身的晶元設計方法體系,確保核心技術和研發理念的傳承。
本著這樣的研發思路,嘉楠迄今已經推出了兩代自主研發的IP核心,分別為KPU(Knowledge Process Unit)和KPU2.0。這是專門為機器視覺任務設計的神經網路加速器。因為異構計算是目前針對深度學習的主流硬體方案,為此在結合CPU與KPU加速器後,嘉楠能更好地提升晶元在視覺演算法模型上的性能表現。
落實到晶元方面,嘉楠在2018年就推出了公司的第一代產品勘智K210。這款產品在過去幾年裡也在包括智能園區、智能家居、智能能耗和智能農業在內的多個場景中發揮了重要的作用,公司也與一些行業頭部公司開發了智能產品。今年,嘉楠就作為全國大學生OS設計大賽唯一的技術支持方,也為大賽提供勘智K210和開發板作為評估工具。與勘智K210甚至還在美國和日本等國際市場上率先打開局面。
但張楠賡指出,即使K210在不少領域表現搶眼,但由於該晶元的研發時間較早,在算力規劃上沒有考慮到後來才出現的演算法模型,導致產品在應用場景的拓展上受到限制。為此,嘉楠在日前又順勢推出了新一代的中端晶元K510。
據介紹,在全新的勘智K510晶元,繼續沿用了雙核RISC-V CPU架構中,但嘉楠圍繞RISC-V CPU子系統進行了優化。例如該CPU集成了64位的數字信號處理器DSP,配合自主研發的KPU2.0核心為AI應用加速。
此外,DSP內部還設計了專用的本地存儲,進一步提升DSP的實際運算性能。研發團隊還在雙核CPU和DSP之間設計了專用的mailbox模塊用於通信,方便軟體靈活掌控整個系統。
K510同時還在匯流排架構、IP核心與視頻子系統等多個方面也推出了全新設計。這使其算力相比一代晶元提升了3倍,經典視覺演算法mobilenetv1幀率大幅提升,自研高速PHY介面理論帶寬也做到了10GB/s,8位數據壓縮率更是高達50%以上,極大優化了勘智AI系列在機器視覺場景的應用性能。
為了進一步解決大功耗和大面積的問題,嘉楠在K510晶元上更是採用了NoC匯流排架構,讓每個IP工作在特定的時鍾域,解決龐大時鍾樹的困擾。
在K510的視覺硬體配置上,嘉楠也進行了大幅優化,使其能夠支持MIPI CSI2 和DVP介面,可同時支持最多3個攝像頭輸入。晶元內部還集成了3個圖像處理單元ISP, 其中一個ISP支持3D 功能,無需軟體參與,硬體完成深度數據的提取和加工,相比軟體處理深度信息方式不但節省了巨大的CPU開銷,性能上也會有很大提升。
嘉楠同時還提高了K510在攝像頭輸入介面設計的靈活性,讓其既可以硬體流水線方式將攝像頭輸入送至ISP硬體,也可以把輸入圖像寫入DDR,ISP再通過線下方式讀取DDR內的圖像完成後續處理。滿足用戶可以在中間加入定製化的處理需求,或者對定製化的數據進行ISP處理。
值得一提的是,通過融合公司在演算法、軟硬體和編譯器的最新設計,嘉楠推出全新的KPU2.0,集中突破AI晶元設計中廣泛存在的「存儲牆」和「性能牆」的問題。為了提升計算效率,KPU2.0採用了動態3D PE陣列,第三個維度支持多種方式共享傳遞數據,並實現多個維度上的計算映射,提高PE陣列的利用率。同時也可以動態開啟或關閉每一個2D陣列,並根據不同層級對帶寬和計算資源的需求進行調整。
據了解,通過動態3D PE陣列,K510支持多種方式共享傳遞數據,靈活支持多個維度的計算映射,提高PE陣列利用率。採用GLB(Global Local Buffer)設計,通過可配置的SRAM陣列實現,靈活配置以滿足不同數據類型在不同層上的帶寬和存儲需求,並提升內部RAM的利用率。結合動態3D PE陣列和GLB設計,嘉楠還獨創了計算數據流技術,在計算卷積時不需要進行數據重排;通過多級存儲設計提升卷積計算的數據復用率。
此外,KPU2.0還搭載了可重構的SIMD加速單元,通過創新的meshnet網路可以靈活配置支持各種激活函數、pooling和resize等運算元。
作為一款定位於中高端邊緣推理晶元市場,K510無論在核心架構還是外部設備介面方面,都對晶元的視覺處理能力進行了大幅優化。這就使得這個晶元能夠在高清航拍、高清視頻會議、智能家居、各類機器人以及車載後裝智能終端等市場發揮其功用,並佔領一席之地。根據公司的規劃,未來幾年會有多款勘智晶元亮相,助力多個不同的應用和市場。
與全球開發者共同推進RISC-V
雖然在包括嘉楠在內的多個廠商的推動下,RISC-V取得了長足發展。但從過往的 歷史 看來,任何一款架構的普及都需要時間。如PC時代的x86架構統治了指令集架構市場幾十年,後PC時代才迎來Arm架構的崛起,Arm也用了幾十年,才走上了巔峰。換而言之,計算負載的變遷需要經過一個長時間的生命周期。也就是說我們現在雖然已經進入了萬物互聯時代,給RISC-V創造了機會,但這個新興指令集來說,也只是邁出了第一步。
再者,現在的指令的發展趨勢是開放度越來越高。如Arm崛起的原因很大程度上是因為它引入了更多的市場參與者。同樣地,我們也將看到RISC-V作為開源架構標桿對於新一代晶元設計廠商的吸引力,也許未來的英偉達、英特爾就會從這個生態中誕生。為此嘉楠也會持之以恆地投入其中。
張楠賡同時還強調,RISC-V生態還在持續壯大,特別在邊緣側場景中,因為很多業內通行的設計標准和協議標准尚未統一,所以在百家爭鳴的現階段中, 探索 自己獨特的技術路線更有意義,這也是作為RISC-V的堅定支持者嘉楠所踐行的。
「但我們也應該認識到,將晶元轉化為智能產品需要一個過程。與軟體不一樣,硬體是一段漫長的旅程、很花時間。需要先完成原型,然後客戶進行測試,可能還要進行一些反復開發,所有這些事情都會比在Linux上debug花更久時間,也需要在生態上花費更多心思」,張楠賡補充說。
基於以上考慮,嘉楠會堅持依託RISC-V架構進行自主IP核研發的技術路線,為市場帶來性能表現更優的晶元。同時,公司也會在軟體方面發力,給客戶帶來更方面的研發體驗。
據介紹,通過公司採用統一的AI編譯器,勘智系列KPU能支持 TensorFlow、PyTorch和ONNX 模型導入。支持運算元融合、稀疏壓縮和量化等優化手段,對模型的延遲和帶寬進行深度優化。K510同時還支持豐富的網路模型運算元,當中包括常見的 CNN、RNN 運算元和各類向量計算和數據處理操作。
「嘉楠的成長受惠於開源,公司也將全面擁抱軟硬體開源戰略。嘉楠已經決定把公司在硬體模塊、軟體演算法的積累,以及晶元手冊等基本資料去阿奴共享出來給開發者使用,與全球的開發者共同推進RISC-V生態的繁榮。」張楠賡說。在他看來,推動RISC-V產業的發展,除了有利於公司本身以外。這於中國晶元產業來說,也是有百利而無一害的。
過去,晶元設計有時需要上億研發費用,投入上百人,但這是中小企業不易承擔,而且也不一定能掌握發展的主動權。但開源的RISC-V晶元設計能將晶元設計門檻大大降低,讓3到5人的小團隊在3到4個月內,只需花幾萬元便能研製出一款有市場競爭力的晶元,從而將促進晶元產業的繁榮,能更好地支持人工智慧等新一代信息技術和數字經濟的發展。
張楠賡認為,晶元產業最關鍵的是人才。在晶元設計門檻降低之後,將會吸引到更多的人才投入這個行業,這有助於奠定本土晶元產業長遠發展的人才基礎;另一方面,因為x86和Arm架構自身比較封閉,不容易進行創新。
「有了RISC-V之後,本土的一些架構創新的成果也容易以開源的形式進行推廣,有助於打造中國在開源晶元領域的話語權。」張楠賡強調。
晶圓 集成電路 設備 汽車 晶元 存儲 MLCC 英偉達 模擬晶元