開(kāi)頭 我們都知道CacheLine(簡(jiǎn)稱CL)在CPU內(nèi)部起到緩存的作用,多核CPU還有緩存行一致性協(xié)議來(lái)協(xié)同各個(gè)核心的CL數(shù)據(jù),達(dá)到同步與高效共享數(shù)據(jù)的作用(參考[http...
開(kāi)頭 我們都知道CacheLine(簡(jiǎn)稱CL)在CPU內(nèi)部起到緩存的作用,多核CPU還有緩存行一致性協(xié)議來(lái)協(xié)同各個(gè)核心的CL數(shù)據(jù),達(dá)到同步與高效共享數(shù)據(jù)的作用(參考[http...
寫在前面 經(jīng)常能刷到講解linux內(nèi)核相關(guān)知識(shí)的文章以及課程,大部分是賣課的,給我的感覺(jué)就是不太好懂,甚至越講越不懂,越講越復(fù)雜。我今天思考了一下原因: 只講源代碼不講原理。...
一些常識(shí) CPU不能直接訪問(wèn)內(nèi)存(write-back內(nèi)存模型,也是主流模型),必須通過(guò)L1-L3才能訪問(wèn)到內(nèi)存(具體執(zhí)行是L3環(huán)形總線); CPU訪問(wèn)內(nèi)存的粒度(write...
CPU的局部性原理非常大的影響到了程序的性能,很多性能調(diào)優(yōu)的場(chǎng)景就跟這個(gè)相關(guān)。比如說(shuō):Cacheline,字節(jié)對(duì)齊,甚至這個(gè)原理影響了編程語(yǔ)言的設(shè)計(jì)。程序員需要掌握這個(gè)知識(shí)來(lái)...
Google Pro Tip: Use Back-of-the-envelope-calculations to Choose the Best Design[http://...
先總結(jié),圖在?? 1、作為OS的基礎(chǔ),CPU能支持什么內(nèi)存訪問(wèn)模型,OS就必須跟隨; 2、Intel CPU支持分段與分頁(yè)兩種模型; 3、Intel CPU的訪存模型是先分段再...
性能調(diào)優(yōu)那些事兒 問(wèn)題 性能優(yōu)化是軟件開(kāi)發(fā)中最重要的活動(dòng),也是軟件工程中的深水區(qū),可以說(shuō)也是衡量一個(gè)程序員能力高低的標(biāo)準(zhǔn)。在大廠的面試中性能調(diào)優(yōu)的問(wèn)題也是最常見(jiàn)的,比如:為什...
Linux程序是怎么執(zhí)行的——?jiǎng)討B(tài)鏈接 0、前言 計(jì)算機(jī)的核心任務(wù)就是運(yùn)行程序,而程序是如何運(yùn)行的?這個(gè)問(wèn)題一直困擾我很多年。網(wǎng)上有很多資料介紹程序如何被編譯,如何被鏈接,然...
0 、前言 紅黑樹(shù)是軟件工程中非常重要的數(shù)據(jù)結(jié)構(gòu),在很多的工程領(lǐng)域都有它的身影,比如java的treemap、linkedhashmap,linux內(nèi)核、linux的高并發(fā)多...