新型可支持.Net IL指令的處理器設(shè)計
發(fā)布時間:2020-11-10 15:46
Java技術(shù)在嵌入式方面已經(jīng)得到了廣泛應(yīng)用,而在桌面領(lǐng)域能和Java抗衡的.Net技術(shù)在嵌入式領(lǐng)域卻未有廣泛應(yīng)用。針對此種情況,本文設(shè)計了一個新型的可支持.Net IL指令的處理器picoDotNet,該處理器采用棧式結(jié)構(gòu),采用六級流水線,并用微碼方式實現(xiàn)指令,這使得該處理器靈活并具有很強擴展性,可以廣泛適用于嵌入式領(lǐng)域。經(jīng)應(yīng)用程序測試,其性能高效,很好地支持了.Net IL指令。
【部分圖文】:
得picoDotNet可以更好的適應(yīng)和支持.Net IL指令集。這種結(jié)構(gòu)和常見基于寄存器結(jié)構(gòu)的RISC處理器的體系結(jié)構(gòu)有很大區(qū)別,如圖1所示。圖1 picoDotNet棧式體系結(jié)構(gòu)在這種體系結(jié)構(gòu)設(shè)計下,所有指令都是對Evaluation棧進行操作。例如ldarg.0從參數(shù)基址寄存器將參數(shù)加載進堆棧。Ldloc.0從局部變量基址寄存器將局部變量加載進堆棧。add命令對棧頂?shù)膬蓚操作數(shù)進行加法。picoDotNet體系結(jié)構(gòu)具有以下特點:1)指令系統(tǒng)簡單,擴展方便。一般基于寄存器結(jié)構(gòu)的RISC處理器的指令格式是<操作碼><條件><目的寄存器地址><源寄存器地址><操作數(shù)>,帶有源/目的寄存器地址和操作數(shù)。而IL指令采用棧式結(jié)構(gòu),不使用寄存器,操作數(shù)存放于堆棧里,所以IL指令的整個字節(jié)碼就是操作碼,沒有寄存器地址和操作數(shù)。2)指令尋址方式簡單。常見基于寄存器的RISC處理器尋址方式一般有立即數(shù)尋址
IL可執(zhí)行程序。圖3 picoDotNet軟件驗證平臺圖3是picoDotNet的軟件驗證平臺,通過這種平臺,驗證了通過trap機制,picoDotNet可以支持全部215條指令。此后我們把信號處理中常用的幾種算法使用C#實現(xiàn),再使用編譯器將其編譯成.Net IL可執(zhí)行文件,分別在picoDotNet平臺和原先未采用picoDotNet即通過虛擬機來動態(tài)翻譯到ARM指令的平臺上執(zhí)行,得到如表1所示的數(shù)據(jù)。表1 各算法在各平臺所需時鐘周期數(shù)FFT DCT IIR FIRpicoDotNet 100024 64332 23110 13446ARM 1.78*1061.34*1064.56*1056.86*104由表1可以看出在信號處理的幾個算法中,使用了picoDotNet要比不使用picoDotNet要快到5~15倍左右。這一點達到了我們設(shè)計picoDotNet的預(yù)期目的。4 結(jié) 論隨著.Net的流行
【共引文獻】
【相似文獻】
本文編號:2878090
【部分圖文】:
得picoDotNet可以更好的適應(yīng)和支持.Net IL指令集。這種結(jié)構(gòu)和常見基于寄存器結(jié)構(gòu)的RISC處理器的體系結(jié)構(gòu)有很大區(qū)別,如圖1所示。圖1 picoDotNet棧式體系結(jié)構(gòu)在這種體系結(jié)構(gòu)設(shè)計下,所有指令都是對Evaluation棧進行操作。例如ldarg.0從參數(shù)基址寄存器將參數(shù)加載進堆棧。Ldloc.0從局部變量基址寄存器將局部變量加載進堆棧。add命令對棧頂?shù)膬蓚操作數(shù)進行加法。picoDotNet體系結(jié)構(gòu)具有以下特點:1)指令系統(tǒng)簡單,擴展方便。一般基于寄存器結(jié)構(gòu)的RISC處理器的指令格式是<操作碼><條件><目的寄存器地址><源寄存器地址><操作數(shù)>,帶有源/目的寄存器地址和操作數(shù)。而IL指令采用棧式結(jié)構(gòu),不使用寄存器,操作數(shù)存放于堆棧里,所以IL指令的整個字節(jié)碼就是操作碼,沒有寄存器地址和操作數(shù)。2)指令尋址方式簡單。常見基于寄存器的RISC處理器尋址方式一般有立即數(shù)尋址
IL可執(zhí)行程序。圖3 picoDotNet軟件驗證平臺圖3是picoDotNet的軟件驗證平臺,通過這種平臺,驗證了通過trap機制,picoDotNet可以支持全部215條指令。此后我們把信號處理中常用的幾種算法使用C#實現(xiàn),再使用編譯器將其編譯成.Net IL可執(zhí)行文件,分別在picoDotNet平臺和原先未采用picoDotNet即通過虛擬機來動態(tài)翻譯到ARM指令的平臺上執(zhí)行,得到如表1所示的數(shù)據(jù)。表1 各算法在各平臺所需時鐘周期數(shù)FFT DCT IIR FIRpicoDotNet 100024 64332 23110 13446ARM 1.78*1061.34*1064.56*1056.86*104由表1可以看出在信號處理的幾個算法中,使用了picoDotNet要比不使用picoDotNet要快到5~15倍左右。這一點達到了我們設(shè)計picoDotNet的預(yù)期目的。4 結(jié) 論隨著.Net的流行
【共引文獻】
相關(guān)碩士學(xué)位論文 前1條
1 黃健;智能卡COS的研究與設(shè)計[D];廣東工業(yè)大學(xué);2008年
【相似文獻】
相關(guān)碩士學(xué)位論文 前1條
1 鄭偉;新型可支持.Net IL指令的處理器設(shè)計[D];中國科學(xué)技術(shù)大學(xué);2009年
本文編號:2878090
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2878090.html
最近更新
教材專著