CPU访问计算机各组件周期
計算機的核心是cpu,但是光有cpu還不行,它還需從其它組建獲取數據。所以cpu讀取數據的時間就會影響到系統的性能。在現代計算機中,分級存儲大幅提升了這個性能。
數據和分析
來自stackoverflow的數據:
目前主流cpu的頻率都在2GHZ左右,按頻率2GHZ換算了一下周期和延時。
Core i7 Xeon 5500 Series Data Source Latency (approximate)
L1 CACHE hit, ~4 cycles ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?一級緩存,命中,4個周期,2納秒
L2 CACHE hit, ~10 cycles ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?二級緩存,命中,10個周期,5納秒
L3 CACHE hit, line unshared ~40 cycles ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?三級緩存,命中,非共享,40個周期,20納秒
L3 CACHE hit, shared line in another core ~65 cycles? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 三級緩存,命中,數據被另一個核心共享,65個周期,32.5納秒
L3 CACHE hit, modified in another core ~75 cycles remote? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 三級緩存,命中,數據被另一個核心修改。75個周期,37.5納秒
remote L3 CACHE ~100-300 cycles? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 遠程L3緩存,100~300個周期,50~150納秒
Local Dram ~60 ns? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 本地內存,120個周期,60納秒
Remote Dram ~100 ns? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?遠程內存,200個周期,100納秒
SSD ?30~300us ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 固態硬盤,6萬~60萬個周期,30~300微秒
HDD 13.0ms ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 機械硬盤,2600萬個周期,13毫秒
一張截圖:
總結
可以看出,訪問周期在逐級遞增。硬盤和內存訪問周期存在巨大的差距。
還有就是遠程訪問內存的延時會比本地多上接近一倍,所以現在產生了numa技術,禁止遠程內存訪問。
在硬盤和內存之間如果有一個中間性能的存儲,或許能減緩持久化存儲和易失性存儲在速度上的差距。
轉載請注明:旅途@KryptosX???CPU訪問計算機各組件周期
總結
以上是生活随笔為你收集整理的CPU访问计算机各组件周期的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 搜索引擎solr和elasticsear
- 下一篇: C#调用JAVA接口WSSE方式用Web