- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验四 MIPS处理器设计实验——
MIPS单周期处理器设计实验
一、实验目的
1、掌握控制器设计的基本原理。
2、利用硬布线控制器的设计原理在Logisim平台中设计实现MIPS单周期处理器。
二、实验仪器设备/实验环境
1、PC机
2、Logisim
三、实验内容与原理
1、实验内容
在Logisim中打开cpu.circ文件,在对应的电路利用电路中的组件构建MIPS单周期CPU数据通路,如图1所示。并完成单周期MIPS控制器的设计实验电路(如图2所示)。最后在指令存储器中插入排序程序sort.hex,时钟自动仿真运行程序,程序停机后,查看数据存储器排序情况,有符号降序排列。
(注:扩展部分,有能力同学可以参考相关资料,在Logisim实现核心+基础 24条指令)
图1. 单周期MIPS硬布线
图2. 单周期硬布线控制线
2、实验原理
单周期处理器是指所有指令均在一个时钟周期内完成的处理器。尽管不同指令执行时间不同,但对单周期处理器而言,时钟周期必须设计成对所有指令都等长,需要特别说明的是,在单周期处理器中,一条指令执行过程中数据通路的任何资源都不能被重复使用,因此任何需要被多次使用的资源(如加法器)都需要设置多个,否则就会发生资源冲突,这是设计单周期处理器数据通路时必须考虑的重要环节。另外,取指令和执行指令阶段均需要使用存储器,所以单周期处理器只能采用指令存储器和数据存储器相分离的结构(即哈佛结构)。本实验基于MIPS指令系统构建单周期处理器。
1.简单送代法
这种方法相对比较直观简单,适合指令数量比较少的实验。设计者可以先完成支持一条固定R型指令(如加法指令)的基本数据通路,测试运行通过后再在该基础上不断增加新的数据通路,支持新的指令,直至所有指令都能正常运行,要支持一条指令的运行,必须有取指令逻辑和执行指令逻辑,所有设计者首先应该完成取指令的数据通路。
1)设计取指令数据通路
图5.1为取指令部分数据通路,涉及的功能部件包括程序计数器(PC)、指令存储器和加法器等。取指令通路应能取出PC锁存地址对应的机器指令,并能在时钟上跳沿到来时实现PC自动加4,从而进入下一条指令的指令周期。这里PC可以采用寄存器实现,其输出作为指令存储器的地址输入,指令存储器经过一个存储周期后一次性取出32位的机器指令,故其数据宽度应为32。需要注意的是,无论是在 Logisim平台实现,还是在FPGA上实现,设计者均需考虑指令存储器地址位宽的问题。在FPGA实现中,指令存储器地址宽度越大,综合速度越慢。另外,PC锁存地址是32位字节地址,指令存储器输入地址是字地址,二者不匹配。为简化电路设计, Logisim中建议采用ROM组件实现。
在顺序执行方式下,每一个时钟周期内,CPU取出指令后将PC的值加4,形成下一条指令的地址,这里加4是因为32位MIPS机中所有指令字长均为4字节,每条指令在存储器中占用4个字节的存储单元,而PC中存放的地址是字节地址。为避免资源冲突,这里加法器应该是独立的器件,与CPU中的算术逻辑运算单元分开。
指令取出后即可进入指令的执行周期,接下来就可以设计能支持最为简单的R型指令的数据通路,使得执行一条指令的简单CPU能够运行起来。
图5.1 取指令部分数据通路
2)构建R型指令数据通路
MIPS中算术逻辑运算指令属于R型指令,R型指令所有的操作数均是寄存器,7执行过程中涉及的功能部件包括寄存器文件和ALU,R型指令的数据通路如图5.2所示,指令执行过程中ALU的两个源操作数均来自于寄存器文件输出,其中RD1是寄存器R1#的值,RD2是寄存器R2#的值,R1#来自于指令字中的$rs字段,R2#来自于指令字中的$rt字段,运算结果写入目的寄存器Srd中,MIPS不同类型指令字段分布如表5.1所示。
图5.2 R型指令的数据通路
表5.1 MIPS不同类型指令字段分布
为测试对应通路能否正常工作,我们将指令nor $s0,$0,$1汇编成机器码
0然后将机器码存入指令ROM的0号地址处,将ALU_OP设置为固定值1010(第2章运算器实验中表示或非操作),如果数据通路正确,运算器输出
结果应该为0xFFFFFFFF,时钟上跳沿到来时数据将写入16号寄存器($s0)中。
至此我们设计完成的CPU已经可以执行一条或非指令,接下来可以进一步编
写一些其他的R型指令,例如add、sub、and、or等,当然不同的算术逻辑运算指令对应的 ALU_OP是不同的,所以可能需要手动修改 ALU OP的值,否则所有的指令都会执行或非操作,为了使CPU能自动进行不同类型的运算,需要增加相应的控制器组合逻辑自动译码指令,根据指令操作码和扩展码生成对应的 ALU _OP信号,这就是最简单
您可能关注的文档
最近下载
- 最新时事政治必考试题库及答案详解【全国通用】.docx VIP
- 2025时事政治必考试题库(考点梳理)附答案详解.docx VIP
- 时事政治必考试题库及(2025年)及答案详解【考点梳理】.docx VIP
- 《中华人民共和国危险化学品安全法》解读及宣传培训.pptx VIP
- 阿特拉斯•科普柯 冷冻式干燥机.pdf VIP
- 2022-2023学年广东省中山市八年级(上)期末物理试卷(含答案).pdf VIP
- 2025年时事政治热点题库考试试题库及答案详解【考点梳理】.docx VIP
- GB∕T 39549-2020 纤维增强热固性复合材料化粪池(可复制版).pdf
- 2025年时事政治必考题库及答案详解(考点梳理).docx VIP
- 专题01++机械运动(期末复习课件)八年级物理上学期新教材人教版.pptx VIP
原创力文档


文档评论(0)