简单的多周期MIPS I CPU设计(四)—— 寄存器重命名

上一篇:主存·
下一篇:流水线

原理

寄存器重命名法将原来的32个寄存器映射到两组寄存器,分别是标准规定的32个寄存器,我们称作虚拟寄存器或者架构寄存器和CPU内置的物理寄存器。我们建立虚拟寄存器到物理寄存器的映射关系,并将数据(指令产生的结果)存放于CPU内置的物理寄存器。这样一来我们在解码阶段将会得到虚拟寄存器的地址,并根据这个地址找到物理寄存器的地址并进行操作。

实现

为了实现映射关系,我们使用分配法。一旦某条指令将结果写入某个寄存器,那么寄存器原来的值将丢失,而我们不需要关心寄存器原来的值,因此相当于我们申请了一个新的寄存器,存放这条指令的结果。并且后面这个做法将不会改变值,只是改变了值存放的位置,只要我们建立了映射关系,我们就能找到新的存放位置,那么就不会影响CPU的正确性。

分配

现在我们开设就像内存池一样的一个物理寄存器堆,一旦我们需要申请使用某个寄存器(就像我们申请内存一样),我们就从空闲的物理寄存器队列中取出一个寄存器,并将编号的对应关系写入一个映射表(map_table)中,这样我们需要访问哪个寄存器,就在映射表中找到对应的物理寄存器,然后读取哪个物理寄存器的值即可。

回收

另外,对于写操作,由于寄存器原来的值丢掉了,因此这个虚拟的寄存器对应的物理寄存器存储的值将不会被再次使用,因此这个物理寄存器被废弃,我们予以回收。我们将这个物理寄存器从占用的物理寄存器列表中移出,插入空闲队列中,这个物理寄存器就被释放了,我们就可以在下次再利用上这个寄存器。

例子

汇编指令 寄存器映射关系 注释
ld r7, 0(r6) r7
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一. 实验目的 1. 了解存储器的组成结构,原理和读写控制方法 2. 了解主存储器工作过程中各信号的时序关系 3. 了解挂总线的逻辑器件的特征 4. 了解和掌握总线传送的逻辑实现方法 二. 实验原理 1.基本操作:读写操作 读操作是从指定的存储单元读取信息的过程;写操作是将信息写入存储器指定的存储单元的过程 2.读写操作过程 首先要由地址总线给出地址信号,选择要进行读写操作的存储单元,然后,做写操作时,先从数据总线输入要存储在该单元的数据,通过控制总线发出相应的写使能和写控制信号,这时,数据保存在该单元中;做读操作时,只要通过总线发出相应的读控制信号。该数据就出现在总线上了 3. 总线传送 计算机的工作过程,实际上也就是信息的传送和处理过程,而信息的传送在计算机里面频度极高,采用总线传送必不可少,它可减少传输线路、节省器件、提高传送能力和可靠性。总线传送器件中大量使用的是三态门。三态门(ST门)主要用在应用于多个门输出共享数据总线,为避免多个门输出同时占用数据总线,这些门的使能信号(EN)中只允许有一个为有效电平(如低电平),由于三态门的输出是推拉式的低阻输出,且不需接上拉(负载)电阻,所以开关速度比OC门快,常用三态门作为输出缓冲器。其中74LS244是专用做挂总线用的三态门器件之一。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值