System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种压缩指令的执行方法及系统级芯片技术方案_技高网

一种压缩指令的执行方法及系统级芯片技术方案

技术编号:40876921 阅读:5 留言:0更新日期:2024-04-08 16:46
一种压缩指令的执行方法及系统级芯片,该压缩指令的执行方法适用于物联网场景下的处理器CPU,用以通过压缩指令进行IO操作时,减少所需指令数量,提高指令执行效率,该方法包括:解析GPIO压缩指令中的位操作信息、CPU内第一通用寄存器的第一索引、CPU内第二通用寄存器的第二索引以及地址偏移的偏移值;根据地址偏移与目标位的对应关系及偏移值,确定对第一索引指示的目标数据进行位操作的目标位;根据第二索引指示的源数据在目标位的第一数值,从位操作信息中确定位操作;目标数据存储于第一通用寄存器指示的输出寄存器中;源数据存储于第二通用寄存器中;通过输出寄存器的GPIO接口对目标数据中目标位的第二数值执行位操作。

【技术实现步骤摘要】

本申请涉及芯片,尤其涉及一种压缩指令的执行方法及系统级芯片


技术介绍

1、micromipstm是一种在单个统一的mips32指令集架构中集成16位和32位优化指令的高性能代码压缩技术。它支持和release 2架构,整合了可变长度重新编码mips指令集和新增的代码量优化16位和32位指令,可提供高性能和高代码密度。

2、虽然压缩指令的代码长度大幅降低,但由于指令长度变为16位,其立即数io操作功能弱化,指令只能带5位立即数,假如gpio寄存器为16位,那么使用压缩指令进行io操作就须增加指令,指令增加导致访存次数增加,这样就对soc的io效率和功耗不利。特别是应用在物联网场景下的soc,处理器cpu最常用的动作就是执行模拟前端的采样和io操作,对功耗和指令效率有更高的要求。

3、因此,目前亟需一种方案,用以通过压缩指令进行io操作时,减少所需指令数量,提高指令执行效率。


技术实现思路

1、本申请提供一种压缩指令的执行方法及系统级芯片,用以通过压缩指令进行io操作时,减少所需指令数量,提高指令执行效率。

2、第一方面,本申请提供一种压缩指令的执行方法,适用于物联网场景下的处理器cpu,该方法包括:解析gpio压缩指令中的位操作信息、cpu内第一通用寄存器的第一索引、cpu内第二通用寄存器的第二索引以及地址偏移的偏移值;根据地址偏移与目标位的对应关系及所述偏移值,确定对所述第一索引指示的目标数据进行位操作的目标位;根据所述第二索引指示的源数据的第一数值,从所述位操作信息中确定所述位操作;所述目标数据存储于所述第一通用寄存器指示的输出寄存器中;所述源数据存储于所述第二通用寄存器中;通过所述输出寄存器的gpio接口对所述目标数据中所述目标位的第二数值执行所述位操作。

3、在一种可能的设计中,预先设置有地址偏移与目标位的一一对应关系;所述根据地址偏移与目标位的对应关系及所述偏移值,确定对所述第一索引指示的目标数据进行位操作的目标位,包括:根据所述地址偏移与目标位的一一对应关系,确定所述偏移值对应的进行位操作的目标位。

4、在一种可能的设计中,所述解析gpio压缩指令中cpu内第一通用寄存器的第一索引之后,还包括:基于所述第一通用寄存器中读取的基地址信息确定所述输出寄存器;其中,所述基地址信息已预先存储于所述第一通用寄存器中。

5、在一种可能的设计中,所述位操作信息包括置位操作和复位操作;所述根据所述第二索引指示的源数据的第一数值,从所述位操作信息中确定所述位操作,包括:读取所述第二索引指示的第二通用寄存器中存储的源数据的第一数值;当所述第一数值为第一值时,执行复位操作;当所述第一数值为第二值时,执行置位操作。

6、在一种可能的设计中,所述解析gpio压缩指令之前,还包括:接收第二压缩指令;所述第二压缩指令为addi指令;将所述第二压缩指令中的立即数写入所述第二压缩指令中的目的寄存器索引指示的寄存器中;所述第二压缩指令中的目的寄存器索引指示的寄存器为cpu内第二通用寄存器。

7、在一种可能的设计中,所述gpio压缩指令的第0位至第4位为地址偏移;所述gpio压缩指令的第5位至第7位为cpu内第二通用寄存器的第二索引;所述gpio压缩指令的第8位至第10位为cpu内第一通用寄存器的第一索引;所述gpio压缩指令的第11位至第15位为位操作信息。

8、在一种可能的设计中,所述地址偏移与目标位的一一对应关系包括:所述输出寄存器为16位寄存器时,所述地址偏移中的四位数字的16种编码与输出寄存器的16个输出位一一对应;所述输出寄存器为32位寄存器时,所述地址偏移中的五位数字的32种编码与输出寄存器的32个输出位一一对应。

9、在一种可能的设计中,所述确定对所述第一索引指示的目标数据进行位操作的目标位之前,还包括:确定所述gpio压缩指令为mips16e压缩指令中i类型的压缩指令。

10、第二方面,本申请实施例提供一种应用于物联网的系统级芯片,包括处理器cpu、通用型输入输出gpio接口及与所述gpio接口连接的输出寄存器;所述cpu通过压缩指令集执行gpio操作;所述cpu用于执行如第一方面任一项所述的方法。

11、在一种可能的设计中,所述cpu包括gpio模块,所述gpio模块采用rtl硬件编码来实现如第一方面任一项所述的方法。

12、上述技术方案中,解析gpio压缩指令,根据地址偏移与目标位的对应关系及偏移值,确定对第一索引指示的目标数据进行位操作的目标位,根据第二索引指示的源数据的第一数值,从位操作信息中确定位操作,进而通过输出寄存器的gpio接口对目标数据中目标位的第二数值执行相应的位操作。可以解决压缩指令中对gpio操作功能减弱的问题,对自动控制中的io操作,特别是对io执行部件要求速度比较高的应用场景,可以使io操作执行时间大幅减小,一个io功能操作需要指令数量也大幅减小,大大地提高了soc系统中mips16e的压缩指令对io操作的执行能效。

本文档来自技高网...

【技术保护点】

1.一种压缩指令的执行方法,其特征在于,适用于物联网场景下的处理器CPU,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,预先设置有地址偏移与目标位的一一对应关系;

3.根据权利要求1所述的方法,其特征在于,所述解析GPIO压缩指令中CPU内第一通用寄存器的第一索引之后,还包括:

4.根据权利要求1所述的方法,其特征在于,所述位操作信息包括置位操作和复位操作;

5.根据权利要求4所述的方法,其特征在于,所述解析GPIO压缩指令之前,还包括:

6.根据权利要求1所述的方法,其特征在于,所述GPIO压缩指令的第0位至第4位为地址偏移;所述GPIO压缩指令的第5位至第7位为CPU内第二通用寄存器的第二索引;所述GPIO压缩指令的第8位至第10位为CPU内第一通用寄存器的第一索引;所述GPIO压缩指令的第11位至第15位为位操作信息。

7.根据权利要求2所述的方法,其特征在于,所述地址偏移与目标位的一一对应关系包括:

8.根据权利要求1所述的方法,其特征在于,所述确定对所述第一索引指示的目标数据进行位操作的目标位之前,还包括:

9.一种应用于物联网的系统级芯片,其特征在于,包括处理器CPU、通用型输入输出GPIO接口及与所述GPIO接口连接的输出寄存器;所述CPU通过压缩指令集执行GPIO操作;

10.根据权利要求9所述的系统级芯片,其特征在于所述CPU包括GPIO模块,所述GPIO模块采用RTL硬件编码来实现如权利要求1至8中任一项所述的方法。

...

【技术特征摘要】

1.一种压缩指令的执行方法,其特征在于,适用于物联网场景下的处理器cpu,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,预先设置有地址偏移与目标位的一一对应关系;

3.根据权利要求1所述的方法,其特征在于,所述解析gpio压缩指令中cpu内第一通用寄存器的第一索引之后,还包括:

4.根据权利要求1所述的方法,其特征在于,所述位操作信息包括置位操作和复位操作;

5.根据权利要求4所述的方法,其特征在于,所述解析gpio压缩指令之前,还包括:

6.根据权利要求1所述的方法,其特征在于,所述gpio压缩指令的第0位至第4位为地址偏移;所述gpio压缩指令的第5位至第7位为cpu内第二通用寄存器的第二索引;所述gpi...

【专利技术属性】
技术研发人员:陈正明郑卫华陈雨祥何慧颖
申请(专利权)人:上海芯联芯智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1