CPU主流技术和指令集
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CPU 主流技术及指令集
引文:CPU有哪些主流技术?实际使用中对性能有怎样的影响?
Intel官网对I5-2400S spec网址:
/pr oducts/52208/Intel-Core-i5-2400S-Processor-(6M-Cache-2_50-GHz)
1. CPU主流技术
1.1.I ntel EIST
SpeedStep技术,使CPU频率能在高、低两个确定的频率间切换,而且这种切换不是即时调整的,通常设置为当用电池时降为低频,而在用交流电源时恢复到高频(全速)。
由于降为低频的同时也会降低电压和功耗,一方面CPU本身耗电量减少,另一方面发热量也会减少,这样还能缩减甚至完全避免使用风扇散热,进一步的节约了用电,因此能延长电池的使用时间;另一方面在用交流电的时候又能恢复为全速工作以获得最高性能。
EIST—Enhanced Intel Speed Step Technology(增强型Intel SpeedStep技术),
与早期的SpeedStep 技术不同的是,增强型SpeedStep 技术可以动态调整CPU 频率,当CPU使用率低下或接近零的时候动态降低CPU的倍率,令其工作频率下降,从而降低电压、功耗以及发热;而一旦监测到CPU使用率很高的时候,立即恢复到原始的速率工作。
AMD的CPU有类似效果的技术,称作Power Now!(移动平台)或者Cool'n'Quiet (桌面平台)。
测试过程中若是关闭了EIST, 可用tool监测到CPU的频率会固定在标准频率,相反打开则频率会根据工作任务动态的调整频率。
1.2.I ntel Tubor boost
智能加速技术又称睿频加速技术,Turbo Boost为新一代能效管理方案,与EIST的降低主频以达到控制能耗的想法不同,Turbo Boost的主旨在于——在不超过总TDP (Thermal Design Power) 的前提下,尽量挖掘CPU的性能潜力。
它基于Nehalem架构的电源管理技术,通过分析当前CPU的负载情况,智能地完全关闭一些用不上的核心,把能源留给使用中的核心,并使它们运行在更高的频率,进一步提升性能;相反,需要多个核心时,动态开启相应的核心,智能调整频率。
这样,在不影响CPU的TDP(热功耗设计)情况,能把核心工作频率调得更高。
测试过程中开启Turbo Boost后,CPU负载任务变化的时候,会动态调整CPU 频率,到底能频率提升到多少算是正常的?可以查阅CPU出品商的官方spec。
1.3.I ntel VT
Intel VT (Virtualization Technology)
允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响
虚拟化技术是一种硬件方案,支持虚拟技术的CPU带有特别优化过的指令集来控制虚拟过程,通过这些指令集,VMM会很容易提高性能。
虚拟化技术可提供基于芯片的功能,借助兼容VMM软件能够改进纯软件解决方案。
在纯软件VMM中,目前缺少对64位客户操作系统的支持,而CPU的虚拟化技术除支持广泛的传统操作系统之外,还支持64位客户操作系统
AMD 同类功能技术AMD-V
在测试过程中开启VT技术就可以使用虚拟机,相反关闭则不能使用虚拟机(针对64位OS),所以在测试CPU虚拟技术时安装的虚拟系统必须是64位OS。
若安装32位OS,那么关闭与打开VT都是可以使用虚拟OS的。
1.4.V T-d (Intel Virtualization Technology for Directed
I/O)
I/O虚拟分配技术,现在的I/O设备虚拟化主要是用模拟方式,因此性能上很容易成为瓶颈,此项技术将I/O虚拟化分配I/O组件,传送给中断与配置I/O 内部记忆体单元的方式给虚拟机器,以防止虚拟机器使用DMA来终止与真实硬体的隔离。
要使用VT-D,必須要下面几项:
1、CPU
2、chipset
3、主板
4、OS (VM)
在VM中指定设备
在VM中要指定VT-d设备。
只要在VM中新增PCI Device,在设定时,系统会要求指定要使用的PCI设备,在设备前打勾。
当新增完成后,在VM中会要求安装这个设备的原生驱动程序,安装好之后就可以使用了。
1.5.I ntel HT
超线程(Hyper threading Technology)超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。
从实质上说,超线程是一种可以将CPU内部暂时闲置处理资源充分“调动”起来的技术。
I3-2100 HT enabled:
I3-2100 HT disabled:
1.6.I ntel TXT
Intel® Trusted Execution Technology (Intel® TXT)
能确保虚拟机器监控程序(virtual machine monitor)具备更强的抗攻击能力,可发
现目前传统软体资讯安全解决方案无法侦测的攻击。
透过这种硬体防护隔离指定的内存,系统能保护各分隔虚拟环境下的资料,避免其他分隔环境内的软体进行未经授权的存取。
对考虑采用新虚拟化电脑用途的资讯管理经理人而言,这是相当重要的功能。
1.7.D EP
Data Execution Prevention,是一组在内存上执行额外检查的硬体和软体技术,有助于防止恶意程序码在系统上执行。
开启该功能后,可以防止病毒、蠕虫、木马等程序利用溢出、无限扩大等手法去破坏系统内存并取得系统的控制权。
其工作原理是:处理器在内存中划分出几块区域,部分区域可执行应用程序代码,而另一些区域则不允许。
计算机程序会留出计算机的一部分内存用于数据,留出另一部分内存用于程序使用的指令。
黑客可以试图运行放在计算机内存中伪装成指令的有害数据。
这可能会使黑客
获取到计算机的控制权。
DEP 可以通过监视程序以确保它们安全使用计算机内存,如果DEP注意到某个
程序正试图从用于数据的内存部分运行指令,则EDP会关闭该程序并发出通知
信号。
Data Execution Prevention – Microsoft Windows
To help protect your computer, Windows has closed this program.
Name: program name
Publisher: program publisher
Data Execution Prevention helps protect against damage from viruses or other threats. Some programs might not run correctly when it is turned on. For an updated version of this program, contact the publisher. What else should I do?
BIOS中名称是Excute Disable Bit, 需要硬件CPU支持,bios中enable,且OS 也支持,此防护才有效。
AMD的防病毒技术是EVP(Enhanced Virus Protection),原理同Intel EDB
1.8.A MD CoolCore™
通过关闭处理器不用的部分,降低处理器能耗。
比如,在从内存读取数据时,内存控制器可关闭写逻辑,有助于降低系统能耗。
无需驱动程序或BIOS的开启即可自动工作。
可在单时钟周期内开启或关闭电源,既不损害性能,又可节能。
优势:通过动态地激活或关闭处理器的某些部分,帮助用户提高性能效率
1.9.A MD Cool’n’Quiet (CnQ)
Cool’n’Quiet (CnQ)技术,根据处理器所执行的运算工作来改变自己的频率和工作电压,使得处理器的发热量和功率都大为降低,并搭配主板上的测温器件,达到自动调速散热器达到静音工作的效果。
在部分情况下Cool'n'Quiet还可以减慢风扇转速,籍此降低噪音。
2CPU主要指令集
2.1MMX
MMX是由英特尔开发的一种SIMD多媒体指令集,共有57条指令。
它最早集成在英特尔奔腾(Pentium)MMX处理器上,以提高其多媒体数据的处理能力。
其优点是增加了处理器关于多媒体方面的处理能力,缺点是占用浮点数寄存器进行运算(64位MMX寄存器实际上就是浮点数寄存器的别名)以至于MMX
指令和浮点数操作不能同时工作。
为了减少在MMX和浮点数模式切换之间所消耗的时间,程序员们尽可能减少模式切换的次数,也就是说,这两种操作在应用上是互斥的。
后来英特尔在此基础上发展出SSE指令集;AMD在此基础上发展出3D Now!指令集。
现在新开发的程序不再仅使用MMX来优化软件运行性能,而是改使用如SSE、3DNOW!等更容易优化性能的新一代多媒体指令集,不过目前的处理器仍可以运行针对MMX优化的较早期软件。
2.23Dnow (AMD)
是由AMD开发的一套SIMD单指令多数据结构(Single Instruction Multiple Data)多媒体指令集,支持单精度浮点数的矢量运算,用于增强x86架构的计算机在三维图像处理上的性能。
MMX只支持整数运算,浮点数运算仍然要使用传统的x87协处理器指令。
由于MMX与x87的寄存器相互重叠,在MMX代码中插入x87指令时必须先执行EMMS指令清除MMX状态,频繁地切换状态将严重影响性能。
另一方面,由于x87古怪的堆栈式暂存器结构,使得硬件上将其流水线化和软件上合理调度指令都很困难,这成为提高x86架构浮点性能的一个瓶颈。
为了解决以上这两个问题,AMD公司于1998年推出了包含21条指令的
3DNow!指令集,并在其K6-2处理器中实现。
K6-2是第一个能执行浮点SIMD指令的x86处理器,也是第一个支持水平浮点寄存器模型的x86处理器。
借助
3DNow!,K6-2实现了x86处理器上最快的浮点单元,在每个时钟周期内最多可得到4个单精度浮点数结果,是传统x87协处理器的4倍。
3DNow! 和扩展3DNow!的26条指令从功能上分为5类
单精度浮点运算指令
增强的MMX指令
数据类型转换指令
数据预取指令
快速退出MMX状态指令
2.3SSE
SSE(Streaming SIMD Extensions)是继MMX的扩充指令集。
SSE 指令集提供了70 条新指令。
为了对抗3DNow!,Intel公司于1999年推出了SSE指令集。
SSE几乎能提供3DNow!的所有功能,而且能在一条指令中处理两倍多的单精度浮点数;同时,SSE完全支持IEEE 754,在处理单精度浮点数时可以完全代替x87。
这迅速瓦解了3DNow!的优势。
SSE2
SSE2是Intel在Pentium 4处理器的最初版本中引入的,但是AMD后来在Opteron 和Athlon 64处理器中也加入了SSE2的支持。
SSE2指令集添加了对64位双精度浮点数的支持,以及对整型数据的支持,也就是说这个指令集中所有的MMX指令都是多余的了,同时也避免了占用浮点数寄存器。
这个指令集还增加了对CPU高速缓存的控制指令。
AMD对它的扩展增加了8个XMM寄存器,但是需要切换到64位模式(x86-64/AMD64)才可以使用这些寄存器。
Intel后来在其Intel 64架构中也增加了对x86-64的支持。
SSE3
SSE3是Intel在Pentium 4处理器的Prescott 核心中引入的第三代SIMD指令集,AMD在Athlon 64的第五个版本,Venice核心中也加入了SSE3的支持。
这个指令集扩展的指令包含寄存器的局部位之间的运算,例如高位和低位之间的加减运算;浮点数到整数的转换,以及对超线程技术的支持。
SSSE3
SSSE3是Intel针对SSE3指令集的一次额外扩充,最早自带于Core 2 Duo处理器中。
SSE4
SSE4是Intel在Penryn核心的Core 2 Duo与Core 2 Solo处理器时,新增的47条新多媒体指令集,并且现在更新至SSE4.2。
AMD也开发了属于自己的SSE4a 多媒体指令集,并内建在Phenom与Opteron等K10架构处理器中,不过无法与Intel的SSE4系列指令集兼容。
SSE5
SSE5是AMD为了打破Intel垄断在处理器指令集的独霸地位所提出的,SSE5
初期规划将加入超过100条新指令,其中最引人注目的就是三操作数指令
(3-Operand Instructions)及熔合乘法累积(Fused Multiply Accumulate)。
其中,三操作数指令让处理器可将一个数学或逻辑函式库,套用到操作数或输入数据。
藉由增加操作数的数量,一个x86 指令能处理二至三笔数据,SSE5 允许将多个简单指令汇整成一个指令,达到更有效率的指令处理模式。
提升为三运算指令的运算能力,是少数RISC 架构的水平。
熔合乘法累积让允许建立新的指令,有效率地执行各种复杂的运算。
熔合乘法累积可结合乘法与加法运算,透过单一指令执行多笔重复计算。
透过简化程序代码,让系统能迅速执行绘图着色、快速相片着色、音场音效,以及复杂向量演算等效能密集的应用作业。
目前AMD已放弃下一代Bulldozer核心内建SSE5指令集,改内建Intel授权SSE4系列指令集。
AVX
AVX(Advanced Vector Extensions) 是Intel的SSE延伸架构,如IA16至IA32
般的把缓存器XMM 128bit提升至YMM 256bit,以增加一倍的运算效率。
此架构支持了三运算指令(3-Operand Instructions),减少在编码上需要先复制才能运算的动作。
在微码部分使用了LES LDS这两少用的指令作为延伸指令Prefix。
FMA
FMA是Intel的AVX扩充指令集,如名称上熔合乘法累积(Fused Multiply Accumulate)的意思一样。
2.4 X86-64
“x86-64”,有时会简称为“x64”,是64位微处理器架构及其相应指令集的一种,也是Intel x86架构的延伸产品。
“x86-64”1999由AMD设计,AMD首次公开64
位集以扩充给IA-32,称为x86-64(后来改名为AMD64)。
其后也为英特尔所采用,现时英特尔称之为“Intel 64”,在之前曾使用过Clackamas Technology (CT)、IA-32e及EM64T。
外界多使用"x86-64"或"x64"去称呼此64位架构,从而保持中立,不偏袒任何厂商。
AMD64
与x86兼容的AMD64架构便应运而生,其主要特点如名称所述,既有支持
64位通用暂存器、64位整数及逻辑运算,以及64位虚拟地址。
设计人员也为架构作出不少改进,部份重大改变如下:
⑴新增暂存器
⑵地址阔度加长
⑶SSE2、SSE3指令
⑷“禁止运行”位(NX-bit): AMD64其中一个特色是拥有“禁止运行”(No-Execute,
NX)的位,可以防止蠕虫病毒以缓冲器满溢的方式来进行攻击(也称:缓存溢出攻击,Buffer Overflow)。
Intel 64 (EM64T)
Intel把该技术以EM64T这个名字来推出,虽然核心与AMD64几乎相同,犹如一对孪生兄弟,但如果Intel使用了AMD64这名字,等于在帮对手做广告宣传。
在以往Intel的营销中,Intel总把AMD的产品贬为自家技术的仿制品,不过这回AMD率先开发民用64位技术,Intel需要反过来吸纳AMD的技术, 后来Intel索性将此技术正式命名为Intel 64.
架构特色Intel 64可使处理器直接访问超过4GB的存储器,容许运行更大的应用程序。
而x86-64架构也加入了额外的暂存器及其他改良在指令集上。
通过64位的存储器地址上限,其理论存储器大小上限达16,000,000TB(16EB),不过在初期的应用上并未能支持完整的64位地址。
Intel 64所用的x86-64是IA-32指令集的延伸,因此运行IA-32与64位程序的表现也显得绰绰有余。
2.5VT-x
VT-x是Intel运用Virtualization虚拟化技术中的一个指令集。
VT-x有助于提高基于软件的虚拟化解决方案的灵活性与稳定性。
通过按照纯软件虚拟化的要求消除虚拟机监视器(VMM)代表客户操作系统来听取、中断与执行特定指令的需要,不仅能够有效减少VMM 干预,还为VMM 与客户操作系统之间的传输平台控制提供了有力的硬件支持,这样在需要VMM干预时,将实现更加快速、可靠和安全的切换。
此外,英特尔VT-x 具备的虚拟机迁移特性还可为您的IT 投资提供有力保护,并进一步提高故障切换、负载均衡、灾难恢复和维护的灵活性。
3CPU常用测试tool 3.1 CPUz
1. 处理器名称
2. 代号
3. 封装
4. 制造工艺
5. 规格
6. 指令集
7. 核心频率
8. 倍频
9. 总线频率
10. 高速缓存
11. 核心数
12. 超线程数
3.2Intel® Turbo Boost Technology Monitor
官方的监控软件Turbo Boost Technology Monitor,通过它用户可以了解处理器在开启了睿频加速技术后的真实工作状态
3.3 Intel Maximum Power or AMD ThermNow
Intel官方烤机,我们测试中常用来给CPU加载,使得CPU温度上升,loading 变重,但是由于现在的CPU温度检测也非常的灵敏,散热系统好,常常遇到用Maxpower加载CPU温度并不会有大的上升,所以常常要测试CPU最大关机温度的话,还需要拔掉风扇或是散热片。
3.4 Everest (AIDA64)
AIDA64是一款测试软硬件系统信息的工具,它可以详细的显示出PC的每一个方面的信息。
AIDA64不仅提供了诸如协助超频,硬件侦错,压力测试和传感器监测等多种功能,而且还可以对处理器,系统内存和磁盘驱动器的性能进行全面评估,前身是:EVEREST
早在16位系统的时候EVEREST叫AIDA16,后来随着32位技术来临改名为AIDA32,随后再次更名才成了EVEREST。
现在它的开发商Lavalys公司已经被FinalWire所收购,自己也又一次改名,变成了AIDA64,算是在回归传统的同时拥抱64位技术,程序图标都是个大大的“64”,但是原来的EVEREST却不会再更新了。
3.5 Frequency display
看CPU实时频率的软件,尤其是对SNB平台开了Turbo比较有用,对频率的敏感程度比CPUZ之类的都高非常多。