第1章-2-计算机设计基本原理-计算机系统结构_第1页
第1章-2-计算机设计基本原理-计算机系统结构_第2页
第1章-2-计算机设计基本原理-计算机系统结构_第3页
第1章-2-计算机设计基本原理-计算机系统结构_第4页
第1章-2-计算机设计基本原理-计算机系统结构_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

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

文档简介

1第1章计算机设计基础1.1引言1.2计算机的分类1.3计算机系统结构定义和计算机的设计任务1.4实现技术的趋势1.5集成电路功耗的趋势1.6成本的趋势1.7可靠性1.8测量、报告和总结计算机性能1.9计算机设计的量化原则1.10综合:性能和性价比元器件成本是设计者需要考虑的一个方面影响成本的主要因素:Time----元器件价格随着时间而下降(实现技术没有实质性改进)。因为随着时间推移产出率不断增高。Volume

(产量)----提高意味着制造效率提高Commodification(商品)----元器件供应商之间的竞争会降低成本1.6成本的趋势2存储器芯片成本趋势3集成电路的生产过程

4一片集成电路成本=每芯片成本+每个芯片测试成本+每个芯片封装成本

一片封装好的集成电路成本的计算:每芯片成本=一片晶园成本

每片晶园的芯片数×芯片成品率每片晶圆的芯片数=-

晶圆面积

芯片面积

晶圆周长

芯片对角线长芯片成品率=晶圆成品率×(1+)

单位面积的缺陷数×芯片面积

α-α5每片晶圆的芯片数=-

晶圆面积

芯片面积结论1,芯片面积直接影响芯片成本:

芯片面积大→晶圆上芯片数减少→芯片成本上升

晶圆周长

芯片对角线长

α

是取决于制造工艺复杂性的一个参数,与掩膜的层数成正比。对于目前复杂的CMOS工艺来说,估算值α=4。

单位面积缺陷数是衡量材料与工艺的一个指标,典型值为0.5~1/cm2芯片成品率=晶圆成品率×(1+)

单位面积的缺陷数×芯片面积

α-α假设为100%6例子:直径为30cm的晶圆上有多少边长为1.5cm的芯片?答:芯片面积为(1.5cm)2=2.25cm27每片晶圆的芯片数=-=270

π×(30/2)2

2.25

π×30

2.12类似的,直径30cm晶圆上边长为1cm的芯片数为:640例:设单位面积残次密度为0.4/cm2,且α=4.0,分别求边长1.5cm和1.0cm芯片的成品率。8芯片成品率=(1+)

单位面积的缺陷数×芯片面积

α-α答:1.5cm芯片成品率=(1+)=0.440.4×2.254.0-41.0cm芯片成品率=(1+)=0.680.4×1.004.0-4结论2:芯片面积大→成品率更低→芯片成本上升直径30cm晶圆有270×0.44=120个面积2.25cm2成品芯片,

或者有640×0.68=435个面积1cm2成品芯片。2006年,设30cm晶圆成本是5500美元,1个1.00cm2的芯片成本----13美元1个2.25cm2的芯片成本----46美元推论:芯片面积增加到2倍,则成本增加到约4倍。芯片成本对于计算机设计者,能够控制的是芯片面积:功能特性和I/O管脚数目9一个计算机系统中的成本分布下表表明了2001年$1000PC成本的近似分解10成本与价格器件成本(Componentcosts)直接成本(directcost):直接影响产品的成本.人力成本,废料(theleftoverfromyield),和保修期内的保修费等直接成本在器件成本上增加20%~40%.毛利润(grossmargin,间接成本)企业一般管理费直接分摊到一个产品中.研发(R&D),制造设备,市场销售

,维护,租场地,经济成本,税收等.研发费用一般占收入的4%~12%1112Averagesellingprice(平均销售价格)

=Componentcosts+directcost+grossmarginASP直接被计入到每一个产品的售价.Listprice(市场价格)=Componentcosts+directcosts+grossmargin+averagediscount商家在ASP上的加价(一般是listprice的25%~50%)13$1000PC的价格组成14前图表明了一个设计决定是怎样影响出售价格的

如:成本增加1000美元,则售价可能增加到3000~4000美元考虑产量与价格的关系:直接影响产品的成本.通常,出售的计算机越少,价格越高产量的减少会引起成本的增加,进一步引起价格增加因此,成本的小变化可能引起意料不到的价格大增成本与价格15第1章计算机设计基础1.1引言1.2计算机的分类1.3计算机系统结构定义和计算机的设计任务1.4实现技术的趋势1.5集成电路功耗的趋势1.6成本的趋势1.7可靠性1.8测量、报告和总结计算机性能1.9计算机设计的量化原则1.10综合:性能和性价比1.7可靠性--Dependability可靠性:广义上包括可靠性、安全性和可用性(Dependabilityisadeliberatelybroadtermtoencompassmanyfacetsincludingreliability,security

andavailability.)

系统的可靠性:系统从某个初始参考点开始一直连续提供服务的能力。

例如:一个桌面电脑能用多久才出现故障?1617可靠性的量化模块可靠性:从模块可用到出现故障的持续服务度量MTTF(meantime

tofailure):平均故障时间MTTR(meantimetorepair):

平均修复时间FIT(故障率):1/MTTFMTBF:

平均无故障时间=MTTF+MTTR模块可用性MTTF=MTTFMTTF+MTTRMTBF例题设一个磁盘子系统有如下组件和MTTF:10个磁盘,每一个的MTTF是1000000小时1个SCSI控制器,500000小时的MTTF1个电源,200000小时的MTTF1个风扇,200000小时的MTTF1条SCSI电缆,1000000小时的MTTF

假设生存周期是按指数分布的,并且故障具有独立性,计算整个系统的MTTF。系统故障率=

10×++++1解:100000015000001100000012000001200000=231000000系统的MTTF===43500小时(接近5年)1系统故障率10000002318提高可靠性的方法冗余(Redundancy):时间冗余:重复操作直到无错资源冗余:配置另外的相同部件,有错时用于替代出错部件1920第1章计算机设计基础1.1引言1.2计算机的分类1.3计算机系统结构定义和计算机的设计任务1.4实现技术的趋势1.5集成电路功耗的趋势1.6成本的趋势1.7可靠性1.8测量、报告和总结计算机性能1.9计算机设计的量化原则1.10综合:性能和性价比21性能:速度1.8测量、报告和总结计算机性能22测量和报告性能比较机器性能的指标执行时间(响应时间,时延)吞吐量MIPS-millionsofinstructionspersecond用程序集比较机器性能选择适当的程序评估性能基准测试程序套件(BenchmarkSuites)运行时间不同平均值(DifferentMeans):算数(Arithmetic)、

调和(Harmonic)、

几何(Geometric)平均值23性能指标—响应时间墙钟时间程序开始执行到结束看钟知道的时间,就是墙钟时间,也称为响应时间或消逝时间测量用户感觉到的系统速度墙钟时间的问题如果一个机器上运行多个程序

?如果程序运行时需要用户输入?24性能指标--CPU时间测量CPU时间更具可计算性(notwaitingforI/O)测量设计者感觉到的CPU速度CPU时间进一步分为:用户CPU时间-花费在用户模式的时间系统CPU时间-花费在OS的时间Unix时间命令报告CPU时间:90.7u12.9s2:3965%90.7userCPUseconds(intheuser’sprogram)12.9systemCPUseconds(inthesystemcallse.g.printf)2minutes,39secondswall-clocktime65%ofthewallclocktimewasspentrunningontheCPU25性能指标----吞吐量单位时间内完成的工作总量---吞吐量测量管理员感觉到的系统性能常用吞吐量测量每天产生的代码行的数量每秒在一根导线上传输的二进制位的数量服务的网页数量以上对照时延产生一行代码的时间量一根导线传输一位的时间量等待接受网页的时间量处理器性能一般使用相对时延:程序A比程序B快10倍对于一些应用,吞吐量比时延更重要:金融市场,政府统计(人口普查)26响应时间与吞吐量通常改善了响应时间也会改善吞吐量处理器用更快的型号替换只改善吞吐量而不改善响应时间在一个系统中增加额外的处理器,如用多处理器27另一个工业性能指标:MIPSMIPS-MillionsofInstructionsperSecond对于具有相同指令集的两台机器(A,B),用MIPS对它们进行比较一般是公平的MIPS可能是一个“无意义的性能指标”28例子:MIPS或许是无意义的机器A有一条计算平方根的特殊指令,它执行需要100个时钟周期(设每个时钟周期1us)机器B没有这种指令---它计算平方根用软件方式即用加、乘、移位简单指令(一般执行需要1个时钟周期,设时钟周期1us)编程实现机器A:1/100us=0.01MIPS机器B:1/1us=1MIPS29另一种观点:

功耗和效率嵌入式系统的关键因素:成本物理尺寸存储空间功耗例如:AMDElanSC520AMDK6-2EIBMPowerPC750CXNECVR5432NECVR4122NECVR4122的性能/瓦最好,但是它是其中效率倒数第2低的处理器。

30响应(执行)时间

用户的感觉系统性能仅有的各方都认可的性能测量指标CPU时间

设计者的感觉CPU性能吞吐量管理员感觉MIPS商人的感觉性能指标总结31选择程序评估机器性能理想的性能评估:

运行随机取样的用户的程序和OS命令不同类型的基准测试程序(benchmarks)3232

不同类型的基准测试程序(benchmarks)

核心测试程序:从实际的程序中抽取少量较短的关键程序框架代码构成,这些代码的执行直接影响程序总的执行时间。如LivermoreLoops和Linpack。小测试程序:代码在10~100行,具有特定目的测试程序。如SieveofErastosthenes,Puzzle和Quieksort。综合测试程序:对一大套应用程序中的操作和操作数的执行频率进行统计,得到平均执行频率,再按这个频率编制的模拟测试程序。如Whetstone和Dhrystone。

基准测试程序集:选择一组有代表性的不同类型应用程序,集中起来构成基准测试程序集,以有效评测计算机处理各种应用的性能。这种测试程序集合也称为测试程序组件(benchmarksuites)。如SPEC,TPC。33注意:基准测试程序的局限基准测试程序可能针对系统的某些方面floatingpoint&integer运算,memorysystem,I/O,OS通用基准测试程序可能会误导消费者,因为硬件和编译器的供应商或许会仅仅针对这些测试程序优化他们的设计。系统结构可能对某些应用性能好,而对其他应用性能差。利用结构特点的编译可以提高性能。针对特定应用程序的编译器优化已普遍采用。最好的基准测试程序就是实际应用程序,因为它们反应了终端用户的需要。34SPEC—实用基准测试程序集SPEC-TheSystemPerformanceEvaluationCooperative一个开放性的非赢利组织1988年由工作站厂商HP,DEC,MIPS,SUN共同发起,以满足市场迫切需要的标准化性能测试。已成为最成功的性能测试标准化组织,有40个公司成员。SPEC的信条目标:保证市场有一套公平和实用的指标来区分不同的候选系统。基本方法:提供基于现有应用程序的一套标准化源代码作为基准测试程序集。35SPECbenchmarks

DesktopBenchmarksCPU-intensivebenchmarksSPEC89SPEC92SPEC95SPEC2000SPECCPU2006(12CINT2006,17CFP2006)

graphics-intensivebenchmarksSPEC2000SPECviewperfisusedforbenchmarkingsystemssupportingtheOpenGLgraphicslibrarySPECapcconsistsofapplicationsthatmakeextensiveuseofgraphics.3637NewSPECInt2000Benchmarks38NewSPECFP2000Benchmarks39ServerBenchmarksSPECSPECrate—processingrateofamultiprocessor

由SPECCPU2000构建实现多个CPU基准测试程序副本

SPECSFS--fileserverbenchmarkSPECWeb--WebserverbenchmarkTPCbenchmark—TransactionProcessingCouncilTPC-A,1985(工程师创建了独立于厂商的事务处理性能委员会TPC,目前绝大多数会员都是美、日、西欧计算机软硬件的制造商。)TPC-C,1992,TPC-H

TPC-R

TPC-W事务处理(TP):数据库访问与更新。典型TP系统:机票预订系统,银行ATM系统评测指标:每秒钟处理的事务数(吞吐量)。对响应时间也有要求。40EmbeddedBenchmarksEDNEmbeddedMicroprocessorBenchmarkConsortium(orEEMBC,pronounced“embassy”).41运行基准测试程序(Benchmarks)关键:可重现性(Reproducibility

)尽量多的细节

列出实验时所有的假定和条件如:programinput,versionoftheprogram,versionofthecompiler,optimizationlevel,OSversion,mainmemorysize,disktypes,etc.系统软件的配置会有效地影响benchmark的性能结果。42比较两个机器

MachineCPIClockPeriodAvgInstructionTime(secs) MachineA1.22ns 1.2*2=2.4ns MachineB2.51ns2.5nsCPUTime=执行指令条数*avginstructiontimeAssume1,000,000,000instructionsMachineA:1,000,000,000*2.4ns=2.4secondsMachineB:1,000,000,000*2.5ns=2.5seconds哪个机器更快?MachineA快多少?

2.5/2.4=1.04timesfaster43比较性能

为什么要比较不同机器或者不同程序的性能?要帮助设计者知道哪一个更好要给销售在新闻发布时一个有力的依据要帮助消费者选择满足自己需求的机器

性能与执行时间互为倒数

最大的性能意味着最小的执行时间44常用短语“P1

性能比P2

更好”:对给定工作负载程序

L,

P1执行L的时间比P2更少

performance(P1)>Performance(P2)

ExecutionTime(P1,L)<ExecutionTime(P2,L)“处理器

X比Y快n倍”:45通过多个程序比较机器性能Ais10timesfasterthanBforprogram1Bis10timesfasterthanAforprogram2Ais20timesfasterthanCforprogram1Cis50timesfasterthanAforprogram2Bis2timesfasterthanCforprogram1Cis5timesfasterthanBforprogram2上述句子都是正确的,但是哪一个机器是最好的?46一个更简单的例子两个机器执行两个基准测试程序的时间MachineA比MachineB快多少?方法1:计算执行时间比,归结为A的倍数program1:4/2program2:8/12MachineA执行program1的时间比B快2倍

执行program2的时间比B快2/3倍平均执行时间MachineA比B快

(2+2/3)/2=4/3倍“平均”这个东西可能欺骗我们47前例:第2种答案

两个机器执行两个基准测试程序的时间MachineA比MachineB快多少?方法2:计算执行时间比,归结为B的倍数program1:2/4program2:12/8MachineA执行program1用了1/2的B时间

执行program2用了3/2的B时间平均,(1/2+3/2)/2=1这种方法,MachineA与MachineB一样快48两个机器执行两个基准测试程序的时间MachineA比MachineB快多少?方法3:

累加总的执行时间,计算执行时间比MachineA执行两个程序花费

14sMachineB执行两个程序花费12sMachineA与MachineB的执行时间比是14/12这种方法,MachineA平均执行时间比

B快6/7倍

实际上MachineA比B慢。前例:第3种答案

49哪一个答案是对的?问题:怎样得到不同的答案?原因看起来都是合理的计算……但是,每个答案的计算方法是不同因此,要更精确地探讨这些性能和度量问题50算术和调和平均值

(ArithmeticandHarmonicMean)总的执行时间:一个一致的总的度量算术平均时间:是n个测试程序总的执行时间的算术平均值。如果性能用rate(如MIPS)表示,那么总的执行时间平均值就是调和平均值(harmonicmean)

51算术平均时间的问题每个应用程序运行的概率并不相同更长执行时间的程序在平均值中的份量更重例如,两个机器执行两个基准测试程序的时间

MachineAMachineBProgram12seconds(20%)4seconds(20%)Program212seconds(80%)8seconds(80%)

(Program2运行的概率是Program1的4倍)计算算术平均值,Program2占的比重比Program1更大显然,改善Program2对平均值的影响大于Program152加权执行时间通常,机器运行某些程序更频繁,则应该给这些程序更大的权值(weight)加权调和值53使用加权和

(或加权平均)计算相对性能:10/7.2=1.38-->MachineBis1.38timesfasterthanMachineA但是,加权和存在一个重要问题:SPEC不同厂商对应用程序权重的选取有冲突54

SPEC采用比选择权值更好的方法,就是选择一个统一的参考计算机,给出各测试程序在参考机上的执行时间,再将被测机器的执行时间与之比较来评价不同机器的性能。

SPEC的评价指标有2个:SPEC率(SPECRatio)SM(Specmark):采用SPEC率的几何平均值SPEC性能评价55SPEC率(SPECRatio)是测试程序在参考计算机上的执行时间与在被测计算机上的执行时间的比值,可以表示为:

显然,SPECRatio比值越高,说明被测计算机的性能越高。

例如,假设针对同一个基准测试程序A计算机的SPECRatio比B计算机的高出1.3倍,则可表示为:56SM(Specmark)是被测试计算机执行n个基准测试程序分别得到的SPEC率的几何平均值。若某被测计算机的SPEC率有n个数值,则该计算机的SPEC率的几何平均值的计算公式为:

SM为衡量不同计算机的性能提供了依据。

但是为了完整的表示出系统的性能特征,通常也将n个基准程序的SPEC率列出,以分项比较分析。57表1-4Ultra5、Itanium2、Opteron的SPECfp2000执行时间和SPECRatio基准测试程序Ultra5时间(秒)Opteron时间(秒)OpteronSPECRatioItanium2时间(秒)Itanium2SPECRatioItanium/OpteronSPECRatiowupwise160051.531.0656.128.530.92swim3100125.024.7370.743.851.77mgrid180098.018.3765.827.361.49applu210094.022.3450.941.251.85mesa140064.621.67108.012.990.60galgel290086.433.5740.072.472.16art260092.428.1321.0123.674.40equake130072.617.9236.335.782.00facerec190073.625.8086.921.860.85ammp2200136.016.14132.016.631.03lucas200088.822.52107.018.760.83fma3d2100120.017.48131.016.090.92sixtrack1100123.08.9568.815.991.79apsi2600150.017.36231.011.270.65几何平均值SM20.8627.121.3058第1章计算机设计基础1.1引言1.2计算机的分类1.3计算机系统结构定义和计算机的设计任务1.4实现技术的趋势1.5集成电路功耗的趋势1.6成本的趋势1.7可靠性1.8测量、报告和总结计算机性能1.9计算机设计的量化原则1.10综合:性能和性价比591.9计算机设计的量化原则利用并行性(parallelism)局部性原理(PrincipleofLocality)注重经常性事件(thecommoncase)Amdahl‘s定律

CPU性能公式60利用并行性改善计算机性能最重要的方法并行性的层次

系统级:使用多个处理器指令级:流水线、超标量、OOO等操作级:并行加法器组相联cache功能部件流水线Anyotherexamples?61局部性原理程序特性:趋向于重用最近用过的数据和指令经验法则:一个程序90%的执行时间仅仅执行

其10%

的代码。时间局部性(

温馨提示

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

评论

0/150

提交评论