999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

高速8位微處理器設(shè)計(jì)

2016-05-05 01:33:07陳明敏易清明
關(guān)鍵詞:指令單片機(jī)設(shè)計(jì)

陳明敏 易清明 石 敏

(暨南大學(xué)信息科學(xué)技術(shù)學(xué)院 廣東 廣州 510632)

?

高速8位微處理器設(shè)計(jì)

陳明敏易清明石敏

(暨南大學(xué)信息科學(xué)技術(shù)學(xué)院廣東 廣州 510632)

摘要針對當(dāng)前MCS51指令集的微處理器指令執(zhí)行效率低問題,設(shè)計(jì)一款高速微處理器。其特點(diǎn)是:首先,采用快速乘除器和基4快速除法器,其計(jì)算速度是傳統(tǒng)乘法器和除法器計(jì)算速度的48倍;其次,采用32位指令總線,能一次從ROM讀取4個字節(jié),覆蓋所有指令長度,減少取指周期數(shù);此外,使用五級流水線,能在單周期完成大多數(shù)指令;在Altera EP3C16 FPGA芯片上進(jìn)行物理驗(yàn)證,根據(jù)Dhrystone 2.1性能測試,在相同的時鐘頻率下其綜合性能是傳統(tǒng)MCS51微處理器的12倍。實(shí)驗(yàn)結(jié)果表明,通過上面3種改進(jìn)方法,微處理器指令執(zhí)行效率得到極大提高。

關(guān)鍵詞微處理器快速除法器快速乘法器流水線

0引言

FPGA中嵌入式CPU有硬核和軟核,目前嵌入硬核有高性能cortexA9雙核。嵌入式軟核有Altera公司的NIOS,Xilinx公司的Micro Blaze,以及改進(jìn)后的MCS51 IP核。前兩個都是免費(fèi)的IP核,可靈活配置,但是需要用各自的編譯器,且編譯時間漫長,不便于修改,應(yīng)用非常少。嵌入式硬核只有高端器件上面才有,不適用于大多數(shù)要求,且價格昂貴。隨著SOC(System On Chip)技術(shù)發(fā)展,基于IP核的SOC設(shè)計(jì)有利于增加新功能和縮短上市時間的特點(diǎn),越來越得到廣泛地應(yīng)用。在單片機(jī)家族中MCS51是一種經(jīng)典的單片機(jī),歷經(jīng)30多年至今應(yīng)用依然很廣。由于其占用邏輯資源少,在FPGA應(yīng)用越來越廣。傳統(tǒng)的MCS51引入了機(jī)器周期,每個機(jī)器周期需要12個時鐘,每條指令需要不同的機(jī)器周期來完成。這嚴(yán)重制約了指令執(zhí)行效率。為此不少公司改進(jìn)了MCS51單片機(jī)架構(gòu),提高了執(zhí)行效率。如華邦的W77E系列采用4個時鐘周期作為一個機(jī)器周期,比傳統(tǒng)MCS51單片機(jī)指令執(zhí)行效率提高了3倍。CAST公司最新發(fā)布的RMCS51XC2采用單時鐘周期和指令流水線結(jié)構(gòu),比傳統(tǒng)MCS51單片機(jī)指令執(zhí)行效率提高了12.1倍。 上述改進(jìn)分別從時鐘周期和指令流水線結(jié)構(gòu)進(jìn)行,均未涉及到對指令總線的改進(jìn)[1-3],仍然沿用8位指令位寬,對于多字節(jié)指令,需要多個時鐘完成取指令。雖然在指令執(zhí)行效率上有提升,但還有明顯提升空間。本文分別從指令總線位寬、乘法器、除法器進(jìn)行了改進(jìn),與當(dāng)前兼容MCS51指令的微處理器相比其架構(gòu)和性能都有提升。

1高速微處理器模塊設(shè)計(jì)

1.1快速乘法器設(shè)計(jì)

傳統(tǒng)MCS51單片機(jī)完成一次乘法運(yùn)算需要4個機(jī)器周期共48個時鐘周期。乘法器一般通過對部分積相加實(shí)現(xiàn),采用基4 Booth編碼[4]可使乘法器的部分積數(shù)量減少一半,降低了硬件的復(fù)雜度。通過采用4-2壓縮器對部分積進(jìn)行壓縮。樹型結(jié)構(gòu)壓縮器在延遲、面積、布局布線方面均要優(yōu)于陣列結(jié)構(gòu),本文采用Wallace 樹[5]是壓縮速度最快的一種樹型結(jié)構(gòu)。改進(jìn)后的乘法器如圖1所示。通過快速乘法器微處理器完成一次8位乘法計(jì)算只需1個時鐘。

圖1 快速乘法器結(jié)構(gòu)

1.2快速除法器設(shè)計(jì)

傳統(tǒng)MCS51單片機(jī)的除法算法每次迭代只產(chǎn)生1 位商,每個時鐘周期進(jìn)行2次迭代,計(jì)算8位數(shù)除法時,需要4個機(jī)器周期,1個機(jī)器周期需要12個時鐘周期,完成一次除法需要48時鐘周期。本文采用基-4快速除法器[6,7],一個時鐘周期可以完成2位數(shù)除法。2位除法器結(jié)構(gòu)如圖2所示。Ds為除數(shù),Dd為被除數(shù),Re為余數(shù),Qu為商。

圖2 基4除法器結(jié)構(gòu)

商的選擇函數(shù):

(1)

基4除法器運(yùn)算過程如下:

第一步將除數(shù)左移6位后與被除數(shù)進(jìn)行比較,根據(jù)式(1),可以得出商的第7位和第6位,余數(shù)。

第二步將第一步中的余數(shù)作為第二次基4除法器的被除數(shù),將除數(shù)左移4位后與被除數(shù)進(jìn)行比較,根據(jù)式(1),可以得出商的第5位和第4位,余數(shù)。

第三步將第二步中的余數(shù)作為第三次基4除法器的被除數(shù),將除數(shù)左移2位后與被除數(shù)進(jìn)行比較,根據(jù)式(1),可以得出商的第3位和第2位,余數(shù)。

第四步將第三步中的余數(shù)作為第四次基4除法器的被除數(shù),將除數(shù)與被除數(shù)進(jìn)行比較,根據(jù)式(1),可以得出商的第1位和第0位,余數(shù)。到此就可以得到最終的商和余數(shù)。

利用4個基4除法器構(gòu)建一個8位并行除法器。構(gòu)建方法如下:

第一步將除數(shù)左移6位,進(jìn)行商選擇,得到商的高第7、6位和中間余數(shù)。同時將被除數(shù)右移移2位,商左移2位。

第二步將余數(shù)與被除數(shù)進(jìn)行商選擇,得到商的第5、4位和中間余數(shù)。同時將被除數(shù)右移移2位,商左移2位。

第三步將余數(shù)與被除數(shù)進(jìn)行商選擇,得到商的第3、2位和中間余數(shù)。同時將被除數(shù)右移移2位,商左移2位。

第四步將余數(shù)與被除數(shù)進(jìn)行商選擇,得到商的第1、0位和最終余數(shù)。

整個并行除法器采用純組合電路構(gòu)成,電路延時滿足系統(tǒng)的正常工作周期,完成一次除法計(jì)算只需一個時鐘周期。與傳統(tǒng)MCS51單片機(jī)相比運(yùn)算速度提高了48倍。

1.332位指令總線位寬設(shè)計(jì)

由于傳統(tǒng)MCS51單片機(jī)是基于復(fù)雜指令集結(jié)構(gòu),指令長度不固定,有單字節(jié)指令、雙字節(jié)指令、三字節(jié)指令。在8位指令總線位寬下,對于多字節(jié)指令取指時就需要多個時鐘周期。本文將指令總線和ROM位寬擴(kuò)展為32位,在一個時鐘周期可以從ROM取出4個字節(jié),覆蓋所有指令長度,將取指時間縮短為1個時鐘周期。CISC指令集的特點(diǎn)是指令長度不固定,對一條指令譯碼完成前無法得知本條指令的長度,也無法得到下一條指令的起始地址。因此ROM存儲體采用4個8位的存儲體組合成32位數(shù)據(jù)位寬,地址信號送給第一個8位存儲體,第二存儲體地址自動增加1個單位,第三個存儲體地址自動增加2個單位,第三個存儲體地址自動增加3個單位。這樣每次給出指令起始地址就能自動從ROM中獲取連續(xù)的4個字節(jié)。其結(jié)構(gòu)如圖3所示。

圖3 32位ROM數(shù)據(jù)位寬結(jié)構(gòu)

取出指令后立即判斷該條指令的長度,指令長度可以從第一個字節(jié)指令類型中獲得。計(jì)算過程如圖4所示。

圖4 PC偏移地址計(jì)算

將計(jì)算好的地址送往ROM地址信號,進(jìn)行下一次取指。

ROM中的數(shù)據(jù)通過QUARTUS軟件中的In-System Memory Content Editor 將編譯好的hex程序下載到ROM中。

2流水線設(shè)計(jì)

2.1流水線劃分

流水線出現(xiàn)改變了傳統(tǒng)CPU串行執(zhí)行模式,通過指令的重疊執(zhí)行,提高了指令的執(zhí)行效率。但流水線遇到數(shù)據(jù)相關(guān)和指令跳轉(zhuǎn)時會暫停流水線,且流水線越長消耗時鐘周期越多,所以需要一個合理流水線長度。通常指令執(zhí)行需要經(jīng)過取指、譯碼、取操作數(shù)、運(yùn)算、回寫五步,從而可以得到處在不同運(yùn)行階段的五級流水線[8]。如圖5所示。

圖5 五級級流水線

2.2數(shù)據(jù)相關(guān)和跳轉(zhuǎn)指令處理

五級流水線中,當(dāng)對同一個地址同時進(jìn)行讀寫時就會產(chǎn)生數(shù)據(jù)相關(guān)。由于讀取在第二個階段,寫入在第三個階段,所以讀取的數(shù)據(jù)會滯后一個周期。為解決數(shù)據(jù)相關(guān)性,增加寫入數(shù)據(jù)和寫入地址寄存器。當(dāng)讀取數(shù)據(jù)時,首先判斷讀取地址是否為上一周期寫入的地址,如果是則不必讀取RAM中數(shù)據(jù),直接將上次寫入數(shù)據(jù)寄存器的值作為當(dāng)前讀取的值。這樣就解決了數(shù)據(jù)相關(guān)性。對于跳轉(zhuǎn)指令,譯碼器發(fā)現(xiàn)當(dāng)前是跳轉(zhuǎn)指令則暫停下一條指令的譯碼,同時向流水線中插入nop。若是條件跳轉(zhuǎn)則進(jìn)行條件碼測試,然后根據(jù)測試結(jié)果,重設(shè)pc的值,最終取值單元根據(jù)pc的值重新進(jìn)行取指,從而保證程序正確有序的執(zhí)行。

3FPGA實(shí)現(xiàn)和modelsim驗(yàn)證

實(shí)驗(yàn)所用開發(fā)板為ALTERA DE0,板載器件Cyclone III EP3C16。EP3C16器件總共有15 408個邏輯單元516 096 bit的SRAM。整個工程采用verilog語言編寫,使用synplify pro 2011進(jìn)行綜合,在quartus 12.0下進(jìn)行布局布線。利用modelsim10.0a進(jìn)行功能驗(yàn)證和時序分析。設(shè)計(jì)ROM 32 Kbyte,RAM 1 Kbyte,時鐘30 MHz。其中內(nèi)部RAM, ROM通過使用FPGA內(nèi)部M4K存儲單元組成。C語言測試代碼使用Keil C51 V3.51編譯生成,最后將生成的HEX文件下載到ROM中進(jìn)行驗(yàn)證。

3.1三字節(jié)指令仿真

圖6顯示了三字節(jié)指令的讀取執(zhí)行過程,由仿真可知每一個時鐘周期可以完整讀取出一條指令。其匯編代碼和modelsim仿真如下:

1.mov 21h,#14h;mov 22h,#26h;mov 23h,#35h;

2.anl 21h,#06h;orl 22h,#42h;xrl 23h,#77h;

3.anl 21h,#06h;orl 22h,#42h;xrl 23h,#77h;

圖6 三字節(jié)指令執(zhí)行讀取過程

第一類指令為3字節(jié)mov指令,第一條指令是將立即數(shù)14存入到內(nèi)存地址為21處,該條指令總共包含3個字節(jié)即0x75,0x21,0x14使用8位總線架構(gòu)則必須通過3個時鐘周期才能完整讀取一條指令,使用32位總線結(jié)構(gòu)從圖7中可以看出在一個時鐘周期就可以讀取到4個字節(jié),多余的字節(jié)自動省略。后面兩條指令是3字節(jié)邏輯與指令,仿真顯示只需要一個時鐘就可以執(zhí)行完一條指令。說明32位系統(tǒng)總線比8位系統(tǒng)總線在讀取指令時效率要高些。

3.2快速乘法器仿真

其測試匯編代碼和modelsim仿真如圖7所示。

1.mov a,#13h;mov b,#02h;mul ab;

2.mov a,#21h;mov b,#04h;mul ab;

3.mov a,#32h;mov b,#45h;mul ab;

圖7 快速乘法器仿真

執(zhí)行乘法器指令前需要將被乘數(shù)和乘數(shù)放在寄存器A和寄存器B中。乘法指令運(yùn)算結(jié)果高8位保留在B寄存器,低8位保留A在寄存器。第一條測試是計(jì)算0x13和0x02的乘積,通過2條mov指令先將數(shù)據(jù)分別存儲到A,B寄存器。從圖7中可以看出第3個時鐘上升沿執(zhí)行乘法指令(0xa4),第4個時鐘上升沿結(jié)果顯示0x0026,說明通過一個時鐘周期快速乘法器就可以正確完成一次乘法運(yùn)算。相比MCS51乘法器需要經(jīng)過48個時鐘周期有了極大的提高。快速乘法器可以提高改進(jìn)后微處理器的計(jì)算速度。

3.3快速除法器仿真

其測試匯編代碼和modelsim仿真如圖8所示。

1.mov a,#13h;mov b,#02h;div ab;

2.mov a,#21h;mov b,#04h;div ab;

3.mov a,#32h;mov b,#45h;div ab;

圖8 快速除法器仿真

執(zhí)行除法器指令前需要將被除法和除法放在寄存器A和寄存器B中。除法指令運(yùn)算結(jié)果商存放在A寄存器,余數(shù)存放在B寄存器。第一條測試指令是計(jì)算0x13除以0x02,通過2條mov指令先將數(shù)據(jù)分別存儲到A,B寄存器。從圖8中可以看出第3個時鐘上升沿執(zhí)行除法指令(0x84),第4個時鐘上升沿時A寄存器(商)結(jié)果顯示0x09,B寄存器(余數(shù))結(jié)果顯示0x01,說明通過一個時鐘周期快速除法器就可以正確完成一次除法運(yùn)算。相比MCS51除法器需要經(jīng)過48個時鐘周期有了極大的提高。快速除法器可以提高改進(jìn)后微處理器的計(jì)算速度。

3.4高速微處理器和MCS51單片機(jī)指令比較

高速微處理器使用五級流水線、快速乘法器、快速除法器,使其指令執(zhí)行效率相比傳統(tǒng)MCS51單片機(jī)有很大提升,表1顯示高速微處理器部分指令執(zhí)行時鐘周期與傳統(tǒng)MCS51單片機(jī)執(zhí)行時鐘周期的比較。

表1 指令執(zhí)行周期比較

從表1中可以看出高速微處理器指令執(zhí)行周期數(shù)比傳統(tǒng)MCS51單片機(jī)指令執(zhí)行周期要少很多。其中傳統(tǒng)MCS51單片機(jī)執(zhí)行乘法指令和除法指令的周期數(shù)是高速微處理器執(zhí)行周期數(shù)的48倍。傳統(tǒng)MCS51單片機(jī)執(zhí)行外部數(shù)據(jù)訪問和數(shù)據(jù)指針的增加指令的周期數(shù)是高速微處理器執(zhí)行周期數(shù)的24倍。其他大部分指令傳統(tǒng)MCS51單片機(jī)執(zhí)行的周期數(shù)是高速微處理器執(zhí)行周期數(shù)的12倍。

Dhrystone是綜合性的基準(zhǔn)測試程序,反應(yīng)處理器運(yùn)算能力,常用于處理器的整型運(yùn)算性能的測量。通過keil編譯器將測試基準(zhǔn)程序Dhrystone2.1編譯后生成的hex文件分別下載到Atmel AT89S51單片機(jī)芯片上和本文設(shè)計(jì)的微處理器上運(yùn)行。其結(jié)果如表2所示。

表2 Dhrystone2.1基準(zhǔn)測試

從表2中可以看出,根據(jù)Dhrystone2.1基準(zhǔn)程序測試高速微處理器綜合性能是傳統(tǒng)MCS51單片機(jī)的12倍。

4結(jié)語

本文以MCS51指令集為基礎(chǔ)。采用快速乘法器,快速除法器,提高微處理器的運(yùn)算速度。系統(tǒng)使用五級流水線技術(shù),使執(zhí)行單條指令所需要平均周期數(shù)減少,對于非跳轉(zhuǎn)指令能在單周期完成,跳轉(zhuǎn)指令能在2~3個周期完成。提高了指令執(zhí)行效率。32位指令總線使每個時鐘周期都能完整讀取一條指令,減少多字節(jié)指令取指周期數(shù)。測試表明高速8位微處理器的綜合性能是MCS51單片機(jī)的12倍。且外圍資源可根據(jù)用戶需要進(jìn)行裁剪,優(yōu)化資源配置。可以應(yīng)用在對處理器性能要求較高的嵌入式設(shè)備如工業(yè)控制系統(tǒng),消費(fèi)電子設(shè)備,自動化控制系統(tǒng),是基于FPGA系統(tǒng)的最佳選擇,應(yīng)用范圍很廣。

參考文獻(xiàn)

[1] 徐慧,王金海,王巍.基于FPGA的8051IP核的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2009,19(3):42-45.

[2] 王祖強(qiáng),張華,李玲.8位RISC MCU IP軟核仿真的新方法[J].計(jì)算機(jī)工程,2007,33(6):248-249.

[3] 鄢永明,劉軼民,曾云,等.基于8051軟核的SOPC系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2005,10(1):72-75.

[4] 翟召岳,韓志剛.基于Booth算法的32位流水線型乘法器設(shè)計(jì)[J].微電子學(xué)與計(jì)算機(jī),2014,31(3):146-149.

[5] 周怡,李樹國.一種改進(jìn)的基4-Booth編碼流水線大數(shù)乘法器設(shè)計(jì)[J].微電子學(xué)與計(jì)算機(jī),2014,31(1):60-63,67.

[6] 李立珺.基于FPGA的除法器算法研究[J].科技信息,2013(5):82,104.

[7] 邢立冬.基于FPGA的低功耗高速除法器設(shè)計(jì)[J].電子世界,2014(6):56.

[8] Xia B,Wu L S,Mao J.A New Balanced-to-Balanced Power Divider Combiner[J].Microwave Theory and Techniques,IEEE Transactions on,2012,60(9):2791-2798.

HIGH-SPEED 8-BIT MICROPROCESSOR DESIGN

Chen MingminYi QingmingShi Min

(SchoolofInformationScienceandTechnology,JinanUniversity,Guangzhou510632,Guangdong,China)

AbstractWe designed a high-speed microcontroller to improve low instruction execution efficiency of current microcontroller in MCS51 instruction set. Its features are as follows: First it uses fast multiplier and 4-basis fast divider, the computation speed is 48 times higher than the traditional multiplier and divider. Secondly, it uses 32 bit instruction bus architecture, can read 4 bytes once from ROM and that covers the length of all instructions, thus reduces the clock numbers of instruction fetching. Besides, the use of five-stage pipeline can complete most instructions in a single clock. Physical verification had been made on Altera EP3C16 FPGA chip, according to Dhrystone 2.1 performance test, the comprehensive performance of the improved microcontroller was 12 times higher than the traditional MCS51 microcontroller under the same clock frequency. Experimental results showed that through above three improving methods, the efficiency of microprocessor instruction execution was greatly improved.

KeywordsMicroprocessorFast dividerFast multiplierPipeline

中圖分類號TP331

文獻(xiàn)標(biāo)識碼A

DOI:10.3969/j.issn.1000-386x.2016.01.059

收稿日期:2014-07-07。廣東高校產(chǎn)學(xué)研結(jié)合示范基地重大項(xiàng)目(cgzhzd1103);廣東省教育部產(chǎn)學(xué)研結(jié)合項(xiàng)目(2011B09040056);廣東省工程技術(shù)研究中心項(xiàng)目(2012gczxA003)。陳明敏,碩士生,主研領(lǐng)域:電路與系統(tǒng),ASIC設(shè)計(jì)。易清明,教授。石敏,副教授。

猜你喜歡
指令單片機(jī)設(shè)計(jì)
聽我指令:大催眠術(shù)
基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機(jī)的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機(jī)的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
ARINC661顯控指令快速驗(yàn)證方法
LED照明產(chǎn)品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
瞞天過海——仿生設(shè)計(jì)萌到家
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
Microchip推出兩個全新PIC單片機(jī)系列
主站蜘蛛池模板: 996免费视频国产在线播放| 九色视频线上播放| 国产成人一级| 九九热视频在线免费观看| 亚洲a级在线观看| 国产精品久久久免费视频| 久久公开视频| 亚洲有无码中文网| 91探花在线观看国产最新| 九色国产在线| 国产粉嫩粉嫩的18在线播放91| 中文字幕欧美成人免费| 久久a级片| 免费一级毛片在线观看| 国产粉嫩粉嫩的18在线播放91 | 精品一区二区三区水蜜桃| 91青青视频| 伊人久久大香线蕉成人综合网| 国产91在线免费视频| 91视频青青草| 亚洲精品成人片在线播放| 大香伊人久久| 欧美日韩中文国产va另类| 欧美中文字幕一区| 亚洲av无码成人专区| 久久性视频| 久久久精品久久久久三级| 毛片最新网址| 亚洲伊人天堂| 广东一级毛片| 婷婷色中文| 亚洲看片网| 久久伊人操| 国产精品片在线观看手机版| 97综合久久| 婷婷成人综合| 国产成人精品亚洲77美色| 在线免费无码视频| 少妇精品网站| 亚洲成人黄色在线观看| 国禁国产you女视频网站| 免费精品一区二区h| 亚洲成a∧人片在线观看无码| 狠狠色香婷婷久久亚洲精品| 伊人色综合久久天天| 亚洲人精品亚洲人成在线| 国产精品七七在线播放| 婷婷99视频精品全部在线观看 | 久久精品人人做人人爽电影蜜月| 黄色网站在线观看无码| 成人在线不卡| 国产屁屁影院| 伊人91视频| 亚洲电影天堂在线国语对白| 婷婷久久综合九色综合88| 免费亚洲成人| 日本国产精品| 欧美精品xx| 国产主播一区二区三区| 欧美有码在线| 美女免费精品高清毛片在线视| 高清欧美性猛交XXXX黑人猛交| 四虎免费视频网站| 国产特级毛片| 最新国产你懂的在线网址| 国产男女免费视频| 成人久久精品一区二区三区| 亚洲最大福利网站| 国产精品人人做人人爽人人添| 国产精品私拍99pans大尺度| 久久一级电影| 无码精油按摩潮喷在线播放| 夜色爽爽影院18禁妓女影院| 亚洲av日韩综合一区尤物| 国产亚洲欧美在线中文bt天堂| 亚洲综合色婷婷中文字幕| 日本精品中文字幕在线不卡| 91毛片网| 日韩福利视频导航| 综合网久久| 黄色污网站在线观看| 国产成人综合亚洲网址|