MIPS处理器说明教程详解.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西 安 邮 电 大 学 实 践 课 程 报 告 书 课程名称: 1 课程主要目的 本课程是在上学期《计算机组成与设计》课程学习的基础上,通过实践课的方式,依照集成电路设计流程,完成一个简单独立硬件功能电路模块的设计,从而到达对《计算机组成与设计》课程的深入理解和提高电路设计的实践能力,从理论和实验的结合中巩固计算机基本知识,熟练掌握电路设计的基本流程和原理,同时,加深对MIPS系统的组成部件及其电路结构,原理和功能的理解,掌握利用硬件描述语言和EDA工具进行MIPS设计的一般方法。 2 课程的主要内容和任务 MIPS是典型的32位定长指令字RISC处理器,要求深入理解MIPS处理器的内部结构及工作原理。采用verilogHDL设计一个兼容MIPS指令格式,具有10条以上指令功能的单周期CPU硬件电路,该32位MIPS设计内容主要包括系统中的基本组成部件(存储器,指令寄存器,寄存器堆,算术逻辑运算器,程序计数器,多路选择器,符号扩展等)的设计,仿真及硬件下载的方法和过程。设计过程中使用ISE仿真工具完成设计电路的仿真验证。 3总体设计方案 3.1指令及其功能表: (1)R型指令: 指令 指令格式 功能 op rs rt rd shame func add 000000 sj1 Sj2 jg xx 100000 Jg=sj1+sj2 addu 000000 100001 Jg=sj1+sj2 sub 000000 100010 Jg=sj1-sj2 subu 000000 Sj1 Sj2 jg xx 100011 Jg=sj1-sj2 or 000000 Sj1 Sj2 jg xx 000010 Jg=sj1|sj2 and 000000 Sj1 xx jg xx 000011 Jg=sj1sj2 sla 000000 Sj1 xx jg 移位数 000100 Jgsj lr 000000 sr 000000 (2)I型指令: 指令 指令格式 功能 op rs rt Immediate addi 001000 sj1 Sj2 Imm Sj2= sj1+imm addiu 001001 sj1 Sj2 Imm Sj2= sj1+imm andi 001100 sj1 Sj2 Imm Sj2= sj1imm ori 001101 Sj1 Sj2 Imm Jg=sj1|sj2 Lw 100011 base rt offset offset(Memory[base+imm] sw 101011 base rt offset Memory[base+imm](offset slti 001010 Sj1 Sj2 imm sj1=Sj2imm sltu 001011 sj1 Sj2 imm Sj1=sj2imm (3)J型指令: 指令 指令格式 功能 op rs rt offset Beq 000100 sj1 Sj2 offset If sj1=sj2 then branch Bnq 000101 sj1 Sj2 offset If sj1≠sj2 then branch 3.2总体结构设计: 该MIPS主要由8个模块组成,各个子模块分别设计其特定的功能,最终利用一个总的模块进行子模块间连接,使得整个CPU能连贯执行指令,在仿真结果中观察设计结果,最终进行硬件下载,验证设计。其中各个模块简单功能如下: (1)存储器模块:具备基本的读写功能,用于存放数据和指令。 (2)寄存器堆模块:由32个32位的寄存器组成,提供较大的存储空间,用于存放暂存数据和指令。 (3)算术逻辑运算器模块:执行加减法等算术运算,与非或等逻辑运算,以及比较移位传送等操作的功能部件,是该CPU的设计核心部分,存在不同的运算处理功能,是体现实验设计结果正确性的模块。 (4)立即数扩展模块:执行I型指令时需要立即数扩展,该模块用于MIPS符号扩展,将16位数据扩展为32位数据。 (5)主控制模块:用于控制各个模块之间的分工运行,产生不同数据通路的控制信号,保证指令顺序执行不发生紊乱。 (6)ALU控制模块:用于生成ALU执行各种功能的控制信号,使ALU内部运行不发生紊乱。。 (7)分支跳转指令控制模块:用于生成分支和跳转指令的控制信号。 (8)取指模块:进行指令的取出及译码,同时包括程序计数器PC运行设计。 各模块间关系如下: 3.3接口定义和接口时序 说明:该CPU由cpu_clk和进行总的控制,并且输出程序计数器低4位进行简易流水灯显示,CPU运行的结果包括逻辑运算等在仿真界面中进行分析和设计验证。 cpu_clk上升沿有效 rst位低电

文档评论(0)

123****6648 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档