ARM技术william hill官网
直播中

河神大人

8年用户 1506经验值
擅长:电源/新能源
私信 关注
[问答]

请问一下ARM指令的条件码有何作用?

ARM指令是什么?有哪些?ARM处理器中指令的条件码有何作用?

回帖(3)

夏日余晖

2022-7-8 16:30:02
ARM指令集是指计算机ARM操作指令系统。在ARM中有两种方式可以实现程序的跳转:一种是跳转指令;另一种是直接向PC寄存器(R15)中写入目标地址值。

ARM指令集可以分为跳转指令、数据处理指令、程序状态寄存器(PSR)处理指令、加载/存储指令、协处理器指令和异常产生指令六大类。
举报

夏日余晖

2022-7-8 16:30:21
可以实现条件执行和分支,各种循环和判断中都要用到,也避免了不必要的开支。

条件码为0000,该指令在且仅在CPSR中Z = 1时被执行。

条件码为1000,该指令在且仅在CPSR中C = 1 && Z = 0时被执行。

条件码为1110,无条件执行该指令。

一些体系结构研究中认为,条件码配合编译器,在硬件分支预测威廉希尔官方网站 性能有限的情况下,可以提高分支性能。

不过类似的设计在RISC-V被放弃了,原因是其占据指令集编码的开销不足以cover简单分支预测性能的提升幅度。RV选择约定静态分支预测时,BP单元遇到分支统一选择向后跳转,编译器也尽可能产生向后跳转的分支代码。
举报

夏日余晖

2022-7-8 16:30:34
可以实现条件执行和分支,各种循环和判断中都要用到,也避免了不必要的开支。

条件码为0000,该指令在且仅在CPSR中Z = 1时被执行。

条件码为1000,该指令在且仅在CPSR中C = 1 && Z = 0时被执行。

条件码为1110,无条件执行该指令。

一些体系结构研究中认为,条件码配合编译器,在硬件分支预测威廉希尔官方网站 性能有限的情况下,可以提高分支性能。

不过类似的设计在RISC-V被放弃了,原因是其占据指令集编码的开销不足以cover简单分支预测性能的提升幅度。RV选择约定静态分支预测时,BP单元遇到分支统一选择向后跳转,编译器也尽可能产生向后跳转的分支代码。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分