【发布时间】:2019-09-21 15:24:21
【问题描述】:
我听说 ARM 处理器可以在 little-endian 和 big-endian 之间切换。处理器需要这个做什么?它在安卓手机上使用吗?
【问题讨论】:
-
主要是营销复选框。默认情况下,基于 arm 指令集的产品列表非常少,它们是大端的。无论如何,大端模式并不是您所想的,它们在较新的内核上有处理字节交换的指令。让工具链工作等是一个 PITA。
-
英特尔收购了 DEC 可能是为了粉碎 alpha,但副作用是强臂变成了默认为大端的 xscale(现在由 Marvell 拥有的产品线)。当时是字不变的(BE-32)(arm 的较新内核是 BE-8,字节不变,你可以拥有一个或另一个,而不是两者)。当时很难让工具链工作(gnu/gcc),但现在更容易,尽管 BE-8 更复杂。
-
较新的内核具有可以切换模式和切换回的指令,因此您可以拥有临界区。较旧的核心是一个全局设置,您非常希望使整个系统成为大端。
标签: android arm processor cpu-architecture