官术网_书友最值得收藏!

  • 軟件系統優化
  • 郭健美 黃波 劉通宇 林曉東 趙鵬
  • 1903字
  • 2025-08-07 15:12:59

2.1 后摩爾時代性能優化的驅動力

美國物理學家理查德·費曼(Richard P. Feynman)在1959年發表了著名的演講“There's Plenty of Room at the Bottom”,預言了微型化計算機的趨勢,提出在技術領域減小芯片、組件、設備的尺寸,以便在更小的空間內實現相同或更強大的計算能力。過去幾十年,隨著集成電路制程工藝不斷精細化,計算機體系結構也不斷優化,計算機的性能得到了迅猛提升。這個過程深受摩爾定律(Moore's law)和登納德縮放(Dennard scaling)定律兩大定律的影響。

1.摩爾定律

摩爾定律是一個關于集成電路技術發展速度的經驗性規律,與芯片的發展緊密關聯。該定律是由Intel公司創始人之一戈登·摩爾(Gordon E. Moore)于1965年提出的。摩爾定律的核心觀點是:集成電路上可容納的晶體管數量每隔大約18個月至24個月會增加一倍。

雖然摩爾定律是一個經驗性的而非嚴格的物理定律,但它在過去幾十年內一直有效,為芯片行業的快速發展提供了指導,也對計算機行業的發展產生了深遠的影響。然而,隨著集成電路制程工藝逼近物理極限,一些人認為摩爾定律可能會在未來的某個時刻失效。晶體管密度的增加,需要更加先進的制程工藝,但工藝的復雜程度與錯誤率也將成倍增長。

2.登納德縮放定律

登納德縮放定律由羅伯特·登納德(Robert H. Dennard)在1974年提出,最初是為金屬氧化物半導體場效應晶體管(Metal-Oxide-Semiconductor Field-Effect Transistor,MOSFET)制定的,是半導體領域指導芯片設計的重要定律。該定律的大致內容是:隨著晶體管尺寸的縮小,它們的功率密度(即單位面積的功率)保持恒定,因此功率和面積成正比。

根據登納德縮放定律,晶體管縮小會帶來三方面的好處,使計算機性能得以快速增長。首先,每一代晶體管的尺寸縮小30%,意味著面積可以縮小約50%,從而使得每一代晶體管的密度翻倍,這就是摩爾定律。其次,隨著晶體管尺寸縮小30%,晶體管的響應延遲(即從關斷到導通或反之的時間)減少到原來的70%,因而相同時間內可以執行更多操作,頻率提高約1.4倍(即1/0.7倍)。最后,由于晶體管的尺寸縮小30%,為了保持晶體管內電場恒定以保障可靠性,供電電壓也降低到原來的70%。根據主動功率公式P=CV2f(其中P是主動功率,C是電容,V是電壓,f是頻率),此時的功率大約下降到原來的一半(即0.7×0.72×1.4)。由于面積也縮小了50%,因此功率密度保持不變。

綜合上述三點來看,隨著每一代芯片工藝的提升,集成電路上的晶體管數量增加一倍,處理速度提升40%,而總功耗(在多出一倍晶體管的情況下)保持不變。根據這個縮放規律,過去幾十年里,處理器時鐘頻率從幾MHz提高到了幾GHz,性能提升了三個數量級。芯片架構師利用晶體管密度創建了復雜的架構,利用晶體管速度提高了頻率,而且這些成果都是在合理的功率和能耗范圍內實現的。

然而,隨著芯片制程逐漸趨向納米級甚至埃米級,登納德縮放定律遇到了越來越多的挑戰。如果希望進一步通過提高時鐘頻率的方式獲得性能提升,則需要進一步降低電壓,而電壓繼續下降會使得晶體管泄漏電流(leakage current)的問題變得無法忽略,泄漏電流會產生額外的功耗,使處理器芯片面臨“熱失控”的威脅。事實上,現代處理器中有相當大比例的功耗是由于泄漏電流造成的。計算機設計者面臨著“功耗墻”(power wall)的問題,處理器芯片的功耗已經接近實際的極限。

3.后摩爾時代

隨著摩爾定律和登納德縮放定律的逐漸失效,處理器難以通過單純地提高頻率來獲得性能提升,那么如何進一步提高性能呢?

Charles E. Leiserson等人于2020年在Science上發表了論文“There's plenty of room at the Top:What will drive computer performance after Moore's law?”,他們認為:在后摩爾時代,算力的提升將越來越多地來自軟硬件?!绊敳俊钡募夹g,而不是來自“底部”的技術,這一趨勢與理查德·費曼和戈登·摩爾等在半個多世紀前所預測的歷史情況相反。這里所說的“頂部”技術包括三項:軟件性能工程、算法和硬件體系結構。

軟件性能工程(software performance engineering)通過重構軟件來提高軟件的運行性能。過去,相當多的軟件開發方法關注提高軟件開發效率、縮短軟件開發周期,這使得程序中產生了不少低效運行的部分,稱為代碼膨脹(code bloat)。性能工程一方面致力于消除這些代碼膨脹,另一方面盡可能使軟件適配其運行的硬件,例如,把多核處理器和專用加速器等利用起來。

算法提供了更高效的解決問題的方法,但算法的創新相當不容易,存在不均衡性和偶發性,最終可能面臨收益遞減(diminishing return)的問題。時下,更大的機會可能來自面向新興領域(例如,機器學習等)的算法和適配新型硬件的理論模型。

硬件體系結構的優化思路是硬件精簡(hardware streamlining)。一種形式是處理器簡化(processor simplification),例如,用更簡單的處理器核心替換復雜的核心,減少單核上晶體管的數量,而釋放出來的晶體管可以用于增加處理器核心的數量等。另一種形式是領域特化(domain specification),即面向特定領域來定制硬件。這種特化會去除處理器中不需要的功能,同時可以根據領域特性進行定制,比如,為機器學習應用減少浮點精度等。

主站蜘蛛池模板: 雅安市| 天水市| 平昌县| 上林县| 冀州市| 新邵县| 龙海市| 日照市| 余姚市| 贺州市| 正宁县| 建昌县| 上栗县| 西和县| 渭南市| 晋州市| 建瓯市| 深泽县| 渝北区| 城口县| 岳西县| 临潭县| 瑞金市| 灌阳县| 锦屏县| 南靖县| 广丰县| 沙洋县| 宣威市| 扶绥县| 全南县| 根河市| 林西县| 乐东| 峨眉山市| 三都| 湘潭市| 锦州市| 布尔津县| 库尔勒市| 玛纳斯县|