密码处理器的编译器代码生成方法及相关设备技术

技术编号:33711822 阅读:19 留言:0更新日期:2022-06-06 08:46
本申请公开了一种密码处理器的编译器代码生成方法及相关设备,该方案中,首先,获取数据流图,所述数据流图对应多个指令;然后,从所述数据流图对应的各个指令中,筛选出可调度指令,并确定每个可调度指令的候选簇;再从所述可调度指令中确定预设数量的目标指令,并基于每个目标指令的候选簇确定所述目标指令所在簇;所述预设数量与一条超长指令内指令槽的数量一致;最后,基于所述目标指令内的操作数的候选寄存器类型以及所述目标指令所在簇,对所述目标指令内的操作数进行寄存器分配,该方案适用于VLIW架构密码处理器的编译器代码生成,且能够降低编译时间,提升生成程序的性能。提升生成程序的性能。提升生成程序的性能。

【技术实现步骤摘要】
密码处理器的编译器代码生成方法及相关设备


[0001]本申请涉及计算机
,更具体的说,是涉及一种密码处理器的编译器代码生成方法及相关设备。

技术介绍

[0002]VLIW(Very Long Instruction Word,超长指令字)架构密码处理器是指采用VLIW架构的密码专用指令集处理器。VLIW架构是根据程序并行性和资源可用性对多条指令编码,组成一条在一个周期内执行的超长指令。其核心思想是将指令调度从硬件转移到编译器上。
[0003]VLIW架构密码处理器采用了特殊的超长指令字架构,和传统的超长指令字架构处理器相比,采用了任意读、固定写的寄存器访问方式,采用了可重构的运算单元,簇内包括通用寄存器、密钥寄存器和配置寄存器三类寄存器文件,采用了不同字长的指令和簇间运算单元级联的方式以适应灵活的密码运算位宽。传统的超长指令字架构处理器的密码处理器的编译器代码生成方法不适用于VLIW架构密码处理器。
[0004]因此,如何提供一种适用于VLIW架构密码处理器的密码处理器的编译器代码生成方法,成为本领域技术人员亟待解决的技术本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种密码处理器的编译器代码生成方法,其特征在于,所述方法包括:获取数据流图,所述数据流图对应多个指令;从所述数据流图对应的各个指令中,筛选出可调度指令,并确定每个可调度指令的候选簇;从所述可调度指令中确定预设数量的目标指令,并基于每个目标指令的候选簇确定所述目标指令所在簇;所述预设数量与一条超长指令内指令槽的数量一致;基于所述目标指令内的操作数的候选寄存器类型以及所述目标指令所在簇,对所述目标指令内的操作数进行寄存器分配。2.根据权利要求1所述的方法,其特征在于,所述从所述数据流图对应的各个指令中,筛选出可调度指令,并确定每个可调度指令的候选簇,包括:基于所述数据流图,确定无前驱结点的指令列表;从所述无前驱结点的指令列表中,筛选出可调度指令,并确定每个可调度指令的候选簇。3.根据权利要求1所述的方法,其特征在于,所述从所述可调度指令中确定预设数量的目标指令,并基于每个目标指令的候选簇确定所述目标指令所在簇,包括:确定各可调度指令的优先级;基于所述各可调度指令的优先级,从所述可调度指令中确定预设数量的目标指令;针对每个目标指令,确定所述目标指令的候选簇对应的寄存器文件间的最大压力差;基于所述目标指令的候选簇对应的寄存器文件间的最大压力差确定所述目标指令所在簇。4.根据权利要求3所述的方法,其特征在于,所述确定各可调度指令的优先级,包括:针对每个可调度指令,确定所述可调度指令的可移动性、后继结点个数和字长;基于所述可调度指令的可移动性、后继结点个数和字长,确定所述可调度指令的优先级。5.根据权利要求4所述的方法,其特征在于,所述确定所述可调度指令的可移动性,包括:基于所述数据流图,确定所述可调度指令的最早执行时间和最晚执行时间;基于所述可调度指令的最早执行时间和最晚执行时间,确定所述可调度指令的可移动性。6.根据权利要求1所述的方法,其特征在于,所述指令内的操作数的候选寄存器类型的确定方式,包括:确定所述指令内的操作数...

【专利技术属性】
技术研发人员:李伟吴艾青别梦妮陈韬南龙梅杜怡然金羽
申请(专利权)人:中国人民解放军战略支援部队信息工程大学
类型:发明
国别省市:

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

1