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

    一種快速的浮點(diǎn)乘法指令設(shè)計(jì)方法

    2021-07-16 08:12:58宗德才王康康
    關(guān)鍵詞:浮點(diǎn)數(shù)乘法指令

    宗德才 王康康

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

    0 引 言

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

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

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

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

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

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

    在現(xiàn)有的 TEC-XP16 教學(xué)機(jī)中,微程序控制器只能執(zhí)行29條基本指令。本文在TEC-XP16 教學(xué)機(jī)微程序控制器中設(shè)計(jì)實(shí)現(xiàn)了一種32位浮點(diǎn)數(shù)乘法指令。

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

    1) 首先,確定32位浮點(diǎn)乘法指令FMUL的格式和功能,如表1所示。

    表1 FMUL指令的指令格式與功能

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

    算法132位浮點(diǎn)數(shù)乘法運(yùn)算算法

    被乘數(shù)與乘數(shù)都用32位IEEE 754浮點(diǎn)數(shù)表示,被乘數(shù)存放在R1、R0寄存器,乘數(shù)存放在R3、R2寄存器,乘積為32位IEEE 754浮點(diǎn)數(shù),最后,乘積存放在R1、R0寄存器中。

    (1) 如果R1和R0都是0,即被乘數(shù)近似為0,則結(jié)果近似為0,否則,轉(zhuǎn)步驟(2)。

    (2) 如果R3和R2都是0,即乘數(shù)近似為0,則結(jié)果近似為0,否則,轉(zhuǎn)步驟(3)。

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

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

    (5) 階碼求和:(R6)+(R7)→R6。

    (6) 浮點(diǎn)數(shù)中階碼用移碼表示,移碼是在階碼真值基礎(chǔ)上加127,階碼相加時(shí),127被加了2次,因此,需要把階碼和減去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。

    (10) 將R9、R8清為0,R9、R8存放部分積。

    (11) 如果R2為0,只需移位8次,則令R15為1,R10為8,將R3內(nèi)容傳送到R2,R3清為0;如果R2為非0,則令R15為0,R10為16。

    (12) 將R2右移一位,R2最低位移入C觸發(fā)器。

    (13) 如果C=1,則 R1//R0 + R9//R82→ R9//R8;如果C=0,則轉(zhuǎn)移到步驟(15)。

    (14) 如果R10不等于1,則執(zhí)行步驟(15);如果R10為1,并且R15為1,則轉(zhuǎn)移到步驟(18)(尾數(shù)最高位為整數(shù)1,所以不需要右移);如果R10為1,且R15為0,則執(zhí)行步驟(15)。

    (15) 將R9//R8//R2聯(lián)合右移一位。

    (16) R10減1。

    (17) 如果R10為0,則執(zhí)行步驟(18),否則轉(zhuǎn)步驟(13)。

    (18) 如果R3為0,則執(zhí)行步驟(19);否則,令R15為1,R10為8,將R3內(nèi)容傳送到R2,R3清為0,轉(zhuǎn)步驟(12)。

    (19) 將R9、R8內(nèi)容分別送到R1、R0,將R2內(nèi)容送到R9。

    (20) 如果R1中尾數(shù)最高位為0,則執(zhí)行步驟(21),否則,執(zhí)行步驟(22)。

    (21) 將R1//R0//R9聯(lián)合右移一位,階碼加1,轉(zhuǎn)步驟(20)。

    (22) 如果R9最高位為1,則R1//R0 +1 → R1//R0,否則,R1//R0不變。

    (23) 如果R1中尾數(shù)最高位的左邊一位為1,則執(zhí)行步驟(24),否則,執(zhí)行步驟(25)。

    (24) 將R1//R0//R9聯(lián)合右移一位,階碼加1。

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

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

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

    1位數(shù)符8位階碼7位尾數(shù) 16位尾數(shù)

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

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

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

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

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

    下地址命令碼微轉(zhuǎn)移條件MRWI2-I0I8-I6I5-I3B口地址A口地址SSTSSHSCIDC2DC116位下地址字段32位控制命令字段

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

    表2 MProgram微程序表

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

    表3 AsblProgram匯編程序表

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

    表4 MPFAdr微程序入口地址表

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

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

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

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

    由于每一條匯編指令轉(zhuǎn)換后的微指令數(shù)目不同,設(shè)計(jì)了ISEA表(如表7所示)用于存儲(chǔ)每一條匯編指令轉(zhuǎn)換成為微指令后,對應(yīng)的第一條微指令地址start和最后一條微指令的地址end。

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

    4) 在匯編程序表AsblProgram中輸入實(shí)現(xiàn)32位浮點(diǎn)數(shù)乘法運(yùn)算算法的匯編程序,共有100條匯編指令,在微程序入口地址表MPFAdr 中輸入FMUL指令的操作碼1110 1100,微程序入口地址為0011 1100。

    5) 根據(jù)算法2和算法3,用Python語言編程(記為程序1),能夠自動(dòng)將AsblProgram表中的匯編程序轉(zhuǎn)換成微程序并寫入MProgram表,根據(jù)算法4為JRZ/JRNZ/JRC/JRNC/JRS/JRNS/JR轉(zhuǎn)移類指令更新其微指令中的下地址字段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)換成微指令并寫入MProgram表,同時(shí)在ISEA表中寫入MVRD指令對應(yīng)的第一條微指令的地址start和最后一條微指令地址end;如果記錄AsbInsti的Itype為1,即為MVRR指令,則只需轉(zhuǎn)換成一條相應(yīng)的微指令并寫入MProgram表,同時(shí)在ISEA表中寫入MVRR指令對應(yīng)的第一條微指令的地址start和最后一條微指令地址end;如果記錄AsbInsti的Iname為OR、AND、ADD、SUB、XOR、TEST、ADC、CMP、SHR、RCR、SHL、INC、DEC、JR、JRZ、JRNZ、JRC、JRNC、JRS、JRNS、CLC、RET指令,則只需要轉(zhuǎn)換成一條相應(yīng)的微指令并寫入MProgram表,同時(shí)在ISEA表中寫入待轉(zhuǎn)換匯編指令對應(yīng)的第一條微指令的地址start和最后一條微指令地址end;如果記錄AsbInsti的Iname為PSHF、POPF指令,則需要轉(zhuǎn)換成兩條相應(yīng)的微指令并寫入MProgram表,同時(shí)在ISEA表中寫入待轉(zhuǎn)換匯編指令對應(yīng)的第一條微指令的地址start和最后一條微指令地址end。

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

    在本文設(shè)計(jì)的實(shí)現(xiàn)FMUL指令的匯編程序中,用到的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位二進(jìn)制數(shù)a。

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

    (3) 如果num_1(a)大于1,則執(zhí)行步驟(4),否則,執(zhí)行步驟(12)。

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

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

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

    (7) 如果shiftlr(a)小于等于shiftrl(a),則執(zhí)行步驟(8),否則,執(zhí)行步驟(10)。

    (8) 生成16-num_1(a)條SHL指令對應(yīng)的微指令。

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

    (10) 生成16-num_1(a)條SHR指令對應(yīng)的微指令。

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

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

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

    (14) 如果leftshift2(a)+2小于等于shiftlr(a)+1,則執(zhí)行步驟(15),否則執(zhí)行步驟(18)。

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

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

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

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

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

    算法4為JRZ/JRNZ/JRC/JRNC/JRS/JRNS/JR轉(zhuǎn)移類指令生成微指令中的下地址字段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è)查詢結(jié)果有n條記錄,令i=1。

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

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

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

    (5) 更新MProgram表中MIadr字段等于kkk的記錄的Nadr字段值為start66。

    (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è)查詢結(jié)果有n條記錄,令i=1。

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

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

    (4) 如果CC表中還沒有Nadr等于start66的記錄,則在CC表中插入一條記錄,否則,轉(zhuǎn)步驟(5)。

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

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

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

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

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

    list1 = f1.readlines()

    (2) 連接mpdatabase.db數(shù)據(jù)庫。

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

    (3) 從MPFAdr表中讀取所有記錄,將所有記錄的Iname字段值和Opcode字段值組成一個(gè)字符串a(chǎn),字符串a(chǎn)為:FMUL=(IR==[1,1,1,0,1,1,0,0]);在list1列表對象中找到“Expand Instruction here ”字符串,將該字符串替換為字符串a(chǎn)。

    (4) 從CC表中讀取所有記錄,根據(jù)這些記錄的SCC字段值、Iname字段值、Nadr字段值和Condition字段值修改CC0表達(dá)式,如圖3所示,圖3中黑底部分為增加的部分。

    圖3 修改后的CC0表達(dá)式

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

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

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

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

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

    (2) 令i=1。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    按照上述方法在Access 2010中設(shè)計(jì)好數(shù)據(jù)庫表后,為了方便Python語言編程,使用SQLite Expert工具將Access數(shù)據(jù)庫轉(zhuǎn)換成SQLite數(shù)據(jù)庫。

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

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

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

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

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

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

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

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

    (4) 用Python語言編寫程序2,該程序能從SQLite3數(shù)據(jù)庫自動(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)了FMUL指令的控制器源程序文件。

    (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芯片中。方法詳見文獻(xiàn)[11]。

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

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

    圖6中,被乘數(shù)和乘數(shù)都是0100 0000 0000 0000 0000 0000 0000 0000,即1.0×21,乘積為0100 0000 1000 0000 0000 0000 0000 0000,即1.0×22,程序運(yùn)行結(jié)果驗(yàn)證了本文所設(shè)計(jì)和實(shí)現(xiàn)的32位浮點(diǎn)乘法指令的功能是正確的。

    圖7中,被乘數(shù)和乘數(shù)都是0100 0000 0001 0000 0000 0000 0000 0000,即1.001×21,乘積為0100 0000 1010 0010 0000 0000 0000 0000,即1.010 001×22,程序運(yùn)行結(jié)果驗(yàn)證了本文所設(shè)計(jì)和實(shí)現(xiàn)的32位浮點(diǎn)乘法指令的功能是正確的。

    3 結(jié) 語

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

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

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

    猜你喜歡
    浮點(diǎn)數(shù)乘法指令
    聽我指令:大催眠術(shù)
    算乘法
    我們一起來學(xué)習(xí)“乘法的初步認(rèn)識(shí)”
    四種Python均勻浮點(diǎn)數(shù)生成方法
    《整式的乘法與因式分解》鞏固練習(xí)
    把加法變成乘法
    ARINC661顯控指令快速驗(yàn)證方法
    LED照明產(chǎn)品歐盟ErP指令要求解讀
    電子測試(2018年18期)2018-11-14 02:30:34
    在C語言中雙精度浮點(diǎn)數(shù)線性化相等比較的研究
    非精確浮點(diǎn)數(shù)乘法器設(shè)計(jì)
    中文资源天堂在线| 人妻 亚洲 视频| 青春草视频在线免费观看| 欧美+日韩+精品| 男人添女人高潮全过程视频| 蜜桃久久精品国产亚洲av| 有码 亚洲区| 2018国产大陆天天弄谢| 日本与韩国留学比较| 国产免费福利视频在线观看| 2022亚洲国产成人精品| 高清在线视频一区二区三区| 97在线人人人人妻| 丝瓜视频免费看黄片| 热re99久久精品国产66热6| 久久99热6这里只有精品| 少妇猛男粗大的猛烈进出视频| 国产精品三级大全| 九色成人免费人妻av| 国产午夜精品久久久久久一区二区三区| 永久网站在线| 欧美精品国产亚洲| 婷婷色综合www| 尤物成人国产欧美一区二区三区| 99视频精品全部免费 在线| 深夜a级毛片| 亚洲av福利一区| 国产高清国产精品国产三级 | 精品酒店卫生间| 18+在线观看网站| 大香蕉久久网| www.av在线官网国产| 久久久久久久久久成人| 亚洲欧美成人精品一区二区| 看免费成人av毛片| 乱码一卡2卡4卡精品| av在线app专区| 亚洲精品国产av成人精品| 亚洲精品日本国产第一区| 观看美女的网站| 男女国产视频网站| 久久韩国三级中文字幕| 又爽又黄a免费视频| 三级经典国产精品| 一级毛片 在线播放| 国精品久久久久久国模美| 国内精品宾馆在线| 欧美3d第一页| 一级爰片在线观看| 国产探花极品一区二区| 伦理电影大哥的女人| 国产精品久久久久久久久免| 大香蕉97超碰在线| 99久久综合免费| 日韩亚洲欧美综合| 国产精品久久久久成人av| 日韩成人av中文字幕在线观看| 欧美性感艳星| 91久久精品国产一区二区三区| 狂野欧美激情性xxxx在线观看| 插阴视频在线观看视频| 大又大粗又爽又黄少妇毛片口| 国产精品一区二区在线观看99| 身体一侧抽搐| 欧美精品人与动牲交sv欧美| 国内少妇人妻偷人精品xxx网站| 全区人妻精品视频| 一个人看的www免费观看视频| 成人免费观看视频高清| 国产白丝娇喘喷水9色精品| 成年美女黄网站色视频大全免费 | 少妇丰满av| 国产一区二区三区av在线| 天天躁夜夜躁狠狠久久av| 日本免费在线观看一区| av.在线天堂| 欧美激情极品国产一区二区三区 | 美女内射精品一级片tv| 日本欧美国产在线视频| 免费观看性生交大片5| 国产精品一及| 99久久精品热视频| 国产精品国产三级国产av玫瑰| 免费大片18禁| 九九在线视频观看精品| 高清日韩中文字幕在线| 亚洲婷婷狠狠爱综合网| 成年免费大片在线观看| 91精品国产九色| 成人二区视频| 99久久人妻综合| 内地一区二区视频在线| 老女人水多毛片| 中文在线观看免费www的网站| 久久精品国产a三级三级三级| 香蕉精品网在线| 国产91av在线免费观看| 亚洲在久久综合| 天堂中文最新版在线下载| 高清午夜精品一区二区三区| 精品熟女少妇av免费看| 免费观看在线日韩| 国产精品一区二区三区四区免费观看| 国产欧美亚洲国产| av天堂中文字幕网| 国产永久视频网站| 中文欧美无线码| 日本av免费视频播放| 免费观看a级毛片全部| 日本wwww免费看| 舔av片在线| 免费av不卡在线播放| 尤物成人国产欧美一区二区三区| 免费少妇av软件| 国产午夜精品一二区理论片| 国产又色又爽无遮挡免| 免费大片黄手机在线观看| 亚洲av日韩在线播放| 午夜福利高清视频| 国产黄色免费在线视频| freevideosex欧美| 国产精品久久久久久久电影| 亚洲精品视频女| 精品人妻偷拍中文字幕| 国产午夜精品久久久久久一区二区三区| 国产精品秋霞免费鲁丝片| 亚洲av男天堂| 色婷婷久久久亚洲欧美| 国产午夜精品一二区理论片| 一区二区av电影网| 黄色视频在线播放观看不卡| 黄色欧美视频在线观看| 人妻制服诱惑在线中文字幕| 亚洲电影在线观看av| 精品熟女少妇av免费看| 在线天堂最新版资源| 亚洲真实伦在线观看| 日韩大片免费观看网站| 国产一区亚洲一区在线观看| 国产成人免费观看mmmm| 日本猛色少妇xxxxx猛交久久| 在现免费观看毛片| 欧美人与善性xxx| 亚洲熟女精品中文字幕| 啦啦啦在线观看免费高清www| 亚洲精品国产成人久久av| 我要看日韩黄色一级片| 国产精品久久久久久av不卡| 精品久久久久久久末码| 久久国内精品自在自线图片| 麻豆成人午夜福利视频| 成年免费大片在线观看| 国产深夜福利视频在线观看| 精品99又大又爽又粗少妇毛片| 欧美老熟妇乱子伦牲交| 26uuu在线亚洲综合色| 美女内射精品一级片tv| 美女视频免费永久观看网站| 嘟嘟电影网在线观看| 天堂俺去俺来也www色官网| 晚上一个人看的免费电影| 久久久久久久亚洲中文字幕| av在线app专区| 欧美激情极品国产一区二区三区 | 国产日韩欧美亚洲二区| 成人午夜精彩视频在线观看| 欧美激情国产日韩精品一区| 国产精品一区二区在线观看99| 免费观看在线日韩| 亚洲成人av在线免费| 我的老师免费观看完整版| 午夜福利在线在线| 亚洲怡红院男人天堂| 我要看黄色一级片免费的| 赤兔流量卡办理| 精品国产乱码久久久久久小说| 色视频在线一区二区三区| 一级毛片我不卡| 国产 精品1| 精品人妻熟女av久视频| 亚洲av不卡在线观看| 国产淫语在线视频| 一个人看的www免费观看视频| 亚洲精品aⅴ在线观看| 91aial.com中文字幕在线观看| 亚洲欧美精品专区久久| 大码成人一级视频| 国产69精品久久久久777片| 久久精品国产亚洲av涩爱| 国产黄频视频在线观看| 亚洲精品日韩av片在线观看| 最新中文字幕久久久久| 亚洲综合色惰| 国产视频首页在线观看| 国产高清有码在线观看视频| 在现免费观看毛片| 亚洲不卡免费看| 一级毛片aaaaaa免费看小| 欧美激情极品国产一区二区三区 | 国产精品国产三级专区第一集| 日本午夜av视频| 国产精品av视频在线免费观看| 在线观看av片永久免费下载| 欧美日韩在线观看h| 日韩制服骚丝袜av| 少妇裸体淫交视频免费看高清| 久久6这里有精品| 99热全是精品| 欧美区成人在线视频| 99热网站在线观看| 嫩草影院新地址| 五月天丁香电影| 天堂俺去俺来也www色官网| 新久久久久国产一级毛片| 国产精品人妻久久久久久| 久久女婷五月综合色啪小说| freevideosex欧美| 亚洲自偷自拍三级| 视频中文字幕在线观看| 五月天丁香电影| 久久久久久久亚洲中文字幕| 国产一区二区在线观看日韩| 午夜激情福利司机影院| 亚洲国产精品999| 久久人妻熟女aⅴ| 亚洲精品视频女| 一级毛片 在线播放| 我要看日韩黄色一级片| 18禁裸乳无遮挡免费网站照片| 啦啦啦啦在线视频资源| 中文字幕人妻熟人妻熟丝袜美| 亚洲丝袜综合中文字幕| 大陆偷拍与自拍| 亚洲伊人久久精品综合| 国产精品久久久久久精品古装| 寂寞人妻少妇视频99o| 成人漫画全彩无遮挡| 婷婷色av中文字幕| 精品人妻一区二区三区麻豆| 国产成人午夜福利电影在线观看| 亚洲,欧美,日韩| 身体一侧抽搐| 亚洲天堂av无毛| 校园人妻丝袜中文字幕| 男人爽女人下面视频在线观看| 99热这里只有是精品50| 一区二区av电影网| 18禁动态无遮挡网站| 亚洲欧美精品自产自拍| 女人十人毛片免费观看3o分钟| 久久婷婷青草| 在线观看一区二区三区| 性色avwww在线观看| 建设人人有责人人尽责人人享有的 | 国产精品欧美亚洲77777| 久久 成人 亚洲| 简卡轻食公司| 中文字幕人妻熟人妻熟丝袜美| 国产在线免费精品| 亚洲欧洲国产日韩| 国产69精品久久久久777片| 人妻夜夜爽99麻豆av| 男男h啪啪无遮挡| 国产欧美日韩精品一区二区| 自拍偷自拍亚洲精品老妇| 一级片'在线观看视频| 18禁在线播放成人免费| 久久国产亚洲av麻豆专区| 午夜激情福利司机影院| 免费少妇av软件| 大香蕉久久网| 亚洲av日韩在线播放| 日韩精品有码人妻一区| 美女内射精品一级片tv| kizo精华| av一本久久久久| 国产精品麻豆人妻色哟哟久久| 少妇丰满av| 99热6这里只有精品| 亚洲欧美日韩东京热| 国产熟女欧美一区二区| 自拍偷自拍亚洲精品老妇| 免费久久久久久久精品成人欧美视频 | 九草在线视频观看| 我的老师免费观看完整版| 日本午夜av视频| 舔av片在线| 亚洲欧美日韩另类电影网站 | 九九在线视频观看精品| 日本av免费视频播放| 国产男人的电影天堂91| 中文字幕精品免费在线观看视频 | 毛片女人毛片| 成年av动漫网址| 中国美白少妇内射xxxbb| 97超视频在线观看视频| 国产日韩欧美亚洲二区| 亚洲国产精品专区欧美| 精品亚洲乱码少妇综合久久| 日日啪夜夜撸| 一二三四中文在线观看免费高清| 毛片女人毛片| 国产爽快片一区二区三区| 国产毛片在线视频| 午夜福利在线在线| 亚洲内射少妇av| 在线观看免费高清a一片| 秋霞在线观看毛片| 免费少妇av软件| 夜夜看夜夜爽夜夜摸| 91精品国产国语对白视频| 久久av网站| av一本久久久久| 女的被弄到高潮叫床怎么办| 99精国产麻豆久久婷婷| 亚洲精品日韩在线中文字幕| 只有这里有精品99| a级毛片免费高清观看在线播放| 麻豆成人午夜福利视频| 国产欧美日韩精品一区二区| 成人毛片a级毛片在线播放| 一级片'在线观看视频| 老司机影院成人| 久久毛片免费看一区二区三区| xxx大片免费视频| 日本午夜av视频| 在线免费观看不下载黄p国产| 身体一侧抽搐| 2021少妇久久久久久久久久久| 国产成人一区二区在线| 久久精品久久久久久噜噜老黄| 色视频在线一区二区三区| 免费看av在线观看网站| 亚洲丝袜综合中文字幕| 国产免费一级a男人的天堂| 日韩中文字幕视频在线看片 | 秋霞伦理黄片| 午夜福利在线观看免费完整高清在| 日韩不卡一区二区三区视频在线| 久久久久久人妻| av国产免费在线观看| 韩国高清视频一区二区三区| 这个男人来自地球电影免费观看 | 国产亚洲午夜精品一区二区久久| 久久精品国产亚洲网站| 国产成人a区在线观看| 91久久精品电影网| 大片电影免费在线观看免费| 丝袜脚勾引网站| av视频免费观看在线观看| 欧美区成人在线视频| 五月玫瑰六月丁香| 狂野欧美激情性bbbbbb| 精品少妇黑人巨大在线播放| 一级二级三级毛片免费看| 午夜免费观看性视频| 色吧在线观看| 一个人免费看片子| 啦啦啦在线观看免费高清www| 内地一区二区视频在线| 1000部很黄的大片| 成人18禁高潮啪啪吃奶动态图 | 久久精品国产a三级三级三级| 国产精品99久久久久久久久| 国产高潮美女av| 又粗又硬又长又爽又黄的视频| 简卡轻食公司| 少妇高潮的动态图| 一区在线观看完整版| 王馨瑶露胸无遮挡在线观看| 国产精品99久久久久久久久| 一区二区三区四区激情视频| 三级经典国产精品| 亚洲va在线va天堂va国产| 高清午夜精品一区二区三区| 国产精品嫩草影院av在线观看| 欧美+日韩+精品| 黑人高潮一二区| 国产在视频线精品| 乱码一卡2卡4卡精品| 永久网站在线| 久久ye,这里只有精品| av线在线观看网站| 国产男女超爽视频在线观看| 亚洲av福利一区| 亚洲av综合色区一区| 欧美最新免费一区二区三区| 国产一区亚洲一区在线观看| 国产精品久久久久久精品古装| 2022亚洲国产成人精品| a级毛色黄片| 亚洲美女黄色视频免费看| 久久精品久久久久久久性| 在线观看免费日韩欧美大片 | 亚洲四区av| 欧美xxⅹ黑人| 亚洲,一卡二卡三卡| 久热这里只有精品99| av播播在线观看一区| 久久97久久精品| 99热这里只有精品一区| 亚洲av日韩在线播放| 国产黄片视频在线免费观看| 夜夜爽夜夜爽视频| 国产黄色免费在线视频| 性色avwww在线观看| a级一级毛片免费在线观看| 少妇人妻 视频| 国产精品久久久久久精品古装| av免费观看日本| 熟妇人妻不卡中文字幕| 日日撸夜夜添| 最近最新中文字幕大全电影3| 精品午夜福利在线看| 在线观看免费视频网站a站| 国产视频首页在线观看| 亚洲国产日韩一区二区| 久久午夜福利片| 网址你懂的国产日韩在线| 成人漫画全彩无遮挡| 观看免费一级毛片| 1000部很黄的大片| 天美传媒精品一区二区| 大又大粗又爽又黄少妇毛片口| 自拍偷自拍亚洲精品老妇| 日本一二三区视频观看| 亚洲欧美成人精品一区二区| 视频区图区小说| 免费在线观看成人毛片| 99精国产麻豆久久婷婷| 伦理电影免费视频| av视频免费观看在线观看| 欧美性感艳星| 人人妻人人澡人人爽人人夜夜| 美女内射精品一级片tv| 高清黄色对白视频在线免费看 | 丝瓜视频免费看黄片| 亚洲精品,欧美精品| 99久国产av精品国产电影| tube8黄色片| 国产精品成人在线| 2021少妇久久久久久久久久久| 午夜视频国产福利| 精品国产乱码久久久久久小说| 免费黄色在线免费观看| 国产在线免费精品| 十分钟在线观看高清视频www | 卡戴珊不雅视频在线播放| 看免费成人av毛片| 高清欧美精品videossex| 久久久久久九九精品二区国产| 大片免费播放器 马上看| 中文资源天堂在线| www.色视频.com| 丰满少妇做爰视频| 99久久精品一区二区三区| 欧美日韩视频精品一区| 国产精品一区www在线观看| 国产69精品久久久久777片| 97超碰精品成人国产| 成人国产av品久久久| 久久精品熟女亚洲av麻豆精品| 观看av在线不卡| 欧美成人午夜免费资源| 大片电影免费在线观看免费| 国产色婷婷99| 亚洲av男天堂| 午夜精品国产一区二区电影| 大话2 男鬼变身卡| 国产成人a∨麻豆精品| 97超碰精品成人国产| 国产精品免费大片| av线在线观看网站| 永久免费av网站大全| 一区二区三区四区激情视频| 免费少妇av软件| 欧美精品一区二区免费开放| 亚洲综合精品二区| 成人亚洲精品一区在线观看 | 在线观看免费视频网站a站| 免费大片18禁| 精品国产露脸久久av麻豆| 国产亚洲精品久久久com| 欧美三级亚洲精品| 亚洲va在线va天堂va国产| 黄色一级大片看看| 天堂8中文在线网| 日本欧美视频一区| 国产伦精品一区二区三区视频9| 国产精品伦人一区二区| 2022亚洲国产成人精品| 国产成人aa在线观看| 99精国产麻豆久久婷婷| 丰满迷人的少妇在线观看| 欧美一级a爱片免费观看看| 亚洲av成人精品一二三区| 欧美极品一区二区三区四区| 日韩中文字幕视频在线看片 | av在线播放精品| 免费观看av网站的网址| 久久精品国产亚洲网站| av免费观看日本| 欧美极品一区二区三区四区| 26uuu在线亚洲综合色| 亚洲精品成人av观看孕妇| 亚洲欧美一区二区三区黑人 | 欧美xxⅹ黑人| 最近手机中文字幕大全| 九草在线视频观看| 国产黄片视频在线免费观看| 赤兔流量卡办理| 丰满人妻一区二区三区视频av| 特大巨黑吊av在线直播| 高清黄色对白视频在线免费看 | 中文在线观看免费www的网站| 成人特级av手机在线观看| 五月开心婷婷网| 国产老妇伦熟女老妇高清| 亚洲熟女精品中文字幕| 国产免费又黄又爽又色| 国产精品欧美亚洲77777| av专区在线播放| 欧美少妇被猛烈插入视频| 日韩一区二区视频免费看| 七月丁香在线播放| 国产深夜福利视频在线观看| 成人黄色视频免费在线看| 国产精品久久久久久精品古装| 亚洲美女黄色视频免费看| 日本黄色片子视频| 国产高潮美女av| 成年人午夜在线观看视频| 欧美区成人在线视频| 免费观看无遮挡的男女| 国产欧美亚洲国产| 女人十人毛片免费观看3o分钟| 国产成人freesex在线| 国产精品久久久久成人av| 国产午夜精品久久久久久一区二区三区| 老女人水多毛片| 久久人人爽av亚洲精品天堂 | 国产片特级美女逼逼视频| 日韩av不卡免费在线播放| 三级国产精品片| 国产午夜精品久久久久久一区二区三区| 国产精品一区www在线观看| 免费观看av网站的网址| 国语对白做爰xxxⅹ性视频网站| 色网站视频免费| 一级毛片我不卡| 日本免费在线观看一区| 王馨瑶露胸无遮挡在线观看| 看免费成人av毛片| 久久99热这里只频精品6学生| 国产成人午夜福利电影在线观看| 精品国产乱码久久久久久小说| 丝袜脚勾引网站| 亚洲精品乱码久久久久久按摩| 亚洲成人一二三区av| 免费播放大片免费观看视频在线观看| 老师上课跳d突然被开到最大视频| 大码成人一级视频| 国产在线男女| 青春草亚洲视频在线观看| 国产精品人妻久久久久久| 亚洲精品国产色婷婷电影| 免费看不卡的av| 搡老乐熟女国产| 91狼人影院| 亚洲,一卡二卡三卡| 亚洲欧美日韩东京热| 校园人妻丝袜中文字幕| 色5月婷婷丁香| 噜噜噜噜噜久久久久久91| 91精品一卡2卡3卡4卡| 丰满迷人的少妇在线观看| 国产在线视频一区二区| 18禁裸乳无遮挡免费网站照片| 黄片无遮挡物在线观看| 欧美97在线视频| 美女福利国产在线 | 国产视频首页在线观看| 国产一区二区三区综合在线观看 | 王馨瑶露胸无遮挡在线观看| 女性生殖器流出的白浆| 国语对白做爰xxxⅹ性视频网站| 亚洲经典国产精华液单| 久久国产亚洲av麻豆专区| 国产高清不卡午夜福利| 最后的刺客免费高清国语| 欧美日韩综合久久久久久| 亚洲综合精品二区| 国产高潮美女av| 99热这里只有是精品在线观看| 最近最新中文字幕免费大全7| 日本黄色日本黄色录像| 狂野欧美白嫩少妇大欣赏| 少妇被粗大猛烈的视频| 国产 一区 欧美 日韩| 亚洲精品国产成人久久av| 十八禁网站网址无遮挡 | 多毛熟女@视频| 麻豆成人av视频| 欧美成人a在线观看| 国产免费福利视频在线观看| 国产精品嫩草影院av在线观看| 在线看a的网站| 免费黄色在线免费观看| 一区在线观看完整版| 亚洲美女搞黄在线观看| 日韩大片免费观看网站| 精品视频人人做人人爽| 99九九线精品视频在线观看视频| 成人亚洲欧美一区二区av| 国产69精品久久久久777片|