CPU中的新指令集 [英] New instruction sets in CPU

查看:0
本文介绍了CPU中的新指令集的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

每一代新CPU都会引入一些新的指令集,如MMX、3DNOW、SSE等。

我有几个关于它们的一般性问题:

  1. 如果某些程序使用例如SSE指令,它是否可以在不支持SSE的CPU上运行?
  2. 如果是,是否意味着这些指令将更改为更多更简单的指令?
  3. 如果没有,这是否意味着这些新指令的真正性能影响将在几年后,届时大多数CPU将支持这种技术(因此不会有任何不兼容)?
  4. 当我编译一个经过优化的C++程序时,这是否意味着它将使用某些新指令?(我知道这取决于许多因素,特别是代码,但我想要一些一般性的答案)。或者它们主要是为用ASM编写的程序保留的?

推荐答案

  1. 是和否:CPU将认为它们无效,但如果程序检查CPU是否支持这些指令,则它可以回退到不使用这些指令的版本,从而允许程序无论如何都可以运行。
  2. 该程序必须使用More";Basic";指令提供替代实现,并知道何时使用哪个指令。
  3. 由于程序可以检查CPU,因此可以立即获得好处,但当然,如果您的用户使用不支持这些指令的CPU,他们将看不到任何好处。
  4. 这将完全取决于编译器和优化器。有些指令集可能被认为足够旧,以至于编译器将始终使用它们,除非您告诉它不要使用它们,而另一些指令集则相反:您必须告诉编译器使用它们。它是否还会自动创建回退也将取决于编译器。

这篇关于CPU中的新指令集的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆