「指令集」让CPU更高效 扩展指令集那点事


在CPU的一代一代“进化”中 , 除了频率、缓存乃至核心结构的变化外 , 有一个不太起眼的升级经常会被小伙伴们忽略 , 就是“扩展指令集” 。 指令集很多小伙伴大概耳熟 , 它就是指挥CPU工作的指令 。 不过扩展指令集又是什么?对我们使用有什么影响呢?
「指令集」让CPU更高效 扩展指令集那点事
本文插图
用一个简单的例子来说 , 如果说指令集是让CPU理解“9×9就是9个9连加”这种基本常识并进行计算的话 , 扩展指令集就可以看做是乘法口诀表、开方查询表一类的东西 , 可以大幅提升效率 。 比如SSE、AVX指令集就可以提升浮点运算能力 , 进而提升游戏速度 。
「指令集」让CPU更高效 扩展指令集那点事
本文插图
另外还有一些指令集是开启新功能必不可少的 , 比如i7-3770的性能不比九代的i3差 , 但因为缺少FMA3指令集 , 在玩《怪物猎人世界》、CEMU模拟器时就会出问题 。 现在很多小伙伴用的虚拟机要想运行更流畅 , 也需要CPU有指令集和专用单元支持才行 。
那让CPU尽量支持多多的指令集 , 覆盖的能力越全面越好呗 。 这可不行 , 因为这些指令都需要设置一些专门的编解码甚至处理电路 , 会加大芯片的复杂度 。 要保持芯片的体型 , 只能挑一些常用或者通用性强的指令 。 就像我们乘法口诀表背到9×9就好 , 更大的数字计算用口诀结合计算公式也很方便 。
「指令集」让CPU更高效 扩展指令集那点事
本文插图
挑选CPU的时候 , 咱们也不必追求指令集更多更全面 , 比如现在有些CPU支持面向商用的博锐(vPro)指令集 , 这个真的是在大型专业商用软件中才会用 , 家用、娱乐、游戏电脑选这些CPU绝对是浪费钱 。
「指令集」让CPU更高效 扩展指令集那点事
本文插图
可是分清各种指令集真的很难 , 更不要说这些指令集居然还有版本的不同 , 比如SSE 4.1和4.2 , 怎么知道其中哪些需要哪些不需要呢?其实也很简单 , 就和挑选显卡一样 , 在性能、价格类似的情况下 , 尽量选更新的CPU就好 , 这样即使是入门级CPU也可以保证大家用上现在乃至未来一段时间的主流指令集了 。
【「指令集」让CPU更高效 扩展指令集那点事】
「指令集」让CPU更高效 扩展指令集那点事
本文插图