拇指模式如何以比ARM更节能的方式工作?

拇指模式如何以比ARM更节能的方式工作?,arm,computer-architecture,thumb,Arm,Computer Architecture,Thumb,由于Thumb使用16位指令,而ARM使用32位指令。处理器通过什么方式使其更节能?通过关闭某些单元?一切保持不变,THUMB指令将减少RAM的读取量(如果是XIP,则为FLASH),对于使用ARM指令完成的相同计算量,I-Cache上的压力也会减少。由于内存消耗减少,因此页面错误和非易失性存储导致的页面插入也会减少。这就是说,如果节省的成本是显著的或可量化的,ARM营销团队会给出比较数字。能源效率将取决于芯片。也就是说,制造晶体管的化学过程,等等。因为你可以查找两个16位指令,内存总线是1/2

由于
Thumb
使用16位指令,而
ARM
使用32位指令。处理器通过什么方式使其更节能?通过关闭某些单元?

一切保持不变,THUMB指令将减少RAM的读取量(如果是XIP,则为FLASH),对于使用ARM指令完成的相同计算量,I-Cache上的压力也会减少。由于内存消耗减少,因此页面错误和非易失性存储导致的页面插入也会减少。这就是说,如果节省的成本是显著的或可量化的,ARM营销团队会给出比较数字。

能源效率将取决于芯片。也就是说,制造晶体管的化学过程,等等。因为你可以查找两个16位指令,内存总线是1/2繁忙。总线晶体管消耗大量能量,因为它们在芯片之间的距离更大,并且总线上可能有多个存储设备。这与编程无关,最好是看谁说Thumb与能源效率有关?(真正的问题;我对这是从哪里来的感兴趣)当然,最初的设计纯粹是为了代码密度,也就是说,设计需要更少的ROM,也可以使用更便宜的16位ROM,但仍然可以管理每个周期的指令提取。这可能会使早期的CPU消耗更多的电能,因为他们只是在流水线的前端安装了一个额外的Thumb-to-ARM解码器工作台。@不像我认为这来自于ARM许可证持有人生产/使用的营销材料。特别是针对8/16位体系结构的MCU世界。高代码密度允许更少的flash读取,等等。我认为很明显,基于arm的电子书可以运行数天,而其他电子书可以运行数小时。这不是一个thumb vs arm的事情,甚至不是arm vs其他处理器的事情,有很多因素可以做,就像为调试器编译代码会添加一堆垃圾,但是如果你真的试图让它变得精简、平均和高效,你可以运行得更快或拥有更小的二进制文件,等等@auselen,没错,潜力是存在的,设计可能是可行的,但从整个公司/系统的角度来看,部门/团队并没有走到一起,也可能有其他因素(态度和意见),但尽管如此,我们仍然处在我们的位置,对于设备中的每一个其他处理器,您可能都有一些武器。对于每台x86计算机,平均每个人都有几个基于arm的设备(更不用说x86机箱中的少数设备了)。只是一些有趣的东西,看看这些事情是如何展开的。