




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
amd 64-bit cpu架构跃然舞台你真的需要一个64-bit的cpu吗?在我们开始进入讨论amd的x86-64结构以及与其竞争的其他方案比较之前,我们首先要说明一下我们是否需要64-bit的处理器。微处理器的“进化”原则相当简单。技术进步导致原先在高端企业级上的产品不久之后就转到了普通用户的桌面系统上,就是说,企业级的产品需求永远是高于普通桌面pc的等级的。现在64-bit的cpu刚被应用在了高端机上,也就证明了,目前64-bit cpu并非是每个人都需要的。64位处理器针对的主要对象是目前对32位系统感觉受限制的用户。最容易得到的证明就是不少硬件设计人员都由衷地感到:“啊!我们确实需要一块itanium来设计我们的下一代芯片!”现在的cpu设计已经到了令人难以置信的复杂,让amd和intel的工程师从运用64位处理器中提高的工作效率可以说是令人匪夷所思。同样的,一些用来设计汽车,卫星以及一些其他的非常复杂的产品的mcad软件(机械计算机辅助设计软件)也将通过64位系统得到不少的性能提升。另外,超大规模的数据库软件也会从64位结构获得不少好处,原因是他们将从64位的大内存寻址区域获得不少优势。 可见其企业级应用是相当广泛的。例如,安全和加密技术这样需要64位内存寻址功能的程序,可以不用将数据分为几个部分来进行操作,这样带来的效率提高是相当明显的。amd和intel列举了大量64位系统的优势,并且将天气预报系统作为了最好的例证。生死相搏: x86-64 vs ia-64现在的amd处于一种相当特殊的位置:一方面,amd是相当弱小的,根本不可能阻挡intel在各方面的优势以及成功,但另一方面,它又是相当有实力的,它开发的cpu足以与intel产品在主流市场相抗衡,同时又发布了与intel的ia-64完全不同的64 bit架构,这样的竞争是不同寻常的,因为这个竞争将把用户带到另一个cpu的战国时代,使用不同cpu的计算机之间程序不通用,使得用户必须决定究竟采用什么样的系统才是他们需要的,两个体系的大碰撞,最终意味着其中一个必须从pc舞台上消失。从结构上来说,intel的转移计划是相当简单的。他们将继续研发生产他们的ia-32架构cpu,包括pentium iii,celeron以及即将到来的pentium 4,用来面向那些只需要让32位程序得到最佳工作效率的用户,所有的用户都不能也不可能从这些cpu中得到64位系统的好处,因为它们根本不是64位的cpu。而如果你想升级到64位系统,那么你就必须放弃所有的32位程序,并且完整得移植到即将到来的ia-64体系,获得性能优势的同时,必须承受一定的痛苦。对于某些需要得到64位内存寻址系统的利益的用户来说,扩大内存需求已经是迫在眉睫的了,有些系统对于现有的4gb内存限制已经感觉到巨大的压力,特别是一些数据库系统,由于现有的32位寻址而导致了一些速度和功能限制。这样,intel推出了他们的64 bit处理器解决方案,那就是itanium。从itanium的设计上我们可以发现,对于这个解决方案来说,很不幸的的在于如果你和你的公司必须使用一些32位的x86程序,而且需要这些程序发挥最大效率,同时又必须转移到64位程序,那么一个单独的itanium系统,或者说纯粹的基于ia-64的系统将并非一个最好的解决方案。比较理想的方法是用一个pentium 4处理器来负责32位系统的处理,而用一个itanium系统来负责64位程序。相对来说,很显然,pentium 4是最好的32位处理器系统。事实上intel在其ia-64刚发布的时候就宣称,其不兼容原有的x86指令集,这样也就意味着使用ia-64的代言人的itanium时你将不得不放弃你现有的任何32位操作系统和程序。这对于用户的平台移植是有相当大的影响的,因为目前处于pc界的程序大多数都已经是32位的,少部分还是16位的。ia-64的指令集中也包括有不少原有的指令,但含义已经完全不同了,其内存定位于纯64位寻址,而原先程序基于32位寻址将导致程序出错。另外,很多pentium 4处理器中支持的,例如out_of_order指令被剔除,作为64位系统的不兼容指令。所以,简单来说,32位程序将不能直接运行于itanium上。不过intel似乎也发现这样一来对于平台移植会受到用户的抵制,所以就通过软件模拟32位,让原先的32位程序能继续运行,不过效率要大打折扣。这样的方案将迫使intel去面临一种选择,可能会丢失一大批用户,因为他们不可能完全移植到一个纯64位系统上,但同时也有其相当的好处,由于不需要原先的32位兼容系统,cpu将减少很多累赘,对于执行效率和发热指标来说,都将是一个非常大的优势。amd的处理方式完全不同,因为他们并不打算追随intel去进行那个不兼容的道路,鉴于rdram的前车之鉴,以及amd在ia-64这条路上的落后态势,于是就有两种道路让他们选择:1)对64 bit方案持观望态度,并不介入,但这样虽然少了不少风险,却同时也意味着他们很快会丢失已经争取到的现有的cpu界地位。2)设计一个新的64 bit architecture(架构),用来和intel的ia-64 cpu进行激烈竞争。我们刚才提到了amd不得不将面对一个cpu的位提升问题,他们不会选择第一种方案,显然,他们必须在现有客户基础上,选择后一方案。由于其计划推出晚,且影响不如intel大,就意味着他们不可能受到类似intel的新架构那样重视,所以他们能做的只能是类似15年前intel做的那样,改编并延续x86指令集,扩展到64 bit支持,使cpu不仅能完整支持32位程序,还能兼容64位系统指令,并称之为x86-64架构。这个解决方案的优势是十分显著的,你可以从amd提供的系统中直接得到32位的最佳解决方案,同时也能得到64位系统的兼容。两者被合并到一个内核。这就减轻了用户对选择64位系统的痛苦,因为他不必等待一个最佳时刻去移植他的程序到一个纯64位系统上去,x86-64可以提供一个既能运行32位程序又能运行64位程序的平台,而且是在同一个芯片上就可以完成所有功能。 不过也相当不幸,由于必须兼容过去的x86指令集,所以原先的x86指令集中一些固有的诟病也被保留了,就如同试图腾空的飞机被装载了过多辎重,显得有些累赘,cpu将必须被设计得十分庞大,晶体管数量将会是一个天文数字,不论在散热还是在工作效率上来说,都值得怀疑。我们就此通过email向amd 方面表达了我们的忧虑,得到的回答是:“我们不认为性能表现会受到结构的约束,我们更相信运行效率将会随cpu的频率提高而成正比地上升。”显然,amd对他们的cpu的性能是相当有信心。简单来说,用x86-64可以让你利用64位的优势,同时又对于原先的x86指令集保留,完全兼容。正如15年以前intel在它的80386中所做的一样,同时兼容32位和16位程序,现在amd也在让它的k8做同样的事情。架构的重要性在让我们了解ia-64和x86-64这两个架构之前,让我们先来看看程序是如何运作的:首先,程序员运用编程语言来编辑程序,这些程序在这个阶段还不过是一些文本文件。接下来,语言编译器将这些文本编译成机器语言,这样这个程序就成为了计算机可以读懂的机器语言了。最后计算机执行这些机器语句,并且将结果展现出来。从这个过程中,我们发现,编辑程序时,程序的算法是相当重要的,这影响到了程序的工作效率,我们可以将程序员的编程能力比喻成“词汇量”,他的词汇量大,那么他编辑的程序就会相当简洁明了,可看性强,而执行效率高。同样,在编译过程和计算机执行过程中,架构就成了编译器的“词汇量”,假设一个架构繁杂而且命令重复性大,转换过程多,机器指令长度长,就会导致资源的大量浪费。这就意味着,如果编译器的词汇量小,那么无论计算机的频率有多高,执行单条命令的速度有多快,或者同时可以执行多少条指令,它的浪费将是相当大的,因为它影响了整个系统,对所有程序都有影响。在目前这样一个工业发达的时期,竞争的任何一方都不可能在计算机频率和cpu的具体结构上超越对手很多,这样,一个机器执行效率问题就相当重要了,也就是说,cpu架构是影响计算机运行速度的很重要一环。ia-64架构的运行作为与amdx86-64架构的对比,我们来看看intel所制定的ia-64架构有什么技术特点和其运作情况。相对于amd的x86-64架构,ia-64显得就相当的清晰明了了,首先,ia-64不从硬件上支持x86的很大一批指令集,也就意味着现有的包括microsoft windows 2000和microsoft windows me。其次,它拥有完整的64位cpu的一切特性和功能,属于不折不扣的高端产品,能在它上面运行的程序只有纯64位操作系统和应用软件。最后,它的软件前景并非相当乐观,但却并不悲观,毕竟目前个人电脑的软件业霸主microsoft已经打算开发基于ia-64系统的64位操作系统,据悉可能是windows 2000的64 bit版本,或者是windows 2000的后继者whistler的64位版本。intel认为,目前的架构开发面临一些挑战。1、 目前的工业标准体系架构都是连续型的执行,效率低(执行完前面的命令才能继续后一个命令,不能并行执行);2、 是目前的低效率的单指令;3、 程序中不可预知的分支导致的预测错误从而引起效率降低;4、 对内存寻址的依赖性;5、 寄存器和内存寻址受到数量限制;6、 流水线的长度和循环问题;这些仅仅是一些基础的挑战,而intel在试图面对这些挑战时,觉得如果不废除现有的x86指令集这样一个繁复的cisc指令集显然只是一种修修补补,不能大幅度提升性能。在过去,cisc(复杂指令集)指令集和risc(精简指令集)指令集这两种指令集曾经进行过一番斗争,最终,ibm等公司采用了risc技术,占据了高端的服务器、大型终端和大型计算机领域,而intel采用了cisc(后来包含了一定的risc指令成分),占领了低端和pc市场。竞争到现在这样一个阶段,显然intel认为cisc已经发展到尽头,它对资源的低利用效率已经不能再依靠高频率来弥补,所以决定将整个架构更偏向risc。ia-64就是这样的一个产物,当然由于cisc在某些应用中的优势,intel也善于结合cisc和risc指令进入一个架构,所以它还是保留了不少cisc指令。在这么我们这样一篇技术简介性文章中,我们并不能将ia-64这样一个全新的架构通过短短的一段话向各位讲解清楚,但我们可以说明一下它工作的优势,它是如何面对上面这些问题的:1、 更改现有工业标准体系,建立ia-64架构后将采用并行运算方式的体系;2、 单指令简化,即每条指令执行的功能减少,但执行效率变高;3、 由于运行指令并行化,并且采用了程序控制指令,使分支预测更加准确,提高运算的利用效率;4、 增加程序运行时的并行运算预测能力,使内存中需要的数据更容易在cache中命中;5、 增加内存的总容量,扩展到2的64次方,由原先的4gb内存扩展到惊人的180亿gb容量,并支持64位浮点数和32位浮点数,高精度的数字计算,提供高达82位的数据宽度。6、 利用gr stack来降低save/restore需要的调用,减少寄存器使用数量,使用的是register stacker engine(rse),使用全新的寄存器,总共128个64位寄存器,其中32个是静态的,96个是动态的。7、 现有流水线采用的是顺序结构,一条运行结束后进行下一条,ia-64采用并行流水线结构,提高了工作效率。8、 高速运算功能,在平行运算时,提供了2倍于运算频率的运算速度,简单来说,如果同样做连续除法,在相同时间内,若原有的架构可以运行3次,那么在频率相同的情况下ia-64架构cpu可以进行6次运算。 我们可以发现,itanium的性能确实强过ia-32体系产品很多,如果以同样频率的pentium iii xeon 500和itanium 500mhz相比的话,性能比较应该在2:15左右。ia-64还有很多特性,但我们不能一一讲述,其最主要的功能已经基本提到了。目前,ia-64的第一批产品itanium已经正式发布,并将在2001年的第二季度交付使用,已有约5000片在500-800mhz频率的itanium装船待运。下图是intel为了说明ia-64架构相对于过去的ia-32架构有多大的优势而做的对比图:再来看看intel的ia-64发展概图:可以看到,intel的策略了,就是同时发展ia-64和ia-32的cpu,采用两条路线,原因就是ia-64不兼容ia-32体系的指令集,对intel来说,也不知道是可喜还是可忧。可喜的是ia-64的cpu性能确实超级强大,可忧的是ia-32和ia-64并行发展会不会影响它的设计能力?市场上的过渡期究竟有多久?或许intel已经得到了一些自己的答案,而并不让外界知道。不过我们在看这个图的时候也发现了一个情况,那就是intel总是将它的计划定得相当得长,不仅有了即将发布的ia-64打头阵的itanium,还准备了ia-64的主力产品,mckinley,在ia-32的服务器cpu方面,提供了foster,这个pentium 4的衍生物,并且在ia-64中确定了两个分支,我们并不清楚这两个分支究竟会如何。另外一个有趣的事情是,ia-32架构中发展至foster以后的future ia-32是使用虚线标示,而ia-64则采用了实箭头线,这说明intel对ia-64开发的绝对优先,并且依照市场能否顺利转向ia-64而决定是否继续开发ia-32系列产品。x86-64架构的运行基本简介amd的64 bit技术包括了完整的x86-64结构体系,这个体系是通过对x86结构的扩展,增加64位指令集而得到的。x86-64体系直接支持原有的16位和32位程序和操作系统,对于重新编译之后的64位程序和操作系统它提供了如下一些新的功能:1) 64位寻址和操作2) 8个全新的通用寄存器(gprs)3) 8个专为streaming simd extensions(sse多指令多数据流扩展)准备的寄存器4) 64位的宽通用寄存器(gprs)以及指令指针(instruction pointer)x86-64提供了一个能完全直接支持原有操作系统和程序的legacy模式,以及一个新的,能支持这些新功能,也能支持原有应用软件的模式。这个架构还增加了一个指令指示器关联地址模式,单一字节寄存器地址,以及一个快速次序式中断体制。64位架构产生的目的产生的原动力其实是来自于需要大内存寻址的应用软件的需要。在一些需要超级性能的高端服务器、数据库系统,以及一些计算机辅助设计工具中,64位的寻址以及增加的寄存器都将为其带来莫大好处。在原先的x86架构中,数量较少的寄存器也限制了一些需要大运算量的软件,例如在图形的t&l,事件模拟,以及一些科学运算中。增多寄存器数量对大多数程序来说都是有相当的性能提高的。x86-64架构特点x86-64架构通过两个主要的特性来对原有的x86体系进行扩展:一个被成为“长模式(long mode)”的64位扩展,以及扩充寄存器。长模式(long mode)长模式是由两个子模式构成的:纯64位模式(64 bit mode)和兼容模式(compatibility mode)。兼容模式提供了对现有16位和32位应用软件的完全兼容,能直接运行所有的现有程序。除了长模式之外,该体系还提供了一个纯粹的x86原始模式,也就是仅仅能提供16位和32位支持的模式,但在这个模式里可以直接使用的不仅仅是16位和32位的应用软件,还可以使用原有的16位和32位操作系统。下面这个表格显示的就是x86-64架构中的模式结构图,并标示了适用情况。另外,在接下来的文章当中,如果我们提到有关长模式(long mode)的词语,那么就意味着纯64位模式和兼容模式两个子模式,当要分开提到纯64位模式或者兼容模式时,我们将会用它们的专用名称,而不是用长模式来指代。选择模式操作系统程序是否需要重新编译默认状态地址位操作位扩展寄存器gpr宽度位长模式64位模式新的64位操作系统是6432是64兼容模式否3232否3216legacy mode原先的操作系统否3232否3216161、默认可以在大多数使用缀结构时或者受系统控制时不必考虑;2、扩展寄存器包括新的gprs和8个新的xmm寄存器(或者被称为sse寄存器);3、延长模式只支持保护模式(protected mode),不支持x86实模式或者8086实模式,同样也不支持任务切换;4、legacy模式支持x86实模式,8086实模式以及保护模式。纯64位模式:纯64位模式支持如下的新特性:1) 64位实地址模式;2) 通过寄存器前缀(rex)来达到寄存器扩展;3) 增加8个新的通用寄存器(gprs),代号为r8到r15;4) 扩展通用寄存器的宽度到64位;5) 增加8个128位的sse寄存器,标号为xmm8到xmm15;6) 新的rip关联数据地址模式;7) 单一字节寄存器地址。默认的情况下,地址宽度是64位,并且默认的操作位宽是32位,这些默认状况可以通过使用前缀模式来修改。一个新的rex模式的前缀,将使得整个数据结构被扩展成64位,如同过去intel采用的将16位寄存器扩展成32位一样,整个寄存器被成为rax模式,而在eax段之前,通过rex后扩展成为64位。这样一来就需要一个64位的操作系统,一些操作代码和前缀数据被设定为对其进行64位操作和运用多出的8个寄存器的定义。扩展寄存器: rex前缀提供的多的寄存字节能力使所有的通用寄存器都得到了更强大的对字节的操作能力。这个结果对于所有的byte,word,dword以及qword寄存器来说都能更好让程序编译器编译出优秀的最终程序。纯64位模式支持扩展寄存器,是通过一个rex前缀来实现的。这些扩展是增加了8个64位的通用寄存器(gprs,代号为r8-r15),8个128位的多指令多数据流扩展(sse)寄存器(xmm8 xmm15),并且将所有的通用寄存器扩展到了64位对于指令指示器来说,它们也被扩展成了64位宽度。rip关联数据地址在纯64位模式中,x86-64体系还支持数据地址关联模式,并且直接对应64位的rip(指令指针)。原始的x86体系仅仅在控制传输指令中支持ip关联地址,而64位模式的rip关联地址改进了该项特性,扩大了它的应用范围。兼容模式: 兼容模式是提供整个系统运行32位和64位程序的模式。该模式允许16位和32位软件不需要经过重新编译就可以在长模式下直接应用。在兼容模式下,所有的应用软件对于内存的操作都只能位于前4gb的实物理内存地址之间,标准的x86命令也迫使对寄存器的操作界于16位和32位,64位系统的优势在这里并没有展现。同纯64位模式的情况一样, 兼容状态是操作系統在相对独立的数据段的基础上建立起来的。不同于纯64位模式的在于x86指令集的分割,不过只要在使用16位和 32位保护模式的情况下都能正常工作。从应用角度来看, 兼容模式就如同是x86保护模式的衍生物,从操作系統的角度来看,内存寻址,中断和逆向操作,还有系统的数据结构,都使用了64位的长模式。原始模式: 原始模式,就是legacy mode,这个模式完全与x86模式相同。如果希望模拟一个完整的,并且真实的x86结构模式的话,那么只需要安装一个现有的操作系统,包括windows 98和windows 2000,那么cpu将自动调整为这个模式,并完全兼容现有程序,使用的时候与k7和pentium iii没有什么区别。模式切换对于这个体系来说,由于有三种意义不同的模式,针对的程序和操作系统也完全不同,所以,切换方式是一个比较引人注目的问题,如果处理不好,会导致程序编制人员的麻烦,对于架构推广有比较大的阻力和麻烦。幸运的是x86-64架构通过对cpuid进行一个参数运行来进行不同模式的切换,这在未来的64位操作系统中进行编制是相当简单的,也就是说,未来的操作系统将自动设定究竟是采用兼容模式还是纯64位模式(legacy mode只有使用32位的操作系统,所以没有切换功能)。但是,需要注意的一点就是,未来的程序中,对于兼容模式来说,如果运行32位,甚至16位程序,其资源浪费是不可避免的,因为在使用寄存器时,前32位前缀被保留了。另外,如果出现过去64位代码和32位代码共存的情况,那么执行效率也将下降,原因就是其必须在两种模式下进行切换。amd的k8 首先,amd 760/760mp芯片组仍然是amd今年的明确目标,它的作用是争夺高端计算机市场鉴于via芯片组性能不能真正发挥amd cpu最大功效的情况下,amd不得不亲自出马,但它们的目的并非为了与via抢夺市场,而是在高端为其cpu获得良好口碑。另外,野马,也就是原本代号为mustang的下一款cpu已经被确定取消,amd将使用0.13um工艺的k7palomino来代替mustang的地位,同时进入家用pc cpu市场和服务器市场。对于amd来说,目前的形势相当不错,k7 thunderbird性能不俗,而intel pentium 4由于使用了0.18um工艺,发热量太大,成本过高,取消了l3 cache,导致性能并不强大,目前正全力转型,准备生产0.13um的,代号为northwood的新pentium 4,这样的情况将继续持续到2001年底。现在让我们从体系转到硬件方面来看看。虽然amd没有对外公布任何关于k8大锤的消息,但是我们从一些蛛丝马迹中尽可能地找到了一些关于这个amd第一个x86-64处理器的消息,同时还有一些amd其他的高端产品。第一颗基于x86-64架构的amd处理器将在明年的某些时候发布,这和我们以前得到的消息不同,而且我们必须很实际地告诉各位,k8大锤将不可能在2001年被发布。相对于intel已经发布的itanium来说,似乎amd的k8还只是处于一个梦想阶段,而这个阶段不应该被拖很长时间,因为intel正在募集它的支持者,如果amd不尽快推出k8的样品以及操作手册的话,那么整个x86-64架构推广计划将会受到严重阻碍。正如现在的athlon核心一样,在k8核心上也会有很多变异型号,最肯定会出现的就是cache的大小,时钟频率改变,甚至还可能有前端总线频率的改变,am
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江省温州市瑞安市2025年八年级上学期第二次教学质量调研英语试卷附答案
- 二十四 中国航天发展史宣传册教学设计-2025-2026学年小学信息技术冀教版三年级下册-冀教版
- 河南数学职高题库及答案
- 解析卷-人教版9年级数学上册《一元二次方程》同步测评试题(详解)
- 中国邮政2025遵义市秋招运输调度岗位面试模拟题及答案
- 执业药师之《西药学专业一》模拟题库讲解附参考答案详解【培优a卷】
- 工业弃渣运输路径优化管理方案
- 2025年纺织面料知识试题及答案
- 自考本科日语试题及答案
- 中国邮政2025达州市秋招运输调度岗位高频笔试题库含答案
- 2025-2030中国汽车钛合金行业市场现状供需分析及投资评估规划分析研究报告
- 《上海市幼儿园办园质量评价指南(试行)》
- 2025重庆市綦江区东林街道社区工作者考试真题
- 中国2型糖尿病防治指南(2024版)解读课件
- 《城乡规划管理与法规系列讲座课件-土地利用与建设规范》
- 《思想道德与法治》课件-第一章 领悟人生真谛 把握人生方向
- 2024法律职业资格(客观题)真题含答案
- GB/T 12008.7-2025塑料聚氨酯生产用聚醚多元醇第7部分:碱性物质含量的测定
- 2025年湖南韶山红旅教育培训集团有限公司招聘笔试参考题库附带答案详解
- GB/T 45451.1-2025包装塑料桶第1部分:公称容量为113.6 L至220 L的可拆盖(开口)桶
- 大件运输安全生产管理制度文本
评论
0/150
提交评论