肛检的姿势好尴尬:多处理器系统与CPU设计

来源:百度文库 编辑:九乡新闻网 时间:2024/05/03 07:59:37
【导读】这篇文章中,我们会涉及到在多处理系统中的设计中可能遇到的一些核心问题并进一步探论多处理器系统的可扩展性和系统设计的关系。最后,我们简单分析一下产量对CPU设计的影响
产量对于CPU生产的影响
文章目录
DMA与缓存一致性
多处理器的可扩展性
可扩展性的测试—SPECjbb2000
其它服务器基准测试
CPU与系统架构设计
设计数据库应用
数据库的数据完整性
64位系统的有效性
大内存系统
产量对CPU生产的影响
像AthlonXP, Celeron, Duron, Pentium 3, Pentium 4, and PowerPC这样的CPU产量都很大,有些甚至达到了每月一百万颗的出货量。像AthlonMP和双处理器版的Pentium处理器拥有与单处理器版相同的设计,但是最后的质检要严格的多,一般最后的出货量要小得多,但是从生产的角度来说,他们都是一样的。有些CPU之所以产量高是因为他们是被用在桌面系统上,而桌面系统的数量比工作站和服务器系统要多得多,虽然大量和少量都是相对意义上的。像Itaniums, Pentium 3 Xeon, Xeon MP, SledgeHammer, UltraSPARC这样的CPU都是不同的设计则有不同的产量,每月的产量一般在1000-10,000左右。
对于一个新的CPU设计,一般需要9个月的时间来测试,调整(对于第一颗样品),优化来使它适合生产并批量供应客户。这会花费巨大,外加上设计所需的时间,如果是一个全新的设计则所花时间更多。一个全新的CPU设计包含了芯片组和整个系统,4-6年间的开发成本最高会达到10亿美元。销售出更多的基于同一内核设计的CPU意味着将成本更为平均的分摊出去,所以每颗CPU就可以更便宜。
高产量的CPU除了还有其他的一些优势,正如提高CPU的性能和产量在许多方面不过是一个统计数字的游戏。例如,对生产过程或者设计做出一点小的修改,人们都不清楚这样是否会带来好处,或者这样做了之后带来好处是否是因为运气的关系。拥有更多的样品就能有更精确的措施来改进它,也意味着更多的版本可以被立即测试。很自然的,拥有更多的资源来研究和开发能极大的帮助制造更好的CPU。而Intel公司在CPU赚的钱比所有其他的公司加起来的都多,它肯定是有优势的。
Genetic算法被用来随着时间的增长而提高CPU的产量(以及性能),一次性生产出许多具有很小变化的CPU,收集了足够的测试数据后选出最好的一种,然后基于这个最好的,再生产更多的具有很小变化的CPU,然后重复进行这种循环。产量小的CPU就是基于产量大的CPU,而且能获得更好的性能,而性能好坏之间的区别往往取决于on-die cache的大小,这都是很简单的道理。高端额Pentium 3、Pentium 4(Xeon MP)以及SledgeHammer的设计都是这样的例子。
AMD公司和Intel公司的主要业务都是销售高性能CPU,所以他们也都将他们的研究和开发重点集中于那里。IBM(他们自己生产他们的 POWER系列CPU以及HP的PA-RISC和Alpha处理器),Motorola(他们为Apple公司生产PowerPC),Texas Instruments(他们生产Sun公司的UltraSPARC处理器)拥有更为宽广的芯片生产过程,对他们来说高性能CPU是一个产量小,但利润高的业务。相对于ASIC,DSP以及一般的嵌入式芯片,高性能CPU需要更高级的生产技术,但是生产工具大部分都是一样的,只是编制的操作程序不同。所以对于更为普通的生产商来说,低成本高产量的芯片是同高成本低产量的芯片一起生产的,而低端的CPU会高级的生产技术中获益,而高端的CPU则会从产量中获益。但总体而言,像AMD和Intel这样的专业CPU制造商还是有优势的。
CPU的速度和产量的关系
当发行特定速度等级的CPU的时候,对CPU的最低速度对有一个要求,并按这个最低速度来进行产品的测试和质检。高产量的CPU很可能在许多OEM厂家那里进行测试,所以更新,速度等级更高的CPU就会有更高的最低要求(绝对数字上)。但是总产量实在太大了,所以最后进行了测试的产品的百分比相对于低产量的CPU是越来越小。我个人的最佳估计是,对于像AMD和Intel这样的公司,在发布一款新的最高速度的产品的时候,最多对0.5%-2%的相同速度等级的产品进行了测试。这也是为什么最高速度等级的产品发布时的价格如此的高,他们要比速度慢5-10%的CPU多花费一倍的成本。这也增加了桌面系统的成本,所以对于最快速度的桌面系统的需要相对也要小得多。

上图简要说明了一个特定型号的CPU达到特定时钟速度(水平线)的频率(垂直线)。图中的虚线指明了高产量的CPU是如何被binned(按何种频率等级出售给客户),显示了各个速度等级所占的总产量的百分比。这里没有给出具体的时钟频率,而是给出速度的差异(和最常见的速度相比)。绿色区域的速度等级的CPU肯定会被出售,黄色区域的可能会被出售,红色区域的很少可能被出售。对于高产量的CPU,提高速度的技术并不能同时应用于生产中的所芯片来帮助降低风险(无论如何这也是不可能,因为装配一颗CPU需要3个月的时间,中途是不能随便应用那些改进了的工艺的)。这也使曲线一定程度上更加平滑(同低产量的CPU相比)。

当刚刚发布或者刚刚采用一项更先进的处理工艺的时候,高端的CPU总是处在低产量的状态中(和低端的CPU相比)。图中的虚线将低产量CPU分割成和上图类似的部分,但在有些时候,90%或者更大比例的产量都被定义为一个速度等级。大多数高端CPU仅发布1个或2个频率等级。和高产量的CPU不同,低产量CPU的生产过程和设计几乎一模一样(虽然也有少许不同之处),所以最后的产品间的速度差异是很小的。
对于高端的系统来说,CPU往往只是整个系统成本的相对的一个很小的部分。高端的用户也更愿意采用现有最快的速度等级的CPU。所以当速度更快的产品产量很低的时候就发布一款更快速度的产品会使客户很失望。对于高端CPU,厂商常常在最快的产品产量很小的时候将其卖给一些特殊客户,转而推迟向公众宣布最快产品的面市,直到这款产品的产量有了提高为止。对于这些系统,客户往往也倾向于发布频率低于实际频率的产品,比如,Intel就曾经降低了预计发布的Pentium 3 Xeon处理器的速度等级,仅仅因为客户的抱怨。如果仅公开发行新产品的时候,仅有20-50%的CPU能达到预计等级,也会降低实际发行的速度等级。对比一下高产量的Pentium处理器和高端的低产量Xeon处理器,就会发现他们之间的10-15%的时钟频率的差距。
当Pentium 4处理刚开始采用0.13um的技术的时候,最高的速度仅仅提高了10%(从2GHz到2.2GHz),最低要求则从1.3GHz提高到了1.6GHz。然而业界采用0.13um技术所带来的平均提高是20-25%。那时候大约5%的0.13um的Pentium 4处理器达到了2.4GHz,但是因为那时的低产量还不足以发布这款产品,所以Intel公司转而向OEM厂家和特殊客户供货。随着产量的提高和处理工艺的改进,最高时钟频率也提高了。当AMD公司采用0.13um技术的可能发生的也是同样的事情。对于高端的CPU来说,产量长期都是很低的,一个显著的生产工艺的改进就能带来清晰而且立即的影响。