Slide 1
Slide 2
Slide 3
Slide 4
Slide 5
Slide 6
Slide 7
Slide 8
Slide 9
Slide 10
Slide 11
Slide 12
Slide 13
Slide 14
Slide 15
Slide 16
Slide 17
Slide 18
Slide 19
Slide 20
Product List
The Thumb instruction set is a subset of the ARM instruction set. The ARM instruction set is a 32-bit instruction set; the Thumb instruction set is a 16-bit instruction set. The most common ARM instructions were re-coded and compressed into 16 bits. Once the 16 bits are fetched from memory, they are decompressed to 32-bit instructions before they are decoded and executed. All operations are still 32-bit operations using 32-bit data and registers. To make the Thumb instruction set more efficient and smaller, the option to conditionally execute Thumb instructions has been removed. When using Thumb instructions, code density is improved by approximately 30%. This saves program memory space, which is important for single-chip solutions without an external memory interface. Since it typically takes more instructions in Thumb code to do the same task in ARM code, there is usually a performance penalty. There is a definite tradeoff between speed that you would get using ARM code or code density than you would achieve using Thumb code. Essentially, the designers have the option to optimize code towards either speed or density by using one or the other instruction set.
PTM Published on: 2011-11-02