What is Thumb?
Thumb is a 16-bit extension to ARM’s 32 bit instruction set. It enables writing of 16-bit instructions for an ARM micro. The 16-bit instructions are decompressed in to comparable 32-bit ARM instructions during processing. There are some major advantages to Thumb. Thumb code gets better code density that 32-bit ARM code. Thus there is memory saving and less power consumption with Thumb. It also enables ARM/Thumb MCUs to run efficiently from an external 16-bit data bus thus reducing the price of the LSI by reducing external bus size. When instructions are being fetched from an external 16-bit bus, Thumb code is more efficient and gets better performance results.