cpu指令和应用程序间关系

这么说吧,CPU的控制权在操作系统内核和应用程序之间转来转去,当内核获得控制权时,CPU执行操作系统的指令,操作系统做操作系统应该做的事,也就是进程管理,内存管理,设备管理,文件管理等这一类的事情,MMX,SSE,AES/AVX这些新指令集大多是增强浮点运算,多媒体处理之类性能的,内核使用的意义不大,也尽可能不去使用这些特殊的指令集来完成,这样无需修改内核就可以在兼容的CPU上运行。

   当应用程序获得控制权时,CPU执行应用程序的指令,而应用程序可以使用任何CPU支持的指令集。一般来说,为了获得更好的性能,应用程序会尽可能使用新的指令集以更好的完成任务。

   只要在某个操作系统上运行的应用程序,就不存在什么不经过操作系统这一层这一说,必须经过操作系统,至少上面说的CPU控制权的转移就是由操作系统完成的。但是操作系统不关心应用程 序使用了什么指令集,它只需要将CPU的控制权转移到应用程序就可以了。操作系统也不关心应用程序使用 高级语言还是汇编语言来编写。因为最终都会变成机器语言。

   一般来说,当新的指令出来时,编译器厂商会跟进推出支持新指令集的汇编器,然后会推出支持这些新指令集的高级语言编译器,使用这些新的汇编器,编译器即可生成使用新指令集的应用程序。如果高级语言编译器 暂时不支持,那么就用支持的汇编器,用汇编语言写。如果连汇编器都还没推出,那么只 好用机器语言了。

   比如下面这样的新闻:
  Intel日前对Intel编译器软件进行了更新,他们面向Windows/Linux/Mac OS X操作系统发布了最新版本的Intel Compiler Professional Editions 11.1。新版本的编译器将支持Intel高级向量指令集扩展(AVX),AVX是Intel Nehalem架构的继任者Sandy Bridge中所新增的指令集扩展.这次更新还改善了编译器与微软Visual Studio/Eclipse/Xcode等开发工具的兼容性。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值