中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

wordpress插件看訪問(wèn)者數(shù)量關(guān)鍵詞優(yōu)化策略

wordpress插件看訪問(wèn)者數(shù)量,關(guān)鍵詞優(yōu)化策略,魔方網(wǎng)站建設(shè),wordpress使用jquery談起內(nèi)存屏障,大家感覺(jué)這個(gè)"玩意兒"很虛,不太實(shí)際,但是內(nèi)核代碼中又廣泛地可以看到起身影。內(nèi)存屏障,英文barrier,這個(gè)"玩意兒"它還不太好去定義它。barrier,中文翻譯為柵欄,柵欄大家都見(jiàn)過(guò),現(xiàn)實(shí)生活中就是防止他人或者動(dòng)物非法闖入而用來(lái)進(jìn)行隔…

談起內(nèi)存屏障,大家感覺(jué)這個(gè)"玩意兒"很虛,不太實(shí)際,但是內(nèi)核代碼中又廣泛地可以看到起身影。內(nèi)存屏障,英文barrier,這個(gè)"玩意兒"它還不太好去定義它。barrier,中文翻譯為柵欄,柵欄大家都見(jiàn)過(guò),現(xiàn)實(shí)生活中就是防止他人或者動(dòng)物非法闖入而用來(lái)進(jìn)行隔離用的工具。再進(jìn)一步,既然是防止闖入,那就是要保護(hù)柵欄內(nèi)的東西。所以在linux 內(nèi)核中,內(nèi)存屏障用于保護(hù)內(nèi)存的訪問(wèn)。

1、什么需要保護(hù)

下面來(lái)談?wù)剝?nèi)存屏障到底保護(hù)什么。

比如cpu0執(zhí)行 a = 1 這條指令時(shí),假設(shè)a所在cache line已經(jīng)在cpu1的 L1 cache中,cpu0 先要獲取a所在的cache line到cpu0的L1cache中,由于是寫(xiě)操作,需要改寫(xiě)a的值,需要再總線上發(fā)送invalid消息讓其他cpu使無(wú)效其cache中a的值,等待其他cpu應(yīng)答后,cpu0才能改寫(xiě)a的值,這樣才能保證cache一致性。

?等待其他cpu上使無(wú)效消息的應(yīng)答期間造成了cpu0的無(wú)效等待,浪費(fèi)時(shí)間。于是cpu設(shè)計(jì)者開(kāi)始修改CPU設(shè)計(jì),出現(xiàn)了使無(wú)效隊(duì)列以及write buffer這些內(nèi)部部件用來(lái)加速cpu的執(zhí)行。具體內(nèi)容讀者可以查閱其他文章。

提升CPU執(zhí)行效率(硬件層面)和編譯器的優(yōu)化使得指令重排序(軟件層面)給程序員帶來(lái)了負(fù)擔(dān),需要程序去進(jìn)行進(jìn)行內(nèi)存訪問(wèn)順序的維護(hù)及保序。

2、ARM提供的指令

ARM提供了如下指令來(lái)進(jìn)行內(nèi)存屏障的處理:

DMB:Data Memory Barrier,數(shù)據(jù)存儲(chǔ)屏障

DSB:Date Synchronization Barrier,數(shù)據(jù)同步屏障

ISB:Instruction Synchronization Barrier,指令同步屏障

DMB和DSB的一個(gè)本質(zhì)區(qū)別,DMB針對(duì)的是memory的load/store之間;DSB強(qiáng)調(diào)的是同類或不同類事物的先后完成。

Data Memory Barrier (DMB) ensures that all explicit memory accesses that appear in program order before the DMB instruction are observed

before any explicit memory accesses that appear in program order after the DMB instruction.

數(shù)據(jù)內(nèi)存屏障(DMB)確保DMB指令之前的所有顯式內(nèi)存訪問(wèn)在DMB指令開(kāi)始之后的任何顯式內(nèi)存訪問(wèn)之前被觀察到。且DMB指令不影響處理上執(zhí)行的任何其他指令的順序。

Data Synchronization Barrier (DSB),No instruction in program order after this instruction executes until this instruction completes.

數(shù)據(jù)同步屏障(DSB)完成后,其后面的指令才可執(zhí)行??梢?jiàn)DSB影響了其他指令的執(zhí)行。

Instruction Synchronization Barrier (ISB) flushes the pipeline in the processor, so that all instructions following the ISB are fetched from cache or memory,

after the instruction has been completed.

指令同步屏障(ISB)沖刷處理器中的流水線,以便在ISB完成后,從緩存或內(nèi)存中提取ISB之后的所有指令??梢?jiàn)ISB嚴(yán)重影響后續(xù)指令的執(zhí)行。

3、linux內(nèi)核實(shí)現(xiàn)

arch/arm/include/asm/barrier.h/*isb,dsb,dmb匯編指令*/
#define isb(option) __asm__ __volatile__ ("isb " #option : : : "memory")
#define dsb(option) __asm__ __volatile__ ("dsb " #option : : : "memory")
#define dmb(option) __asm__ __volatile__ ("dmb " #option : : : "memory")/*barrier:編譯優(yōu)化屏障,阻止編譯器為了性能優(yōu)化而進(jìn)行指令重排*/
#define barrier() __asm__ __volatile__("": : :"memory")/*內(nèi)存屏障(包括讀和寫(xiě)),用于SMP和UP*/
#define mb()		do { dsb(); outer_sync(); } while (0)
/*讀內(nèi)存屏障,用于SMP和UP*/
#define rmb()		dsb()
/*寫(xiě)內(nèi)存屏障,用于SMP和UP*/
#define wmb()		do { dsb(st); outer_sync(); } while (0)/*osh:outer shareable domain*/
#define dma_rmb()	dmb(osh)
#define dma_wmb()	dmb(oshst)/*用于SMP場(chǎng)合的內(nèi)存屏障。*/
/*ish:inner shareable domain,在ish范圍內(nèi)客觀測(cè)到結(jié)果*/
#define smp_mb()	dmb(ish)
/*用于SMP場(chǎng)合的讀內(nèi)存屏障*/
#define smp_rmb()	smp_mb()
/*用于SMP場(chǎng)合的寫(xiě)內(nèi)存屏障*/
/*waits only for stores to complete, and only to the inner shareable domain.*/
#define smp_wmb()	dmb(ishst)

http://www.risenshineclean.com/news/64302.html

相關(guān)文章:

  • 買網(wǎng)站需要注意什么游戲推廣員怎么做
  • 邢臺(tái)網(wǎng)站建設(shè)與制作官網(wǎng)排名優(yōu)化方案
  • 做網(wǎng)站前期框架圖站長(zhǎng)工具查詢官網(wǎng)
  • 保亭整站優(yōu)化網(wǎng)絡(luò)營(yíng)銷公司排名
  • 做可動(dòng)模型的網(wǎng)站網(wǎng)站關(guān)鍵詞挖掘
  • 鄭州網(wǎng)站建設(shè)網(wǎng)絡(luò)推廣seo優(yōu)化與推廣招聘
  • cnzz 網(wǎng)站域名怎么填營(yíng)銷策略的概念
  • 我做網(wǎng)站了網(wǎng)絡(luò)推廣方法有幾種
  • 免費(fèi)空間測(cè)試網(wǎng)站信陽(yáng)網(wǎng)絡(luò)推廣公司
  • 數(shù)字營(yíng)銷 h5 網(wǎng)站開(kāi)發(fā)正規(guī)推廣賺傭金的平臺(tái)
  • 徐匯網(wǎng)站建設(shè)推廣免費(fèi)網(wǎng)絡(luò)營(yíng)銷方式
  • 外貿(mào)公司網(wǎng)站如何做推廣百度頁(yè)面推廣
  • 樂(lè)清門(mén)戶網(wǎng)今日最新信息seo培訓(xùn)公司
  • 常州網(wǎng)站制作市場(chǎng)百度競(jìng)價(jià)
  • 綦江網(wǎng)站建設(shè)公司su搜索引擎優(yōu)化
  • 做合法的海外購(gòu)網(wǎng)站需要什么手續(xù)網(wǎng)站維護(hù)公司
  • 如何做網(wǎng)站內(nèi)鏈網(wǎng)頁(yè)模板建站系統(tǒng)
  • 尋找鄭州網(wǎng)站優(yōu)化公司網(wǎng)絡(luò)推廣網(wǎng)站程序
  • 做的網(wǎng)站怎么讓百度收索時(shí)搜優(yōu)化設(shè)計(jì)方法
  • 歐美做同志網(wǎng)站有哪些百度地圖疫情實(shí)時(shí)動(dòng)態(tài)
  • 合肥做網(wǎng)站優(yōu)化公司蘇州seo門(mén)戶網(wǎng)
  • 國(guó)內(nèi)好看的網(wǎng)站設(shè)計(jì)湖南網(wǎng)站托管
  • 做網(wǎng)站之前要安裝什么百度知道灰色詞代發(fā)收錄
  • 網(wǎng)站 電信已備案 聯(lián)通seo怎么做新手入門(mén)
  • b2c網(wǎng)站的特點(diǎn)北京百度推廣開(kāi)戶
  • 建網(wǎng)站的目的做網(wǎng)站的軟件有哪些
  • 網(wǎng)站建設(shè)夢(mèng)幻創(chuàng)意百度指數(shù)搜索熱度大學(xué)
  • 打開(kāi)這個(gè)網(wǎng)站域名權(quán)重是什么意思
  • 凡科自助建站自己做網(wǎng)站新聞發(fā)稿推廣
  • 網(wǎng)站建設(shè)招標(biāo)參數(shù)小程序開(kāi)發(fā)費(fèi)用明細(xì)