【技术实现步骤摘要】
一种寄存器访问时序的管理方法、处理器、电子设备及计算机可读存储介质
本申请涉及寄存器资源管理领域,尤其涉及一种寄存器访问时序的管理方法、处理器、电子设备及计算机可读存储介质。
技术介绍
目前,在基于流水线技术实现的处理器中,通常是将一条指令拆分为多个阶段来执行以便达到并行执行多条指令的目的,从而提高程序指令的执行效率、实现处理器的最高主频。然而,在并行执行多条指令的情况下,不可避免的将在不同指令之间发生寄存器访问时间的冲突,从而导致指令操作数的读取错误和运行结果错误。比如,指令2在第3个时钟周期需要从通用寄存器R1中读取指令1写回的数据,而指令1在第4个时钟周期才能将指令2所需的数据写回R1中,因此指令2在第3个时钟周期从R1中读取的数据并不是真正需要的数据。又如,指令1和指令2在同一个时钟周期向同一个寄存器写回数据,从而造成访问时间冲突。因此,处理器需要对不同指令对寄存器的访问时序进行管理,避免寄存器访问冲突。现有的基于硬件实现的寄存器访问时序的管理方法的设计难度大、实现成本高。而基于编译器的寄存器访问时序的管理,将导致编译器需要同时兼顾优化编译和消除寄存器访问冲突,从而增加编译器的设计难度、影响处理器的整体性能。
技术实现思路
本申请实施例提供一种寄存器访问时序的管理方法、装置、电子设备及计算机可读存储介质,可以降低处理器硬件设计的复杂度、提高寄存器的资源利用率。本申请实施例第一方面提供了一种寄存器访问时序的管理方法,包括:获取在多个时钟周期中的每个时钟周期内执 ...
【技术保护点】
1.一种寄存器访问时序的管理方法,其特征在于,所述方法包括:/n获取在多个时钟周期中的每个时钟周期内执行第一指令访问寄存器的第一访问信息,所述第一指令为已确定在所述每个时钟周期到来时开始生效的指令;/n当接收到第二指令时,确定执行所述第二指令访问寄存器的第二访问信息;/n根据所述第一访问信息和所述第二访问信息,确定执行所述第一指令访问寄存器与执行所述第二指令访问寄存器之间的时序关系。/n
【技术特征摘要】
1.一种寄存器访问时序的管理方法,其特征在于,所述方法包括:
获取在多个时钟周期中的每个时钟周期内执行第一指令访问寄存器的第一访问信息,所述第一指令为已确定在所述每个时钟周期到来时开始生效的指令;
当接收到第二指令时,确定执行所述第二指令访问寄存器的第二访问信息;
根据所述第一访问信息和所述第二访问信息,确定执行所述第一指令访问寄存器与执行所述第二指令访问寄存器之间的时序关系。
2.如权利要求1所述的方法,其特征在于,所述确定执行所述第一指令访问寄存器与执行所述第二指令访问寄存器之间的时序关系之后,还包括:
当所述时序关系为时间冲突时,延迟执行所述第二指令。
3.如权利要求1所述的方法,其特征在于,所述第一访问信息包括在每个时钟周期内执行第一指令所访问的寄存器的第一标识信息;所述第二访问信息包括执行所述第二指令所访问的寄存器的第二标识信息、以及执行所述第二指令访问寄存器的时间信息;
所述根据所述第一访问信息和所述第二访问信息,确定执行所述第一指令访问寄存器与执行所述第二指令访问寄存器之间的时序关系包括:
根据所述时间信息,确定所述多个时钟周期中的目标时钟周期,所述目标时钟周期为执行所述第二指令访问寄存器的时钟周期;
确定在所述目标时钟周期内执行所述第一指令所访问的寄存器的第一标识信息与执行所述第二指令所访问的寄存器的第二标识信息是否相同;
当所述第一标识信息与所述第二标识信息相同时,确定所述时序关系为时间冲突。
4.如权利要求3所述的方法,其特征在于,所述第一访问信息还包括多个数据端口中的每个数据端口在所述每个时钟周期内的端口状态信息,所述每个数据端口用于对寄存器进行访问;
所述确定在所述目标时钟周期内执行所述第一指令所访问的寄存器的第一标识信息与执行所述第二指令所访问的寄存器的第二标识信息是否相同之前,还包括:
根据所述端口状态信息,确定所述每个数据端口在所述目标时钟周期内的使用状态;
当所述多个数据端口中的至少一个数据端口所述目标时钟周期内处于空闲状态时,执行所述确定在所述目标时钟周期内执行所述第一指令所访问的寄存器的第一标识信息与执行所述第二指令所访问的寄存器的第二标识信息是否相同的操作。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
当所述时序关系不为时间冲突时,根据所述端口状态信息,选择处于所述空闲状态的数据端口对执行所述第二指令所访问的寄存器进行写入。
6.如权利要求1所述的方法,其特征在于,所述第一访问信息包括在所述每个时钟周期内的执行所述第一指令所访问的寄存器的第...
【专利技术属性】
技术研发人员:曹庆新,李炜,
申请(专利权)人:深圳云天励飞技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。