• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    面向RISC-V內(nèi)核的標(biāo)記指令復(fù)算與糾錯(cuò)機(jī)制的設(shè)計(jì)*

    2020-12-07 09:19:10丁,郭
    關(guān)鍵詞:數(shù)據(jù)流寄存器指令

    鄧 丁,郭 陽

    (國防科技大學(xué) 計(jì)算機(jī)學(xué)院, 湖南 長沙 410073)

    據(jù)統(tǒng)計(jì), 1971—1986年的16年期間,國外發(fā)射的39顆同步衛(wèi)星總共出現(xiàn)故障1589次,其中1129次與空間輻射有關(guān)[1]??臻g輻射對(duì)電子器件的影響可分為總劑量(Total Ionizing Dose,TID)效應(yīng)和單粒子效應(yīng)(Single Event Effect,SEE)。具體而言,單粒子效應(yīng)又可細(xì)分為單粒子翻轉(zhuǎn)(Single Event Upset,SEU)、單粒子閂鎖(Single Event Latch,SEL)和單粒子燒毀(Single Event Burnout,SEB)三種子類。其中:后兩者均會(huì)導(dǎo)致載體器件發(fā)生不可逆轉(zhuǎn)的永久故障。而單粒子翻轉(zhuǎn)僅是由于晶體管在外界帶電粒子的轟擊下瞬時(shí)充放電,從而造成的邏輯狀態(tài)翻轉(zhuǎn)。一旦粒子轟擊結(jié)束,便可以自動(dòng)恢復(fù)正常功能。也即,單粒子翻轉(zhuǎn)所引發(fā)的是一種瞬時(shí)故障。事實(shí)上,瞬時(shí)故障在所有引起計(jì)算機(jī)系統(tǒng)失效的故障中所占比重接近90%[2],是永久故障的100倍以上[3]。文獻(xiàn)[4]指出,單粒子翻轉(zhuǎn)是輻射效應(yīng)的主要形式,在全部由宇宙輻射引發(fā)的故障中,55%是單粒子翻轉(zhuǎn)故障。

    由計(jì)算機(jī)硬件故障所導(dǎo)致的錯(cuò)誤可分為控制流錯(cuò)誤和數(shù)據(jù)流錯(cuò)誤??刂屏麇e(cuò)誤主要發(fā)生在執(zhí)行轉(zhuǎn)移指令時(shí),而數(shù)據(jù)流錯(cuò)誤主要是由于存儲(chǔ)或傳輸中的數(shù)據(jù)因干擾耦合等因素發(fā)生錯(cuò)誤進(jìn)而引起的系統(tǒng)異常。

    針對(duì)控制流錯(cuò)誤,2002年Standford大學(xué)CRC實(shí)驗(yàn)室提出了基于軟件簽名的控制流檢查(Control Flow Checking by Software Signature, CFCSS)算法,有效地將分支故障導(dǎo)致系統(tǒng)錯(cuò)誤的概率從33.7%降低為3.1%[5]。但是,CFCSS算法仍不能檢測到偽分支錯(cuò)誤、基本塊內(nèi)部控制流轉(zhuǎn)移錯(cuò)誤。文獻(xiàn)[6]通過添加硬件看門狗來檢查程序的控制流錯(cuò)誤。文獻(xiàn)[7]通過采用市場上常見的調(diào)試接口模塊能夠有效及時(shí)地檢測到控制流錯(cuò)誤。

    針對(duì)數(shù)據(jù)流錯(cuò)誤,利用時(shí)間或空間上的冗余來驗(yàn)證數(shù)據(jù)的有效性是一種行之有效的方法。N版本程序法(N-Version Programming, NVP)為目標(biāo)功能設(shè)計(jì)了多種可能實(shí)現(xiàn)方式,從而保證至少有一種方式能夠正確地執(zhí)行[8]。數(shù)據(jù)重表達(dá)法(Data Re-expression Algorithm, DRA)采用多種不同的方式表達(dá)同樣的數(shù)據(jù),執(zhí)行相同的程序,從而能夠檢查并恢復(fù)數(shù)據(jù)流錯(cuò)誤。編譯器級(jí)容錯(cuò)技術(shù)通過復(fù)制程序指令,在一定檢查點(diǎn)插入比較指令來判斷程序執(zhí)行結(jié)果的正確與否,其典型的算法包括EDDI[9]、ED4I[10]、SWIFT[11]等。

    文獻(xiàn)[12]將軟硬件方法結(jié)合在一起,僅用一個(gè)低端現(xiàn)場可編程門陣列(Field Programmable Gate Array, FPGA)便極大提高了處理器的容錯(cuò)能力。文獻(xiàn)[13]從綜合階段入手優(yōu)化數(shù)據(jù)通路對(duì)瞬時(shí)故障的容錯(cuò)能力,將芯片的功耗降低了約48%。文獻(xiàn)[14]著重對(duì)專用于圖像處理和機(jī)器學(xué)習(xí)的分布式數(shù)據(jù)流處理系統(tǒng)進(jìn)行了容錯(cuò)設(shè)計(jì)。文獻(xiàn)[15]將數(shù)據(jù)流應(yīng)用映射到多個(gè)虛擬處理器上,從而減小了容錯(cuò)所需的總面積。

    本文采用重復(fù)執(zhí)行被標(biāo)記指令的策略來檢測并糾正由單粒子翻轉(zhuǎn)效應(yīng)引起的數(shù)據(jù)流瞬時(shí)故障。本文的主要?jiǎng)?chuàng)新與貢獻(xiàn)包括:

    1)實(shí)現(xiàn)了一種可靈活標(biāo)記復(fù)算指令的機(jī)制。該機(jī)制以較小的硬件開銷與性能降低為代價(jià),能夠檢測出指定指令在執(zhí)行期間是否發(fā)生數(shù)據(jù)流錯(cuò)誤。

    2)對(duì)于標(biāo)記為復(fù)算的指令,實(shí)現(xiàn)了時(shí)間上的三模冗余糾錯(cuò)機(jī)制。若第一次復(fù)算結(jié)果與初始結(jié)果不相等,將自動(dòng)執(zhí)行第二次復(fù)算,并根據(jù)少數(shù)服從多數(shù)的原則,對(duì)數(shù)據(jù)流錯(cuò)誤進(jìn)行糾正。

    1 標(biāo)記指令復(fù)算與糾錯(cuò)機(jī)制

    1.1 總體結(jié)構(gòu)設(shè)計(jì)

    單粒子翻轉(zhuǎn)故障是一種瞬時(shí)故障,其故障持續(xù)時(shí)間很短。因此通常假設(shè)單粒子翻轉(zhuǎn)故障發(fā)生的同時(shí),錯(cuò)誤也立即產(chǎn)生,即沒有故障延遲。又因單粒子翻轉(zhuǎn)故障觸發(fā)的時(shí)刻、位置都是隨機(jī)不可預(yù)測的,所以連續(xù)兩個(gè)不同時(shí)刻,在同一位置發(fā)生同一類型的瞬時(shí)故障的概率非常微小。鑒于此,本文提出在連續(xù)的指令周期里重復(fù)執(zhí)行被標(biāo)記的指令來檢測并糾正瞬時(shí)錯(cuò)誤結(jié)果的容錯(cuò)機(jī)制。

    從宏觀上看,關(guān)于標(biāo)記指令復(fù)算機(jī)制的改進(jìn)主要集中在如圖1所示的深灰色方框中,關(guān)于標(biāo)記指令糾錯(cuò)機(jī)制的改進(jìn)主要集中在如圖1所示的淺灰色方框中。糾錯(cuò)的核心思想是:由編譯器對(duì)關(guān)鍵或易錯(cuò)指令進(jìn)行復(fù)算標(biāo)記的賦值,并將復(fù)算標(biāo)記一同存入指令存儲(chǔ)器中;復(fù)算標(biāo)記與其所對(duì)應(yīng)的指令一同流入處理器內(nèi)核,最終一同發(fā)射給運(yùn)算邏輯單元(Arithmetic Logical Unit, ALU);ALU部件根據(jù)所接收到的標(biāo)記,由復(fù)算糾錯(cuò)狀態(tài)機(jī)RCC_FSM生成反饋信號(hào)作用于itcm_ctrl和ifu兩個(gè)模塊,從而控制下一條指令是否流出。本文主要對(duì)以下兩種情況進(jìn)行糾錯(cuò):①涉及寫寄存器文件的指令,包括load指令,以寄存器文件為目標(biāo)地址的邏輯運(yùn)算指令、算術(shù)運(yùn)算指令等;②條件分支指令。對(duì)寄存器文件寫操作的糾錯(cuò)主要由寄存器文件備份模塊Reg_bak來完成;對(duì)條件分支指令的糾錯(cuò)主要由跳轉(zhuǎn)狀態(tài)位的備份模塊Bjp_bak來完成。Reg_bak模塊根據(jù)備份數(shù)據(jù)與復(fù)算數(shù)據(jù)的比較結(jié)果,控制寄存器文件的寫回模塊Wbck,進(jìn)而決定是否對(duì)寄存器文件進(jìn)行寫操作。Bjp_bak模塊根據(jù)備份跳轉(zhuǎn)位與復(fù)算跳轉(zhuǎn)位的比較結(jié)果,控制分支指令的跳轉(zhuǎn)模塊Isjp,進(jìn)而決定是否沖刷掉已經(jīng)推測預(yù)取到指令緩沖Ins_buf中的后續(xù)指令。

    圖1 標(biāo)記指令復(fù)算與糾錯(cuò)機(jī)制結(jié)構(gòu)框圖Fig.1 Architecture of the recomputation and correction mechanism for tagged instruction

    1.2 標(biāo)記指令復(fù)算機(jī)制的具體實(shí)現(xiàn)

    在基于RISC-V指令集的開源內(nèi)核“蜂鳥e203”[16]上實(shí)現(xiàn)該標(biāo)記指令復(fù)算與糾錯(cuò)機(jī)制,后文將以“蜂鳥e203”內(nèi)核為例,詳細(xì)闡述該容錯(cuò)機(jī)制的具體實(shí)現(xiàn)過程。

    “蜂鳥e203”內(nèi)核是一款超低功耗2級(jí)流水線處理器核,支持RISC-V指令集以及RV32I/E/A/M/C/F/D等指令子集的配置組合。其結(jié)構(gòu)框架如圖2所示。私有的指令緊耦合存儲(chǔ) (Instruction Tightly Coupled Memory, ITCM)與數(shù)據(jù)緊耦合存儲(chǔ)(Data Tightly Coupled Memory, DTCM)(未畫出)可在分離存儲(chǔ)指令與數(shù)據(jù)的同時(shí)提高性能。其中ITCM SRAM雖然主要用于存儲(chǔ)指令,但也可以用于存放數(shù)據(jù)并用load和store指令進(jìn)行訪問。其電路實(shí)例化模塊是圖2中的u_e203_srams,位寬為64位,大小為64 KB。雖然RISC-V指令集里指令的最大寬度是32位,但為減小讀取功耗與延時(shí),“蜂鳥e203”中的 itcm_ctrl模塊依然適時(shí)地從ITCM中讀出一整行的64位數(shù)據(jù)。為解決指令位寬不匹配的問題,“蜂鳥e203”里設(shè)計(jì)了ift2icb模塊。該模塊的主要功能是把讀出的64位指令分解成32位并暫存。由于“蜂鳥e203”是單發(fā)射、順序執(zhí)行、順序提交的體系結(jié)構(gòu),而乘法、除法等多周期指令必然導(dǎo)致流水線的停滯,因此,itcm_ctrl的另一個(gè)功能是根據(jù)當(dāng)前處理器所處的狀態(tài),決定輸出指令來源于上一條正在執(zhí)行的指令還是接受緩沖區(qū)(Ins_buf)中新的指令。由于RISC-V指令集是變長指令集(同時(shí)支持32位指令和16位指令),所以取指令部件ifetch需要對(duì)指令進(jìn)行預(yù)譯碼,判斷當(dāng)前32位指令數(shù)據(jù)是一條完整的32位指令還是兩條16位指令,抑或是上一條32位指令的低16位與下一條32位指令的高16位等。ifetch部件最終為執(zhí)行部件u_e203_exu提供一個(gè)32位“指令束”ifu_o_ir。當(dāng)待發(fā)射指令是32位指令時(shí),ifu_o_ir的高16位來源于一個(gè)16位ifu_hi_ir觸發(fā)器中的新值,低16位來源于一個(gè)16位ifu_lo_ir觸發(fā)器中的新值。而當(dāng)待發(fā)射指令是16位指令時(shí),此時(shí)ifu_o_ir的真實(shí)有效指令只有低16位,其高16位數(shù)據(jù)此時(shí)是無關(guān)值。因此,ifu_o_ir的低16位來源于ifu_lo_ir觸發(fā)器的新值,而其高16位用ifu_hi_ir觸發(fā)器的舊值進(jìn)行填充。上述整個(gè)階段是“蜂鳥e203”流水線的第一級(jí),可歸納為“取指”,驅(qū)動(dòng)數(shù)據(jù)主要是“指令流”。指令流在第一級(jí)流水線中經(jīng)歷了“64位→32位→16位→32位”的變化。“蜂鳥e203”流水線的第二級(jí)可歸納為“執(zhí)行”,主要負(fù)責(zé)指令的譯碼、執(zhí)行、寫回、提交等功能,驅(qū)動(dòng)數(shù)據(jù)主要是“數(shù)據(jù)流”。在本文所實(shí)現(xiàn)的容錯(cuò)機(jī)制中,標(biāo)記指令復(fù)算部分的改進(jìn)主要在流水線第一級(jí)進(jìn)行,而糾錯(cuò)部分的改進(jìn)主要在流水線第二級(jí)進(jìn)行。

    圖2中的陰影矩形與陰影連線分別表示了指令復(fù)算標(biāo)記所存儲(chǔ)的位置與傳輸?shù)穆窂?。本文為?6位指令數(shù)據(jù)添加了1位初始標(biāo)記init_tg。因此,“蜂鳥e203”第一級(jí)流水線里的指令流帶寬被相應(yīng)調(diào)整成了“68位→34 位→17位→34位”。在所有指令需要暫存的地方,也都對(duì)其存儲(chǔ)部件進(jìn)行了位寬擴(kuò)展。比如:u_e203_srams從64位擴(kuò)展為68位,Ins_buf從32位擴(kuò)展成了34位,ifu_hi_ir/ifu_lo_ir從16位擴(kuò)展成了17位。每1位復(fù)算標(biāo)記與其所對(duì)應(yīng)的16位指令數(shù)據(jù)同時(shí)進(jìn)入每一個(gè)模塊,經(jīng)歷相同的路徑,緩沖相同的時(shí)間,最后同時(shí)由ifetch模塊輸出給譯碼模塊Decode。

    在ifetch部件最終輸出的32位“指令束”ifu_o_ir中包含2位指令復(fù)算標(biāo)記rc_tg(tg_hi,tg_lo)。最終指令的復(fù)算情況與此二位復(fù)算標(biāo)記的取值存在如表1所示的關(guān)系。

    圖2 “蜂鳥e203”內(nèi)核指令流示意Fig.2 Instruction flow path for “Humming bird e203”

    表1 rc_tg取值與指令復(fù)算的關(guān)系

    本文的指令初始標(biāo)記init_tg是由編譯器根據(jù)目標(biāo)指令在應(yīng)用程序中的關(guān)鍵性與易錯(cuò)性來賦值的。指令關(guān)鍵性越強(qiáng),易錯(cuò)性越高,則相應(yīng)的init_tg就置為1,反之則置為0。所以對(duì)于32位指令不復(fù)算的情況,可以由編譯器在編譯時(shí)指定其兩段16位的指令數(shù)據(jù)所對(duì)應(yīng)的init_tg=00。由表1可以觀察得到,無論是32位指令還是16位指令,需要進(jìn)行復(fù)算時(shí),其tg_lo=1;不需進(jìn)行復(fù)算時(shí),其tg_lo=0。所以只需根據(jù)tg_lo的值即可判定所有指令是否應(yīng)該進(jìn)行復(fù)算。當(dāng)tg_lo=0時(shí),按照常規(guī)步驟進(jìn)行指令的譯碼、執(zhí)行、寫回等操作后將發(fā)射下一條新的指令。當(dāng)tg_lo=1時(shí),當(dāng)前指令提交之后,復(fù)算糾錯(cuò)狀態(tài)機(jī)RCC_FSM將停止從ITCM中讀取新的指令,并保持ifu_o_ir所輸出的當(dāng)前指令不變,重新再執(zhí)行一次。實(shí)施該種機(jī)制的硬件只需兩個(gè)時(shí)鐘門控單元,如圖2所示的陰影橢圓CKG。

    這種實(shí)現(xiàn)方式有以下三個(gè)優(yōu)點(diǎn):①相比于在編譯器級(jí)插入復(fù)算指令的做法,該方法只引入了1位的復(fù)算標(biāo)記,極大節(jié)省了程序存儲(chǔ)空間;②相比于從ITCM中重新讀取一次復(fù)算指令的做法,避免了對(duì)程序計(jì)數(shù)器使用大量復(fù)雜的控制邏輯,同時(shí)也節(jié)省了將復(fù)算指令從ITCM讀到ift2icb再到經(jīng)ifetch整合并輸出給執(zhí)行部件所消耗的功耗與延時(shí);③相比于引入一個(gè)額外的指令緩沖區(qū)來存儲(chǔ)已發(fā)射并需要復(fù)算的指令的做法,本文節(jié)省了一個(gè)至少32位寬的指令緩沖區(qū)面積。

    1.3 標(biāo)記指令糾錯(cuò)機(jī)制的具體實(shí)現(xiàn)

    如圖1所示,標(biāo)記指令的糾錯(cuò)機(jī)制主要由復(fù)算糾錯(cuò)狀態(tài)機(jī)RCC_FSM和備份冗余模塊(Reg_bak與Bjp_bak)構(gòu)成。

    復(fù)算糾錯(cuò)狀態(tài)機(jī)RCC_FSM的主要功能是:根據(jù)指令的標(biāo)記情況、提交情況決定是否執(zhí)行復(fù)算;根據(jù)原指令結(jié)果與第一次復(fù)算結(jié)果的比較情況,決定是否進(jìn)行第二次復(fù)算。其狀態(tài)轉(zhuǎn)移如圖3所示。

    圖3 RCC_FSM的狀態(tài)轉(zhuǎn)移Fig.3 State transition diagram of RCC_FSM

    有3個(gè)信號(hào)決定RCC_FSM的狀態(tài)轉(zhuǎn)移:

    1)Tag信號(hào):Tag=1時(shí),表示被標(biāo)記指令需要進(jìn)行復(fù)算;Tag=0時(shí)則不進(jìn)行復(fù)算。

    2)cmt_valid信號(hào):cmt_valid=1時(shí)表示原指令已經(jīng)執(zhí)行完畢,下一周期將取下一條指令。

    3)final_assure信號(hào):final_assure=0時(shí),表示復(fù)算結(jié)果與備份結(jié)果不相等。

    默認(rèn)情況下,RCC_FSM處于None狀態(tài),即不進(jìn)行復(fù)算狀態(tài)。在此種狀態(tài)下,只有當(dāng)Tag=1(也即tg_lo=1)且cmt_valid=1時(shí),才會(huì)跳轉(zhuǎn)到Repeat狀態(tài)。其他情況下,都將保持None狀態(tài)不變。

    當(dāng)正在進(jìn)行復(fù)算或者已經(jīng)進(jìn)行過一次復(fù)算時(shí),RCC_FSM則處于Repeat狀態(tài)。在此狀態(tài)下,只有兩種類型的輸入能夠使RCC_FSM繼續(xù)保持在Repeat狀態(tài):

    1)Tag=1且final_assure=0。此種情況的含義是:第一次復(fù)算已經(jīng)完成并已與原始指令的結(jié)果進(jìn)行了比較,發(fā)現(xiàn)連續(xù)兩次執(zhí)行的同一條指令結(jié)果不相同,因此需要對(duì)該指令進(jìn)行第二次復(fù)算,通過三模冗余的方式進(jìn)行糾錯(cuò)處理。

    2)Tag=1且cmt_valid=0。此種情況常發(fā)生在被復(fù)算的指令是多周期指令時(shí)。

    其他輸入模式下,狀態(tài)機(jī)都將跳回到None狀態(tài)。

    Reg_bak與Bjp_bak模塊其實(shí)都是備份冗余模塊rddt的實(shí)例化,只是各自備份的數(shù)據(jù)位寬不同而已。rddt模塊主要由兩個(gè)數(shù)據(jù)緩存單元、兩個(gè)比較器、一個(gè)計(jì)數(shù)器、一個(gè)3路選擇器,一個(gè)或門構(gòu)成。因?yàn)镽eg_bak需要備份將要寫進(jìn)寄存器文件的32位數(shù)據(jù),所以其數(shù)據(jù)位寬是32位;而Bjp_bak只需要備份指示條件分支指令是否跳轉(zhuǎn)的1個(gè)狀態(tài)位,所以其數(shù)據(jù)寬度是1位。

    備份冗余模塊運(yùn)行過程的時(shí)序情況如圖4所示。若目標(biāo)指令不是復(fù)算指令(即圖4所示的單周期指令I(lǐng)nst1),寫使能信號(hào)Wen=0、比較使能信號(hào)CP_en=0,備份冗余模塊并不對(duì)備份數(shù)據(jù)信號(hào)Din進(jìn)行暫存和比較。計(jì)數(shù)使能信號(hào)Cnt_en一直等于0,因此提交確認(rèn)信號(hào)cmt_assure一直為1。只要該指令執(zhí)行完畢,便可立即提交。

    圖4 rddt模塊時(shí)序圖Fig.4 Timing diagram of rddt

    若目標(biāo)指令是復(fù)算指令(即圖4所示的單周期指令I(lǐng)nst2),則:①在原指令執(zhí)行期間,內(nèi)部計(jì)數(shù)值Cnt=0,CP_en=0,因此cmt_assure=1。Wen=1,所以Din將原始指令執(zhí)行的結(jié)果存入第一級(jí)緩沖中。②在第一次復(fù)算期間,CP_en由0變?yōu)?, Cnt此時(shí)由0變?yōu)?,因此cmt_assure=CP1。若CP1=1,說明復(fù)算結(jié)果與備份數(shù)據(jù)相等,從而可以順利提交該指令;若CP1=0,說明復(fù)算結(jié)果與備份數(shù)據(jù)不相等,需要繼續(xù)執(zhí)行第二次復(fù)算。此時(shí)Wen=1,原始執(zhí)行結(jié)果被傳到第二級(jí)緩存,第一次復(fù)算結(jié)果被存進(jìn)第一級(jí)緩存。③在第二次復(fù)算期間,Cnt由1變?yōu)?。第二次復(fù)算的結(jié)果將分別與原始結(jié)果和第一次復(fù)算結(jié)果進(jìn)行比較,并把CP1|CP2賦給cmt_assure。

    2 理論分析

    本文提出的標(biāo)記指令復(fù)算糾錯(cuò)機(jī)制主要是針對(duì)由宇宙輻射所導(dǎo)致的數(shù)據(jù)流瞬時(shí)錯(cuò)誤。因此,對(duì)于某一個(gè)特定的指令,在不同的時(shí)刻發(fā)生單粒子翻轉(zhuǎn)效應(yīng)的概率相等。對(duì)于某條執(zhí)行周期為n的指令,假設(shè)其每個(gè)周期中數(shù)據(jù)流出錯(cuò)的概率為p。

    在不復(fù)算的情況下,該指令執(zhí)行正確的概率:

    Pr=(1-p)n

    (1)

    在不復(fù)算的情況下,該指令執(zhí)行錯(cuò)誤的概率:

    Pf=1-Pr=1-(1-p)n

    (2)

    在復(fù)算的情況下,兩次均執(zhí)行正確的概率:

    Prr=(1-p)2n

    (3)

    在復(fù)算的情況下,一次執(zhí)行錯(cuò)誤、一次執(zhí)行正確的概率:

    Pfr+Prf=2[1-(1-p)n](1-p)n

    (4)

    在復(fù)算的情況下,兩次均執(zhí)行錯(cuò)誤的概率:

    Pff=[1-(1-p)n]2

    (5)

    在不利用中斷程序輔助錯(cuò)誤處理的情況下,采取本文提出的標(biāo)記指令復(fù)算糾錯(cuò)機(jī)制,其最終能得到正確結(jié)果的概率為:

    Pnew=Prfr+Pfrr+Prr

    =2[1-(1-p)n](1-p)2n+(1-p)2n

    (6)

    在不復(fù)算也不利用中斷程序處理錯(cuò)誤的情況下,其最終能得到正確結(jié)果的概率:

    Pold=Pr=(1-p)n

    (7)

    所以指令i正確執(zhí)行的概率增加了:

    ΔP=Pnew-Pold=2[1-(1-p)n](1-p)2n+

    (1-p)2n-(1-p)n

    =-2t3+3t2-t=f1(t)

    (8)

    其中,t=(1-p)n。

    若與中斷機(jī)制相結(jié)合,則當(dāng)三次計(jì)算結(jié)果均不一樣時(shí),可以通過中斷程序報(bào)錯(cuò),讓操作系統(tǒng)進(jìn)行相應(yīng)的錯(cuò)誤處理。此種情況的概率為:

    Pint=2(1-p)n[1-(1-p)n]-

    2(1-p)2n[1-(1-p)n]-

    2(1-p)n[1-(1-p)n]·qn

    (9)

    其中:2(1-p)n[1-(1-p)n]表示的是標(biāo)記指令被執(zhí)行3次的概率;2(1-p)2n[1-(1-p)n]表示的是3次執(zhí)行中2次正確、1次錯(cuò)誤的概率;2(1-p)n[1-(1-p)n]·qn表示的是3次執(zhí)行中2次錯(cuò)誤、1次正確,且錯(cuò)誤結(jié)果相同的概率。q表示出現(xiàn)錯(cuò)誤且錯(cuò)誤結(jié)果與之前的錯(cuò)誤結(jié)果相同的概率,其數(shù)值遠(yuǎn)遠(yuǎn)小于p。比如,對(duì)某個(gè)深度為32、位寬為32的寄存器文件而言,若寄存器R0某個(gè)數(shù)據(jù)位發(fā)生單粒子瞬時(shí)故障的概率為p,則對(duì)于指定位(如最高位)發(fā)生單粒子瞬時(shí)故障的概率q=p/32。

    因此,可以忽略2(1-p)n[1-(1-p)n]·qn項(xiàng),則Pint≈2(1-p)n[1-(1-p)n][1-(1-p)n]。

    同理,設(shè)t=(1-p)n∈(0,1),則:

    Pint≈f2(t)=2(t3-2t2+t)

    (10)

    所以Pint+ΔP≈f(t)=-t2+t。

    f(t)max=f(1/2)=0.25,即:若與中斷錯(cuò)誤處理程序配合使用,標(biāo)記指令復(fù)算糾錯(cuò)機(jī)制可把單個(gè)指令的檢錯(cuò)能力最多提高25%。

    對(duì)于一個(gè)包含s條指令的程序,假設(shè)沒有復(fù)算糾錯(cuò)機(jī)制,每一條指令執(zhí)行正確的概率是ti=(1-pi)ni,其中pi是第i條指令發(fā)生錯(cuò)誤的概率,ni是執(zhí)行第i條指令所需的時(shí)鐘周期。則整個(gè)程序最終能正確執(zhí)行結(jié)束的概率是:

    (11)

    若采用指令復(fù)算糾錯(cuò)機(jī)制,則整個(gè)程序最終能夠正確執(zhí)行結(jié)束的概率是:

    (12)

    所以對(duì)于整個(gè)系統(tǒng)而言,最終目標(biāo)程序的容錯(cuò)能力提高了:

    (13)

    以本文所做的實(shí)驗(yàn)為例,假設(shè)整個(gè)程序中共s= 160條指令,所有指令都是涉及寄存器文件操作的單周期指令,任一時(shí)刻寄存器文件中的某個(gè)寄存器發(fā)生故障的概率pi=1/32,則對(duì)于每一條指令,其能正確執(zhí)行的概率ti=(1-1/32)1=31/32,代入式(8)可得Δti=ΔPi=2.83%。

    在沒有復(fù)算糾錯(cuò)機(jī)制時(shí),整個(gè)程序最終得以正確執(zhí)行的概率Pori=(31/32)160=0.62%。

    若采用復(fù)算糾錯(cuò)機(jī)制(不考慮中斷輔助),程序正確執(zhí)行的概率為:

    Prcc=(31/32+2.83%)160=62.33%

    (14)

    所以對(duì)于整個(gè)程序而言,本文提出的復(fù)算糾錯(cuò)機(jī)制將系統(tǒng)可靠性提高了:

    ΔPtotal=Prcc-Pori=61.71%

    (15)

    3 實(shí)驗(yàn)結(jié)果

    本文用6個(gè)來自riscv-test項(xiàng)目中的基準(zhǔn)測試集對(duì)復(fù)算糾錯(cuò)機(jī)制進(jìn)行測試。riscv-test是由RISC-V架構(gòu)開發(fā)者在Github平臺(tái)上維護(hù)的公共項(xiàng)目,其中包含一些測試處理器是否符合RISC-V指令集架構(gòu)定義的測試程序,它們均由匯編語言編寫。本文的重點(diǎn)是從硬件上建立指令復(fù)算和糾錯(cuò)機(jī)制,而非在軟件上優(yōu)化編譯器使之能根據(jù)指令的重要性和易錯(cuò)性自動(dòng)添加復(fù)算標(biāo)記。所以在整個(gè)實(shí)驗(yàn)過程中,復(fù)算標(biāo)記是在ITCM初始化文件中手動(dòng)添加的。

    本文對(duì)邏輯運(yùn)算測試集or、and、xor和算數(shù)運(yùn)算測試集add、mul、div分別進(jìn)行了100次容錯(cuò)實(shí)驗(yàn)。因?yàn)樵谏鲜?個(gè)測試集中也包含有分支跳轉(zhuǎn)指令,因此通過對(duì)其中的分支跳轉(zhuǎn)指令添加復(fù)算標(biāo)記,也可以順便完成對(duì)Bjp_bak糾錯(cuò)模塊的測試。其中故障注入是通過在測試文件tb_top.v中利用force和release語句,在指定時(shí)刻對(duì)隨機(jī)信號(hào)產(chǎn)生隨機(jī)干擾完成的。為降低故障注入的復(fù)雜度并便于調(diào)試,本文在每個(gè)時(shí)鐘周期上升沿之后,只針對(duì)32個(gè)通用寄存器文件進(jìn)行隨機(jī)故障注入,每次故障持續(xù)的時(shí)間都最長不超過一個(gè)時(shí)鐘周期。雖然只針對(duì)寄存器進(jìn)行了故障注入,但是該方法可以模擬整個(gè)寄存器文件讀、寫以及運(yùn)算執(zhí)行過程中所覆蓋的硬件的全部故障,即達(dá)到了本文想要檢測并糾正數(shù)據(jù)流瞬時(shí)故障的初衷。因此,對(duì)于每個(gè)時(shí)鐘周期,每個(gè)寄存器文件出錯(cuò)的概率p=1/32。每個(gè)“蜂鳥e203”寄存器文件的數(shù)據(jù)位寬是32位,因此對(duì)于指定寄存器的指定位發(fā)生錯(cuò)誤的概率q=p/32。

    圖5展示了在100次隨機(jī)故障注入的實(shí)驗(yàn)中,引入標(biāo)記指令復(fù)算與糾錯(cuò)機(jī)制前后各測試集錯(cuò)誤執(zhí)行的次數(shù)。其中,空白條BF表示未引入復(fù)算糾錯(cuò)機(jī)制前,測試程序能夠順利完成但得到的是錯(cuò)誤結(jié)果的次數(shù);灰色填充條BD表示未引入復(fù)算糾錯(cuò)機(jī)制前,測試程序由于數(shù)據(jù)流錯(cuò)誤,導(dǎo)致其中某些分支跳轉(zhuǎn)指令跳錯(cuò)方向,從而陷入死循環(huán)無法正常退出的次數(shù),即偽分支錯(cuò)誤;綠色填充條AF表示引入復(fù)算糾錯(cuò)機(jī)制后,測試程序能夠順利完成但得到的是錯(cuò)誤結(jié)果的次數(shù);紅色填充條AD表示引入復(fù)算糾錯(cuò)機(jī)制后,測試程序由于數(shù)據(jù)流錯(cuò)誤,其中某些分支跳轉(zhuǎn)指令跳錯(cuò)方向,從而陷入死循環(huán)無法正常退出的次數(shù)。

    從or、and、xor的實(shí)驗(yàn)數(shù)據(jù)中可以看出,未改進(jìn)之前,邏輯運(yùn)算內(nèi)在的容錯(cuò)能力十分微弱,在100次隨機(jī)故障注入的實(shí)驗(yàn)中,沒有一次能夠正確運(yùn)行完畢。對(duì)于算數(shù)運(yùn)算測試集add、mul、div,在未引入復(fù)算糾錯(cuò)機(jī)制之前,出錯(cuò)概率也為100%。當(dāng)引入復(fù)算糾錯(cuò)機(jī)制和中斷處理機(jī)制之后,從圖5可以看出錯(cuò)誤執(zhí)行概率大大減小。其中,執(zhí)行完畢但得到錯(cuò)誤結(jié)果的概率(彩色條長度相對(duì)于灰白條長度)平均減小了約89.82%,說明標(biāo)記指令復(fù)算與糾錯(cuò)機(jī)制能夠有效地檢查并校正數(shù)據(jù)流錯(cuò)誤。另外,偽分支錯(cuò)誤的概率(紅色填充條長度相對(duì)于灰色填充條長度)平均減小了40%。

    圖6展示了在100次故障注入實(shí)驗(yàn)中,在引入本文所提出的標(biāo)記指令復(fù)算與糾錯(cuò)機(jī)制之后,程序最終得以正確執(zhí)行的次數(shù)。從中可以看出,在本文所提出的標(biāo)記指令復(fù)算與糾錯(cuò)機(jī)制和中斷處理程序的配合下,6個(gè)測試集平均有86.67%的概率能夠正確完成程序的指定任務(wù)。對(duì)于單周期指令or、and、xor測試集而言,實(shí)驗(yàn)數(shù)據(jù)表明在只有復(fù)算糾錯(cuò)機(jī)制的情況下,其正確執(zhí)行的概率平均為[(65+77+61)/300]×100%=67.67%,與第2節(jié)理論分析中得出的62.33%相吻合。

    對(duì)于mul、div等多周期指令,隨著指令周期數(shù)n的增大,單條指令受到隨機(jī)故障影響的概率也越大。因此單條mul、div指令正確執(zhí)行的概率將變小,從而導(dǎo)致通過兩次復(fù)算進(jìn)行糾錯(cuò)的成功率也將大大降低。盡管如此,本文提出的復(fù)算與糾錯(cuò)機(jī)制可以根據(jù)原始計(jì)算與兩次復(fù)算結(jié)果的不同,檢查出數(shù)據(jù)流錯(cuò)誤并報(bào)中斷程序進(jìn)行系統(tǒng)級(jí)糾錯(cuò),從而成功保證程序得以正常執(zhí)行。從圖6的實(shí)驗(yàn)數(shù)據(jù)可以發(fā)現(xiàn),對(duì)于mul測試集和div測試集,其通過兩次復(fù)算成功糾錯(cuò)的次數(shù)分別只有27次和1次,但分別有62次和99次通過報(bào)中斷處理程序得以糾正錯(cuò)誤,保證程序的正確執(zhí)行。

    圖5 程序執(zhí)行錯(cuò)誤的次數(shù)Fig.5 The number of program failures

    圖6 程序正常執(zhí)行完畢的次數(shù)Fig.6 The number of program successes

    4 結(jié)論

    本文提出了一種標(biāo)記指令復(fù)算與糾錯(cuò)機(jī)制。通過編譯器對(duì)每16位指令數(shù)據(jù)插入1位復(fù)算標(biāo)記,并引入一個(gè)復(fù)算糾錯(cuò)狀態(tài)機(jī)RCC_FSM來監(jiān)控指令流中的標(biāo)記,可以對(duì)標(biāo)記為復(fù)算的指令進(jìn)行復(fù)算。通過引入Reg_bak和Bjp_bak兩個(gè)備份糾錯(cuò)模塊,若寫入寄存器文件的數(shù)據(jù)或者分支跳轉(zhuǎn)的方向在第一次復(fù)算時(shí)的結(jié)果與原始運(yùn)算結(jié)果不同,可自動(dòng)進(jìn)行第二次復(fù)算。根據(jù)少數(shù)服從多數(shù)的原則,可自動(dòng)糾正錯(cuò)誤從而得到正確結(jié)果。若三次運(yùn)算結(jié)果均各不相同,則可自動(dòng)觸發(fā)中斷機(jī)制,交由系統(tǒng)級(jí)容錯(cuò)軟件進(jìn)行處理。

    所提出的標(biāo)記指令復(fù)算與糾錯(cuò)機(jī)制的優(yōu)點(diǎn)有:

    1)對(duì)軟件程序所需的內(nèi)存開銷較小。因?yàn)闆]有直接插入完整的冗余指令,而只是插入了是否復(fù)算的標(biāo)記位。

    2)對(duì)芯片的硬件開銷較小。采用時(shí)鐘門控的做法,避免了在原有的硬件基礎(chǔ)上增加復(fù)雜的控制邏輯。整個(gè)內(nèi)核只需引入一個(gè)復(fù)算糾錯(cuò)狀態(tài)機(jī)RCC_FSM??筛鶕?jù)具體的需要,針對(duì)易錯(cuò)部件靈活地插入備份糾錯(cuò)模塊。

    3)對(duì)程序執(zhí)行時(shí)間的開銷較小。在程序復(fù)算的過程中免去了重新取指的過程,可以直接重新發(fā)射。而且僅在第一次復(fù)算結(jié)果與原始結(jié)果不同時(shí),才進(jìn)行第二次復(fù)算。

    然而,本文的工作也仍存在不足:

    1)雖然用額外添加標(biāo)記位的方式來表達(dá)指令復(fù)算的需求可以節(jié)省存儲(chǔ)空間,但同時(shí)也要求軟件工程師能分析出易出錯(cuò)的指令,抑或是將容錯(cuò)能力納入編譯器中,使編譯器能夠?qū)σ族e(cuò)指令進(jìn)行自動(dòng)標(biāo)記。下一步研究將對(duì)RISC-V編譯器進(jìn)行優(yōu)化和改進(jìn),使之能自動(dòng)分析出指令的易錯(cuò)性和重要性。

    2)雖然二次復(fù)算可以避免傳統(tǒng)硬件三模冗余結(jié)構(gòu)帶來的面積與功耗開銷,但是對(duì)于出錯(cuò)率高、執(zhí)行周期長的指令而言,可能會(huì)降低整體程序的性能,因此,本文提出的結(jié)構(gòu)可能更適合于出錯(cuò)率相對(duì)較低的環(huán)境。

    3)最終實(shí)驗(yàn)時(shí),只選取了功能單一的測試向量并且最終的故障注入實(shí)驗(yàn)只針對(duì)寄存器文件中的32個(gè)通用寄存器進(jìn)行了等概率的隨機(jī)故障注入,其主要原因是缺乏具有標(biāo)記容錯(cuò)能力的編譯器與真實(shí)的輻射實(shí)驗(yàn)環(huán)境。事實(shí)上,不同指令所調(diào)用的部件、執(zhí)行周期長短都各不相同,因此其真實(shí)的出錯(cuò)概率并不一樣。后續(xù)將研究建立更精確的故障注入模型,利用改進(jìn)后的編譯器產(chǎn)生更多貼近真實(shí)情況的程序,從而更好地模擬復(fù)算糾錯(cuò)機(jī)制對(duì)系統(tǒng)容錯(cuò)能力的提升。

    猜你喜歡
    數(shù)據(jù)流寄存器指令
    聽我指令:大催眠術(shù)
    汽車維修數(shù)據(jù)流基礎(chǔ)(下)
    Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
    ARINC661顯控指令快速驗(yàn)證方法
    LED照明產(chǎn)品歐盟ErP指令要求解讀
    電子測試(2018年18期)2018-11-14 02:30:34
    一種提高TCP與UDP數(shù)據(jù)流公平性的擁塞控制機(jī)制
    分簇結(jié)構(gòu)向量寄存器分配策略研究*
    基于數(shù)據(jù)流聚類的多目標(biāo)跟蹤算法
    北醫(yī)三院 數(shù)據(jù)流疏通就診量
    坐標(biāo)系旋轉(zhuǎn)指令數(shù)控編程應(yīng)用
    久久久久久久久久久久大奶| 亚洲精品日韩av片在线观看| 少妇人妻一区二区三区视频| 一级a做视频免费观看| 亚洲av福利一区| 亚洲欧洲精品一区二区精品久久久 | 国产av一区二区精品久久| 免费看光身美女| 永久网站在线| 性高湖久久久久久久久免费观看| 久久99精品国语久久久| 一边亲一边摸免费视频| 国产精品久久久久久av不卡| 国产黄色视频一区二区在线观看| 老女人水多毛片| 91精品一卡2卡3卡4卡| 性高湖久久久久久久久免费观看| 国产极品天堂在线| av又黄又爽大尺度在线免费看| 在线观看美女被高潮喷水网站| 日韩亚洲欧美综合| 国产91av在线免费观看| 熟女av电影| 成人亚洲欧美一区二区av| 男人舔奶头视频| 少妇人妻久久综合中文| 视频中文字幕在线观看| 男人狂女人下面高潮的视频| 蜜桃在线观看..| 久久国产精品大桥未久av | 久久国产亚洲av麻豆专区| 亚洲国产精品成人久久小说| 丁香六月天网| 国产成人freesex在线| 高清黄色对白视频在线免费看 | 欧美日韩av久久| 亚洲国产成人一精品久久久| 麻豆成人av视频| 99精国产麻豆久久婷婷| 久久国产乱子免费精品| 搡老乐熟女国产| 亚洲欧美清纯卡通| 精品人妻一区二区三区麻豆| 日本黄色日本黄色录像| 伊人亚洲综合成人网| 亚洲国产欧美在线一区| 18禁在线无遮挡免费观看视频| 人妻系列 视频| 国产一区有黄有色的免费视频| 看免费成人av毛片| 国产精品福利在线免费观看| 成人特级av手机在线观看| 99九九在线精品视频 | 欧美精品一区二区免费开放| 精品久久国产蜜桃| 国产精品嫩草影院av在线观看| 老司机影院成人| 免费黄网站久久成人精品| 免费看不卡的av| 国产av码专区亚洲av| 五月伊人婷婷丁香| 国产综合精华液| 国产老妇伦熟女老妇高清| 狠狠精品人妻久久久久久综合| 亚洲精品国产av蜜桃| 国产精品国产av在线观看| 久久人妻熟女aⅴ| 婷婷色综合大香蕉| 丰满迷人的少妇在线观看| 高清欧美精品videossex| 欧美日韩亚洲高清精品| 国产淫语在线视频| 久久久久久久久久久久大奶| 一级a做视频免费观看| 亚洲综合精品二区| 青春草国产在线视频| av在线观看视频网站免费| 国产精品欧美亚洲77777| 校园人妻丝袜中文字幕| 麻豆成人午夜福利视频| 新久久久久国产一级毛片| 成人亚洲欧美一区二区av| 69精品国产乱码久久久| 我要看日韩黄色一级片| 秋霞在线观看毛片| 日韩欧美一区视频在线观看 | 一区二区三区免费毛片| 国产91av在线免费观看| 五月开心婷婷网| 亚洲精品久久久久久婷婷小说| 亚洲av.av天堂| 天美传媒精品一区二区| 亚洲av综合色区一区| 99久久精品一区二区三区| 人体艺术视频欧美日本| 亚洲av国产av综合av卡| 黑人猛操日本美女一级片| 一本一本综合久久| 午夜影院在线不卡| 免费观看av网站的网址| 视频区图区小说| 久久人人爽av亚洲精品天堂| 色视频www国产| 午夜免费男女啪啪视频观看| 午夜福利在线观看免费完整高清在| 自拍偷自拍亚洲精品老妇| 精品久久久久久久久av| 亚洲欧美中文字幕日韩二区| 少妇精品久久久久久久| 国产男女超爽视频在线观看| 欧美日韩视频精品一区| 天堂8中文在线网| 国产精品一区www在线观看| 亚洲国产精品国产精品| 最近中文字幕2019免费版| 国产一区二区三区av在线| 九色成人免费人妻av| 少妇猛男粗大的猛烈进出视频| 国产无遮挡羞羞视频在线观看| 亚洲三级黄色毛片| 国产免费福利视频在线观看| www.色视频.com| 免费观看无遮挡的男女| 成年av动漫网址| 你懂的网址亚洲精品在线观看| 国内揄拍国产精品人妻在线| 美女福利国产在线| 亚洲av成人精品一区久久| 国产有黄有色有爽视频| www.色视频.com| 美女福利国产在线| 国产乱人偷精品视频| 国产在线免费精品| 日韩精品有码人妻一区| 日韩欧美精品免费久久| 国产日韩欧美亚洲二区| 两个人的视频大全免费| 黑人猛操日本美女一级片| 国产精品99久久99久久久不卡 | 成年人免费黄色播放视频 | www.色视频.com| 好男人视频免费观看在线| 三上悠亚av全集在线观看 | 中国国产av一级| 日韩 亚洲 欧美在线| 日韩视频在线欧美| 高清黄色对白视频在线免费看 | 色视频www国产| 免费看不卡的av| 91午夜精品亚洲一区二区三区| 国产亚洲欧美精品永久| 简卡轻食公司| 大又大粗又爽又黄少妇毛片口| .国产精品久久| 哪个播放器可以免费观看大片| 偷拍熟女少妇极品色| 97精品久久久久久久久久精品| 久久精品熟女亚洲av麻豆精品| 亚洲电影在线观看av| 久久久久久久久大av| 能在线免费看毛片的网站| 欧美成人午夜免费资源| 日本-黄色视频高清免费观看| 国产精品秋霞免费鲁丝片| 精品卡一卡二卡四卡免费| 久久精品久久久久久久性| kizo精华| 这个男人来自地球电影免费观看 | 国产成人精品无人区| 少妇人妻一区二区三区视频| 一级毛片久久久久久久久女| 国产精品久久久久久久久免| 麻豆成人av视频| 国产精品无大码| 91久久精品国产一区二区三区| 亚洲国产精品成人久久小说| 免费看不卡的av| 2022亚洲国产成人精品| 亚洲欧美日韩卡通动漫| 97在线人人人人妻| 人妻夜夜爽99麻豆av| 日韩中文字幕视频在线看片| 久久精品国产亚洲网站| 日韩,欧美,国产一区二区三区| 最新的欧美精品一区二区| 久久久精品94久久精品| 国产黄色视频一区二区在线观看| 人妻一区二区av| 中文欧美无线码| 最近中文字幕高清免费大全6| 久热久热在线精品观看| av天堂中文字幕网| 一本色道久久久久久精品综合| 亚洲国产精品成人久久小说| 午夜影院在线不卡| 99热国产这里只有精品6| 午夜福利视频精品| 精品亚洲成国产av| 伊人亚洲综合成人网| 日韩强制内射视频| 中文字幕制服av| 纵有疾风起免费观看全集完整版| 丰满乱子伦码专区| 亚洲成人一二三区av| 岛国毛片在线播放| 有码 亚洲区| 亚洲国产精品成人久久小说| 欧美+日韩+精品| 国产熟女午夜一区二区三区 | 一本久久精品| 日韩精品免费视频一区二区三区 | 亚洲精品456在线播放app| 亚洲性久久影院| 精品国产乱码久久久久久小说| 欧美 亚洲 国产 日韩一| 日韩视频在线欧美| 亚洲熟女精品中文字幕| 亚洲国产精品成人久久小说| 欧美老熟妇乱子伦牲交| 69精品国产乱码久久久| 色婷婷久久久亚洲欧美| .国产精品久久| 五月玫瑰六月丁香| 久久精品久久久久久久性| 黄色配什么色好看| 亚洲伊人久久精品综合| av不卡在线播放| 亚洲久久久国产精品| 久久久久精品久久久久真实原创| 精品久久久精品久久久| 国产在线男女| 欧美精品一区二区免费开放| 美女cb高潮喷水在线观看| 国产av一区二区精品久久| 欧美日韩在线观看h| 一二三四中文在线观看免费高清| 精品视频人人做人人爽| 久久久午夜欧美精品| 久久影院123| 丝袜喷水一区| 蜜臀久久99精品久久宅男| 日本av手机在线免费观看| 99久久人妻综合| 亚洲国产精品一区二区三区在线| 亚洲色图综合在线观看| 在线观看人妻少妇| 亚洲欧美精品专区久久| 美女内射精品一级片tv| 午夜福利,免费看| 最新中文字幕久久久久| 最近手机中文字幕大全| 97超碰精品成人国产| 日本午夜av视频| 欧美精品亚洲一区二区| 免费观看在线日韩| 久久青草综合色| 日韩精品免费视频一区二区三区 | 三级经典国产精品| 综合色丁香网| 中国美白少妇内射xxxbb| 各种免费的搞黄视频| 美女视频免费永久观看网站| 一区二区三区精品91| 亚洲精品日本国产第一区| h日本视频在线播放| 搡老乐熟女国产| 日本欧美视频一区| av免费在线看不卡| 亚洲不卡免费看| 婷婷色麻豆天堂久久| 欧美 亚洲 国产 日韩一| 国产成人精品福利久久| 色视频在线一区二区三区| 香蕉精品网在线| 精品国产一区二区三区久久久樱花| 色哟哟·www| 成人二区视频| 免费观看av网站的网址| 精品少妇久久久久久888优播| 精品亚洲乱码少妇综合久久| 欧美日韩在线观看h| 少妇熟女欧美另类| 国产白丝娇喘喷水9色精品| 国产精品国产三级国产av玫瑰| 成人二区视频| av播播在线观看一区| 在线观看免费高清a一片| 又爽又黄a免费视频| 两个人的视频大全免费| 国产综合精华液| 精品亚洲成国产av| 国产极品天堂在线| 欧美性感艳星| 亚洲精品国产av蜜桃| 天堂中文最新版在线下载| 精品久久国产蜜桃| 欧美成人午夜免费资源| 国产成人精品无人区| 一级毛片久久久久久久久女| 老女人水多毛片| 男人舔奶头视频| 久久 成人 亚洲| 久热久热在线精品观看| 欧美三级亚洲精品| 久久久精品94久久精品| 黑人巨大精品欧美一区二区蜜桃 | 涩涩av久久男人的天堂| 亚洲av中文av极速乱| 91精品国产国语对白视频| 欧美一级a爱片免费观看看| 久久久久久久久久久久大奶| 美女内射精品一级片tv| a级片在线免费高清观看视频| 成人国产麻豆网| 午夜福利影视在线免费观看| 欧美高清成人免费视频www| 一区二区av电影网| 韩国av在线不卡| 性高湖久久久久久久久免费观看| 亚洲欧洲日产国产| 三上悠亚av全集在线观看 | 啦啦啦在线观看免费高清www| 国产精品一二三区在线看| 亚洲成人av在线免费| 人人澡人人妻人| 18禁动态无遮挡网站| 国产成人精品久久久久久| 一级二级三级毛片免费看| 国产高清三级在线| 国产欧美日韩综合在线一区二区 | 欧美 日韩 精品 国产| 亚洲av二区三区四区| 一级a做视频免费观看| 亚洲国产欧美日韩在线播放 | 啦啦啦中文免费视频观看日本| 免费看日本二区| 亚洲第一区二区三区不卡| 多毛熟女@视频| 乱人伦中国视频| 男人舔奶头视频| 一本久久精品| 精品酒店卫生间| 日韩av免费高清视频| 亚洲精品中文字幕在线视频 | 少妇人妻久久综合中文| 日本黄色片子视频| 欧美精品人与动牲交sv欧美| 免费大片18禁| av在线老鸭窝| 免费播放大片免费观看视频在线观看| 国产视频内射| av网站免费在线观看视频| 18禁在线无遮挡免费观看视频| 久久国产精品男人的天堂亚洲 | 在线播放无遮挡| 国产女主播在线喷水免费视频网站| 久久青草综合色| 两个人免费观看高清视频 | 少妇 在线观看| 日韩熟女老妇一区二区性免费视频| 青春草亚洲视频在线观看| 日本欧美视频一区| 视频区图区小说| 国产精品国产三级国产专区5o| av.在线天堂| 观看美女的网站| 精品视频人人做人人爽| 草草在线视频免费看| 大香蕉97超碰在线| 久久久国产精品麻豆| 亚洲国产精品一区三区| 又黄又爽又刺激的免费视频.| 哪个播放器可以免费观看大片| 国产 精品1| 免费大片黄手机在线观看| 一本色道久久久久久精品综合| 亚洲国产欧美日韩在线播放 | 亚洲精品第二区| 免费av不卡在线播放| 综合色丁香网| 亚洲精品一二三| 搡女人真爽免费视频火全软件| 51国产日韩欧美| 欧美区成人在线视频| 欧美性感艳星| 人人妻人人看人人澡| 国产精品国产三级国产av玫瑰| 中文字幕亚洲精品专区| 国产一区二区三区av在线| 日韩 亚洲 欧美在线| 亚洲av二区三区四区| 久久久久人妻精品一区果冻| videos熟女内射| 久久热精品热| av在线播放精品| 久久久国产欧美日韩av| 哪个播放器可以免费观看大片| 国产精品一区www在线观看| 伦理电影大哥的女人| 精品久久久久久久久av| 新久久久久国产一级毛片| 汤姆久久久久久久影院中文字幕| 成年人午夜在线观看视频| 99精国产麻豆久久婷婷| 少妇猛男粗大的猛烈进出视频| 亚洲,欧美,日韩| 日韩三级伦理在线观看| 久久久久国产精品人妻一区二区| 国产成人精品久久久久久| 久久 成人 亚洲| 岛国毛片在线播放| 日韩成人av中文字幕在线观看| 80岁老熟妇乱子伦牲交| 国产成人精品婷婷| 丝瓜视频免费看黄片| 色婷婷av一区二区三区视频| 久久久久久久大尺度免费视频| freevideosex欧美| 最近的中文字幕免费完整| 国产精品久久久久久久电影| 一二三四中文在线观看免费高清| 久久av网站| 多毛熟女@视频| 亚洲三级黄色毛片| 精品午夜福利在线看| 男人狂女人下面高潮的视频| 成人黄色视频免费在线看| 狂野欧美白嫩少妇大欣赏| 欧美三级亚洲精品| 婷婷色综合www| 人人妻人人爽人人添夜夜欢视频 | 日韩亚洲欧美综合| 亚洲中文av在线| 国产免费一区二区三区四区乱码| 亚洲中文av在线| 精品少妇久久久久久888优播| 亚洲欧美成人精品一区二区| 精品久久国产蜜桃| 亚洲第一av免费看| 亚洲欧洲精品一区二区精品久久久 | 亚洲av二区三区四区| 国精品久久久久久国模美| 亚洲久久久国产精品| 我要看日韩黄色一级片| 在线播放无遮挡| 久久人人爽人人爽人人片va| 伊人久久国产一区二区| xxx大片免费视频| 精品亚洲成a人片在线观看| 国产欧美日韩综合在线一区二区 | 国产成人精品福利久久| 日本爱情动作片www.在线观看| 国产毛片在线视频| 成人影院久久| 国产在线男女| 国产高清有码在线观看视频| 九九爱精品视频在线观看| 伊人亚洲综合成人网| 国产乱来视频区| 欧美bdsm另类| 久久久a久久爽久久v久久| 国产精品三级大全| 内射极品少妇av片p| 少妇猛男粗大的猛烈进出视频| 欧美日韩一区二区视频在线观看视频在线| 97精品久久久久久久久久精品| 成人黄色视频免费在线看| 高清在线视频一区二区三区| √禁漫天堂资源中文www| 免费看不卡的av| 国产精品免费大片| 国产成人freesex在线| 人妻人人澡人人爽人人| 午夜日本视频在线| 纯流量卡能插随身wifi吗| 一本—道久久a久久精品蜜桃钙片| 两个人免费观看高清视频 | 日本黄色日本黄色录像| 一本大道久久a久久精品| 亚洲精品乱码久久久久久按摩| 欧美成人精品欧美一级黄| 中国三级夫妇交换| 国产av一区二区精品久久| 91在线精品国自产拍蜜月| 高清午夜精品一区二区三区| 最近的中文字幕免费完整| 3wmmmm亚洲av在线观看| tube8黄色片| 欧美精品人与动牲交sv欧美| 国产精品久久久久久精品古装| 极品人妻少妇av视频| 久久精品熟女亚洲av麻豆精品| 少妇裸体淫交视频免费看高清| 成人亚洲欧美一区二区av| 水蜜桃什么品种好| 最新中文字幕久久久久| 成年女人在线观看亚洲视频| 国产亚洲午夜精品一区二区久久| 不卡视频在线观看欧美| 婷婷色综合www| 亚洲精品久久久久久婷婷小说| 亚洲美女搞黄在线观看| 国产男女内射视频| 精品人妻熟女毛片av久久网站| 国产成人免费无遮挡视频| 亚洲第一区二区三区不卡| 久久99热6这里只有精品| 国产成人91sexporn| 欧美变态另类bdsm刘玥| av卡一久久| av网站免费在线观看视频| 女的被弄到高潮叫床怎么办| 大码成人一级视频| 久久这里有精品视频免费| 2018国产大陆天天弄谢| 两个人免费观看高清视频 | 欧美精品高潮呻吟av久久| 少妇人妻一区二区三区视频| 国产黄色视频一区二区在线观看| 亚洲国产精品一区二区三区在线| 国产免费一区二区三区四区乱码| 黄色一级大片看看| 午夜免费鲁丝| 日韩成人伦理影院| 亚洲国产欧美在线一区| 国产色婷婷99| 日韩中文字幕视频在线看片| 久久久久久久亚洲中文字幕| 国产熟女午夜一区二区三区 | 日韩免费高清中文字幕av| 欧美人与善性xxx| 久久久精品94久久精品| 亚洲精品中文字幕在线视频 | 黄色毛片三级朝国网站 | 丰满乱子伦码专区| 欧美一级a爱片免费观看看| 最黄视频免费看| 久久人人爽人人片av| www.av在线官网国产| 久久97久久精品| 亚洲成色77777| 黄色视频在线播放观看不卡| 成人国产麻豆网| 成人午夜精彩视频在线观看| 美女内射精品一级片tv| 欧美亚洲 丝袜 人妻 在线| 亚洲国产精品国产精品| 青春草亚洲视频在线观看| 在线天堂最新版资源| 国产69精品久久久久777片| 亚州av有码| 不卡视频在线观看欧美| 曰老女人黄片| 草草在线视频免费看| 国产精品人妻久久久久久| 亚洲国产最新在线播放| 国产极品天堂在线| 国产色爽女视频免费观看| 午夜免费鲁丝| 中文天堂在线官网| 久久久久久久久久久丰满| 久久午夜综合久久蜜桃| 久久99蜜桃精品久久| av黄色大香蕉| 成人18禁高潮啪啪吃奶动态图 | 男人舔奶头视频| 中文在线观看免费www的网站| 久久久久人妻精品一区果冻| 亚洲电影在线观看av| 久热久热在线精品观看| 亚洲欧洲日产国产| 最近中文字幕2019免费版| 妹子高潮喷水视频| 在线观看三级黄色| 女人久久www免费人成看片| 黄色视频在线播放观看不卡| 精品久久久久久电影网| 亚洲国产精品999| 男人和女人高潮做爰伦理| 26uuu在线亚洲综合色| 秋霞伦理黄片| 91精品伊人久久大香线蕉| 2022亚洲国产成人精品| 一级爰片在线观看| 久久青草综合色| 久久久亚洲精品成人影院| 涩涩av久久男人的天堂| 嫩草影院新地址| 交换朋友夫妻互换小说| 亚洲国产精品国产精品| 视频中文字幕在线观看| 亚洲av欧美aⅴ国产| 97在线人人人人妻| 校园人妻丝袜中文字幕| 天天躁夜夜躁狠狠久久av| 亚洲图色成人| 青春草亚洲视频在线观看| 男女免费视频国产| 亚洲图色成人| 视频中文字幕在线观看| 久久热精品热| 久久久国产欧美日韩av| 高清不卡的av网站| 免费高清在线观看视频在线观看| 国产免费又黄又爽又色| 精品卡一卡二卡四卡免费| 如日韩欧美国产精品一区二区三区 | 国产欧美日韩一区二区三区在线 | 韩国高清视频一区二区三区| 国产国拍精品亚洲av在线观看| 色94色欧美一区二区| 亚洲成人一二三区av| 欧美少妇被猛烈插入视频| 精品熟女少妇av免费看| 亚洲美女搞黄在线观看|