gpt4 book ai didi

arm - 为什么无符号类型在 arm cpu 中更有效?

转载 作者:行者123 更新时间:2023-12-04 01:37:17 27 4
gpt4 key购买 nike

我正在阅读 arm 手册并提出此建议,但未提及原因。

为什么无符号类型更快?

最佳答案

在 ARMv4 之前,ARM 没有对加载半字和有符号字节的 native 支持。要加载有符号字节,您必须LDRB然后对值进行符号扩展( LSL 向上,然后 ASR 向下)。这太痛苦了charunsigned默认情况下。

在 ARMv4 中添加了指令来处理半字和有符号值。这些新指令必须被压缩到可用的指令空间中。可用空间的限制意味着它们不能像原始指令那样灵活,原始指令能够在加载值时进行各种地址计算。

所以你可能会发现 LDRSB例如,无法将内存提取与地址计算结合起来,而 LDRB可以。这可能会花费周期。有时我们可以返工short - 对 ints 进行操作的繁重代码为了避免这种情况。

我的网站上有更多信息:http://www.davespace.co.uk/arm/efficient-c-for-arm/memaccess.html

关于arm - 为什么无符号类型在 arm cpu 中更有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3093669/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com