談到芯片,首先想到的一定是性能,功耗,價(jià)格,成熟度,生態(tài)圈兼容性等。但是只針對(duì)芯片本身的話,是看芯片內(nèi)部有什么運(yùn)算能力,比如處理器,浮點(diǎn)器,編解碼器,數(shù)字信號(hào)處理器,圖形加速器,網(wǎng)絡(luò)加速器等,還要看提供了什么接口,比如閃存,內(nèi)存,PCIe,USB,SATA,以太網(wǎng)等,還有看里面自帶了多少內(nèi)存可供使用,以及功耗如何。
性能,對(duì)CPU來說就是基準(zhǔn)測(cè)試程序能跑多少分,比如Dhrystone,Coremark,SPEC2000/2006等。針對(duì)不同的應(yīng)用,比如手機(jī),還會(huì)看圖形處理器的跑分,而對(duì)網(wǎng)絡(luò)處理器,會(huì)看包轉(zhuǎn)發(fā)率。當(dāng)然,還需要跑一些特定的應(yīng)用程序,來得到更準(zhǔn)確的性能評(píng)估。
功耗,從high level來看,也分動(dòng)態(tài)功耗和靜態(tài)功耗。動(dòng)態(tài)功耗,就是在跑某個(gè)程序的時(shí)候,芯片的功率是多少瓦。通常,這時(shí)候處理器會(huì)跑在最高頻率,但這并不意味著所有的晶體管都在工作,由于power gating和clock gating的存在,有些沒有被用到的邏輯和片上內(nèi)存塊并沒在耗電。芯片公司給出的處理器功耗,通常都是在跑Dhrystone。這個(gè)程序有個(gè)特點(diǎn),它只在一級(jí)緩存之上運(yùn)行,不會(huì)訪問二級(jí)緩存,更不會(huì)訪問內(nèi)存。這樣得出的功耗,其實(shí)并不是包含了內(nèi)存訪問的真實(shí)功耗,也不是最大功耗。為得到處理器最大功耗,需要運(yùn)行于一級(jí)緩存之上的向量和浮點(diǎn)指令,其結(jié)果通常是Dhrystone功耗的2-3倍。但是從實(shí)際經(jīng)驗(yàn)看,普通的應(yīng)用程序并不能讓處理器消耗更高的能量,所以用Dhrysone測(cè)量也沒什么問題。當(dāng)然,要準(zhǔn)確衡量整體的芯片功耗,還得考慮各種加速器,總線和接口,并不僅僅是處理器。
在芯片設(shè)計(jì)階段,最重要的就是PPA,它轉(zhuǎn)化為設(shè)計(jì),就是功能,性能,功耗,直接影響價(jià)格。其中,性能有兩層含義。在前端設(shè)計(jì)上,它表示的是每赫茲能夠跑多少標(biāo)準(zhǔn)測(cè)試程序分。通常來說,流水線級(jí)數(shù)越多,芯片能跑到的最高頻率越高。可是并不是頻率越高,性能就越高。這和處理器構(gòu)架有很大關(guān)系。典型的反例就是Intel的奔騰4,30多級(jí)流水,最高頻率高達(dá)3G赫茲,可是由于流水線太長,一旦指令預(yù)測(cè)錯(cuò)誤,重新抓取的指令要重走這幾十級(jí)流水線,代價(jià)是很大的。而它的指令又非常依賴于編譯器來優(yōu)化,當(dāng)時(shí)編譯器又沒跟上,導(dǎo)致總體性能低下。而MIPS或者PowerPC的處理器頻率都不高,但是每赫茲性能相對(duì)來說還不錯(cuò),總體性能就會(huì)提高一些。所以性能要看總體跑分,而不是每赫茲跑分。
性能的另外一個(gè)含義就是指最高頻率,這是從Backend設(shè)計(jì)角度來說的。Backend的人只看芯片能跑到多少頻率,頻率越高,對(duì)實(shí)現(xiàn)的時(shí)候的timing, noise等要求不一樣。頻率越高,在每赫茲跑分一定的情況下,總體性能就越高。請(qǐng)注意對(duì)于那些跑在一級(jí)緩存的程序,處理器每赫茲跑分不會(huì)隨著頻率的變化而變化。而如果考慮到多級(jí)緩存,總線和外圍接口,那肯定就不是隨處理器頻率線性增加了。
從后端角度考慮,影響頻率的因素有很多,比如:
首先,受工藝的影響。每一種制程(例如14nm)下面還有很多小的工藝節(jié)點(diǎn),例如LP,HP等。他們之間的最高頻率,漏電,成本等會(huì)有一些區(qū)別,適合不同的芯片,比如手機(jī)芯片喜歡漏電低,成本低的,服務(wù)器喜歡頻率高的,不一而足。
其次,受后端庫的影響。Foundry會(huì)把工藝中晶體管的參數(shù)抽象出來,做成一個(gè)物理層開發(fā)包(可以認(rèn)為叫DK),提供給工具廠商,IP廠商和芯片廠商。而這些廠商的后端工程師,就會(huì)拿著這個(gè)物理層開發(fā)包,做自己的物理庫。物理庫一般包含邏輯和內(nèi)存兩大塊。根據(jù)晶體管參數(shù)的不同,會(huì)有不同特性,適合于不同的用途。而怎么把這些不同特性的的庫,合理的用到各個(gè)前端設(shè)計(jì)模塊,就是一門大學(xué)問。一般來說,源極和漏極通道越短,電子漂移距離越短,能跑的頻率就越高。可是,頻率越高,動(dòng)態(tài)功耗就越大,并且可能是按指數(shù)級(jí)上升。除此之外,還會(huì)有Track這種說法,指的是的標(biāo)準(zhǔn)單元的寬度。常見的有6.75T,9T等。寬度越大,電流越大,越容易做到高頻,面積也越大。還有一個(gè)可調(diào)的參數(shù)就是閾值電壓,決定了柵極的電壓門限,門限越低,頻率能沖的越高,靜態(tài)功耗也越大,按對(duì)數(shù)級(jí)上升。比如需要低功耗(更多使用HVT的晶體管)或者高性能(更多使用LVT,ULVT)的晶體管。
接下來,受布局和布線的影響。芯片里面和主板一樣,也是需要多層布線的,每一層都有個(gè)利用率。總體面積越小,利用率越高,布線就越困難。而層數(shù)越多,利用率越低,成本就越高。在給出一些初始和限制條件后,EDA軟件會(huì)自己去不停的計(jì)算,最后給出一個(gè)可行的頻率和面積。就好像下圖,Metal Stack表明,整個(gè)芯片是9層Stack。
再次,受前后端協(xié)同設(shè)計(jì)的影響。處理器的關(guān)鍵路徑直接決定了最高頻率。這一部分,還沒體會(huì),先放著,不懂。
從功耗角度,同樣是前后端協(xié)同設(shè)計(jì),某個(gè)訪問片上內(nèi)存的操作,如果知道處理器會(huì)花多少時(shí)間,用哪些資源,就可以讓內(nèi)存的空閑塊關(guān)閉,從而達(dá)到省電的目的。比如Clock Gating,Power Gating等都是用來干這事的。
對(duì)于移動(dòng)產(chǎn)品,靜態(tài)功耗也是很有用的一個(gè)指標(biāo)。靜態(tài)就是晶體管漏電造成的,大小和芯片工藝,晶體管數(shù),電壓相關(guān)。控制靜態(tài)功耗的方法是power gating,關(guān)掉電源,那么靜態(tài)和動(dòng)態(tài)功耗都沒了。
另外,就是動(dòng)態(tài)功耗。動(dòng)態(tài)是開關(guān)切換造成的,所以和晶體管數(shù),頻率,電壓相關(guān)。動(dòng)態(tài)調(diào)頻調(diào)壓(DVFS)的控制方法是clock gating,頻率變小,自然動(dòng)態(tài)功耗就小,降低電壓,那么動(dòng)態(tài)功耗和靜態(tài)功耗自然都小。可是電壓不能無限降低,否則電子沒法漂移,晶體管就不工作了。并且,晶體管跑在不同的頻率,所需要的電壓是不一樣的,拿16納米來說,往下可以從0.9V變成0.72V,往上可以變成1V或者更高。別小看了這一點(diǎn)點(diǎn)的電壓變化,動(dòng)態(tài)功耗的變化,是和電壓成2次方關(guān)系,和頻率成線性關(guān)系的。而頻率的上升,同樣是依賴于電壓提升的。所以,1.05V和0.72V,電壓差了45%,動(dòng)態(tài)功耗可以差3倍。
再往上,就是軟件電源管理了,也就是芯片的Low Power管理策略。把每個(gè)大模塊的clock gating和power gating進(jìn)行組合,形成不同的休眠狀態(tài),軟件可以根據(jù)溫度和運(yùn)行的任務(wù),動(dòng)態(tài)的告訴處理器每個(gè)模塊進(jìn)入不同的休眠狀態(tài),從而在任務(wù)不忙的時(shí)候降低功耗。這里就需要PVT Sensor。在每個(gè)芯片里面都有很多PVT Sensor。
頻率和面積其實(shí)也是互相影響的。給定一個(gè)目標(biāo)頻率,選用了不同的物理庫,不同的track(也就是不同的溝道寬度),不同的利用率,形成的芯片面積就會(huì)不一樣。通常來說,越是需要跑高頻的芯片,所需的面積越大。頻率差一倍,面積可能有百分之幾十的差別。對(duì)晶體管來說,面積就是成本,晶圓的總面積一定,價(jià)錢一定,那單顆芯片的面積越小,成本越低,并且此時(shí)良率也越高。
從上面我們看到,設(shè)計(jì)芯片很大程度上就是在平衡。影響因素,或者說坑,來自于方方面面,IP提供商,工廠,市場(chǎng)定義,工程團(tuán)隊(duì)。水很深,坑很大,沒有完美的芯片,只有完美的平衡。在這點(diǎn)上,蘋果是一個(gè)很典型的例子。蘋果A10的CPU頻率不很高,但是Geekbench單核跑分卻比 A73高了整整75%,接近Intel桌面處理器的性能。為什么?因?yàn)樘O果用了大量的面積換取性能和功耗。首先,它使用了六發(fā)射,而A73只有雙發(fā)射,流水線寬了整整三倍。當(dāng)然,三倍的發(fā)射寬度并不表示性能就是三倍,由于數(shù)據(jù)相關(guān)性的存在,發(fā)射寬度的效益是遞減的。再一點(diǎn),蘋果使用了整整6MB的緩存,而這個(gè)數(shù)字在別的手機(jī)芯片上通常是2MB。對(duì)一些標(biāo)準(zhǔn)跑分,比如SpecInt2000/2006,128KB到256KB二級(jí)緩存帶來的性能提升僅僅是7%左右,而256KB到1MB帶來的提升更小,緩存面積卻是4倍。第三,除了一二三級(jí)緩存之外,蘋果大量增加處理器在各個(gè)環(huán)節(jié)的緩沖,比如指令預(yù)測(cè)器等。當(dāng)然,面積的提升同樣帶來了靜態(tài)功耗的增加,不過相對(duì)于提升頻率,造成動(dòng)態(tài)功耗增加來說,還是小的。再次,蘋果引入的復(fù)雜的電源,電壓和時(shí)鐘控制,雖然增加了面積,但由于系統(tǒng)軟件都是自己的,可以從軟件層面就進(jìn)行很精細(xì)的優(yōu)化,將整體功耗控制的非常好。舉個(gè)例子,Wiki上面可以得知,A10上的大核Hurricane面積在TSMC的16nm上是4.18平方毫米,而ARM的Enyo去掉二級(jí)緩存差不多是2.4平方毫米,在2.4Ghz時(shí),SPECINT2000跑分接近,面積差了70%。
但是,也只有蘋果能這么做,一般芯片公司絕對(duì)不會(huì)走蘋果這樣用大量面積換性能和功耗的路線,那樣的話毛利就太低了。這也是為什么現(xiàn)在越來越多的整機(jī)廠家,愿意來自研芯片或者定制芯片的一個(gè)主要原因。
編輯:hfy
-
處理器
+關(guān)注
關(guān)注
68文章
19920瀏覽量
235694 -
電源管理
+關(guān)注
關(guān)注
117文章
6445瀏覽量
146201 -
cpu
+關(guān)注
關(guān)注
68文章
11090瀏覽量
217310 -
PowerPC
+關(guān)注
關(guān)注
2文章
39瀏覽量
30426 -
網(wǎng)絡(luò)處理器
+關(guān)注
關(guān)注
0文章
49瀏覽量
14265
發(fā)布評(píng)論請(qǐng)先 登錄
北京 8月9-10日 成都 9月19-20日《產(chǎn)品EMC正向設(shè)計(jì)與檢視》公開課火熱報(bào)名中!

成都 9月19-20日《產(chǎn)品EMC正向設(shè)計(jì)與檢視》公開課火熱報(bào)名中!

關(guān)于AI工廠三階段模型

上海 6月20日-21日《產(chǎn)品EMC正向設(shè)計(jì)與檢視》公開課火熱報(bào)名中!

PanDao:光學(xué)設(shè)計(jì)階段透鏡系統(tǒng)的可生產(chǎn)性分析
PanDao:光學(xué)加工評(píng)估
概倫電子層次化SoC設(shè)計(jì)規(guī)劃方案NavisPro介紹

Adams多體動(dòng)力學(xué)仿真解決方案全面解析
【「芯片通識(shí)課:一本書讀懂芯片技術(shù)」閱讀體驗(yàn)】芯片如何設(shè)計(jì)
EDA2俠客島難題挑戰(zhàn)·2025已正式開啟
設(shè)計(jì)早期對(duì)EMC的考慮
OpenAI自研AI芯片即將進(jìn)入試生產(chǎn)階段
DFM在實(shí)際應(yīng)用中的關(guān)鍵考慮和策略
一文了解芯片測(cè)試的重要性

評(píng)論