首頁 > 文章 > 經濟 > 產業研究

科普:ARM的授權方式

十一月zz · 2019-05-23 · 來源:CSDN
收藏( 評論() 字體: / /

  在和同學聊天的時候老是聽到IP核這種稱呼,不太清楚這個IP核應該怎么理解,是A53、A72這種東西嗎?今天專門調研了一下。

  IP核是具有知識產權的、功能具體、接口規范的可以在多個集成電路中重復使用的功能模塊,是實現系統芯片的基本構件。 你可以簡單理解為設計完善的功能模塊。(而這里的【設計】是根據完善程度有不同的形式,可分為三類:軟核、固核、硬核)

  軟核:理解為【程序代碼】,是用硬件描述語言實現對功能模塊進行描述(比如用VHDL編寫的一個觸發器,是文本形式),不包含任何物理實現信息。(軟核特點是對用戶來講可移植性強、設計周期短、成本低。缺點是物理實現性能不定不全面,產權保護不佳)

  固核:除了實現功能模塊的程序代碼之外,還包括門級電路綜合和時序仿真等設計環節,一般是以門級電路網表的形式提供給用戶。固核可以理解為是不僅包括軟核程序代碼,還包括【程序員模塊設計意圖與硬件物理實現之間的規則】。

  硬核:基于物理描述,并且已經通過工藝驗證可行的,性能有保證。是以電路物理結構掩模版圖和全套工藝文件的形式提供給用戶(芯片生產廠家)的。

  架構的三種授權方式[1]

  在傳統PC領域,半導體廠商一般有兩種路子可選。首先是Intel那樣的,從頭到尾自己大包大攬,架構和芯片的設計、生產一律不依靠任何人。這樣做是需要極其雄厚、全方位的實力做保障的,得有錢、有人、有技術,特別是在半導體技術日益復雜的今天,能這么做的屈指可數。好處當然也是很明顯的,不但能完全自己把握自己的命脈,利潤也是極其可觀,Intel幾乎任何產品都可以享受非常高的利潤,想賣多少錢就可以賣多少錢。

  另外一種是無工廠模式(Fabless)。NVIDIA就是這樣,AMD實在耗不過Intel就也變成了這樣。這類企業只是自己設計芯片,制造則交給代工廠,比如臺積電、聯電、GlobalFoundries、三星電子。好處很明顯了,負擔很輕,自己只管設計就行了,不用耗費巨資去興建晶圓廠、開發新工藝,但壞處同樣很突出:你設計出來了,能否造出來、即便造出來又是個什么樣子你就無法做主了,得看代工伙伴的能耐。這方面的教訓當然很多:臺積電40/28nm兩代工藝最初都很不成熟,產能也是遲遲上不來,讓整個行業為之拖累;GlobalFoundries 32nm工藝沒有達到AMD的預期水平,第一代FX/APU處理器的頻率和電壓就跟設計得差很多,28nm工藝吹了那么久直到現在才剛剛上路,迫使AMD一度放棄了整整一代的低功耗APU,不得不重新設計再去找臺積電。

  ARM就跟他們完全不一樣了。它不制造、不銷售任何芯片,只是自己設計IP,包括指令集架構、微處理器、圖形核心、互連架構,然后誰喜歡就把授權賣給誰。客戶拿著ARM的IP可以自己想怎么干就怎么干。ARM的經營之道其實非常簡單,以三種不同的模式對外提供授權:[1]

  架構/指令集層級授權[1]

  指可以對ARM架構進行大幅度改造,甚至可以對ARM指令集進行擴展或縮減,蘋果就是一個很好的例子,在使用ARMv7-A架構基礎上,擴展出了自己的蘋果swift架構(這兒的swift是類似于A53這樣的核,因為其實指令集是很簡單的,但是由指令集造出來核是很麻煩的);

  內核層級授權(也就是你所說的ip核授權)[1]

  指可以以一個內核為基礎然后在加上自己的外設,比如USART GPIO SPI ADC 等等,最后形成了自己的MCU,這些很多,比如三星、德州儀器(TI)、博通、飛思卡爾、富士通以及Calxeda等等等等。。

  使用層級授權(什么是使用層級的授權我也不清楚,難道說是類似于POP IP那樣的東西?)[1]

  要想使用一款處理器,得到使用層級的授權是最基本的,這就意味著你只能拿別人提供的定義好的ip來嵌入在你的設計中,不能更改人家的ip,也不能借助人家的ip創造自己的基于該ip的封裝產品;

  作為最低的授權等級,擁有使用授權的用戶只能購買已經封裝好的ARM處理器核心,而如果想要實現更多功能和特性,則只能通過增加封裝之外的DSP核心的形式來實現(當然,也可以通過對芯片的再封裝方法來實現)。由于擔心對知識產權保護不力,ARM對很多中國背景的企業均采取這一級別的授權。

  做個很形象的比喻:假設我寫了一篇文章,我告訴甲,你可以拿去修改后使用,便是架構層級授權,我告訴乙,你可以在你的文章中引用我的文章,便是內核級授權,我告訴丙,你只能對我的文章進行轉發,不能更改,不能添油加醋,便是使用層級授權。

  因此,如果華為分別拿到架構授權和ip核授權,那么意味著它可以在ARM指令集基礎上根據需要創建出自己的內核架構,并可添加各種片內外設比如通信接口、顯示器控制接口、GPIO等等,從而生產出自己的“處理器芯片”。

  疑問:

  1、什么是架構?

  關于架構這個詞,存在著指令集架構和內核架構,顯然這是兩個不同的東西,知乎上面有大神關于計算機體系結構的詳細解釋[4]:

  首先,我們看一看體系結構領域圣經(Computer Architecture - A Quantitative Approach 5E)的一些關于Architecture的解釋:“Several years ago, the term computer architecture often referred only to instruction set design. Other aspects of computer design were called implementation, often insinuating that implementation is uninteresting or less challenging.” 意思是多年以前,體系結構主要指指令集,也就是ISA的設計,而其他的層面都叫做“實現”,那時候認為ISA是最難設計的。然后,文中指出了以前的觀點的錯誤(過時)“We believe this view is incorrect. The architect’s or designer’s job is much more than instruction set design, and the technical hurdles in the other aspects of the project are likely more challenging than those encountered in instruction set design.”,這段話表達的意思是設計和實現的難度是遠遠大于ISA的。

  ISA大家應該都明白,知道CISC和RISC的都會明白ISA。我們主要關注書中所說的“實現”,也就是implementation:“The implementation of a computer has two components: organization and hardware.”;也就是implementation主要包括組織架構和硬件兩部分。

  何為組織架構,“The term microarchitecture is also used instead of organization. For example, two processors with the same instruction set architectures but different organizations are the AMD Opteron andthe Intel Core i7. Both processors implement the x86 instruction set, but they have very different pipeline and cache organizations.” 組織結構也就是我們常提前的微架構,文中還舉了intel和amd的例子讓讀者加深理解。何為hardware,“Hardware refers to the specifics of a computer, including the detailed logic design and the packaging technology of the computer.”,主要涉及到詳細的邏輯設計以及封裝工藝等等。

  所以顯而易見,計算機體系結構= ISA + 微架構 + 硬件,“the word architecture covers all three aspects of computer design—instruction set architecture, organization or microarchitecture, andhardware.” 其實現在芯片設計的整個流程也就是按照這個思路來走的,選好了ISA,然后就行邏輯上的設計(最常見的ARM的IP軟核就是這個層面,就是verilog/vhdl寫的rtl代碼),當然你要做soc的話就會邏輯設計過程會和驗證交叉耦合的,然后rtl代碼freeze后會物理設計就會大張旗鼓的進行了,再之后便是tape out 流片了。(對后端很多東西不了解,只是說個大概,歡迎指正)。

  然后現在可以比較一下龍芯和海思的區別(其實完全沒有必要,側重點完全不同,都不是做一個市場的)。龍芯選擇了兼容MIPS的ISA(里面增加了許多自定義的指令),然后從微架構開始一直做到流片前,流片一般是中芯國際和意法半導體吧(最近都在中芯國際),因此,拋去其他因素,龍芯的CPU IP CORE是自己做出來的(和ARM 授權的IP類似)。海思的芯片不是從CORE開始做起的,選用的是ARM 的 IP CORE,基本上從SOC開始做起的。說簡單點,一個有CORE,一個沒有CORE。當然從SOC做起是很了不起的事情,畢竟芯片不僅僅是一個CORE的。所以兩者沒有高下之分,只有技術路線的區別。請上面的某些“大V”們不要為黑而黑,為了贊美誰故意貶低誰,留給知乎一片凈土,一片沒有戾氣的氛圍吧。海思的芯片不多說,主要就是做智能手機的。而龍芯的芯片主要是主打PC的,奈何在桌面上WINTEL的聯盟實在太難打破,所以任重而道遠啊,當然龍芯在AQ和JG等方面還是很有建樹的,不能宣傳,點到為止。有興趣可以關注最新的北斗的芯片,主要是龍芯的1E和1F,宇航級芯片要通過一系列抗輻照測試等等才能上天。

  上面是一個大神的回答,對于此回答的下面Bert的評論講的很有重點:現在CPU的設計微架構的實現才是難點吧,ISA不都有嗎,有誰見過會把微架構詳細公開的,微架構的實現直接影響性能,面積和功耗這些都是需要各種折衷的,千差萬別。也沒人會把自己芯片的微架構公開的,有了祥細的微架構,就可以直接寫RTL了。據說,ARM的CPU才是寫RTL綜和出來的,其他高性能CPU據說是全定制設計的。這兒講的微架構的實現,我認為就是說的ARM cortex-Ax的實現,也就是高通自己研制的的Scorpion、Krait、Kryo這些東西,這些東西的實現涉及到流水線的設計,流水的取指、譯碼等的寬度,是否亂序,亂序的程度等等[5] 。對于蘋果的自研機構,Swift(基于ARMv7)、Cyclone、TYphoon、Twister等見下圖[6][7]:

1.jpg

2.png

  可以看到這不同的自研架構之間最顯眼的區別就是流水線參數的不同:發射寬度、重排序緩沖區的大小等的不同。

  對于Bert的評論,迪迦奧特曼解釋到:都是寫RTL綜合出來的,包括Intel在內,只是從綜合往后的設計流程里面有多少是工具生成的、有多少是手工做的,這個區別。不使用RTL和EDA工具配合在現在的設計規模下已經不可能了,工作量已經不是人能承受得了的,就跟現在沒有人會用純匯編寫windows一樣。

  對于Bert的評論,Wayne Zhu補充:IP核分為行為(Behavior)、結構(Structure)和物理(Physical)三級不同程度的設計,對應描述功能行為的不同分為三類,即軟核(Soft IP Core)、完成結構描述的固核(Firm IP Core)和基于物理描述并經過工藝驗證的硬核(Hard IP Core)。

  軟核就是我們熟悉的RTL代碼;

  固核就是指網表;

  而硬核就是指指經過驗證的設計版圖。

  ARM還是以軟核為主的。直接拿到RTL的。有了RTL代碼就有了微架構的實現方式。所以說,給你RTL就相當于給了你ARM cortex-Ax的核心。所以說RTL的授權應該就是cortex-Ax這些核心的授權,雖然給你RTL,但是你不能拿ARM的RTL直接改然后變成自己的微架構,這樣是不允許的[3]。給了你RTL你所能改動的東西就是cache的大小,核心的多少配置。如果想弄自己的微架構,只有買指令集授權,然后一點點的慢慢做。

  對于ARM cortex-Ax系列的微架構:

3.png

  15+級亂序流水線,128位預取,3寬度解碼,每時鐘周期可分派最多5個微操,滿足最多7個發射隊列,進入8個執行流水線。

4.png

  A73十分類似A17,因為順序前端的優化流水線短得多,預取階段也只有4級深度(A72 5級),整個流水線深度也才11-12級。相比于A17,它將整體最大分配率從4個微操增加到了6個。NEON發射序列仍然是2個微操,但是整數部分翻番到了4個。浮點流水線還是2條,預取監視器也是1個,但是AGU部分可同時執行載入和存儲操作。整數流水線則分成了2個復雜的ALU,分別負責乘法和除法。

  A73依然堅持四核心理念,即每個簇可擁有1-4個核心,然后使用SCU單元互聯各個簇。二級緩存最多8MB,等同于A17而兩倍于A72,但相信多數芯片廠商都會選擇1-2MB。

  A15/57/72還肩負著沖擊工業、大規模服務器系統的重任,A73就簡單了,只針對消費級市場,這讓它輕松了不少,比如去掉了AMBA5 CHI接口,僅支持AMBA4 ACE,一級緩存也不再支持ECC。

  2、華為的K3V2是什么?

  K3V2是AP,不單單是CPU.AP里面有CPU/GPU和一堆控制器USB/LCD等等。K3V2是一顆4核A9的AP。目前海思絕對是國內最大的AP廠商,但國際大廠差距甚遠,國內應該是高通和MTK,占據了8成以上,目前還是自產自銷,當然除了CPU還有基帶業務,基帶也是需要CPU的。其實海思做CPU已經很久了,以前只是給內部供貨,或者做基帶/數據卡,不為終端消費者所知道而已。最近幾年大業務(電信服務器)發展緩慢,經濟危機,沒升級需求,華為想推自己的品牌做終端,進行轉型,才逐漸讓消費者知道,實際上海思已經給國內國際大廠貼牌設計過很多年,這也算是積累。業務背景扯完,說點技術的。現在做CPU,不單單是一套指令集的問題了,其實設計一套指令集很簡單,大學教材里面都有,至于搞出來有沒有人用,那就是另外一回事請了,即使是好東西,也不一定有人用,ARM和MIPS就是很好的例子。這玩意涉及到整個生態系統的構建,比如業界有沒有大佬采用你指令集,周邊配套是否齊備,你不能指望個一個種水稻的農民給你來份滿漢全席,得有個產業配合。所謂指令集,也就是架構IP,現在國內公司只能靠買了,基本都是ARM,畢竟他產業鏈比較全。好在ARM現在也推出架構授權了(這兒的架構授權,可以認為是指令集架構的授權),不過這玩意價格不菲,但買了就可以改ARM的架構實現(這兒的架構實現,可以認為是cortex-Ax這些東西的實現),高通就是先例,可以搞點創新。買來架構,你還只是個CPU,一個AP需要搭配很多周邊器件,GPU,LCD,USB都需要集成,至于集成什么是需要看你產品定位,需要什么功能,把這些東西都買齊了,你可以開始建模了,所謂建模就是把這些東西連起來,驗證功能的正確性,然后用FPGA來驗證硬件,FPGA沒問題了,把生成的網表文件交給臺電,中芯去代生產。流片回來之后,開始點芯片,移植操作系統,托Google的福,android已經把90%以上軟件工作都已做完,軟件生態系統也已經建好,當然你要用其他的操作系統你就得衡量衡量工作量。后面就是用這個AP去搭配外設去生成終端消費產品了。目前流行大廠AP都有自己的獨門秘笈,高通強在通信,做手機,特別是3G手機,你繞不開他專利,都得交份子錢,和基帶集成好。MTK強在集成,廉價的生態系統,出貨快。其他的都是小魚小蝦,宣傳的不錯,都有自己的賣點,但是量不大。說到完全自主研發芯片,振興民族產業,個人感覺現在意義不大,噴子喊喊口號而已。完全可以在別人現有的基礎上改造創新,一方面企業需要盈利,這樣做成功概率比較高,另一方面重復發明輪子對人類貢獻也不大,要想騙國家錢那是另外的事情。

  3、關于ARM的賺錢模式:

  作為ARM的授權人,有兩部分錢是必須交的:前期授權費(up front license fee)、版稅(royalty)。其它收費項目還有不少,比如軟件工具、技術支持等等,但主要就是這兩個,分別占ARM總收入的大約33%、50%。

  前期授權費一般少則100萬美元,多則1000萬美元(也可能更少或者更多),一次性付清。具體多少取決于所購授權技術的復雜程度,比如古老的ARM11就比最新的Cortex-A57便宜很多。

  版稅則是每賣出一顆芯片交一點,通常是售價的1-2%。如果芯片是賣給其它企業或者消費者的,很好計算;如果是內部消化,那就按照應有的市場價來定。

  4、MIPS

  MIPS收取IP授權要比指令集授權更貴,而且允許添加指令,這就使得大佬們紛紛自行設計MIPS核心、添加指令、發布開發工具,碎片化嚴重,而ARM反其道行之,指令集授權遠遠比IP授權要貴,控制了碎片化。當時ARM還極有眼光的設計了全世界最好用、最便宜的USB調試工具,吸引了一批碼農,從而構建了巨大的ARM開源軟件庫[3]。對于MIPS和Imagination之間的關系可以參見[9],MIPS+Imagination的Power VR其實又是一個類似于ARM的CPU+GPU組合。

  5、網表

  網表:

  首先聲明不是HDL語言里面的東西,而是綜合工具里面的東西~~

  綜合的概念就是你寫的是verilog代碼。但是他只是代碼。其實不起到任何作用,只是做了這個模塊的行為級的描述。但是電腦對verilog不能直接識別。所以要通過編譯器和綜合工具進行翻譯。編譯器檢查你的語法錯誤,以及初步邏輯功能的檢查。然后綜合工具將對應的設計轉化成“網表”。

  真正將你的HDL代碼變為可用的電路過程如下:

  xilinx的步驟synphysize(綜合) translate(注譯),map(映射),和place and route(布局布線)

  altera的步驟為complie(編譯)synphysize(綜合) fitter(布線)

  綜合以后生成的就為網表文件。這個文件只是一個電路的雛形,這步完成以后你可以看到RTL(寄存器傳輸級)電路。也可以看到technology 電路。兩者區別等你看到就很快明白。這兩張圖片是對網表的一種直觀的顯示。也就是綜合器最后綜合出了你的邏輯電路。放在網表文件中。

  注意:到網表層時,你的HDL語言已經無用,這個時候需要用綜合器生成的網表文件來做下面的步驟。也就是說,你的語言已經轉化成電路了!!!下面步驟就是把電路移植到fpga上面了!!!!!

  轉化成電路以后:下面的步驟是根據不同的FPGA來具體的細化這張網表。比如說工具可以具體的算出某個信號的延遲是多少。其中包括多少的走線延遲和多少的組合邏輯延遲。然后最后根據FPGA的內部結構決定把這個門放到哪里。這個就是place&route。(拿xilinx的ISE舉例吧,綜合后生成的網表文件.NGC文件。在實現步驟里面,translate就是將.NGC網表和約束文件等放在一起進行解析。之后map將網表電路和約束文件和實際FPGA映射移植,最后就是布局布線生成實際電路,再做一些時序分析報告)

  到此,你就生成了一個真正的邏輯電路了,然后么。。呼呼~~生成個下載文件,你的FPGA或者CPLD就可以跑起來了。

  參考:https://zhidao.baidu.com/question/78107593.html

  參考:

  [1] ARM介紹2:授權模式(處理器優化包/物理IP包授權(POP)介紹、ARM的收費方式,只收CPU和GPU,總線和接口免費送)

  [2] 在CPU IP授權上,ARM 是怎樣戰勝MIPS的?

  [3] 一文看懂ARM公司

  [4] 華為海思是完全自主研發么?

  [5] 什么是高通處理器krait架構

  [6] 蘋果自主研發的A7處理器到底如何?數據告訴你

  [7]從A4到A10 Fusion處理器大盤點,蘋果告訴你核數多真沒啥了不起(下)

  [8] ARM新殺器,Cortex-A73架構解讀

  [9] Imagination的GPU太誘人,MIPS和Power VR都是中國需要的

  ---------------------

  作者:十一月zz

  來源:CSDN

  原文:https://blog.csdn.net/baidu_35679960/article/details/78446917

  版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

「 支持烏有之鄉!」

烏有之鄉 WYZXWK.COM

您的打賞將用于網站日常運行與維護。
幫助我們辦好網站,宣傳紅色文化!

注:配圖來自網絡無版權標志圖像,侵刪!
聲明:文章僅代表作者個人觀點,不代表本站觀點——烏有之鄉 責任編輯:晨鐘

歡迎掃描下方二維碼,訂閱烏有之鄉網刊微信公眾號

收藏

心情表態

今日頭條

點擊排行

  • 兩日熱點
  • 一周熱點
  • 一月熱點
  • 心情
  1. “深水區”背后的階級較量,撕裂利益集團!
  2. 大蕭條的時代特征:歷史在重演
  3. 瘋狂從老百姓口袋里掏錢,發現的時候已經怨聲載道了!
  4. 央媒的反腐片的確“驚艷”,可有誰想看續集?
  5. 到底誰“封建”?
  6. 該來的還是來了,潤美殖人被遣返,資產被沒收,美吹群秒變美帝批判大會
  7. 兩個草包經濟學家:向松祚、許小年
  8. “中國人喜歡解放軍嗎?”國外社媒上的國人留言,差點給我看哭了
  9. 掩耳盜鈴及其他
  10. 從歷史工人運動到當下工人運動的謀略——(一)歷史工人運動
  1. 到底誰不實事求是?——讀《關于建國以來黨的若干歷史問題的決議》與《毛澤東年譜》有感
  2. 歷史上不讓老百姓說話的朝代,大多離滅亡就不遠了
  3. 與否毛者的一段對話
  4. 孔慶東|做毛主席的好戰士,敢于戰斗,善于戰斗——紀念毛主席誕辰131年韶山講話
  5. “深水區”背后的階級較量,撕裂利益集團!
  6. 大蕭條的時代特征:歷史在重演
  7. 社會亂糟糟的,老百姓只是活著
  8. 瘋狂從老百姓口袋里掏錢,發現的時候已經怨聲載道了!
  9. 央媒的反腐片的確“驚艷”,可有誰想看續集?
  10. 不能將小崗村和井岡山相提并論!
  1. 北京景山紅歌會隆重紀念毛主席逝世48周年
  2. 元龍:不換思想就換人?貪官頻出亂乾坤!
  3. 遼寧王忠新:必須直面“先富論”的“十大痛點”
  4. 劉教授的問題在哪
  5. 季羨林到底是什么樣的人
  6. 歷數阿薩德罪狀,觸目驚心!
  7. 十一屆三中全會公報認為“顛倒歷史”的“右傾翻案風”,是否存在?
  8. 歐洲金靴|《我是刑警》是一部紀錄片
  9. 我們還等什么?
  10. 只有李先念有理由有資格這樣發問!
  1. 毛主席掃黃,雷厲風行!北京所有妓院一夜徹底關閉!
  2. 劍云撥霧|韓國人民正在創造人類歷史
  3. 到底誰不實事求是?——讀《關于建國以來黨的若干歷史問題的決議》與《毛澤東年譜》有感
  4. 果斷反擊巴西意在震懾全球南方國家
  5. 重慶龍門浩寒風中的農民工:他們活該被剝削受凍、小心翼翼不好意思嗎?
  6. 央媒的反腐片的確“驚艷”,可有誰想看續集?
亚洲Av一级在线播放,欧美三级黄色片不卡在线播放,日韩乱码人妻无码中文,国产精品一级二级三级
亚洲伦理AⅤ一区二区三区 在线观看免费h视频网站 | 在线观看视频人成福利 | 亚洲制服丝袜中文字幕在 | 亚洲中文字幕一区精品自拍 | 亚洲成a人v在线观看 | 偷拍久久肏屄aⅴ |