《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 業界動態 > CPU結構的演變,多核之后會是什么?

CPU結構的演變,多核之后會是什么?

2021-01-20
來源:是說芯語
關鍵詞: CPU 多核

  1.png

  包云崗,中國科學院計算技術研究所研究員、先進計算機系統研究中心主任、中國科學院大學特聘教授、中國開放指令生態(RISC-V)聯盟秘書長,從事計算機體系結構和開源芯片方向前沿研究,主持研制多款達到國際先進水平的原型系統,相關技術在華為、阿里等國內外企業應用。他曾獲「CCF-Intel 青年學者」獎、阿里巴巴最佳合作項目獎、「CCF-IEEE CS」青年科學家獎等獎項。

  2020年底給某大廠做過一個報告,包含兩部分內容:一部分是關于計算機體系結構,尤其是CPU結構的演變;另一部分關于處理器芯片設計方法。這里把第一部分內容貼出來回答一下這個知乎問題。

  2.png

  首先回顧一下計算機體系結構領域三個定律:摩爾定律、牧本定律、貝爾定律。摩爾定律就不用多說了,但想表達一個觀點是摩爾定律未死,只是不斷放緩。

  3.png

  2. 摩爾定律讓芯片上的晶體管數量不斷增加,但一個問題是這些晶體管都被充分用起來了嗎?最近MIT團隊在《Science》上發表了一篇文章《There's plenty of room at the Top: What will drive computer performance after Moore's law?》,給出他們的答案:顯然沒有!

  可以來看一下MIT團隊開展的一個小實驗(見下面PPT):假設用Python實現一個矩陣乘法的性能是1,那么用C語言重寫后性能可以提高50倍,如果再充分挖掘體系結構特性(如循環并行化、訪存優化、SIMD等),那么性能甚至可以提高63000倍。然而,真正能如此深入理解體系結構、寫出這種極致性能的程序員絕對是鳳毛麟角。

  問題是這么大的性能差異到底算好還是壞?從軟件開發角度來看,這顯然不是好事。這意味著大多數程序員無法充分發揮CPU的性能,無法充分利用好晶體管。這不能怪程序員,更主要還是因為CPU微結構太復雜了,導致軟件難以發揮出硬件性能。

  如何解決這個問題?領域專用架構DSA(Domain-Specific Architecture)就是一個有效的方法。DSA可以針對特定領域應用程序,定制微結構,從而實現數量級提高性能功耗比。這相當于是把頂尖程序員的知識直接實現到硬件上。

  4.png

  3. 第二個定律是牧本定律(也有稱”牧本波動“)。1987 年, 原日立公司總工程師牧本次生(Tsugio Makimoto,也有翻譯為牧村次夫,故稱為”牧村定律“) 提出,半導體產品發展歷程總是在”標準化“與”定制化“之間交替擺動,大概每十年波動一次。牧本定律背后是性能功耗和開發效率之間的平衡。

  對于處理器來說,就是專用結構和通用結構之間的平衡。最近這一波開始轉向了追求性能功耗,于是專用結構開始更受關注。

  5.png

  4. 第三個定律是貝爾定律。這是Gordon Bell在1972年提出的一個觀察,具體內容如下面的PPT所述。值得一提的是超級計算機應用最高獎”戈登·貝爾獎“就是以他的名字命名。

  6.png

  5. 貝爾定律指明了未來一個新的發展趨勢,也就是AIoT時代的到來。這將會是一個處理器需求再度爆發的時代,但同時也會是一個需求碎片化的時代,不同的領域、不同行業對芯片需求會有所不同,比如集成不同的傳感器、不同的加速器等等。如何應對碎片化需求?這又將會是一個挑戰。

  7.png

  6. 這三個定律都驅動計算機體系結構向一個方向發展,那就是”DSA“。如何實現DSA,這又涉及到兩個方面:

  為了追求性能功耗,有三條主要的設計原則(見下面PPT);

  為了應對碎片化需求,則需要發展出處理器敏捷設計新方法。(這個回答就不介紹敏捷設計方法了)

8.png

  7. 在談一些具體技術之前,我們可以先總體看一下過去幾十年CPU性能是如何提升的。下面這頁PPT列出了1995-2015這二十年Intel處理器的架構演進過程——這是一個不斷迭代優化的過程,集成了上百個架構優化技術。

  這些技術之間還存在很多耦合,帶來很大的設計復雜度。比如2011年在Sandy Bridge上引入了大頁面技術,要實現這個功能,會涉及到超標量、亂序執行、大內存、SSE指令、多核、硬件虛擬化、uOP Fusion等等一系列CPU模塊和功能的修改,還涉及操作系統、編譯器、函數庫等軟件層次修改,可謂是牽一發動全身。(經常看到有人說芯片設計很簡單,也許是因為還沒有接觸過CPU芯片的設計,不知道CPU設計的復雜度)

9.png

  8. 處理器內部有非常復雜的狀態,其狀態變化是由程序驅動的。也就是說,處理器狀態取決于程序行為(見下面PPT),而CPU體系結構層次的優化思路就是發現程序行為中的共性特征并進行加速。

  如何發現程序行為中的共性特征,就是處理器優化的關鍵點,這需要對程序行為、操作系統、編程與編譯、體系結構等多個層次都有很好的理解,這也是計算機體系結構博士的基本要求。這也是為什么很多國外的計算機體系結構方向屬于Computer Science系。

  題外話:這兩天看到國內成立集成電路一級學科,這是一個好消息。不過要能培育CPU設計人才,在課程設計上不要忽視了操作系統、編程與編譯這些傳統計算機科學的課程。

10.png

  9. 舉兩個發現熱點應用和熱點代碼、并在體系結構層次上優化的例子。一個例子是發現在不少領域TCP/IP協議棧五層協議(L5Ps)存在很多大量共性操作,比如加密解密等,于是直接在網卡上實現了一個針對L5Ps的加速器,大幅加速了網絡包處理能力。另一個例子是這次疫情導致云計算數據中心大量算力都用來做視頻轉碼,于是設計了一個硬件加速器專門來加速視頻轉碼,大幅提升了數據中心效率。

11.png

  10. 發現和識別這種熱點應用和熱點代碼并不容易,需要由很強大的基礎設施和分析設備。比如Google在其數據中心內部有一個GWP工具,能對整個數據中心應用在很低的開銷下進行監測與統計,找到算力被那些熱點程序/代碼消耗,當前的CPU哪些部件是瓶頸。比如GWP顯示在Google數據中心內部有5%的算力被用來做壓縮。

  正是得益于這些基礎工具,Google很早就發現AI應用在數據中心中應用比例越來越高,于是開始專門設計TPU來加速AI應用。

12.png

  11. 下面分別從三個方面來介紹體系結構層面的常見優化思路:減少數據移動、降低數據精度、提高處理并行度。

  首先看一下如何減少數據移動。第一個切入點是指令集——指令集是程序語義的一種表達方式。同一個算法可以用不同粒度的指令集來表達,但執行效率會有很大的差別。一般而言,粒度越大,表達能力變弱,但是執行效率會變高。

13.png

  12. 通用指令集為了能覆蓋盡可能多的應用,所以往往需要支持上千條指令,導致流水線前端設計(取指、譯碼、分支預測等)變得很復雜,對性能與功耗都會產生負面影響。

14.png

  13. 針對某一個領域設計專用指令集,則可以大大減少指令數量,并且可以增大操作粒度、融合訪存優化,實現數量級提高性能功耗比。下面PPT的這組數據是斯坦福大學團隊曾經做過的一項研究,從這個圖可以看出,使用了”Magic Instruction“后,性能功耗比大幅提升幾十倍。而這種Magic Instruction其實就是一個非常具體的表達式以及對應的電路實現(見PPT右下角)。

15.png

  14. 第二個減少數據移動的常用方法就是充分發揮緩存的作用。訪存部件其實是處理器最重要的部分了,涉及許多技術點(如下面PPT)。很多人都關注處理器的流水線多寬多深,但其實大多數時候,訪存才是對處理器性能影響最大的。

  關于訪存優化,也有一系列技術,包括替換、預取等等。這些技術到今天也依然是體系結構研究的重點,這里就不展開細講了。

16.png

  15. 不再展開介紹訪存優化技術,就選最近比較熱的內存壓縮方向介紹一下。

  IBM在最新的Z15處理器中增加了一個內存壓縮加速模塊,比軟件壓縮效率提高388倍,效果非常突出。

17.png

  16. 英偉達也在研究如何在GPU中通過內存壓縮技術來提升片上存儲的有效容量,從而提高應用性能。

18.png

  17. Intel在訪存優化上很下功夫,可以通過對比兩款Intel CPU來一窺究竟。Core 2 Due T9600和Pentium G850兩塊CPU,工藝差一代,但頻率相近,分別是2.8GHz和2.9GHz,但性能差了77%——SPEC CPU分值G850是31.7分,而T9600只有17.9分。

  頻率相當,為何性能會差這么多?事實上,G850的Cache容量比T9600還要小——6MB L2 vs. 256KB L2 + 3MB L3。

  如果再仔細對比下去,就會發現這兩款處理器最大的區別在于G850適配的內存控制器中引入FMA(Fast Memory Access)優化技術,大幅提高了訪存性能。

19.png

  18. 第二類體系結構優化技術是降低數據精度。這方面是這幾年研究的熱點,特別是在深度學習領域,很多研究發現不需要64位浮點,只需要16位甚至8位定點來運算,精度也沒有什么損失,但性能卻得到數倍提升。

  很多AI處理器都在利用這個思路進行優化,包括前段時間日本研制的世界最快的超級計算機”富岳“中的CPU中就采用了不同的運算精度。因此其基于低精度的AI運算能力可以達到1.4EOPS,比64位浮點運算性能(416PFLOPS)要高3.4倍。

20.png

  19. IEEE 754浮點格式的一個弊端是不容易進行不同精度之間的轉換。近年來學術界提出一種新的浮點格式——POSIT,更容易實現不同的精度,甚至有一些學者呼吁用POSIT替代IEEE 754(Posit: A Potential Replacement for IEEE 754)。

  RISC-V社區一直在關注POSIT,也有團隊實現了基于POSIT的浮點運算部件FPU,但是也還存在一些爭論(David Patterson和POSIT發明人John L. Gustafson之間還有一場精彩的辯論,另外找機會再介紹)。

21.png

  20. 體系結構層次的第三個優化思路就是并行。這個題目中提到的”多核“,就是這個思路中一個具體的技術。除了多核,還有其他不同層次的并行度,比如指令集并行、線程級并行、請求級別并行;除了指令級并行ILP,還有訪存級并行MLP。總之,提高處理并行度是一種很有效的優化手段。

22.png

  以上是關于計算機體系結構尤其是CPU結構優化思路的一個大致梳理,供大家參考。總結來說就是兩點結論:

  領域專用體系結構DSA是未來一段時間體系結構發展趨勢;

  體系結構層面3條優化路線——減少數據移動、降低數據精度、提高處理并行度。

 

文章來自知乎,作者包云崗

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久久久国产成人精品亚洲午夜| 欧美视频在线观看一区| 日韩视频不卡中文| 亚洲第一页中文字幕| 亚洲一区中文| 亚洲少妇自拍| 一区二区三区视频在线| 日韩小视频在线观看专区| 亚洲人体偷拍| 亚洲另类视频| 日韩午夜av电影| 99精品99| 亚洲手机在线| 亚洲在线免费| 亚洲欧美日韩天堂一区二区| 亚洲免费小视频| 亚洲欧美日韩精品久久亚洲区| 亚洲综合色自拍一区| 亚洲欧美中文日韩在线| 欧美一区视频在线| 亚洲国产成人高清精品| 亚洲电影天堂av| 亚洲日本va午夜在线电影 | 夜夜嗨av一区二区三区中文字幕| 亚洲精品麻豆| 一区二区三区久久精品| 亚洲自拍偷拍色片视频| 欧美自拍丝袜亚洲| 亚洲激情二区| 这里是久久伊人| 亚洲女女女同性video| 亚洲欧美制服另类日韩| 久久高清免费观看| 久久噜噜亚洲综合| 欧美黑人多人双交| 欧美视频成人| 国产欧美亚洲一区| 好看不卡的中文字幕| 亚洲黄色影院| 亚洲午夜电影网| 欧美一区二区三区在| 亚洲人成艺术| 亚洲性线免费观看视频成熟| 久久成人综合视频| 欧美成人精品三级在线观看| 欧美日韩国产综合网 | 日韩网站在线| 亚洲欧美日韩成人| 亚洲高清一二三区| 99精品免费网| 欧美一区二区视频在线| 女主播福利一区| 欧美性大战久久久久久久| 国产手机视频精品| 亚洲国产日韩一级| 亚洲天堂偷拍| 亚洲国产高清自拍| 亚洲综合日韩| 久久亚洲综合色| 欧美三级电影大全| 国产日韩在线一区二区三区| 亚洲国产aⅴ天堂久久| 一区二区三区久久网| 欧美一区二区三区啪啪| 99视频在线精品国自产拍免费观看 | 羞羞答答国产精品www一本| 亚洲国产天堂久久综合网| 亚洲天天影视| 老司机成人在线视频| 国产精品v片在线观看不卡| 国产一区二区观看| 亚洲三级影片| 欧美中文字幕在线| 一区二区三区欧美日韩| 久久久久一区二区三区四区| 欧美日韩网站| 精品白丝av| 亚洲一区二区高清视频| 亚洲另类黄色| 久久国产精品一区二区| 欧美日韩国产欧| 在线免费一区三区| 亚洲综合大片69999| 夜夜爽99久久国产综合精品女不卡| 久久九九国产| 国产精品手机在线| 亚洲精品欧美日韩| 亚洲欧洲视频| 久久九九热免费视频| 国产精品www网站| 亚洲国产视频a| 欧美怡红院视频| 午夜在线观看免费一区| 欧美日韩专区| 91久久久久久国产精品| 久久精品一区二区三区不卡牛牛| 亚洲欧美日韩国产成人精品影院| 欧美精品亚洲精品| 在线播放亚洲一区| 欧美影院成年免费版| 欧美一区二区三区免费观看视频| 欧美日韩一区在线观看| 最新国产拍偷乱拍精品| 最新成人av网站| 免费不卡在线视频| 黑人极品videos精品欧美裸| 午夜亚洲福利| 羞羞色国产精品| 国产精品高潮久久| avtt综合网| 在线亚洲一区| 欧美日韩久久精品| 日韩视频二区| 99这里有精品| 欧美精品三级日韩久久| 亚洲福利在线视频| 亚洲国产99精品国自产| 久久久久久综合| 国产综合精品| 久久成人精品视频| 久久精品99久久香蕉国产色戒| 国产精品天天摸av网| 亚洲午夜羞羞片| 亚洲午夜精品一区二区| 欧美视频一区二区三区…| 一区二区三区不卡视频在线观看| 一区二区三区精品视频在线观看 | 国产精品亚洲精品| 亚洲一区在线观看免费观看电影高清| 中文av一区特黄| 欧美色中文字幕| 亚洲香蕉伊综合在人在线视看| 亚洲一区二区成人在线观看| 欧美日韩在线视频一区| 一区二区三区蜜桃网| 欧美一区二区日韩| 国产欧美午夜| 欧美在线综合| 嫩草国产精品入口| 91久久国产综合久久| 9色精品在线| 国产精品不卡在线| 亚洲欧美日韩一区在线| 久久久久久国产精品mv| 在线播放精品| 99精品国产高清一区二区| 欧美日韩中文在线观看| 亚洲网站啪啪| 久久深夜福利| 亚洲高清123| 亚洲午夜视频在线观看| 国产精品乱码一区二三区小蝌蚪| 亚洲欧美日韩成人高清在线一区| 久久久91精品国产一区二区精品| 亚洲成色www8888| 99热免费精品| 国产精品视频99| 亚洲国产高清视频| 欧美精品激情| 亚洲午夜一二三区视频| 久久在线精品| 日韩网站在线| 欧美资源在线观看| 亚洲第一成人在线| 亚洲先锋成人| 国产一区亚洲一区| 亚洲精品在线视频| 国产精品免费小视频| 亚洲第一区色| 欧美日韩高清在线观看| 亚洲一区欧美激情| 老司机凹凸av亚洲导航| 中日韩美女免费视频网址在线观看| 欧美在线免费视频| 亚洲破处大片| 欧美一区二区精品久久911| 在线观看欧美亚洲| 亚洲欧美综合国产精品一区| 亚洲国产91精品在线观看| 午夜精品久久久久久久99热浪潮 | 亚洲高清不卡在线| 国产精品大片| 久久精品人人做人人综合 | 一本久久青青| 久久免费视频在线观看| 亚洲欧洲精品一区二区三区| 午夜欧美精品久久久久久久| 亚洲成人在线视频播放| 亚洲影院一区| 亚洲第一二三四五区| 午夜精品一区二区三区四区 | 性色一区二区三区| 亚洲黄色在线看| 欧美在线999| 亚洲免费电影在线| 久久综合久久综合久久综合| 一本在线高清不卡dvd| 欧美mv日韩mv国产网站app| 亚洲免费视频网站| 欧美激情精品久久久久久黑人 |