这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 有关微处理器的十条谎言

共1条 1/1 1 跳转至

有关微处理器的十条谎言

菜鸟
2003-08-24 00:44:04     打赏
对处理器过于频繁的选择导致了一场宗教战争。揭穿占统治地位的神话是作出理性选 择的第一步。 讨论有关球队,政治,宗教,或者你所感兴趣的乐队的话题时,人们通常连眼皮也懒 得抬一下。但是当一群工程师和程序员们凑在一起,争论哪一种处理器是最好的选择的时 候,你会很倾向于选择x86系列。 人们讨论处理器时会充满热情,与讨论DRAMs 或解码器时截然相反。每个人都有其所 钟爱的选择,同时也有令他不愿再次使用的实例。传说与常识同时环绕在微处理器的周围 。有一些很有用,但很多都是迷信,由于惯例而根深蒂固。 神话1:只有很少的处理器可以选择 这是最容易被忽视的误解。当你正在设计一个嵌入式系统时,可以在多少种32位处理 器中进行选择?10种?20种?事实上,现在有超过100种不同的32位嵌入式处理器在销售( 并且还没有算进不同的封装选择以及速度等级)。好几十家公司生产32位处理器,代表着 超过15种不同的CPU架构以及指令集。另外还有几百种16位处理器以及几百种8位处理器可 供选择,你甚至会由于资源过于丰富而感到窘迫。 神话2:Intel 处理器统治世界 一说到“微处理器”,很多人就会想到“奔腾”。主流媒体应该负部分责任。报纸上 宣称Intel占有微处理器市场95%的份额,这与实际数据几乎差了两个数量级。 从一月份所公布的情况来看,所有微处理器中只有2%左右用于制造PC(见 “The Tw o Percent Solution,”p.29)。Intel的奔腾系列在PC产业中占有支配性地位(联邦贸易 委员会由于缺乏证据终止了宣称其垄断地位的声明),不过PC在整个微处理器这块蛋糕中 只占很小的一片。另外的98%是嵌入式CPU;Intel甚至没有进入该领域的前5名。 即使我们不算入数量庞大的8位和16位芯片,只讨论32位的情况,Intel的名字也只能 排在后面。光ARM的卖主们销售的处理器就比Intel卖出的奔腾要多出3倍。 神话3:指令集无关紧要 不管你用的编程语言是 C/C++,BASIC,Ada,或是Java,你的代码最终会变成运行它 的处理器上的汇编指令。你可能并不需要知道你的CPU所提供的所有机器指令,不过指令集 确会对你的代码造成相当的影响。几行优美简练的C语言代码可能会生成一堆杂乱冗长的汇 编代码,反之亦然。 系统的性能,可预测性,甚至耗电量在很大程度上都倚赖于处于最底层的处理器指令 集,高级语言对此根本无能为力。 让我们举一个两数相乘的简单例子。这在任何语言中都是微不足道的,程序员们也不 会为此花费心思。然而不同的芯片是以不同的方式执行乘法。目前,许多RISC芯片甚至根 本不能进行乘法运算-它被认为是“不纯粹的”,并且不能成为RISC标准的一部分。许多 语言中把乘法运算美其名曰“加法和移位运算”,因此早期的RISC编译器不得不加入自己 的整数乘法功能。虽然能用,但速度不快。 现在大多数(但不是所有的)处理器都有一个内置的乘法指令。不过不是所有的乘法 器都是一样的。有些芯片对两数的乘法运算执行起来比其它芯片要快得多,并且和时钟频 率没有关系。如图1所示,一些芯片(如Hitachi的SH7604和SH7708)在至多4个时钟周期内 可以进行任意两个32位数的乘法。其它芯片(比较明显的是Motorola的68020和030)执行 相同运算要花超过40个时钟周期的时间。http://www.21icsearch.com/buzi/upimage/upf ile/20037222204340.gif 还有更怪的,就是大多数芯片的性能都无法预测。进行一次乘法的最短时间可能还不到最 长时间的一半。这有什么不同呢?更大的数需要更长的运算,并且要花更长的时间。 最终,相乘两数的顺序起了作用。在小学的时候,老师教我们乘法是可交换的,也就 是说两个乘数的顺序不会影响到计算结果。这个结论是正确的,不过两个乘数的顺序确会 影响到执行该运算的时间。在许多芯片上,相乘的时间决定于两个操作数之一。交换它们 的次序,可能会使运算时间减半。虽然如此,到底那一种次序最好,就要看运气了。 以上所述在高级源代码中是无法获得的。几乎没有C编译器会说明这些不同,因为大多 数用户-嵌入式系统开发者们-从来不会问。许多处理器的用户根本不知道芯片壳子下面 到底在进行着什么。 神话4:RISC比CISC要优秀 我们在3月份时谈到了这个话题,所以这里我只说RISC与CISC是不同的("RISCy Busi ness," p.37);没有一个会一直都比另一个好,两者都有其优势。CISC芯片提供了更好的 代码深度(更少的内存引脚)以及更成熟的软件工具,而RISC芯片有更高的时钟速度和更 诱人的市场。选择那一种由个人决定,但最好是大家比较熟悉的型号。 神话5:Java芯片就要来到 圣诞节也是如此。事实上,圣诞节离我们要近得多,因为它今年就会来到。相对于圣 诞节,Java芯片与圣诞老人有更多的相似之处:对于天真的年轻工程师们是一个美妙的神 话,而他们还不够成熟,无法知道更多。 Java在很多方面都令人关注,其中的多数都与市场有关。不过将它在硬件上实施也是 非同一般的困难。很多公司都尝试过生产一种“全Java”微处理器,最终都在某一阶段失 败了。这一趋势看来还会继续。 如果不去考虑这一绝妙的讽刺-针对Java的硬件独立性-的话,那么Java处理器最终 义无返顾地踏入了低级逻辑的门槛。Java语言从来就没有意味着直接在硬件上运行,现在 也表明了这一点。废物收集,线程,面向栈,以及目标管理等特性几乎要占用1M字节左右 的Java虚拟机,并且转换成为即使今天最快的微处理器都只能勉强执行的代码。计算机科 学经过了几十年的发展,并且全世界范围的高校和公司都进行了研究,然而对于开发Java 机器仍然一事无成,这并非偶然。 今天,Java“加速”芯片从Nazomi,Zucotto,inSilicon,Octera以及很多其它的公 司都可以得到。其中大多数都可以在硬件上执行30%~60%的Java字节码。剩下的代码都 在软件上操作,原因很简单,不这样不行。依照标准的80/20准则,这些芯片加速了最常用 的Java指令的执行,并对Java整体性能有明显的提升。不过离100%的Java硬件执行的大话 还差得远。 经过几年快速发展,Java芯片看来已经稳定在60%的水平上。Sun自己已经退出了它J ava芯片的研究。现在已经到了收益递减的阶段,在硬件上执行剩下的Java指令已经没有什 么价值了。如果你有Java芯片的市场需要的话,现在是时候了。 神话6:Dhrystone MIPS是一个很有用的基准测试 MIPS这个术语在微处理器领域传播得比任何其它术语都要广泛。现在它完全就是空谈 ,除非你把它作为毫无意义的性能指标,介绍给推销人员。 就像前面说的, 处理器之间的指令是不一样的,因此对它们的比较与计算也是无益的 。就好像说德语中的挡风玻璃擦(Windschutzscheibewischerbl鋞ter)比英语中的要长一 样。 MIPS一般来说起源于所谓的Dhrystone 基准测试。Dhrystone已经有30多年的历史,是 用PL/I编写的,用来对VAX 11/780 与其它型号的主机进行比较。它仅有4KB的代码,很适 合在cache中运行,不进行任何有意义的工作。由于它体积很小,而重要性确被夸大,因此 我们不得不说,Dyrystone被进行了相当多的优化。有的C编译器带有一个dhrystone开关, 可以大大提高测试结果。今天的MIPS等级通过用Dhrystone测试的分数除以1757得到,因为 1757是1970s第一台VAX的分数。现在,人们用已经翻译为C语言的一段4KB的PL/I代码来衡 量VAX级的主机,不知道在重复执行了多少次后,最终得到一个分数,而行销商们会在这个 分数后面“不小心”额外地印上一个0。现在它还有什么用? 神话7:价格与性能成正比 微处理器的销售现在和卖香水一样:标签上的价格与组件的成本根本没有关系。试着 把成本与价格扯上点关系确实挺吸引人的,不过还是省省吧-根本就没那回事。成本是制 造一个芯片的花费;而价格是行销部门给这个芯片的定位。很幸运,由于市场的压力,我 们的行业总是使产品的价值上升,而价格下降。作为芯片的购买者,我们获益于残酷的成 本削减以及市场份额的贸易竞争。 制造一个硅芯片的成本和其内部硅的量没有关系。成本主要决定于分期偿还的企业管 理费用,以及生产线的折旧费。但是,价格确要决定于市场的导向-良好的供应与需求。 如果你的芯片能运行Windows XP,你就要为其付出相当代价。如果它不能,则同样多的硅 的价格就会大大降低。 即使在嵌入式领域,也存在$15的处理器性能超过$150处理器的情况。价格是可以商量 的,有回旋余地的,并且完全无法预测。多逛逛市场吧。 神话8:ARM的能耗最低 在微处理器领域有很高声誉的品牌很少,而ARM是其中名声最棒的。按照它们自己的说 法,ARM的芯片具有几乎不可思议的能力,只要有一些太阳能,或是摩擦一只猫产生的电能 ,它就可以运行。看起来一个ARM处理器,两个柠檬,再加上一些铜线,就足够制造出最先 进的PDA。 象许多神话一样,这个神话也来源于事实,不过这个事实已经改变,而神话却传播开 来。在上世纪90年代初,ARM是嵌入到ASIC中的首批32位处理器之一,而不是需要焊接安装 的分立芯片。与当时的大型芯片68030,29000以及486DX相比,小巧的ARM6要消耗更少的能 量,并以热量形式散发出去。这是因为ARM没有浮点运算单元,没有高速缓存,没有外部总 线,也称不上拥有什么指令系统。 现在有大量的ASIC核心的32位处理器芯片可供选择。许多都比ARM7要小,更不要说更 新的ARM10或ARM11了。许多处理器的功耗更低,在待机和工作状态都是如此。如果功耗是 你首要考虑的项目,无论如何也要考虑一下ARM。不过10年的技术进步和竞争已经使ARM落 入能耗排名的中游。 神话9: 第二供应商渠道曾经是任何公司采购部门的暗语。通常硬件工程师无法指定任何组件 ,除非有两种以上的资源可供选择。如果是电阻器的话这是好事-减少了风险以及对任何 供应商的依赖-不过现在对于微处理器来说这是不可能的。 的确,你可以从几十个不同的供应商那里得到MIPS芯片,比如NEC、PMC-Sierra、IDT 、以及Intrinsity等,不过它们相互之间是不可互换的。它们都执行同样的指令集,但它 们的总线、引脚、外围设备、速度以及封装都不相同。顶多程序员可以保留他们的大部分 代码不变,而硬件工程师们就不得不重新设计一个系统。 曾经有一个时期Motorola和Hitachi都提供同一种68k处理器,DMA控制器以及其他一些 芯片。Intel 和 AMD也曾经互相作为对方的第二供应商(还记得Intel和AMD成为朋友的那 段时间吗?)。很多8051或6805系列中的低端部分过去也曾经有过同时存在双方甚至三方 供应商的情况。然而,竞争结束了那段岁月。现在,每一个处理器芯片都是独一无二的, 即使指令集不是。 神话10:处理器市场大波动 现在市场上有100多种32位嵌入式处理器在销售,那么市场上就必须有非常多的机会来 支持。谁赢谁输?变革就要来了,谁会第一个成功度过? 可能没有。实际上,嵌入式处理器的数量还会增长,而不会缩减。100种以上的芯片都 在进行批量生产,并且有大量满意的客户不想再用其他产品。这些芯片都有出现的理由, 而这种理由会越来越多。MP3播放机,数字-视频摄像机,汽车控制电路,以及其他新型玩 具都无时无刻不在涌现,而它们每一种都需要一个不同种类的新型的处理器。典型的嵌入 式系统和典型的嵌入式处理器简直就是绝无仅有的。只要嵌入式开发人员发明了新的设备 ,新的嵌入式处理器就会出现在那,供人使用。 本文作者Jim Turley 简介:Jim Turley是一位独立分析家,专栏作家,主要在微处理器和 半导体知识产权领域发表文章。他过去曾是"Microprocessor Report" 以及 "Embedded P rocessor Watch"的编辑。他的E-MAIL是 jim@jimturley.com ※ 来源:.碧海青天 bbs.dlut.edu.cn.



关键词: 有关     微处理器     十条     谎言     处理器     选择     神话         

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]