性能之王还是不进反退,Prescott全
如果我们把处理器的内部架构比喻为骨架,那么在处理器上使用的指令集,则可以说是处理器的灵魂。任何一款处理器,都必须依靠指令集的帮助,才能够发挥出足够的威力。这一点,只要我们看一看SSE2、MMX或是3DNow!这样的扩展指令集对发挥处理器架构优势所起的作用就会明白。Prescott也不例外。这一次Intel为Prescott专门设计了如下表所示的13条新指令:
指令种类 | 指令助记符 |
浮点转整数指令 | FISTTP |
复杂算法指令 | ADDSUBPD, ADDSUBPS, MOVDDUP MOVSHDUP, MOVSLDUP |
视频编码指令 | LDDQU |
采用AOS格式的SIMD FP (用于图形处理) | HADDPD, HSUBPD, HADDPS, HSUBPS |
线程同步指令 | MONITOR, MWAIT |
通过在程序中使用这些指令,程序员能够更好地发挥Prescott处理器固有的架构优势,进一步提高处理器在多媒体处理、超线程应用等领域的性能表现。
此外,最令人关注的,恐怕就是Prescott处理器是否如AMD的K8系列处理器那样包含64位指令集扩展了。在不久前召开的Intel春季技术峰会上,身为Intel首席执行官之一的Craig Barrett终于亲口承认了这一点。
按照这位官员的说法,今年的第二季度,Intel就将首先在服务器市场推出核心代号为Nocona的处理器,此款处理器与Prescott内部构造基本相同,只不过添加了更大的缓存,并可以支持多处理器配置。并在此款处理器上市后不久再推出单处理器配置的服务器、工作站型Prescott处理器。而微软方面也表示将在不久的将来推出可兼容K8与Prescott处理器的64位操作系统版本。
此外,Intel还提供了用于Prescott核心64位指令集编程的指导书,从这一份指导书中,我们可以看到,Intel在Prescott处理器的64位扩展上,采取了和AMD的K8处理器十分类似的策略,同样提供了寄存器扩展和多种操作模式的支持。其中共包含两种操作模式,其一是传统的IA32模式,其二是可兼容32-64位指令的IA32e模式,各模式的具体状况见下表:
工作模式 | 操作系统 | 专用程序 | 默认地址位数 | 默认操作 数位数 | 寄存器 扩展 | 通用 寄存器 位数 | |
IA32 [传统模式] | 保持旧有32位处理器的参数不变 | ||||||
IA32e模式 | 64位模式 | 64位 操作 系统 | √ | 64 | 32 | √ | 64 |
兼容模式 | | 32 | 32 | | 32 | ||
16 | 16 | 16,8 |
在64位模式下,Intel也对可用的寄存器进行了扩展,如下表所示:
| 64位模式 | 兼容以及传统模式 | ||||
名称 | 数量 | 位数 | 名称 | 数量 | 位数 | |
通用 寄存器 | RAX,RBX,RCX,RDX,RBP,RSI, RDI,RSP, R8-15 | 16 | 64 | EAX,EBX,ECX,EDX,EBP,ESI, EDI,ESP | 8 | 32 |
指令指针 寄存器 | RIP | 1 | 64 | EIP | 1 | 32 |
标志 寄存器 | EFLAGS | 1 | 32 | EFLAGS | 1 | 32 |
浮点 寄存器 | ST0-7 | 8 | 80 | ST0-7 | 8 | 80 |
MMX 寄存器 | MM0-7 | 8 | 64 | MM0-7 | 8 | 64 |
SIMD 寄存器 | XMM0-15 | 16 | 128 | XMM0-7 | 8 | 128 |
堆栈宽度 | ―――― | 64 | ―――― | 16/32 |
所有这些都意味着目前上市的桌面型Prescott处理器,已经具备了可执行64位指令的功能单元。只不过由于Intel把64位应用局限在服务器、工作站市场,因此没有在眼下推出的桌面型Prescott处理器时中,将这些功能打开或对此隐含功能进行大肆宣传。<