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