计算机设计基本原理_第1页
计算机设计基本原理_第2页
计算机设计基本原理_第3页
计算机设计基本原理_第4页
计算机设计基本原理_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章计算机设计基本原理

1.1简介

半个多世纪以来,计算机技术取得了惊人的发展。1945年时还没有能存储程序的

计算机。现在,花不到一千美元买到的个人计算机比1980年花一百万美元买的计算

机具有更高的性能、更大的主存和磁盘空间。这一高速发展既得益于计算机制造技术

的进步,又离不开计算机设计的创新。

尽管制造技术的进步速度相当稳定,但系统结构的发展速度却不那么稳定。在电

子计算机发展的最初25年中,这两股力量的贡献都很大,但大约从七十年代开始,

计算机设计者开始更多地依赖于集成电路技术。七十年代,当时计算机工业占统治地

位的大型机和小型机的性能以每年25—30%的速度提高。

七十年代末出现了微处理器,它比大型机和小型机集成度更高,因而促进了集成

电路技术的发展,这又进一步推动了计算机性能的提高一一计算机性能以大约每年

35%的速度提高。

这一发展速度,再加上.微处理器批量生产的成本优势,使得计算机产业中以微处

理器为基础的部分迅速膨胀。此外,计算机市场的两个重大变化使新的计算机系统结

构比以往更容易取得商业运作的成功。其一,人们实际已经不再使用汇编语言编程,

这就降低了对目标代码兼容性的要求。其二,标准的、与厂商无关的操作系统(如

UNIX)的出现,减小了推出新系统结构的成本和风险。

图1.1八十年代中期之后微处理器的性能增长速度实际上要比以前快。这张图表

是根据SPECint测试程序的结果绘制的计算机性能曲线,以VAX11/780为基准。随

着SPEC的发展变化,通过和SPEC的两个不同的版本(如SPEC92和SPEC95)有关

的比例因子来对更新的机器性能进行评估。在八十年代中期以前,微处理器的性能提

高主要是技术驱动的,平均以每年35%的速度提高。此后,微处理器的性能提高主要

得益于先进的系统结构设计思想。截止到2001年,这一增长速度已经使总的性能叮

单纯依靠技术进步能够达到的性能之间有了十五倍的差距。浮点运算的性能提高得

更快。

正是这些变化使得在八十年代初RISC的新系统结构的推出成为可能。设计者把

基于RISC的机器的注意力放在两个关键性能技术上:指令级并行的开发(从最初的

流水线操作到后来的多指令流)和高速缓存的使用从最初简单的形式到后来的复杂的

组织方式和优化方式。系统结构和组织的共同增强导致在性能方面以每年50%以上的

速度持续提高了长达20年。图1.1显示了这种发展速度的差异。

这一令人难以置信的飞速发展带来了双重效果。一方面,它极大地增强了计算机

提供给用户的功能。现代最高性能的微处理器对很多应用程序的处理效果远远超过不

到10年前的那时候的巨型机。

另一方面,这一飞速发展使以微处理器为基础的计算机在整个计算机领域占据了

统治地位。工作站和PC机已经成为计算机工业的主要产品。由逻辑电路或门阵列制

成的小型机已经被用微处理器制造的服务器取代了。大型机也在慢慢地被由流行的微

处理器组成的多处理器取代。甚至高端产品——巨型机也可以由多个微处理器构成。

不必与以往设计相兼容的自由性和微处理器技术的使用促使了计算机设计的复

兴,此时的计算机设计既强调系统结构的创新,又强调充分利用技术进步的成果。正

是这•复兴带来了如图1」所示的计算机工业史无前例的飞速发展。截止到2001年,

微处理器的最高性能与单纯依赖以提高集成电路设计在内的技术进步能够达到的性

能相比,前者几乎是后者的十五倍。

在过去短短几年间,集成电路的迅猛发展使得像x86(或是1A-32)这样的旧的少

流水线型的系统结构也能够采用基于RISC的许多新的方法。如我们所看到的,现代

x86处理器基本上有一个前端部件,这个部件可以读取并解码x86指令并将其映射为

简单的ALU、内存访问,或者是能在RISC式流水线处理器中执行的分支操作。从90

年代末开始,随时晶体管数量的猛增,解释更多更复杂的x86系统结构的费用相对于

它在•个现代微型处理器中的整个晶体管数量来说,已经变的微不足道了。

本教材讲述的正是使这一飞速发展成为可能的系统结构设计的基本思想和相关

的编译器的发展。处于这一戏剧性革命中心地位的是计算机设计的定量方法的发展和

以对程序的直接观察、实验和模拟为工具的分析方法。本书所反映的正是这种设计风

格和方法。

要保持近年来计算机成本降低、性能提高的速度需要计算机设计的不断创新,笔

者认为这种创新将建立在计算机设计的定量方法基础匕因此,写本书的目的不仅限

于阐述这种设计方式,而且希望它能够激励读者为计算机的发展做出自己的贡献。

1.2计算的改变方向和计算机设计者的任务

六十年代,计算的主要形式是利用大型机,这种机器往往价值几百万美元,并且

安放在专用的计算机室里,需要多个操作员来进行操作。典型的应用程序是商务数据

处理和大规模的科学计算。七十年代诞生了小型机,这是一种小规模的主要针对科学

实验室的机器,但是却像多用户通过自己的终端共享一台机器这个技术一样得到了广

泛的使用。八十年代出现了基于微处理器的台式电脑,有个人电脑和工作站两种形式。

个人拥有台式电脑取代了分时技术导致了服务器的应用,服务器是一个能够提供如可

靠的长时间的文件存储、大内存利高计算能力的大规模服务的计算机。九十年代出现

了Internet和WWW,第一个成功的掌上电脑(个人数字助理或PDA)和高性能数字

消费品,这包括视频游戏和机顶盒等。

这些变化对■我们如何看待计算、计算的应用以及在新千年开始的计算机市场的巨

大变化起了铺垫作用。在个人电脑诞生20余年后的今天,我们看到在计算机在外表

以及使用方法上的巨大变化。在计算机使用上的变化导致了三个不同的计算机市场,

它们之间以不同的应用程序、需求和计算技术作为区别。

桌面电脑

第一个,也是最大的一个市场是桌面电脑市场。桌面电脑的界定可以从低于1000

美元的低端系统到超过10000美元、具有良好性能的工作站。在价格和性能的这个范

围内,台式电脑市场的总体趋势是优化性价比。性能和价格的结合是这个市场的消费

者最关心的,因此也是设计者最关心的。因此,桌面系统往往是最新最高性能的处理

器和降价微处理器系统最先露面的场所。

尽管网络中心和交互式应用对性能的评估产生了新的挑战,桌面电脑在考虑应用

和测试方面上也是最趋于合理的。我们在1.9中将会讨论,桌面电脑市场中PC部分

似乎是更把时钟频率作为衡量性能的直接尺度。这种关注将导致消费者和设计者都产

生错误的决定。

服务器

桌面电脑兴起的同时,服务器在提供更大规模及更可靠的文件与计算服务中的作

用也日趋明显。WorldWideWeb的出现使加速了这种趋势,这是因为对Web服务器

和基于Web的成熟服务的需求增长迅速。这些服务器取代了传统的大型机成为企业进

行大规模处理的中枢。

对于服务器来讲,一些不同的特点是很重要的。首先,可用性是关键。我们使用

“可用性”这个词表示系统能够提供可靠的和有效的服务。这有别于“可靠性”,它

仅表示系统不失败。大规模系统的一些部分不可避免的要失败:服务器的一个挑战是

在面对部件失败的前提下保证系统的有效性,这通常是通过冗余来达到的。这个话题

将在第7章详细讨论。

为什么可用性很关键呢?想想Yahoo!的服务器,为Cisco确保订单的服务器,

或者eBay上提供拍卖的服务器。显然,这样的系统一定是1周7天,1天24小时运

转的。这样服务器系统的失败比起一台桌面电脑的失败要更具有灾难性。评估停工期

(downtime)的损失是很难的,这里我们可以假设停工期均匀分布,而且不发生系统

空闲的时候,图1.2给出了这样的一个分析。这里我们可以看出,•个不可用系统的

估计成本是很高的,图1.2仅仅给出了损失的收入,其中还不包含给顾客造成的心理

上的损失。

服务器系统的第二个关键特性是强调可扩展性。由于对服务器所提供服务的需求

的增长和对其它功能的需求,服务器通常会超过其寿命。因此,对于服务器来讲,能

够升级计算能力、主存储器、存储空间和I/O带宽是很关键的。

最后,服务器是为有效的吞吐量设计的。也就是说,服务器的整体性能——用每

分钟处理的事务数或者每秒钟提供的页面服务来衡量——是关键。对单个请求的相应

很重要,但用单位时间处理的请求数目来表示的整体的效率和成本效率对绝大多数服

务器来讲是关键的。(我们将在1.5节再次谈到不同类型的计算环境下性能的核定)

年平均损失

应用每小时损失1%(87.6小时/0.5%(43.8小0.1%(8.8小

年)时/年)时/年)

经纪人业务$6,450$565$283$56.5

信用卡认证$2,600$228$114$22.8

家庭购物通道$150$1.3$6.6$1.3

包装服务$113$9.9$4.9$1.0

编目销售中心$90$7.9$3.9$0.8

航空预定中心$89$7.9$3.9$0.8

手机服务激活$41$3.6$1.8$0.4

网络在线费用$25$2.2$1.1$0.2

ATM服务费$14$1.2$0.6$0.1

图1.2通过分析停工期得到的不可用系统的损失(在直接收入损失方面),假设

有三种不同级别的有效性,同时停工期是均匀分布。数据来源于Kembel[2000],由

ContingencyPlanningResearch整理.和分析。

嵌入式计算机

嵌入式计算机——放置在其他设备中的计算机,计算机的存在往往并不显而易见

一是计算机市场中增长最快的部分。这些设备范围很广泛,从每天都使用的机器(如

大多数微波炉、洗衣机、打印机、网络交换机,和所有包含嵌入式微处理器的汽车)

到手持数字设备(如掌上电脑,手机和Smart卡)到视频游戏和数字机顶盒。尽管在

•些应用中(如掌上电脑)计算机是可编程的,但是在更多的嵌入式应用中,编写程

序仅仅发生于初始的应用代码载入和后期软件的升级。因此,应用通常可以针对处理

器和系统量体裁衣。这样的裁减过程包括关键循环用汇编语言实现等,但这些汇编代

码的开发是受开发时间和好的软件工程实践所限制的。汇编语言的使用、标准化操作

系统的出现和大量兼容性的基础代码是嵌入式市场上最受关注的。像其他计算应用一

样,软件花费也是嵌入式系统中很大的一部分开销。

嵌入式计算机的处理能力和价格范围很广泛——从低端的少于1美元的8比特和

16比特处理器,到少于10美元每秒可以执行5千万条指令的全32比特微处理器,到

高端的几百美元能够为最新的视频游戏或高端网络交换机提供每秒十亿条指令计算

能力的嵌入式处理器。尽管嵌入式计算机市场上处理能力的范围很广泛,但价格仍然

是设计计算机时考虑的个关键因素。性能的需求是存在的,但是主要的目标还是以

最低的价格满足性能要求,而不是用高价格达到更高性能。

通常,嵌入式应用的性能需求是实时需求。实时性能是指每个程序片断有一个有

限的最大执行时间。举个例子,在数字机顶盒中,因为处理器必须在很短时间内接受

和处理下一帧,所以每一个视频帧的处理时间是有限的。在一些应用中存在着更为复

杂的需求:当时间超过最大时间时,一个特定任务的平均时间和例程的数目是受约束

的。为此,一种能够偶尔避免个事件的时间约束,又不避免过多的约束的方法产生

了,这种方法有时被称为软件实时。实时性能往往是和应用高度相关的。通常是在核

心态下,用应用程序或者标准的测试程序(参见1.5节的EEMBC测试程序)来衡量

的。随着嵌入式微处理器的广泛使用,产生了对测试程序的广泛需求,这些需求包括

从运行小且有限的程序片断到能够稳定的运行数万行代码。

在很多嵌入式应用中还存在着其他两个关键的特性:最小化存储器的需要和最小

化功耗的需要。在很多嵌入式应用中,存储器是作为系统成本的一部分,因此对存储

器大小的优化是很重要的。有时应用程序能够装入整个处理器片上的存储器,其他时

候应用程序需要装入一个片外的小存储器。无论如何,因为数据大小是受应用程序决

定的,所以存储器大小的重要性就转化为代码大小的重要性。下一章我们将会看到,

一些体系结构存在专门的指令集能够减少代码长度。大存储容量同样代表了更高的功

耗,同时优化功耗在嵌入式应用中也是关键。尽管强调低功耗是因为使用电池的原因,

但是使用更便宜封装材料(塑料和陶瓷的对比)的需求和缺少风扇的制冷都限制了功

耗的整体消耗。我们将在后续章节里详细介绍这个问题。

另外一个在嵌入式系统中很重要的趋势是把处理器核和特定应用电路相结合。通

常应用程序的功能和性能是通过将定制的硬件解决方案和在能在标准嵌入式处理器

核上运行的软件相结合的方法得到的,这种软件能够与专用硬件交互。实际匕嵌入

式问题通常是通过以下三种方法之一解决的:

1.设计者使用一个组合的软硬件解决方案,其中包括定制的硬件和整合在所定

制硬件中的嵌入式处理器核。

2.设计者使用定制的软件运行在非定制的嵌入式处理器上。

3.设计者使用一个数字信号处理器和为这个处理器定制的软件。数字信号处理

器(DSPs)是专为信号处理应用程序设计的处理器。我们将在下章讨论数字

信号处理器和通用嵌入式处理器的区别。

不管是非定制的微处理器还是微处理器核,本书讨论的大部分内容都适用于嵌入

式处理器(需要同其它专用硬件一起组装)的设计和使用。针对特定应用程序的专用

硬件的设计和DSP的细节不在本书讨论范围。图1.3总结了这三类计算环境和它们的

重要特性。

特征桌面式服务器嵌入式

系统价格$1,000-$10,000$10,000-$10,000,$10-$100,000(包

000括高端网络路由

器)

微处理器价格$100-$1,000$200一$2000(每个)$0.20-$200

每年微处理器销量150,000,0004,000,000300,000,000(只

(2000年)有32位和64位的)

关键设计性价比,图形性能吞吐量,可用性,可价格,功耗,专用

扩展性程序性能

图1.3三种计算类型和系统特征的总结注意服务器和嵌入式系统的价格的变化

范围是很广的。对于服务器来讲,这种范围来源于应用高端事务处理和网页服务时时

大规模多处理器系统的需求。对于嵌入式系统来讲,一个重要的高端应用是网络路由

器,它包括多个处理器和大量的存储器以及其他电子设备。如果包括8位和16位微

处理器的话,2000年销售的嵌入式处理器的总数估计可超过10亿块。事实上,最大

的销售微处理器的市场是Intel的8位微控制器。另外,区分低端的服务器市场和桌面

电脑市场也是很困难的,因为低端服务器一特别是那些在5000美元以下的服务器

一同桌面电脑本质上是没有区别的。因此,多达几百万的PC单元也可以有效的做

为服务器来使用。

计算机设计者的任务

计算机设计者面临的任务非常复杂:对一台新计算机而言,首先要判断哪些特征

是最重要的,然后在不超出成本的范围内力求性能最高。这里面涵盖的问题是多方面

的,包括指令集的设计、功能组织、逻辑设计与实现。其中实现可能涉及集成电路的

设计、封装、电源的设计以及冷却措施。优化设计需要熟练掌握很多领域中的技术,

从编译器、操作系统到逻辑设计和封装技术。

过去,计算机系统结构通常仅指指令集设计,计算机设计的其他方面则被称为实

现。这种说法通常暗示着实现不那么有趣或不那么具有挑战性。笔者认为这种说法不

仅不正确,甚至应对新指令集设计中出现的错误负责。系统结构的设计者一一即计算

机设计者一一的工作远不止是指令集设计,在其它方面遇到的技术困难与在指令集设

计中遇到的困难同样具有挑战性。尤其是在不同指令集之间的差距不断缩小和存在三

个截然不同的应用领域的今天,这一点更是千真万确。

在本书中,指令集系统结构指的是程序员可见的实际指令集。这一指令集的系统

结构是软件与硬件的界面,这是第二章集中讨论的内容。一台计算机的实现包括两部

分内容:结构和硬件。

结构涵盖了计算机设计的高层次方面,例如存储系统、总线结构以及内部CPU(中

央处理单元——实现算术运算、逻辑运算、分支和数据传输的部件)的设计。Pentium

III和Pentium4的指令集系统结构相同,结构却不同。尽管Pentium4增加了新的指令,

但基本上都是浮点运算指令。

硬件是指一台计算机实现的具体细节。这可能包括具体的逻辑设计和封装技术。

同一系列的计算机通常具有相同的指令集系统结构和几乎完全相同的结构,但它们的

具体硬件实现却不同。例如,PentiumII和Celeron,二者具有几乎完全相同的结构,

但时钟频率和存储系统的实现细节的有所不同使得对于低端计算机而言Celeron更加

有效。在本书中,系统结构一词包含了上述计算机设计的所有三个方面——指令集系

统结构、结构和硬件。

系统结构设计者必须设计一台既能满足功能要求,又能达到价格和性能目标的计

算机。通常,他们还必须弄明白功能要求究竟是什么。这可能是主要的任务。这些要

求中可能包括由市场需求激发的特定功能。确定了机器的用途后,应用软件通常能帮

助我们筛选出特定的功能要求。如果市场上已有大量为某指令集系统结构设计的软

件,系统结构设计者就可能会在新机器中实现这一指令集。如果对某一类特定应用软

件的市场需求非常大,设计者也可能会在新计算机中引入某些支持这些软件的功能特

性,以增强新计算机在市场中的竞争力。图14总结了设计一台新计算机时要考虑的

功能要求。其中许多要求和特性将在以后的章节中深入讨论。

一旦确定了一系列功能要求后,系统结构设计者就要尽可能优化设计。当然,究

竟哪•种设计是最优的取决于不同的衡量标准。过去几十年里计算机应用领域的变化

强烈的影响着衡量标准的变化。桌面电脑一直注重在费用性能方面的优化,而服务器

却注重可用性、可扩展性、吞吐量和那些价格驱动的计算机内部的功耗问题等。

不同的市场的多样性导致了设计计算机基本原理的不同方面的努力。对于桌面电

脑市场而言,他们把更多的努力放在如何设计一个可以将图像和I/O系统集成到系统

中的领先的微处理器;在服务器市场,则更多的关注在一个多处理器结构中,如何集

成一个高性能的微处理器和设计可扩展和高可用性的I/O系统。最后,领先的嵌入式

处理器市场中的挑战在于,在考虑功耗限制和图形视频高性能处理的前提下,如何在

一定价格范围内应用高端处理器技术来获得更好的性能。

除了性能,价格也是优化性能价格比的一个关键因素。此外,设计者还必须密切

关注实现技术和计算机应用方面的重要发展趋势,这不仅关系到产品未来的成本,而

且能够决定某种系统结构的寿命。下面的两小节将讨论成本和技术的发展趋势。

功能要求应具备或支持的典型特性

应用领域计算机的目标

通用对一系列任务均有较好的平衡性能(如图像、视频、

音频的交互性能)(第2、3、4、5章)

科学计算具有较高的浮点运算和图像处理功能(附录G、H)

商用支持数据库和事务处理功能;有较强的可靠性和可用

性;支持可扩展性。(第2、6、8章)

嵌入式计算通常要求对图像、视频(或是其它一些有特殊要求的

地)有特殊的支持;功耗限制、控制(第2、3、4、5

章)

软件兼容级别决定机器可以运行哪些软件

编程语言级设计者自由度较大,但需要新的编译器(第2、6章)

目标代码或二进制级兼容系统结构已经确定——基本无随意性可言——但无需

对软件或端口程序追加投资

操作系统要求为支持选定的操作系统所必需的特性(第5、8章)

地址空间的大小非常重要的特性(第5章);可能限制应用程序的运行

内存管理只有现代操作系统才需要考虑这一点,可以是页式或

段式管理

安全保护不同的操作系统和应用都需要考虑,可以是页式或段

式保护

标准市场已经有某种需要满足的标准

浮点格式和算法:IEEE754标准(附录H),针对图像信号

处理的特殊算法

I/O总线I/O设备:ATA、SCSLPCI(第7、8章)

操作系统UNIX、PalmOS>Windows>WindowsNT>WindowsCE、

CISCOIOS

网络对不同网络的支持:Ethernet,Infiniband(第8章)

编程语言编程语言(ANSIC、C++、Java、FORTRAN)将影响指

令集(第2章)

图1.4系统结构设计者要面对的最重要的性能要求一览表。左边一列是需求的

种类,右边一列则包括了可能需要的特性和相关章节及附录。

1.3计算机技术和应用的发展趋势

•个成功的指令集必须能够适应硬件、软件及应用特性的各种变化。设计者必须

密切关注计算机应用和技术的发展趋势。一个成功的指令集系统结构可能会被持续使

用数十年,例如IBM大型机的核心从1964年至今•直被使用着。系统结构设计者对

那些可能会延长计算机寿命的技术变化必须心中有数。

从计算机的长远发展考虑,设计者必须密切注意计算机实现技术的变化。以下四

种飞速发展的实现技术对现代实现技术的影响最为深远:

•集成电路逻辑技术——晶体管的密度以每年大约35%的速度增长,四年后增

长为原来的四倍。电路核心尺寸的变化速度还没有精确的数值,大约在每年

10—20%之间。二者总的效果是每片硅片上的晶体管数目以每年大约55%的

速度增加。器件的增长速度较慢,我们将在下一节中讨论这一问题。

•半导体DRAM(动态随机存取存储器)——其密度以每年40%—60%的速度

增长,三、四年后增长为原来的四倍。访问速度提高得非常慢,平均每十年

降低为原来的三分之一。每片的带宽随着延迟时间的缩短而以其两倍的速度

增加。此外,DRAM接口的变化也改善了带宽,这是第5章中讨论的内容。

•磁盘存储技术——最近,磁盘的密度以每年100%的速度增长,两年后几乎

达到原来的四倍。1990年以前,磁盘密度以每年30%的速度增长,三年内几

乎达到原来的两倍。在未来的段时间内,磁盘技术将以更快的速度提高。

存取时间在过去十年内缩短为原来的三分之一。这技术是第7章的核心内

容,我们将在那一节中对这一问题做更加详尽的讨论。

•网络技术——网络的性能依靠交换和传输系统。时延和带宽二者都可以提

高,但近年带宽是人们关注的焦点。以前,网络技术的发展似乎很缓慢,就

像以太网那样,花了近十年的时间才从10Mb提高到100Mb。网络发展的重

要性将导致它更快的发展100Mb以太网出现5年后1Gb以太网就问世了。

在美国,由于光纤设备和硬件交换系统的使用,互联网的主体架构已经在以

更快的速度发展(带宽每年大约增长两倍)。

依靠这些飞速发展的技术,就可以通过提高微处理器的速度和使用先进技术将微

处理器的寿命延长至五年或更长。即使在单个产品的生命周期中(两年设计期、二到

三年投产期),关键技术一一例如DRAM技术一一变化之大也使设计者必须将其考虑

在内。事实上,设计者是在为未来的某种技术进行设计,因为产品批量生产时正是这

一技术最经济或性能最优时。通常,成本降低的速度与器件密度提高的速度相当。

这些技术变化不是连续的,而是跳跃式的,这种阶梯式的变化可能使以前无法实

现的技术变得可行。例如,八十年代初期,当MOS技术发展到在一个硅片上可以有

25,000到50,00()个晶体管时,制造单片的32位微处理器就成为可能的了。到八十

年代末,第一级高速缓存器在硅片上出现。如果消除处理器和高速缓存的交叉,则可

以提高性价比和性能/功耗比。但这种设计在这一技术未达到某•水平之前是不可能

的。这一技术的突破是可能的,它对设计会有很大的影响。

集成电路中晶体管、连线和功耗的衡量

集成电路的加工过程是用特征尺寸来表示的,特征尺寸是晶体管或者连线在x,y

方向上的最小尺寸。1971年到2001年,特征尺寸从10微米降到了0.18微米。因为

每平方毫米硅上晶体管数目由一个晶体管的表面积决定,所以当特征尺寸线性减少的

时候晶体管的密度以平方项增加。但是晶体管性能的增加是更为复杂的。当特征尺寸

减少时,设备在水平方向和垂直方向上都是平方倍的减少。在垂直方向上尺寸的减少

需要操作电压的减少以保证操作的正确和晶体管的可靠性。这种和尺度因素的结合导

致了晶体管性能和加工的特征尺寸之间的复杂关系。近似的说,集体管性能随着特征

尺寸的减小线性的增加。

晶体管数目平方倍的增加伴随着晶体管性能线性的提升,这个事实为计算机体系

结构设计者提出了挑战和机会。在微处理器产生之初,晶体管密度的高速增加使得处

理器从4位发展到8位、16位和32位。直到最近,密度的增加才导致64位微处理器

的产生及很多关于流水线和高速缓存的改进,这些将在第3、4、5章介绍。

尽管晶体管随着特征尺寸的减少而性能增加,集成电路中的连线却不这样。特别

地,连线上的信号延迟与它的电阻利电容乘积成正比。当然,当特征尺寸减小,连线

变短,但是每单位长度上的电阻和电容却增加。这个关系比较复杂,因为电阻和电容

依靠具体的加工方法、连线的儿何形状、连线的装载甚至和其他结构的连接。有时加

工方法会提高连线延迟,比如用铜作为连接介质,这将会提高一个单位时间的线延迟。

通常,线延迟数值范围与晶体管性能相比很大,这为设计者提出了更多的挑战。在过

去的几年里,线延迟已经成为了大规模集成电路中主要的设计障碍,而且往往比晶体

管转换延迟更为关键。更多的时钟消耗在信号的线延迟上。2001年,Pentium4将其

20多级流水线分成两个阶段,目的仅是在芯片上传输信号。

当设备达到一定规模的时候,功耗同样是具有挑战的。对于现代的CMOS微处理

器,主要的能量消耗在晶体管状态的转换。每个晶体管需要的能量与晶体管的装载电

容、转换频率和电压的乘积成比例。从一个加工过程到下一个,晶体管转换的数量、

它们转换的频率和载入电容和电压的减少都导致了整体功耗的增加。第一个微处理器

消耗功耗仅几百毫瓦,而2GHz的Pentium4处理器消耗近100瓦的功耗。2001年最

快的微处理器工作站和服务器消耗功耗在100瓦到150瓦之间。分散功耗,消除热量

和消除热点已经成为了很困难的挑战。在不久的将来,很可能是功耗而不是晶体管的

数量会成为发展的最主要的限制。

1.4成本、价格及其发展趋势

尽管在有的计算机设计(特别是超级计算机的设计)中成本因素可以不予考虑,

但注重成本的设计却越来越重要。1999年,一半以上的PC机售价在1000美元以下,

一台嵌入应用的32位微处理器的平均价格是几十美元。的确,在过去15年中,计算

机行业主要是靠改进技术来提高性能和降低成本的。

教科书中常常忽略性价比中的成本因素,因为成本变化如此之快使得教科书中的

内容很快就会显得过时了,而且成本在工业部门中确实是一个复杂的问题。可是,设

计者如果想在考虑成本因素的情况下对是否增加某一功能特性作出明智的选择,就必

须对成本及其要素有所了解,否则就会象建筑师对钢筋和水泥的行情一无所知就去设

计摩天大厦一样不可想象。

这一节将集中讲述成本、价格的问题,尤其是二者之间的关系:价格是你卖一件

成品所得到的,而成本是你生产这个产品所花费的全部费用。同时我们还讨论影响成

本的因素和成本的变化趋势。习题和例题中的具体数据可能会随时间改变,但作为成

本决策的基本原则变化相对要慢一些。这一节将通过对那些在计算机设计中起主要影

响的成本因素的讨论向你介绍上述这些问题。

时间、产量、商品化和包装的影响

即使计算机的底层实现技术没有实质性的改进,计算机元件的生产成本也会逐渐

降低,这是由于学习曲线(单位成本会随时间而递减)在起作用。学习曲线本身最便

于用产出率来衡量,产出率就是通过质量检验的产品占总产品的百分比。不论生产的

产品是芯片、主板还是一个系统,产量加倍,成本就会降低一半。

深入理解学习曲线对产出率的影响是在产品生命周期中控制成本的关键。举一个

受学习曲线影响的例子:自从DRAM芯片的价格开始与其成本紧密联系在一起以后,

每兆字节DRAM的价格长期以来一直就以每年40%的速度下降,当然这要除去短缺

的一段时期,那时DRAM的价格和成本基本相当。事实上有一段时期甚至出现了价

格低于成本,如2001年初。当然,制造商是绝不希望这种情况发生。

图1.5显示了每种DRAM芯片在其寿命周期内的成本变化,从中可以更形象地看

到这一点。从设计初期到产品出厂的两年间,一个新的DRAM芯片的成本将固定降

低5—10美元。由于并不是所有的组件成本都以同样的速度变化,所以基于计划成本

的设计导致了不同的成本性能平衡。图1.5的说明具体讨论了DRAM价格的长期趋势。

R

/

a

年代

图1.5六代DRAM(从16Kb到64Mb)的价格(按1977年价格水平计价)随

时间变化的曲线——显示学习曲线的作用。1977年的1美元相当于2001年的2.95

美元,通货膨胀主要发生在1977—1982这五年,在此期间,价格变化了1.59美元。

在1977-1995年间,DRAM的价格以令人难以置信的速度狂跌,1MB内存从1977年

的5000美元降到2000年的0.35美元,2001年的令人难以置信的0.08美元(以1977

年价格水平计价)。每一代DRAM产品的价格都在其生命周期内降低了10-30个百

分点。从1996年开始,出现了生产厂家的利润随着价格的下跌而疯狂降低的局面,

连DRAM的最终价格也包括在内。在供不应求时——例如1987—1988年和1992—

1993年间——价格有短期的回升,这体现为价格降低的速度趋缓。在本世纪初又出现

了大量供过于求的情况,导致了价格的急遽降低,这是让厂家不能承受的。

微处理器的价格同样在下跌,但是由于它没有DRAM芯片那么规范标准,所以

它的价格与成本之间的关系就显得更加复杂。在严峻的竞争时期,尽管出售微处理器

的卖主几乎陷入亏本的境地,但价格依然随成本紧密变化。图1.6显示了PentiumIII

的价格变化趋势。

除此而外,产量也是决定成本的重要因素。产量会以几种方式影响成本。其一,

产量增加会缩短达到学习曲线最优生产效率的时间,这一时间部分地与产品或系统的

产量成正比。其二,产量增加可以提高采购和生产的效率,从而降低成本。根据以往

的经验,一些设计者曾经估算出产量每增加一倍,成本就会降低10%。其三,随着产

量的增加,每件产品均摊的开发费用会减小,因而产品的成本和售价都可能降低。稍

后,我们还会讨论影响售价的其它因素。

$1Ooo

XJ

$9OO

c8oo

Jr>»

7

e,:OO

a,

6

q,*

京~>

电5

c

I”

SJ>

U4

Ic

>,

j3

C"

M,2

~

H

>1

c

J>

$0

May-99Jul-99Sep-99Nov_99Jan-00Mar-00May-00Jul-0。

时间

图1.6当产出率提高和竞争的压力同时导致成本的降低时,IntelPentiumIH的价

格随着时间的变化以固定的频率下降。这里的数据是由2000年5月出版的微处理器

报告提供。最新的介绍显示PentiumHI的价格将继续下跌直到与其今天的最低成本部

件接近一致(100-200美元)。这样的价格下跌呈现了一种价格与成本紧密同时下降

的竞争局面。

零配件是由多家厂商大量出售的可以完全互换的产品。事实上,零售店货架上出

售的所有商品都可以称为零配件。零件包括DRAM、小型磁盘、监视器、主板等。在

过去十年中,计算机产业的大多数低端产品是装配IBM兼容PC机的零配件。有许多

厂商生产完全可互换的产品,因而该领域内竞争激烈。当然这种激烈竞争减小了售价

与成本间的价差,但它同时也降低了成本。这是因为零售市场产量大,而且产品有明

确的规范,这使得多家厂商可以参与到生产零配件的竞争中来。零配件供应商之间的

激烈竞争和零配件产量增加带来的高生产效率最终导致零配件的总生产成本的下降。

尽管只有非常有限的利润可赚(这也是所有零部件行业的特征),但也使计算机行业

在低端产品方面可以比别的部门获得更高的性价比和更大的产量。

集成电路的成本

为什么一本计算机系统结构的教科书会有一节专门来讨论集成电路的成本呢?

在竞争日益激烈的计算机市场中,标准件一如磁盘、DRAM等一在计算机总成本中占

的比例越来越大,集成电路的成本成了影响计算机总成本的重要因素。在产量大、对

价格敏感的市场中尤其如此。因此,要想弄清楚整机的成本就必须先弄清楚集成电路

的成本。

尽管集成电路的成本呈指数下降趋势,但是生产硅片的基本程序并没有改变:先

对一个晶片进行测试,然后把晶片切分成电路小片,再对每个电路小片进行封装(见

图1.7和1.8)。所以•片封装好的集成电路的成本为:

电路小片的成本+测试电路小片的成本+封装成本

集成电路的成本=

最终成品数目

本节中,我们集中讨论电路小片的成本,并在本节末尾概略介绍影响测试和封装

成本的主要因素,在习题中会有对测试和封装成本更详细的讨论。

图1.7含有IntelPentium4处理器的8英寸晶片的照片。(照片由Intel提供)

图1.8含有NECMIPS4122的12英寸晶片的照片。R20K是由带有指令集扩

展的MIPS64系统结构实现的,被称作M1PS-3D,用来计算三维图像处理。这种R20K

的频率从500MHz到750MHz,在每个时钟周期可以同时执行两个整数操作。通过使

用MIPS-3D的指令,R20K可以每秒累计执行30亿次的浮点运算。(照片由MIPS科

技公司提供)

要想知道每个晶片上有多少性能良好的电路小片,就要先知道晶片的面积和正

常工作的电路小片所占的比例。由此可以推知电路小片的成本为:

晶体的成本

电路小片的成本=

每片晶片的电路小片数x电路小片的成品率

有趣的是,这一电路小片的成本公式表明电路小片的成本对电路小片的大小非常

敏感。下面将阐述这一点:

每个晶片上电路小片的个数近似为晶片的面积除以电路小片的面积,更确切的公

式如下:

每个晶片的电路小片数:哨-需我步_X晶片的山径

电路小片的面积,2x电路小片的面积

第一项是晶片面积与电路小片面积的比,第二项是对晶片边缘附近方形小片数目

的修正。晶片的周长除以正方形电路小片的对角线长度近似为晶片边缘处电路小片的

数目。例如,直径为30厘米(约12英寸)的晶片上有3.14*225-(3.14*30/1.41>640

个边长为1厘米的电路小片。

例题直径为30厘米的晶片上有多少边长为0.7厘米的电路小片?

解:电路小片的面积为0.49。加2所以

7x(30-2)2

%x30706.594.2S仙

每个晶片的电路小片数.==------------=134/

0.4972x0,490.490.99

但这仅给出了每个晶片上可以容纳的电路小片最大数目,还有一个关键问题是每

士■口上nu■”中口生(单位面积内的残次品数目X电路小片的面积)

电路小片的成品率=晶片的成品率x1+--------------------------------------

[«)

个晶片上性能良好的电路小片的比例即电路小片的成品率是多少。集成电路产出率的

一个经验模型假定有缺陷的产品在晶片中随机分布且产出率与制造过程的复杂性成

反比,所以有如下的公式:

其中晶片成品率除去了完全被损坏因而不必进行测试的晶片。为简便起见,我们

假定晶片成品率为100%。单位面积的残次品数目用来衡量随机缺陷和制造缺陷。在

2001年,因工艺成熟程度(回忆一下前面提到过的学习曲线),这一指标基本上在0.4

到0.8之间。最后,a是一个衡量工艺复杂程度的参数,它是影响电路小片成品率的

重要参数,它粗略与掩模的层数相对应。对于现在的多层金属CMOS生产流程而言,

a取4.0较好。

例题设残次品密度为0.6/cn?,分别求边长为1厘米和0.7厘米的电路小片的成品

率。

解:电路小片的面积分别为1平方厘米和0.49平方厘米

面积较大的电路小片的成品率为:

电路小片的成品率=11+0=0.57

面积较小的电路小片的成品率为:

电路小片的成品率==0.75

这样,用每个晶片的电路小片的数目乘以电路小片的成品率(包括次品)就得到

每个晶片上功能良好的电路小片的数目。在上面的例子中,预计在直径为30厘米的

晶片上有366个面积为1平方厘米的性能良好的电路小片或1014个面积为0.49平方

厘米的性能良好的电路小片。在现代0.25u工艺下,大多数32位、64位微处理器的

电路小片尺寸都在这个范围内,在缩放之前的原型制作阶段最大的面积曾达到2平方

厘米。低端嵌入式32位处理器有时面积小到0.25平方厘米,用了打印机、汽车的嵌

入式微处理器有时只有0.1平方厘米(习题1.8中图1.34展示了当今几种微处理器的

电路小片和技术)。

假定在零部件产品(如DRAM和SRAM)的巨大价格压力之下,设计者不得不

采用多生产一些产品作为提供成品率的种手段。在几年之内,DRAM通过定期的多

生产一些存储单元来消除那些残次品。在微处理器中为高速缓存使用的标准SRAM和

更大的SRAM阵列中,设计者们都已经采用了类似的技术。显然,这种多余产品的出

现对提供成品率是很有效的。

在2001年的领先科技中,以4—6层金属工艺处理一个直径为30cm的晶片需要

花费5000-6000美元的成本。假设一个处理过的晶片成本是5500美元,那么一个0.49

平方厘米的电路小片的成本将大约为5.42美元而1平方厘米的电路小片的成本将大

约为15.03美元,或者相当于面积是它两倍的小片的成本的三倍。

计算机设计者对芯片的成本应该注意哪些东西呢?生产流程决定了晶片的成本、

晶片的成品率、和单位面积的残次品个数,所以设计者唯一能控制的就是电路小片的

面积。对于今天使用的先进生产技术而言,通常a取4,所以电路小片的成本与电路

小片面积的四次方(或更高)成正比。然而实际上,由于单位面积的残次品的个数是

少量的,所以每个晶片上好的电路小片的数量和成本是与电路小片的面积的平方成正

比的。计算机设计者电路小片的大小有影响,因此对电路小片的成本有影响。而电路

小片的大小和成本都要受到电路小片所包含的功能特性和I/O管脚数的影响。

在我们决定把一个部件加入计算机前,必须对它进行测试、封装、封装后的再测

试。这些步骤都会增加成本。这些过程带来的附加成本将在习题1.8中详细讨论。

以上重点在于分析生产一个功能电路小片的成本变量,这是和高产量的集成电路

的发展相适应的。然而对于那些低产量(如不超过一百万的零件数)的集成电路而言,

掩模组的成本是个非常重要的固定成本。在集成电路处理过程的每一步都需要一个

单独的掩模。所以,对于现代4-6层金属层的高密集度工艺制造过程来说,掩模的

成本费用通常超过100万美元。显然,这个影响着制造原型和调试运行的巨大的固定

成本,成为了低产量生产中生产成本的一个重要部分。由于掩模的成本价格有可能继

续上涨,所以设计者们将采用组合逻辑来提高某个部件的复杂性,或者选取一些门阵

列(特制掩模标准),从而降低掩模的蕴涵成本。

成本在系统中的分布:一个实例

为透视硅片的成本,图1.9显示了2001年的一台价值1000美元的PC机中各部

件的近似成本。尽管图1.9中的有些部件的成本随着时间的推移必然会下降,但有些

部件(如机箱和电源)的成本未来短时间内几乎不会有大的变化。此外,我们预测将

来的计算机会有更大的内存和硬盘空间,这意味着价格下降的速度会远低于技术进步

的速度。

处理器子系统仅占总成本的6%o尽管在中型或大型设计中这一比例会提高,但

多数子系统的分类细目的比例仍是差不多。

系统子系统占总成本的比例

机箱金属、塑料、2%

电源、风扇2%

电缆线、螺钉和螺母1%

包装箱、手册1%

小计6%

主板处理器22%

DRAM(128M)5%

显卡5%

I/O子系统,网络系统5%

小计37%

I/O设备键盘利鼠标3%

监视器19%

硬盘(20GB)9%

DVD驱动器6%

小计37%

软件操作系统+基本Office组件20%

图1.92001年一台价值1000美元的PC机中各部件的估计成本分布。注意占

总成本比例最大的单个部件是处理器,然后是监视器。(有趣的是,在1993年的时候,

DRAM内存的价格占整个整机成本的近三分之一,是当时最贵的部件!但从那以后,

它的价格以每MB大约15个百分点的速度下跌!)Touma[1993]详细讨论了工作站的

成本和价格。

成本与价格—它们为什么不同及相差多少

元件的成本可能会限制设计者实现某些设计意愿,但它与用户购买的最终产品的

价格仍然相差甚远。在一本计算机系统结构的书中为什么要包含对价格的讨论呢?成

本在变为价格之前,要经历许多变化,计算机设计者应当了解他的设计决定是如何影

响价格的。例如,成本提高1000美元,价格可能会提高3000到4000美元。如果设

计者不清楚成本与价格的关系,他就不会了解增减或替换零件对价格的影响。

价格与产量之间的关系进一步强化了成本变化对价格的影响,特别是在低端产品

的市场。通常,价格提高会使销售量下降,随之而来的产量减少会使成本提高,导致

价格进一步提高。这样,成本即使发生很小的变化也会对价格产生非常显著的影响。

成本与价格之间的关系非常复杂,有专著对此进行讨论。这一小节的目的只是介绍一

下影响价格的重要因素及通常情况下它们影响的强弱程度。

组成价格的各个范畴既可以看作在成本的基础上的附加值也可以看成是价格的

百分比,我们将从这两个方面讨论问题。成本与价格的差异还取决于公司在哪儿销售

产品。为显示这些差异,图1.10列举了原料成本与标价之间的差额是由哪些部分构成

的。图中,随着开销逐渐增加,价格也从左到右逐渐提高。

直接成本是指与制造一件产品直接相关的成本,包括劳动力成本、购买元件的成

本、碎料(生产所剩余的废料)和保证金(在保证期内系统在用户端失效时的更换或

维修费用)。直接成本通常是元件成本的10%到30%。因为用户通常支付服务或维护

费用,所以这部分开支通常不计算在费用内,尽管在直接成本或下面将要提到的总利

润中也可以包括一项名为保证金的费用。

另一项附加是额外费用,作为公司的额外开销,它是不能直接计入产品成本的一

项经营性费用。这一项可以被看作间接成本。它包括公司的研发费用、营销费用、设

备维护费用、场地租金、财务成本、税前利润和赋税。元件成本加上直接成本和额外

费用后,就成了我们通常所说的平均售价——在MBA术语中被称为ASP——也就是

出售产品后进入公司的全额。额外费用通常占平均售价的10%到45%,具体数值取决

于产品的市场比例。低端微机制造商的额外费用通常都不高,这主要有以下几个原因:

第一,它们的研发费用不高;第二,它们的销售费用相对较低,因为它们通常不采用

推销员上门直接推销的方式,而采用邮购、电话定购或零售商代销的方式;第三,因

为它们的产品通常不具有垄断性质,竞争比较激烈,所以总利润通常较小。

标价与平均售价是不同的。一个原因是公司通常提供因购买数量而异的折扣,降

低了平均售价。另一个原因是如果产品通过零售商代销,例如个人电脑,零售商将提

取标价的一定百分比作为自己的销售收入。这样,因分销系统的不同,平均售价也和

标价不同。

100%

图1.10一台价值1000美元的PC机的价格组成。每一次价格提高都是按前一

次价格的百分比计算。新价格中各部分所占的比例在每一列的左侧显示。

像我们前面提到过的■■样,价格对竞争十分敏感:一个公司可能无法按包括总利

润所要求的价格卖出产品。在最坏的情况下,公司必须大幅度削价甚至亏本销售。一

个力图争取市场份额的公司可能会降价让利来增加其产品的吸引力。如果产量增加得

足够多,成本可能会下降。这其中的关系非常复杂,要想深入阐述它们需要整本书,

而不是这一小节能够讲清楚的。举个例子,如果一个公司降低价格,而产量却没有相

应幅度地增加,总的效果将是利润下降。

许多工程师对大多数公司的研发费用仅占其收入的4%

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论