计算机的组成与结构_第1页
计算机的组成与结构_第2页
计算机的组成与结构_第3页
计算机的组成与结构_第4页
计算机的组成与结构_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

1、Lecture 10 评估和理解性能评估和理解性能Reading: 4.1-4.6, 4.7*Homework: 4.1, 4.2, 4.3, 4.6, 4.7, 4.14, 4.19 - 4.22本课件内容源于美国本课件内容源于美国Lafayette 大学大学John Nestor教授的课件教授的课件计算机组成与结构计算机组成与结构ECE 313 Fall 2006Lecture 10 - Performance2/52Roadmap for the term: major topics4Computer Systems Overview4Technology Trends4Instruct

2、ion sets (and Software)4Logic & Arithmetic4Performance 334Processor Implementation4Memory Systems4Input/OutputECE 313 Fall 2006Lecture 10 - Performance3/52Performance Outline4Motivation 334Defining Performance4Common Performance Metrics4Benchmarks4Amdahls LawECE 313 Fall 2006Lecture 10 - Perform

3、ance4/52Performance4Goal: 学习学习“度量、报告和总结度量、报告和总结”计算机系统的性能计算机系统的性能4为什么研究性能为什么研究性能?4当选择一个系统时,做更明智的决策,如:购买一台计算机当选择一个系统时,做更明智的决策,如:购买一台计算机4当设计一个系统时,做更明智的决策当设计一个系统时,做更明智的决策4理解影响执行决策的因素理解影响执行决策的因素4Challenges4How do we measure performance accurately?4How do we compare performance fairly?ECE 313 Fall 2006Lec

4、ture 10 - Performance5/52Whats a good measure of performance?4一台计算机比另一台好,指的是什么?一台计算机比另一台好,指的是什么?4Execution Time 执行时间执行时间 (a.k.a. response time, latency)-单机用户单机用户4How long it takes to complete a single task4Example: “how long does it take to rip an MP3 file?”4Throughput 吞吐量吞吐量-数据中心管理人员数据中心管理人员4How ma

5、ny tasks are completed per unit time4Example: “how many MP3 files can I rip per hour?4实际上,我们所使用的度量取决于应用实际上,我们所使用的度量取决于应用ECE 313 Fall 2006Lecture 10 - Performance6/52Execution Time vs. Throughput4类似情况:民航飞机类似情况:民航飞机 (book Figure 4.1)4协和式飞机协和式飞机Concorde - fastest “response time” for an individual user4

6、波音波音747 Boeing 747 - highest passenger throughputAirplanePassengerCapacityCruising Range(miles)Cruising Speed(mph)PassengerThroughput(passengers x mph)Boeing 7773754630610228,750Boeing 7474704150610286,700Concorde13240001350178,200DC-8-50146872054479,424ECE 313 Fall 2006Lecture 10 - Performance7/52例

7、子:吞吐量与响应时间例子:吞吐量与响应时间4对计算机系统做如下改动,能提高吞吐量还是,缩短响对计算机系统做如下改动,能提高吞吐量还是,缩短响应时间应时间?41、用更快的处理器来替换原来的处理器。、用更快的处理器来替换原来的处理器。42、有些计算机中装有多个处理器,并且不同的处理器处、有些计算机中装有多个处理器,并且不同的处理器处理不同的任务,如:互联网搜索系统,在这种系统中增理不同的任务,如:互联网搜索系统,在这种系统中增加一些处理器,效果如何呢?加一些处理器,效果如何呢?4对于对于1,二者均能得到改善;,二者均能得到改善;4对于对于2,单个任务处理速度并不会加快,但是吞吐量提高,单个任务处理

8、速度并不会加快,但是吞吐量提高了,如果请求超出吞吐能力,请求将在系统中排队等待了,如果请求超出吞吐能力,请求将在系统中排队等待处理。处理。4在许多实际系统中,二者是相互影响的。在许多实际系统中,二者是相互影响的。ECE 313 Fall 2006Lecture 10 - Performance8/52Performance Outline4Motivation4Defining Performance 334Common Performance Metrics4Benchmarks4Amdahls LawECE 313 Fall 2006Lecture 10 - Performance9/52

9、测量执行时间测量执行时间4Wall-clock time or elapsed time:程序开始执行到退:程序开始执行到退出所花费的时间,响应时间出所花费的时间,响应时间4Includes I/O waiting4Includes time while OS runs other jobs4CPU time - measured by OS4用户用户CPU时间时间 运行用户程序代码所花费的时间运行用户程序代码所花费的时间4系统系统CPU时间时间 为了执行用户程序而不得不运行的为了执行用户程序而不得不运行的OS代码所花代码所花费的时间费的时间4Measuring CPU time: Unix/

10、Linux time command time myprog90.7u 12.9s 2:39 65% = (90.7+12.9)/159User TimeSystem Time Wall-clock TimeCPU UtilizationECE 313 Fall 2006Lecture 10 - Performance10/52用执行时间用执行时间Execution Time定义性能定义性能4For a given program on machine X:4Comparing performance of machines:PerformanceX PerformanceY ifExecut

11、ion TimeX tprop+ tsetuptclock = tprop+ tsetup + tslack时钟clock需要一个松弛时间tslackECE 313 Fall 2006Lecture 10 - Performance19/52每条指令的平均时钟周期数每条指令的平均时钟周期数 (CPI)4Clock Cycles per Instruction (CPI)4Consider the 68HC11 4ADDA - 3 cycles (IMM) - 5 cycles (IND, Y)4MUL - 10 cycles4IDIV - 41 cycles4More complex proc

12、essors have other issues4Pipelining - parallel execution, but 有时需要停止有时需要停止4Memory system issues: 缓存缺失缓存缺失, 缺页缺页, etc.4如何将这些组合为一个完整的度量指标?如何将这些组合为一个完整的度量指标?addldamulandstaTotal Execution TimeECE 313 Fall 2006Lecture 10 - Performance20/52Definition: Clock Cycles per Instruction (CPI)4Average number of

13、clock cycles per instruction,每,每条指令需要的平均时钟周期数条指令需要的平均时钟周期数4Measured for an entire program4 = 时钟周期数时钟周期数/指令数指令数CPI Average Cycles per Instruction = # of clock cycles# of instructionsECE 313 Fall 2006Lecture 10 - Performance21/52Example - CPI4What is the CPI of A?4What is the CPI of B?1.351010cycles2.

14、6 109instructions 5.2MachineClock CyclesInstructionsA1.35 X 10102.6 X 109B1.2 X 10103.0 X 1091.21010cycles3.0 109instructions 4.0ECE 313 Fall 2006Lecture 10 - Performance22/52Definition - MIPS4MIPS - millions of instructions per second,每秒执,每秒执行的百万条指令数行的百万条指令数4曾经被用于作为度量性能的一般指标曾经被用于作为度量性能的一般指标4But, no

15、t useful for comparing different architectures4经常被嘲笑为经常被嘲笑为“无意义的性能指示器无意义的性能指示器”(meaningless indicator of performance)MIPS# of instructions benchmark programbenchmark programexecution time1,000,000ECE 313 Fall 2006Lecture 10 - Performance23/52Example - MIPS4What is the MIPS of A?4What is the MIPS of

16、B?2.6 109instructions15 seconds1 MIPS106 IPS173.33 MIPSMachineExecution TimeInstructionsA15 seconds2.6 X 109B20 seconds3.0 X 109150 MIPS3.0 109instructions20 seconds1 MIPS106 IPSECE 313 Fall 2006Lecture 10 - Performance24/52Relating the Metrics - The Performance Equation CPU time = #instructionsprog

17、ramclock cyclesinstructionsecondsclock cycle 4The “Iron Law” of Performance4CPU时间时间=程序中的指令数程序中的指令数x每条指令所需的时钟周期数每条指令所需的时钟周期数x每个时钟周期对应的时间每个时钟周期对应的时间ECE 313 Fall 2006Lecture 10 - Performance25/52Clock Cycles and Performance Example-page1634Program runs on Computer A:4CPU Time: 10 seconds4Clock: 400MHz4

18、Computer B can run clock faster4But, requires 1.2X clock cycles to perform same task4Desired CPU Time: 6 Seconds4为了达到这个目标,时钟频率应该是多少?为了达到这个目标,时钟频率应该是多少?4Key to approach: Performance equation4时钟周期数时钟周期数=程序中的指令数程序中的指令数x每条指令的平均时钟周期数每条指令的平均时钟周期数 CPU time = clock cycles programsecondsclock cycleclock cycl

19、esclock frequencyECE 313 Fall 2006Lecture 10 - Performance26/52Clock Cycles and Performance - Example (contd)CPU TimeA=10 seconds = clock cyclesA400106cyclessecondclock cyclesA10 seconds400106cyclessecond 4000106cycles First step: find clock cycles executed by Computer Aclock cyclesB1.2clock cyclesA

20、 4800106cycles Second step: find clock cycles executed by Computer BECE 313 Fall 2006Lecture 10 - Performance27/52Clock Cycles and Performance - Example (contd)clock cyclesB1.2clock cyclesA 4800 106cycles Third step: given clock cycles and CPU time, solve for clock rate of Computer BCPU TimeB= 6 sec

21、onds = 4800106cyclesClock rateBClock rateB4800 106cycles6 seconds800MHzECE 313 Fall 2006Lecture 10 - Performance28/52Performance Tradeoffs4Program Instruction count - impacted by4可获得的完成基本功能的指令(与指令集结构有关)可获得的完成基本功能的指令(与指令集结构有关)4编译器生成的代码质量编译器生成的代码质量4CPI - impacted by4芯片实现方式芯片实现方式4编译器生成的代码质量编译器生成的代码质量4存

22、储系统的性能存储系统的性能4Clock Rate4IC技术中的延迟特性技术中的延迟特性 Delay characteristics of IC technology4实现的逻辑结构实现的逻辑结构 Logical structure of implementationECE 313 Fall 2006Lecture 10 - Performance29/52影响性能的因素影响性能的因素4计算机性能的基本要素及其含义、测量单位计算机性能的基本要素及其含义、测量单位4图图4-24程序性能取决于多个方面,包括算法、编程语言、编译程序性能取决于多个方面,包括算法、编程语言、编译器、程序结构、硬件情况等器

23、、程序结构、硬件情况等4Page165中的总结中的总结4Page165中例题说明:只使用单一因素衡量计算机性能中例题说明:只使用单一因素衡量计算机性能是不适合的是不适合的4Page161和和166中自测题中自测题ECE 313 Fall 2006Lecture 10 - Performance30/52Performance Outline4Motivation4Defining Performance4Common Performance Metrics4Benchmarks 334Amdahls LawECE 313 Fall 2006Lecture 10 - Performance31/

24、52Benchmarks - Programs to Evaluate Performance4The book defines performance in terms of a specific program(基准测试程序)(基准测试程序)4但是应该使用哪些程序作为基准测试程序呢?但是应该使用哪些程序作为基准测试程序呢?4理想地,实际使用的程序理想地,实际使用的程序 工程师使用的工程设计程序、科学计算程序工程师使用的工程设计程序、科学计算程序 软件开发者使用的编译器、文档处理系统软件开发者使用的编译器、文档处理系统4实际中很复杂,一些基准程序性能与某些很短的代码片段有关实际中很复杂,一些

25、基准程序性能与某些很短的代码片段有关 硬件设计人员、编译器开发者试图针对这个部分进行优化硬件设计人员、编译器开发者试图针对这个部分进行优化 为了编译使基准程序生成高度优化的代码,可能引入错误优化为了编译使基准程序生成高度优化的代码,可能引入错误优化4不同种类和应用的计算机需要不同的基准测试程序集不同种类和应用的计算机需要不同的基准测试程序集 台式机:台式机:CPU性能、图像回放;科学应用服务器:响应时间;性能、图像回放;科学应用服务器:响应时间;Web服务器等服务器等4Alternative - Benchmark Suites(套装套装)ECE 313 Fall 2006Lecture 10

26、 - Performance32/52Benchmark Suites4Use a collection of small programs4Summarize performance how?4Total Execution Time 全部执行时间全部执行时间4Arithmetic Mean 算术平均算术平均4Weighted Arithmetic Mean 加权算术平均加权算术平均4Geometric Mean 几何平均几何平均ECE 313 Fall 2006Lecture 10 - Performance33/52Total Execution Time4Suppose we have

27、 two benchmarks (Fig. 2.5)4How do we compare computers A and B?4A is 10 times faster than B for Program 14B is 10 times faster than A for Program 24Summarizing performance: total execution time4各项任务都比较平均,这种比较是合适的各项任务都比较平均,这种比较是合适的Computer AComputer BProgram 1 (seconds)110Program 2 (seconds)1000100To

28、tal time (seconds)1001110PerformanceBPerformanceAExecution timeAExecution timeB1001110 9.1ECE 313 Fall 2006Lecture 10 - Performance34/52Summarizing Performance 4Arithmetic Mean4Example:4Weighted Arithmetic Mean - use when some programs run more often than others4Example:4Program 1 is 80% of workload

29、4Program 2 is 20% of workloadAM 1nTimeii1nWAM WeightiTimeii1nAMA12(11000) 500.5AMB12(10100) 55WAMA 0.810.21000 200.8WAMB 0.810 0.2100 28ECE 313 Fall 2006Lecture 10 - Performance35/52The SPEC Benchmark Suite4System Performance Evaluation Corporation4由工作站的购买者资助,提供实际的、标准的性能测试由工作站的购买者资助,提供实际的、标准的性能测试4目标

30、:在实际系统之间进行公平比较目标:在实际系统之间进行公平比较4Multiple versions - most recent is SPEC20064Basic approach4测量几个小程序的执行时间测量几个小程序的执行时间4将每个归一化为相对某个参考机器的性能将每个归一化为相对某个参考机器的性能4使用几何平均比较性能使用几何平均比较性能GM Exec. Time Ratioi1nnExec. Time Ratio Exec. TimerefExec. TimetestECE 313 Fall 2006Lecture 10 - Performance36/52More about SPEC

31、4Separate integer & floating point suites4SPECint - integer performance4SPECfp - floating point performance4Several Versions4SPEC89 - initial version4SPEC954SPEC CPU 2000 - CINT 2000 CFP 2000ECE 313 Fall 2006Lecture 10 - Performance37/52Some Not-so-Recent SPEC DataProcessorClockSPECint95SPECfp95

32、Intel Pentium II266 MHz9.56.4Intel Pentium III734 MHz35.630.4AMD Athlon K7800 MHz35.026.1Motorola PPC G4450 MHz21.420.4Sun Sparc Ultra III600 MHz3560Compaq Alpha 21264667 MHz4466Source: Berkeley CPU Information Center4Some SPEC95 numbers:4SPEC2000 Results4- see ECE 313 Fall 2006Lec

33、ture 10 - Performance38/52SPEC CINT2000 Benchmarks4 CINT2000 (Integer Component of SPEC CPU2000):4 整数基准测试整数基准测试BenchmarkLang.Category164.gzipCCompression压缩175.vprCFPGA 电路布局和连线176.gccCC Programming Language Compiler181.mcfCCombinatorial Optimization组合优化186.craftyCGame Playing: Chess国际象棋程序197.parserCW

34、ord Processing252.eonC+Computer Visualization253.perlbmkCPERL Programming Language254.gapCGroup Theory, Interpreter群论,解释器255.vortexCObject-oriented Database256.bzip2CCompression压缩程序300.twolfCPlace and Route SimulatorECE 313 Fall 2006Lecture 10 - Performance39/52SPEC CFP2000 Benchmarks4 CFP2000 (Floa

35、ting Point Component of SPEC CPU2000):4 浮点基准测试浮点基准测试BenchmarkLanguageCategory168.wupwiseFortran 77Physics / Quantum Chromodynamics171.swimFortran 77Shallow Water Modeling172.mgridFortran 77Multi-grid Solver: 3D Potential Field173.appluFortran 77Parabolic / Elliptic Partial Diff. Equations 177.mesaC3

36、-D Graphics Library178.galgelFortran 90Computational Fluid Dynamics179.artCImage Recognition / Neural Networks183.equakeCSeismic Wave Propagation Simulation187.facerecFortran 90Image Processing: Face Recognition188.ammpCComputational Chemistry189.lucasFortran 90Number Theory / Primality Testing191.f

37、ma3dFortran 90Finite-element Crash Simulation200.sixtrackFortran 77High Energy Nuclear Physics Accelerator Design301.apsi Fortran 77Meteorology: Pollutant DistributionECE 313 Fall 2006Lecture 10 - Performance40/52Some Other SPEC2000 Benchmarks4SPECapc - application specific (e.g. PROEngineer)4SPECvi

38、ewperf - 3D rendering under OpenGL4SPEC HPC - high performance computing4SPEC OMP - multiprocessor systems4SPEC JVM - Java virtual machine4SPEC Web - Web servicesECE 313 Fall 2006Lecture 10 - Performance41/52SPEC Web - Web services41996年出现,用于对年出现,用于对Web服务器性能测试;服务器性能测试;41999年出新的版本年出新的版本SPECweb994更关注吞

39、吐量的大小,更关注吞吐量的大小,Web服务器所支持的最大连接数服务器所支持的最大连接数4多用于多处理器系统多用于多处理器系统4提供一个程序用于产生提供一个程序用于产生Web服务器请求,服务器请求,Web服务器软件也作服务器软件也作为系统一部分进行测试为系统一部分进行测试4测试结果依赖于系统的整体,包括硬件系统、网络情况等测试结果依赖于系统的整体,包括硬件系统、网络情况等4例如:图例如:图4-7中结果表明时钟频率不是中结果表明时钟频率不是web服务器性能的主要决服务器性能的主要决定因素(定因素(p173)4更希望看到各位在以后开发或设计相关更希望看到各位在以后开发或设计相关Web系统时,能系统时

40、,能够回想起曾经学过的这个部分!够回想起曾经学过的这个部分!ECE 313 Fall 2006Lecture 10 - Performance42/52性能、功耗和能量效率性能、功耗和能量效率4功耗已经称为处理器性能的主要限制因素功耗已经称为处理器性能的主要限制因素4如:能耗对于笔记本电脑的作用如:能耗对于笔记本电脑的作用4电池容量的增大取决于新材料的改进,因此,处理器的电池容量的增大取决于新材料的改进,因此,处理器的有效操作和对电能的节约就至关重要了有效操作和对电能的节约就至关重要了4以至于以至于Intel专门设计了一款处理器专门设计了一款处理器-Pentium M系列系列4笔记本电脑的处理

41、器都有自动调整频率从而减少能耗的笔记本电脑的处理器都有自动调整频率从而减少能耗的功能,当然性能也会有所降低功能,当然性能也会有所降低4Pentium M的三种工作模式:最大时钟频率、减小的时的三种工作模式:最大时钟频率、减小的时钟频率、界于二者之间的优化(性能钟频率、界于二者之间的优化(性能-电池比最佳)电池比最佳)ECE 313 Fall 2006Lecture 10 - Performance43/52三种三种Intel处理器在三种不同模式下的处理器在三种不同模式下的SPECint2000和和SPECfp2000的相对性能的相对性能ECE 313 Fall 2006Lecture 10 - Performance44/52三种移动三种移动Pentium处理器在三种模式下运行处理器在三种模式下运行SPEC2000的相对能量效率的相对能量效率ECE 313 Fall 2006Lecture 10 - Performance45/52ECE 313 Fall 2006Lecture 10 - Performance46

温馨提示

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

评论

0/150

提交评论