为什么amd推土机和打桩机不如因特尔移动处理器

貌似 找到了 amd cpu 与 intel cpu的差距根源了!!!_amd吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:181,377贴子:
貌似 找到了 amd cpu 与 intel cpu的差距根源了!!!收藏
一楼喂度娘
如果有人发过这类帖子 当我没有说
2017年在职研究生专科报考条件、本科报考条件
八成是冷笑话
宽动态执行(Wide Dynamic Execution),高级数字多媒体增强技术(Advanced Digital Media Boost),智能 内存 访问技术(Smart Memory Access),高级智能缓存技术(Advanced Smart Cache)——这些都是 Intel 的市场部人员重点宣传的技术,所有的这些技术造就了 Intel 新推出的高性能、低功耗的 Core 微架构。
  不过,我们不会只关心市场宣传人员给他们的产品贴上的漂亮的标签。如果只看标签的话——“结合良好的性能与合理的功耗,扩展数字生活的方式”,你会发现这与 VIA 对他们的 C7 处理器的宣传很相似。然而,你认为宣传口号背后的 Intel Core 微架构会与 VIA C7 处理器相同吗?   下面,就让我们来仔细了解一下隐藏在市场宣传人员的口号背后的 Core 微架构的秘密,并且与 AMD 的 K8 微架构、Intel 之前的 NetBurst 微架构以及 Pentium M 处理器进行对比。撰写这篇文章之前,我们与 Intel 以色列研发中心(Israel Development Center,简称IDC)的架构设计师之一——Jack Doweck 进行了交流。Jack Doweck 设计了全新的 内存 乱序缓冲区(Memory Reorder Buffer)和 内存 相关性预测系统(Memory disambiguation system)。
  Intel 的市场宣传人员声称 Core 微架构是 Pentium M 处理器和 NetBurst 微架构的融合。然而目前比较普遍的看法是,Core 微架构是 Pentium Pro 架构,或者说是 P6 微架构的延续。在 Core 微架构中,你很难找到任何与Pentium 4,或者说是 NetBurst 微架构有关的东西。在我们与 Jack Doweck 的交谈之后,这个事实更加清晰——Core 微架构中只有预取机制是从 NetBurst 微架构获得的灵感,所有其它的设计都是从 Yonah 微架构(Core Duo 处理器)演变而来,而 Yonah 微架构显然是从 Banias 处理器和 Dothan 处理器演变而来的。所有 Banias、Dothan、Yonah和采用 Core 微架构的处理器都继承了 NetBurst 处理器的前端总线设计,但除此之外,它们毫无疑问都是曾经获得巨大成功的 P6 微架构的后代。在某种意义上,你可以把 Core 微架构叫做“P8 微架构”,因为 Banias 和 Dothan 处理器曾经被称作“P7 微架构”。(不过,需要注意的是,Intel 从未给出过 Banias 和 Dothan 处理器所采用的微架构的正式名称,我们一般用 Pentium M处理器代表它们,或者简称为 PM 处理器。)   不过这并不意味着 Intel 的工程师只是把 Yonah 处理器的一些功能单元和解码器重新包装一下然后换了个名字就推出来。Jack 告诉我们,Woodcrest、Conroe 和 Merom 处理器都是基于 Yonah 处理器的,但是几乎80%的架构和电路设计需要重新进行。  
处理器微架构入门   为使那些不熟悉处理器设计的读者也能理解文章后面的内容,我们首先从一个处理器微架构的速成教程开始。为了理解处理器设计的目标和优劣,你首先需要了解处理器执行的指令,所以我们从处理器运行的软件开始。    典型的 X86 程序的代码中大约有50%的指令是存储器访问指令,其中存储器读指令大约是存储器写指令的2倍。然后,大约15%到20%的指令是分支指令(if, then, else等)。剩余指令中,大部分是诸如“ADD”、“MUL”这样的较简单的计算指令。像“DIV”、“SQRT”这些较复杂的计算指令在所有指令中只占很少的一部分。所有这些指令都按照典型的流水线步骤执行:取指,解码,取操作数,执行,退出。    首先,处理器会根据指令指针寄存器(instruction pointer register)指示的地址取回指令。这时,对处理器来说,指令仅仅是一些没有意义的0、1字符串。只有在被解码之后,指令对处理器来说才开始有意义。指令被解码后可以得到操作数地址和操作码,而操作数地址可以在下一步发挥作用:取操作数。你不会希望处理器对操作数的地址进行计算,而是对那些地址里面存放的内容进行计算——与 C 语言里面的指针的概念很相似。当操作数被取出来以后,ALU根据操作码的指示,就可以对操作数进行正确的计算了。计算结果一般将被写回处理器内部的寄存器堆中。有时候,计算结果也需要写回到缓存和 内存 中。这就是最后的步骤——退出。到此为止,你应该略微了解一条指令的整个执行过程了。    今天,对处理器设计者来说,主要的挑战是处理器的存储器访问平均延迟。在一个由 Pentium 4 3.6GHz 和 DDR400 内存 构成的系统中,处理器的速度是 内存 的速度(200MHz)的18倍。也就是说,访问 内存 的每一个周期,处理器会经过18个周期。而且,发送一个 内存 访问请求需要多个 内存 周期,回应一个 内存 访问也需要多个周期。因此,对于 Pentium 4 来说,花费200到300个处理器周期来等待 内存 访问的完成并不罕见。设计处理器缓存的目标就是避免 内存 访问的发生。但即使处理器缓存的缺失率仅为4%,也就是说,在处理器访问存储器的所有情况中只有4%的比例需要访问 内存 ,这4%也将显著降低处理器的执行效率。 Core 微架构的存储子系统   在处理器频率已经达到3GHz甚至更高的时代,保证即将用到的指令和数据已经在缓存中准备好是处理器设计者最重要的工作之一。因为只有这样,才能保证随着处理器频率的提高性能也随之提高;否则的话,更高的处理器频率只会使处理器花费更多的时钟周期来等待数据。这种把数据提前装入缓存的技术被称为“数据预取技术”(Prefeching)。但是,之前的处理器采用的数据预取技术并不能保证每次都成功,总会有一些失败的情况。这会导致处理器性能降低,特别是在运行对带宽敏感的应用程序的时候。   Core 微架构所采用的数据预取技术毫无疑问是目前为止最先进的,要优于 Pentium 4 和 Athlon 64 所采用的技术。Core 微架构中的每个核心至少有3组预取单元,包括2组数据预取单元和1组指令预取单元。除此之外,共享式二级缓存还拥有2组预取单元。这样,在一个双核心的采用 Core 微架构的处理器中,共有8组预取单元。有一个问题是,多达8组的预取单元在进行预取工作时,很容易会妨碍到正在运行的程序的正常的 load 操作。为了避免这种情况的发生,Core 微架构采取了预取监测器的机制,该监测器总会给予正在运行的程序更高的优先级。这样,预取单元就决不会从正在运行的程序那里“偷”走很多带宽了。   Core 微架构的预取机制还有更多新特性。数据预取单元经常需要在缓存中进行标签查找。为了避免引起正在运行的程序进行的标签查找的更高的延迟,数据预取单元使用标签查找的
store 端口。如果你还记得,load 操作的发生频率是 store 操作的2倍之多,那么就容易理解这样的选择了——store 端口的使用频率仅为 load 端口的一半。并且,store 操作在大多数情况下并不是影响系统性能的关键,因为在数据开始写入后,处理器可以马上开始进行下面的工作,而不必等待写入操作完成。缓存/ 内存 子系统会负责数据的整个写入到缓存、复制到主 内存 的过程。   Core 微架构的缓存系统也令人印象深刻。二级缓存容量高达4MB,并且是由两个核心共享的,访问延迟仅12到14个时钟周期。每个核心还拥有32KB的一级指令缓存和一级数据缓存,访问延迟仅仅3个时钟周期。从 NetBurst 微架构开始引入的追踪式缓存(Trace Cache)在 Core 微架构中消失了。NetBurst 微架构中的追踪式缓存的作用与常见的指令缓存相类似,是用来存放解码前的指令的,对 NetBurst 微架构的长流水线结构非常有用。而 Core 微架构回归相对较短的流水线之后,追踪式缓存也随之消失,因为 Intel 认为,传统的一级指令缓存对短流水线的 Core 微架构更加有用。 Core vs. K8——存储子系统   下面的表格不仅包括了 Core 微架构和 K8 微架构的存储子系统的特性,还包括了之前的 K7 处理器、Pentium M 处理器及 Pentium 4 处理器等的存储子系统的特性。
缓存结构比较   通过浏览该表格,很快就可以发现,Core 微架构的存储子系统给人留下非常深刻的印象。它不仅拥有最大容量的二级缓存,而且还拥有较低的缓存访问延迟。共享式二级缓存的设计还可以使单个核心享用完全的4MB缓存。一级缓存和二级缓存的总线位宽都是256-bit,从而可以给核心提供最大的存储带宽。   Core 微架构面对的最重要的竞争对手是 AMD 的 K8 处理器。从表格中也可以看出,K8 处理器在存储子系统上也并非全面处于下风,而是拥有两个值得注意的优势。   首先是较大的一级缓存:64KB的一级指令缓存和64KB的一级数据缓存。不过 K8 处理器的一级缓存采用2路组相连结构。相比之下,Core 微架构采用的8路组相连结构的32KB的一级缓存并不会差多少。   第二个优势是更加重要的一个:K8 处理器拥有集成在处理器内部的 内存 控制器。这样的做法大大降低了 内存 访问延迟。不过,采用 Core 微架构的处理器的更快的前端总线也有效降低了 内存 访问延迟。就我们目前所知道的,K8 处理器在 内存 访问延迟上的优势会缩水到仅仅15%~20%,而不是与Pentium 4相比较时的几乎加倍的速度(45~50纳秒对比80~90纳秒)。   即便如此,K8 处理器的这两项小小的优势也有可能被与 Core 微架构存储子系统其他方面的比较抵消掉。Core 微架构的处理器比竞争对手 K8 处理器拥有更大的二级缓存和更加智能化的预取机制。Core 微架构的处理器的一级缓存拥有大约2倍于 K8 处理器的带宽(ScienceMark 软件测试的结果),而其二级缓存的速度更是2.5倍于 K8 处理器的二级缓存。
麻烦的话 直接看看Core vs. K8——解码单元   接下来让我们来看一下这有趣的对比:Core 微架构的3组简单解码单元与1组复杂解码单元 vs. K8 处理器的3组复杂解码单元。   K7 处理器有2种解码方法,向量路径(Vector Path)和直接路径(Direct Path)。向量路径解码会生成多于2条的类似RISC的指令(AMD称为Macro-Op,即宏指令)。直接路径解码会生成1条或者2条宏指令。K7 处理器的每组解码单元都可以进行向量路径解码和直接路径解码,但是从性能的角度讲,直接路径解码无疑是更好的选择,因为它会生成数量较少的宏指令。怎么,你觉得突然谈论 K7 处理器有点奇怪?不,因为就像 Core 微架构是基于 P6 微架构一样,K8 处理器很大程度上也是基于 K7 处理器的。   K7 处理器的3组复杂解码单元是强大的,可以解码绝大多数X86指令,只有很少一部分指令需要使用向量路径解码。它们仅有的缺点是一些浮点指令和SSE指令需要使用向量路径解码。而 K8 处理器拥有更强大的复杂解码单元——几乎所有的浮点指令和SSE指令都可以使用直接路径解码了。这是因为K8 处理器的取指与解码单元的流水线比 K7 处理器的更长。当涉及到SIMD指令时,K8 处理器尤其强于 K7 处理器。   显然,Intel 的宏指令融合技术在AMD 的 K8 处理器上并不存在。但是,AMD拥有与微指令融合技术类似的技术。首先需要注意的是,Intel 与 AMD 使用的名词“宏指令”与“微指令”具有不同的含义,很容易使人混淆。这里我们给出下面的表格,对它们进行分辨。
名词辨析   在 Athlon 处理器中,也存在有微指令融合技术。例如,一条 ADD [mem], EAX 指令在真正执行前中始终保持为一条指令。因此,它在缓冲区中也只会占据1个单元的空间。不过,在 Core 微架构中 load 操作和 SSE 操作等也可以被融合,而 K8 处理器则不行,它会把SSE操作解码成2条宏指令。   那么,在解码单元方面,Intel 的 Core 微架构与 AMD 的 K8 处理器比较的结果是什么呢?就目前的资料来看,还很难确切的说到底哪个更加有实力。不过,我们有一个初步的看法:Core 微架构要更具有优势。因为在一般情况下,它每个时钟周期可以解码4条X86指令,加上宏指令融合技术的话则最多可以解码5条X86指令。而 AMD 的 K8 处理器每个时钟周期只能解码3条。   总而言之,AMD 的3组复杂解码单元胜过 Core 微架构的3组简单解码单元加上1组复杂解码单元的情况不大可能发生。仅当多条复杂指令同时需要复杂解码单元进行解码的时候,K8 处理器的解码单元会胜过 Core 微架构的解码单元。但是考虑到实际程序中的绝大多数X86指令对应简单解码单元的事实,这种情况不大可能发生。
Core vs. K8——乱序执行引擎   为了使读者更加清晰的了解AMD K8 处理器与 Intel Core 微架构的区别,我们使用相同的风格制作了下面的图表。
Core 微架构
K8 处理器   从图上可以看到Core 微架构与K8 处理器的明显区别。Core 微架构拥有更大的乱序缓冲区——96 entry,再考虑到它的宏指令融合技术,其实际容量比 K8 处理器的72 entry要大的多。而最初的 P6 微架构只有40 entry,在Banias、Dothan 及 Yonah 处理器中增加到了80 entry,而现在的 Core 微架构进一步增加到了96 entry。为了看起来清晰、直观,我们制作了下面的表格来比较这几代处理器的重要特性。
几代处理器特性比较   Core 微架构采用集中式保留站(central reservation station),而 K8 处理器采用分布式调度器(distributed scheduler)。集中式保留站的优势是拥有更高的利用率,而分布式调度器能容纳更多的表项。NetBurst 微架构也采用分布式调度器。   使用集中式保留站也是把 Core 微架构称作“P8 微架构”的理由之一,这是相对古老的 P6 微架构的第二项巨大的提升。它利用保留站并调度与分配执行单元来执行微指令。执行结束后,执行结果被存储到乱序缓冲区内。这样的设计方式无疑是继承自Yonah、Dothan 甚至 P6 微架构。   最大的区别并不能立即从图表上看出来。Intel 先前的处理器需要2个时钟周期才能完成一次分支预测操作,而 Core 微架构只需要1个时钟周期。而 AMD 的 K8 处理器也只需要1个时钟周期就可以完成一次分支预测操作。   另外一处令人惊讶的地方是 Core 微架构的 SSE 多媒体指令执行性能。Core 微架构拥有3组非常强大的128-bit的 SSE 执行单元,其中2组是对称的。拥有如此强大的SSE执行资源,Core 微架构在执行128-bit SSE2/SSE3指令时将远远超过 K8 处理器。   在 K8 处理器上,1条128-bit的 SSE 指令会被解码成2条64-bit的指令,因为 K8 处理器的 SSE 执行单元只能执行64-bit的指令。所以说,从这个角度看,Core 微架构的SSE处理能力至少是 K8 处理器的2倍。如果是对64-bit的浮点进行操作,Core 微架构每个时钟周期可以处理4个双精度浮点数的计算,而 K8 处理器可以处理3个。   就整数执行单元来说,Core 微架构比 Pentium 4 处理器和 Dothan 处理器也有很大的提高,而与 K8 处理器处于同样的水准——如果只考虑执行单元的数量的话,Core 微架构与 K8 处理器都拥有3组ALU。如果也考虑 AGU 的话,K8 处理器拥有3组,甚至比 Core 微架构的2组要更有优势。这可能会使 K8 处理器在一些不太常见的整数计算中有优势,比如 解密运算 。不过,Core 微架构拥有的更深、更灵活的乱序缓冲区和更大、更快速的二级缓存可以在绝大多数整数运算中消除 K8 处理器这个小小的优势。 Core vs. K8——对load操作的处理 自从采用 P6 微架构的 Pentium Pro 处理器之后,X86 处理器开始拥有乱序发射和执行指令的能力。不过,乱序缓冲区内平均大约三分之一的指令很难重排序——就是那些 load 操作。把 load 操作提前执行可以极大的提高性能。与需要数据的时候才进行 load 操作相比,尽可能早的开始 load 操作十分有用,因为这可以更有效的把一级缓存及二级缓存的延迟隐藏掉。   这很容易理解。假设现在有一个 ALU 操作需要某数据,可是该数据不在一级缓存中。如果 load 该数据的操作在该 ALU 操作之前就已经执行完毕,那么访问二级缓存的延迟就不会对性能产生影响。不过,需要注意的是,如果 load 操作针对的数据在程序中还有 store 操作要对其进行写入,那么就不能把 load 操作提前到该 store 操作之前执行。因为这样的情况下,如果提前执行 load
报考一级消防师要求,学尔森13年考培经验为您解答,更有百度信贷分期付学费.
操作的话,意味着你得到的会是错误的数据,而不是最新的。
Intel 内存 相关性预测技术   上图中的 Load 2 操作不能提前执行,因为它操作的数据与 Store 1 操作的数据相同,需要等待 Store 1 操作先完成。只有 Store 1 执行完毕,数据Y才拥有正确的值。不过 Load 4 操作没有理由不能提前进行,它不需要等待 Store 1 或者 Store 3 操作完成。这样,通过把 Load 4 操作提前,load 单元有更多的时间去获得正确的操作数。   不过,之前的处理器在这种情况下——有 store 操作存在——都不会把 load 操作提前。因为处理器不知道 store 操作针对的数据单元与 load 操作是否相同。如果想要搞清楚是否相同的话,需要计算存储器地址。这十分困难,因为在指令乱序和调度的时候,存储器地址还是未知的。   这时需要注意一个事实:load 操作读取到一个错误数据的概率相当小,只有1%到2%。所以,Intel 的 Core 微架构设计师 Jack Doweck 决定,允许所有的 load 操作提前执行,假设所有的 load 操作读取到的数据都是正确的。而为了应对错误的发生,Intel 加入了一个预测器。   根据 Jack Doweck 的描述,以及我们对以前的 P6 微架构和 Pentium M 处理器的了解,我们制作了下面的图表。注意这并非 Intel 官方的图表。
Core 微架构乱序执行引擎   预测器做出预测,并指示乱序缓冲区是否可以把某 load 操作提前执行。在 load 操作提前执行之后,冲突监测单元会扫描MOB(Memory Reorder Buffer),查看是否有 store 操作与 load 操作冲突。如果有冲突发生的话,load 操作必须重新执行,这时大约会损失20个时钟周期。不过与之前的处理方式相比,Core 微架构采用的这种处理方式总体上肯定可以提高处理器的效率。   检测某 load 操作和某 store 操作是否是针对同一 内存 地址的行为称作 内存 相关性预测(memory disambiguation)。Core 微架构允许 load 操作提前到 store 操作之前执行的处理方式可以带来性能上的巨大提升。在某些测试代码中,这个提升甚至达到了40%。虽然我们在实际的应用程序中不会看到如此大的提升,但是无疑这项技术会带来令人印象深刻的提升——我们可以期待10%到20%的性能提升。   不要忘记,load 操作可能是所有操作中最重要的操作。不仅仅因为 load 指令占了X86处理器内所有微指令的三分之一强,还因为当 load 操作发生时可能导致的巨大延迟会引起处理器的等待。那么,这项极其灵活的 load 操作乱序执行技术与其它架构的处理器相比是什么情况呢?
Load 操作处理方式比较   旧的 P6 微架构和 Penium M 处理器也已经可以较好的处理 load 操作,可以把某 load 操作提前到另外的 load 操作之前进行,也可以提前到已知不会发生冲突的 store 操作之前进行。P6 微架构的 内存 乱序缓冲区(Memory Reorder Buffer,简称MOB)采用如下的规则:如果在乱序执行窗口中存在与某load操作 内存 地址相同的store操作,则该load操作不能提前执行;如果在乱序执行窗口中存在 内存 地址未知的store操作,则任何load操作不能提前执行;某store操作不能提前到另外一个store操作之前执行。   相比之下,K8 处理器要逊色的多,它只能把 load 操作移动到不相关的 ALU 操作之前进行,而不能移动到其它 load 操作之前,当一个 load 操作等待某 store 操作执行的时候,处理器会浪费大量的时钟周期。这意味着 K8 处理器在指令乱序这方面受到极大的限制。   这也许是 K8 处理器在游戏和整数计算等方面输给 Core 微架构的最重要的原因之一,尽管它拥有延迟更低的 内存 子系统和更多的整数执行资源。整数运算进行的存储器操作经常有许多未知的地址需要计算,而浮点运算则不是这样,它对存储器的访问是更加规范的。这也是 K8 处理器在浮点运算方面不输给 Dothan 处理器的原因之一。   当 load 操作和 store 操作都已经进入 Load/Store 单元的队列中的时候,K8 处理器允许 load 操作在不冲突的 store 操作之前执行。不幸的是,这时把 load 操作提前执行已经不能隐藏缓存缺失所带来的延迟。你可以认为这是 K8 处理器拥有的 Load/Store 乱序机制,但是它在流水线中的位置太靠后,比起 P6 微架构、Pentium M 处理器和 Core 微架构所采用的技术相差甚远。 关于超线程技术与集成式内存控制器   Core 微架构拥有庞大的执行资源和巨大的共享式二级缓存,看起来是非常适合应用 SMT(Simultaneous Multi Threading)技术的处理器设计。但是,Intel 并没有在 Core 微架构中应用 SMT 技术。其原因并不是 SMT 技术不能带来好的结果。Intel 的工程师接受的任务是研发拥有极佳性能的、可以适应 服务器 和桌面系统和移动系统等多种平台的处理器。而SMT技术只有在 服务器 平台上才能带来最大的性能提升——最高可以达到40%。因此以色列团队的工程师们决定放弃SMT技术。另外,SMT技术还会使处理器中发热最大的部分更热,所以说,SMT 并不适合 Core 微架构的“单个微架构统一所有平台”及“功耗最优化平台”的设计思想。   至于引入集成式 内存 控制器(Integrated Memory Controller,简称IMC),Intel 的工程师表示花费在 内存 控制器上的晶体管不如放到二级缓存上。这个观点当然会引起极大的争议。不过有一点是可以肯定的:二级缓存的功耗会比 内存 控制器更小。Intel 的这个选择也许是因为把 内存 控制器放到芯片组上使得他们可以在不改变处理器设计的情况下支持新类型的 内存 。考虑到 Intel 的桌面平台和移动平台使用 DDR2 内存 模组,而 服务器 平台将使用 FB-DIMM 内存 模组,这样做的灵活性就很明显了。改进的 内存 相关性预测技术及预取单元等可以弥补不集成 内存 控制器带来的损失。那么,集成 内存 控制器会提高 Intel 处理器的性能吗?几乎是肯定的,但是 Intel 目前还在考虑其它的选择。 能仍然重要
好牛逼的样子
虽觉厉,长懒挽
最后是 个人见解
在一个时钟频率内 core可以 执行 4个指令 而amd只是3个 而且 英特尔的架构跟容易拉升主频 (具体上文提到了执行管线搭配的问题??)英特尔 为了 突破瓶颈 抄袭了 and 的HT总线(snb总线core i系列 上用的)而且更优秀 从而加大了 二者之间的差距
上边文章是转载 如果个人见解有误 敬请斧正
英特尔排除了碟中谍,对AMD的研发进行破坏
比较专业,我看热闹的。
楼主的观点多数是不正确的。给你一个较为符合实际的说法;
在讨论AMD的推土机架构之前先回顾一下INTEL和AMD的CPU的这几年的变化与发展。
为了全面的分析AMD和INTEL的CPU的现状。就应了一句名言,要知道它的现在就要知道它的过去,要知道它的未来就要了解他的现在。
一位伟大的哲人马克思曾经说过,一门学科,只有当它能够成功运用数学的时候,才有可能成为一门真正的科学。
计算机就是一项建立在数学基础上的应用科学。因此对以上的现象给出数学上的证明和解释不仅是必要的而且是必须的。
在讲解和分析AMD和INTEL的CPU的过去前现给出几个计算公式以便更清晰的了解事物的本来面目。
综合浮点运算的能力=(1/(GPU的浮点运算能力+CPU的浮点运算能力))X运算地址调度能力(为整数运算能力) (其最后的值越小越好,运行速度越快)
运算地址调度能力=4/软件可支持的处理器的的整数运算单元 (其最后的值越小越好,运行速度越快)
CPU整数运算能力=单位周期整数指令数X处理器运算单元执行效率系数X处理器整数运算单元数(可为操作系统识别数)
CPU的浮点运算能力=CPU的除法运算器的单位周期指令数X运算地址调度能力X处理器浮点运算单元数(其中处理器运算单元执行效率系数通常用处理器整数运算单元执行效率系数内存潜伏这个指标.内存潜伏期一般是指行寻址、列寻址和中间的延迟所耗费的时间的总和.它是CPU与内存综合效率的体现)
有了以上的公式现在来分析AMD和INTEL的CPU的征战历程中的前因后果。
很多人都知道在AMD的Athlon64在游戏和市场中尽现风采,压的当时的P4只能防守全无进攻之力.
那么Athlon64在游戏和市场中的表现仅是人们的主观感受?而非真实的技术上的差异和区别.
那么将当时AMD和INTEL的相关数据代到公式中一看就全清楚了.
当时AMD和INTEL的每个单位周期的整数运算指令发射都是三发射.处理器整数运算单元数当时都是两个.处理器浮点运算单元数(可为操作系统识别数)也相同,而且CPU的除法运算器的单位周期指令数相同。处理器运算单元执行效率系数即衡量运算单元执行效率系数的最直接的指标就是内存潜伏这个指标.内存潜伏期一般是指行寻址、列寻址和中间的延迟所耗费的时间的总和.它是CPU与内存综合效率的体现.
Athlon64 4400+是65.9 ns,而P4EE 85.2 ns
则Athlon64 X2 4400+CPU整数运算能力是而P4EECPU整数运算能力的1.29倍=85.2 ns/65.9ns
则Athlon64 X2 4400+CPU浮点运算能力是而P4EECPUCPU浮点运算能力1.29倍
综合单核整数与浮点运算能力是P4EE的1.29倍。考虑到当时对64位处理器和双核处理器在软件优化上的不足,因此实际差距在1.1-1.15倍左右。
人们常说有对照才好比较。
因此我们将按下表对照就更清晰了:
AMDAthlon64 X2 4400+
项目1)每个周期整数运算指令发射数
32)在CPU中引入内存控制器处理器运算单元执行效率系数
3)除法运算器每个时钟周期指令数
2 4)指令集系统
MMX,SSE,SSE2,
MMX+,3DNow!+,
SSE3,HT EM64T
SSE,SSE2,SSE3,
从以上的对照可以看出1),3),4)两者无区别,而在2)CPU中引入内存控制器提升处理器运算单元执行效率系数上INTELP4与thlon64 X2 4400+有30%的差距导致落败。
此时INTEL如梦方醒看到了差距。全面更新了其CPU的架构最主要的措施有以下四条:
1)在CPU中引入内存控制器提升处理器运算单元执行效率系数。
2)每个单位周期的整数运算指令发射由三发射改为每个单位周期的整数运算指令发射四发射。
3)CPU的除法运算器由过去采用的Radix-4除法运算器每个时钟周期内可以传递2bit的运算,处理2个指令,改为采用radix-16除法器了,每周期指令数从原来的2条一下子提高到4条,数据延迟更低,浮点单元以及整数单元都可以从中受益。
4)全新的指令集系统 SSE4.1,SSE4.2,AVX,AES,FMA。
同样列表对照一下I7 2600K与X6 1055T的对照。
INTEL I7 2600K
AMD PhenomII X6 1055T
项目1)每个周期整数运算指令发射数
32)在CPU中引入内存控制器提升处理器运算单元执行效率系数
3)除法运算器每个时钟周期指令数
24)指令集系统
MMX,SSE,SSE2,
MMX+,3DNow!+,
SSE3,HT EM64T
SSE,SSE2,SSE3,
SSE4.1,SSE4.2,
AVX,AES,FMA
INTEL这四板斧着实厉害。当场就与AMD的CPU拉开了至少25%以上的差距。现在将I7 2600k和X6 1055T的数据代入
I7 2600k单位周期整数指令数是4,处理器运算单元执行效率系数是55.3ns,处理器整数运算单元数I7 2600k是四个,但是具有超线程的能力相当于6.5个处理器整数运算单元
X6 1055T 单位周期整数指令数是3,处理器运算单元执行效率系数是55.8 ns处理器整数运算单元数6个。
则I7 2600kCPU整数运算能力=4X55.8/55.3X6.5=26.23
X6 1055T CPU整数运算能力=3X1X6=18
则I7 2600kCPU整数运算能力是X6 1055T CPU整数运算能力的1.45倍。
现在将数据代入验证
15365 MB/秒
10644 MB/秒
I7 2600kCPU整数运算能力是X6 1055T CPU整数运算能力的1.446倍=15365 MB/秒/ 10644 MB/秒
数据和公式基本吻合。
I7 2600k CPU的除法运算器的单位周期指令数 4 处理器运算单元执行效率系数是55.3ns,处理器整数运算单元数I7 2600k是四个,但是具有超线程的能力相当于1.3个处理器整数运算单元,而且由于其处理器的编译器的优势,至少有12%的优势,故有4X1.3X1.12=5.83.故相当5.83个处理器整数运算单元
X6 1055T CPU的除法运算器的单位周期指令数 2 处理器运算单元执行效率系数是55.8 ns 处理器整数运算单元数I7 2600k是六个,由于多数软件对六核以上的浮点运算时处理器整数运算单元优化不好至多发挥其0.75倍效率,故相当4.5个。
则I7 2600kCPU浮点运算能力=4X(55.8/55.3)X5.83=23.53
X6 1055TCPU浮点运算能力=2X1X4.5=9
I7 2600kCPU浮点运算能力是X6 1055T CPU浮点运算能力的2.61倍。
现在将数据代入验证
18438 MB/秒
6895 MB/秒
I7 2600kCPU浮点运算能力是X6 1055T CPU浮点运算能力的2.67倍。
数据和公式基本吻合。
AMD在全力发展APU的同时通过推土机及后续品种解决CPU的架构和效率的研制问题也在有条不紊的进行着。
具体的说AMD在推土机的架构上作了以下几点重大的更新:
1)在CPU中强化已有的内存控制器效率提升处理器运算单元执行效率系数。
2)设计高效的一模块双核心的CPU架构。
3)设计更高效的SSSE3/SSE4.1/SSE4.2,AES,AVX,FMA4/XOP。
4)每个单位周期的整数运算指令发射由三发射改为每个单位周期的整数运算指令发射四发射。
可是推土机的问世后,各种测试软件都反映了一个共同的特点就是在涉及到浮点运算时的数据均反映了推土机的弱项,而设计到纯整数或整数运算占主导地位的数据时推土机架构多数处于领先的地位。
为此列表对照一下I7 2600K与FX-8150的区别。
INTEL I7 2600K
AMD FX-8150
项目1)每个周期整数运算指令发射数
42)在CPU中引入内存控制器提升处理器运算单元执行效率系数
3)除法运算器每个时钟周期指令数
24)指令集系统
MMX,SSE,SSE2,
MMX+,3DNow!+,
SSE3,HT EM64T
SSE,SSE2,SSE3,
SSE4.1,SSE4.2,
AVX,AES,FMA
SSE4.1/SSE4.2
AES,AVX,FMA4/XOP。
通过以上的对照可以清晰地看出I7 2600K与FX-8150的区别。在1)中两者相同。在2),4)项中FX-FX-8150要略微领先。在3)中 I7 2600K依旧领先FX-8150一倍。
从以上的对照可以初步得出以下的
1.在整数的运算上由于指令发射数相同,但是由于FX-8150的架构在操作系统中无法正确识别,故每个模块被视为一个处理器核心,但是其在2),4)项中略微领先故在整数的运算上FX-8150 略微领先I7 2600K。
2. 在整数的运算上由于指令发射数I7 2600K以超出FX-8150一倍的每个周期浮点运算指令发射数 ,则在每个周期的浮点运算上要领先FX-8150一倍,但是由于FX-8150在2),4)项中略微领先故在每个周期浮点运算上I7 2600K领先FX-8150浮点运算的数值达不到超出一倍的水平。
FX-8150CPU整数运算每个时钟周期指令数=4X4=16
整数运算每个时钟周期指令数=4X4=16
下面为AIAD64实测数据
18668 MB/秒
16062 MB/秒
10213 MB/秒
18238 MB/秒
按公式计算
FX-8150CPU整数运算能力=16 X55.1/48.5=18.17
整数运算能力=16
则有 FX-8150CPU整数运算是 I7 2600K
整数运算的1.13倍=18.17/16
将数据代进计算
18668 MB/秒/16062MB/秒=1.16
大致符合理论计算值1.13,因为 2),4)项中略微领先因素中4)为计算可接受此误差。
CPU浮点运算每个时钟周期指令数 =4X2=8
I7 2600K CPU浮点运算每个时钟周期指令数=4X4=16
FX-8150CPU浮点运算能力=8X55.1/48.5=9.08
I7 2600K浮点运算能力=16
则有FX-8150CPU浮点运算能力的I7 2600K浮点运算能力=0.5625倍`
将数据代进计算 10213 MB/秒/18238 MB/秒=0.5609
大致符合理论计算值0.5625,因为 2),4)项中略微领先因素中4)为计算可接受此误差。
综上可知AMD与INTEL的差距主要就是两点
1。现行的操作系统不能识别推土机架构。
2。涉及浮点运算的除法器执行效率低。
这两点AMD将在压路机架构中改进。
lz你直接发连接多好,还带图片,发这么多有啥用啊
intel的集显给我最大的感觉就是他们的显存,是可变,最小只有8M,在待机和低负载的时候可以几大限度的释放内存给程序使用。amd和nv的就。。。。即使是空闲了也是占着那么多内存
好长——来自 诺基亚 Lumia 710
其中,26楼的是1600双通道内存性能,27楼的是1333双通道,所以27楼的内存性能普遍低一些。。不过很明显可以看出来,1333的奔腾,内存性能超过,你觉得怎样?
个人认为,扯这些犊子没用。还是上鲁大湿娱乐!
回复1100T加6850:这是刚才用速龙X240测试给出的各种型号CPU的测试成绩,本来准备用FX-4100和windows8测试考虑到与你提到的奔腾CPU用了速龙X240和xp系统:AIDA64 Extreme Edition版本
AIDA64 v2.70.2212 Beta/cn检测模块
3.0.478-x32主页
快速报告计算机
ly操作系统
Microsoft Windows XP Professional 5.1.2600 (WinXP RTM)日期
10:23内存读取Core i7-3770K
18624 MB/秒FX-8350
17410 MB/秒Core i7-3960X
16825 MB/秒Core i7-2600
15947 MB/秒Core i7-990X
14589 MB/秒FX-8150
14374 MB/秒Core i7-965
14012 MB/秒Xeon X5550
12461 MB/秒A10-5800K
12227 MB/秒Xeon X3430
11532 MB/秒FX-4100
10925 MB/秒Core i5-650
9470 MB/秒Athlon64 X2 Black 6400+
8912 MB/秒Phenom II X6 1100T
8058 MB/秒Pentium EE 955
8031 MB/秒A8-3850
7965 MB/秒P4EE
7931 MB/秒Athlon II X2 240
7688 MB/秒Phenom II X4 Black 940
7474 MB/秒Core 2 Extreme QX9650
7172 MB/秒Core 2 Extreme X6800
7055 MB/秒Core 2 Extreme QX6700
6736 MB/秒Athlon64 X2 4000+
6365 MB/秒Pentium D 820
6193 MB/秒Athlon64 3200+
5981 MB/秒Core 2 Duo P8400
5792 MB/秒Celeron 420
5388 MB/秒Opteron 2210 HE
5320 MB/秒Opteron 2378
5131 MB/秒Atom D2500
5126 MB/秒Opteron 2431
5126 MB/秒Phenom X4 9500
5085 MB/秒Xeon
4589 MB/秒P4EE
4351 MB/秒Core Duo T2500
4249 MB/秒Celeron D 326
4005 MB/秒Opteron 248
3935 MB/秒Opteron 240
3917 MB/秒Nano X2 L4350
3889 MB/秒E-350
3827 MB/秒Xeon
3777 MB/秒Pentium M 730
3725 MB/秒Atom 230
3620 MB/秒Xeon E5462
3540 MB/秒Nano L2200
3515 MB/秒P4
3462 MB/秒Opteron 2344 HE
3353 MB/秒Xeon 5140
3264 MB/秒Xeon L5320
3155 MB/秒AthlonXP 3200+
2986 MB/秒P4
2981 MB/秒Sempron 2600+
2946 MB/秒Celeron 2000 MHz
2765 MB/秒P4
2759 MB/秒Celeron 215
2694 MB/秒Celeron M 320
2411 MB/秒Duron
2000 MB/秒Efficeon 8600
1543 MB/秒Athlon
1308 MB/秒Duron
1132 MB/秒C7
1091 MB/秒Celeron
1049 MB/秒
1047 MB/秒PIII-S
1042 MB/秒AthlonXP 1600+
954 MB/秒Crusoe 5800
906 MB/秒Athlon 750 MHz
766 MB/秒C3
689 MB/秒PIII
620 MB/秒C3
605 MB/秒PIII
525 MB/秒PII
371 MB/秒Celeron
360 MB/秒K6-III
262 MB/秒PentiumPro
258 MB/秒PentiumMMX 200 MHz
231 MB/秒Pentium
226 MB/秒K5 PR166
167 MB/秒K6-2
150 MB/秒Celeron
117 MB/秒MediaGXm
111 MB/秒 内存写入 Core i7-3770K
19489 MB/秒Core i7-2600
18238 MB/秒Core i7-3960X
15045 MB/秒Core i7-990X
12552 MB/秒Core i7-965
12039 MB/秒FX-8350
11769 MB/秒 A10-5800K
10292 MB/秒FX-8150
10213 MB/秒Core i5-650
9920 MB/秒Xeon X3430
9467 MB/秒FX-4100
9110 MB/秒Athlon64 X2 Black 6400+
8861 MB/秒Nano X2 L4350
7721 MB/秒Core 2 Extreme QX9650
7087 MB/秒Phenom II X6 1100T
7054 MB/秒Athlon II X2 240
7020 MB/秒Xeon E5462
6715 MB/秒A8-3850
6584 MB/秒Xeon X5550
6368 MB/秒Phenom II X4 Black 940
5971 MB/秒Athlon64 X2 4000+
5652 MB/秒Pentium EE 955
5635 MB/秒P4EE
5619 MB/秒Core 2 Duo P8400
5485 MB/秒P4EE
5367 MB/秒Core 2 Extreme X6800
4866 MB/秒Core 2 Extreme QX6700
4855 MB/秒Atom D2500
4690 MB/秒Opteron 2210 HE
4482 MB/秒Pentium D 820
4248 MB/秒Xeon
4195 MB/秒Athlon64 3200+
4106 MB/秒Opteron 2378
3927 MB/秒Phenom X4 9500
3875 MB/秒Opteron 248
3826 MB/秒Opteron 2431
3789 MB/秒Celeron 420
3637 MB/秒Core Duo T2500
3425 MB/秒Nano L2200
3161 MB/秒P4
3113 MB/秒AthlonXP 3200+
3106 MB/秒Opteron 2344 HE
2922 MB/秒P4
2838 MB/秒Xeon
2835 MB/秒Pentium M 730
2833 MB/秒Atom 230
2832 MB/秒Celeron D 326
2785 MB/秒Xeon 5140
2503 MB/秒Sempron 2600+
2370 MB/秒Xeon L5320
2323 MB/秒Celeron
2148 MB/秒P4
2132 MB/秒Celeron M 320
2127 MB/秒Opteron 240
2016 MB/秒Duron
1955 MB/秒
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或}

我要回帖

更多关于 amd推土机什么意思 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信