Dannysd 发表于 2014-12-30 11:05

[小白提问]关于CPU指令集的疑惑

一直不明白CPU指令集具体是指什么?

CPU指令集和扩展指令集是不是一回事儿?

所谓的指令集是不是就是规定在CPU进行运算的时候规定使用哪些寄存器?
比如加法的时候规定使用%esp什么的,浮点运算的时候规定使用另外一个

不同平台(x86 arm mips)使用的指令集不一样是不是也是指的这些上的差异?而导致这些差异的原因是逻辑电路设计的不同?

不好意思实在是小白,说得可能有点乱,请高手来给讲讲,多谢,多谢

super皮波 发表于 2014-12-30 13:42

也是小白,跟着讨论一下
百度
指令集是存储在CPU内部,对CPU运算进行指导和优化的硬程序。拥有这些指令集,CPU就可以更高效地运行。Intel有x86,x86-64,MMX,SSE,SSE2,SSE3,SSSE3 (Super SSE3),SSE4.1,SSE4.2和针对64位桌面处理器的EM-64T。AMD主要是3D-Now!指令集。
个人理解指令集就是当前cpu上能够提供的所有操作

所谓的指令集是不是就是规定在CPU进行运算的时候规定使用哪些寄存器?
比如加法的时候规定使用%esp什么的,浮点运算的时候规定使用另外一个

和这个无关吧,这是编译的时候决定的,具体用那个寄存器都是事先约定好的

Dannysd 发表于 2014-12-30 14:24

回复 2# super皮波


    感谢super皮波回复

    看了百度词条,大概能明白了

    "CPU依靠指令来计算和控制系统,每款CPU在设计时就规定了一系列与其硬件电路相配合的指令系统。"
   
    还是一套电路一套指令啊。。。。

    “对于CPU来说,在基本功能方面,它们的差别并不太大,基本的指令集也都差不多,但是许多厂家为了提升某一方面性能,又开发了扩展指令集,扩展指令集定义了新的数据和指令,能够大大提高某方面数据处理能力,但必需要有软件支持。”

    扩展指令集是为了提升某一方面的性能,且要有软件支持
页: [1]
查看完整版本: [小白提问]关于CPU指令集的疑惑