【技术实现步骤摘要】
系统寄存器访问方法、装置、设备及存储介质
[0001]本申请涉及计算机微处理器
,具体而言,本申请涉及一种系统寄存器访问方法
、
装置
、
设备及存储介质
。
技术介绍
[0002]系统寄存器常用于保存的是微处理器的有关配置和状态信息
。
系统寄存器访问指令包括读系统寄存器指令和写系统寄存器指令两类,读系统寄存器指令把某个系统寄存器的值读出来后存入通用寄存器,写系统寄存器指令把来自某个通用寄存器的值写入系统寄存器
。
[0003]系统寄存器集中设置在微处理器
(
如
DPU(Data Processing Unit
,数据处理器
))
中,由该微处理器将该系统寄存器提供给外部单元使用,即由外部单元向微处理器发送读写请求,由该微处理器接收和处理读写请求,以读写相应的系统寄存器
。
然而微处理器中定义的系统寄存器动辄几十个
、
几百个,甚至更多,这导致需要引入大量的读写接口以读写相应的系统寄存器,这会大量占用微处理器的空间和提升电路结构的复杂度,提升设计成本
。
技术实现思路
[0004]本申请实施例提供了一种系统寄存器访问方法
、
装置
、
设备及存储介质,可以解决需要引入大量读写接口,空间占用率高,提升电路结构复杂度和设计成本的问题
。
为了实现该目的,本申请实施例提供了如下几个方案 >。
[0005]根据本申请实施例的一个方面,提供了一种系统寄存器访问方法,该方法包括:
[0006]接收到寄存器访问指令,解码所述寄存器访问指令获得执行控制信息,所述执行控制信息包括含有待访问的系统寄存器信息的寄存器访问信息,所述系统寄存器包括内部寄存器以及通过外部单元访问的外部系统寄存器;所述外部单元与所述外部系统寄存器之间具有预先设定的映射关系;
[0007]根据所述寄存器访问信息访问系统寄存器
。
[0008]在一个可能的实现方式中,所述映射关系通过下述操作确定:
[0009]获取系统寄存器中的外部系统寄存器,确定所述外部系统寄存器对应的外部单元
。
[0010]在一个可能的实现方式中,所述接收到寄存器访问指令,解码所述寄存器访问指令获得执行控制信息,包括:
[0011]在解码阶段获取所述寄存器访问指令相关的寄存器访问参数,所述寄存器访问指令包括写入系统寄存器的指令
、
读取系统寄存器的指令中的至少一种;
[0012]在寄存器堆阶段解码所述寄存器访问参数得到所述寄存器访问信息,所述寄存器访问信息包括系统寄存器信息
、
寄存器访问指令的分类信息中的至少一种,所述分类信息包括用于指示指令未定义
、
引发陷阱的指令
、
访问外部单元的指令中的任一种信息
。
[0013]在一个可能的实现方式中,所述寄存器访问指令包括写入系统寄存器的指令,若
在访存阶段检测到将要进入写回阶段的寄存器访问指令,且所述寄存器访问指令不满足退休规则,则为所述寄存器访问指令设置停顿标记,所述根据所述寄存器访问信息访问系统寄存器包括:
[0014]在写回阶段,根据所述停顿标记和所述寄存器访问信息访问系统寄存器
。
[0015]在一个可能的实现方式中,所述根据所述停顿标记和所述寄存器访问信息访问系统寄存器,包括:
[0016]检测所述寄存器访问指令是否具有停顿标记以及流水线的状态;
[0017]若确定不具有停顿标记且流水线处于非阻塞状态,则根据所述寄存器访问信息访问系统寄存器,包括:
[0018]若通过所述寄存器访问信息确定待访问的系统寄存器为内部寄存器,则根据所述寄存器访问指令访问所述内部寄存器;
[0019]或
[0020]若通过所述寄存器访问信息确定待访问的系统寄存器为外部系统寄存器,则根据所述访问指令向所述外部系统寄存器对应的外部单元发送访问请求,并通过所述外部单元更新所述外部系统寄存器
。
[0021]在一个可能的实现方式中,所述寄存器访问指令包括读取系统寄存器的指令,所述根据所述寄存器访问信息访问系统寄存器包括:
[0022]若根据所述寄存器访问信息确定所述寄存器访问指令为预设指令,则为所述寄存器访问指令设置停顿标记,并在写回阶段,根据所述停顿标记和寄存器访问信息访问系统寄存器;
[0023]所述预设指令包括读取专用寄存器的指令
、
读取外部系统寄存器的指令中的任一种
。
[0024]在一个可能的实现方式中,所述根据所述停顿标记和所述寄存器访问信息访问系统寄存器,包括:
[0025]若通过所述寄存器访问信息确定待访问的系统寄存器为内部寄存器,则根据所述停顿标记访问所述内部寄存器;
[0026]或
[0027]若通过所述寄存器访问信息确定待访问的系统寄存器为外部系统寄存器,则向所述外部系统寄存器对应的外部单元发送读取请求
。
[0028]本申请提供一种寄存器访问装置,所述装置,包括:
[0029]指令解码模块,用于接收到寄存器访问指令,解码所述寄存器访问指令获得执行控制信息,所述执行控制信息包括含有待访问的系统寄存器信息的寄存器访问信息,所述系统寄存器包括内部寄存器以及通过外部单元访问的外部系统寄存器;所述外部单元与所述外部系统寄存器之间具有预先设定的映射关系;
[0030]访问模块,用于根据所述寄存器访问信息访问系统寄存器
。
[0031]本申请提供一种电子设备,包括存储器
、
处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现如上所述方法的步骤
。
[0032]根据本申请实施例的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤
。
[0033]本申请实施例提供的技术方案带来的有益效果是:
[0034]本申请提供的系统寄存器访问方法接收到寄存器访问指令后,解码寄存器访问指令获得执行控制信息,根据执行控制信息中的寄存器访问信息访问系统寄存器,系统寄存器包括内部寄存器
、
通过外部单元访问的外部系统寄存器,外部单元和外部系统寄存器之间具有预先设定的映射关系
。
本申请实施例将系统寄存器划分为外部系统寄存器
、
内部寄存器,将该外部系统寄存器分配给外部单元,获取寄存器访问指令后,通过寄存器访问指令获取寄存器访问信息,通过寄存器访问信息中的系统寄存器信息访问系统寄存器
。
本申请实施例将外部系统寄存器并分配给外部单元,通过外部单元访问外部系统寄存器,减少了微处理器设置的读写接口数量,降低占用空间和电本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.
一种系统寄存器访问方法,其特征在于,包括:接收到寄存器访问指令,解码所述寄存器访问指令获得执行控制信息,所述执行控制信息包括含有待访问的系统寄存器信息的寄存器访问信息,所述系统寄存器包括内部寄存器以及通过外部单元访问的外部系统寄存器;所述外部单元与所述外部系统寄存器之间具有预先设定的映射关系;根据所述寄存器访问信息访问系统寄存器
。2.
根据权利要求1所述的方法,其特征在于,所述映射关系通过下述操作确定:获取系统寄存器中的外部系统寄存器,确定所述外部系统寄存器对应的外部单元
。3.
根据权利要求1所述的方法,其特征在于,所述接收到寄存器访问指令,解码所述寄存器访问指令获得执行控制信息,包括:在解码阶段获取所述寄存器访问指令相关的寄存器访问参数,所述寄存器访问指令包括写入系统寄存器的指令
、
读取系统寄存器的指令中的至少一种;在寄存器堆阶段解码所述寄存器访问参数得到所述寄存器访问信息,所述寄存器访问信息包括系统寄存器信息
、
寄存器访问指令的分类信息中的至少一种,所述分类信息包括用于指示指令未定义
、
引发陷阱的指令
、
访问外部单元的指令中的任一种信息
。4.
根据权利要求3所述的方法,其特征在于,所述寄存器访问指令包括写入系统寄存器的指令,若在访存阶段检测到将要进入写回阶段的寄存器访问指令,且所述寄存器访问指令不满足退休规则,则为所述寄存器访问指令设置停顿标记,所述根据所述寄存器访问信息访问系统寄存器包括:在写回阶段,根据所述停顿标记和所述寄存器访问信息访问系统寄存器
。5.
根据权利要求4所述的方法,其特征在于,所述根据所述停顿标记和所述寄存器访问信息访问系统寄存器,包括:检测所述寄存器访问指令是否具有停顿标记以及流水线的状态;若确定不具有停顿标记且流水线处于非阻塞状态,则根据所述寄存器访问信息访问系统寄存器,包括:若通过所述寄存器访问信息确定待访问的系统寄存器为内...
【专利技术属性】
技术研发人员:邬宇剑,
申请(专利权)人:安谋科技中国有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。