泡泡网CPU频道 PCPOP首页      /      CPU     /      评测    /    正文

K8神威终于显露!纯64位应用全球首测

    我们都知道,处理器所处理的普通指令一般由操作码(OP Code)和操作数(Operand)组成。其中操作数可以是等待处理的数据,也可以是待处理数据的内存地址。而操作码则描述将要对操作数进行何种处理。

    需要强调的是,通常所说的64位指令,并不是指指令的全长或操作码的长度为64位,而是指操作数所能达到的最大位数为64位。通过下面的图示,我们可以很好地理解64位指令和64位处理器的本质。

 64位指令工作原理示意图

    由于操作数一般需要存放在通用寄存器中,因此64位处理器通用寄存器的尺寸也必须是64位。这样我们就很容易理解K8处理器里通用寄存器结构的上半部分(指RAX-RSP部分,下半部分我们后边再提)。如下图所示:

  K8通用寄存器的扩展,点击查看详图

    从上面的图示可以看出,相对于传统的X86处理器而言,K8在进行64位扩展的时侯,把8个通用寄存器增加到了64位,同时增加了指令指针寄存器的位数为64位。

    至于寻址方面,由于地址数据只不过是整数操作数中的一种,因此同样使用GPR。这样,64位处理器所能处理的地址数据长度自然就增加到了64位,从而大大增加了处理器的寻址空间。

    当然,为了简化起见,以上我们所说的操作数,只不过是现代CPU所处理的操作数中的整数数据(地址数据)。它们由处理器中的ALU(算术逻辑单元)和AGU(地址生成单元)进行处理,一般使用通用寄存器(GPR)来保存。实际上,我们还需要处理通常保存在浮点寄存器、MMX以及XMM寄存器里的浮点以及其它多种数据。

    不过,在我们进一步谈这些除了整数和地址数据外其它数据类型在64位处理器中的处理状况前,我们必须首先了解一些有关寄存器和数据类型的基本知识。

0人已赞

关注我们

泡泡网

手机扫码关注