关于嵌入式arm与Thumb指令的问题

很简单一个问题:为什么使用32位的存储器,arm代码比THUMB快,而使用16位的存储器,THUMB却比ARM更快呢?而且不管使用哪种存储器,THUMB的功耗都会小一点?... 很简单一个问题:为什么使用32位的存储器,arm代码比THUMB快,
而使用16位的存储器,THUMB却比ARM更快呢?

而且不管使用哪种存储器,THUMB的功耗都会小一点?

尤其是第二个问题
展开
 我来答
匿名用户
2014-01-01
展开全部
第二个问题一定对吗?功耗不一定吧,个人觉得你不能用你自己的经历就下定论说Thumb的功耗一定会小。
ARM指令集是32位的,所以操作数,地址都是32位的。当使用32位存储器,一次读取就读出了一条指令或者数据。如果使用16位存储器,需要读取两次。当然32位的指令集在32位总线宽度的系统下会快。Thumb指令集是16位的,照理说在32位系统下速度一样。但是要考虑到的是,对于32位的加减法,32位指令集一次完成,16位指令集却需要2次,更别提乘法,4次以上。所以16位指令集计算32位数据会出现问题。

具体的应用的功耗,和所需要的计算,总线带宽,编码效率,指令集使用,编译器优化都有关系。所以单说thumb的功耗一定低,肯定是错的。如果说往往比较低,倒可信一点。现在的存储器一般还是16位的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式