1、关于内存频率、内存带宽、CPU 外频、FSB 之间的关系现在的单通道内存控制器一般都是 64bit 的,8 个 2 进制bit 相当于 1 个字节,换算成字节是 64/8=8,再乘以内存的运行频率,如果是 DDR 内存就要再乘以 2,因为它是以 sd 内存双倍的速度传输数据的,所以DDR266,运行频率为 133MHz,带宽为133*2*64/8=2100MB/s=2.1GB/sDDR333,运行频率为 166MHz,带宽为166*2*64/8=2700MB/s=2.7GB/sDDR400,运行频率为 200MHz,带宽为200*2*64/8=3200MB/s=3.2GB/s 所谓双通道 DD
2、R,就是芯片组可以在两个不同的数据通道上分别寻址、读取数据。这两个相互独立工作的内存通道是依附于两个独立并行工作的,位宽为 64-bit 的内存控制器下,因此使普通的 DDR 内存可以达到 128-bit 的位宽,因此,内存带宽是单通道的两倍,因此双通道 DDR266 的带宽为 133*2*64/8*2=4200MB/s=4.2GB/s双通道 DDR333 的带宽为 166*2*64/8*2=5400MB/s=5.4GB/s双通道 DDR400 的带宽为 200*2*64/8*2=6400MB/s=6.4GB/s 关于瓶径问题:CPU 与北桥芯片之间的数据传输速率称前端总线(FSB),对于 i
3、ntel 的主流平台,其采用 Q/P 总线技术,FSB=CPU 外频*4,如赛扬 4 的外频为 100,其 FSB 为 400,数据带宽为3.2GB/s,P4A 的外频为 100,其 FSB 为 400,数据带宽为3.2GB/s,P4B 的外频为 133,其 FSB 为 533,数据带宽为4.2GB/s,P4C、P4E 的外频为 200,其 FSB 为 800,数据带宽为6.4GB/s,对于 AMD 的主流平台,其采用 EV6 总线技术,FSB=CPU外频*2,对于 Athlon XP,其外频为 133,166,200,对应的FSB 分别为 266,333,400,数据带宽分别为2.1,2.7
4、,3.2GB/s FSB 与内存带宽相等的情况下,则不存在瓶径问题,如果内存带宽小于 FSB 则形成内存带宽瓶径,无法完全发挥系统的性能。 因此对于对于 intel 的主流平台,如赛扬 4 的外频为100,其 FSB 为 400,数据带宽为 3.2GB/s,应该使用 DDR400 或双通道 DDR200 以上,P4A 的外频为 100,其 FSB 为 400,数据带宽为 3.2GB/s,应该使用 DDR400 或双通道 DDR200 以上,P4B和 C4D 的外频为 133,其 FSB 为 533,数据带宽为 4.2GB/s,应该使用 DDR533 或双通道 DDR266 以上,P4C、P4E
5、 的外频为200,其 FSB 为 800,数据带宽为 6.4GB/s,应该使用双通道DDR400 以上,对于 AMD 的主流平台,Athlon XP,其外频为133,166,200,应该分别使用 DDR266,DDR333,DDR400,在这个平台上没必要使用双通道内存。什么是 FSB,它和 CPU 外频有什么区别和联系?这个参数指的就是前端总线的频率,它是处理器与主板交换数据的通道,既然是通道,那就是越大越好,现在主流中最高的FSB 是 800M,向下有 533M、400M 和 333M 等几种,它们价格是递减的。FSB(或是 FrontSideBus,前端总线)是超频最容易和最常见的方法之
6、一。FSB 是 CPU 与系统其它部分连接的速度。它还影响内存时钟,那是内存运行的速度。一般而言,对 FSB 和内存时钟两者来说越高等于越好。然而,在某些情况下这不成立。例如,让内存时钟比 FSB 运行得快根本不会有真正的帮助。同样,在 AthlonXP 系统上,让 FSB 运行在更高速度下而强制内存与FSB 不同步(使用稍后将讨论的内存分频器)对性能的阻碍将比运行在较低 FSB 及同步内存下要严重得多。FSB 在 Athlon 和 P4 系统上涉及到不同的方法。在 Athlon这边,它是 DDR 总线,意味着如果实际时钟是 200MHz 的话,那就是运行在 400MHz 下。在 P4 上,它
7、是“四芯的”,所以如果实际时钟是相同的 200MHz 的话,就代表 800MHz。这是 Intel的市场策略,因为对一般用户来说,越高等于越好。Intel 的“四芯”FSB 实际上具有一个现实的优势,那就是以较小的性能损失为代价允许 P4 芯片与内存不同步运行。每个时钟越高的周期速度使得它越有机会让内存周期与 CPU 周期重合,那等同于越好的性能。外频是 CPU 乃至整个计算机系统的基准频率,单位是MHz(兆赫兹)。在早期的电脑中,内存与主板之间的同步运行的速度等于外频,在这种方式下,可以理解为 CPU 外频直接与内存相连通,实现两者间的同步运行状态。对于目前的计算机系统来说,两者完全可以不相
8、同,但是外频的意义仍然存在,计算机系统中大多数的频率都是在外频的基础上,乘以一定的倍数来实现,这个倍数可以是大于 1 的,也可以是小于 1 的。Rd4C5w/e/0 外频与前端总线(FSB)频率很容易被混为一谈。前端总线的速度指的是 CPU 和北桥芯片间总线的速度,更实质性的表示了 CPU 和外界数据传输的速度。而外频的概念是建立在数字脉冲信号震荡速度基础之上的,也就是说,100MHz 外频特指数字脉冲信号在每秒钟震荡一万万次,它更多的影响了PCI 及其他总线的频率。之所以前端总线与外频这两个概念容易混淆,主要的原因是在以前的很长一段时间里(主要是在Pentium 4 出现之前和刚出现 Pen
9、tium 4 时),前端总线频率与外频是相同的,因此往往直接称前端总线为外频,最终造成这样的误会。随着计算机技术的发展,人们发现前端总线频率需要高于外频,因此采用了 QDR(Quad Date Rate)技术,或者其他类似的技术实现这个目的。这些技术的原理类似于 AGP的 2X 或者 4X,它们使得前端总线的频率成为外频的 2 倍、4 倍甚至更高,从此之后前端总线和外频的区别才开始被人们重视起来。CPU : 什么是双核处理器双核与双芯(Dual Core Vs. Dual CPU): AMD 和 Intel 的双核技术在物理结构上也有很大不同之处。AMD 将两个内核做在一个 Die(晶元)上,
10、通过直连架构连接起来,集成度更高。Intel 则是将放在不同 Die(晶元)上的两个内核封装在一起,因此有人将 Intel 的方案称为“双芯”,认为 AMD 的方案才是真正的“双核”。从用户端的角度来看,AMD 的方案能够使双核 CPU 的管脚、功耗等指标跟单核 CPU 保持一致,从单核升级到双核,不需要更换电源、芯片组、散热系统和主板,只需要刷新 BIOS 软件即可,这对于主板厂商、计算机厂商和最终用户的投资保护是非常有利的。客户可以利用其现有的 90 纳米基础设施,通过 BIOS 更改移植到基于双核心的系统。 计算机厂商可以轻松地提供同一硬件的单核心与双核心版本,使那些既想提高性能又想保持
11、 IT 环境稳定性的客户能够在不中断业务的情况下升级到双核心。在一个机架密度较高的环境中,通过在保持电源与基础设施投资不变的情况下移植到双核心,客户的系统性能将得到巨大的提升。在同样的系统占地空间上,通过使用双核心处理器,客户将获得更高水平的计算能力和性能。双核处理器(Dual Core Processor):双核处理器是指在一个处理器上集成两个运算核心,从而提高计算能力。“双核”的概念最早是由 IBM、HP、Sun 等支持 RISC 架构的高端服务器厂商提出的,不过由于 RISC 架构的服务器价格高、应用面窄,没有引起广泛的注意。 最近逐渐热起来的“双核”概念,主要是指基于 X86 开放架构
12、的双核技术。在这方面,起领导地位的厂商主要有 AMD 和Intel 两家。其中,两家的思路又有不同。AMD 从一开始设计时就考虑到了对多核心的支持。所有组件都直接连接到 CPU,消除系统架构方面的挑战和瓶颈。两个处理器核心直接连接到同一个内核上,核心之间以芯片速度通信,进一步降低了处理器之间的延迟。而 Intel 采用多个核心共享前端总线的方式。专家认为,AMD 的架构对于更容易实现双核以至多核,Intel 的架构会遇到多个内核争用总线资源的瓶颈问题。目前 Intel 推出的台式机双核心处理器有Pentium D、Pentium EE(Pentium Extreme Edition)和Core
13、 Duo 三种类型,三者的工作原理有很大不同。一、Pentium D 和 Pentium EEPentium D 和 Pentium EE 分别面向主流市场以及高端市场,其每个核心采用独立式缓存设计,在处理器内部两个核心之间是互相隔绝的,通过处理器外部(主板北桥芯片)的仲裁器负责两个核心之间的任务分配以及缓存数据的同步等协调工作。两个核心共享前端总线,并依靠前端总线在两个核心之间传输缓存同步数据。从架构上来看,这种类型是基于独立缓存的松散型双核心处理器耦合方案,其优点是技术简单,只需要将两个相同的处理器内核封装在同一块基板上即可;缺点是数据延迟问题比较严重,性能并不尽如人意。另外,Pentiu
14、m D 和Pentium EE 的最大区别就是 Pentium EE 支持超线程技术而Pentium D 则不支持,Pentium EE 在打开超线程技术之后会被操作系统识别为四个逻辑处理器。AMD 双核处理器AMD 推出的双核心处理器分别是双核心的 Opteron 系列和全新的 Athlon 64 X2 系列处理器。其中 Athlon 64 X2 是用以抗衡 Pentium D 和 Pentium Extreme Edition 的桌面双核心处理器系列。AMD 推出的 Athlon 64 X2 是由两个 Athlon 64 处理器上采用的 Venice 核心组合而成,每个核心拥有独立的 51
15、2KB(1MB)L2 缓存及执行单元。除了多出一个核芯之外,从架构上相对于目前 Athlon 64 在架构上并没有任何重大的改变。双核心 Athlon 64 X2 的大部分规格、功能与我们熟悉的Athlon 64 架构没有任何区别,也就是说新推出的Athlon 64 X2 双核心处理器仍然支持 1GHz 规格的HyperTransport 总线,并且内建了支持双通道设置的 DDR 内存控制器。与 Intel 双核心处理器不同的是,Athlon 64 X2 的两个内核并不需要经过 MCH 进行相互之间的协调。AMD 在Athlon 64 X2 双核心处理器的内部提供了一个称为System Req
16、uest Queue(系统请求队列)的技术,在工作的时候每一个核心都将其请求放在 SRQ 中,当获得资源之后请求将会被送往相应的执行核心,也就是说所有的处理过程都在 CPU 核心范围之内完成,并不需要借助外部设备。对于双核心架构,AMD 的做法是将两个核心整合在同一片硅晶内核之中,而 Intel 的双核心处理方式则更像是简单的将两个核心做到一起而已。与 Intel 的双核心架构相比,AMD 双核心处理器系统不会在两个核心之间存在传输瓶颈的问题。因此从这个方面来说,Athlon 64 X2 的架构要明显优于 Pentium D架构。虽然与 Intel 相比,AMD 并不用担心 Prescott
17、核心这样的功耗和发热大户,但是同样需要为双核心处理器考虑降低功耗的方式。为此 AMD 并没有采用降低主频的办法,而是在其使用90nm 工艺生产的 Athlon 64 X2 处理器中采用了所谓的Dual Stress Liner 应变硅技术,与 SOI 技术配合使用,能够生产出性能更高、耗电更低的晶体管。AMD 推出的 Athlon 64 X2 处理器给用户带来最实惠的好处就是,不需要更换平台就能使用新推出的双核心处理器,只要对老主板升级一下 BIOS 就可以了,这与 Intel 双核心处理器必须更换新平台才能支持的做法相比,升级双核心系统会节省不少费用。CPU : 什么是 64 位技术64 位
18、技术:这里的 64 位技术是相对于 32 位而言的,这个位数指的是 CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度为 64 位,64 位指令集就是运行 64 位数据的指令,也就是说处理器一次可以运行 64bit 数据。64bit 处理器并非现在才有的,在高端的RISC(Reduced Instruction Set Computing,精简指令集计算机)很早就有 64bit 处理器了,比如 SUN 公司的UltraSparc 、IBM 公司的 POWER5、HP 公司的 Alpha 等。64bit 计算主要有两大优点:可以进行更大范围的整数运算;可
19、以支持更大的内存。不能因为数字上的变化,而简单的认为64bit 处理器的性能是 32bit 处理器性能的两倍。实际上在32bit 应用下,32bit 处理器的性能甚至会更强,即使是 64bit处理器,目前情况下也是在 32bit 应用下性能更强。所以要认清 64bit 处理器的优势,但不可迷信 64bit。要实现真正意义上的 64 位计算,光有 64 位的处理器是不行的,还必须得有 64 位的操作系统以及 64 位的应用软件才行,三者缺一不可,缺少其中任何一种要素都是无法实现 64 位计算的。目前,在 64 位处理器方面,Intel 和 AMD 两大处理器厂商都发布了多个系列多种规格的 64
20、位处理器;而在操作系统和应用软件方面,目前的情况不容乐观。因为真正适合于个人使用的 64位操作系统现在就只有 Windows XP X64,而 Windows XP X64本身也只是一个过渡性质的 64 位操作系统,在 Windows Vista发布以后就将被淘汰,而且 Windows XP X64 本身也不太完善,易用性不高,一个明显的例子就是各种硬件设备的驱动程序很不完善,而且现在 64 位的应用软件还基本上没有,确实硬件厂商和软件厂商也不愿意去为一个过渡性质的操作系统编写驱动程序和应用软件。所以要想实现真正的 64 位计算,恐怕还得等到 Windows Vista 普及一段时间之后才行。
21、目前主流 CPU 使用的 64 位技术主要有 AMD 公司的 AMD64 位技术、Intel 公司的 EM64T 技术、和 Intel 公司的 IA-64 技术。其中IA-64 是 Intel 独立开发,不兼容现在的传统的 32 位计算机,仅用于 Itanium(安腾)以及后续产品 Itanium 2,一般用户不会涉及到,因此这里仅对 AMD64 位技术和 Intel 的 EM64T 技术做一下简单介绍。AMD64 位技术 X86-64:AMD64 的位技术是在原始 32 位 X86 指令集的基础上加入了X86-64 扩展 64 位 X86 指令集,使这款芯片在硬件上兼容原来的 32 位 X8
22、6 软件,并同时支持 X86-64 的扩展 64 位计算,使得这款芯片成为真正的 64 位 X86 芯片。这是一个真正的 64 位的标准,X86-64 具有 64 位的寻址能力。X86-64 新增的几组 CPU 寄存器将提供更快的执行效率。寄存器是 CPU 内部用来创建和储存 CPU 运算结果和其它运算结果的地方。标准的 32-bit x86 架构包括 8 个通用寄存器(GPR),AMD在 X86-64 中又增加了 8 组(R8-R9),将寄存器的数目提高到了 16 组。X86-64 寄存器默认位 64-bit。还增加了 8 组 128-bit XMM 寄存器(也叫 SSE 寄存器,XMM8-
23、XMM15),将能给单指令多数据流技术(SIMD)运算提供更多的空间,这些 128 位的寄存器将提供在矢量和标量计算模式下进行 128 位双精度处理,为 3D 建模、矢量分析和虚拟现实的实现提供了硬件基础。通过提供了更多的寄存器,按照 X86-64 标准生产的 CPU 可以更有效的处理数据,可以在一个时钟周期中传输更多的信息。EM64T 技术Intel 官方是给 EM64T 这样定义的:EM64T 全称Extended Memory 64 Technology,即扩展 64bit 内存技术。EM64T 是 Intel IA-32 架构的扩展,即 IA-32e(Intel Architectur
24、-32 extension)。IA-32 处理器通过附加 EM64T 技术,便可在兼容 IA-32 软件的情况下,允许软件利用更多的内存地址空间,并且允许软件进行 32 bit 线性地址写入。EM64T 特别强调的是对 32 bit 和 64 bit 的兼容性。Intel 为新核心增加了 8 个 64 bit GPRs(R8-R15),并且把原有 GRPs 全部扩展为 64 bit,这样可以提高整数运算能力。增加 8 个 128bit SSE 寄存器(XMM8-XMM15),是为了增强多媒体性能,包括对 SSE、SSE2 和 SSE3 的支持。Intel 为支持 EM64T 技术的处理器设计了
25、两大模式:传统 IA-32模式(legacy IA-32 mode)和 IA-32e 扩展模式(IA-32e mode)。在支持 EM64T 技术的处理器内有一个称之为扩展功能激活寄存器(extended feature enable register,IA32_EFER)的部件,其中的 Bit10 控制着 EM64T 是否激活。Bit10 被称作 IA-32e 模式有效(IA-32e mode active)或长模式有效(long mode active,LMA)。当 LMA0 时,处理器便作为一颗标准的 32 bit(IA32)处理器运行在传统 IA-32 模式;当LMA1 时,EM64T
26、 便被激活,处理器会运行在 IA-32e 扩展模式下。目前 AMD 方面支持 64 位技术的 CPU 有 Athlon 64 系列、Athlon FX 系列和 Opteron 系列。Intel 方面支持 64 位技术的CPU 有使用 Nocona 核心的 Xeon 系列、使用 Prescott 2M 核心的 Pentium 4 6 系列和使用 Prescott 2M 核心的 P4 EE 系列。浅谈 EM64T 技术和 AMD64 区别 X86-64 (AMD64 / EM64T) :AMD 公司设计,可以在同一时间内处理 64 位的整数运算,并兼容于 X86-32 架构。其中支持 64 位逻辑
27、定址,同时提供转换为32 位定址选项;但数据操作指令默认为 32 位和 8 位,提供转换成 64 位和 16 位的选项;支持常规用途寄存器,如果是 32 位运算操作,就要将结果扩展成完整的 64 位。这样,指令中有“直接执行”和“转换执行”的区别,其指令字段是 8 位或 32位,可以避免字段过长。x86-64(AMD64)的产生也并非空穴来风,x86 处理器的 32bit寻址空间限制在 4GB 内存,而 IA- 64 的处理器又不能兼容x86。 AMD 充分考虑顾客的需求,加强 x86 指令集的功能,使这套指令集可同时支持 64 位的运算模式,因此 AMD 把它们的结构称之为 x86-64。在
28、技术上 AMD 在 x86-64 架构中为了进行 64位运算,AMD 为其引入了新增了 R8-R15 通用寄存器作为原有X86 处理器寄存器的扩充,但在而在 32 位环境下并不完全使用到这些寄存器。原来的寄存器诸如 EAX、EBX 也由 32 位扩张至64 位。在 SSE 单元中新加入了 8 个新寄存器以提供对 SSE2 的支持。寄存器数量的增加将带来性能的提升。与此同时,为了同时支持 32 和 64 位代码及寄存器,x86-64 架构允许处理器工作在以下两种模式:Long Mode(长模式)和 Legacy Mode(遗传模式),Long 模式又分为两种子模式(64bit 模式和Compat
29、ibility mode 兼容模式)。该标准已经被引进在 AMD 服务器处理器中的 Opteron 处理器。而今年也推出了支持 64 位的 EM64T 技术,再还没被正式命为EM64T 之前是 IA32E,这是英特尔 64 位扩展技术的名字,用来区别 X86 指令集。Intel 的 EM64T 支持 64 位 sub-mode,和 AMD的 X86-64 技术类似,采用 64 位的线性平面寻址,加入 8 个新的通用寄存器(GPRs),还增加 8 个寄存器支持 SSE 指令。与AMD 相类似,Intel 的 64 位技术将兼容 IA32 和 IA32E,只有在运行 64 位操作系统下的时候,才将
30、会采用 IA32E。IA32E 将由2 个 sub-mode 组成:64 位 sub-mode 和 32 位 sub-mode,同AMD64 一样是向下兼容的。 Intel 的 EM64T 将完全兼容 AMD 的X86-64 技术。现在 Nocona 处理器已经加入了一些 64 位技术,Intel 的 Pentium 4E 处理器也支持 64 位技术。应该说,这两者都是兼容 x86 指令集的 64 位微处理器架构,但EM64T 与 AMD64 还是有一些不一样的地方,AMD64 处理器中的NX 位在 Intel 的处理器中将没有提供。回复 引用 本帖链接 只看该作者 昵称:广州核弹头 用户名:
31、广沙发 广州核弹头 发表于 2008-01-12 21:18:39 CPU : 二级缓存容量CPU 缓存(Cache Memoney)位于 CPU 与内存之间的临时存储器,它的容量比内存小但交换速度快。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内 CPU 即将访问的,当 CPU 调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度。由此可见,在 CPU 中加入缓存是一种高效的解决方案,这样整个内存储器(缓存+内存)就变成了既有缓存的高速度,又有内存的大容量的存储系统了。缓存对州核弹头 头衔:太平洋舰队中士 积分:347 贡献:270 发帖:179 CPU 的性能影响很大,
32、主要是因为 CPU 的数据交换顺序和 CPU 与缓存间的带宽引起的。 缓存的工作原理是当 CPU 要读取一个数据时,首先从缓存中查找,如果找到就立即读取并送给 CPU 处理;如果没有找到,就用相对慢的速度从内存中读取并送给 CPU 处理,同时把这个数据所在的数据块调入缓存中,可以使得以后对整块数据的读取都从缓存中进行,不必再调用内存。正是这样的读取机制使 CPU 读取缓存的命中率非常高(大多数 CPU 可达 90%左右),也就是说 CPU 下一次要读取的数据 90%都在缓存中,只有大约 10%需要从内存读取。这大大节省了 CPU 直接读取内存的时间,也使 CPU 读取数据时基本无需等待。总的来
33、说,CPU读取数据的顺序是先缓存后内存。最早先的 CPU 缓存是个整体的,而且容量很低,英特尔公司从 Pentium 时代开始把缓存进行了分类。当时集成在 CPU 内核中的缓存已不足以满足 CPU 的需求,而制造工艺上的限制又不能大幅度提高缓存的容量。因此出现了集成在与 CPU 同一块电路板上或主板 精华:0 注册:2007-12-13 查看资料 上的缓存,此时就把 CPU 内核集成的缓存称为一级缓存,而外部的称为二级缓存。一级缓存中还分数据缓存(I-Cache)和指令缓存(D-Cache)。二者分别用来存放数据和执行这些数据的指令,而且两者可以同时被 CPU 访问,减少了争用 Cache 所
34、造成的冲突,提高了处理器效能。英特尔公司在推出 Pentium 4 处理器时,还新增了一种一级追踪缓存,容量为 12KB.随着 CPU 制造工艺的发展,二级缓存也能轻易的集成在 CPU 内核中,容量也在逐年提升。现在再用集成在 CPU 内部与否来定义一、二级缓存,已不确切。而且随着二级缓存被集成入 CPU 内核中,以往二级缓存与 CPU 大差距分频的情况也被改变,此时其以相同于主频的速度工作,可以为 CPU 提供更高的传输速度。二级缓存是 CPU 性能表现的关键之一,在 CPU 核心不变化的情况下,增加二级缓存容量能使性能大幅度提高。而同一核心的 CPU 高低端之分往往也是在二级缓存上有差异,
35、由此可见二级缓存对于 CPU 的重要性。CPU 在缓存中找到有用的数据被称为命中,当缓存中没有 CPU 所需的数据时(这时称为未命中),CPU才访问内存。从理论上讲,在一颗拥有二级缓存的CPU 中,读取一级缓存的命中率为 80%。也就是说 CPU一级缓存中找到的有用数据占数据总量的 80%,剩下的 20%从二级缓存中读取。由于不能准确预测将要执行的数据,读取二级缓存的命中率也在 80%左右(从二级缓存读到有用的数据占总数据的 16%)。那么还有的数据就不得不从内存调用,但这已经是一个相当小的比例了。目前的较高端的 CPU 中,还会带有三级缓存,它是为读取二级缓存后未命中的数据设计的种缓存,在拥
36、有三级缓存的 CPU 中,只有约 5%的数据需要从内存中调用,这进一步提高了 CPU 的效率。为了保证 CPU 访问时有较高的命中率,缓存中的内容应该按一定的算法替换。一种较常用的算法是“最近最少使用算法”(LRU 算法),它是将最近一段时间内最少被访问过的行淘汰出局。因此需要为每行设置一个计数器,LRU 算法是把命中行的计数器清零,其他各行计数器加 1。当需要替换时淘汰行计数器计数值最大的数据行出局。这是一种高效、科学的算法,其计数器清零过程可以把一些频繁调用后再不需要的数据淘汰出缓存,提高缓存的利用率。CPU 产品中,一级缓存的容量基本在 4KB 到 18KB之间,二级缓存的容量则分为12
37、8KB、256KB、 512KB、1MB 等。一级缓存容量各产品之间相差不大,而二级缓存容量则是提高 CPU 性能的关键。二级缓存容量的提升是由 CPU 制造工艺所决定的,容量增大必然导致 CPU 内部晶体管数的增加,要在有限的 CPU 面积上集成更大的缓存,对制造工艺的要求也就越高。双核心 CPU 的二级缓存比较特殊,和以前的单核心 CPU 相比,最重要的就是两个内核的缓存所保存的数据要保持一致,否则就会出现错误,为了解决这个问题不同的 CPU 使用了不同的办法:Intel 双核心处理器的二级缓存目前 Intel 的双核心 CPU 主要有Pentium D、Pentium EE、Core D
38、uo 三种,其中Pentium D、Pentium EE 的二级缓存方式完全相同。Pentium D 和 Pentium EE 的二级缓存都是 CPU 内部两个内核具有互相独立的二级缓存,其中,8xx 系列的Smithfield 核心 CPU 为每核心 1MB,而 9xx 系列的Presler 核心 CPU 为每核心 2MB。这种 CPU 内部的两个内核之间的缓存数据同步是依靠位于主板北桥芯片上的仲裁单元通过前端总线在两个核心之间传输来实现的,所以其数据延迟问题比较严重,性能并不尽如人意。爱好者博墅 P!mo)q9K“bCore Duo 使用的核心为 Yonah,它的二级缓存则是两个核心共享
39、2MB 的二级缓存,共享式的二级缓存配合 Intel 的“Smart cache”共享缓存技术,实现了真正意义上的缓存数据同步,大幅度降低了数据延迟,减少了对前端总线的占用,性能表现不错,是目前双核心处理器上最先进的二级缓存架构。今后 Intel 的双核心处理器的二级缓存都会采用这种两个内核共享二级缓存的“Smart cache”共享缓存技术。AMD 双核心处理器的二级缓存Athlon 64 X2 CPU 的核心主要有 Manchester 和Toledo 两种,他们的二级缓存都是 CPU 内部两个内核具有互相独立的二级缓存,其中,Manchester 核心为每核心 512KB,而 Toled
40、o 核心为每核心 1MB。处理器内部的两个内核之间的缓存数据同步是依靠 CPU 内置的 System Request Interface(系统请求接口,SRI)控制,传输在 CPU 内部即可实现。这样一来,不但CPU 资源占用很小,而且不必占用内存总线资源,数据延迟也比 Intel 的 Smithfield 核心和 Presler 核心大为减少,协作效率明显胜过这两种核心。不过,由于这种方式仍然是两个内核的缓存相互独立,从架构上来看也明显不如以 Yonah 核心为代表的 Intel 的共享缓存技术 Smart Cache。 回复 引用 本帖链接 只看该作者 昵称:广州核板凳 广州核弹头 发表于
41、 2008-01-12 21:23:35 最后由 广州核弹头 于 2008-01-12 21:40:56 修改 CPU : 多媒体指令集CPU 依靠指令来计算和控制系统,每款 CPU 在设计时就规定了一系列与其硬件电路相配合的指令系统。弹头 用户名:广州核弹头 头衔:太平洋舰队中士 积分:347 指令的强弱也是 CPU 的重要指标,指令集是提高微处理器效率的最有效工具之一。从现阶段的主流体系结构讲,指令集可分为复杂指令集和精简指令集两部分,而从具体运用看,如 Intel 的MMX(Multi Media Extended)、SSE、 SSE2(Streaming-Single instruct
42、ion multiple data-Extensions 2)和 AMD 的 3DNow!等都是 CPU 的扩展指令集,分别增强了 CPU 的多媒体、图形图象和 Internet 等的处理能力。我们通常会把 CPU 的扩展指令集称为“CPU 的指令集“。1、精简指令集的运用在最初发明计算机的数十年里,随着计算机功能日趋增大,性能日趋变强,内部元器件也越来越多,指令集日趋复杂,过于冗杂的指令严重的影响了计算机的工作效率。后来经过研究发现,在计算机中,80程序只用到了 20的指令集,基于这一发现,RISC 精简指令集被提了出来,这是计算机系统架构的一次深刻革命。RISC 体系结构的基本思路是:抓住
43、CISC 指令系统指令种类太多、指令格式不规范、寻址 贡献:270 发帖:179 精华:0 注册:2007-12-13 查看资料 方式太多的缺点,通过减少指令种类、规范指令格式和简化寻址方式,方便处理器内部的并行处理,提高VLSI 器件的使用效率,从而大幅度地提高处理器的性能。RISC 指令集有许多特征,其中最重要的有:指令种类少,指令格式规范:RISC 指令集通常只使用一种或少数几种格式。指令长度单一(一般 4 个字节),并且在字边界上对齐,字段位置、特别是操作码的位置是固定的。寻址方式简化:几乎所有指令都使用寄存器寻址方式,寻址方式总数一般不超过 5 个。其他更为复杂的寻址方式,如间接寻址
44、等则由软件利用简单的寻址方式来合成。大量利用寄存器间操作:RISC 指令集中大多数操作都是寄存器到寄存器操作,只以简单的 Load 和 Store 操作访问内存。因此,每条指令中访问的内存地址不会超过 1 个,访问内存的操作不会与算术操作混在一起。爱好者博简化处理器结构:使用 RISC 指令集,可以大大简化处理器的控制器和其他功能单元的设计,不必使用大量专用寄存器,特别是允许以硬件线路来实现指令操作,而不必像 CISC 处理器那样使用微程序来实现指令操作。因此 RISC 处理器不必像 CISC 处理器那样设置微程序控制存储器,就能够快速地直接执行指令。便于使用 VLSI 技术:随着 LSI 和
45、 VLSI 技术的发展,整个处理器(甚至多个处理器)都可以放在一个芯片上。RISC 体系结构可以给设计单芯片处理器带来很多好处,有利于提高性能,简化 VLSI 芯片的设计和实现。基于 VLSI 技术,制造 RISC 处理器要比 CISC 处理器工作量小得多,成本也低得多。加强了处理器并行能力:RISC 指令集能够非常有效地适合于采用流水线、超流水线和超标量技术,从而实现指令级并行操作,提高处理器的性能。目前常用的处理器内部并行操作技术基本上是基于 RISC 体系结构发展和走向成熟的。正由于 RISC 体系所具有的优势,它在高端系统得到了广泛的应用,而 CISC 体系则在桌面系统中占据统治地位。
46、而在如今,在桌面领域,RISC 也不断渗透,预计未来,RISC 将要一统江湖。2、CPU 的扩展指令集对于 CPU 来说,在基本功能方面,它们的差别并不太大,基本的指令集也都差不多,但是许多厂家为了提升某一方面性能,又开发了扩展指令集,扩展指令集定义了新的数据和指令,能够大大提高某方面数据处理能力,但必需要有软件支持。MMX 指令集MMX(Multi Media eXtension,多媒体扩展指令集)指令集是 Intel 公司于 1996 年推出的一项多媒体指令增强技术。MMX 指令集中包括有 57 条多媒体指令,通过这些指令可以一次处理多个数据,在处理结果超过实际处理能力的时候也能进行正常处
47、理,这样在软件的配合下,就可以得到更高的性能。MMX 的益处在于,当时存在的操作系统不必为此而做出任何修改便可以轻松地执行 MMX 程序。但是,问题也比较明显,那就是 MMX 指令集与 x87 浮点运算指令不能够同时执行,必须做密集式的交错切换才可以正常执行,这种情况就势必造成整个系统运行质量的下降。SSE 指令集SSE(Streaming SIMD Extensions,单指令多数据流扩展)指令集是 Intel 在 Pentium III 处理器中率先推出的。其实,早在 PIII 正式推出之前,Intel公司就曾经通过各种渠道公布过所谓的KNI(Katmai New Instruction)
48、指令集,这个指令集也就是 SSE 指令集的前身,并一度被很多传媒称之为MMX 指令集的下一个版本,即 MMX2 指令集。究其背景,原来“KNI“指令集是 Intel 公司最早为其下一代芯片命名的指令集名称,而所谓的“MMX2“则完全是硬件评论家们和媒体凭感觉和印象对“KNI“的评价,Intel 公司从未正式发布过关于 MMX2 的消息。而最终推出的 SSE 指令集也就是所谓胜出的“互联网 SSE“指令集。SSE 指令集包括了 70 条指令,其中包含提高 3D 图形运算效率的 50 条 SIMD(单指令多数据技术)浮点运算指令、12 条 MMX 整数运算增强指令、8 条优化内存中连续数据块传输指令。理论上这些指令对目前流行的图像处理、浮点运算、3D 运算、视频处理、音频处理等诸多多媒体应用起到全面强化的作用。SSE 指令与 3DNow!指令彼此互不兼容,但 SSE 包含了 3DNow!技术的绝大部分功能,只是实现的方法不同。SSE 兼容 MMX 指令,它可以通过 SIMD 和单时钟周期并行处理多个浮点数据来有效地提高浮点运算速度。SSE2 指令集SSE2(Streaming SIMD Extensions 2,Intel 官方称为 SIMD 流技术扩展 2 或数据流单指令多数据扩展指令集 2)指令集是 Intel 公司在 SSE 指令集的基础上发展起来的。相比于