自己动手写CPU(5) 移动操作指令的实现

指令说明

MIPS32指令集架构中定义的移动操作指令共有6条: movn、movz、mfhi、mthi、mflo、mtlo,后4条指令涉及对特殊寄存器HI、LO的读/写操作。HI、LO寄存器用于保存乘法、除法结果。当用于保存乘法结果时,HI寄存器保存结果的高32位,LO寄存器保存结果的低32位; 当用于保存除法结果时,H寄存器保存余数,LO寄存器保存商。

指令格式

                        1.jpg

movn指令

用法:movn rd, rs,rt

作用: if rt ≠0 then rd <- rs

判断地址为rt的通用寄存器的值。如果不为零,那么将地址为rs 的通用寄存器的值赋给地址为rd的通用寄存器;反之,保持地址为rd的通用寄存器不变

movz指令

用法:movz rd, rs, rt

作用:  if rt = 0 then rd <- rs

与上面movn指令的作用正好相反,判断地址为rt的通用寄存器的值。如果为零,那么将地址为rs 的通用寄存器的值赋给地址为rd的通用寄存器;反之,保持地址为rd的通用寄存器不变

mfhi 指令

用法:mfhi rd

作用:  rd <- hi

将特殊寄存器Hi的值赋给地址为rd的通用寄存器

mflo指令

用法:mflo rd

作用:rd <- lo

将特殊寄存器LO的值赋给地址为rd的通用寄存器

mthi 指令

用法:mthi rs

作用: hi<- rs

将地址为rs的通用寄存器的值赋给特殊寄存器HI

mtlo指令

用法:mtlo rs

作用:lo <- rs

将地址为rs的通用寄存器的值赋给特殊寄存器LO

代码的修改

  • 增加HILO模块,用于实现HI、LO寄存器
  • 执行阶段的EX模块增加判断是否要写入HILO模块
  • 执行阶段的EX模块增加了与HILO有关的输入接口,解决数据相关问题

         

 HI LO模块

读取HI、LO寄存器时仍会存在数据相关问题,解决方式仍是使用数据前推(上篇讲解过),将处于访存阶段、回写阶段的指令对HI、LO寄存器的操作信息反馈到执行阶段,执行阶段依据这些信息,确定HI、LO寄存器的正确值。

总结

我们在本章学到了移动操作指令的实现以及又处理了流水线数据相关。内容很好理解,后面的指令学起来也是大概也这样的,但也会越来越难的,我们继续加油!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: FPGA(现场可编程门阵列)是一种可定制的集成电路设备,可以通过编程来实现不同的功能。传统的CPU(中央处理器)在硬件上是固定的,它们使用基于微指令的复杂指令集架构(CISC)来执行各种操作。 然而,随着嵌入式系统的需求增加,对于更高性能和更低功耗的要求也越来越高。而FPGA作为可编程设备可以提供更高的灵活性和可定制性。因此,研究人员开始将FPGACPU结合起来,开发出一种新型的精简指令集(RISC)CPU。 通过从头开始设计一个精简指令集的CPU架构,可以更好地满足嵌入式系统对性能和功耗的需求。由于FPGA可以定制硬件功能,所以可以根据具体的应用需求对CPU进行优化设计。 研究人员利用FPGA的可编程特性,可以根据具体应用的要求,定制需要的指令集。精简指令集的设计更简洁,执行速度更快,占用的面积更小。精简指令集的设计可以减少功耗,提高系统的效率。 在研究背景方面,精简指令集的CPU研究是为了满足嵌入式系统对性能和功耗的要求。通过将FPGACPU结合,可以提供更高的灵活性和可定制性。精简指令集的设计可以优化CPU结构,提高执行速度和效率,降低功耗和面积占用。 总而言之,FPGA的精简指令CPU研究背景是为了满足嵌入式系统对性能和功耗的需求,通过FPGA的定制化硬件功能可以实现更好的优化设计,提高系统性能和能效。 ### 回答2: FPGA的精简指令CPU研究背景主要源于对传统的基于微处理器的计算机体系结构的改进和优化需求。 随着信息技术的迅猛发展,人们对计算机性能的需求越来越高。传统基于微处理器的计算机体系结构中,CPU通过执行复杂的指令集来完成各种任务,但是这种设计方法在某些应用场景下存在一些问题。 首先,由于指令集的复杂性,微处理器的设计需要投入大量的硅资源,导致芯片的面积增大、能耗增加。而在嵌入式系统和移动设备等资源受限的场景下,这些问题会限制设备的性能和续航能力。 其次,复杂的指令集导致运行时的指令流水线和缓存等硬件结构的复杂度增加,从而增加了功耗。同时,这些硬件结构也会引入一定的延迟,降低指令的执行效率。 为了解决这些问题,研究者开始探索使用FPGA实现精简指令集的CPUFPGA具有可编程性和并行计算能力的优势,适用于加速计算和处理各种任务。 通过将精简指令CPU实现FPGA上,可以针对具体应用场景进行硬件裁剪和优化设计,最大程度地减小硅资源的使用,提高设备性能和能耗效率。同时,由于指令集的简化,硬件结构也变得更加简单,减少了功耗和延迟。 因此,FPGA的精简指令CPU研究背景主要是为了解决传统微处理器体系结构的一些问题,并在特定应用场景下提供高性能和低功耗的计算解决方案。随着技术的进一步发展,精简指令CPUFPGA上的研究将有望得到更广泛的应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值