ARM指令集為32位指令集,可以實(shí)現ARM架構下所有功能。Thumb指令集是對32位ARM指令集的擴充,它的目標是為了實(shí)現更高的代碼密度。Thumb指令集實(shí)現的功能只是 32位A R M指令集的子集,它僅僅把常用的A R M指令壓縮成16位的指令編碼方式。在指令的執行階段,16位的指令被重新解碼,完成對等的32位指令所實(shí)現的功能。與全部用ARM指令集的方式相比,使用Thumb指令可以在代碼密度方面改善大約30%。但是,這種改進(jìn)是以代碼的效率為代價(jià)的。盡管每個(gè)Thumb指令都有相對應的ARM指令,但是,相同的功能,需要更多的Thumb指令才能完成。因此,當指令預取需要的時(shí)間沒(méi)有區別時(shí),ARM指令相對Thumb指令具有更好的性能。
評論