亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于TEC-XP16的16位乘除指令設(shè)計

        2022-01-17 06:20:42宗德才王康康
        電子元器件與信息技術(shù) 2021年9期
        關(guān)鍵詞:觸發(fā)器寄存器乘法

        宗德才,王康康

        (1. 常熟理工學(xué)院 計算機科學(xué)與工程學(xué)院,江蘇 常熟 215500;

        2. 江蘇科技大學(xué) 數(shù)理學(xué)院,江蘇 鎮(zhèn)江 212003)

        0 引言

        目前,國內(nèi)很多高校計算機組成原理實驗教學(xué)主要是基于TEC-XP16教學(xué)機進行的。為使學(xué)生系統(tǒng)建立整機概念,培養(yǎng)學(xué)生的計算機系統(tǒng)能力,亟需開發(fā)一些設(shè)計性的實驗,如為TEC-XP16教學(xué)機設(shè)計一些新指令。

        在TEC-2000微程序控制器中設(shè)計實現(xiàn)了NXOR等四條指令[1]。在TEC-2000微程序控制器中設(shè)計實現(xiàn)了NXOR和SWRM指令[2]。提出了在TEC-XP16組合邏輯控制器中設(shè)計實現(xiàn)SWRR等簡單指令的方法[3]。提出了TEC-XP16微程序控制器中8bit無符號乘除指令的設(shè)計實現(xiàn)方法[4]。

        本文提出了一種在TEC-XP16教學(xué)機微程序控制器中設(shè)計16bit無符號乘法指令MULS、16bit無符號除法指令DIVS與16bit變形補碼乘法指令MULB的方法。

        實驗結(jié)果表明,設(shè)計的16bit無符號數(shù)乘法指令MULS、16bit無符號除法指令DIVS與16bit變形補碼乘法指令MULB是正確的。

        1 16bit乘除指令的設(shè)計實現(xiàn)

        本文設(shè)計實現(xiàn)了三條指令:16bit無符號乘法指令MULS、16bit無符號除法指令DIVS與16bit變形補碼乘法指令MULB。

        1.1 軟硬件環(huán)境

        在16bit乘除指令的設(shè)計實現(xiàn)過程中用到的硬件設(shè)備主要有TEC-XP16教學(xué)機、Lattice USB下載電纜HW-USB-2A等;使用的軟件主要有Lattice ispLEVER Classic 2.0和WinPcec等軟件。

        1.2 16bit乘除指令的設(shè)計

        下面將介紹三種16bit乘除指令的格式和功能并設(shè)計相應(yīng)的算法。主要以16bit變形補碼乘法指令為例,介紹其在TEC-XP16教學(xué)機微程序控制器中設(shè)計實現(xiàn)的過程。

        設(shè)計16bit乘除指令的主要步驟如下:

        (1)設(shè)計16bit乘除指令的功能,如表1所示。

        表1 MULS、MULB與DIVS指令的格式與功能

        (2)根據(jù)三種16bit乘除指令的功能和格式,分別設(shè)計了算法1,算法2,算法3。

        算法1.(16bit無符號數(shù)乘法).乘積高16bit存R6寄存器,乘積低16bit存R9寄存器。其中,Q寄存器是教學(xué)機AM2901運算器芯片中的乘商寄存器。

        (1)初始化R6、R8寄存器,(R6) = 0,(R8) = 17,乘數(shù)從SR送Q寄存器。

        (2)R6與Q寄存器聯(lián)合右移一位,Q0移入C觸發(fā)器。

        (3)如果C為0,則轉(zhuǎn)(4),如果C不為0,轉(zhuǎn)(6)。

        (4)R8減1,結(jié)果不為0,則轉(zhuǎn)(5),結(jié)果為0,則轉(zhuǎn)(8)。

        (5)R6與Q寄存器聯(lián)合右移一位,Q0移入C觸發(fā)器,轉(zhuǎn)(3)。

        (6)R8減1,結(jié)果不為0,則轉(zhuǎn)(7),結(jié)果為0,則轉(zhuǎn)(8)。

        (7)(R6)+(DR)→R6,R6與Q寄存器聯(lián)合右移一位,Q0移入C觸發(fā)器,轉(zhuǎn)(3)。

        (8)Q寄存器內(nèi)容傳送到R9寄存器。

        基2 Booth算法[5]通過比較乘數(shù)相鄰兩位的值決定進行加法、減法還是僅進行移位操作。

        根據(jù)基2 booth算法,我們設(shè)計了16bit變形補碼乘法算法。

        算法2.(16bit變形補碼乘法).乘積為32bit變形補碼,乘積高16bit存R6寄存器,乘積低16bit存R9寄存器。

        (1)初始化R6、R8寄存器,(R6) = 0,(R8) = 17,乘數(shù)從SR送Q寄存器,C觸發(fā)器清0。

        (2)將Q寄存器內(nèi)容送R7寄存器。

        (3)將R7寄存器與C觸發(fā)器循環(huán)右移,將C觸發(fā)器值移到R7寄存器最高位,將R7寄存器最低位移入C觸發(fā)器。

        (4)檢查C的值,即Q0的值(Q0即乘數(shù)yn)。

        (5)將R7寄存器邏輯左移一位,將R7最高位移入C觸發(fā)器,檢查C的值(C即附加位)。

        (6)如果Q0=C,則轉(zhuǎn)(7),如果Q0=0,C=1,則轉(zhuǎn)(9),如果Q0=1,C=0,則轉(zhuǎn)(11)。

        (7)R8減1,結(jié)果不為0,則轉(zhuǎn)(8),結(jié)果為0,則轉(zhuǎn)(13)。

        (8)R6與Q寄存器聯(lián)合右移一位,Q0移入C觸發(fā)器,轉(zhuǎn)(2)。

        (9)R8減1,結(jié)果不為0,則轉(zhuǎn)(10),結(jié)果為0,則轉(zhuǎn)(13)。

        (10)(R6)+(DR)→R6,然后R6與Q寄存器聯(lián)合右移一位,Q0移入C觸發(fā)器,轉(zhuǎn)(2)。

        (11)R8減1,結(jié)果不為0,則轉(zhuǎn)(12),結(jié)果為0,則轉(zhuǎn)(13)。

        (12)(R6)-(DR)→R6,然后R6與Q寄存器聯(lián)合右移一位,Q0移入C觸發(fā)器,轉(zhuǎn)(2)。

        (13)Q寄存器內(nèi)容傳送到R9寄存器。

        算法3.(16bit無符號數(shù)除法). R9寄存器存16bit商,R7寄存器存余數(shù)。

        (1)初始化Q寄存器、R8寄存器,(Q) = 0,(R8) = 16,被除數(shù)從DR送R7寄存器。

        (2)(R7)-(SR)→R7,R7與Q寄存器聯(lián)合左移一位,RAM15移入C觸發(fā)器,Q0為/F15(其中,RAM15為運算結(jié)果最低位,F(xiàn)15為運算結(jié)果的符號位)。

        (3)如果C為0,則轉(zhuǎn)(4),如果C不為0,轉(zhuǎn)(6)。

        (4)R8減1,結(jié)果不為0,則轉(zhuǎn)(5),結(jié)果為0,則轉(zhuǎn)(8)。

        (5)(R7)-(SR)→R7,R7與Q寄存器聯(lián)合左移一位,RAM15移入C觸發(fā)器,Q0為/F15,轉(zhuǎn)(3)。

        (6)R8減1,結(jié)果不為0,則轉(zhuǎn)(7),結(jié)果為0,則轉(zhuǎn)(8)。

        (7)(R7)+(SR)→R7,R7與Q寄存器聯(lián)合左移一位,RAM15移入C觸發(fā)器,Q0為/F15,轉(zhuǎn)(3)。

        (8)Q寄存器內(nèi)容傳送到R9寄存器。

        (9)根據(jù)16bit乘除指令算法,設(shè)計16bit乘除指令的執(zhí)行步驟,其中MULB指令的執(zhí)行步驟如表3所示。

        表3 MULB指令的執(zhí)行步驟表

        (10)根據(jù)MULB指令執(zhí)行步驟表,設(shè)計每一條微指令的地址和下地址字段的值,并設(shè)計每一條微指令中每一個控制信號的值,最終得到MULB指令的微程序表。16bit無符號數(shù)乘法指令的操作碼為EAH,微程序入口地址為AFH,16bit無符號數(shù)除法指令的操作碼為EBH,微程序入口地址為D0H,16bit變形補碼乘法指令的操作碼為ECH,微程序入口地址為7FH。

        在TEC-XP16中,每一條微指令由下地址字段和控制命令字段組成[6]。16bit下地址字段包括8bit下地址、4bit命令碼和4bit微轉(zhuǎn)移條件,32bit控制命令字段包括3bit MRW信號、3bit I2~I0信號、3bit I8~I6信號、3bit I5~I3信號、4bit B口地址、4bit A口地址、3bit SST信號、3bit SSHSCI信號、3bit DC2信號、3bit DC1信號。

        當(dāng)命令碼CI3~CI0為0011時,用于條件微轉(zhuǎn)移控制[7],如表2所示。

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

        (11)根據(jù)MULB指令微程序表,修改描述MACH芯片功能的ABEL語言源程序m256c.abl,編譯適配后下載到MACH芯片中。

        首先,修改描述MACH芯片功能的ABEL語言源程序m256c.abl。所設(shè)計的MULB指令的操作碼為ECH,因此,加一行代碼:MULB = (IR==[1,1,1,0,1,1,0,0]);

        其次,依據(jù)表2修改源程序m256c.abl文件中CC信號的邏輯表達式。修改后的CC0與CC表達式如下所示:

        MACH芯片向AM2910器件提供8位下地址D7~D0,該地址有2個來源[8]。我們設(shè)計的MULB指令的微程序入口地址為7FH,因此,在D6、D5、D4、D3、D2、D1、D0的邏輯表達式中需增加MULB信號。

        然后,依據(jù)MULB指令微程序表中的內(nèi)容修改源程序m256c.abl文件中16bit下地址字段和32bit控制命令字段的邏輯表達式。由于論文篇幅關(guān)系代碼省略。

        最后,對修改后的m256c.abl文件編譯后下載到教學(xué)機MACH芯片中,其過程詳見文獻[3-4]。

        (12)設(shè)計程序驗證所設(shè)計的16 bit乘除指令的功能。

        為了驗證MULB指令的功能是否正確,在WinPcec16軟件中編寫了一個包含MULB指令的教學(xué)機程序,實現(xiàn)兩個16 bit變形補碼的乘法運算。

        3123H的變形補碼×2123H的變形補碼=3123H×123H=065C3AC9H(變形補碼),

        3123H的變形補碼×(-2123H的變形補碼)=3123H×DEDDH=F9A3C537(變形補碼),

        程序運行結(jié)果表明所設(shè)計的擴展指令MULB是正確的,如圖1所示。

        圖1 包含MULB指令的教學(xué)機程序

        2 結(jié)論

        目前,國內(nèi)外還沒有研究在TEC-XP16教學(xué)機微程序控制器中設(shè)計16bit乘除指令的文獻。本文設(shè)計了一種16bit無符號數(shù)乘法指令、16bit無符號數(shù)除法指令與一種16bit變形補碼乘法指令,實驗結(jié)果表明,設(shè)計的16bit乘除指令是正確的。

        下一步將研究在TEC-XP16教學(xué)機組合邏輯控制器中設(shè)計實現(xiàn)16bit乘除指令等復(fù)雜指令的方法。

        猜你喜歡
        觸發(fā)器寄存器乘法
        算乘法
        我們一起來學(xué)習(xí)“乘法的初步認(rèn)識”
        《整式的乘法與因式分解》鞏固練習(xí)
        Lite寄存器模型的設(shè)計與實現(xiàn)
        把加法變成乘法
        主從JK觸發(fā)器邏輯功能分析
        電子世界(2017年22期)2017-12-02 03:03:45
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        使用觸發(fā)器,強化安全性
        對觸發(fā)器邏輯功能轉(zhuǎn)換的分析
        觸發(fā)器邏輯功能轉(zhuǎn)換的兩種方法
        丰满人妻熟妇乱又伦精品软件| 久久精品国产亚洲av日韩一| 国产精品三区四区亚洲av| 精品久久久久香蕉网| 四虎影院在线观看| 日韩肥熟妇无码一区二区三区| 青青草视频在线观看绿色| 久久亚洲av成人无码电影a片| 久久久亚洲色| 爆乳午夜福利视频精品| 91熟女av一区二区在线| 国产成年女人毛片80s网站| 日韩精品一区二区三区在线观看| 国产三级国产精品三级在专区| 国产精品久色婷婷不卡| 亚洲精品久久久久成人2007| 在线国产小视频| 亚洲一区二区三区国产精品| 国产精品一区二区三区在线免费| 久久久久亚洲av片无码v| 国产激情视频在线观看首页| 青青草久久久亚洲一区| 吃奶摸下高潮60分钟免费视频| 狼色精品人妻在线视频| 国产毛片A啊久久久久| 国产精品亚洲一级av第二区| 亚洲春色在线视频| 国产精品爆乳在线播放| 午夜国产精品一区二区三区| 国产一区二区三区小说| 国产白嫩美女在线观看| 日本av一区二区播放| 青青草亚洲视频社区在线播放观看 | 熟妇人妻AV中文字幕老熟妇| 日本高清视频在线一区二区三区 | 亚洲精品国产精品国自产观看 | 亚洲不卡中文字幕无码| 久久久精品人妻一区二| 国产一区二区视频在线免费观看 | 久久精品久久久久观看99水蜜桃| 亚洲免费无毛av一区二区三区|