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

    一種高效的浮點(diǎn)數(shù)除法指令設(shè)計(jì)實(shí)現(xiàn)方法

    2021-01-15 01:17:10宗德才王康康
    實(shí)驗(yàn)室研究與探索 2020年12期
    關(guān)鍵詞:浮點(diǎn)數(shù)指令控制器

    宗德才, 王康康

    (1.常熟理工學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇常熟215500;2.江蘇科技大學(xué)數(shù)理學(xué)院,江蘇鎮(zhèn)江212003)

    0 引 言

    目前,國(guó)內(nèi)很多高校計(jì)算機(jī)組成原理實(shí)驗(yàn)教學(xué)內(nèi)容主要是基于TEC-XP16 教學(xué)計(jì)算機(jī)而開(kāi)展的。為使學(xué)生更好地掌握計(jì)算機(jī)各個(gè)組成部件的工作原理,理解指令的執(zhí)行流程,系統(tǒng)地建立計(jì)算機(jī)整機(jī)概念,需要開(kāi)發(fā)一些設(shè)計(jì)性實(shí)驗(yàn),如在TEC-XP16 教學(xué)計(jì)算機(jī)中設(shè)計(jì)一些浮點(diǎn)運(yùn)算指令。

    文獻(xiàn)[1]中設(shè)計(jì)了一種4 bit 乘法指令與除法指令,文獻(xiàn)[2-3]中將EDA 軟件Proteus 應(yīng)用于教學(xué)實(shí)驗(yàn)中,缺點(diǎn)是很難形成對(duì)計(jì)算機(jī)硬件的直觀了解,文獻(xiàn)[4]中設(shè)計(jì)了一個(gè)8 bit模型機(jī),設(shè)計(jì)了14 條指令,文獻(xiàn)[5]中設(shè)計(jì)了加法等指令,文獻(xiàn)[6]中要求學(xué)生至少設(shè)計(jì)實(shí)現(xiàn)7 條指令,文獻(xiàn)[1-6]中都未設(shè)計(jì)浮點(diǎn)除法等復(fù)雜指令。

    文獻(xiàn)[7]中介紹了TH-union 教學(xué)機(jī)微程序控制器的原理及實(shí)驗(yàn)步驟,沒(méi)有擴(kuò)展新指令。文獻(xiàn)[8]中在TEC-2000 教學(xué)機(jī)微程序控制器中設(shè)計(jì)實(shí)現(xiàn)了4 條簡(jiǎn)單的擴(kuò)展指令。文獻(xiàn)[9]中在TEC-2000 教學(xué)機(jī)微程序控制器中設(shè)計(jì)實(shí)現(xiàn)了兩條簡(jiǎn)單的擴(kuò)展指令。文獻(xiàn)[8-9]中在TEC-2000 教學(xué)機(jī)微程序控制器中擴(kuò)展的指令都比較簡(jiǎn)單。文獻(xiàn)[10]中研究了在TEC-XP16 組合邏輯控制器中擴(kuò)展簡(jiǎn)單指令的方法。文獻(xiàn)[11]中提出一種微程序控制器中8 bit 無(wú)符號(hào)乘法指令與8 bit無(wú)符號(hào)除法指令的設(shè)計(jì)方法,均需要20 多條微指令組成的微程序來(lái)實(shí)現(xiàn),文獻(xiàn)[8-9,11]中設(shè)計(jì)好微程序后都采用手工方式修改控制器源程序,效率低、速度慢且容易出錯(cuò)。

    基于TEC-XP16 教學(xué)機(jī),設(shè)計(jì)了一種32 bit IEEE 754 格式的浮點(diǎn)數(shù)除法指令以及實(shí)現(xiàn)32 bit 浮點(diǎn)數(shù)除法運(yùn)算的算法。用TEC-XP16 教學(xué)機(jī)的匯編指令設(shè)計(jì)了實(shí)現(xiàn)浮點(diǎn)數(shù)除法算法的匯編語(yǔ)言程序。為解決人工方式設(shè)計(jì)微程序和修改微程序控制器源程序效率低且容易出錯(cuò)等問(wèn)題,提出了一種能夠由匯編語(yǔ)言程序自動(dòng)生成微程序以及能夠由微程序自動(dòng)修改控制器ABEL 語(yǔ)言源程序的方法。實(shí)驗(yàn)結(jié)果表明,所設(shè)計(jì)的32 bit浮點(diǎn)除法指令的功能是正確的,平均只需要2.16 s就能根據(jù)匯編語(yǔ)言程序表自動(dòng)生成微程序表,平均只需1.3 s 就能根據(jù)微程序表、微指令轉(zhuǎn)移判斷條件表和微程序入口地址表自動(dòng)修改并生成控制器ABEL語(yǔ)言源程序,極大提高了浮點(diǎn)除法指令的設(shè)計(jì)效率。該方法也可推廣到其他復(fù)雜指令的設(shè)計(jì)過(guò)程。

    1 微程序控制器中設(shè)計(jì)浮點(diǎn)除法指令

    在TEC-XP16 教學(xué)機(jī)微程序控制器中擴(kuò)展指令時(shí),首先,設(shè)計(jì)新指令對(duì)應(yīng)的微程序,根據(jù)微程序修改描述MACH 芯片功能的ABEL 語(yǔ)言源程序[12],然后將修改后的ABEL 語(yǔ)言程序用ISP LEVER 軟件編譯成.jed文件,接著將.jed 文件下載到MACH 芯片中,最后,在教學(xué)機(jī)上調(diào)試運(yùn)行包含新指令的教學(xué)機(jī)程序。

    本文在TEC-XP16 教學(xué)機(jī)微程序控制器中設(shè)計(jì)實(shí)現(xiàn)了一種32 bit浮點(diǎn)數(shù)除法指令。

    1.1 浮點(diǎn)數(shù)除法指令的設(shè)計(jì)過(guò)程

    在TEC-XP16 教學(xué)機(jī)微程序控制器中設(shè)計(jì)浮點(diǎn)除法指令的主要過(guò)程如下:

    (1)確定32 bit浮點(diǎn)除法指令FDIV 的格式和功能,見(jiàn)表1。

    表1 FDIV的指令格式與功能

    (2)按32 bit 浮點(diǎn)除法指令的功能和格式,設(shè)計(jì)32 bit浮點(diǎn)除法算法,如算法1。

    圖1 32 bit IEEE754浮點(diǎn)數(shù)格式

    如圖1 所示,在IEEE 754 格式的32 bit浮點(diǎn)數(shù)中最高位是數(shù)符,表示浮點(diǎn)數(shù)的正負(fù),階碼用移碼表示,階碼的真值都被加上一個(gè)偏移量,對(duì)于32 bit 浮點(diǎn)數(shù)的偏移量為127。

    在IEEE 754 格式浮點(diǎn)數(shù)中尾數(shù)部分通常都是規(guī)格化表示的,即非0 的有效位最高位總是1,有效位呈如下形式:1.ffff……fff,在實(shí)際的表示中,對(duì)于32 bit浮點(diǎn)數(shù),這個(gè)整數(shù)位的1 被省略,稱(chēng)為隱藏位。

    TEC-XP16 教學(xué)機(jī)中共有16 個(gè)16 bit的通用寄存器R0 ~R15。32 bit浮點(diǎn)數(shù)需要用兩個(gè)通用寄存器來(lái)表示。

    算法132 bit 浮點(diǎn)數(shù)除法運(yùn)算算法。被除數(shù)與除數(shù)都用32 bit IEEE 754 浮點(diǎn)數(shù)表示,被除數(shù)存放在R1、R0 寄存器,除數(shù)存放在R3、R2 寄存器,商為32 bit IEEE 754 浮點(diǎn)數(shù),商存放在R1、R0 寄存器中。

    (1)如果R2和R3都是0,即除數(shù)近似為0,則置除數(shù)為0標(biāo)記,否則,轉(zhuǎn)(2);

    (2)如果R1和R0都是0,即被除數(shù)近似為0,則結(jié)果近似為0,結(jié)束,否則,轉(zhuǎn)(3);

    (3)取被除數(shù)階碼部分,并右移一位,保存在R6 寄存器中,R6中結(jié)果為00JJ JJJJ JJ00 0000,其中,J表示階碼部分;

    (4)取除數(shù)階碼部分,并右移一位,保存在R7 寄存器中,R7中結(jié)果為00JJ JJJJ JJ00 0000,其中,J表示階碼部分;

    (5)階碼相減:(R6)-(R7)→R6;

    (6)浮點(diǎn)數(shù)中階碼用移碼表示,移碼是在階碼真值基礎(chǔ)上加127,階碼相減時(shí),127 被減去了,因此,需要把階碼差加上127。即(R6)+(0001 1111 1100 0000)2→R6;

    (7)將除法的符號(hào)位保存在R7最高位;

    (8)取被除數(shù)的尾數(shù)部分,并恢復(fù)隱藏位,存放在R1、R0寄存器,R1、R0 中結(jié)果為0000 0000 1WWW WWWW WWWW WWWW WWWW WWWW,其中,W表示階碼部分;

    (9)取得除數(shù)的尾數(shù)部分,并恢復(fù)隱藏位,存放在R3、R2寄存器,R3、R2 中結(jié)果為0000 0000 1WWW WWWW WWWW WWWW WWWW WWWW,其中,W表示階碼部分;

    (10)將R9、R8寄存器清為0,R9、R8寄存器存放商;

    (11)令R10寄存器為24,24為相除的次數(shù);

    (12)比較R1和R3,相等,轉(zhuǎn)(13),否則,轉(zhuǎn)(14);

    (13)比較R0和R2,如果(R0)≥(R2),C為1,轉(zhuǎn)(15);否則,C為0,轉(zhuǎn)(16)

    (14)如果(R1)≥(R3),則C 為1,轉(zhuǎn)(15),否則,C 為0,轉(zhuǎn)(16)

    (15)R1/ /R0-R3/ /R2→R1/ /R0,

    (16)帶進(jìn)位C循環(huán)左移R9、R8,即R9←R8←C

    (17)R10減1;

    (18)如果R10為0,則執(zhí)行(20),否則轉(zhuǎn)(19);

    (19)余數(shù)R1/ /R0聯(lián)合左移一位,轉(zhuǎn)(12);

    (20)此時(shí),R9 和R8 中商為24 位,考慮到被除數(shù)小于除數(shù)的情形,商要左移一位進(jìn)行規(guī)格化,因此,商要多取一位,取25位,若第25商為1,則令R15為1,否則令R15為0;

    (21)將R9、R8內(nèi)容分別送R1、R0,將R9清0;

    (22)如果R1中尾數(shù)部分最高位為0,則執(zhí)行(23),否則,執(zhí)行(26);

    (23)將R15右移一位,R15最低位移入C觸發(fā)器;

    (24)帶進(jìn)位C循環(huán)左移R1、R0,即R1←R0←C;

    (25)階碼減1,即00JJ JJJJ JJ00 0000-0000 0000 0100 0000,其中,J表示階碼部分;

    (26)如果R6最高位為1,則為下溢,結(jié)果為0,結(jié)束;如果R6次高位為1,則為上溢,令C =1,結(jié)束;如果R6 最高兩位為00,則執(zhí)行(27);

    (27)R6最高兩位為00 表示結(jié)果沒(méi)有溢出,令C =0,將R6左移一位,調(diào)整R1寄存器的內(nèi)容,R1最高位即R7 最高位,R1 次高位開(kāi)始的8位即R6中階碼部分,R1低7位即高7位尾數(shù)不變,結(jié)束。

    (3)根據(jù)算法1,用TEC-XP16 教學(xué)機(jī)的匯編指令編寫(xiě)程序?qū)崿F(xiàn)算法1。同時(shí),設(shè)計(jì)數(shù)據(jù)庫(kù)表。

    Python語(yǔ)言具有簡(jiǎn)單易學(xué)、免費(fèi)開(kāi)源和可擴(kuò)展移植性好等特性[13],選擇Python 語(yǔ)言作為程序設(shè)計(jì)語(yǔ)言。

    如圖2 所示,TEC-XP16 教學(xué)機(jī)中,一條微指令由16 bit 的下地址字段和32 bit 的控制命令字段共同組成[14]。

    圖2 TEC-XP16教學(xué)機(jī)的微指令格式

    根據(jù)TEC-XP16 教學(xué)機(jī)微指令的格式,設(shè)計(jì)了微程序表MProgram,如表2 所示,用于保存32 bit浮點(diǎn)數(shù)除法指令對(duì)應(yīng)的由微指令組成的微程序。

    為實(shí)現(xiàn)根據(jù)匯編程序自動(dòng)生成微程序這一功能,設(shè)計(jì)了匯編程序表AsblProgram,見(jiàn)表3,用于保存根據(jù)32 bit浮點(diǎn)數(shù)除法運(yùn)算算法編寫(xiě)的90 條匯編指令組成的匯編程序。

    表2 MProgram微程序表

    表3 AsblProgram匯編程序表

    圖2 中,命令碼用于控制微指令的執(zhí)行順序,命令碼CI3 ~CI0 為1110 時(shí),順序執(zhí)行。命令碼CI3 ~CI0為0010 時(shí),根據(jù)指令的操作碼確定該指令對(duì)應(yīng)的微程序的入口地址。設(shè)計(jì)微程序入口地址表MPFAdr,見(jiàn)表4,用于保存32 bit浮點(diǎn)數(shù)除法指令對(duì)應(yīng)的微程序的第一條微指令的地址。

    表4 MPFAdr微程序入口地址表

    命令碼CI3 ~CI0 為0011 時(shí),用于條件微轉(zhuǎn)移控制,見(jiàn)表5,微轉(zhuǎn)移條件SCC3 ~SCC0 用于條件微轉(zhuǎn)移時(shí)給出轉(zhuǎn)移依據(jù)的條件,條件滿(mǎn)足時(shí)發(fā)生轉(zhuǎn)移,下一條微指令的地址為當(dāng)前微指令中下地址字段的內(nèi)容;條件不滿(mǎn)足,順序執(zhí)行[15]。

    根據(jù)表5,設(shè)計(jì)了微指令轉(zhuǎn)移判斷條件表CC,見(jiàn)表6,用于保存微指令轉(zhuǎn)移的條件。

    表5 條件微指令轉(zhuǎn)移所依據(jù)的判斷條件表

    表6 CC微指令轉(zhuǎn)移判斷條件表

    由于每一條匯編指令轉(zhuǎn)換后的微指令數(shù)目不同,設(shè)計(jì)了ISEA表(見(jiàn)表7)用于存儲(chǔ)每一條匯編指令轉(zhuǎn)換成為微指令后,對(duì)應(yīng)的第一條微指令地址start 和最后一條微指令的地址end。(4)在匯編程序表AsblProgram中輸入實(shí)現(xiàn)32 bit浮點(diǎn)數(shù)除法運(yùn)算算法的匯編程序,共有90 條匯編指令,在微程序入口地址表MPFAdr 中輸入FDIV指令的操作碼1110 1101,微程序入口地址為0100 0000。

    表7 ISEA匯編指令微指令地址表

    (5)根據(jù)算法2,用Python 語(yǔ)言編程(記為程序1),能夠自動(dòng)將AsblProgram 表中的匯編程序轉(zhuǎn)換成微程序并寫(xiě)入MProgram表,根據(jù)算法4 為JRZ/JRNZ/JRC/JRNC/JRS/JRNS/JR轉(zhuǎn)移類(lèi)指令更新其微指令中的下地址字段Nadr,根據(jù)算法5 為JRZ/JRNZ/JRC/JRNC/JRS/JRNS指令生成CC表。

    算法2根據(jù)AsblProgram 表中的匯編程序生成MProgram表和ISEA表算法。

    (1)從AsblProgram表中查找所有記錄的最大Number 字段值,記為maxNum,令i =1;

    (2)查找AsblProgram表中Number字段等于i的記錄,記為AsbInsti;

    (3)如果記錄AsbInsti 的Itype 為2,即為MVRD 指令,則根據(jù)算法3 將MVRD Ri,DATA 指令轉(zhuǎn)換成微指令并寫(xiě)入MProgram表,同時(shí)在ISEA表中寫(xiě)入MVRD指令對(duì)應(yīng)的第一條微指令的地址start和最后一條微指令地址end;

    如果記錄AsbInsti 的Itype 為1,即為MVRR 指令,則只需轉(zhuǎn)換成一條相應(yīng)的微指令并寫(xiě)入MProgram表,同時(shí)在ISEA表中寫(xiě)入MVRR指令對(duì)應(yīng)的第一條微指令的地址start和最后一條微指令地址end;

    如果記錄AsbInsti 的Iname 為OR、AND、ADD、SUB、SBB、XOR、TEST、ADC、CMP、SHR、RCL、SHL、INC、DEC、JR、JRZ、JRNZ、JRC、JRNC、JRS、JRNS、CLC、RET 指令,則只需要轉(zhuǎn)換成一條相應(yīng)的微指令并寫(xiě)入MProgram表,同時(shí)在ISEA表中寫(xiě)入待轉(zhuǎn)換匯編指令對(duì)應(yīng)的第一條微指令的地址start和最后一條微指令地址end;

    如果記錄AsbInsti的Iname為PSHF、POPF指令,則需要轉(zhuǎn)換成兩條相應(yīng)的微指令并寫(xiě)入MProgram表,同時(shí)在ISEA表中寫(xiě)入待轉(zhuǎn)換匯編指令對(duì)應(yīng)的第一條微指令的地址start和最后一條微指令地址end;

    (4)i =i +1,重復(fù)(2),(3),直到i >maxNum結(jié)束。

    在設(shè)計(jì)的實(shí)現(xiàn)FDIV 指令的匯編程序中,用到的MVRD Ri,DATA 指令中,DATA 值有7F80、1FC0、8000、007F、0010、0001、0008、0040、0080、0100。根據(jù)DATA值的特點(diǎn),設(shè)計(jì)了算法3,算法3 的設(shè)計(jì)目標(biāo)是盡量用最少的微指令實(shí)現(xiàn)MVRD指令。

    算法3MVRD Ri,DATA 指令轉(zhuǎn)換成微指令算法。

    (1)將DATA轉(zhuǎn)換成16 bit二進(jìn)制數(shù)data16;

    (2)計(jì)算data16中1的位數(shù),記為num_1(data16);

    (3)如果num_1(data16)>1,則執(zhí)行(4),否則,執(zhí)行(12);

    (4)MVRD指令的第一條微指令為SUB指令對(duì)應(yīng)的微指令,該微指令執(zhí)行后得到1111 1111 1111 1111;

    (5)計(jì)算將1111 1111 1111 1111 采用先左移后右移的方法得到data16的次數(shù),記為shiftlr(data16);

    (6)計(jì)算將1111 1111 1111 1111 采用先右移后左移的方法得到data16的次數(shù),記為shiftrl(data16);

    (7)如果shiftlr(data16)小于等于shiftrl(data16),則執(zhí)行(8),否則,執(zhí)行(10);

    (8)生成16-num_1(data16)條SHL指令對(duì)應(yīng)的微指令;

    (9)生成shiftlr(data16)+num_1(data16)-16條SHR指令對(duì)應(yīng)的微指令,結(jié)束。

    (10)生成16-num_1(data16)條SHR指令對(duì)應(yīng)的微指令;

    (11)生成shiftrl(data16)+num_1(data16)- 16 條SHL指令對(duì)應(yīng)的微指令,結(jié)束。

    (12)計(jì)算由0000 0000 0000 00001得到data16的次數(shù),記為leftshift2(data16),則由DATA 得到data16 需要leftshift2(data16)+2條微指令;

    (13)計(jì)算由1111 1111 1111 11111得到data16的次數(shù),記為shiftlr(data16),則由DATA 得到data16 需要shiftlr(data16)+1條微指令;

    (14)如果leftshift2(data16)+2 小于等于shiftlr(data16)+1,則執(zhí)行(15),否則執(zhí)行(18);

    (15)生成SUB指令對(duì)應(yīng)的微指令,該微指令執(zhí)行后得到0000 0000 0000 0000;

    (16)生成INC指令對(duì)應(yīng)的微指令,該微指令執(zhí)行后得到0000 0000 0000 0001;

    (17)生成leftshift2(data16)條SHL 指令對(duì)應(yīng)的微指令,結(jié)束。

    (18)生成SUB指令對(duì)應(yīng)的微指令,該微指令執(zhí)行后得到1111 1111 1111 1111;

    (19)生成shiftlr(data16)條SHL 指令對(duì)應(yīng)的微指令,結(jié)束。

    算法4為JRZ/JRNZ/JRC/JRNC/JRS/JRNS/JR轉(zhuǎn)移類(lèi)指令生成微指令中的下地址字段Nadr算法。

    JRZ、JRNZ、JRC、JRNC、JRS、JRNS 都只需要轉(zhuǎn)換成一條微指令即可,但是要根據(jù)轉(zhuǎn)移目標(biāo)地址更新Nadr字段值。

    (1)從AsblProgram 表中查找Itype 為3 或4 的所有記錄(JRZ、JRNZ、JRC、JRNC、JRS、JRNS指令的Itype為3,JR指令的Itype為4),假設(shè)查詢(xún)結(jié)果有n條記錄,令i =1;

    (2)根據(jù)查詢(xún)結(jié)果中記錄i的Number字段值在ISEA表中查找start字段值,并轉(zhuǎn)換成微指令地址,記為JIstart;

    (3)在AsblProgram 表中查找Label 字段等于查詢(xún)結(jié)果中記錄i的DstAdr字段值的記錄的Number字段值,記為number;

    (4)在ISEA表中查找Number字段等于number的記錄的start字段值,并轉(zhuǎn)換成8bit二進(jìn)制,記為JDstart;

    (5)更新MProgram表中MIadr 字段等于JIstart 的記錄的Nadr字段值為JDstart;

    (6)i =i +1,重復(fù)(2)~(5),直到i >n結(jié)束。

    算法5為JRZ/JRNZ/JRC/JRNC/JRS/JRNS 指令生成CC表算法。

    (1)從AsblProgram 表中查找Iname 為JRZ/JRNZ/JRC/JRNC/JRS/JRNS的所有記錄,假設(shè)查詢(xún)結(jié)果有n 條記錄,令i =1;

    (2)在AsblProgram 表中查找Label 字段等于查詢(xún)結(jié)果中記錄i的DstAdr字段值的記錄的Number字段值,記為number;

    (3)在ISEA表中查找Number字段等于number的記錄的start字段值,并轉(zhuǎn)換成8 bit二進(jìn)制,記為JDstart;

    (4)如果CC 表中還沒(méi)有Nadr 等于JDstart 的記錄,則在CC表中插入一條記錄,否則,轉(zhuǎn)(5);

    (5)i =i +1,重復(fù)2 ~4步驟,直到i >n結(jié)束。

    (6)根據(jù)算法6,用Python 語(yǔ)言編程(記為程序2),能夠根據(jù)MPFAdr表以及程序1 生成的MProgram表、CC表自動(dòng)生成實(shí)現(xiàn)了32 bit浮點(diǎn)除法指令的控制器源文件m256c6.abl。

    算法6自動(dòng)修改并生成微程序控制器源程序的Python語(yǔ)言實(shí)現(xiàn)的算法。

    (1)打開(kāi)控制器源程序文件m256c.abl,讀取m256c.abl文件的所有行存放在list1列表對(duì)象中;

    with open('m256c.abl','r')as f1:

    list1 =f1.readlines()

    (2)連接FLOATDIV.db數(shù)據(jù)庫(kù);

    db =sqlite3.connect('FLOATDIV.db')

    (3)從MPFAdr表中讀取所有記錄,將所有記錄的Iname字段值和Opcode字段值組成一個(gè)字符串a(chǎn),

    字符串a(chǎn)為:FDIV =(IR ==[1,1,1,0,1,1,0,1]);

    在list1列表對(duì)象中找到“Expand Instruction here”字符串,將該字符串替換為字符串a(chǎn);

    (4)從CC表中讀取所有記錄,根據(jù)這些記錄的SCC字段值、Iname字段值、Nadr字段值和Condition 字段值修改CC0 表達(dá)式;

    (5)對(duì)MPFAdr表中的每一條記錄,根據(jù)MPadr字段值,在list1列表對(duì)象中找到D0 ~D7 邏輯表達(dá)式所在的行并進(jìn)行修改,例如,F(xiàn)DIV指令的MPadr 字段值為0100 0000,則D6 表達(dá)式中需增加FDIV信號(hào);由于m256c.abl文件中D0 ~D7表達(dá)式出現(xiàn)在CC0表達(dá)式后面,因此,在list1列表中查找D0 ~D7 時(shí),可以從CC0表達(dá)式的下一行開(kāi)始查找,這樣可提高查找速度;

    (6)根據(jù)算法7,由MProgram 表中記錄修改list1 列表對(duì)象;

    (7)將list1列表對(duì)象寫(xiě)入一個(gè)新文件m256c6.abl,然后,關(guān)閉該文件。

    算法7根據(jù)MProgram 表中記錄修改list1 列表對(duì)象的算法。

    (1)從MProgram表中讀取所有記錄,假設(shè)有n條記錄;

    (2)令i =1;

    (3)根據(jù)記錄i 的Nadr 字段值,在list1 列表對(duì)象中找到NADR7 ~NADR0邏輯表達(dá)式所在的行并進(jìn)行修改;

    (4)根據(jù)記錄i 的Cmd 字段值,在list1 列表對(duì)象中找到CI3 ~CI0邏輯表達(dá)式所在的行并進(jìn)行修改;

    (5)根據(jù)記錄i 的SCC 字段值,在list1 列表對(duì)象中找到SCC3 ~SCC0邏輯表達(dá)式所在的行并進(jìn)行修改;

    (6)根據(jù)記錄i的MRW字段值,在list1列表對(duì)象中找到!_M(jìn)IO00、REQ00、_WE00邏輯表達(dá)式所在的行并進(jìn)行修改;

    (7)根據(jù)記錄i 的I2-0 字段值,在list1 列表對(duì)象中找到I200、I100、!I000邏輯表達(dá)式所在的行并進(jìn)行修改;

    (8)根據(jù)記錄i 的I5-3 字段值,在list1 列表對(duì)象中找到I500、I400、I300邏輯表達(dá)式所在的行并進(jìn)行修改;

    (9)根據(jù)記錄i 的I8-6 字段值,在list1 列表對(duì)象中找到I800、I700、!I600邏輯表達(dá)式所在的行并進(jìn)行修改;

    (10)根據(jù)記錄i 的SST 字段值,在list1 列表對(duì)象中找到SST200、SST100、SST000邏輯表達(dá)式所在的行并進(jìn)行修改;

    (11)根據(jù)記錄i的SSHSCI字段值,在list1 列表對(duì)象中找到SSH00、SCI100、SCI000邏輯表達(dá)式所在的行并進(jìn)行修改;

    (12)根據(jù)記錄i的DC2 字段值,在list1 列表對(duì)象中找到DC2_200、DC2_100、DC2_000 邏輯表達(dá)式所在的行并進(jìn)行修改;

    (13)根據(jù)記錄i的DC1 字段值,在list1 列表對(duì)象中找到DC1_200、DC1_100、DC1_000 邏輯表達(dá)式所在的行并進(jìn)行修改;

    (14)如果記錄i的Bp 字段值為“DR”,則list1 列表對(duì)象的B30表達(dá)式增加當(dāng)前記錄的MIadr字段值;如果記錄i的Bp字段值為“SR”,則list1 列表()對(duì)象的B301 表達(dá)式增加當(dāng)前記錄的MIadr字段值;如果記錄i的Bp字段值為數(shù)字字符,則修改list1列表對(duì)象的B300、B20、B10、B00邏輯表達(dá)式的值;

    (15)如果記錄i的Ap 字段值為“DR”,則list1 列表對(duì)象的A301表達(dá)式增加當(dāng)前記錄的MIadr 字段值;如果記錄i 的Ap字段值為“SR”,則list1列表對(duì)象的A30 表達(dá)式增加當(dāng)前記錄的MIadr字段值;如果記錄i 的Ap 字段值為數(shù)字字符,則修改list1列表對(duì)象的A300、A20、A10、A00邏輯表達(dá)式的值;

    (16)i =i +1,若i <=n,則轉(zhuǎn)到(3),否則,結(jié)束。

    2 實(shí)驗(yàn)分析

    SQLite3 數(shù)據(jù)庫(kù)模塊是Python 2.5 之后的內(nèi)置模塊[16],使用時(shí)不用安裝,直接導(dǎo)入即可。為方便python語(yǔ)言編程,按照上述方法在Access 2010 中設(shè)計(jì)好數(shù)據(jù)庫(kù)表后,使用SQLite Expert工具將Access數(shù)據(jù)庫(kù)轉(zhuǎn)換成SQLite數(shù)據(jù)庫(kù)。

    用Python語(yǔ)言編寫(xiě)兩個(gè)程序,程序1 能夠自動(dòng)將AsblProgram表中的匯編程序轉(zhuǎn)換成微程序并寫(xiě)入MProgram表、CC表和ISEA表,程序2 能根據(jù)MPFAdr表和程序1 生成的MProgram、CC 表中的內(nèi)容自動(dòng)修改微程序控制器源程序文件,根據(jù)MPFAdr 表在控制器源程序中自動(dòng)添加擴(kuò)展指令的操作碼與匯編語(yǔ)句的關(guān)系表達(dá)式以及自動(dòng)添加擴(kuò)展指令的微程序入口地址,根據(jù)CC表在控制器源程序中CC信號(hào)的邏輯表達(dá)式中自動(dòng)添加擴(kuò)展指令的條件微指令轉(zhuǎn)移所依據(jù)的判斷條件,根據(jù)MProgram表在控制器源程序中16 bit下地址字段與32 bit控制信號(hào)的邏輯表達(dá)式中自動(dòng)添加相應(yīng)的微指令地址。先后運(yùn)行這兩個(gè)程序后,會(huì)自動(dòng)生成一個(gè)名為m256c6.abl的包括了FDIV指令的控制器源程序文件。

    實(shí)驗(yàn)環(huán)境為:Intel Core i5 CPU M 450 (2.40 GHz),內(nèi)存4 GB,Windows 10 操作系統(tǒng)。

    將能夠自動(dòng)將AsblProgram 表中的匯編程序轉(zhuǎn)換成微程序并寫(xiě)入MProgram表、CC表和ISEA表的程序1 運(yùn)行50 次,結(jié)果如圖3 所示,最快只需1.9 s,平均需要2.166 s;將能根據(jù)MPFAdr 表和程序1 生成的MProgram、CC表中的內(nèi)容自動(dòng)修改微程序控制器源程序文件的程序2 運(yùn)行50 次,結(jié)果如圖4 所示,最快只需1.1 s,平均需要1.3 s。

    圖3 由AsblProgram表自動(dòng)生成MProgram表時(shí)間

    圖4 由MProgram表、CC表等自動(dòng)產(chǎn)生abl文件時(shí)間

    在TEC-XP16 教學(xué)機(jī)微程序控制器中擴(kuò)展FDIV指令的完整過(guò)程如下:

    (1)在Access 2010 數(shù)據(jù)庫(kù)中創(chuàng)建AsblProgram 匯編程序表、MProgram微程序表、CC微指令轉(zhuǎn)移判斷條件表、MPFAdr微程序入口地址表和匯編指令微指令地址表ISEA,并且在AsblProgram表輸入實(shí)現(xiàn)32 bit 浮點(diǎn)除法指令FDIV 的90 條匯編指令,在MPFAdr表中輸入FDIV 指令對(duì)應(yīng)的微程序入口地址0100 0000。

    (2)使用SQLite Expert 工具將Access 數(shù)據(jù)庫(kù)轉(zhuǎn)換成SQLite數(shù)據(jù)庫(kù)。

    (3)用Python語(yǔ)言編寫(xiě)程序1,該程序能從SQLite數(shù)據(jù)庫(kù)自動(dòng)讀取AsblProgram表中的匯編指令并自動(dòng)生成微程序、微指令轉(zhuǎn)移條件、每條匯編指令的微指令起始地址并分別寫(xiě)入MProgram表、CC表和ISEA表。

    (4)用Python語(yǔ)言編寫(xiě)程序2,該程序能從SQLite3 數(shù)據(jù)庫(kù)自動(dòng)讀取并根據(jù)MProgram表、CC 表和MPFAdr 表中的內(nèi)容自動(dòng)修改m256c.abl文件并生成一個(gè)新的微程序控制器源程序文件。

    (5)先后運(yùn)行程序1 和程序2,會(huì)自動(dòng)生成一個(gè)名為m256c6.abl的實(shí)現(xiàn)了FDIV指令的控制器源程序文件。

    (6)將m256c6.abl文件重命名為m256c.abl。

    (7)啟動(dòng)Lattice ispLEVER Classic Project Navigator 軟件,新建一個(gè)名為lc4256 的項(xiàng)目文件,將m256c.abl 添加到項(xiàng)目中,然后,將m256c.abl編譯后生成名為lc4256.jed 的文件,將lc4256.jed下載到教學(xué)機(jī)MACH芯片中。方法詳見(jiàn)文獻(xiàn)[11]。

    (8)啟動(dòng)WinPcec16軟件,然后啟動(dòng)教學(xué)機(jī)監(jiān)控程序。

    (9)在WinPcec16軟件中編寫(xiě)一個(gè)實(shí)現(xiàn)2個(gè)32 bit浮點(diǎn)數(shù)除法的教學(xué)機(jī)程序,如圖5 ~6所示,教學(xué)機(jī)中規(guī)定擴(kuò)展指令必須用E命令寫(xiě)入教學(xué)機(jī)內(nèi)存,F(xiàn)DIV指令的二進(jìn)制代碼為ED00(十六進(jìn)制形式),ED 為FDIV 指令的操作碼,被除數(shù)存放在R1、R0寄存器中,除數(shù)存放在R3、R2 寄存器中,最后商保存在R1、R0寄存器中。

    圖5 中,被除數(shù)和除數(shù)分別是0100 0001 1011 0000 0000 0000 0000 0000,0100 0000 0101 0000 0000 0000 0000 0000 即1.011 ×24÷1.101 ×21,商為0100 0000 1101 1000 1001 1101 1000 1001,即1.10110001001 1101 1000 1001 ×22,程序運(yùn)行結(jié)果驗(yàn)證了所設(shè)計(jì)和實(shí)現(xiàn)的32 bit浮點(diǎn)除法指令的功能是正確的。

    圖5 包含F(xiàn)DIV指令的教學(xué)機(jī)程序1

    圖6 包含F(xiàn)DIV指令的教學(xué)機(jī)程序2

    圖6 中,被除數(shù)和除數(shù)分別是0100 0001 0001 1110 1001 0010 0011 0001,0100 0000 0010 0010 0011 1011 1100 0010,即1.00111101001001000110001 ×23÷1.01000100011101111000010 ×21,商為0100 0000 0111 1010 0011 1000 1000 1011,即1.11110100 01110001000 1011 ×21,程序運(yùn)行結(jié)果驗(yàn)證了所設(shè)計(jì)和實(shí)現(xiàn)的32 bit浮點(diǎn)除法指令的功能是正確的。

    3 結(jié) 語(yǔ)

    目前國(guó)內(nèi)外還沒(méi)有研究在TEC-XP16 教學(xué)機(jī)的微程序控制器中擴(kuò)展較復(fù)雜指令,如32 bit 浮點(diǎn)數(shù)除法指令的文獻(xiàn)。本文對(duì)TEC-XP16 教學(xué)機(jī)微程序控制器中擴(kuò)展32 bit浮點(diǎn)數(shù)除法指令進(jìn)行了嘗試,設(shè)計(jì)實(shí)現(xiàn)了一種32 bit IEEE 754 浮點(diǎn)數(shù)除法指令,測(cè)試結(jié)果表明,采用本文方法在TEC-XP16 教學(xué)機(jī)上設(shè)計(jì)的32 bit浮點(diǎn)數(shù)除法指令的功能是正確的。

    為解決原來(lái)采用人工方式將TEC-XP16 教學(xué)機(jī)匯編程序轉(zhuǎn)換成微程序效率低且容易出錯(cuò)等問(wèn)題,設(shè)計(jì)了匯編程序表和微程序表,并設(shè)計(jì)了一個(gè)python 程序,能夠根據(jù)匯編程序直接自動(dòng)生成微程序,同時(shí),為解決手工修改控制器源程序速度慢及容易出錯(cuò)等問(wèn)題,提出了一種能夠根據(jù)微程序自動(dòng)修改微程序控制器源程序的方法。實(shí)驗(yàn)結(jié)果表明,所設(shè)計(jì)的32 bit 浮點(diǎn)除法指令功能是正確的,平均只需要2.16 s就能根據(jù)匯編程序表自動(dòng)生成微程序表,平均只需1.3 s 就能根據(jù)微程序表、微指令轉(zhuǎn)移判斷條件表和微程序入口地址表自動(dòng)修改并生成控制器ABEL 語(yǔ)言源程序,極大提高了32 bit浮點(diǎn)除法指令的設(shè)計(jì)實(shí)現(xiàn)效率。本文提出的方法也可推廣到其他復(fù)雜指令的設(shè)計(jì)。

    下一步將嘗試在TEC-XP16 教學(xué)機(jī)微程序控制器中設(shè)計(jì)32 bit浮點(diǎn)數(shù)加減法指令等復(fù)雜指令,以及進(jìn)一步研究在TEC-XP16 教學(xué)機(jī)組合邏輯控制器中設(shè)計(jì)復(fù)雜指令的方法。

    猜你喜歡
    浮點(diǎn)數(shù)指令控制器
    聽(tīng)我指令:大催眠術(shù)
    四種Python均勻浮點(diǎn)數(shù)生成方法
    ARINC661顯控指令快速驗(yàn)證方法
    LED照明產(chǎn)品歐盟ErP指令要求解讀
    在C語(yǔ)言中雙精度浮點(diǎn)數(shù)線性化相等比較的研究
    非精確浮點(diǎn)數(shù)乘法器設(shè)計(jì)
    模糊PID控制器設(shè)計(jì)及MATLAB仿真
    MOXA RTU控制器ioPAC 5542系列
    倍福 CX8091嵌入式控制器
    坐標(biāo)系旋轉(zhuǎn)指令數(shù)控編程應(yīng)用
    国产成人午夜福利电影在线观看| 爱豆传媒免费全集在线观看| 最后的刺客免费高清国语| 嘟嘟电影网在线观看| 考比视频在线观看| 国产精品久久久久久久电影| 精品国产一区二区久久| 国产成人av激情在线播放 | 久久久久久久久久久丰满| 亚洲在久久综合| 视频在线观看一区二区三区| 国国产精品蜜臀av免费| 狂野欧美白嫩少妇大欣赏| 国产日韩欧美在线精品| 满18在线观看网站| 九色成人免费人妻av| 一本大道久久a久久精品| 如何舔出高潮| 国产白丝娇喘喷水9色精品| 国产精品无大码| 日韩强制内射视频| 久久久精品区二区三区| 在线播放无遮挡| 日韩人妻高清精品专区| 久久午夜综合久久蜜桃| 免费看av在线观看网站| 欧美激情 高清一区二区三区| 两个人的视频大全免费| 免费av中文字幕在线| 在线 av 中文字幕| 久久久精品免费免费高清| 日本黄大片高清| 十分钟在线观看高清视频www| 精品少妇内射三级| 国产欧美日韩一区二区三区在线 | 亚洲成人手机| 丝袜喷水一区| 亚洲精品aⅴ在线观看| 97超视频在线观看视频| 黄色视频在线播放观看不卡| 久久亚洲国产成人精品v| 一级,二级,三级黄色视频| 777米奇影视久久| 亚洲精品国产av成人精品| 国产在线一区二区三区精| videosex国产| 爱豆传媒免费全集在线观看| 最近的中文字幕免费完整| 久久婷婷青草| 国产极品天堂在线| 国产精品女同一区二区软件| 99热这里只有精品一区| 国产熟女欧美一区二区| 高清av免费在线| 女性被躁到高潮视频| 国产精品麻豆人妻色哟哟久久| 一级毛片黄色毛片免费观看视频| 又粗又硬又长又爽又黄的视频| 高清欧美精品videossex| 又黄又爽又刺激的免费视频.| 国产精品久久久久久久电影| 一级毛片电影观看| 18禁动态无遮挡网站| 久久精品国产亚洲av涩爱| 街头女战士在线观看网站| 亚洲av电影在线观看一区二区三区| 最近2019中文字幕mv第一页| 高清视频免费观看一区二区| 亚洲天堂av无毛| 久久99热这里只频精品6学生| 免费看av在线观看网站| 久久久久久久久久人人人人人人| 777米奇影视久久| 美女国产高潮福利片在线看| 蜜桃在线观看..| 这个男人来自地球电影免费观看 | 性高湖久久久久久久久免费观看| 日韩伦理黄色片| 日本av手机在线免费观看| 蜜桃国产av成人99| 欧美最新免费一区二区三区| av免费在线看不卡| 久久国内精品自在自线图片| 久久久精品免费免费高清| 亚洲av国产av综合av卡| 啦啦啦视频在线资源免费观看| 狠狠精品人妻久久久久久综合| 伦理电影大哥的女人| 极品人妻少妇av视频| 亚洲国产最新在线播放| 成人午夜精彩视频在线观看| 26uuu在线亚洲综合色| 毛片一级片免费看久久久久| 欧美97在线视频| 天天操日日干夜夜撸| 有码 亚洲区| 狂野欧美白嫩少妇大欣赏| 国产精品人妻久久久久久| 国产精品国产三级专区第一集| 成人18禁高潮啪啪吃奶动态图 | 成人毛片a级毛片在线播放| 大片电影免费在线观看免费| 国产精品99久久99久久久不卡 | 午夜福利视频精品| av在线老鸭窝| 亚洲国产日韩一区二区| 99久久精品国产国产毛片| 久久ye,这里只有精品| 亚洲,一卡二卡三卡| 美女cb高潮喷水在线观看| 一边摸一边做爽爽视频免费| 97超视频在线观看视频| 免费大片18禁| 亚洲图色成人| 三级国产精品欧美在线观看| 久久人人爽av亚洲精品天堂| 女的被弄到高潮叫床怎么办| 国产成人精品福利久久| 日本vs欧美在线观看视频| 2021少妇久久久久久久久久久| 青春草视频在线免费观看| 视频在线观看一区二区三区| 黄色怎么调成土黄色| 中文字幕免费在线视频6| 最近中文字幕2019免费版| 亚洲精品乱久久久久久| 久久精品久久久久久久性| 十八禁网站网址无遮挡| 啦啦啦在线观看免费高清www| 国产成人aa在线观看| 国产精品不卡视频一区二区| 桃花免费在线播放| 一级黄片播放器| 91精品三级在线观看| 日韩不卡一区二区三区视频在线| 精品人妻熟女av久视频| 免费大片黄手机在线观看| 精品久久久久久电影网| 简卡轻食公司| 午夜福利,免费看| 久久精品国产自在天天线| 成人无遮挡网站| 日韩视频在线欧美| 日韩中字成人| 免费日韩欧美在线观看| 午夜福利,免费看| 一区二区av电影网| 亚洲av免费高清在线观看| 久热这里只有精品99| 成人黄色视频免费在线看| 能在线免费看毛片的网站| 亚洲精品久久成人aⅴ小说 | 国产免费视频播放在线视频| 久久久精品免费免费高清| 中文欧美无线码| 久久国产亚洲av麻豆专区| 亚洲国产精品国产精品| 欧美精品人与动牲交sv欧美| 国产av国产精品国产| 自线自在国产av| 99国产综合亚洲精品| 自拍欧美九色日韩亚洲蝌蚪91| 少妇 在线观看| 免费看光身美女| 国产成人91sexporn| 日韩亚洲欧美综合| 欧美精品高潮呻吟av久久| 一区二区三区乱码不卡18| 18禁在线无遮挡免费观看视频| 2021少妇久久久久久久久久久| 欧美成人精品欧美一级黄| 黄色一级大片看看| 亚洲色图 男人天堂 中文字幕 | 午夜福利网站1000一区二区三区| 各种免费的搞黄视频| 欧美性感艳星| 飞空精品影院首页| 97超碰精品成人国产| 国产精品久久久久久久电影| 色婷婷av一区二区三区视频| 久久99精品国语久久久| 妹子高潮喷水视频| 91精品一卡2卡3卡4卡| 成人毛片60女人毛片免费| 亚洲欧美成人综合另类久久久| 成人毛片60女人毛片免费| 纵有疾风起免费观看全集完整版| 久久精品久久久久久噜噜老黄| 国产视频首页在线观看| 久久久久久久精品精品| 国产日韩一区二区三区精品不卡 | 久久精品夜色国产| 欧美亚洲日本最大视频资源| 成年女人在线观看亚洲视频| 久久久久国产网址| 亚洲精品美女久久av网站| 黄色配什么色好看| 大陆偷拍与自拍| 成年美女黄网站色视频大全免费 | 亚洲人与动物交配视频| 免费少妇av软件| 亚洲精品一二三| 精品少妇黑人巨大在线播放| 老司机影院毛片| 国产成人精品久久久久久| 国产免费一级a男人的天堂| 欧美日韩精品成人综合77777| 欧美少妇被猛烈插入视频| 老司机影院成人| 最近的中文字幕免费完整| 特大巨黑吊av在线直播| 乱码一卡2卡4卡精品| 成人综合一区亚洲| 赤兔流量卡办理| 伦精品一区二区三区| 国产毛片在线视频| 视频在线观看一区二区三区| 中文精品一卡2卡3卡4更新| 亚洲五月色婷婷综合| 亚洲无线观看免费| 一区在线观看完整版| 91精品国产国语对白视频| 丁香六月天网| 亚洲欧美精品自产自拍| 最新中文字幕久久久久| 大码成人一级视频| 黄色视频在线播放观看不卡| 国产真人三级小视频在线观看| 大香蕉久久网| 亚洲人成伊人成综合网2020| 欧美日韩国产mv在线观看视频| 亚洲伊人色综图| 十八禁网站网址无遮挡| 大型av网站在线播放| 亚洲天堂av无毛| 精品第一国产精品| 777久久人妻少妇嫩草av网站| 在线观看www视频免费| 乱人伦中国视频| kizo精华| videosex国产| 大型av网站在线播放| 中文字幕另类日韩欧美亚洲嫩草| 女人久久www免费人成看片| 女人久久www免费人成看片| 黄频高清免费视频| 狂野欧美激情性xxxx| 美国免费a级毛片| 久久久国产欧美日韩av| 国产有黄有色有爽视频| 精品熟女少妇八av免费久了| 啦啦啦在线免费观看视频4| 精品少妇一区二区三区视频日本电影| 久久精品国产a三级三级三级| 99在线人妻在线中文字幕 | 中国美女看黄片| 久久久久国产一级毛片高清牌| 在线观看免费高清a一片| 美女视频免费永久观看网站| 国产精品免费一区二区三区在线 | 91成人精品电影| 视频区欧美日本亚洲| 国产麻豆69| 高清欧美精品videossex| 精品国产一区二区三区四区第35| 欧美在线一区亚洲| 在线播放国产精品三级| 在线观看www视频免费| 女性生殖器流出的白浆| 色婷婷av一区二区三区视频| 女性被躁到高潮视频| 他把我摸到了高潮在线观看 | 国产一区二区三区视频了| 国产精品九九99| 久久久久久亚洲精品国产蜜桃av| 老熟妇乱子伦视频在线观看| 亚洲男人天堂网一区| 久久久国产成人免费| 在线观看免费高清a一片| 亚洲专区中文字幕在线| 久久久水蜜桃国产精品网| 久久九九热精品免费| 亚洲精品久久午夜乱码| 亚洲成人免费电影在线观看| 在线观看免费视频网站a站| 男女之事视频高清在线观看| 免费av中文字幕在线| 国产精品久久久久久精品古装| 亚洲精品粉嫩美女一区| 在线av久久热| 亚洲成人手机| 亚洲精品在线观看二区| 大陆偷拍与自拍| 免费人妻精品一区二区三区视频| √禁漫天堂资源中文www| 黑人欧美特级aaaaaa片| 美女福利国产在线| 丝瓜视频免费看黄片| 国产亚洲欧美在线一区二区| 久久午夜亚洲精品久久| 亚洲av片天天在线观看| 乱人伦中国视频| 久久中文看片网| 狠狠狠狠99中文字幕| 国产熟女午夜一区二区三区| 一级片'在线观看视频| 日日夜夜操网爽| 999久久久精品免费观看国产| 国产三级黄色录像| 人人妻人人澡人人看| 老司机深夜福利视频在线观看| 国产在线观看jvid| 99国产精品一区二区蜜桃av | 亚洲精品美女久久av网站| 电影成人av| 欧美一级毛片孕妇| 国产av国产精品国产| 老司机在亚洲福利影院| av线在线观看网站| 大香蕉久久网| 免费看十八禁软件| 黄片大片在线免费观看| 免费观看a级毛片全部| 视频区图区小说| 亚洲第一欧美日韩一区二区三区 | 亚洲午夜理论影院| 五月天丁香电影| 久久久精品区二区三区| 韩国精品一区二区三区| 啦啦啦免费观看视频1| 日韩欧美一区二区三区在线观看 | a级毛片黄视频| 激情视频va一区二区三区| 纯流量卡能插随身wifi吗| 精品人妻1区二区| 精品国产一区二区三区四区第35| 91麻豆精品激情在线观看国产 | 国产精品一区二区免费欧美| 中文字幕高清在线视频| 757午夜福利合集在线观看| 建设人人有责人人尽责人人享有的| 飞空精品影院首页| 久久久国产欧美日韩av| 人妻 亚洲 视频| 老汉色av国产亚洲站长工具| 亚洲九九香蕉| 免费观看a级毛片全部| 黄色毛片三级朝国网站| 岛国在线观看网站| 亚洲精品国产区一区二| 午夜福利视频在线观看免费| 国产免费av片在线观看野外av| 啪啪无遮挡十八禁网站| 国产人伦9x9x在线观看| 老司机靠b影院| 亚洲熟妇熟女久久| 国产伦人伦偷精品视频| a级毛片在线看网站| 亚洲一卡2卡3卡4卡5卡精品中文| 老司机午夜福利在线观看视频 | 欧美国产精品va在线观看不卡| 侵犯人妻中文字幕一二三四区| 中文字幕制服av| 久久国产精品男人的天堂亚洲| 天堂动漫精品| 51午夜福利影视在线观看| 在线观看免费日韩欧美大片| 亚洲国产av新网站| 欧美国产精品一级二级三级| 免费一级毛片在线播放高清视频 | 国产精品国产高清国产av | 黑人巨大精品欧美一区二区mp4| 伊人久久大香线蕉亚洲五| 午夜福利欧美成人| 亚洲精品国产精品久久久不卡| 日韩大码丰满熟妇| 高清在线国产一区| 午夜福利视频精品| 又紧又爽又黄一区二区| 自线自在国产av| 热99久久久久精品小说推荐| 极品教师在线免费播放| 黄片大片在线免费观看| 国产高清国产精品国产三级| 变态另类成人亚洲欧美熟女 | 中文字幕制服av| 人妻 亚洲 视频| 99精国产麻豆久久婷婷| 国产黄频视频在线观看| 91麻豆av在线| 久久 成人 亚洲| av免费在线观看网站| 老熟妇仑乱视频hdxx| 国产精品国产av在线观看| 叶爱在线成人免费视频播放| 国产成人影院久久av| 一本色道久久久久久精品综合| 怎么达到女性高潮| 下体分泌物呈黄色| 国产深夜福利视频在线观看| 国产日韩欧美在线精品| 国产在线视频一区二区| 日韩人妻精品一区2区三区| 亚洲国产av新网站| 久久国产精品人妻蜜桃| 高清欧美精品videossex| 中文字幕制服av| 亚洲成人国产一区在线观看| 日本a在线网址| 国产欧美日韩综合在线一区二区| 夫妻午夜视频| 天天躁日日躁夜夜躁夜夜| 亚洲精品中文字幕在线视频| 精品国产一区二区三区四区第35| 国产免费现黄频在线看| 大香蕉久久成人网| 欧美另类亚洲清纯唯美| 久久精品国产综合久久久| 另类精品久久| 少妇被粗大的猛进出69影院| 国产伦人伦偷精品视频| 三级毛片av免费| 人人妻人人添人人爽欧美一区卜| 777久久人妻少妇嫩草av网站| 色在线成人网| 色94色欧美一区二区| 高清毛片免费观看视频网站 | 国产精品熟女久久久久浪| www.自偷自拍.com| 精品乱码久久久久久99久播| 久久久久久久久久久久大奶| 亚洲成a人片在线一区二区| 啦啦啦视频在线资源免费观看| 日本黄色视频三级网站网址 | 国产又爽黄色视频| 人人妻人人澡人人爽人人夜夜| 免费人妻精品一区二区三区视频| 欧美中文综合在线视频| 不卡av一区二区三区| av天堂在线播放| 女人久久www免费人成看片| 国产色视频综合| 亚洲精品国产色婷婷电影| 亚洲自偷自拍图片 自拍| 乱人伦中国视频| 女人久久www免费人成看片| 国产色视频综合| 久久午夜综合久久蜜桃| 亚洲专区国产一区二区| 国产又色又爽无遮挡免费看| 午夜福利影视在线免费观看| 另类精品久久| 国产不卡av网站在线观看| 欧美精品人与动牲交sv欧美| 欧美一级毛片孕妇| 成人永久免费在线观看视频 | 成人黄色视频免费在线看| 最近最新中文字幕大全电影3 | 国产高清激情床上av| 18禁美女被吸乳视频| 国产97色在线日韩免费| 久久精品国产综合久久久| 99国产极品粉嫩在线观看| 女性生殖器流出的白浆| 99香蕉大伊视频| 色视频在线一区二区三区| 精品一区二区三区视频在线观看免费 | 激情在线观看视频在线高清 | 免费看a级黄色片| 大陆偷拍与自拍| e午夜精品久久久久久久| netflix在线观看网站| 国产精品影院久久| 午夜福利在线免费观看网站| 国产成人一区二区三区免费视频网站| 91精品国产国语对白视频| 男人舔女人的私密视频| 国产三级黄色录像| 18禁黄网站禁片午夜丰满| 男男h啪啪无遮挡| 国产精品影院久久| 俄罗斯特黄特色一大片| 国产一区二区在线观看av| 王馨瑶露胸无遮挡在线观看| 亚洲少妇的诱惑av| 国产男女超爽视频在线观看| 久久这里只有精品19| 99九九在线精品视频| 乱人伦中国视频| 久久中文字幕一级| 桃花免费在线播放| 国产精品久久久久成人av| 精品一区二区三卡| 精品福利永久在线观看| 丰满人妻熟妇乱又伦精品不卡| 精品少妇一区二区三区视频日本电影| 日韩欧美一区二区三区在线观看 | 考比视频在线观看| 99久久国产精品久久久| 一本久久精品| 美女午夜性视频免费| 一区二区三区精品91| 亚洲精品av麻豆狂野| 极品少妇高潮喷水抽搐| 欧美亚洲 丝袜 人妻 在线| 亚洲av成人一区二区三| 国产又色又爽无遮挡免费看| 桃红色精品国产亚洲av| 青青草视频在线视频观看| 成人av一区二区三区在线看| 欧美日韩中文字幕国产精品一区二区三区 | 亚洲欧美激情在线| 精品久久久久久久毛片微露脸| 91麻豆av在线| 一二三四在线观看免费中文在| 欧美老熟妇乱子伦牲交| 香蕉国产在线看| 真人做人爱边吃奶动态| 亚洲美女黄片视频| 亚洲av日韩在线播放| 欧美中文综合在线视频| 日本黄色视频三级网站网址 | 亚洲男人天堂网一区| 亚洲天堂av无毛| 亚洲av成人一区二区三| 亚洲第一av免费看| 最新的欧美精品一区二区| 精品国产乱子伦一区二区三区| 亚洲 国产 在线| 18禁美女被吸乳视频| 在线播放国产精品三级| 国产成人欧美| 99精国产麻豆久久婷婷| 国产精品久久电影中文字幕 | 中文字幕最新亚洲高清| 欧美日韩亚洲高清精品| 俄罗斯特黄特色一大片| 国产成人啪精品午夜网站| 动漫黄色视频在线观看| 久久精品人人爽人人爽视色| 久久久久国产一级毛片高清牌| 又紧又爽又黄一区二区| 亚洲熟妇熟女久久| 日韩大片免费观看网站| 欧美精品亚洲一区二区| 国产欧美日韩精品亚洲av| av片东京热男人的天堂| 岛国在线观看网站| 深夜精品福利| 日本撒尿小便嘘嘘汇集6| 亚洲va日本ⅴa欧美va伊人久久| 久久毛片免费看一区二区三区| 美女主播在线视频| 一本综合久久免费| 亚洲视频免费观看视频| 视频区图区小说| 一边摸一边抽搐一进一出视频| 欧美黑人欧美精品刺激| 午夜成年电影在线免费观看| 狠狠精品人妻久久久久久综合| 纵有疾风起免费观看全集完整版| 久久99热这里只频精品6学生| 男女无遮挡免费网站观看| 一进一出抽搐动态| 日韩中文字幕欧美一区二区| 男女下面插进去视频免费观看| 热re99久久国产66热| 精品乱码久久久久久99久播| 日韩中文字幕视频在线看片| 国产黄频视频在线观看| 一本久久精品| 久久中文看片网| 99热网站在线观看| 侵犯人妻中文字幕一二三四区| 女人久久www免费人成看片| www.精华液| 精品亚洲成国产av| 久久天躁狠狠躁夜夜2o2o| 中文字幕高清在线视频| 久久久精品免费免费高清| 人人妻人人澡人人看| 午夜激情av网站| 性高湖久久久久久久久免费观看| 免费久久久久久久精品成人欧美视频| 午夜视频精品福利| av网站免费在线观看视频| 亚洲精品av麻豆狂野| 精品视频人人做人人爽| 精品国产乱码久久久久久小说| 精品国产国语对白av| av欧美777| 国产精品秋霞免费鲁丝片| 黄色视频在线播放观看不卡| 美女高潮到喷水免费观看| 亚洲欧洲日产国产| 久久久久久久国产电影| 亚洲欧美一区二区三区黑人| 怎么达到女性高潮| 99re在线观看精品视频| 麻豆国产av国片精品| 曰老女人黄片| 日韩熟女老妇一区二区性免费视频| 法律面前人人平等表现在哪些方面| 国产欧美日韩一区二区三区在线| 国产精品久久久久久人妻精品电影 | 中文字幕高清在线视频| 国产欧美日韩一区二区三| 桃花免费在线播放| 不卡一级毛片| 国产福利在线免费观看视频| 亚洲 欧美一区二区三区| 国产又色又爽无遮挡免费看| 99热国产这里只有精品6| 国产精品国产高清国产av | 91精品三级在线观看|