浅谈ARM指令集


众所周知.Intel通过发布新版的”多媒体指令集”领跑X86处理器.就是SSE啦..

一旦相关厂商未能及时跟上Intel的脚步,那么最新版的应用程序就无法使用指令集接口做优化…
而我们所看到的ARM处理器也是有指令集的.
同理可得.如果使用的处理器指令集更新了,却不对应用软件做新指令集的优化则无法得到真正的性能提升…
为什么在这里说这个问题.主要是由于嵌入式系统的开发,都必须要过这个坎….选指令集….
通常一个小公司一旦选择择某个指令集的就一直会按照那个指令集走下去…为什么?因为重写代码的成本是很高的.而且软件编译器也得重新开发,否则第三方软件编译之后无法更有效率的运行在使用新指令集的CPU上.
我们可以注意到…iphone是跨指令集的(v6和v7).因为曾经使用过ARM11架构(v6指令集),而3GS是cortex A8(V7指令集),所以个人认为从3G到3Gs的开发是相当费钱的一步..
______________________________________________________________
当然google的系统和nokia的系统也都是跨指令集的….nokia是元老级的,而google的情况和apple差不多.
nokia每次要跨指令集通常都会发布新的FP补丁包过渡(比如说S603rd FP2),所以会显得比较明显.而且最糟的是nokia在兼容性方面做的相当差(也可能是故意的),S60v2就和S60v3的软件完全不兼容,v2支持v5te和v4t指令集的CPU,而v3支持v5te和v6指令集的CPU,甚至非常遗憾的说S60系统现在不支持V7指令集,这也是为什么nokia要特地生产一款linux终端来用cortex A8.
当然,这也可能未必是由于nokia实力太差.而是,兼容性确实很难兼顾.
如果苹果也是和nokia一样从v4t指令集开始做,它就能保证一路走下来全部兼容吗?
google目前似乎更倾向支持v6指令集的CPU,以换取更统一的平台(nexus one的ARM11CPU)
________________________________________________________________
这么说起来,是否支持A8的优劣就出来了.
支持A8,开发成本会上升(且在频率没有拉升之前无法看到性能提升),开发周期会延长,但会便于今后A9处理器的无痛过渡.可以扩大OS的使用范围,因为还有预留的性能提高空间.
不支持A8,节约开发成本,保持兼容性,缩短开发周期,降低开发难度.但会缩小终端的使用范围,因为性能已接近上限.
这在GPGPU未雨绸缪的时候显得非常敏感,如果GPGPU可以解决CPU性能瓶颈,那么便携式设备是否还会对CPU的速度如此渴求呢?也许A4处理的真实架构可以为我们揭开apple的想法…
tips:RTOS为实时系统realtime os,这个通常不会出现手机平台上,而只会出现在一些对可靠性要求极高的设备上(医疗装置,生命维持装置).
      而红色的platform OS就是我们的手机系统或者机顶盒一类的嵌入式系统了.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值