欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于緩存一致性原理的原子操作實(shí)現(xiàn)方法及裝置的制造方法

文檔序號(hào):9375234閱讀:395來源:國知局
一種基于緩存一致性原理的原子操作實(shí)現(xiàn)方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)技術(shù)領(lǐng)域,更具體地說,涉及一種基于緩存一致性原理的原子操作實(shí)現(xiàn)方法及裝置。
【背景技術(shù)】
[0002]在多線程程序中,對(duì)共享變量的互斥訪問的實(shí)現(xiàn)一般依賴于自旋鎖(spinlock),而自旋鎖的實(shí)現(xiàn)需要執(zhí)行“測(cè)試-設(shè)置”原子操作(TestAndSet)。這種原子操作需要專門的硬件支持才能完成。在自旋鎖的實(shí)現(xiàn)中,處理器首先對(duì)鎖定地址執(zhí)行讀操作,并在寫入之前執(zhí)行測(cè)試操作,檢測(cè)讀操作發(fā)送后是否有其它處理器對(duì)該地址執(zhí)行了讀寫操作;若沒有其它處理器對(duì)該地址執(zhí)行讀寫操作,則執(zhí)行寫入操作;否則,重復(fù)上述讀操作,并執(zhí)行檢查直至滿足寫入條件。當(dāng)系統(tǒng)集成的處理器核數(shù)較多,并且均對(duì)該地址發(fā)起訪問時(shí),上述操作可能需要經(jīng)過很長時(shí)間才能完成,導(dǎo)致數(shù)據(jù)的同步操作效率低下。
[0003]因此,如何降低原子操作涉及的讀寫操作時(shí)間,提升數(shù)據(jù)同步效率,是現(xiàn)在需要解決的問題。

【發(fā)明內(nèi)容】

[0004]本發(fā)明的目的在于提供一種基于緩存一致性原理的原子操作實(shí)現(xiàn)方法及裝置,以降低原子操作涉及的讀寫操作時(shí)間,提升數(shù)據(jù)同步效率。
[0005]為實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供了如下技術(shù)方案:
[0006]一種基于緩存一致性原理的原子操作實(shí)現(xiàn)方法,包括:
[0007]當(dāng)處理器對(duì)鎖定地址執(zhí)行原子操作時(shí),將所述鎖定地址的協(xié)議初始狀態(tài)轉(zhuǎn)換為保持態(tài);其中,在所述鎖定地址處于保持態(tài)時(shí),阻止其他處理器對(duì)所述鎖定地址的讀寫操作;
[0008]執(zhí)行所述處理器對(duì)所述鎖定地址的讀寫操作。
[0009]優(yōu)選的,將所述鎖定地址的協(xié)議初始狀態(tài)轉(zhuǎn)換為保持態(tài)之后,還包括:
[0010]設(shè)置所述處理器對(duì)所述鎖定地址的保持時(shí)長;
[0011]當(dāng)所述鎖存地址處于保持態(tài)的時(shí)長大于所述保持時(shí)長時(shí),解除所述鎖定地址的保持態(tài),恢復(fù)與所述保持態(tài)相對(duì)應(yīng)的協(xié)議狀態(tài)。
[0012]優(yōu)選的,將所述鎖定地址的協(xié)議初始狀態(tài)轉(zhuǎn)換為保持態(tài),包括:
[0013]若所述鎖定地址的協(xié)議初始狀態(tài)為無效態(tài)或者共享態(tài),則所述處理器請(qǐng)求獨(dú)占保持態(tài);
[0014]若所述鎖定地址的協(xié)議初始狀態(tài)為獨(dú)占態(tài),則將所述獨(dú)占態(tài)轉(zhuǎn)換為獨(dú)占保持態(tài);
[0015]若所述鎖定地址的協(xié)議初始狀態(tài)為修改態(tài),則將所述修改態(tài)轉(zhuǎn)換為修改保持態(tài)。
[0016]優(yōu)選的,若所述鎖定地址處于獨(dú)占保持態(tài),則執(zhí)行所述處理器的讀操作時(shí),保持所述鎖定地址處于獨(dú)占保持態(tài)不變;執(zhí)行所述處理器的寫操作時(shí),將所述鎖定地址的協(xié)議狀態(tài)變?yōu)樾薷谋3謶B(tài);
[0017]若所述鎖定地址處于修改保持態(tài),則執(zhí)行所述處理器的讀操作和寫操作時(shí),所述鎖定地址的協(xié)議狀態(tài)不變。
[0018]優(yōu)選的,若所述鎖定地址處于獨(dú)占保持態(tài),并且所述鎖存地址處于獨(dú)占保持態(tài)的時(shí)長大于所述保持時(shí)長,將所述鎖定地址的協(xié)議狀態(tài)轉(zhuǎn)換為獨(dú)占態(tài);
[0019]若所述鎖定地址處于修改保持態(tài),并且所述鎖存地址處于修改保持態(tài)的時(shí)長大于所述保持時(shí)長,將所述鎖定地址的協(xié)議狀態(tài)轉(zhuǎn)換為修改態(tài)。
[0020]一種基于緩存一致性原理的原子操作實(shí)現(xiàn)裝置,包括:
[0021]協(xié)議狀態(tài)轉(zhuǎn)換模塊,用于當(dāng)處理器對(duì)鎖定地址執(zhí)行原子操作時(shí),將所述鎖定地址的協(xié)議初始狀態(tài)轉(zhuǎn)換為保持態(tài);其中,在所述鎖定地址處于保持態(tài)時(shí),阻止其他處理器對(duì)所述鎖定地址的讀寫操作;
[0022]執(zhí)行模塊,用于執(zhí)行所述處理器對(duì)所述鎖定地址的讀寫操作。
[0023]優(yōu)選的,還包括:
[0024]保持時(shí)長設(shè)置模塊,用于設(shè)置所述處理器對(duì)所述鎖定地址的保持時(shí)長;
[0025]解除模塊,用于當(dāng)所述鎖存地址處于保持態(tài)的時(shí)長大于所述保持時(shí)長,則解除所述鎖定地址的保持態(tài),并觸發(fā)恢復(fù)模塊;
[0026]所述恢復(fù)模塊,用于恢復(fù)與所述保持態(tài)相對(duì)應(yīng)的協(xié)議狀態(tài)。
[0027]優(yōu)選的,所述協(xié)議狀態(tài)轉(zhuǎn)換模塊,包括:
[0028]第一協(xié)議狀態(tài)轉(zhuǎn)換單元,用于當(dāng)所述鎖定地址的協(xié)議初始狀態(tài)為無效態(tài)或者共享態(tài)時(shí),所述處理器請(qǐng)求獨(dú)占保持態(tài);
[0029]第二協(xié)議狀態(tài)轉(zhuǎn)換單元,用于當(dāng)所述鎖定地址的協(xié)議初始狀態(tài)為獨(dú)占態(tài)時(shí),將所述獨(dú)占態(tài)轉(zhuǎn)換為獨(dú)占保持態(tài);
[0030]第三協(xié)議狀態(tài)轉(zhuǎn)換單元,用于當(dāng)所述鎖定地址的協(xié)議初始狀態(tài)為修改態(tài)時(shí),將所述修改態(tài)轉(zhuǎn)換為修改保持態(tài)。
[0031]優(yōu)選的,當(dāng)所述鎖定地址處于獨(dú)占保持態(tài)時(shí),所述執(zhí)行模塊執(zhí)行所述處理器的讀操作,保持所述鎖定地址處于獨(dú)占保持態(tài)不變;所述執(zhí)行模塊執(zhí)行所述處理器的寫操作,將所述鎖定地址的協(xié)議狀態(tài)變?yōu)樾薷谋3謶B(tài);
[0032]當(dāng)所述鎖定地址處于修改保持態(tài)時(shí),則所述執(zhí)行模塊執(zhí)行所述處理器的讀操作和寫操作,所述鎖定地址的協(xié)議狀態(tài)不變。
[0033]優(yōu)選的,所述恢復(fù)模塊,包括:
[0034]第一恢復(fù)模塊,用于當(dāng)所述鎖定地址處于獨(dú)占保持態(tài),并且所述鎖存地址處于獨(dú)占保持態(tài)的時(shí)長大于所述保持時(shí)長時(shí),將所述鎖定地址的協(xié)議狀態(tài)轉(zhuǎn)換為獨(dú)占態(tài);
[0035]第二恢復(fù)模塊,用于當(dāng)所述鎖定地址處于修改保持態(tài),并且所述鎖存地址處于修改保持態(tài)的時(shí)長大于所述保持時(shí)長,將所述鎖定地址的協(xié)議狀態(tài)轉(zhuǎn)換為修改態(tài)。
[0036]通過以上方案可知,本發(fā)明實(shí)施例提供的一種基于一致性原理的原子操作實(shí)現(xiàn)方法及裝置,包括當(dāng)處理器對(duì)鎖定地址執(zhí)行原子操作時(shí),將所述鎖定地址的協(xié)議初始狀態(tài)轉(zhuǎn)換為保持態(tài);其中,在所述鎖定地址處于保持態(tài)時(shí),阻止其他處理器對(duì)所述鎖定地址的讀寫操作;執(zhí)行所述處理器對(duì)所述鎖定地址的讀寫操作,當(dāng)所述鎖定地址處于保持態(tài)時(shí),處理器的緩存一致性維護(hù)機(jī)制保證只有當(dāng)前處理器能夠?qū)λ鲦i定地址執(zhí)行讀寫操作,其它處理器對(duì)所述鎖定地址的操作均需暫停等待,從而保證處理器對(duì)鎖定地址的原子操作。
【附圖說明】
[0037]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0038]圖1為本發(fā)明實(shí)施例公開的一種基于緩存一致性原理的原子操作實(shí)現(xiàn)方法流程圖;
[0039]圖2為本發(fā)明實(shí)施例公開的另一種基于緩存一致性原理的原子操作實(shí)現(xiàn)方法流程圖;
[0040]圖3為本發(fā)明實(shí)施例公開的一種基于緩存一致性原理的原子操作實(shí)現(xiàn)裝置結(jié)構(gòu)示意圖;
[0041]圖4為本發(fā)明實(shí)施例公開的另一種基于緩存一致性原理的原子操作實(shí)現(xiàn)裝置結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0042]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0043]本發(fā)明實(shí)施例公開了一致性原理的原子操作實(shí)現(xiàn)方法及裝置,以降低原子操作涉及的讀寫操作時(shí)間,提升數(shù)據(jù)同步效率。
[0044]參見圖1,本發(fā)明實(shí)施例提供的
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
湘乡市| 育儿| 库伦旗| 城口县| 渝北区| 且末县| 遂川县| 将乐县| 贵南县| 八宿县| 汝阳县| 桦川县| 巩留县| 黄陵县| 峡江县| 顺义区| 普安县| 克什克腾旗| 汕尾市| 昌黎县| 怀宁县| 泌阳县| 临夏县| 万荣县| 磐石市| 乌拉特后旗| 灌南县| 封开县| 安丘市| 昌吉市| 胶南市| 磴口县| 尤溪县| 新宁县| 师宗县| 科技| 南平市| 昆山市| 阿克陶县| 通道| 陇西县|