新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 一種高性能32位移位寄存器單元的設計

一種高性能32位移位寄存器單元的設計

作者: 時間:2016-12-02 來源:網(wǎng)絡 收藏


4.1 移位寄存器單元總體結(jié)構(gòu)

最終設計出的移位寄存器單元總體結(jié)構(gòu)如圖7 所示,其中其核心部分的矩陣-樹狀結(jié)構(gòu)的移位寄存器就是使用上一節(jié)所描述的結(jié)構(gòu)。記數(shù)器中的數(shù)據(jù)(sh4~sh0)在移位上一拍由Bbus寫入,并進行譯碼,其中低兩位(sh1,sh0)直接送樹狀結(jié)構(gòu)移位部分,高三位(sh4,sh3,sh2)經(jīng)過譯碼產(chǎn)生8位控制信號送入矩陣移位部分。Abus和Bbus輸入鎖存器能鎖存32位數(shù)據(jù)輸入,并根據(jù)不同指令的要求進行操作,對指令進行預處理。移位結(jié)果送ALU輸出鎖存器,并對CF寄存器進行設置。

本文引用地址:http://m.butianyuan.cn/article/201612/324813.htm

4.2 指令的預處理

由于要對實現(xiàn)帶進位CF的移位并在移位操作后對CF進行設置,在一般情況下這需要CPU的控制單元提供多周期指令節(jié)拍來實現(xiàn)。在本設計中,將 Abus和Bbus輸入鎖存器設計為能根據(jù)不同的指令實現(xiàn)清0和帶CF左移一位或右移一位的操作,以便為移位做好數(shù)據(jù)上的準備,使輸入數(shù)據(jù)的0~32位移位能在一個指令周期內(nèi)完成。對不同的指令具體設置情況如圖8所示。圖中CF表示為進位標志位;len為操作數(shù)長度(如32位數(shù)據(jù)); n為移位數(shù);DATA表示輸入鎖存輸出的數(shù)據(jù)為操作數(shù)據(jù)本身; 0表示輸入鎖存輸出的數(shù)據(jù)為0;CF:DATA(-1)表示輸入鎖存輸出的數(shù)據(jù)為操作數(shù)帶CF右移一位;DATA(-1):CF表示輸入鎖存輸出的數(shù)據(jù)為操作數(shù)帶CF左移一位;SIGN_EXT表示輸入鎖存輸出的數(shù)據(jù)為操作數(shù)帶符號擴展。橫線下為移位前Abus和Bbus鎖存器中數(shù)據(jù)預處理完后的格式,橫線上方位移位完成后數(shù)據(jù)輸出及進位CF所處位置。


例:RCL AX , CL 指令
設AX=0001H , CL=3 , CF=1
Abus鎖存器輸出數(shù)據(jù)為操作數(shù)本0001H;
Bbus鎖存器輸出的數(shù)據(jù)為操作數(shù)帶CF右移一位為1000H;
在輸出中,CF在輸出結(jié)果的最左端為0。

5 驗證及結(jié)論

通過verilog的行為仿真及starsim的時序仿真顯示,性能完全符合要求。對比INTEL X86指令集中移位類指令標準執(zhí)行周期為4~7個機器周期,本設計移位類指令平均執(zhí)行時間為2個指令周期,因此大大提高了移位類指令執(zhí)行效率。移位寄存器作為CPU中執(zhí)行單元的專用硬件,其性能的好壞直接影響到CPU處理移位類指令的速度和效率。本文采用的矩陣-樹狀結(jié)構(gòu)移位寄存器,配合指令預處理技術(shù),能有效實現(xiàn)32位數(shù)據(jù)的移位操作,并兼容INTEL X86系列的所有移位類指令還可作為通用硬件方便地移植到其他指令級別的CPU設計之中。

上一頁 1 2 3 下一頁

關(guān)鍵詞: 32位高性能移位寄存

評論


技術(shù)專區(qū)

關(guān)閉