鲲鹏920指令集简介---脚本移植案例

华为鲲鹏处理器基于ARM架构。ARM是一种CPU架构,有别于Intel、AMD CPU采用的CISC复杂指令集,ARM CPU采用RISC精简指令集(Reduced Instruction Set Computer)。

传统的CISC体系由于指令集庞大,指令长度不固定,指令执行周期有长有短,使指令译码和流水线的实现在硬件上非常复杂,给芯片的设计开发和成本的降低带来了极大困难。

随着计算机技术的发展需要不断引入新的复杂的指令集,为支持这些新增的指令,计算机的体系结构会越来越复杂。然而,在CISC指令集的各种指令中,其使用频率却相差悬殊,大约有20%的指令会被反复使用,占整个程序代码的80%。而余下的80%的指令却不经常使用,在程序设计中只占20%,显然,这种结构是不太合理的。

针对这些明显的弱点,1979年美国加州大学伯克利分校提出了RISC的概念。RISC并非只是简单地去减少指令,而是把着眼点放在了如何使计算机的结构更加简单合理地提高运算速度上。

RISC结构优先选取使用频率最高的简单指令,避免复杂指令。将指令长度固定,指令格式和寻址方式种类减少。以控制逻辑为主,不用或少用微码控制等措施来达到上述目的。

ARM架构具有更好的并发性能,匹配业务特征能耗比更佳,更加灵活丰富的选择,业界热点快速发展。

华为鲲鹏处理器兼容Armv8指令集,详细信息请参考《ARM® Architecture Reference Manual Armv8, for Armv8-A architecture profile》。

本文档详细描述了华为鲲鹏920处理器指令替换的相关案例,主要适用于使用华为鲲鹏920处理器的以下人员:
-m64编译选项
更新时间:2023/09/22
暂无评分
我要评分
现象描述
告警信息:gcc: error: unrecognized command line option ‘-m64’。

可能原因
-m64是x86 64位应用编译选项,m64选项设置int为32bits及long、指针为64 bits,为AMD的x86 64架构生成代码。在Arm64平台无法支持。

处理步骤
将Arm64平台对应的编译选项设置为-mabi=lp64。
char数据类型的符号
更新时间:2023/09/22
3.0
我要评分
现象描述
告警信息:warning: comparison is always false due to limitedrange of data type。

可能原因
char变量在不同CPU架构下默认符号不一致,在x86架构下为signed char,在Arm64平台为unsigned char,移植时需要指定char变量为signed char。

处理步骤
在编译选项中加入“-fsigned-char”选项,指定Arm64平台下的char为有符号数。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值