4 ms·
>I think its popularity stemmed from its energy efficiency rather than elegance… Specifically, Thumb and Thumb2 density was excellent, and remained unbeaten un
by snvzz 4y ago
>I think its popularity stemmed from its energy efficiency rather than elegance…
Specifically, Thumb and Thumb2 density was excellent, and remained unbeaten until quite recently (2022, RISC-V B+Zc).
But then aarch64 did, to everyone's surprise, ditch variable instruction size, and with it lost its code density advantage.
- Symmetry 4y agoaarch64 is only targeted at higher end devices where you'd expect to have at least 128 megs of RAM, enough to make the memory savings from Thumb2 not noticeable in practice. Thumb2 was remarkable for getting so close to the performance of regular Arm code, but it was always still slower for almost any task even with the reduced instruction cache pressure.
- snvzz 4y agoRAM isn't much of a concern, relative to significantly increased needs for cache sizes and ROM sizes. Aarch64 very much loses out; Microcontrollers are resource-constrained, so they won't use it. High performance implementations (like Apple's M1) need to work around code density by making caches larger, or even having a microop cache; this all has transistor count cost, which imposes area cost, power cost and maximum clock cost.