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

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

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

如何改進CPU性能發(fā)展瓶頸問題?

SSDFans ? 來源:未知 ? 作者:胡薇 ? 2018-07-30 14:55 ? 次閱讀

通常一個處理器包含多個核心(Core),集成 Cache 子系統(tǒng),內(nèi)存子系統(tǒng)通過內(nèi)部或外部總線與其通信。在經(jīng)典CPU中一般有兩個常用的組件:北橋(North Bridge)和南橋(South Bridge)。它們是處理器和內(nèi)存以及其他外設(shè)溝通的渠道。圖1給出了處理器、內(nèi)存、南北橋以及其他總線之間的關(guān)系。

圖1

從圖一可以看到:

1)處理器訪問內(nèi)存需要通過北橋。

2)處理器訪問所有的外設(shè)都需要通過北橋。

3)掛在南橋的所有設(shè)備訪問內(nèi)存也需要通過北橋。

那么CPU訪問南橋上的外部設(shè)備和北橋上的DDR內(nèi)存的訪問速率受CPU的主頻、Local Bus帶寬、南橋外設(shè)總線的速率、CPU取指令機制等多方面所影響。

處理器主頻和集成度在過去二十年里一直按照摩爾定律在發(fā)展,從單核到多核以及超線程。處理器的性能提高不少,同時處理器的功耗也正比于主頻的三次方在增加。因為使用的晶體管柵極材料存在漏電現(xiàn)象,高頻率下電子遷移顯著,勢必為導(dǎo)致產(chǎn)熱量增加,散熱帶了重大問題。CPU歡快的朝著頻率越來越高的方向發(fā)展,受到物理極限的挑戰(zhàn),又轉(zhuǎn)為核數(shù)越來越多的方向發(fā)展。由于所有CPU Core都是通過共享一個北橋來讀取內(nèi)存,隨著核數(shù)如何的發(fā)展,北橋在響應(yīng)時間上的性能瓶頸越來越明顯當北橋出現(xiàn)擁塞時,所有的設(shè)備和處理器都要癱瘓。這種系統(tǒng)設(shè)計的另外一個瓶頸體現(xiàn)在對內(nèi)存的訪問上。不管是處理器或者顯卡,還是南橋的硬盤、網(wǎng)卡或者光驅(qū),都需要頻繁訪問內(nèi)存,當這些設(shè)備都爭相訪問內(nèi)存時,增大了對北橋帶寬的競爭,而且北橋到內(nèi)存之間也只有一條總線。

為了改善對內(nèi)存的訪問瓶頸,出現(xiàn)了另外一種系統(tǒng)設(shè)計,內(nèi)存控制器并沒有被集成在北橋中,而是被單獨隔離出來以協(xié)調(diào)北橋與某個相應(yīng)的內(nèi)存之間的交互。系統(tǒng)結(jié)構(gòu)如圖2所示。

圖 2 所示的這種架構(gòu)增加了內(nèi)存的訪問帶寬,緩解了不同設(shè)備對同一內(nèi)存訪問的擁塞問題,但是卻沒有改進單一北橋芯片的瓶頸的問題。

圖2

為了解決北橋北橋在響應(yīng)時間上的性能瓶頸,把內(nèi)存控制器(原本北橋中讀取內(nèi)存的部分)也做個拆分,平分到了每個CPU上。于是NUMA(Non-Uniform Memory Access)就出現(xiàn)了。內(nèi)存控制器集成到CPU內(nèi)部,Intel第二代酷睿I系列以及將主板北橋合并到CPU內(nèi)部,所以Intel第二代酷睿I系列沒有北橋,只有南橋。AMD沒有吞并北橋。順便補充一下Intel 單個socket只支持單個node,AMD 單個socket配對多個node。(Node,socket,core,thread)是NUMA中的概念,linux下查看cpu參數(shù)通過如下命令:

a)lscpu

圖3

圖3可以看出CPU是小端模式,每個CPU有一個core,每一個core有一個thread。三級cache大小,F(xiàn)lags查看支持的大頁內(nèi)存,比如pse 代表支持2MB的內(nèi)存頁,pdpe1gb代表支持1G內(nèi)存頁。

b)cat /proc/cpuinfo

圖4

從圖4可以到Core ID、超線程數(shù)、Core的16進制編碼(在DPDK應(yīng)用中會用到這些參數(shù))。

NUMA設(shè)計框架如圖5所示。紅色綠色箭頭代表訪問處理器本地內(nèi)存(Local memory),紅色箭頭訪問遠程內(nèi)存(remote memory),即其他處理器的本地內(nèi)存,需要通過額外的總線!

NUMA中,雖然內(nèi)存直接attach在CPU上,但是由于內(nèi)存被平均分配在了各個die上。只有當CPU訪問自身直接attach內(nèi)存對應(yīng)的物理地址時,才會有較短的響應(yīng)時間(后稱Local Access)。而如果需要訪問其他CPU attach的內(nèi)存的數(shù)據(jù)時,就需要通過inter-connect通道訪問,響應(yīng)時間就相比之前變慢了(后稱Remote Access)。所以NUMA(Non-Uniform Memory Access)就此得名。

圖5

從前面分析發(fā)現(xiàn),確實提高了CPU訪問內(nèi)存和外設(shè)的速率,奈何CPU處理速率遠遠超過了內(nèi)存的吞吐速率,這里就帶來了CPU不必要的開銷。一般來說,當CPU從DDR中取指令時,大概要花費幾百個時鐘周期,在這幾百個時鐘周期內(nèi),處理器除了等待什么也不能做。在這種環(huán)境下,才提出了Cache的概念,其目的就是為了匹配處理器和內(nèi)存之間存在的巨大的速度鴻溝。

Cache 由三級組成,之所以對Cach 進行分級,也是從成本和生產(chǎn)工藝的角度考慮的。一級(L1)最快,但是容量最小,一級cache分為指令cache和數(shù)據(jù)cache,圖3中可以查看;三級(LLC, Last Level Cache)最慢,但是容量最大。當CPU需要訪問某個地址時候,首先在cache中目錄表中查詢是否有該內(nèi)容,有就直接取指令或者數(shù)據(jù),沒有就從DDR中取取指令或者數(shù)據(jù)。在cache有對應(yīng)的數(shù)據(jù)簡稱指令命中,反之指令沒有命中。L3 cache命中,大約需要40個時鐘周期,L3 cache沒命中,一個內(nèi)存讀需要140個時鐘周期。

Cache 的預(yù)取指令分為時間局部性和空間局部性。時間局部性是指程序即將用到的指令/數(shù)據(jù)可能就是目前正在使用的指令數(shù)據(jù)。因此,當前用到的指令/數(shù)據(jù)在使用完畢之后以暫時存放在Cache中,可以在將來的時候再被處理器用到??臻g局部性是指程序即將用到的指/數(shù)據(jù)可能與目前正在使用的指令/數(shù)據(jù)在空間上相鄰或者相近。因此,在處理器處理當前指令/數(shù)據(jù)時,可以從內(nèi)存中把相鄰區(qū)域的指令/數(shù)據(jù)讀取到Cache中,當處理器需要處理相鄰內(nèi)存區(qū)域的指令/數(shù)據(jù)時,可以直接從Cache中讀取,節(jié)省訪問內(nèi)存的時間。這里可以創(chuàng)建一個二維數(shù)組,然后順序橫向a[i][j]和豎向a[j][i]賦值計算時間做對比,由于a[j][i]地址是跳躍性的賦值,cache不能命中,所以消耗的時間遠遠大于連續(xù)地址的賦值。

提高CPU性能還可以采用多核并行計算,一個時鐘周期讀取N條指令。在軟件上也可以做適當?shù)南到y(tǒng)優(yōu)化和算法優(yōu)化,比如配置CPU 親和性,CPU 親和性(Core affinity)就是一個特定的任務(wù)要在某個定的 CPU 上盡量長時間地運行而不被遷移到其他處理器上的傾向性。

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

    關(guān)注

    68

    文章

    18927

    瀏覽量

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

    關(guān)注

    68

    文章

    10702

    瀏覽量

    209373

原文標題:CPU性能發(fā)展遇到的瓶頸

文章出處:【微信號:SSDFans,微信公眾號:SSDFans】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    處理器性能過剩?探秘CPU對SSD性能影響

    人們升級CPU的動力逐漸下降,主要原因莫過于疲乏的性能增長,于是乎性能過剩不僅是廠商用以麻痹用戶的手段,而用戶也會因為無性能瓶頸慢慢的接受了
    發(fā)表于 04-21 18:00 ?1991次閱讀

    通信系統(tǒng)關(guān)鍵的AD器件發(fā)展情況及瓶頸

    A/D器件是整個通信系統(tǒng)中的關(guān)鍵所在,也是整個系統(tǒng)的瓶頸,國內(nèi)外科研機構(gòu)一直投入大量的物力、人力、財力致力于A/D器件的研究。通過分析總結(jié)A/D器件的國內(nèi)外發(fā)展近況,總結(jié)得出了A/D器件的發(fā)展
    發(fā)表于 10-24 14:55 ?2089次閱讀

    LED產(chǎn)業(yè)發(fā)展面臨六大瓶頸

    目前我國LED產(chǎn)業(yè)的發(fā)展正面臨六大瓶頸。一是政策與法律的瓶頸,各級***雖出臺了許多發(fā)展LED的法規(guī),但缺少整套規(guī)范的法規(guī);二是人才與管理的瓶頸
    發(fā)表于 12-13 12:16

    克服嵌入式CPU性能瓶頸

    我們已經(jīng)看到有兩個主要的技術(shù)性限制在不斷影響摩爾定律和和處理器性能的持續(xù)改進。但技術(shù)在不斷發(fā)展??s小特征尺寸有助于提高晶體管密度和頻率,而設(shè)計師也仍在設(shè)法縮小晶體管尺寸,單顆芯片上的晶體管數(shù)量有望超過
    發(fā)表于 08-26 15:50

    智能家居發(fā)展瓶頸是什么?如何才能突破瓶頸?

    智能家居發(fā)展瓶頸是什么?如何才能突破瓶頸?智能家居是一個讓人又愛又恨的行業(yè),智能家居在2013年就聲名遠播,并且被家居企業(yè)、互聯(lián)網(wǎng)企業(yè)以及諸多相關(guān)企業(yè)看好。然而幾年時間過去了,智能家居的發(fā)展
    發(fā)表于 01-31 17:10

    我國物聯(lián)網(wǎng)的發(fā)展面臨什么瓶頸?

    物聯(lián)網(wǎng)產(chǎn)業(yè)鏈宏大,涵蓋了當代信息技術(shù)的所有方面,并隨著行業(yè)應(yīng)用的發(fā)展還會創(chuàng)造出更多的技術(shù)和產(chǎn)品。我國物聯(lián)網(wǎng)發(fā)展正處于初級階段,加快發(fā)展仍需突破幾個瓶頸。
    發(fā)表于 07-31 06:00

    物聯(lián)網(wǎng)發(fā)展有什么瓶頸?

    編者語:目前“物聯(lián)網(wǎng)”正從一個概念逐步進入“落地”階段,因此,必須突破我國物聯(lián)網(wǎng)產(chǎn)業(yè)發(fā)展瓶頸,推動物聯(lián)網(wǎng)產(chǎn)業(yè)健康發(fā)展。全國政協(xié)委員徐曉蘭兩會提案物聯(lián)網(wǎng),徐曉蘭認為,目前制約我國物聯(lián)網(wǎng)產(chǎn)業(yè)健康發(fā)
    發(fā)表于 09-30 07:30

    物聯(lián)網(wǎng)產(chǎn)業(yè)發(fā)展有什么瓶頸

    ,存在用戶隱私泄漏風險以及系統(tǒng)安全風險,諸如此類安全問題已成為物聯(lián)網(wǎng)技術(shù)發(fā)展過程中所面臨的重大威脅之一,也是物聯(lián)網(wǎng)的瓶頸。雖然近年來密碼學及分布式數(shù)據(jù)管理技術(shù)的發(fā)展提高了物聯(lián)網(wǎng)系統(tǒng)安全,但囿于物聯(lián)網(wǎng)
    發(fā)表于 08-27 23:14

    怎么克服嵌入式CPU性能瓶頸?

    芯片功耗解析芯片的傳輸延時克服嵌入式CPU性能瓶頸
    發(fā)表于 03-09 07:11

    動力電池技術(shù)發(fā)展瓶頸分析及建議

    通過對2019年新能源汽車動力電池配套行業(yè)數(shù)據(jù)進行調(diào)查,研究梳理電池技術(shù)在新能源汽車發(fā)展過程中出現(xiàn)的問題瓶頸,歸納分析產(chǎn)生車輛安全事故的根本原因,進而從電池系統(tǒng)研發(fā)設(shè)計、電芯生產(chǎn)制造、生產(chǎn)質(zhì)量管
    發(fā)表于 05-07 10:11

    運用TMAM客觀分析程序運行過程中內(nèi)在CPU資源出現(xiàn)的瓶頸

    可能都會借助perf /bcc這些工具來尋找存在性能瓶頸的地方。性能出現(xiàn)瓶頸的原因很多比如 CPU、內(nèi)存、磁盤、架構(gòu)等?! ”疚木蛢H僅是針對
    發(fā)表于 11-10 16:52

    無線流媒體通信性能瓶頸的仿真研究

    本文仿真研究Ad-hoc無線網(wǎng)絡(luò)環(huán)境下MPEG-4流媒體的通信性能,在分析和探討無線實時流媒體網(wǎng)絡(luò)性能瓶頸以及各類圖像幀的影響權(quán)值的基礎(chǔ)上,提出一種性能
    發(fā)表于 07-08 08:43 ?14次下載

    芯片開發(fā)商ARM宣布對CPU與GPU的一系列改進,性能大幅提升

    芯片開發(fā)商ARM宣布對CPU與GPU的一系列改進,當芯片在Windows筆記本上運行時,性能大幅提升。
    的頭像 發(fā)表于 06-04 14:54 ?3789次閱讀

    突破性能瓶頸,實現(xiàn)CPU與內(nèi)存高性能互連

    日新月異,推動CPU算力爆炸式增長。高性能計算單元核數(shù)不斷增加,對內(nèi)存的容量和帶寬需求也在持續(xù)上升。然而,內(nèi)存技術(shù)的發(fā)展滯后于CPU,系統(tǒng)整體計算
    發(fā)表于 12-01 15:13 ?584次閱讀

    CPU單核性能與多核性能的區(qū)別

    CPU的單核性能與多核性能在多個方面存在顯著的差異,這些差異主要體現(xiàn)在處理能力、應(yīng)用場景、性能瓶頸以及技術(shù)
    的頭像 發(fā)表于 09-02 14:42 ?974次閱讀