计算机组织-期末FinalProject_第1页
计算机组织-期末FinalProject_第2页
计算机组织-期末FinalProject_第3页
计算机组织-期末FinalProject_第4页
计算机组织-期末FinalProject_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、計算機組織-期末Final ProjectPipelined MIPS-Lite CPU98學年度第1學期老師:朱守禮老師 學生:陳佑任一、背景使用Verilog HDL與Modelsim模擬器設計一個Pipelined MIPS-Lite CPU。工作分配:自己一個人一組。指令要求:Integer ALU: add, sub, and, or, slt, xori, sll, srlv (Shift right logical variable), sra (Shift Right Arithmetic)Integer Memory Access: lw, swInteger Branch:

2、 beq, j, jr (Jump register), jal (Jump and link)Integer Multiply/Divide: mult, divSpecial Data Movement: mfhi, mflo元件要求:add/sub: 需用32bits Group Carry-Lookahead Adder。mult: 需用32-bits signed multiplier (by Version 3 Algorithm),並以Group CLA作為計算之ALU。div: 需用32-bits signed divider (by Version 3 Algorithm)。

3、sll, srlv, sra: 需以Data Flow Modeling,設計32-bits Barrel Shifter。並設計一個64-bits暫存器,存放乘法的Product與除法的remainder、quotient,並用mfhi/mflo搬回GPRs。需增加Forwarding Unit與Hazard Detection Unit,處理Structural hazard、Control Hazard、Data Hazard。,並以Stall方式解決Hazard。設計要求:需分module與檔案,一個module一個檔案,並以module名稱命名,所有不可寫在同一模組裡。Datapat

4、h需使用Visio或PowerPoint繪製。Testbench須依助教所提供之參考設計,將測試指令或程式轉換成指定格式,輸入Testbench。不可寫死在testbench裡。參考資料:第四版:Chapter 4 (Pipelined Datapath)與Appendix B (指令集格式)附註:由於DataPath的圖直接複製到word成畫布會出現物件亂掉的情形,所以依然另存了圖檔來貼上,但一樣會附有原始的ppt圖。二、方法32bits Add/Sub (with GCLA):SApgBC_inSApgBC_in先設計出1bit adder。式子:S=(AB)C_in;p=(AB);g=A

5、B。將這1bit adder和8bits Carry Look Ahead adder組成一個8bits CLA adder。式子:C1 = g0 + p0C0;C2 = g1 + p1g0 + p1p0C0;C3 = g2 + p2g1 + p2p1g0 + p2p1p0C0;C4 = g3 + p3g2 + p3p2g1 + p3p2p1g0 + p3p2p1p0C0;。再4個8bits CLA用一個Group Carry Lookahead Unit (4bits)組合出32bits Group Carry-Lookahead Adder。再把GCLA輸入的B每1bit加上XOR,用一M

6、訊號選擇作加或減。就設計出了32bits add/sub GCLA。32bits Shift:Shift left logical:的設計是左移032bits,由輸入訊號Shift4:0 5bits決定要移幾bits。若Shift0為1,表移動1bit;移1bit或為0不移;再看Shift1,若為1,表移動2bits,或為0不移;把結果再給下一個Shift2,移或不移4bits;依此類推,Shift3決定是否移動8bits;Shift4決定是否移動16bits。如此組合出移動032bits的狀況。Shift right logical:只是更改0bits的接線位置位置,從左邊接進0bit。Sh

7、ift Right Arithmetic:由於算術位移的結果要和原先的值同號,所以取第31bit,來接線,達成位移的效果。32bits ALU:控制訊號的排定:ALU operateFunction0000AND0001OR0010add0110subtract0111set on less than0100shift left logical0101shift right logical variable1001shift right arithmetic1101XOR在ALU的operate選擇訊號裡,使用operate2第2bit作為加/減的選擇訊號,因此sub和slt需使用sub,op

8、erate2為1,其餘的dont care。ALU datapath:需要輸入32bits的運算資料A、B,以及選擇訊號Operate,還有Shift訊號5bits。輸出的有Result運算結果32bits、Zero結果全為零(或否)的旗標1bit、CarryOut(C32)外進位1bit、Overflow溢位旗標1bit。這裡ALU的設計特色是:1. slt (set on less than)是直接利用Sub第31bit的結果(sign bit),並接上31b0形成Result結果32bits。2. srlv (shift right logical variable)它的shift的訊號

9、是B4:0。但是如果B值大於32,意謂要右移32bits以上,此時要把B31:5 OR起來,看有沒有任何一個1,若有,表示要移超過32bits,直接在mux選擇32b0全為零的結果;若B31:5都為0,表示移動320bits,直接取B4:0是正確的。指令格式:R-type: (bits)631265252152016515115106650add rd, rs, rt0rsrtrd00x20sub rd, rs, rt0rsrtrd00x22 and rd, rs, rt0rsrtrd00x24or rd, rs, rt0rsrtrd00x25slt rd, rs, rt0rsrtrd00x2

10、asll rd, rt, shamt0rsrtrdshamt0sra rd, rt, shamt0rsrtrdshamt3srlv rd, rt, rs0rsrtrd06mfhi rd00rd00x10mflo rd00rd00x12mult rs, rt0rsrt00x18div rs, rt0rsrt00x1ajr rs0rs08I-type: (bits)63126525215201616150xori rt, rs, imm0xersrtimmlw rt, address0x23rsrtOffsetsw rt, address0x2brsrtOffsetbeq rs, rt, labe

11、l4rsrtOffset J-type: (bits)6312626250j target2targetjal target3targetControl Unit:inputoutputop: 0funct: 0x20operate: 0010regDst: 1regW: 1funct: 0x22operate: 0110funct: 0x24operate: 0000funct: 0x25operate: 0001funct: 0x2aoperate: 0111funct: 0operate: 0100funct: 3operate: 1001funct: 6operate: 0101fun

12、ct: 0x10hltoReg: 10funct: 0x12hltoReg: 01funct: 0x18toHL: 0funct: 0x1atoHL: 1funct: 0x1a三、結果內文四、討論內文五、結論內文六、未來展望(心得)期末真是忙翻天,而且也找不到可以一組的同學,說要分組的那一剎那,可以說是大家心中就有定案了。根據邏設實驗的分組經驗,可以說是沒有合適的人選,因為如果隨便找人湊組,吃虧的只會是自己,而其他人想要自己一組。在這項巨大的作業裡,光是聽到就嚇到了,因此我選擇了先畫DataPath,而且設計也是要根據DataPath來設計,先把架構圖設計好,才不會改來改去兩頭空。至於做不做的完,就聽天由命了。我覺得這門課設計硬體還蠻有些許有趣的地方,多半是從邏設課的每一次作業體驗而來。因為設計硬體感覺像

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论