北大高体高等计算机体系结构-课件-lect4

上传人:ji****n 文档编号:47768889 上传时间:2018-07-04 格式:PDF 页数:80 大小:1.64MB
返回 下载 相关 举报
北大高体高等计算机体系结构-课件-lect4_第1页
第1页 / 共80页
北大高体高等计算机体系结构-课件-lect4_第2页
第2页 / 共80页
北大高体高等计算机体系结构-课件-lect4_第3页
第3页 / 共80页
北大高体高等计算机体系结构-课件-lect4_第4页
第4页 / 共80页
北大高体高等计算机体系结构-课件-lect4_第5页
第5页 / 共80页
点击查看更多>>
资源描述

《北大高体高等计算机体系结构-课件-lect4》由会员分享,可在线阅读,更多相关《北大高体高等计算机体系结构-课件-lect4(80页珍藏版)》请在金锄头文库上搜索。

1、高等计算机体系结构高等计算机体系结构高等计算机体系结构高等计算机体系结构 (Advanced Computer ArchitectureAdvanced Computer ArchitectureAdvanced Computer ArchitectureAdvanced Computer Architecture)第四讲第四讲第四讲第四讲 计算机性能评测计算机性能评测计算机性能评测计算机性能评测 (P P P Performance Evaluationerformance Evaluationerformance Evaluationerformance Evaluation)李险峰 ()

2、 北京大学深圳研究生院2 2 2 2性能(性能(性能(性能(performanceperformanceperformanceperformance)哪一个性能更高?哪一个性能更高?哪一个性能更高?哪一个性能更高?3 3 3 3响应时间响应时间响应时间响应时间 vs vs vs vs 吞吐率吞吐率吞吐率吞吐率响应时间(response time) 任务完成的时间,又称为执行时间(execution time),延迟 (latency)吞吐率(throughput) 单位时间内完成的任务数量,有些情况下又叫带宽(bandwidth)如果我们为一个计算机系统 1. 升级到更快的处理器 2. 增加处

3、理器数量对系统响应时间和吞吐率分别有何影响?4 4 4 4性能定义(性能定义(性能定义(性能定义(PerformancePerformancePerformancePerformance)在我们讨论单个处理器性能的时候,我们通常关心的是其 执行时间(在涉及I/O设备或多处理器系统时,我们更关心 吞吐率)因此,对一个计算机设计X,此处其性能定义为: Performance(X) = 1 / Execution time(X)X比Y快n倍,意味着: Performance(X) / Performance(Y) = nX的执行时间是Y的1/n5 5 5 5执行时间执行时间执行时间执行时间总耗时(E

4、lapsed Time,Wall-clock Time) 从程序开始执行到结束的总时间(包括内存和磁盘访问时间,等待 I/O时间,OS开销、以及切换到其它程序执行的时间) 反映了用户的直接和最终体验CPU时间(CPU Time) CPU耗费在该程序执行上的时间(不包括等待I/O和其它程序执行的 时间) 可进一步分为用户CPU时间(user CPU time)和系统CPU时间 (system CPU time,主要是OS 系统调用)CPU时间 = 用户CPU时间 + 系统CPU时间 总耗时 = 用户CPU时间 + 系统CPU时间 + 等待时间6 6 6 6执行时间的评估与比较执行时间的评估与比较

5、执行时间的评估与比较执行时间的评估与比较根据目标对象的不同,我们会关注不同的执行时间 部分 对应用程序设计者,往往关注用户CPU时间 对CPU设计者,往往关注应用程序整体CPU时间 对操作系统或整个计算机系统设计者,往往关注总耗时有些时候,我们可能只关心两个计算机系统或应用 程序的相对性能,如何比较? 以用户CPU时间为例,如何比较两个应用程序?7 7 7 7时钟周期数(时钟周期数(时钟周期数(时钟周期数(Clock CyclesClock CyclesClock CyclesClock Cycles) 我们常常以时钟周期数、而不是以秒为单位来统计执行时间,因为现 代计算机都是以时钟为驱动的同

6、步电路,任何事件或操作,都是经若 干时钟周期完成的。只要知道了程序执行的时钟周期数,很容易换算 为真实执行时间 时钟节拍(clock ticks):对应一个时钟信号的起始和结束 时钟周期 (cycle time) = time between ticks = seconds per cycle 时钟频率(clock rate/frequency)= cycles per second (1Hz = 1 cycle/sec, 1MHz = 106 cycles/sec 例: A 200 Mhz. clock has a cycle time seconds program=cycles prog

7、ramseconds cycletimetimetimetimecyclecyclecyclecycleticktickticktickticktickticktick1200 106 109= 5 nanoseconds8 8 8 8性能公式(性能公式(性能公式(性能公式(I I I I)因此,为提高性能,我们可以采取的方法可以包括: 减少程序执行的时钟周期数, 降低时钟周期(提高时钟频率)seconds program=cycles programseconds cycle等价于等价于等价于等价于CPU execution time for a program= = = =CPU cloc

8、k cycles for a program Clock cycle time9 9 9 9一个程序执行多少时钟周期?一个程序执行多少时钟周期?一个程序执行多少时钟周期?一个程序执行多少时钟周期?是否可以假设#of cycles = #of instructions?但这个假设通常是不正确的! 不同的指令执行周期数不一样1st instr2nd instr3rd instr4th5th6th.10101010一个程序执行多少时钟周期?一个程序执行多少时钟周期?一个程序执行多少时钟周期?一个程序执行多少时钟周期?乘法指令比加法需要更多的时钟周期 浮点运算比对应的整点计算需要更多时钟周期 访问内存

9、数据比访问寄存器需要更多时钟周期 更复杂的情况。改变处理器时钟周期?通常执行指令的时钟周期数也会发 生变化,因为这意味着要改变硬件设计。11111111例子例子例子例子一个程序P在computer A上执行需要10秒通过设计优化得到的computer B,使程序P的执 行时间缩短到6秒设计者可以采用新技术来设计computer B,大大 提升时钟频率,但该技术需要对CPU某些部分的设 计进行更改,造成程序P在computer B上的执行的 时钟周期数是在computer A上的1.2倍。12121212术语术语术语术语一个程序的执行需要 执行一些指令 执行一些周期 执行一段时间(秒)与此有关的

10、术语 MIPS(millions of instructions per second) cycle time (seconds per cycle) clock rate (cycles per second) CPI (cycles per instruction)13131313性能测量性能测量性能测量性能测量性能由执行时间决定下面这些指标是否与性能等价? # of cycles to execute program # of instructions in program # of cycles per second average # of cycles per instructio

11、n average # of instructions per second常见谬误:将以上某一个视为衡量性能的等价指标14141414性能公式(性能公式(性能公式(性能公式(II II II II)CPU execution time for a program= = = =CPU clock cycles for a program Clock cycle timeCPU execution time for a program= = = =Instruction count for a program avg CPI Clock cycle time ( ET = IC ( ET = I

12、C ( ET = IC ( ET = IC CPI CPI CPI CPI CT ) CT ) CT ) CT )15151515CPUCPUCPUCPU性能的几个方面性能的几个方面性能的几个方面性能的几个方面CPU execution time for a program= = = =Instruction count for a program avg CPI Clock cycle time (x)xxISAxx编译器x工艺技术xx设计实现x程序16161616CPICPICPICPI指令总数时钟周期数 指令总数时钟频率时间=CPUCPIj 1jICPI = =njCPU时钟周期时间时间

13、指令总数其中j jj 1jIFFCPI= =njCPI17171717示例:示例:示例:示例:TinyMIPSTinyMIPSTinyMIPSTinyMIPS7.4%0.45315%Branch0.151.12.42CPIj * Fj39.3%1220%Load32.8%450%ALU2.5%35%Jump18%1110%Store%时间周期频度指令6.16.16.16.1典型指令频度典型指令频度典型指令频度典型指令频度18181818CPICPICPICPI例一例一例一例一对于一套指令系统ISA的两种具体实现,它们在执 行某一程序P时: 处理器A的时钟周期为10ns,CPI为2.0 处理器B

14、的时钟周期为20ns,CPI为1.2对P来说,哪一种实现更快,快多少?对于同一ISA的两款处理器实现来说,前面介绍的 指标(时钟频率、CPI、执行时间、# of instr, MIPS)中,哪些总是相同的?19191919答案答案答案答案 CPU clock cycle(A) = I * 2.0 CPU clock cycle(B) = I * 1.2 CPU time(A) = CPU clock cycle(A) * clock cycle time(A) = I * 2.0 * 10ns = 20ns * I CPU time(B) = I * 1.2 * 20ns = 24ns * I

15、 Performance(A) / Performance(B) = Execution time(B) / Execution time(A) = (24ns * I) / (20ns * I) = 1.2 因此,对程序P来说,处理器A是处理器B性能的1.2倍20202020CPICPICPICPI例二例二例二例二编译器设计人员针对某一计算机进行编译优化,其 中某一高级程序语言行(basic block)有两种不 同的指令序列实现方式 指令序列一(5条指令):2条A指令,1条B指令,2条C 指令 指令序列二(6条指令):4条A指令,1条B指令,1条C 指令其中A、B、C分别需要1、2、3个时钟周期执行哪一个序列执行更快?快多少?两个指令序列对应 的平均CPI分别是多少?21212121Hardware Independent Metrics Hardware Independent Metrics Hardware Independent Metrics Hardware Independent Metrics Predict PerformancePredict PerformancePredict Performa

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号