32位单周期risc处理器设计

32位单周期risc处理器设计

ID:15391217

大小:673.50 KB

页数:13页

时间:2018-08-03

32位单周期risc处理器设计_第1页
32位单周期risc处理器设计_第2页
32位单周期risc处理器设计_第3页
32位单周期risc处理器设计_第4页
32位单周期risc处理器设计_第5页
资源描述:

《32位单周期risc处理器设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、第一章32位单周期RISC处理器设计要设计一款处理器,首先要选择体系结构,本题选择的是RISC体系结构,因为它适合于流水线设计。然后需要选择一个标准的指令集,本题选择的MIPS指令集并按照常规的五段流水的方式来实现流水线。流水线的实现过程将在第二章介绍。1.1目标处理器指令集与指令格式本题目标CPU以能实现部分MIPS指令为目标,具体指令如下表1:类别指令格式算术运算加(add)R减(sub)R立即数加(addi)I立即数减(subi)I逻辑运算与(and)R或(or)R或非(nor)R立即数与(andi)I立即数或(ori)I立即数或非(nori

2、)I数据传递取字(lw)I存字(sw)I条件分支相等转移(beq)I小于比较(slt)R立即数小于比较(slti)I无条件跳转跳转(jL)J空操作空操作(nop) 表1目标CPU指令集1.2从指令具体行为反推设计方案CPU要执行一条指令,不外乎需要完成以下几个过程:取指令,指令译码,将译码出的指令放到算术逻辑运算部件ALU上执行运算,根据ALU算得的访存地址进行访存和将访存的结果写回寄存器等。当然,不同的指令类型(R、I、J)可能经过的过程稍有不同,即它们的数据通路有所不同,以下将具体介绍:1、R格式指令数据通路:1)从指令寄存器InstrMEM中

3、取出指令,同时PC增值(即加1等待下个CLK到来);132.)寄存器单元rs1和rs2的内容从寄存器堆RegFile中读出;3.)ALU根据功能码Opcoder确定操作方式,对从寄存器堆读出的数据进行计算;4.)ALU运算结果被写入寄存器堆,由rd确定写入的寄存器堆存储单元地址。图1R指令数据通路2.I指令(除lw、sw和分支指令)数据通路如图2:1.)从指令寄存器InstrMem中取出指令,同时PC增值(即加1等待下个CLK到来);2.)寄存器单元rs1的内容从寄存器堆RegFile中读出;3.)ALU将从寄存器堆rs1单元中读出的数据与符号扩展

4、后的指令低16位值相加;4.)ALU的运算结果被写入寄存器堆,由rt确定写入的寄存器堆存储单元地址。图2I指令(除lw、sw和分支指令)数据通路133、Lw指令数据通路如图3:1.)从指令寄存器InstrMem中取出指令,同时PC增值(即加1等待下个CLK到来);2.)寄存器单元rs1的内容从寄存器堆RegFile中读出;3.)ALU将从寄存器堆rs1单元中读出的数据与符号扩展后的指令低16位值相加;4.)将ALU的运算结果作为数据存贮器的地址读出相应单元的内容;5)把从数据存储单元取出的数据写入寄存器堆,由rt确定写入的寄存器存储单元地址。图3L

5、W指令数据通路4、Sw指令数据通路如图4:1.)从指令寄存器InstrMem中取出指令,同时PC增值(即加1等待下个CLK到来);2.)寄存器单元rs1和rs2的内容从寄存器堆RegFile中读出;3.)ALU将从寄存器堆rs1单元读出的数据与符号扩展后的指令低16位值相加;4.)将ALU的运算结果作为数据存贮器的写入地址,把从寄存器堆rs2单元中取出的数据写入数据存储器中。图4SW指令数据通路135)分支和跳转指令数据通路如图5:分支和跳转指令主要控制PC的输入来达到分支或跳转的目的。分支指令数据通路:1.)从指令寄存器InstrMem中取出指令

6、,同时PC增值(即加1等待下个CLK到来);2.)寄存器单元rs1和rs2的内容从寄存器堆RegFile中读出;同时主控制单元还计算各控制线应被设置的状态,具体状态表如表2所示;3.)ALU将从寄存器堆读出的两数相减,同时把PC+1的值与符号扩展后的指令低16位值相加,其结果即为分支目标地址;4.)根据ALU的Zero端口值和branch输出共同决定的PC的值:当Zero端口和branch的输出均为高电平时PC的值取第3步计算所得的分支目标地址,否则取第1步的PC+1值。跳转指令数据通路:1.)从指令寄存器InstrMem从取出指令,同时PC增值(

7、即加1等待下个CLK到来);2.)主控制单元计算各控制线应被设置的状态,状态表如表2所示。PC+1的值的高6位[31~26]加上指令低26位([25~0])值组成跳转目标地址,根据主控制单元生成的Jump值决定是否跳转,Jump为1则PC的值取跳转目标地址,否则取其它地址。此外,对于空操作指令,只要把jump、branch、memwrite、memread、regwrite均设为低电平,就可以保证该指令进行空操作,即执行没有任何效果的操作。在理清各格式指令的数据通路后把它们综合在一起构成即构成目标CPU的总的数据通路,具体如图5。图5目标CPU数据

8、通路131.3目标处理器的控制处理器的控制主要为ALU的控制和主控制单元设计两个方面的问题。主控制单元的设计即为图5中Co

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。