資料介紹
??1 引言
?
??本文給出了一種可用于32位以上CPU執行單元的移位寄存器電路,并針對CISC指令集INTEL X86進行了優化(由于RISC指令集中移位類指令實現比較簡單,故沒有在文中討論);采用指令預處理的技術和通過冗余位,能很方便的實現帶進位標志 CF移位和設置CF位,并使得每條移位指令的平均執行速度為兩個指令周期。它有效地提高了CPU對移位類指令的執行性能,并且作為一個基本的內核單元能很方便地移植到不同指令集(RISC或 CISC)的CPU設計之中。
?
??2 32位CPU中執行單元總體結構
?
??我們所設計的32位CPU的執行部分采用雙總線結構,數據總線(Abus,Bbus)的寬度是32位。由于移位類指令如果用ALU進行實現的話,必然會耗費太多的CPU周期,為實現在一個指令周期內對32位數據進行任意位的移位操作,因此有必要在執行單元中設計專用硬件移位寄存器,在執行移位類指令時由它進行32位數據的移位。
??圖1給出了32位CPU執行單元總體結構數據流結構簡圖,并省略了所有控制信號。圖中Abus為雙向32數據總線,Bbus為單向32位數據總線。由于考慮到要實現INTEL X86系列所有的移位類指令(RCR,RCL,ROR,ROL等),所以移位寄存器在設計時采用雙輸入端,即實際該移位寄存器最大能實現64位移位。通過特殊的指令預設置方法,并通過增加冗余位實現標志位的設置。
?
??
?
??3 移位寄存器單元的設計
?
??3.1 矩陣移位器和樹狀移位器
??在CPU中移位寄存器單元的設計一般采用的是矩陣結構和樹狀結構的移位器。
??3.1.1 矩陣結構(Matrix Style)移位器
??它的結構為一傳輸門組成的陣列。行數等于操作數據寬度,列數等于最多能移位數如圖2所示(以4位舉例)。
?
??
?
??其中A3~A0是4位數據輸入線,sh3~sh0是 4根控制信號線。每次進行N位移位操作,對應的shN為高,其它控制信號為低。
??這種結構的優點是:(1)數據傳輸的速度快,每個信號到達輸出端只經過了一級傳輸,不受移位器位數限制;(2)版圖很規整。缺點是:(1)每根控制信號的負載太大,如32位移位器,每根信號線(sh0,sh1,……sh31)都要驅動32個開關管;(2)所需晶體管數目太多,如n位移位器所需晶體管數為2× n×n=2n2 (傳輸門部分采用CMOS實現),所帶來的功耗和芯片面積也會增加;(3)每一移位操作只需一根控制線為1,所以需輔以額外的譯碼單元。
??3.1.2 樹狀結構(Tree Style)移位器
??這種結構M位移位器所需的級數是log 2M每一級都由兩根信號線(shn和sh n#)控制數據的傳輸,數據在第i級要么移動2 i位或者不移動。 樹狀移位器如圖3所示。
?
??
?
??這種結構的優點是:(1)晶體管數目少, n位移器所需晶體管數目為2×n×log n(傳輸門部分采用CMOS實現),版圖面積小于矩陣移位器;(2)控制信號shN~sh0本身就是二進制表示,不需要額外的譯碼單元。缺點是:數據通路所需經過的開關管數目太多,M位移位器所需的級數是log 2M,因此導致延時太大。
??3.2 矩陣-樹狀結構移位器
??由上面的分析我們可以看出,如果所設計的處理器為16位以下CPU,那其移位器不管采用上述哪種方案都能達到要求,但當數據寬度到32位以上,從功耗,速度及版圖面積考慮以上方案的固有缺點就會顯得非常突出。在本設計中,移位寄存器的實際輸入為64位,為結合矩陣結構的優點(速度快、版圖規整)和樹狀結構的優點(晶體管數目少、譯碼簡單),我們在設計中采用矩陣-樹狀結構整個移位寄存器的是由雙總線輸入,即輸入64位,表1中列舉了不同級別比例的矩陣-樹狀結構所需晶體管數目(n1為tree的級數,n2為matrix的控制線,n3為matrix中用的晶體管數目)。經過綜合考慮,我們采用第2行的矩陣-樹狀級別比例,即矩陣部分最大能實現8位移位,樹狀部分最大能實現4位移位。
??經過各方面綜合考慮,我們所設計的移位寄存器的前級為矩陣結構部分(輸入數據為64位,控制信號8位),由這一部分形成一36位的數據送入下一級樹狀結構(輸入數據為36位,控制信號2位)部分再完成剩余的4位移位,形成32位輸出數據。結構簡圖如圖4所示。
?
??
?
??在這個結構中,后級的樹狀移位器最高實現3 位移位。輸入的2bit信號為2進制碼,這兩位由移位計數器sh4~sh0直接將最低兩位送入(在后一節將介紹)。前級的矩陣結構完成64位輸入36位輸出,我們設64位數據輸入由Abus,Bbus提供,如圖5所示。每一小格代表4位數據。這64位數據送入矩陣移位器后,根據計數器的高三位sh4~sh2 進行譯碼對其進行4,8,12,16,20,24,28,32中的一種移位(對應8bits中的一位為高)。形成36位的數據輸出送入下級樹狀移位器以完成剩余位數的移位。36位數據輸出格式如圖6所示。其中COUNT表示總共移位數。
?
??
?
??4 指令的預處理及移位類指令的實現
??在我們設計的這片CPU中,需要對INTEL的 X86系列移位類指令進行兼容。因此移位寄存器單元需要在周圍譯碼和鎖存單元的配合下,要能在一個指令節拍內實現ROL,ROR,RCL,RCR, SHL,SHR,SAR,其中RCL,RCR實現了帶標志位C的移位(指令說明見文獻[4])。因此需由處理器的控制單元在每類移位指令移位之前進行指令的預處理。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 低功耗、12位緩沖電壓DAC7571中文資料下載 4次下載
- LDMOS總體性能資料下載
- PCB外觀檢查機系統的總體結構資料下載
- CPU是怎樣訪問內存的?資料下載
- 8位MCU和32位MCU的使用案例資料下載
- 8位、16位、32位單片機各有啥區別?主要是CPU?資料下載
- STM32中單獨設置GPIO端口高8位/低8位的方法資料下載
- VGA視頻采集系統總體設計資料下載
- 常用USB設備結構分析資料下載
- 電容式觸摸屏的基本結構資料下載
- 在執行程序及產生中斷時CPU內會發生什么變化?資料下載
- 如何讓ARM代碼執行速度更快?資料下載
- 機器視覺應用,CPU還是FPGA?資料下載
- 如何使用FPGA實現八位RISC CPU的設計 5次下載
- LabVIEW中的循環結構相關例程資料免費下載 23次下載
- CPU中寄存器的用途 652次閱讀
- SoC封裝結構和CPU、GPU封裝結構的區別 581次閱讀
- 處理器和cpu是一個東西嗎 cpu和主板的區別 1.4w次閱讀
- CPU與PUA的區別 1.1w次閱讀
- 證明CPU指令是亂序執行的 849次閱讀
- CPU、寄存器和內存單元的物理結構 3961次閱讀
- 微控制器的CPU部分功能單元和基本指令執行 1954次閱讀
- CPU指令的執行過程 CPU指令流水線 1.7w次閱讀
- 一文詳解PLC的結構單元 3449次閱讀
- 汽車控制系統中的電子控制單元和傳感器以及執行器 8399次閱讀
- AVR單片機的CPU內核結構及匯編語言 4785次閱讀
- CPU操作指令詳解 9678次閱讀
- 基于32位RX CPU核的閃存mcu 2304次閱讀
- FPGA比CPU和GPU快的原因 9.5w次閱讀
- 一種高性能32位移位寄存器單元的設計 4251次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1489次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 91次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 9次下載 | 免費
- 6基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
- 7基于單片機和 SG3525的程控開關電源設計
- 0.23 MB | 3次下載 | 免費
- 8基于單片機的紅外風扇遙控
- 0.23 MB | 3次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30319次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537791次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多