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