一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

cpu工程師該何去何從

電子工程師 ? 來源:網(wǎng)絡(luò)整理 ? 作者:工程師2 ? 2018-06-06 11:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

對可憐的處理器設(shè)計師表示同情。他們的工作以前非常簡單。在每一半導(dǎo)體新工藝代中,每平方毫米的晶體管數(shù)量都會加倍,速度會有很大的提高,同時總功耗也會降低。設(shè)計師的黃金規(guī)則是“保持體系結(jié)構(gòu)不變,在實現(xiàn)上稍作調(diào)整?!?/p>

但現(xiàn)在完全不同了。速度提高的越來越小,功耗降低的也越來越少。您再也不能簡單的提高時鐘了:設(shè)計師不得不使用所有新晶體管來研究實現(xiàn)并行功能。但是怎樣找到并行功能呢? 首先,我們找到了現(xiàn)成的好方法:通過超標量體系結(jié)構(gòu)自動實現(xiàn)指令級并行功能。然后,有了更多的晶體管,使用了大部分指令并行功能,矢量處理器進行數(shù)據(jù)并行處理,宏單元級指令并行——線程,采用多線程,然后是多核CPU。

但是,我們突然發(fā)現(xiàn)自己身處無盡的“暗硅片”中。所有這些晶體管的功率密度增加非???,如果它們都同時全速運行,根本沒法對其進行散熱。我們使用時鐘選通,然后是電源選通,最后降低晶體管封裝密度,以避免互聯(lián)走線被熔化。但是,這限制了我們采用越來越多的晶體管實現(xiàn)數(shù)據(jù)和算法的并行處理??雌饋磉@一過程要慢慢停下來了。

年初的熱點芯片大會上就提出了這類問題。雖然在克服困難方面已經(jīng)取得了很大的成就,但是芯片設(shè)計師仍然展示了還有繼續(xù)創(chuàng)新的空間:找到能夠進行并行處理的地方,使用所有晶體管的方法,以及使其保持較低溫度的技術(shù)。

找到好方法

很顯然,如果我們繼續(xù)使用所有這些晶體管,那么,我們必須降低能耗。這意味著,減少信息的傳送:數(shù)據(jù)移動和復(fù)制少了,指令讀取的少了。不僅DRAM周期能耗比較高,而且在高級進程中,數(shù)據(jù)通過阻抗越來越大的片內(nèi)互聯(lián)也是問題。在傳統(tǒng)的體系結(jié)構(gòu)中,我們能夠傳送大量的數(shù)據(jù):最近的估算表明,SoC中80%的活動硅片用于連接或者緩沖互聯(lián),而不是用于邏輯功能。

信息傳送的少了,意味著需要圍繞數(shù)據(jù)內(nèi)部結(jié)構(gòu)來組織處理單元——這是熱點芯片大會論文最明顯的觀點。我們特別關(guān)注一下四種情形。第一,搜索引擎加速,處理大量的非結(jié)構(gòu)和獨立數(shù)據(jù)元素。第二種情形,矢量處理,處理高度結(jié)構(gòu)化的數(shù)據(jù),其元素之間會有相關(guān)性。第三種,有很多線程的問題,但不一定是并行數(shù)據(jù)處理。最后一種情形,單線程加速。

搜索引擎加速

對于并行執(zhí)行而言,網(wǎng)絡(luò)搜索既帶來了很多難題,也創(chuàng)造了機會。數(shù)據(jù)中心設(shè)計師不僅僅需要多核x86 CPU,他們考慮更多的是數(shù)據(jù)的非結(jié)構(gòu)、獨立特性——基本上,網(wǎng)頁上到處都是。在熱點芯片大會上,微軟資深研究硬件設(shè)計工程師Andrew Putnam介紹了他的團隊在加速必應(yīng)搜索引擎方面的工作。

Putnam簡要介紹了搜索問題的關(guān)鍵階段流程,頁面評定(圖1)。在第一階段,服務(wù)器群——大量的服務(wù)器,選擇候選頁面:含有某些搜索字符串元素的頁面。這些頁面被送入評定引擎,本身包括三級:特性提取、自由形式表達評估,以及機器學(xué)習(xí)評分。

cpu工程師該何去何從

圖1.在專用處理單元群中實現(xiàn)頁面評定流水線,加速必應(yīng)搜索。

Putnam說,特性提取是由54個硬件狀態(tài)機陣列完成的,即,規(guī)則表達匹配和結(jié)果列表。使用狀態(tài)機避免了指令獲取和解碼操作帶來的能耗問題。為進一步降低能耗,頁面內(nèi)容不會通過特性提取器:只有記錄特性出現(xiàn)、位置和頻率的表格數(shù)據(jù)被傳送至下一級。

表達式評估器是另一陣列,但這次是特殊的多線程處理器陣列。這些處理器,以240個單元為一群,讀取來自提取器的表格數(shù)據(jù),從中計算出非常復(fù)雜的數(shù)字表達值,這可能會包括超越函數(shù)。必應(yīng)開發(fā)人員調(diào)整了算法,因此,這些表達式會有所變化,無法對其進行硬線連接。這一級的輸出是頁面評定,為從搜索字符串中提取出的元特性分配一個數(shù)字。

這一數(shù)據(jù)隨后被送入機器學(xué)習(xí)級,Putnam對此并沒有介紹,這可能需要大量的并行神經(jīng)網(wǎng)絡(luò)仿真。正是這一可訓(xùn)練級為頁面產(chǎn)生最終的評定分。

Putnam說,微軟選擇在大規(guī)模FPGA的2D平面內(nèi)實現(xiàn)三級評定引擎。每一FPGA位于中間電路板上,插入到微軟標準服務(wù)器機柜的服務(wù)器刀片中。Putnam觀察到,可以采用ASIC來很好的均衡速度和功耗。但是由于必應(yīng)評定算法的多變性,需要具備重新配置能力。他提醒說,否則,特殊的硬件很快就會成為程序員面臨的瓶頸問題,最終不得不依賴數(shù)據(jù)中心來解決問題。

微軟的設(shè)計人員建立了硬件引擎的很多例化,允許異步運行,研究頁面評定的固有并行特性。盡可能減少指令獲取和解碼操作。定義了任務(wù),因此,只有很少量的數(shù)據(jù)在流水線級之間傳送。在不同的環(huán)境中應(yīng)用相同的原理,會導(dǎo)致完全不同的體系結(jié)構(gòu)。

矢量處理器

搜索引擎使用的數(shù)據(jù)集有兩個重要的特性(除了巨大的規(guī)模之外)。首先,數(shù)據(jù)元素是獨立的。即,一個頁面的評定分值對任何其他頁面的分值沒有影響,因此,打分任務(wù)互不影響。其次,數(shù)據(jù)元素是非結(jié)構(gòu)化的:兩個頁面不必有相同的格式。

但是仍然有其他大量的數(shù)據(jù)集具有嚴格的結(jié)構(gòu)。例如,在大氣模型中,每一點都會是矢量,包括了坐標、溫度、入射射線、各種氣體的壓力分量,以及懸浮顆粒的濃度等。計算模型的下一狀態(tài)需要對同一矢量算法進行大量的重復(fù)。

這些問題非常適合采用矢量處理器來解決:很多同樣的算法流水線工作在鎖定步驟,同時完成相同的運算,但是針對不同的數(shù)據(jù)——即,經(jīng)常使用的術(shù)語,單指令多數(shù)據(jù)(SIMD)機制。很顯然,這些機制并行完成很多運算,從而提高了性能。通過減少指令獲取數(shù)據(jù)流,也降低了能耗。

在熱點芯片大會上,NEC開發(fā)經(jīng)理Shintaro Momose介紹了他所在單位的下一代芯片設(shè)計,包括NEC長遠的SX系列矢量超級計算機:SX-ACE。Momose重點介紹了兩個特殊問題:存儲器帶寬和粒度。

Momose解釋了很多大規(guī)模應(yīng)用——包括天氣預(yù)報、例子物理、流體動力學(xué),以及結(jié)構(gòu)分析等,為提高計算性能,這需要很高的存儲器帶寬,計算機每完成一次浮點運算都需要與存儲器交換一個字節(jié)。而矢量處理器芯片達到了數(shù)十GFLOPS,對DRAM的要求越來越高——足以填滿芯片的任何總線。相應(yīng)的,NEC把DRAM控制器——16個獨立的DDR3 SDRAM控制器,直接放到矢量處理器管芯中,大量的管芯交叉開關(guān)連接所有DRAM通道和任何矢量處理單元。這一決定使得單芯片總帶寬達到256 GBps。

粒度是更有趣的一個問題。并行體系結(jié)構(gòu)最近的發(fā)展趨勢是——可能受到圖形處理單元(GPU)進行高性能計算的影響,由非常簡單的處理器構(gòu)成大規(guī)模陣列。而Momose看到,這類體系結(jié)構(gòu)雖然概念上很簡單,但是在實際中,要求程序員發(fā)現(xiàn)足夠的并行功能,使這些小CPU工作起來,讓每一個任務(wù)保持同步或者互相鎖定。他認為,更好的是采用一些功能更強大的矢量內(nèi)核而不是很多小內(nèi)核。

這就是SX-ACE所采用的方法。每一芯片中的每個內(nèi)核都包括標量處理單元、矢量處理單元和1 MB的共享快速RAM。矢量單元有16個處理模塊,每個模塊包括了兩個加法流水線,兩個乘法流水線,以及一個除法/平方根流水線,一個邏輯流水線,以及一個屏蔽流水線。每一芯片有四個內(nèi)核,因此,每一芯片總峰值達到256 GFLOPS,與存儲器總帶寬相匹配。在大規(guī)模本地存儲器周圍布置快速控制處理器和16個算術(shù)模塊,NEC找到了大規(guī)模并行和實際代碼編程的最佳平衡點,這些代碼與實際的數(shù)據(jù)有很大的相關(guān)性。

需要大量流水線的應(yīng)用

與數(shù)據(jù)并行的很多問題相比,數(shù)據(jù)中的一些問題看起來很難解決,但是可以編程,產(chǎn)生很多線程。在這種情況下,您仍然可以實現(xiàn)很多并行執(zhí)行,但是每一線程可以完成不同的工作,因此,矢量處理體系結(jié)構(gòu)的價值不大。對于這些情形,ARM? CTO Mike Muller在他的主題演講中建議了一種不同的策略:他稱之為異構(gòu)計算/同構(gòu)體系結(jié)構(gòu)。

這種想法來自于ARM的big.LITTLE概念。如果一項任務(wù)有很多線程,一個或者兩個線程真正需要大量的計算,而很多線程并不需要。big.LITTLE概念就是把一些小規(guī)模的低功耗處理器,以及使用相同的指令集而功能強大的大規(guī)模處理器組織起來。然后,硬核線程可以在高速大功率CPU上運行,線程完成后,可以選通電源供電。在較慢的低功耗CPU上運行簡單線程。

在熱點芯片大會上,Muller進一步延伸了這一概念,他建議,除了big和LITTLE ARM內(nèi)核,集群還可以含有ARM的MALI GPU內(nèi)核,以及單指令多線程處理器,一些實例目前已經(jīng)在ARM的研究實驗室中開始規(guī)劃了(圖2)。所有處理器會共享公共編程語言,甚至是某些對象代碼,共享主存儲器,透明、動態(tài)的進行線程分配,降低了對顯式數(shù)據(jù)傳送的需求。通過把每一線程分配給低功耗處理器,滿足了線程目前的性能需求,這類系統(tǒng)降低了總?cè)蝿?wù)的能耗。

cpu工程師該何去何從

圖2.ARM的異構(gòu)計算同構(gòu)體系結(jié)構(gòu)結(jié)合了完全不同的微體系結(jié)構(gòu)內(nèi)核,可以共享相同的源代碼。

單線程性能

聰明的程序員發(fā)現(xiàn)并應(yīng)用了數(shù)據(jù)并行執(zhí)行功能,梳理好代碼中的所有線程后,仍然存在單線程執(zhí)行的問題。但是,我們已經(jīng)把時鐘頻率、超標量體系結(jié)構(gòu)、分支預(yù)測以及很多其他方法發(fā)揮到了極限。還有什么其他好辦法嗎?在一篇介紹新Denver CPU內(nèi)核的文章中,Nvidia CPU設(shè)計師Darrell Boggs說,有。

丹佛很可能是ARM V8所要采用的(圖3)。這是一種七路超標量體系結(jié)構(gòu),含有整數(shù)、整數(shù)/負載存儲和NEON浮點執(zhí)行流水線。它使用了硬件預(yù)獲取單元,每一周期解碼8條指令。這實際源自很早的CPU體系結(jié)構(gòu)的一種特性:丹佛完成動態(tài)隨時微代碼優(yōu)化功能。

cpu工程師該何去何從

圖3.在您深入了解指令獲取單元之前,Nvidia的丹佛CPU看起來像是傳統(tǒng)的超標量CPU。

Boggs解釋說;“執(zhí)行和分支單元在執(zhí)行期間對代碼進行分析。把分析信息傳送給硬件優(yōu)化器,解開循環(huán),重新命名寄存器,重新組織指令。然后,優(yōu)化后的代碼以微代碼的形式存儲器在特殊高速緩存中?!?/p>

Boggs解釋說,第一次通過循環(huán),丹佛構(gòu)建了代碼的微代碼版本,優(yōu)化了數(shù)千條指令。在后續(xù)的步驟中,讀取單元裝入來自優(yōu)化高速緩存而不是指令高速緩存的微代碼,旁路指令解碼器,把微代碼直接送入執(zhí)行單元。結(jié)果,對于迭代代碼,丹佛在遇到新代碼之前會盡可能只使用最初的指令流。會很快開始處理大部分微代碼。

Boggs宣稱,這一方法提高了執(zhí)行速度。他展示了結(jié)果,在標準測試中,2.5 GHz丹佛接近甚至超越了Intel的Haswell。

Boggs說,丹佛還解決了功耗問題。除了時鐘選通和電源軌選通之外,CPU還支持低電壓“保持”模式,保持CPU和高速緩存狀態(tài),有效的降低了泄漏電流。通過避免CPU檢查點和高速緩存泛洪問題,保持模式提供了空閑間隙降低功耗的方法,這些間隙非常短,無法完全進行電源選通,通過這些方法處理泛洪和狀態(tài)恢復(fù)問題。

對高性能和低功耗的需求會持續(xù)不斷,半導(dǎo)體技術(shù)再也不能以簡單的方式來滿足這些需求。而解決方案越來越專門針對應(yīng)用的特殊性,算法編程,以及數(shù)據(jù)的本質(zhì)結(jié)構(gòu)等。最終,所有體系結(jié)構(gòu)都會更加專用化,通用CPU這一術(shù)語的含義也會逐漸變化。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19890

    瀏覽量

    235118
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11077

    瀏覽量

    217024
  • 工程師
    +關(guān)注

    關(guān)注

    59

    文章

    1590

    瀏覽量

    69480
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    做了電子工程師之后,最好拍的視頻出現(xiàn)了#硬件設(shè)計 #電子DIY #電子工程師

    電子工程師
    安泰小課堂
    發(fā)布于 :2025年06月24日 17:45:57

    新編電氣工程師手冊

    新編電氣工程師手冊,一款最新的、最全面的電氣知識手冊。 全手冊1522頁。共五篇、四十六章。 手冊不愧為對從事電氣專業(yè)的所有人員都實用的一部非常好的工具書。不用再一冊一冊地找了,內(nèi)容豐富,有圖有
    發(fā)表于 06-03 16:26

    (仰天長嘯)為什么受傷的總是硬件工程師...#MDD#MDD辰達半導(dǎo)體 #電子工程師

    電子工程師
    MDD辰達半導(dǎo)體
    發(fā)布于 :2025年04月27日 18:21:47

    問,成為硬件工程師需要幾只手?#硬件工程師 #YXC晶振 #揚興科技 #搞笑

    硬件工程師
    揚興科技
    發(fā)布于 :2025年04月25日 17:15:37

    硬件工程師:回答我!#回答我 #硬件工程師 #YXC晶振 #揚興科技

    硬件工程師
    揚興科技
    發(fā)布于 :2025年03月25日 18:46:59

    一招拿捏電子工程師#被AI拿捏了 #電子工程師 #電子電工

    電子工程師
    安泰小課堂
    發(fā)布于 :2025年03月25日 17:30:51

    FPGA算法工程師、邏輯工程師、原型驗證工程師有什么區(qū)別?

    ,共同進步。 歡迎加入FPGA技術(shù)微信交流群14群! 交流問題(一) Q:FPGA中的FPGA算法工程師、FPGA邏輯工程師、FPGA原型驗證工程師三者有什么區(qū)別? A:FPGA 算法工程師
    發(fā)表于 09-23 18:26

    正是拼的年紀|65歲電子工程師上班VLOG #65歲退休 #電子工程師 #搞笑 #上班vlog

    電子工程師
    安泰小課堂
    發(fā)布于 :2024年07月25日 11:31:02

    用二創(chuàng),1:1復(fù)刻工程師的職場現(xiàn)狀

    工程師
    揚興科技
    發(fā)布于 :2024年07月19日 18:30:07