亚洲免费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资源中文字幕| 国产成人国产在线观看| 成人综合激情自拍视频在线观看 | 无码91 亚洲| 成人性生交大片免费看l| 99999久久久久久亚洲| 国产看黄网站又黄又爽又色| 亚洲AV无码日韩综合欧亚| 中文字幕亚洲一区二区三区| 亚洲日韩国产av无码无码精品| 欧美亚洲精品一区二区| h动漫尤物视频| 亚洲一区二区国产一区| 无人区一码二码三码四码区| 久久精品国产四虎| 午夜少妇高潮免费视频| 强d乱码中文字幕熟女免费| 中文日韩亚洲欧美制服| 高清国产一级毛片国语| 扒开女性毛茸茸的视频| 国模冰莲极品自慰人体| 久久婷婷综合色丁香五月| av日本一区不卡亚洲午夜| 日本一区二区三区人妻| 精品深夜av无码一区二区| 2022国内精品免费福利视频| 在线视频自拍视频激情| 成人试看120秒体验区| 亚洲国产成人精品女人久久久| 自拍视频国产在线观看| 亚洲中文字幕在线一区| 人人妻人人妻人人片av| 色系免费一区二区三区| 一区二区高清视频免费在线观看| 在线精品无码字幕无码av| 国产精品自在线免费| 日本视频一区二区三区三州|