新聞中心

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

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

作者: 時間:2011-07-04 來源:網絡 收藏
4.2 指令的預處理

本文引用地址:http://www.2s4d.com/article/150524.htm

  由于要對實現(xiàn)帶進位CF的并在操作后對CF進行設置,在一般情況下這需要CPU的控制提供多周期指令節(jié)拍來實現(xiàn)。在本中,將 Abus和Bbus輸入鎖存器為能根據(jù)不同的指令實現(xiàn)清0和帶CF左移一位或右移一位的操作,以便為做好數(shù)據(jù)上的準備,使輸入數(shù)據(jù)的0~32位移位能在一個指令周期內完成。對不同的指令具體設置情況如圖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在輸出結果的最左端為0。

  5 驗證及結論

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


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉