標籤:

中國自主PC處理器晶元的發展之路

中國自主PC處理器晶元的發展之路

1.中國為什麼要發展自主PC處理器?

1.安全性的需要:晶元體積雖小,但卻控制著整個科技產業,從PC產品到移動終端、從伺服器到智能硬體。長期以來,不論是我國重要的黨政機關,還是民用領域,晶元研製都依賴進口。民用晶元可能無所謂,但黨政軍機關的晶元如果被利用,成為情報收集的利器,如稜鏡門事件,I/A後門事件,那麼中國的國防安全可能就會受到嚴重威脅。事實證明,只有中國自己研發晶元,那就是使用「國密演算法」的晶元,安全性才會有階段性的提高。所謂的「國密演算法」其實指的是能夠實現商用密碼演算法的加密、解密和認證等功能的技術(包括密碼演算法編程技術和密碼演算法晶元、加密卡等的實現技術),並且是由我國的相關信息安全部門所開發的。

2.從集成電路目前的發展趨勢來看,發展自主可控晶元的意義非常重大。集成電路產業在現在是炙手可熱的產業,我國每年集成電路產品的進口額巨大,但進口的集成電路部分經過加工又流回國際市場,我國為海外客戶加工集成電路,是全球集成電路產業的重要組成部分,但卻處在價值鏈的底端,為了擺脫這種現狀,我國就必須要自己搞設計、搞研發、搞生產。

3.晶元作為未來信息技術發展的支柱,在相當程度上也決定著國家發展的前景。PC晶元雖然只是桌面級設備,但卻佔據了最大的晶元市場,畢竟民用領域所佔的比重更大。如果中國能夠拿下一部分民用市場,在其他領域比如低功耗,嵌入式,伺服器領域就會有更多的資金去做研發。

2.中國為什麼要重點發展x86架構的晶元?

目前市面上存在的處理器架構分為兩種,一類是CISC(複雜指令集),桌面級晶元的代表

是x86,另一類是RISC(精簡指令集),其桌面級代表是ARM。其中又以x86 為代表。

從上述描述可以看到,目前存在的不同架構種類的晶元雖然有很多,但目前存在於主流桌面

操作系統的也只有ARM 和x86 架構,其中又以x86 架構為主,原因如下:

1.由於定位的不同,ARM 處理器基於精簡指令集(RISC)架構。指令集數量少就可以簡化硬

件邏輯的設計,減少晶體管數量,也就意味著低功耗。而且由於移動平台應用通常簡單,程

序的控制流不複雜,執行效率沒有必要很高,所以流水線、分支預測等硬體邏輯都比較簡單。

這些都降低了晶體管總量。同時因為移動設備有電池的能源限制,ARM 架構的設備的電源

管理是作為重要部分特別設計了的。比如移動設備的處理器在待機時通常只以極低的主頻在

運行,甚至可以暫時關閉閑置的核心,用協處理器來降低功耗。比較典型的就是蘋果公司的

IPhone 手機。從IPhone 5S 開始,除了搭載一枚「A」系列主處理器,同時也會附帶一個

「M」系列協處理器,從許多實驗數據來看,IPhone 在待機情況下幾乎(8 小時)幾乎沒

有消耗電量。x86 就截然不同。x86 是複雜指令集(CISC)架構,存在很多機器指令,只為了

高效地完成一項專門任務(比如MMX, SSE 中的指令)。這就使得硬體的邏輯很複雜,晶

體管數量龐大。為了高效地進行運算,x86 架構有較長的流水線以達到指令級並行(ILP)。長

流水線帶來的一個弊端,就是當遇到分支時,如果預載入分支指令不是未來真實的分支,那

么要清空整個流水線,代價較高。所以x86 為此還必須有複雜的分支預測機構,確保流水

線的效率。再加上多級cache(目前PC CPU 的cache 已經達到三級了),支持超線程、

虛擬化等等,x86 的複雜度其實相當高,當然後果便是功耗以及晶元體積的增長。

2.目前桌面級已經出現了像視頻剪輯,三維建模等一些需要高性能計算量的應用, ARM 架

構的晶元難以應付這些桌面應用所帶來的高密度計算,ARM 架構的處理器可能暫時也只能

應用在低功耗攜帶型設備上,如智能手錶等。

3.x86架構在桌面辦公領域佔據絕對核心的地位,政府、企業辦公都脫離不了x86整機和伺服器。這種龐大的用戶規模、突出的平台兼容性讓x86架構的這種地位,在很長時間之內很難被撼動。即便目前Wintel聯盟破裂(微軟在不久前宣布Windows系統將支持高通驍龍處理器,Wintel聯盟瓦解),軟體層面依舊難以迅速地扭轉這樣的局勢。

4.目前中國國內已經出現了像海思這樣的ARM晶元大頭,即便目前海思依舊使用的是公版架構,但由於前期的技術與資金積累雄厚,自主開發新架構勢在必得。反觀中國目前x86架構的研製廠商,只有兆芯稍微發展得好一點,其他的都處在蓄勢待發階段。

3.中國x86梯隊與AMD/Intel的差距主要有哪些?

筆者以兆芯ZX-C+和龍芯3A3000兩款晶元作為參照對比,這兩款晶元都屬於國產x86梯隊里的佼佼者,下面敘述中就簡稱兆芯和龍芯。

1.製程落後:製程是CPU發展的瓶頸。我們都知道,CPU的計算能力取決於其內部集成的晶體管數量,想像一下,製程越先進,晶體管之間的距離也就更小,所以晶元在相同面積大小下就能集成更多的晶體管,並且能夠減少漏電率,所以就能更好地控制功耗和發熱。過去AMD之所以失去了PC處理器的高端市場,筆者認為根本原因就是在於其製程工藝的落後。同頻率工作條件下,AMD的產品的功耗和發熱都要高於Intel的產品。目前,中國製程最先進的也只能達到28nm,而Intel目前已經能夠做到10nm(尚未形成量產規模)了。從兆芯以及龍芯的性能來看,雖然已經算是中國同一梯隊的高端產品了,但性能也最多只能企及Intel的酷睿i5 Ivy Bridge系列。並且由於其製程的落後,兆芯主頻最高只有2GHz,而龍芯只有1.5Ghz,且功耗已經達到了30W,能效比較低。雖然兩款產品的八核心已經能夠滿足日常需求,但顯然缺乏市場競爭力。筆者估計,兆芯和龍芯之所以沒有大刀闊斧地推出高功耗高頻率的CPU產品,製程落後可能就是其中的原因之一。

2.超線程技術缺失:超線程技術是在單個核心處理單元中集成兩個邏輯處理單元,也就是

一個實體內核(共享的運算單元),兩個邏輯內核(有各自獨立的處理器狀態),在一顆

CPU同時執行多個程序而共同分享一顆CPU內的資源,理論上要像兩顆CPU一樣在同一時間執行兩個線程。這個技術雖然只能提升約5~15%的效能,且萬一發生資源互搶的情形時,整體效能反而會下降。但就目前應用的發展趨勢來看,單個應用對於計算量的要求是逐漸增高的,譬如微軟在Diexct12顯示技術上對於多線程技術做了專門的優化。筆者相信未來支持超線程的應用會越來越多,超線程技術是未來晶元所應該具備的。而兆芯目前在桌面級的產品上還缺乏這樣的技術。其實隨著核心數增長出現瓶頸,單核性能需要增強的趨勢逐漸出現。目前因特爾酷睿i7以及i3系列都使用了這樣的技術,這也對晶元的集成度,流水線以及內存設計提出了更高的要求。

3.帶寬小:從已知的ZX-C+相關數據來看,ZX-C+存在訪存帶寬過小的問題,雖然和Intel的G3900同樣是2M緩存,但是Intel G3900的帶寬高了6-7倍,這會嚴重影響訪存密集型應用的水平,比如遊戲、多媒體設計軟體、實時處理系統等。

4.中國晶元該如何發展?

從筆者的觀念來看,我認為晶元發展應該分為三個階段。

第一階段:提高製程

從目前的兩款晶元的定位來看,為了彌補製程上的短板所導致的單線程能力不足,都是以多核心戰術來獲得性能上的保障。即便最高主頻只有1.5——2Ghz,但通過增加核心數,能夠基本滿足日常辦公需求。在這時候可能就會有網友站出來說,既然通過增加核心數可以提高晶元的性能,那麼直接在晶元上堆核心數不就完了。

在這裡,筆者想談談自己對於多線程技術的看法。

(一)多線程計算的優勢

舉一個例子,如果有一個非常複雜的計算模型,如果一個人計算,那麼很有可能對時間開

銷很大,但如果能夠將這個模型分解為

n個模塊,同時把這n個模塊分配個n個人進行計算,那麼效率顯然會提高不少。

目前,多數計算機操作系統都支持並發計算,但如果缺乏硬體多線程的支持,顯然效率是無法保證的。比如我在進行一個視頻的合成,處理器在工作時既需要進行視頻的編碼任務,同時也要實時更新任務完成的情況,如果在一個線程上運行,這個線程既要負責計算,又要負責輸出,顯然是很費時的,因為每一個任務周期後都要清除處理器流水線,但如果有了多線程硬體的支持,每個線程都能承擔相應的任務,任務周期的穩定性也就會大大增加。

Gustafson定律表明,對於許多問題而言,當它的規模增加時,程序不可並行化部分的比例將會減小。所以在大多數情況下,為了提高軟體的執行效率,軟體開發者都會對程序進行並行化處理。

(二)多線程的不足

從未來軟體發展的趨勢來看,越來越多的軟體肯定會支持多線程運算,但從多線程的實現原理來看,並不是說所有情況下用多線程都是好事,因為在多線程的情況下,CPU還要花時間去維護,CPU處理各線程的請求時在線程間的切換也要花時間。大多情況下,要用到多線程的主要是需要處理大量的I/O操作時或處理的情況需要花大量的時間等等,比如:讀寫文件、視頻圖像的採集、處理、顯示、保存等,多線程支持在此時就顯得十分重要,許多輕量級程序,比如office文檔編輯,圖片瀏覽實際上是沒有必要進行多線程運算的,甚至在多線程的情況下反而會降低運行速度。

(三)多線程開發的困難

筆者想從硬體和軟體兩個方面來分析

1.硬體:許多人可能認為,多線程硬體的研製其實很簡單,但實際上,多核CPU的開發難度與核心數是成正相關的。

首先,晶元由於製作工藝的限制,晶元體積越大,晶元的良品率就越低,所以,在有限的空間里,晶元能夠增加的核心數就非常有限。許多人可能觀察到了,相比於GPU成百上千的核心,桌面級PC的CPU往往只有四核到十核,這就牽扯出一個問題,CPU 能不能像GPU那樣,增加很多核?答案當然是不行。首先 ,CPU不能像 GPU 那樣去掉 cache,GPU 能去掉 cache 關鍵在於兩個因素:數據的特殊性(高度對齊,pipeline 處理,不符合局部化假設,很少回寫數據)、高速度的匯流排。對於後一個問題,CPU 受制於落後的數據匯流排標準,沒有cache就意味著數據讀寫效率低,導致計算性能低下。而對於前一個問題,因為 CPU 要提供通用性,就不能限制處理數據的種類,這也是 GPGPU以及類似Intel xeon phi的協處理器永遠無法取代 CPU 的原因。實際上,一顆晶元中,cache佔用了大部分面積,計算單元(特指ALU)所佔用的面積很少。其次,CPU 為了維護 cache 的一致性,要增加每個核的複雜度。還有,為了更好的利用 cache 和處理非對齊以及需要大量回寫的數據,CPU 需要複雜的優化(分支預測、out-of-order 執行、以及部分模擬 GPU 的 vectorization 指令和長流水線)。所以一個 CPU 核的複雜度要比 GPU 高的多,進而成本就更高(並不是說蝕刻的成本高,而是複雜度降低了成片率,所以量產最終成本會高),目前在民用領域的桌面級處理器中,Intel也只是將核心數增加到了十核心(I7-6950x)。而在伺服器領域的Xeon E7-8894 v4,也只有24核心。

2.軟體:

好馬得配好鞍。

如果單單只有硬體上的單線程,缺乏並行軟體的支持,硬體也是無用的。可並行軟體的開發,也並非易事。

舉一個估算π值得例子,有許多不同的公式可以用來估算π,其中最簡單的是:

π=(1-1/3+1/5-1/7+...+(-1)^n*(1/(2n+1))+...)

如果使用串列運算的話,代碼如下:

double factor=1.0

double sum=0.0

for (i=0;i<n;i++,factor=-factor)

{

sum+=factor/(2*i+1);

}

pi=4.0*sum;

如果此時一個程序員接到通知,要將這個任務並行化,那麼他匆忙中可能寫出下面的代碼:

void* Thread_sum(void* rank)

{

long my_rank=(long) rank;

double factor;

long long i;

long long my_n=n/thread_count;

long long my_first_i=my_n*my_rank;

long long my_last_i=my_first_i+my_n;

If (my_first_i % 2==0) factor=1.0;

else factor=-1.0;

for (i=my_first_i;i<my_last_i;i++,factor=-factor)

{

sum+=factor/(2*i+1);

}

return NULL;

}

如果使用兩個線程運行這個程序,並且n的值也相對較小的話,那麼我們發現這個程序與上一個程序(串列程序)計算的結果差不多。但當n的值增大時,就會發現一些問題,下面是筆者完成的計算結果:

n

10^5

10^6

10^7

π

3.14159

3.141593

3.1415927

單線程

3.14158

3.141592

3.1415926

雙線程

3.14158

3.141480

3.1413692

可以看到,隨著n的增加,單線程的估算結果也是越來越準確,但雙線程反而是越來越糟。事實上,多次運行這個雙線程程序,儘管n未變,但每次的結果都不同。根源在於:如果多個線程嘗試更新一個共享資源(在這裡是共享變數)時,結果可能是無法預測的。當然,這個問題可以通過設置臨界區來避免,但是同時也表明了一個事實,開發並行程序的難度遠遠大於串列程序。前段時間i3-7350k的日常應用處理能力比Ryzen 1800x還強的消息在科技媒體上被廣為流傳,這其實也就驗證一個道理,許多應用的並行化程度並不高,此時更加重要的應該是單核性能。

目前,對於PC有剛性需求的主要是兩類人群。一類是遊戲玩家,另一類是專業人員。

對於遊戲玩家而言:大型3D遊戲運行時,遊戲畫面多是由地形,建築,植被,人物,光線以及陰影爆炸等效果構成的。CPU的作用便是構建畫面中所有的3D模型,以及遊戲中的AI(人工智慧)計算,並且由於CPU的計算是實時的,所以在線程數充足的情況下,高主頻的CPU在此時的優勢更加明顯。在許多用戶的體驗中,核心數的作用反而顯得很次要,,在顯卡相同的情況下,四核高頻率體驗反而更好,所以許多情況下,作為遊戲玩家都很青睞Intel I7的四核處理器,而對於六核甚至是跟多核心的處理器反而不怎麼感冒。

下圖是Core i7系列運行各大型遊戲時的幀數。如果遊戲能夠使用DirectX12技術,則默認開啟。可以看出,默認主頻更高的i7 7700k在此時所表現的遊戲體驗更好。

對於專業用戶,尤其是涉及到設計師的工作,如AE,Pr,CAD等軟體,則更重視CPU的多線程計算能力,但也並不意味著單線程能力不重要,比如下圖:

可以很明顯的看到,雖然FX 8370與i7-6900k同為八核心處理器,但由於FX 8370受制於落後的製程(32nm製程)以及超線程技術的缺失,不管是單線程性能,還是多線程性能,都遠遠不及i7-6900k,甚至與四核八線程的i7-7700k也有較大的差距。所以單核能力不容忽視。最近AMD推出的銳龍處理器對於AMD過去FX系列的性能提升之所有這麼明顯,製程的提升就是一個很重要的因素。當然,內部架構的升級,對於單核心的優化也是很重要的因素。

多核心戰略,其實AMD早就玩過,但事實證明,盲目的追求核心數,追求頻率,是不可行的,在ARM架構的晶元當中,聯發科(MediaTek)同樣也這樣嘗試過,單核性能不行,我就堆多核,從Helio X10,到如今的Helio X20,從八核到十核,基本上都嘗試了一遍,但知道今天,聯發科也沒能讓自己真正地立足高端市場,反觀同樣是走自主路線的海思,以及三星的獵戶座系列,都在最近取得了很大的突破。希望國芯能夠很冷靜地看到這點,不然,走了彎路,再想回頭就很難了。

第二階段:進軍民用市場。

如果僅僅只是靠國家項目的支持資金以及少數政企機關的採購,筆者認為這是不現實的。

因為晶元的成本是與出貨量掛鉤的,在晶元的加工過程中掩膜成本是很高的,如40nm低功耗工藝的掩膜成本為200萬美元、28nm SOI工藝為400萬美元、28nm HKMG的成本則為600萬美元,有專家預計,當晶元製程到達5nm時,光是研發成本就可能達到160億美元,而出品一枚晶元是這個價錢,出品一億枚晶元也是這個價錢,分攤下來的結果便是成本高低的決定性因素了,且在生產途中還有許多的附加費用比如研發成本,人力物力成本等。所以PC領域的晶元需要市場來維持生存。且Intel的研發周期來看,一代製程的更替最少也用了二十個月,直到幾年前,英特爾還能夠每兩年降低其晶元設計的比例,但是周期在不斷拉長。從65納米過渡到45納米,英特爾用了約23個月;從45納米到32納米,27個月過去了;32納米到20納米,再到目前的14納米,則分別用了28和30個月。自2014年9月後,英特爾就卡在了14納米,最近Intel又宣傳,第八代Cannonlake架構酷睿將繼續使用14nm製程。而且隨著摩爾定律的逐漸失效,我相信在未來更新一代的研發周期超過三十個月也是遲早的事。未來國芯的發展,很難避免會有這樣的經歷,如果缺乏前期資金的積累,那麼研發周期就會相應地增長,惡性循環就會從此產生。

按理說,由於晶元的更新換代速度逐步放緩,所帶來的後果應該是PC市場出現頹勢,畢竟每年發布的新產品性能都沒什麼提升,一代產品堅持個四五年基本不是問題。但恰恰相反,近年來Intel在全球的出單量年年增加,每更新一代產品,都會吸引大量的用戶,究其原因,筆者認為有兩點:

(一)電子競技遊戲的帶動

最近幾年,電子競技行業得到了井噴式發展,不管是風靡一時的英雄聯盟,還是單機大作,玩家用戶,日活躍量都是一年比一年高。特別是像英雄聯盟這樣一類的擁有很廣泛的玩家的遊戲,通常每年都會有大量的賽事,而這也成為了硬體廠商盈利的重要渠道。許多玩家雖然很懂遊戲,但對於硬體,可能就知之甚少了。而每場賽事,我們都可以看到大量的遊戲外設,PC硬體的推廣,而消費者看到後,很有可能就會選擇去購買其產品,而且如果使用後發現產品的質量還挺好的,那麼可能會長期選擇這個品牌的產品,用戶粘性培養起來了,那麼硬體廠商就可以獲得更多的市場。

雖然Intel停在14nm已經有兩年了,但這也並沒有影響其銷量,其中很重要的原因,就是在每一代產品升級時都伴隨著CPU工藝的成熟,隨之也就帶來了更高的主頻和更好的超頻體驗,如最新的i7-7700k,許多用戶的實驗表明其可以輕鬆的超頻到5Ghz,而i7-6700k在同樣條件下也只能到達4.7Ghz左右,所以有些玩家為了滿足自己對於遊戲的極致體驗,也沒有對其嗤之以鼻。

(二)周邊技術的發展

隨著摩爾定律的逐漸失效,Intel也逐漸意識到,如果繼續堅持走過去的「Tick-Tock」戰略,把提升製程作為自己的主要目標,那麼對於Intel未來的發展肯定是不利的。但如何在自己積極研發的時候,保證企業的正常運轉以及市場活性,這就是一個大難題了。

Intel選擇的是在企業整體轉型的同時,積極地開發周邊技術,用那些很吸引用戶眼球的新技術來激活市場。

第七代酷睿,並沒有帶來產品整體性能的飛躍,但上市至今,非但沒有成為媒體的攻擊對象,反而一次次地被新用戶所接受,具體原因主要有以下幾個方面:

1.主打VR Ready。VR在最近幾年的發展大家是有目共睹的,但目前,由於受制於相關的技術局限,VR的體驗並沒有讓人滿意,第七代酷睿對於VR技術的改善,主要是進一步

完善對於

HEVC 10-bit 解碼能力和 VP9 解碼功能的優化。

2.Optane(傲騰)技術的支持。我們都知道,如果一台PC沒有SSD的支持,再好的配置在體驗上也會不盡人意,但傳統的SSD在容量上卻難以匹敵HDD,而Optane的作用便是能夠作為HDD的輔助盤,提高HDD的隨機讀取能力。

3.14nm+的工藝改進。第七代酷睿能夠在原有的高主頻基礎上進一步提升主頻,以至於I3-7350k的主頻突破4Ghz,而I7-7700k則是達到了4.6Ghz,超頻潛力也有了較大的提升,這無不歸功於Intel對於14nm的進一步優化。

看完了上述的介紹,其實也就能理解為什麼Intel對於這代酷睿如此自信的真正原因了。

所以,如果國芯真的想形成氣候甚至是超越國際大廠,沒有市場,單靠國家的補貼,政策的支持,是遠遠不夠的,這也就是小米松果澎湃S1晶元需要搭載在小米5C上的原因。市場中不僅僅只有競爭,更有巨大的流動資金。

第三階段:豐富自身產品生態,加強對GPU的研發。

筆者曾有過一個預測,如果國芯真的能夠在某一天與Intel一決高下的話,那麼它起碼應該具備這四個條件:

1.已經有能力自主量產14nm(或16nm)或者製程更高的晶元。

2.單個CPU主頻能夠達到4Ghz(默認頻率)或者以上,且TDP小於100W。

3.掌握並能夠使用超線程技術。

4.擁有相應完整的周邊產品生態。

追溯AMD與Intel的角斗史,其實不難發現,Intel獲勝的關鍵就是在於「Tick-Tock」戰略的形成。產品的研發就像時鐘擺動一樣,先更新製程,再完善製程。而AMD慘敗的關鍵原因,就在於它忽視了製程更新以及製程改進的重要性,從而陷入了主頻至上的陷阱裡面,殊不知桌面級的處理器即將遭遇主頻瓶頸,除了少部分發燒友和專業人士需要高主頻的產品

外,普通消費者更傾向於低功耗低發熱的產品。儘管如今

AMD仍然將不鎖倍頻作為自身產品的營銷宣傳的口號,但少數的發燒友的支持卻難以扶持AMD戰勝Intel,Intel從AMD的營銷中看出了市場需求差異化趨勢,分別量產可超頻或者不可超頻系列的主要原因之一。如果用戶不需要或者不願意超頻,那麼可以在犧牲少部分性能的情況下,降低功耗以及發熱量,譬如Intel第七代酷睿i7-7700和i7-7700k的主頻只是相差0.6Ghz,但TDP卻相差26W,且價格也有幾百元的差距,直接讓兩類用戶獲得了購買的目標。這樣做其實能夠給了消費者更多的空間,也容納了更多消費者。至於把自身產品生態做得完善,則是為了將自己的產品陣營做全。比如高端專業領域,消費者需要的是高性能處理器,所以相應的功耗或者發熱顯得就不那麼重要,只要在一個可控範圍了就行。中端消費領域,消費者主要是一些遊戲玩家,或者是少數平面設計工作者。他們的購買原則就是夠用主義,沒必要追求性能上的極致,遊戲玩家可能更傾向於把更多的預算花在顯卡上,而平面設計工作者則可能傾向把更多的錢用於購買一款色彩更好的顯示器上。而低端領域,面對的通常是日常辦公軟體,例如Office,Winrar或者QQ等一系列不怎麼消耗計算資源的應用。此外,隨著攜帶型設備的日益增長,低功耗設備數量逐漸增多,所以Intel才有了「M」系列(為攜帶型設備所定製的晶元,低電壓,低功耗),而AMD由於製程上面的短板,低功耗就意味著低性能,所以這麼多年來,筆記本、超極本領域的x86晶元基本上都是Intel提供的,而正因為上游供應鏈廠商太為單一,基本沒有硬體上的差異化存在,所有的筆記本產品的內部其實都是差不多的,只是外面套了一個自己的殼子而已,無法從本質上去進行突破,這就導致了目前筆記本市場的頹勢越來越明顯。由此看來,產品生態其實在更大程度上決定了產品的市場。

目前Intel在桌面級以及專業級領域都有相應的晶元類型。桌面比較有代表的就是酷睿,而專業領域的則是志強以及協處理器xeon phi,並且在一個系列裡,Intel都能在性能上做出較大的差距,比如酷睿系列裡,有i3,i5,i7,志強系列裡,又有E3,E5,E7。產品線的廣

度,也就給了

Intel在整個x86架構晶元市場的廣度。所以如果國芯在某一天已經能夠在製程和性能上與Intel差距不大的話,拓展自身的產品線是保持自己市場活力的關鍵。

最後,我認為國芯不能忽視的就是自身GPU的研發。當初AMD提出「融聚」概念,即APU,目的就是為了實現異構運算,帶來更理想的運算性能。筆者認為,GPU擁有CPU無法比擬的通用並行計算能力。過去十幾年裡,不斷提升計算能力已經成為許多飛速發展領域的和核心力量,比如:人類基因解碼,更準確的醫療成像,更快速準確的網路搜索,更真實的電子遊戲,都離不開計算能力的提高。但由於晶元製造工藝的要求逐步增加,單核心的能力或者單CPU能力得到提升已經接近瓶頸了,通過異構運算能將CPU性能提升到另一個台階。目前在伺服器以及超級計算機領域已經基本實現了異構運算,比如NVIDIA的計算卡Telsa以及Inte的Xeon phi超算卡,而在消費電子領域,似乎還沒有形成一種異構運算的氣候。除了目前桌面計算能力沒有很大的需求外,要實現這個理想,還需要有系統、軟體等生態環境的支持。Windows 8對異構運算的完善支持為其帶來了生存的土壤,不過,這是一條漫長的道路,要真正普及異構運算,「融聚」理念還有很長的路要走。但是,現在有許多專業級應用已經支持顯卡GPU加速了,例如Adobe公司的Pr,AE等,都支持CUDA和OpenCL加速,而其他諸如Maya,3Ds MAX一系列3D軟體則更強調這點。筆者發現,Intel雖然在CPU上實力強勁,但GPU上卻是很薄弱,這在一定程度上其實限制了它的發展,從長遠角度,未來如果在軟體生態上基本實現了異構運算的框架,雖然台式電腦上能夠通過安裝單獨顯卡來增強,但是在超極本或者平板電腦這類拓展能力相對較弱的設備上進行顯卡拓展則不太現實,從現實意義上講,GPU性能直接決定了電腦的遊戲效果,所以,未來如果ZEN構架能夠使AMD在低功耗領域有能力對抗Intel,則Intel在低功耗領域很有可能被擁有較強GPU實力的AMD超越。而顯卡Intel想與AMD進行深度合作,估計也是出於這樣的想法。從許多Adobe Premiere pro使用者的測試情況來看,即便是像NVDIA GT

650M

這樣的低端顯卡,依然能夠對渲染速度有15%--20%的提升。目前PC領域的人工智慧,大多都是依靠雲計算來為用戶提供智能服務的,無法進行離線操作,像現在的語音助手,日程助手這些簡單的AI都必須聯網使用,原因就是桌面CPU的計算能力以及存儲能力都沒有獲得階段性地提升,未來如果能夠離線使用這些,我相信異構運算是不可或缺的支持技術之一,這一點其實可以從Intel收購Havok來看可以看出來。如果在發展過程中忽略了對GPU技術的研究,我認為國芯很有可能會錯過未來異構運算技術的更新所帶來的紅利,所以國芯不能出現這樣「頭重腳輕」的情況。而之所以我認為在這個時候才開始進行GPU的研究,除了研究經費需要市場的供給之外,還因為如果國芯CPU的計算能力沒有達到一個層次,那麼開發GPU則是毫無意義的。要不然為什麼AMD每次發布旗艦顯卡,在發布會上進行多卡交火時使用的都是Intel的CPU。畢竟,到目前為止大多數的異構運算都只是停留在理論研究與開發上,GPU並沒不能取代CPU,且目前的桌面級應用大多還是依靠PC的計算能力,異構運算的理念雖然很豐滿,但缺乏軟體生態的支持卻是很骨感的現實。

總結:雖然國內有兆芯等一批擁有自主知識產權的國產晶元廠商逐步崛起,然而與國外領先廠商相比國產晶元在技術上仍有一定程度的落後,想要完全追趕乃至超越,打破壟斷還需時日。畢竟,Intel/AMD擁有著近四十年的晶元研發技術積累,相關的人才培養,市場開發的機制已經趨於完善。

目前阻礙國芯發展的因素,除了人才,還有經費。「許多大學生來到我們這裡,剛開始的時候還不錯,能踏踏實實地學習。但是經過了兩三年的培養,好多大學生就選擇了跳槽,因為待遇和薪酬是最大的誘惑。我們現在能留下四分之一的人就不錯了!」兆芯的傅總如實說道。而談到研發經費,那些世界級的超級大企業則是兆芯的5到10倍,就在這樣的差距下,兆芯的研發工作可想有多麼的艱辛。 在國家投資這一方面,應該說還是很支持的。誠然,帶有行政力量的投入,固然抑制了充

分的競爭。然而,要看到,在目前而言,如果沒有這種行政力量的加入,國內沒有任何可能誕生足夠用的處理器。當然,如果國家僅僅將處理器放到簡單的政府辦公這樣的角度看的話,誰做不是做呢,又何必勞力勞心扶植自己的力量。然而,如果將處理器這一個產品放到了更高的戰略角度考慮,那麼擁有自己的產品就是勢在必行了。說句不合時宜的話,或許當年西方對華禁運的名單上加上集成電路晶元,或許中國就有自己的獨立的

CPU和GPU了。


推薦閱讀:

CS224N Lecture2 筆記
薦書:《編碼:隱匿在計算機軟硬體背後的語言》
開始寫點什麼
證明論學習筆記5:賦值系統
破解數據存儲難題,復旦學者開創第三類存儲技術 | 中國發現

TAG:計算機科學 |