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