- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CPU实单周期MIPS处理器设计
单周期MIPS处理器设计实验报告完成人:笪腾飞 2012011263一、实验目的1、设计一个32位的单周期MIPS处理器,具备定时器、数码管等外设;2、编写一个编译器,可以将mips代码编译为二进制机器码;3、编写一个计算两个整数的最大公约数的汇编程序。二、设计方案根据理论课所学的单周期MIPS处理器数据通路的知识,结合本次试验的具体要求,最终设计方案如下:1、系统时钟为了综合后能够在开发板上正确运行程序,我们决定采取50MHz的CPU时钟,因此编写了一个时钟分频模块,对开发板提供的100MHz时钟进行二分频,从而得到50MHz时钟。2、PC产生模块原理图如下:如上图左半部分所示,多路选择器由一个always语句中的if…else if…else语句实现。其中,将ALU中的加减法部分提取出来实现一个加法器,用于产生PC+4和ConBA两个PC来源。将I型指令中的16位立即数左移两位后再符号位扩展成32位地址,与PC+4相加得到分支地址ConBA。将跳转指令中的26位目标地址左移两位后,与当前PC的高四位拼接得到跳转地址JT。将第一个操作数寄存器中的值取出作为PC的一个输入,这是为了实现jr和jalr指令,从$Xp和$Ra寄存器中读取跳转地址。ILLOP和XADR分别是发生中断和异常时的跳转地址。下一指令地址的选择由PCSrc决定,而PCSrc是译码后由控制信号模块根据每条指令的操作码(opcode)和函数码(funct)产生。3、译码模块原理图如上图右半部分所示,将PC作为ROM模块的地址输入,输出即为PC所对应的指令。分别取出指令中的某些片段,得到$Rs,$Rt,$Rd,shamt,funct,16位立即数和26位跳转地址。4、控制模块控制模块即控制信号产生模块,六位操作码OpCode,六位函数码[5:0] Funct,定时器中断信号irq和PC最高位PC31作为输入,输出为以下控制信号:(1)R型指令指示信号IsR,值为1表示当前指令为R型指令,否则非R型指令;(2)PC产生的选择信号[2:0] PCSrc,取值0,1,2,3,4及其它,分别选择下一指令不同的PC;(3)目的寄存器选择信号[1:0]RegDst,被写入的寄存器有四种选择:$Rd,$Rt,$Ra,$Xp,分别由RegDst不同取值完成选择;(4)写寄存器使能信号RegWr,值为1表示允许对寄存器进行写操作;(5)ALU第一个操作数选择信号ALUSrc1,值为1表示选择将移位量shamt进行0扩展后作为输入,值为0表示将$Rs寄存器中的值作为输入;(6)ALU第一个操作数选择信号ALUSrc1,值为1表示选择将扩展后的32位立即数作为输入,值为0表示将$Rt寄存器中的值作为输入;(7) ALU运算控制信号[5:0] ALUFunc,作为ALU的输入选择不同的运算操作;(8) 有无符号数指示信号Sign,值为1表示有符号数,值为0表示无符号数;(9) 写存储器使能信号MemWr,值为1表示允许对存储器进行写操作;(10) 读存储器使能信号MemRd,值为1表示允许对存储器进行读操作;(11)写寄存器值的选择信号[1:0] MemToReg,选择ALU结果,存储器读取结果和PC+4其中之一作为写入目的寄存器的值;(12) 符号位扩展指示信号EXTOp,值为1表示对16位立即数进行符号位扩展,值为0表示0扩展;(13)立即数高位取指令指示信号LUOp,值为1表示当前指令为lui指令,选择将立即数载入高16位低位填0的32位立即数作为ALU输入,值为0表示将正常扩展后的32位立即数作为ALU输入;控制信号的具体产生过程此处略去,在控制信号说明文件中进行详述。下图为数据通路的总体原理图:5、寄存器堆模块寄存器堆模块RegFile根据$Rs,$Rt,$Rd的值和写寄存器使能信号RegWr完成对寄存器堆的读写操作。6、ALU模块根据指令内容进行选择后得到两个ALU操作数和ALU运算控制信号ALUFunc及有无符号数指示信号作为ALU输入,完成算术运算、位运算、逻辑运算、移位运算和比较运算,输出为运算结果ALUResult。7、数据存储器模块通过读写使能信号、读写地址和写入内容完成对数据存储器的读写操作。8、外设模块完成对除UART部分的外设的读写操作,以及实现定时器功能,此模块为实验提供模块。9、UART模块此模块通过对串口对应外设地址的读写操作,完成串口收发器的数据接收和数据发送功能。10、存储器读取结果读存储器的结果可能是数据存储器或外设中的内容,因此要通过读存储器的地址进行选择,此处该地址即为ALU的计算结果ALUResult(lw指令的读取地址为$Ra寄存器的值加上偏移量),若ALUResult高两位为00表示读取的是数据存储器,若高两位为其它(实际上是01)表示读
您可能关注的文档
- -会计基考点精华.doc
- ++县农生产形势分析.doc
- +成本会试题..doc
- .用电施组织设计.doc
- ,,成本计试题.doc
- 1律师刑诉讼格式文书.doc
- .临时用施工组织设计.doc
- +涵洞施技术交底.doc
- 22年二建造师《市政公用工程管理与实务》真题及答案解析.docx
- ++连续预应力施工作业指导书.docx
- 2025年甘肃煤田地质局考核招聘高层次人才(第三批)考试备考题库及答案解析.docx
- 2025年助理人力资源经理招聘面试参考试题及答案.docx
- 2025江苏连云港市赣榆区卫生健康委员会所属事业单位第二次招聘编制内卫生专业技术人员37人笔试模拟试题及答案解析.docx
- 2026北京海淀区中国科学院过程工程所招聘考试参考试题及答案解析.docx
- 2025中国人民解放军联勤保障部队第九二五医院社会招聘(贵州)考试备考试题及答案解析.docx
- 2025年注册会计师人员招聘面试备考题库及参考答案.docx
- 2026广日股份研究院校园招聘笔试备考试题及答案解析.docx
- 2025广东汉剧传承研究院招聘急需紧缺人员2人笔试备考试题及答案解析.docx
- 2026年河北银行校园招聘考试参考试题及答案解析.docx
- 2025中国农业科学院博士后招收笔试参考题库附答案解析.docx
原创力文档


文档评论(0)