ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:23KB ,
资源ID:7700381      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7700381.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MIPS处理器设计说明剖析doc.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

MIPS处理器设计说明剖析doc.docx

1、MIPS处理器设计说明剖析doc西安邮电大学实践课程报告书课程名称: 计算机组成与实践院(系)名称 : 电子工程学院专业班级 : *学号/ 姓名 : *实习时间 : 2015年3月6日至 2015年6月19日1课程主要目的本课程是在上学期计算机组成与设计课程学习的基础上,通过实践课的方式,依照集成电路设计流程, 完成一个简单独立硬件功能电路模块的设计,从而到达对 计算机组成与设计 课程的深入理解和提高电路设计的实践能力,从理论和实验的结合中巩固计算机基本知识,熟练掌握电路设计的基本流程和原理,同时,加深对MIPS系统的组成部件及其电路结构,原理和功能的理解,掌握利用硬件描述语言和EDA工具进行

2、MIPS设计的一般方法。2课程的主要内容和任务MIPS是典型的32 位定长指令字RISC处理器,要求深入理解MIPS处理器的内部结构及工作原理。采用verilogHDL设计一个兼容MIPS指令格式,具有10 条以上指令功能的单周期CPU硬件电路,该32 位 MIPS设计内容主要包括系统中的基本组成部件(存储器,指令寄存器,寄存器堆,算术逻辑运算器,程序计数器,多路选择器,符号扩展等)的设计,仿真及硬件下载的方法和过程。设计过程中使用ISE 仿真工具完成设计电路的仿真验证。3总体设计方案3.1 指令及其功能表:( 1)R 型指令:指令指令格式功能oprsrtrdshamefuncadd00000

3、0sj1Sj2jgxx100000Jg=sj1+sj2addu000000100001Jg=sj1+sj2sub000000100010Jg=sj1-sj2subu000000Sj1Sj2jgxx100011Jg=sj1-sj2or000000Sj1Sj2jgxx000010Jg=sj1|sj2and000000Sj1xxjgxx000011Jg=sj1&sj2sla000000Sj1xxjg移位数000100Jgsjlr000000sr000000( 2) I 型指令:指令指令格式功能oprsrtImmediateaddi001000sj1Sj2ImmSj2= sj1+immaddiu001

4、001sj1Sj2ImmSj2= sj1+immandi001100sj1Sj2ImmSj2= sj1&immori001101Sj1Sj2ImmJg=sj1|sj2Lw100011basertoffsetoffset Memorybase+immsw101011basertoffsetMemorybase+imm offsetslti001010Sj1Sj2immsj1=Sj2immsltu001011sj1Sj2immSj1=sj2imm( 3) J 型指令:指令指令格式功能oprsrtoffsetBeq000100sj1Sj2offsetIf sj1 =sj2 then branchBn

5、q000101sj1Sj2offsetIf sj1 sj2 then branch3.2 总体结构设计:该 MIPS 主要由 8 个模块组成,各个子模块分别设计其特定的功能,最终利用一个总的模块进行子模块间连接,使得整个 CPU 能连贯执行指令,在仿真结果中观察设计结果,最终进行硬件下载,验证设计。其中各个模块简单功能如下:(1)存储器模块:具备基本的读写功能,用于存放数据和指令。(2)寄存器堆模块:由 32 个 32 位的寄存器组成,提供较大的存储空间,用于存放暂存数据和指令。(3)算术逻辑运算器模块:执行加减法等算术运算,与非或等逻辑运算,以及比较移位传送等操作的功能部件,是该 CPU 的

6、设计核心部分,存在不同的运算处理功能,是体现实验设计结果正确性的模块。(4)立即数扩展模块: 执行 I 型指令时需要立即数扩展, 该模块用于 MIPS 符号扩展,将 16 位数据扩展为 32 位数据。(5)主控制模块:用于控制各个模块之间的分工运行,产生不同数据通路的控制信号,保证指令顺序执行不发生紊乱。(6)ALU 控制模块:用于生成 ALU 执行各种功能的控制信号,使 ALU 内部运行不发生紊乱。(7)分支跳转指令控制模块:用于生成分支和跳转指令的控制信号。( 8)取指模块:进行指令的取出及译码,同时包括程序计数器 PC 运行设计。各模块间关系如下:MIPS(顶层)立即数分支跳算术逻存储器

7、寄存器主控制取指模ALU控转指令扩展模辑运算模块堆模块模块块制模块控制模块器模块块程序计数器译码模块取指模块模块3.3 接口定义和接口时序cpu_clkOut3:0MIPSrst说明:该 CPU 由 cpu_clk 和进行总的控制,并且输出程序计数器低 4 位进行简易流水灯显示, CPU 运行的结果包括逻辑运算等在仿真界面中进行分析和设计验证。cpu_clk 上升沿有效rst 位低电平时复位有效4子模块详细设计4.1 存储器模块设计4.1.1 模块方案设计指令存储器用于存放 CPU 运算的程序指令和数据等,采用单端口存储器设计,设计最大为 64 个存储单元,每个存储单元数据宽度为 32bit。

8、4.1.2 接口定义序号接口信号名称方向( I/O )说明1clkI存储器工作时钟, 频率为 50Mhz2rstI存储器片选信号,低有效3ExtMem_Adr 5:0I存储器地址线4ExtMem_WRI存储器读写信号, 1 为写反之读5ExtMem_Din 31:0I存储器输入数据线6ExtMem32 31:0O存储器输出数据线4.1.3 模块仿真验证4.2寄存器堆模块设计4.2.1 模块方案设计该 MIPS 指令格式中的寄存器号是5bits ,指令可以访问 32 个 32 位的寄存器。这 32 个 32位的寄存器构成一个寄存器堆。4.2.2接口定义序号接口信号名称方向说明1clkI处理器工作

9、时钟2rstI复位信号3Raddr14:0I读寄存器堆时的第1 个寄存器下标4Raddr24:0I读寄存器堆时的第2 个寄存器下标5Waddr4:0I写寄存器堆时的寄存器下标6WeI寄存器堆写使能7Wdata 31:0I待写入寄存器堆的数据8Rdata 131:0O读寄存器堆时第1 个寄存器的输出9Rdata 231:0O读寄存器堆时第2 个寄存器的输出4.2.3 模块仿真验证4.3 算术逻辑运算器模块设计4.3.1 模块方案设计运用 alu_clt 控制运算器的各种运算, 包括无符号数的加法运算, 有符号数的加法运算,或逻辑运算,与逻辑运算,无符号数的减法运算,无符号小于置 1 运算,逻辑左

10、移,逻辑右移,算术右移等。4.3.2 接口定义序号接口信号名称方向( I/O )说明1ALU_DA 31:0I参与运算的第一个输入数据2ALU_DB 31:0I参与运算的第二个输入数据3alu_clt 3:0I运算功能编码4alu_shift 4:0I偏移量5ALU_ZeroO零标志位6Alu_OverflowO溢出标志位7ALU_Dout 31:0O运算结果输出位4.3.3 关键控制信号的产生SUBctr = alu_clt2;ANDctr = alu_clt0;OVctr = !alu_clt1&alu_clt0;SIGctr = alu_clt0;OPctr1 = alu_clt2&al

11、u_clt1|alu_clt3;OPctr0 = alu_clt1;4.3.4 具体 ALU 实现如下图所示:异或门阵列位扩展或门阵列01ALU_DA31:0 ALU_DB31:0Cin异或门ZeroAdd_carryOverflowAdd_Overflow加减法运算器Add_SignAdd_Result异或门01021O1 ResultSUBctrOPctrOVctrSIGctrALU操作控制信号4.3.5 模块仿真验证4.4立即数扩展模块设计4.4.1模块方案设计设计一个32 位 MIPS 符号扩展单元SE,用于将 16 位的数据转换为 32 位数据。4.4.2接口定义序号信号名端口说明描

12、述1Imm1615:0I来自指令寄存器的 16 位立即数2AluSrcI立即数扩展信号的使能端3bus31:0I4ExtImm3231:0O符号扩展后的 32 位立即数4.4.3 模块仿真验证4.5 主控制模块设计4.5.1 模块方案设计以指令译码结果中的 6 位操作码及相关信号产生整个数据通路中的各个控制信号。4.5.2 接口定义序号接口信号名称方向( I/O )说明1opI操作码2RegDstO目的寄存器选择3AluSrcOALU 输入信号选择4ExtOpO立即数扩展的使能信号5RegWrO寄存器写使能6MemWr,O存储器写使能7MemtoRegO寄存器的装载信号选择4.5.3 各控制信

13、号的编码规则如下表所示:op000001001001001100101001001000000000000001100101011011010011100101RegDst01111101100RegWr11111101100ExtOp01000111011AluSrc01111111100MemWr00000010000MemtoReg000001000004.5.4 模块仿真验证4.6 ALU 控制模块设计4.6.1 模块方案设计通过译码结果中的高 6 位以及相关信号编码出数据通路中各个控制信号。4.6.2接口定义序号端口名称输入输出端口说明1rstI复位信号(高电平1 有效)2cpu_c

14、lkI时钟(上升沿有效)3func5:0I功能区分4opI操作码5Alu_ctrl3:0OAlu 功能信号4.6.3 执行 R 型指令 func 对应的 Alu_ctrl 编码如下表所示:funcAlu_ctrl1000000001100001000010001001011000110100100100010010010100111010110110101010011100000010010000101001000011110000100000004.6.4 模块仿真验证4.7 分支跳转指令控制模块设计4.7.1 模块方案设计运用译码结果的高 6 位以及 ALU 的两个输入数据决定分支及分支和

15、跳转指令的控制信号。4.7.2 接口定义序号信号名端口定义描述1ALU_DAI算术逻辑单元数据A2ALU_DBI算术逻辑单元数据B3opI指令操作码4func,IR 指令的功能操作码5JumpO跳转信号使能端6BranchO分支信号使能端4.7.3 模块仿真验证4.8 取指模块设计4.8.1 模块方案设计由程序计数器,取出指令以及译码三个子模块构成总的取指模块。4.8.2接口定义序号信号名方向( I/O )端口说明1clk2rst3ALU_DA算术逻辑单元数据A4Branch分支信号使能端5Jump跳转信号使能端6op指令操作码7rs8rt9rd10funcR 指令的功能操作码11shamt偏

16、移量12imm16立即数13ALU_DB算术逻辑单元数据B14Pc_out程序计数器输出4.8.3 电路基本构成如下图所示:clkop5:0rstPc_outinstructrs4:0Jumprt4:03232rd4:0BranchPCFetch decodefunc5:0ALU_DAALU_DBshamt4:0Imm1615:04.8.4 跳转和分支指令执行时 PC_out 的编码规律Jump: Pc_out= ALU_DABranch : Pc_out= Pc_out+1+ALU_DB正常情况下: Pc_out=Pc_out+14.8.5 模块仿真验证5设计总体连接及仿真验证5.1 设计总

17、体连线opPCrsrtALU_DArdALU_DBFetchshamtfuncJumpBranchDecodeimm16Pc_outFlagExtMem_doutMemclkRdata 131:0rstWeRegfileRaddr14:0Raddr24:0Waddr4:0Rdata 231:0Wdata 31:01Imm 010rstRegDstAluSrcExtOpRegWrMain_c MemWrMemtoRegtrAluctrALU_ctrALUctrALU_DA zerooverflowALU_DCALU_DB5.2 在 ISE 仿真环境下仿真验证设计结果,仿真结果如下图所示:5.3

18、仿真结果分析由仿真结果得知该 CPU 执行的 12 条指令均正常运行, 实验基本成功, 但是设计较为简单,并未涵盖太多复杂指令,需要进一步改善,使其趋于完善。6、实践课总结和心得体会西安邮电大学 电子工程学院计算机组成与实践 实践课程过程考核表学生姓名承担任务实验室实施时间实施时间第 1 周第23周第46周第78周第 911 周第12周第 1314 周第 1415 周第16周指导教师对学生的评价指导教师对学生专业知识或社会实践能力等情况的意见* 班级 /学号 *微电子实验室 所在部门 微电子学系2015年 3月6日 2015年 6月 19日实践课程:时间安排、具体内容及成绩考核具体内容安排 考

19、核结果1、 实践课程讲解,任务要求说明,学习和实践内容安排2、 兼容 MIPS 格式指令系统设计1、指令存储器设计,寄存器堆设计1、 ALU 设计基本算术、逻辑单元的设计32位超前进位加法器的设计32位桶式移位寄存器的设计1、 取指令部件的设计2、 立即数处理单元设计1、单周期处理器设计 R 型指令的数据通路设计I型指令的数据通路设计Load/Store 指令的数据通路设计分支指令 /转移指令的数据通路设计综合 12 条指令的完整数据通路设计1、ALU 控制单元设计,主控制单元的设计1、单周期处理器总体连接1、单周期处理器总体仿真验证课程考核验收学习态度认真一般 不认真学习纪律全勤偶尔缺勤经常

20、缺勤实践能力很强一般较差指导教师签字: 年 月 日西安邮电大学 电子工程学院计算机组成与实践实践课程成绩鉴定表学生姓名*班级/学号 *进行时间2015年 3月 6日 2015年 6月19日与教学任务计划结合程度( 10 分)学习内容与专业培养结合程度( 6 分)(20 分)其它( 4 分)接受单位实践能力( 10 分)评价学习态度( 6 分)成绩鉴定(20 分)学习纪律( 4 分)报告内容与实践过程紧密结合( 15 分)报告鉴定 报告内容与教学计划内容紧密结合( 15 分)(60 分)报告质量 (主题、结构、观点、逻辑、资料、字数 30分 )指导教师姓名 孟李林 职称 教授 成绩评语指导教师签字: 年 月 日

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1