日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CPU性能监控之一------CPU架构

發布時間:2025/7/14 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CPU性能监控之一------CPU架构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ?先說下CPU的緩存吧,都知道CPU的緩存是分為L1,L2和L3的,L1又分為數據緩存和指令緩存,每顆CPU核心都有自己的L1和L2,但L3是各核心共享的,一但涉及共享的東西,當然就有競爭咯。

? ?

? ?SMP(SymmetricalMulti-Processing,對稱多處理器)架構:

????在一個主板上,能放置多顆CPU,例如4顆,如果每顆4核,那么一共就是16個核心,這種架構存在什么問題呢?我們設想一下,CPU有多個,但我的內存只有一個,同樣的,內存控制器也是只有一個的,那么當我其中的一個CPU去與內存控制器進行交互的時候,其它CPU此時此刻能不能同時與我們的內存控制器交互呢?很顯然,不能了,所以,CPU的顆數越多,那么資源競爭的越激烈,同樣,性能可能會不容樂觀,所以這種架構一般會隨著CPU的增多,性能可能會逐漸下降。

???? 架構圖類似下圖:

????? ??

? ? NUMA(Non-Uniform Memory Access Architecture,非一致性內存訪問)架構:

????? ?由于SMP架構下,多顆CPU之間搶占資源較為激烈,所以NUMA通常有一組CPU(一般為2顆,可能會更多)和本地內存組成,每一顆CPU都有自己獨有的內存,這樣,就大大避免了多顆CPU之間內存爭用和總線爭用的問題,并且本地CPU和內存間距離較短,傳輸速度及快,但是如果我們要訪問的數據在對方的內存上,這樣,性能就會有所下降,可能會很疑惑,我的本地CPU要訪問的數據怎么會在對方的CPU上呢?默認情況下,如果我們運行了100個進程,CPU0和CPU1各運行50個進程,當然,進程所占用的數據還在內存上,過了一會,CPU0結束了10個進程,還運行40個進程,CPU1結束了40個進程,還運行10個進程,此時,CPU根據默認策略,會自動平衡,使兩邊CPU各運行的進程盡可能的一樣多,那么原來在CPU0上運行的進程就會跑到CPU1上去,那么當我們再次訪問進程數據時,就會出現交叉內存訪問了。等到下一篇在說如何綁定吧。先看下架構圖吧:

????


?????NUMA內存交叉訪問為什么速度會慢?

????正常情況下CPU訪問一次內存,最快需要3個時鐘周期:

? 向內存控制器傳輸一個尋址的指令,內存控制器在返回一個值----->CPU確認內存地址,并施加訪問的機制,類似鎖機制----〉進行讀寫操作

????在正常情況下訪問如上過程,但出現交叉訪問是如下過程:

? 向內存控制器傳輸一個尋址指令----〉訪問對方的內存控制器,并施加訪問機制----〉對數據進行讀寫操作?

????此過程中 由本地內存控制器訪問對方內存控制器需要3個時鐘周期,所以,出現交叉內存訪問會最快會使用6個時鐘周期。







轉載于:https://blog.51cto.com/hl914/1557231

總結

以上是生活随笔為你收集整理的CPU性能监控之一------CPU架构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。