AMD 為什麼不增大單個核心的晶體管數量來提升單核性能?

我們都知道amd的cpu單核效率不如intel的,貌似單核效率只有intel的50%,這也是為什麼在網遊方面amd體驗較差的原因了。但是CPU性能歸根究底是由晶體管數量決定的吧,這個應該沒有問題吧?那我就想問問,為什麼amd不提升單個核心的晶體管數量來提升單核效率呢,我相信amd的設計人員肯定有這種思路,但沒有實行,那麼這種方法就存在他的弊端。是因為amd的技術條件下(製程什麼的)單核性能已經到了極限嗎?
能不能這麼做呢,amd現在產品普遍四核,弄一個超級大核+2個普通核心(跟現在的差不多)+一個省電核心,四個核心可以根據需要靈活調用,當需要高效率核心性能時調用超級核心,打造至尊體驗,在不需要這麼高的單核性能時調用2個普通核心(現在普通四核也只能調用一兩個核心吧),省電待機下用一個普通核心一個省電核心,這麼處理多好,雖然這樣做整體性能犧牲了,但總比現在垃圾四核實用啊,現在的垃圾四核在需要高單核效率的應用是渣的一塌糊塗,真不想說amd了,即實用也照樣不輸賽揚奔騰的體驗。
順便說下,我看過關於amd推土機打樁機之類的模塊化設計,知道一點模塊化設計的好處和先進性,比如hsa異構統一內存訪問,以後浮點性能交由gpu處理;比如2個核心一個模塊,把2個核心相同的部分共用,減少晶體管數量,提升晶體管利用率,簡化設計,降低功耗,2個核心一個模塊視為一個「大核心從」而提升「單核性能」,但是這種先進的設計需要系統和軟體的支持和優化,而弱小的amd估計已經等不到那一天的到來了,估計等到了估計這項技術也已經沒有了優勢,因為amd是沒有話語權的小農企,真為小農企感到悲哀,生不逢時。
說這個模塊化設計的原因是不想回答者曲解了我的目的,因為模塊化設計空有先進理念而無所用處,如果回答者用模塊化設計回答我,那得不到我想要的答案,因為模塊化設計貌似還沒有操作系統和應用能夠把一個模塊視為一個核心,所以單核性能依舊不行。而粗暴的提升單個核心的晶體管數量就不用考慮系統軟體的支持了。
求各位大神回答。
看回答說增加晶體管數量有難度,那為什麼蘋果a7做到了,難道蘋果cpu設計能力還能在農企之上?或者是因為arm構架容易x86構架難?


1. AMD增加晶體管數量沒有難度,這對TSMC和GF有難度。以GF這貨的水平,大核心就算能造出來,誰也買不起。
2. 目前大家都用多核是因為CPU設計太過複雜,單純增加規模無法抵消Memory Wall、Data Dependency,Control Dependency帶來的性能瓶頸。大核心設計在後期的Validation也會遇到很大困難,費時費力。
3. 提升單核IPC是一種提升性能的方法,但是不是唯一的方法。況且提升IPC是非常困難的,回報也少。每一代Intel CPU單核心IPC也只能提升百分之幾,由此可見一斑。
4. AMD之所以用模塊化設計,其根本的原因是AMD不是為了PC用戶設計的。AMD之所以選擇提高並行度為方向是因為推土機這一代架構是面向伺服器應用設計的。這個應用環境下不追求高IPC,而是多線程數,高緩存容量。剛發布的時候推土機還是能跟SNB架構在伺服器上比拼一下,就是很好的證明。
5. 所以推土機架構下放到桌面端就讓人覺得弱不禁風,因為PC端以單線程為主,非推土機設計的初衷。AMD也沒有能力再對CPU結構進行大改。
6. 關於A7。蘋果的Cyclone架構是根據ARM Cortex-A57改的,跟自主研發CPU難度沒法比。其次,儘管A7性能吹上了天,但是和AMD和Intel設計的晶元性能差距還很遠。個人估計性能大概只能相當於AMD的Temash SOC。由於沒有自主的知識產權,蘋果的CPU「設計能力」只能說在ARM的IP授權廠商里數一數二。


因為這條路很難走,難到intel也快走不下去的程度。

架構設計到成品就是4年,推土機系列2012年算起,重新設計一個架構到產品少說也得2016了。

zen就是大幅度提升單核性能的


你說的這種所謂思路,我們專業做設計的聞所未聞。


因為CPU的指令是串列的。下一條指令依賴於上一條指令的執行結果。單純增加晶體管只會增加更多的「看客」。以前CPU靠頻。現在主要依靠架構。在上一條指令的結果出來之前盡量為下一條指令做準備工作,或者尋找一條與其不相干的指令執行。
如果要單純刷晶體管數量,增加一點緩存就好了,但是光增加緩存對執行單元的性能沒有提升,減少了內存等待周期而已。
蘋果a7性能水分比較大。並且指令集不同也難以比較。

了解更多CPU的內容可以參閱CSAPP。


推薦閱讀:

TAG:中央處理器(CPU) | AMD | 性能 |