開發一個晶元架構有多難?

日常生活中,ARM,X86,伺服器領域:space,PowerPC等!在Linux Kernel文件中可有10多種CPU架構,全都是強大的cpu架構,至於中國壓根就沒有自主技術,問:開發一種全新的CPU架構究竟難度有多大?難在哪裡?


我假設說天朝真有一幫人聰明才智遠超intel,於是搞出了一個性價比比他更高的CPU架構以及一個實現。現在你要推廣出去。因為架構變了,我猜指令集應該是不兼容的。所以你首先要出一個spec,然後說服IBM、微軟、apple和GNU把他們的編譯器移植到那上面。

移植一個編譯器要花費相當多時間,首先你要實現一個後端,然後用這個後端來編譯自己,於是得到了一個可以再那個架構上運行的,生成那個架構的代碼的編譯器。好多年就過去了。

然後現在你要開始說服IBM、微軟、apple、linus把自己的操作系統移植到那上面去。好多年就過去了。

然後你要開始說服全世界眾多的開發者,在自己還沒拿到那個架構的情況下,給他寫軟體。好多年就過去了。當然我們都假設軟體是真的可以無痛切換架構編譯一份的。這很理想,雖然實際上是不可能的。為了測試他們,好多年就過去了。

這樣你終於可以把系統裝在那個新的架構上,把一整台機器賣給你的客戶的同時,上面還有一大堆軟體,給那些可憐的消費者,還有那些搖錢樹大企業來運作了。


難的確是難的,但也不是難到天上去,如果不追求各種領先(性能領先功耗領先穩定性領先等)只是弄出一個與眾不同的架構(與眾不同是為了繞開各種架構里的專利)的話,國內是能做出來的。但做出來只是第一步,麻煩的是後續的ecosystem,你得讓大家來支持你這個架構就很不容易。還有條路是你自己開發翻譯器來翻譯不同架構之間的指令這樣你就可以沿用現有的其他架構上的eco system,但這樣的效率/穩定性/可靠性都是問題而且也有專利的問題挺難繞過去。

要問這個有多難,那就看看PC領域王者Intel在移動領域使勁砸錢卻不斷折戟沉沙就知道了。。。。。。。。。。


我必須補充一個企業,一個2002年,胡錦濤去過的企業,一個名不見經傳的企業,一個目前消失了的企業。。。。

方舟科技,ARCA,

代表CPU是方舟1號,方舟2號。

這個公司,做了一個類似ARM體系的晶元,指令集區別於ARM,但類似,做到ARM9的水平,在2008年的時候,想進軍電子消費領域,做到ARM11的水平,但國家不再支持,產業鏈沒有形成,僅僅在市場上留下了一款MP3/MP4(叫什麼來著,忘了。。。。)

目前這個CPU僅僅應用與我國軍工領域(我猜的,不知道是否泄漏了國家機密)。

請記住這個CPU,從IC CORE設計,指令集設計,編譯器設計,都是自主的


沒有自主技術就沒有好了。買別人的不就行了。

非要自己開發一個有什麼意義?為什麼一定要在別人開墾好的地方要有「中國人自己的」?

市場需要你做你去做好了,不要為了做而做好不好。

要是intel、AMD都是一坨渣,CPU算力滿足不了大家日常,那這個偉大使命你去完成好了。

現在人家乾的好好的,其他人就別去丟人現眼了。


技術難道倒在其次,主要是資金和商業策略。

實際上我們國內應當也是有許多cpu的,不過都是單片機上那種,應用範圍窄。雖然就在我們周圍,但是我們沒有感覺,比如各種智能設備。

要實現一個你心目中主流cpu, 意味著龐大的資金,深厚的技術,充足的人員,成功的商業策略。

要達到那一步,中間是一個漫長的道路,至少需要幾年。這其中出一個錯誤,就可能延遲很長時間。

一般來說,能起步的企業都是有一定資金的。差別就在於這筆資金的使用。

如果希望能得到足夠的資金實現一個強大的目標,通常非常困難。因為投資都想立竿見影,投資人喜歡看到快速的進步。一旦達不到他們的預期,他們就不再繼續投入了。

這樣的情況下,你介紹自己取得了什麼技術進步,多麼重大,他們都不關心。

一個成功的商業策略可以極大的幫助實現你期待的目標。那就是儘快獲得收入,然後就可以穩定的前進。

在現實中,就是把目標定得更加合理,從小事做起,也就是從上面提到的小cpu做起。

只要有了收入,就能安心開發,不再受制於外部資金。

不要小瞧這一步。雖然很多國內企業做這個,但是認認真真做,以超過先進產品為目標的公司非常少。這從我們每年大量進口國外半導體產品就能看出來。

這也是為什麼我們是世界工廠,但是利潤低。如果關鍵部件用別人的,那麼基本上利潤的大頭都讓別人拿走了。

如果做到了這一步,有自己漂亮的小cpu, 做出來更先進的桌面cpu就有了一個很好的可能性。

之所以叫「可能」,是因為絕大部分企業都是止步於小cpu。

市場競爭,對現有成績的滿足,對於研發難度的畏懼,合作者的分裂,研發人員的流失等情況,很容易就讓一個公司停滯。

如果這樣的一個企業,能夠不斷積累資金,然後投入到新技術的研發,隊伍穩定,那麼自然能夠不斷升級自己的產品,不斷走上產業上游,cpu功能越來越強,專利越來越多。

這樣的情況下,吸收資金也就越來越容易。

那麼,有朝一日,實現自己的桌面cpu就完全可能。

整個過程雖然看上去複雜,但是實際上如果埋頭苦幹,不需要多久。

當然,上來就弄一個媲美於intel的強大晶元肯定是不可能的。這個時候,商業策略依然重要。

只要cpu能滿足基本的桌面需要,也就是上網,看電影,寫文章,就足夠了,就可以找到市場。

當然,即使這樣,也許要看成本控制程度。一台完整的電腦,要想獲得價格優勢,需要考慮到小到螺絲釘的數量這樣的問題。

這時候肯定需要自己進行整個電腦的設計和銷售,因為依靠別人,將會出現各種問題,嚴重影響進度。

這個時候,不要是想著兼容別人的指令集,不要想著跑windows, 那都是南轅北轍的。別人隨便挖一個坑,就意味著你的努力全部泡湯。

一切都要是自己的.

我們平時對於電腦的使用是什麼呢?寫文章,看電影,上網,打遊戲。只有打遊戲這個問題是該階段無法解決的。

不要認為沒有各種遊戲就沒有人用你的電腦。許多人被迫花很多錢買電腦,僅僅是因為找不到便宜的電腦。

而且,這個時候,就能引起對手的注意了,intel肯定會針對你的各個環節進行攻擊:

挖走你的人

打擊給你代工的工廠

用專利來騷擾你

即使虧本也奪走你的任何一個小單子

禁止房東出租辦公室給你

所有能夠使用的方法,他一定都會使用的。

這種殘酷性,你可以從當初華為打擊港灣的故事中了解一二。

這樣的時候,獨立自主的重要性就能顯示出來,你的專利可以讓你得到一些保護,你自己的盈利總是可以幫你支撐一兩年。如果反訴intel,至少在中國會得到政府的保護。

只要有幾個單子,讓你立足了腳跟,讓自己的cpu能夠被大眾所接受,那麼離最終的成功也就不遠了。

只要管理層堅定,隊伍穩定,現金流順暢,5年足夠了。

當然了,實際上這意味著一個非常龐大的計劃,需要細化到每一周每一天要做的事情。

至於許多人說的各種各樣的困難,實際上都不是困難。

沒有os願意使用你的cpu, 就自己動手移植linux

沒有bios, 就自己完成。

至於生態環境,就更沒問題了。不是有了生態環境才有了intel,而是正好反過來。

我們許多時候總是很容易誇大困難,結果束縛了自己。


都忽略了重要一點,技術也是需要市場的,這才是這個問題的關鍵

CPU的架構開發難嗎?我在北美讀研的時候有門課的練習就是設計一個cpu,當然了,是很簡單的,提供一些簡單的指令。

先進的CPU架構開發中國到底有沒實力開發呢,我個人在行業里的了解,真要做,未必做不出來,當然不一定是領先水平,接近還是有可能的。

有人問那為什麼不做呢,請問做哪個?x86?那是別人的專利。龍芯做mips也是得到別人授權的。

有人問那做一個完全自主創新的?可以,甚至你做出來的也許某方面比現有的架構還有優點。

可是做出來有市場嗎?賣給誰?因為不能侵犯專利,所以你的指令集肯定不能和現有的一樣,只能是你自己獨有的。誰會基於你的架構來開發呢?你的下游市場怎麼來呢?你憑什麼讓微軟基於你的來開發系統和軟體?沒有市場,你做出來的CPU只能自己玩

市場已經被佔了,你想要翻天覆地,除非歷史性變革,怎麼可能?大家都習慣了用windows,你開發一個pillows,就算比windows好用,誰會願意換呢,一大堆windows的軟體,你有嗎

上個世紀的後30年,中國沒有跟上世界的腳步所以現在的局面也是沒辦法的,別人的架構專利已經佔領市場,很難改變了

為什麼必須給高通付專利費?也是一個道理

這跟技術實力甚至都沒太大關係了


我用C++做晶元架構模擬,跑SPEC06 benchmark,難點在於lodaer runner部分,其實等於在寫一個操作系統,我負責MIPS部分的指令集編寫,指令太多了,benchmark是個C++程序,把它反彙編成mips指令(比如說一個簡單的hello world, 反彙編後你會看到一堆mov,pc+4之類的mips彙編指令,這裡面你就可以大致了解晶元架構),然後對著手冊一條條寫,工作量太大了。multi2sim/src/arch/mips/emulator at master · Multi2Sim/multi2sim · GitHub 這是我當時在組裡寫的。


構架可以設計啊,但是專利流氓是個問題。

一個晶元組裡面就能被利益集團搞出幾百個專利出來,什麼基帶之類的。蘋果A系處理器再屌,還是要被高通告上法庭。

比如車輪子,同樣是個轉圈,花紋一樣都能告你侵犯專利。


伺服器晶元也是Intel x86架構佔主要地位吧。至少目前是。

很多公司正在開發arm架構的伺服器晶元,但是還有一段路要走。


只是自己做出來不難吧,但是要保證不侵犯已有知識產權,還要足夠好用,就不容易了。


不存在設計開發上的技術問題,而是市場和生產做工精度。

比如我大學同學目前在成都做國防科大一個晶元開發,製造還是只能給台積電。。


推薦閱讀:

既然華為的SoC是Arm公版設計,那所謂的自主研發體現在哪裡?
設計一款顯卡要做哪些事情?
龍芯真的不如移動晶元嗎?美國禁止向中國超算提供英特爾晶元後影響會多大?
在晶元設計中,為什麼有的晶元需要多個pll的ip?一般一個pll不就夠了嗎?
為什麼擁有巨大規模集成電路的cpu不會出錯?

TAG:ARM | 中央處理器CPU | 伺服器 | 硬體 | 晶元集成電路 |