指令集简介
华为鲲鹏处理器基于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处理器的以下人员:
- 软件开发人员
- 应用移植人员