【技术实现步骤摘要】
一种针对RISC
‑
V矢量与浮点寄存器的物理寄存器堆分配装置
[0001]本专利技术涉及RISC
‑
V处理器(CPU)乱序架构矢量与浮点寄存器的物理寄存器堆分配装置。
技术介绍
[0002]在高性能处理器的微架构设计中,乱序(out
‑
of
‑
order,简称OoO)执行是一种常用的提升性能的方式,其根据数据可用性来决定指令执行的顺序,而非程序本身的指令顺序,从而减少由于指令等待数据而导致处理器停滞所带来的延迟。以下面的指令序列为例,当按序执行时,指令1需要等待指令0的结果,而指令0为除法指令,通常需要较长的执行延时,从而导致处理器停顿等待结果。而在乱序架构中,可以通过检测发现指令2~指令4的操作数不依赖于指令0或者指令1的结果,因此通过提前执行指令2~指令4来减少处理器停顿的延时。
[0003]指令0:div x2, x1, x0指令1:sub x4, x2, x3指令2:add x3, x5, x6指令3:add x2, x7, x8指令4:sub x5, x2, x3......然而乱序执行可能会导致处理器的运行出错,例如上述的指令序列,由于指令1无法执行而指令2~指令4提前执行了,若指令3的结果提前直接回写x2寄存器,而指令1可能会错误获取到被指令3更新的x2结果从而导致运行出错。因此在乱序架构的设计中,需要引入额外的机制来避免执行顺序改变带来的问题。
[0004]上述例子中的x0~x8,即为指令集架构(ISA)所使用的寄 ...
【技术保护点】
【技术特征摘要】
1.一种针对RISC
‑
V矢量与浮点寄存器的物理寄存器堆分配装置,包括:译码逻辑,对输入指令进行译码获得指令信息,至少包括指令类型、源操作数索引和目的寄存器索引;重命名表,记录架构寄存器和物理寄存器堆之间的映射关系;所述物理寄存器堆,至少分为三组,一组为浮点独享物理寄存器堆,一组为矢量独享物理寄存器堆,一组为共享物理寄存器堆;其中所述浮点独享物理寄存器堆只分配给浮点架构寄存器使用,其中所述矢量独享物理寄存器堆只分配给矢量架构寄存器使用,其中所述共享物理寄存器可以分配给浮点架构寄存器和矢量架构寄存器使用;寄存器堆分配和释放控制逻辑,负责所述物理寄存器堆的表项分配和释放;监测返回控制逻辑,监测所述共享物理寄存器堆是否有不需要被使用到的有效表项,以及监测所述浮点独享物理寄存器堆和所述矢量独享物理寄存器堆是否有空闲表项,将对应的表项数据以及搬运请求发送给重命名分配控制逻辑;所述重命名分配控制逻辑,根据所述译码逻辑获得的指令信息,判断是否需要分配所述物理寄存器堆的表项用于存放指令结果,以及判断所需要分配的对应的所述物理寄存器堆,并根据所述寄存器堆分配和释放控制逻辑分配的表项,更新所述重命名表;并且根据所述监测返回控制逻辑的反馈,确定是否需要将共享物理寄存器堆的表项数据搬运到独享物理寄存器堆表项中;所述重命名分配控制逻辑根据源操作数索引访问所述重命名表,获取源操作数对应的所述物理寄存器堆索引,并传递给发射逻辑。2.根据权利要求1所述针对RISC
‑
V矢量与浮点寄存器的物理寄存器堆分配装置,其中,所述重命名表包括浮点重命名表和矢量重命名表,所述浮点重命名表记录浮点架构寄存器与浮点独享物理寄存器堆以及共享物理寄存器堆之间的映射关系,所述矢量重命名表记录矢量架构寄存器与矢量独享物理寄存器堆以及共享物理寄存器堆之间的映射关系。3.根据权利要求2所述针对RISC
‑
V矢量与浮点寄存器的物理寄存器堆分配装置,其中,所述重命名分配控制逻辑确定所述物理寄存器堆分配时,若需要回写浮点寄存器,并且有空闲的所述浮点独享物理寄存器堆表项,则分配对应的表项,并更新所述浮点重命名表。4.根据权利要求2所述针对RISC
‑
V矢量与浮点寄存器的物理寄存器堆分配装置,其中,所述重命名分配控制逻辑确定所述物理寄存器堆分配时,若需要回写矢量寄存器,并且有空闲的所述矢量独享物理寄存器堆表项,则分配对应的表项,并更新所述矢量重命名表。5.根据权利要求2所述针对RISC
‑
V矢量与浮点寄存器的物理寄存器堆分配装置,其中,所述重命名分配控制逻辑确定所述物理寄存器堆分配时,若需要回写浮点寄存器,而没有空闲的浮点独享物理寄存器堆表项,或者需要回写矢量寄存器,而没...
【专利技术属性】
技术研发人员:罗嘉蕙,
申请(专利权)人:进迭时空杭州科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。