常见的ARM是32位的,其中有个Thumb模式,即16位模式。在标准32位模式下,可以切换到Thumb模式下,这样的话,代码大小会压缩不少,以此提高空间利用率。同样的代码,如果用Thumb模式的话,比用普通ARM模式的指令,代码大小最大可以减少大约40%。程序可以通过对应的指令,在ARM和Thumb模式之间切换。1.1.1. 软件检测CPU处于何种模式软件可以通过检测CPSR寄存器中Thumb位,来判断当前是处于ARM模式还是Thumb模式。1.2. MIPS中的MIPS16e ASE对应的,MIPS中也有个类似的做法。普通MIPS是32位的,当然也有MIPS64的。MIPS中有个MIPS16e ASE ,其中ASE是Application Specific Extension,(根据应用的)专用扩展。关于为何叫做ASE,我的理解是,MIPS16e ASE是针对MIPS32来说的,是对其一种扩展,是在,某些特定的应用(多为嵌入式应用)下减少代码大小,方面的扩展,因此,才叫做Specific Extension专用扩展。MIPS16e ASE也常被简称为MIPS16e。在MIPS16e ASE之前,有个MIPS16™,提供了一些额外的指令,用于提高代码的兼容性。而MIPS16eASE,可以看作是MIPS16™的增强版。相比MIPS32,利用MIPS16e编译的应用程序平均减小30%,最多可减少40%。MIPS16e的指令集,兼容MIPS32 和 MIPS64的指令集。程序也可以在MIPS16e 模式和MIPS 32位模式之间切
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !