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

        ?

        針對Lx5280 GUN 模擬器的正確性測試

        2012-08-23 02:02:00夏興昇
        科技視界 2012年33期
        關(guān)鍵詞:累加器賦值模擬器

        夏興昇

        (江蘇經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院 江蘇 南京 211168)

        在移植之后產(chǎn)生的針對Lx5280的模擬器是否符合需求,我采用聯(lián)合測試的方法,和匯編器as、調(diào)試器insight(gdb窗口形式)共同測試。綜合考慮對新增寄存器和對新增指令的測試,由于添加的寄存器和指令結(jié)合緊密,我采用對Lx5280各個新增功能分模塊測試。

        被測指令程序的裝載,我通過兩種方式:

        (1)通過匯編程序匯編指令后通過insight裝入。

        (2)在Lx5280匯編沒有移植好前通過手動匯編方式。在insight寄存器窗口給寄存器賦值及指令memory窗口在當(dāng)前指令地址處寫入手動匯編指令的的機器指令碼。這種方式也適用于在匯編、調(diào)試、模擬器聯(lián)合調(diào)試時確認(rèn)錯誤范圍。同時可以增加測試的靈活性。

        采用單步測試方法,測試結(jié)果通過insight寄存器窗口和memory窗口觀察。

        詳細(xì)測試如下:

        1 對Circular Buffers功能的測試

        這里涉及cbs[0-2]、cbe[0-2]六個寄存器,涉及指令有LBP[.Cn]、LBPU[.Cn]、LHP[.Cn]、 LHPU[.Cn]、 LWP[.Cn]、 LTP[.Cn]、 SBP[.Cn]、SHP[.Cn]、 SWP[.Cn]、STP[.Cn]

        指令格式:×××[.Cn]rT,(pointer)stride

        如lbp.1 $5,($10)1

        基本功能是:對point寄存器間接尋址后賦值給rT寄存器,即rT=[point]。同時對point寄存器加上stride,即point+=stride。Cn值為0-2,決定采用三個Circular Buffers中那一個,0可省略。

        測試步驟:

        (1)測試 cbs[0-2]、cbe[0-2]賦值,如對 cbs0 賦值

        li $2,0xbfc00384

        mtru $2,cbs0

        通過insight寄存器窗口觀察,觀察賦值是否正確。

        (2)測試存取字長正確性,如以下指令

        (3)測試有符號和無符號擴(kuò)展存取操作

        在取字節(jié)和半字操作中,會把它們擴(kuò)展到32位存入通用寄存器。這里有帶符號擴(kuò)展和無符號擴(kuò)展。

        首先通過memory窗口對($10)賦值0xff

        (4)測試 point的自加,即 point+=stride

        執(zhí)行后由于上溢發(fā)生,$10被賦值0xbfc00384,實現(xiàn)了存取數(shù)據(jù)buffer循環(huán)功能。

        2 對Zero Overhead Loop功能的測試

        這里涉及l(fā)pc0、lps0、lpe0三個寄存器,無相關(guān)新增指令。

        基本功能:當(dāng)PC值和LPE0匹配時,且LPC0不等于0,則PC被賦值為LPS0,同時LPC0減1,用硬件實現(xiàn)了的程序循環(huán)功能。

        測試步驟:

        (2)觀察結(jié)果

        在單步方式下,程序運行到lpe0(0xbfc003dc)后,就自動跳轉(zhuǎn)到lps0(0xbfc00384),同時lpc0減 1,這樣循環(huán) 5次后結(jié)束循環(huán),順序執(zhí)行0xbfc003dc后面程序。

        3 對DMAC單元的測試

        這里涉及 m0l、m0h、m1l、m1h、m2l、m2h、m3l、m3h、mmd 9 個寄存器,涉及指令有七類,分別是

        CMULTA

        復(fù)數(shù)乘法

        DIVA(U)

        除法指令

        MULTA(U)、MULTA2、MADDA(U)、MADDA2[.S]

        乘法及乘加指令

        MSUBA(U)、MSUBA2[.S]、MULNA2乘減指令

        SUBMA[.s]、ADDMA[.s]

        累加器加減指令

        MTA2[.G]、MFA、MFA2

        存取累加器到通用寄存器指令

        RNDA2

        累加器取整指令

        測試步驟:

        (1)測試 m0l、m0h、m1l、m1h、m2l、m2h、m3l、m3h、mmd 9 個寄存器的讀寫操作及MTA2[.G]、MFA、MFA2指令。

        (2)測試除法指令DIVA(U)

        (3)測試復(fù)數(shù)乘法CMULTA

        (4)測試乘加指令 MULTA(U)、MULTA2、MADDA(U)、MADDA2[.S]

        (5)測試乘減指令 MSUBA(U)、MSUBA2[.S]、MULNA2

        (6)測試?yán)奂悠骷訙p指令 SUBMA[.s]、ADDMA[.s]

        (7)測試?yán)奂悠魅≌噶頡NDA2

        (8)測試與mmd相關(guān)指令

        mmd寄存器含有三個域,

        MF選擇乘法的算數(shù)模式

        0:整數(shù)模式

        1:小數(shù)模式

        MS選擇飽和溢出邊界

        0:40位飽和

        1:32位飽和

        MT在32×32位乘法操作中截斷選擇

        0:不截斷

        1:在32×32位乘法中截斷 rS[15:00]x rT[15:00]乘積.

        RND在RNDA2指令中的舍入取整選擇.

        00:最接近(或偶)舍入取整

        01:向正方向(大值)舍入

        1x:保留

        測試(2)-(7)都是在 mmd=0 的測試,即整數(shù)模式,40 位飽和,不截斷,最接近取整。

        在小數(shù)模式狀態(tài)下,乘法操作結(jié)果會主動左移一位。相關(guān)指令有

        MULTA(U)、MULTA2、MADDA(U)、MADDA2[.S]、MSUBA(U)、MSUBA2[.S]、MULNA2

        小數(shù)模式測試代碼為:

        飽和模式影響的指令是帶有[.s]的指令,MADDA2[.S]、MSUBA2[.S]、SUBMA[.s]、ADDMA[.s]

        32位飽和模式測試代碼如下:

        截斷模式在32位乘法下,會截斷rS[15:0]*rT[15:0]結(jié)果,相關(guān)32位乘法 MULTA(U)、MADDA(U)、MSUBA(U)

        RND取整模式相關(guān)指令是RNDA2,向上取整模式測試代碼:

        4 對雙字讀寫指令測試

        這里新增了兩條指令LT、ST,是對原MIPS體系讀寫指令的擴(kuò)充,不涉及Lx5280的新增寄存器。

        這兩條指令的作用從memory讀寫雙字(64位)到一對偶數(shù)開始的通用寄存器中。測試如下:

        通過insight寄存器窗口觀察$2,$3及$4,$5和memory窗口觀察0xbfc00394和0xbfc00398內(nèi)容是否相同。

        5 對新增寄存器讀寫指令測試

        這里有六條新增指令

        MFRU、MTRU

        讀寫 cbe[0-2]、cbs[0-2]、lpc0、lps0、lpe0、mmd

        MFRK、MTRK

        (目前保留)

        MFLXC0、MTLXC0

        讀寫 ESTATUS、ECAUSE、INTVEC

        對MFRU、MTRU和MFLXC0、MTLXC0四條指令測試,而對保留的MFRK、MTRK不測試,測試代碼如下:

        6 對新增算數(shù)操作指令測試

        這里新增的指令也是對MIPS算數(shù)指令的擴(kuò)充,也不涉及新增寄存器, 相關(guān)指令有:ADDR2、SUBR2、SLTR2、SLLV2、SRLV2、SRAV2、MIN、MAX、ABSR、MUX、CLS、BITREV,測試代碼:

        7 對條件移動指令測試

        這里新增的指令也是對MIPS算數(shù)指令的擴(kuò)充,也不涉及新增寄存器,相關(guān)指令有:CMVEQZ[.H][.L]、CMVNEZ[.H][.L],

        指令形式:CMVEQZ[.H][.L]rD,rS,rT

        CMVNEZ[.H][.L]rD,rS,rT

        基本功能:CMVEQZ指令是當(dāng)rT==0時,rD=rS CMVNEZ指令是當(dāng)rT?。?時,rD=rS

        測試代碼為:

        8 測試總結(jié)

        經(jīng)調(diào)試、修改后的模擬器通過了上述詳細(xì)測試,證明模擬器能夠可靠使用,表明移植成功,實現(xiàn)了模擬器的移植目標(biāo)。

        猜你喜歡
        累加器賦值模擬器
        格上身份基簡短關(guān)聯(lián)環(huán)簽名及其電子投票應(yīng)用
        無線電工程(2024年5期)2024-07-20 00:00:00
        關(guān)于1 1/2 … 1/n的一類初等對稱函數(shù)的2-adic賦值
        L-代數(shù)上的賦值
        密碼累加器研究進(jìn)展及應(yīng)用
        了不起的安檢模擬器
        盲盒模擬器
        劃船模擬器
        強賦值幺半群上的加權(quán)Mealy機與加權(quán)Moore機的關(guān)系*
        基于霍夫變換的工位點識別算法設(shè)計與實現(xiàn)
        利用賦值法解決抽象函數(shù)相關(guān)問題オ
        国产小视频在线看不卡| 欧洲乱码伦视频免费| 久久亚洲精品中文字幕蜜潮 | 亚洲偷自拍国综合第一页| 人妖啪啪综合av一区| 色综合久久无码五十路人妻| 熟女无套内射线观56| 欧美xxxx黑人又粗又长精品| 揄拍成人国产精品视频肥熟女| 喷潮出白浆视频在线观看| 成人一区二区三区国产| 久久国产免费观看精品3| 粗一硬一长一进一爽一a级| 亚洲图片第二页| 久久日韩精品一区二区| 7m精品福利视频导航| 久久精品无码免费不卡| 中文字幕亚洲好看有码| 精品蜜桃av免费观看| 国色天香中文字幕在线视频| 台湾佬综合网| 国产又爽又黄又不遮挡视频| 国产高清人肉av在线一区二区| 成人特黄a级毛片免费视频| 美女胸又www又黄的网站| 精精国产xxx在线视频app| 久久狼人国产综合精品| 99久久精品在线视频| 人人爽人人澡人人人妻| 激情综合欧美| 中文国产成人精品久久一区| 日本少妇熟女一区二区| 蜜桃一区二区三区| 91av精品视频| 一区二区三区精品婷婷| 国产精品久久久福利| 亚洲av福利无码无一区二区| 久久久久亚洲精品美女| 日本中出熟女一区二区| 国产精品成人av大片| 人妻熟女一区二区三区app下载|