最近有人在網上詢問:“CPU每一代之間的差距體現在什么地方?”,以下選取一些芯片業從業者中經典而詳盡的回答供讀者研究。
一、破布(知乎用戶):研究方向計算機體系結構,處理器微結構
這個問題可以分成兩個部分:
1. 每一代CPU的改進到底在什么地方?
CPU的設計是一個系統工程,通常可以分為微結構(學術界喜歡把micro-architecture翻譯成“微結構”,傳媒上多見“微架構”)、電路、器件,工藝這幾大層面,每個層面內部都有很多細分方向,每個方向都有專家去研究,都有專門的工程團隊在做。我現在接觸比較多的是微結構這塊,所以我只說微結構的改進。
微結構內部有很多地方是可以修改的,下面僅列舉其中一部分:
(1)發射寬度(主要包括前端取指令的寬度、解碼寬度、dispatch/issue寬度、retire寬度)。
(2)分支預測(包括但不限于預測器結構、預測準確率、branchresolve的延遲、流水線回退的耗時以及寄存器重命名表能夠保存多少個分支的快照)
(3)亂序執行窗口的大小(包括ROB、ReservationStation)
(4)Cache(擴充Cache大小、改進組織結構)
(5)Interconnect
(6)各種bypass、loopcache、etc.
每次Intel,AMD,IBM等巨頭推出的新架構,您能在各大媒體上看到的新聞宣傳,大多是從這些地方的參數入手,比如說Haswell把亂序執行窗口從168加大到192,諸如此類。
2. 對于普通消費者而言,這些改進最終會貢獻多大分量的性能差別?
上面列了這么多不明覺厲的術語,但是實際上,現在每一代新的CPU性能只能增長~10%左右。【出處為Hotchips2013DARPAMicrosystemsTechnologyOffice的DirectorRobertColwell所做的Keynote】
微結構研究的黃金年代我認為是在80年代~2005年前后,微結構上的很多經典成果,例如RISC,分支預測,超流水線這些東西,都是那時候火熱起來的,當時的CPU性能提高比較快,這么多年過去,現在能挖的差不多都已經挖出來了,處理器的基本微結構已經相對固化,剩下的是一些小幅度的增量式改進,一點一點兒地摳性能。
現在業界的注意力已經轉向其他方向,比如異構計算的概念最近就被炒的很熱。
Bonus:CPU的性能瓶頸在什么地方?如何判斷?
對于不同的程序,性能瓶頸也是不同的,比如說有的程序指令緩存miss率很高,流水線前端取不到指令導致停頓,有的程序是因為指令重命名時競爭寄存器的讀取端口,有的程序是因為cache裝不下工作集,所以很難一概而論。目前的大勢主要是訪存引發停頓。
通過CPU的參數判斷CPU的性能瓶頸,我個人認為對于普通消費者而言是做不到的。那種一看網媒上公布的粗略架構圖就嫩判斷出CPU性能瓶頸的決不是仙人,而是異想天開的民科。那些巨頭公司的架構師都是經過多年訓練經驗豐富,在大參數上犯下明顯錯誤的可能性幾乎為0,更不用說整個CPU是許多架構師的通力合作。
判斷性能瓶頸需要做精確的量化分析,現在的CPU內部一般都集成了成百上千個性能計數器,有perf之類的專用工具可以讀取這些地方的數值,統計各個不同部件的性能表現。這是一個比較專精化的領域,如果您想要了解這方面的知識,可以閱讀《計算機體系結構:量化研究方法》作為起步。
二、吳恒:美國EE博士研究生在讀,主攻化合物、鍺半導體電子器件
看到大家基本都是從架構系統級的角度去思考這個問題,我就從物理層給一個答案吧。
CPU是由無數晶體管組成的,架構系統級管的是如何讓這無數MOSFET(金屬氧化物半導體場效應晶體管)合理并且高效的運行,物理層管的則是如何讓單個MOSFET運行的更快。
關于工藝上的革新簡直數不勝數,十年前我們使用的CPU(以pentium4為例)的特征尺寸(criticallength也就是常說的線寬)為90nm,晶體管是平面MOSFET(planar-MOSFET),現在我們用的Core4XXX系列的特征尺寸是22nm,晶體管用的是3D鰭式MOSFET(FinFET)。更小的特征尺寸意味著更大的驅動電流,更大的驅動電流意味著更快的響應速度,于是CPU的速度更快。
在這十多年中,CPU經歷了:
1.單核CPU到多核CPU的改變,不再用主頻來拼性能(主頻越高、功耗越大、散熱問題越嚴重)。 2.柵極氧化物:低K值二氧化硅(SiO2)到高k值二氧化鉿(HfO2),用來解決隨特征尺寸減小帶來的柵極控制能力減弱的問題。
3.柵極氧化物兼容性要求:多晶硅柵極到金屬柵極(n型和p型不同金屬)。
4.傳統硅襯底到應變硅技術(strainsilicon,應變條件下Si半導體的載流子遷移率會得到非常大的提升,從而提高晶體管驅動電流)。
5.SiGe源漏級技術(用來降低晶體管接觸電阻,增大電流)。
6.特征尺寸的不斷縮小90-65-45-32-22nm,下一個目標就是今年的14nm。(特征尺寸的縮小能帶來更大的驅動電流以及更高的晶體管集成度,進一步增強CPU芯片的運算速度和能力,同時也會帶來更多的散熱和功耗問題)。
7.3D晶體管技術(用來增強在短溝道條件下的柵極控制能力)。
8.SOI技術,絕緣體上硅技術,由IBM提出,是IntelFinFET陣營以外的另一大技術陣營。
Moore定律驅動著半導體產業的不斷向前發展,其實在你不經意之間,無數人的奮斗成果和新技術,以及數以億計的晶體管都被注入了那小小的1cm見方的硅片之中,這本身不就是一個很奇妙的事情嗎?
從另一個角度上說,其實我們在不經意間參與了這人類歷史上最偉大和最先進技術的變革之中了。最后送幾張圖
世界第一個集成電路(By Ti)
蘋果A7芯片的截面圖 圖中每一個針狀的結構都對應一個晶體管 (By Samsung)
3D 晶體管截面圖 注意比例尺 (By Intel)
一個完整CPU的截面圖 上層是金屬互連線 最下面的是晶體管
(審核編輯: 小丸子1)
分享