第一章计算机体系结构的基本概念

上传人:痛*** 文档编号:186857049 上传时间:2023-02-09 格式:PPT 页数:115 大小:826.53KB
返回 下载 相关 举报
第一章计算机体系结构的基本概念_第1页
第1页 / 共115页
第一章计算机体系结构的基本概念_第2页
第2页 / 共115页
第一章计算机体系结构的基本概念_第3页
第3页 / 共115页
点击查看更多>>
资源描述
第一章第一章计算机体系结构的基本概念计算机体系结构的基本概念Computer Architecture1.第一台通用电子计算机诞生于第一台通用电子计算机诞生于1946年年 18000个电子真空管个电子真空管 33万亿个晶体管万亿个晶体管 (18亿倍亿倍)800字节存储容量字节存储容量 4万亿字节万亿字节 (50亿倍亿倍)运算速度运算速度5000次次/秒秒 12.5万亿次万亿次/秒秒 (25亿倍亿倍)2.经历了经历了4个发展过程个发展过程 1.1 1.1 引论引论Computer Architecture1.1 1.1 引论引论时时 间间原原 因因每年的性能每年的性能增长增长1946年起的年起的25年年 制造技术和体系结构的发制造技术和体系结构的发展展 25%20世纪世纪70年代年代末末80年代初年代初 大规模集成电路和微处理大规模集成电路和微处理器出现器出现,以集成电路为代表以集成电路为代表的制造技术的发展的制造技术的发展 约约35%20世纪世纪80年代年代中开始中开始 RISC结构的出现,系统结结构的出现,系统结构不断更新和变革,制造构不断更新和变革,制造技术不断发展技术不断发展50%以上以上维持了约维持了约16年年 2002年以来年以来 更大规模集成电路技术的更大规模集成电路技术的发展为体系结构的发展尤发展为体系结构的发展尤其是并行化技术的发展提其是并行化技术的发展提供了空间供了空间约约20%Computer Architecture4推动性能提高的主要因素:推动性能提高的主要因素:1)更高的主频更高的主频 器件工艺的进步器件工艺的进步(Natural frequency growth)更深的流水线更深的流水线2)开发各个层次的并行性开发各个层次的并行性 指令级并行性指令级并行性 线程线程/进程级并行性进程级并行性 数据级并行性数据级并行性3)减少内存延迟减少内存延迟 大容量、高性能的片上多级大容量、高性能的片上多级Cache 及更成熟的先行控制、指令预取等技术及更成熟的先行控制、指令预取等技术指令的深度流水线指令的深度流水线乱序执行乱序执行超标量处理机超标量处理机分支预测及前瞻执行分支预测及前瞻执行1.1 1.1 引论引论Computer Architecture 计算机技术的飞速发展得益于计算机技术的飞速发展得益于:计算机制造技术的发展计算机制造技术的发展 计算机系统结构的创新计算机系统结构的创新1.1 1.1 引论引论Computer Architecture进一步发展面临的问题进一步发展面临的问题 主频主频指令级并行性指令级并行性 内存访问速度的内存访问速度的功耗问题功耗问题1.1 1.1 引论引论Computer Architecture7微处理机的发展轨迹遵从摩尔定理:微处理机的发展轨迹遵从摩尔定理:Moores law:The number of transistors that can be placed inexpensively on an integrated circuit doubles approximately every two years.This trend has continued for more than half a century and is expected to continue until at least 2015 or 20201.1 1.1 引论引论Computer Architecture8晶体管尺寸的减小晶体管尺寸的减小速度的提高速度的提高连线尺寸的缩小连线尺寸的缩小传输距离传输距离缩小缩小更少的电更少的电荷能驱动荷能驱动从性能的角度来看:从性能的角度来看:.1.1 1.1 引论引论Computer Architecture9摩尔定律有三种解释摩尔定律有三种解释:一种是集成电路芯片上所集成的电路的数目,每一种是集成电路芯片上所集成的电路的数目,每隔隔18个月就翻一番;个月就翻一番;第二种是微处理器的性能每隔第二种是微处理器的性能每隔18个月提高一倍,个月提高一倍,而价格下降一半;而价格下降一半;第三种解释是用一个美元所能买到的电脑性能,第三种解释是用一个美元所能买到的电脑性能,每隔每隔18个月翻两番。个月翻两番。1.1 1.1 引论引论Computer Architecture101)功耗问题功耗问题:晶体管尺寸的减小晶体管尺寸的减小速度的提高速度的提高数量的增加数量的增加电压的降低电压的降低线间距的缩小线间距的缩小功耗增加功耗增加功耗降低功耗降低连线尺寸的缩小连线尺寸的缩小电阻的增加电阻的增加功耗增加功耗增加漏电流的增加漏电流的增加可靠性下降可靠性下降功耗增加功耗增加功耗增加,功耗增加,Pentium 4 达到达到100w,平均平均0.5w/mm2功耗增加功耗增加1.1 1.1 引论引论Computer Architecture11Max Power(Watts)i386 i486 Pentium Pentium w/MMX tech.1101001.5m1.5m1m1m0.8m0.8m0.6m0.6m0.35m0.35m0.25m0.25m0.18m0.18m0.13m0.13m Pentium Pro Pentium II Pentium III 1.1 1.1 引论引论Computer Architecture12应用中可利用的应用中可利用的ILP在在4 10 之间之间,目目前可达到的前可达到的ILP在在4 8 之间之间 进一步发展的空间并不是很大进一步发展的空间并不是很大1)2)实现过于复杂可能反而造成性能下降实现过于复杂可能反而造成性能下降2)ILP(指令级并行指令级并行)问题问题:1.1 1.1 引论引论Computer Architecture1.1 1.1 引论引论包含上亿个晶体管包含上亿个晶体管芯片复杂性芯片复杂性的不断提高的不断提高正确性验证非常困难正确性验证非常困难+体系结构的不断复杂化体系结构的不断复杂化研发、生产的成本不断提高研发、生产的成本不断提高3)复杂性问题复杂性问题:Computer Architecture14 主频:主频:不可能无限提高不可能无限提高 散热:散热:主频每增加主频每增加1G,功耗将上升,功耗将上升25瓦,而在芯瓦,而在芯片功耗超过片功耗超过150瓦后,现有的风冷散热系统将无法满瓦后,现有的风冷散热系统将无法满足散热的需要足散热的需要 复杂度复杂度:英特尔的奔腾:英特尔的奔腾(Pentium)四至尊版四至尊版840处理处理器,晶体管数量已经增加至器,晶体管数量已经增加至2.5亿个亿个 有效性:有效性:不到不到6%的晶体管用于计算的晶体管用于计算总结总结Computer Architecture 1.2.1 计算机系统中的层次概念计算机系统中的层次概念1.计算机系统是计算机系统是软件硬件软件硬件/固件固件2.计算机语言由低级向高级发展。计算机语言由低级向高级发展。高一级语言的语句相对于低级语言功高一级语言的语句相对于低级语言功能更强,更便于应用,但又都以低级语言能更强,更便于应用,但又都以低级语言为基础。为基础。3.从计算机语言的角度,把计算机系统按功从计算机语言的角度,把计算机系统按功能划分成能划分成多级层次结构多级层次结构。1.2 1.2 计算机体系结构的概念计算机体系结构的概念Computer Architecture 第第 6 级级:应应 用用 语语 言言 虚虚 拟拟 机机 第第 5 级级:高高 级级 语语 言言 虚虚 拟拟 机机 第第 4 级级:汇汇 编编 语语 言言 虚虚 拟拟 机机 第第 3 3 级级:操操 作作 系系 统统 虚虚 拟拟 机机 第第 2 2 级级:机机 器器 语语 言言(传传 统统 机机 器器 级级)第第 1 1 级级:微微 程程 序序 机机 器器 级级 1.2 1.2 计算机体系结构的概念计算机体系结构的概念Computer Architecture(1)虚拟机:虚拟机:由软件实现的机器由软件实现的机器。(2)语言实现的两种基本技术语言实现的两种基本技术 翻译:翻译:先把先把N+1级程序全部变换成级程序全部变换成N级程序后,级程序后,再去执行新产生的再去执行新产生的N级程序,在执行过程中级程序,在执行过程中N+1 级程序不再被访问。级程序不再被访问。解释:解释:每当一条每当一条N+1级指令被译码后,就直接级指令被译码后,就直接 去执行一串等效的去执行一串等效的N级指令,然后再去取下一级指令,然后再去取下一 条条N+1级的指令,依此重复进行。级的指令,依此重复进行。解释执行比翻译花的时间多,但存储空间占用较少。解释执行比翻译花的时间多,但存储空间占用较少。1.2 1.2 计算机体系结构的概念计算机体系结构的概念Computer Architecture1.2.2 计算机体系结构的定义计算机体系结构的定义1.计算机体系结构:计算机体系结构:程序员所看到的计算机的属性,程序员所看到的计算机的属性,即即概念性结构概念性结构与与功能特性功能特性。2.按照计算机系统的多级层次结构,不同级程序按照计算机系统的多级层次结构,不同级程序 员所看到的计算机具有不同的属性。员所看到的计算机具有不同的属性。如低级语言程序员所看到的许多计算属性对高级语如低级语言程序员所看到的许多计算属性对高级语 言程序员透明言程序员透明透明性:透明性:在计算机技术中,对这种本来是存在的事物在计算机技术中,对这种本来是存在的事物或属性,但从某种角度看又好象不存在。或属性,但从某种角度看又好象不存在。1.2 1.2 计算机体系结构的概念计算机体系结构的概念Computer Architecture3.Amdahl 提出的体系结构:提出的体系结构:传统机器级的体系结构传统机器级的体系结构 即一般所说的机器语言程序员所看到的传统机器级即一般所说的机器语言程序员所看到的传统机器级所具有的属性。所具有的属性。5.对于通用寄存器型机器,这些属性主要是指:对于通用寄存器型机器,这些属性主要是指:指令系统指令系统 包括机器指令的操作类型和格式、指令间的包括机器指令的操作类型和格式、指令间的排序和控制机构等。排序和控制机构等。数据表示数据表示 硬件能直接识别和处理的数据类型。硬件能直接识别和处理的数据类型。寻址规则寻址规则 包括最小寻址单元、寻址方式及其表示。包括最小寻址单元、寻址方式及其表示。1.2 1.2 计算机体系结构的概念计算机体系结构的概念Computer Architecture 寄存器定义寄存器定义(包括各种寄存器的定义、数量和使用方式)(包括各种寄存器的定义、数量和使用方式)中断系统中断系统(中断的类型和中断响应硬件的功能等)(中断的类型和中断响应硬件的功能等)机器工作状态的定义和切换机器工作状态的定义和切换(如管态和目态等)(如管态和目态等)存储系统存储系统(主存容量、程序员可用的最大存储容量等)(主存容量、程序员可用的最大存储容量等)信息保护信息保护(包括信息保护方式和硬件对信息保护的支(包括信息保护方式和硬件对信息保护的支持)持)1.2 1.2 计算机体系结构的概念计算机体系结构的概念Computer Architecture I/O结构结构包括包括I/O连结方式、处理机连结方式、处理机/存储器与存储器与I/O设备之设备之间数据传送的方式和格式以及间数据传送的方式和格式以及I/O操作的状态等操作的状态等经典计算机体系结构概念的实质:经典计算机体系结构概念的实质:计算机系统中软硬件界面的确定,其界面之上计算机系统中软硬件界面的确定,其界面之上的是软件的功能,界面之下的是硬件和固件的功能。的是软件的功能,界面之下的是硬件和固件的功能。1.2 1.2 计算机体系结构的概念计算机体系结构的概念Computer Architecture1.2.3 计算机组成和计算机实现技术计算机组成和计算机实现技术1.计算机组成:计算机组成:计算机体系结构的逻辑实现。计算机体系结构的逻辑实现。2.计算机实现:计算机实现:计算机组成的物理实现。计算机组成的物理实现。计算机组成包括的内容可以有:计算机组成包括的内容可以有:处理机、主存等部件的逻辑结构,机器级内数据流和处理机、主存等部件的逻辑结构,机器级内数据流和控制流的组成、各部件的功能以及之间的联系等控制流的组成、各部件的功能以及之间的联系等。计算机实现包括的内容可以有:计算机实现包括的内容可以有:处理机、主存等部件的物理结构,包括器件的集成度处理机、主存等部件的物理结构,包括器件的集成度和速度的确定,器件、模块、插件、底板的划分与连和速度的确定,器件、模块、插件、底板的划分与连接,组装装配技术及信号连接、电源、冷却方法等。接,组装装配技术及信号连接、电源、冷却方法等。1.2 1.2 计算机体系结构的概念计算机体系结构的概念Computer Architecture体系结构与组成、实现之间的关系为:体系结构与组成、实现之间的关系为:体系结构是组成的抽象,组成是实现的抽象体系结构是组成的抽象,组成是实现的抽象一种体系结构可以有多种组成。一种体系结构可以有多种组成。一种组成可以有多种物理实现。一种组成可以有多种物理实现。广义的计算机体系结构概念包括体系结构的外部特性广义的计算机体系结构概念包括体系结构的外部特性和内部特性:和内部特性:1)计算机体系结构外部特性计算机体系结构外部特性-计算机体系结构的经典计算机体系结构的经典定义定义2)计算机体系结构内部特性计算机体系结构内部特性-计算机组成与实现中一计算机组成与实现中一些比较抽象的内容些比较抽象的内容(微体系结构)(微体系结构)1.2 1.2 计算机体系结构的概念计算机体系结构的概念Computer Architecture系列机系列机在一个厂家内生产的具有相同的体系结构在一个厂家内生产的具有相同的体系结构(经典定经典定义义),但具有不同组成和实现的一系列不同型号的机,但具有不同组成和实现的一系列不同型号的机器。器。如如 IBM 370系列有系列有370/115、125、135、145、158、168等一系列从低速到高速的各种型号等一系列从低速到高速的各种型号。相同点:相同点:程序员所看到的概念性结构和功能属性程序员所看到的概念性结构和功能属性 指令系统一致指令系统一致不同点:不同点:组成和实现技术组成和实现技术 速度特性不一样速度特性不一样 1.2 1.2 计算机体系结构的概念计算机体系结构的概念Computer Architecture1.2 1.2 计算机体系结构的概念计算机体系结构的概念1.2.4 计算机系统结构的分类计算机系统结构的分类常见的计算机系统结构分类法有两种:常见的计算机系统结构分类法有两种:Flynn分类法、冯氏分类法分类法、冯氏分类法Computer Architecture1.2 1.2 计算机体系结构的概念计算机体系结构的概念冯氏分类法冯氏分类法 用系统的最大并行度对计算机进行分类。用系统的最大并行度对计算机进行分类。最大并行度:最大并行度:计算机系统在单位时间内能够处理计算机系统在单位时间内能够处理的最大的二进制位数。的最大的二进制位数。用平面直角坐标系中的一个点代表一个计算用平面直角坐标系中的一个点代表一个计算机系统,其横坐标表示字宽(机系统,其横坐标表示字宽(n位位),纵坐标),纵坐标表示一次能同时处理的字数(表示一次能同时处理的字数(m字字)。)。mn就表示了其最大并行度。就表示了其最大并行度。Flynn分类法分类法 按照指令流和数据流的多倍性进行分类。按照指令流和数据流的多倍性进行分类。指令流:指令流:计算机执行的指令序列。计算机执行的指令序列。Computer Architecture1.2 1.2 计算机体系结构的概念计算机体系结构的概念 数据流:数据流:由指令流调用的数据序列。由指令流调用的数据序列。多倍性:多倍性:在系统受限的部件上,同时处于在系统受限的部件上,同时处于同一执行阶段的指令或数据的最大数目。同一执行阶段的指令或数据的最大数目。Flynn分类法把计算机系统的结构分为分类法把计算机系统的结构分为4类:类:单指令流单数据流单指令流单数据流(SISD)单指令流多数据流单指令流多数据流(SIMD)多指令流单数据流多指令流单数据流(MISD)多指令流多数据流多指令流多数据流(MIMD)4类计算机的基本结构类计算机的基本结构IS:指令流,:指令流,DS:数据流,:数据流,CS:控制流,:控制流,CU:控制部件,:控制部件,PU:处理部件,:处理部件,MM和和SM:存储器。:存储器。CUPUMMISCSPU1PU2PUnPU1PU2PUnCU1CU2CUnCS1CS2CSnPU1PU2PUnCU1CU2CUnCS1CS2CSnMM1MM2MMmDSIS1IS2ISnSMDS(c)MISD 计计算算机机 DS1DS2DSnMM1MM2MMmSMIS1IS2ISn(d)MIMD 计计算算机机(a)SISD 计计算算机机 MM1MM2MMmSMCUDS1DS2DSnIS(b)SIMD 计计算算机机 CSDSComputer Architecture1.3 1.3 定量分析技术定量分析技术4个定量原理:个定量原理:以经常性事件为重点以经常性事件为重点 对经常发生的情况采用优化方法的原则进对经常发生的情况采用优化方法的原则进行选择,以得到更多的总体上的改进。行选择,以得到更多的总体上的改进。优化优化是指分配更多的资源、达到更高的性是指分配更多的资源、达到更高的性能或者分配更多的电能等。能或者分配更多的电能等。1.3.1 计算机系统设计的定量原理计算机系统设计的定量原理Computer Architecture1.3 1.3 定量分析技术定量分析技术Amdahl定律定律 加快某部件执行速度所能获得的系统性加快某部件执行速度所能获得的系统性能加速比,受限于该部件的执行时间占系统能加速比,受限于该部件的执行时间占系统中总执行时间的百分比。中总执行时间的百分比。系统性能加速比:系统性能加速比:加速比加速比系统性能系统性能改进后改进后系统性能系统性能改进前改进前总执行时间总执行时间改进前改进前总执行时间总执行时间改进后改进后 Computer Architecture1.3 1.3 定量分析技术定量分析技术 加速比依赖于两个因素加速比依赖于两个因素可改进比例:可改进比例:在改进前的系统中,可改进在改进前的系统中,可改进部分的执行时间在总的执行时间中所占的部分的执行时间在总的执行时间中所占的比例。它总是小于等于比例。它总是小于等于1 1。例如:例如:一个需运行一个需运行6060秒的程序中有秒的程序中有2020秒的运算可以加秒的运算可以加速,那么这个比例就是速,那么这个比例就是20/6020/60。部件加速比:部件加速比:可改进部分改进以后性能提可改进部分改进以后性能提高的倍数。它是改进前所需的执行时间与高的倍数。它是改进前所需的执行时间与改进后执行时间的比。一般情况下部件加改进后执行时间的比。一般情况下部件加速比是大于速比是大于 1 1 的。的。例如:例如:若系统改进后,可改进部分的执行时间是若系统改进后,可改进部分的执行时间是2 2秒,秒,而改进前其执行时间为而改进前其执行时间为5 5秒,则部件加速比为秒,则部件加速比为5/25/2。Computer Architecture1.3 1.3 定量分析技术定量分析技术 改进后程序的总执行时间改进后程序的总执行时间总执行时间总执行时间改进后改进后 不可改进部分的执行时间不可改进部分的执行时间 可改进部分改进后的执行时间可改进部分改进后的执行时间总执行时间总执行时间改进后改进后 (1可改进比例可改进比例)总执行时间总执行时间改进前改进前 +(1 可改进比例可改进比例)+总执行时间总执行时间改进前改进前 可改进比例可改进比例部件加速比部件加速比可改进比例可改进比例总执行时间总执行时间改进前改进前部件加速比部件加速比Computer Architecture1.3 1.3 定量分析技术定量分析技术系统加速比系统加速比为改进前与改进后总执行时间之比为改进前与改进后总执行时间之比加速比加速比 总执行时间总执行时间改进前改进前总执行时间总执行时间改进后改进后(1可改进比例)可改进比例)+可改进比例可改进比例部件加速比部件加速比1Computer Architecture1.3 1.3 定量分析技术定量分析技术 例例1.1 将计算机系统中某一功能的处理速度提高将计算机系统中某一功能的处理速度提高到原来的到原来的20倍,但该功能的处理时间仅占整个系统倍,但该功能的处理时间仅占整个系统运行时间的运行时间的40%,则采用此提高性能的方法后,能,则采用此提高性能的方法后,能使整个系统的性能提高多少?使整个系统的性能提高多少?Computer Architecture1.3 1.3 定量分析技术定量分析技术解解 可改进比例可改进比例=40%=0.4,部件加速比部件加速比=20 根据根据Amdahl定律可知:定律可知:采用此提高性能的方法后,能使整个系统的采用此提高性能的方法后,能使整个系统的性能提高到原来的性能提高到原来的1.613倍倍。总加速比总加速比=10.6+0.420=1.613Computer Architecture1.3 1.3 定量分析技术定量分析技术 例例1.2 某计算机系统采用浮点运算部件后,使浮某计算机系统采用浮点运算部件后,使浮点运算速度提高到原来的点运算速度提高到原来的20倍,而系统运行某一倍,而系统运行某一程序的整体性能提高到原来的程序的整体性能提高到原来的5倍,试计算该程序倍,试计算该程序中浮点操作所占的比例。中浮点操作所占的比例。Computer Architecture1.3 1.3 定量分析技术定量分析技术解解 部件加速比部件加速比=20,系统加速比,系统加速比=5 根据根据Amdahl定律可知定律可知 由此可得:可改进比例由此可得:可改进比例=84.2%即程序中浮点操作所占的比例为即程序中浮点操作所占的比例为84.2%。15120进进可可 改改比比 例例可可 改改比比 例例Computer Architecture1.3 1.3 定量分析技术定量分析技术 Amdahl定律:定律:一种性能改进的递减规则一种性能改进的递减规则如果仅仅对计算任务中的一部分做性能改如果仅仅对计算任务中的一部分做性能改进,则改进得越多,所得到的总体性能的进,则改进得越多,所得到的总体性能的提升就越有限。提升就越有限。重要推论:重要推论:如果只针对整个任务的一部分进行如果只针对整个任务的一部分进行改进和优化,那么所获得的加速比不超过改进和优化,那么所获得的加速比不超过 1/(1可改进比例)可改进比例)Computer Architecture1.3 1.3 定量分析技术定量分析技术两种情况两种情况:(1)可改进比例为可改进比例为,这时系统加速比等于,即系,这时系统加速比等于,即系统性能无法提高。统性能无法提高。(2)部件加速比趋于无穷部件加速比趋于无穷,这时分母中可改进比例与,这时分母中可改进比例与部件加速比之比趋于,由此系统加速比趋于除部件加速比之比趋于,由此系统加速比趋于除以减可改进比例,这是加速这个部件所获得的系以减可改进比例,这是加速这个部件所获得的系统性能改善的极限。统性能改善的极限。Computer Architecture1.3 1.3 定量分析技术定量分析技术部部件件加加速速比比 系系统统性性能能 Computer Architecture1.3 1.3 定量分析技术定量分析技术3.CPU性能公式性能公式 执行一个程序所需的执行一个程序所需的CPU时间时间 CPU时间时间=执行程序所需的时钟周期数执行程序所需的时钟周期数时钟时钟周期时间周期时间执行程序所需的时钟周期数可进一步分解为:执行程序所需的时钟周期数可进一步分解为:CPI:每条指令执行的平均时钟周期数每条指令执行的平均时钟周期数 IC:所执行的指令条数所执行的指令条数程序执行的程序执行的CPU时间可以写成时间可以写成 CPU时间时间=IC CPI 时钟周期时间时钟周期时间 Computer Architecture1.3 1.3 定量分析技术定量分析技术计算机工作的计算机工作的时钟频率时钟频率 计算机系统中与实现技术和工艺有关的因素。计算机系统中与实现技术和工艺有关的因素。单位是单位是MHz或或GHz。时钟周期时间时钟周期时间=1/时钟频率时钟频率 CPU时间时间=CPI IC/时钟频率时钟频率 Computer Architecture1.3 1.3 定量分析技术定量分析技术时钟频率:时钟频率:受计算机实现技术和计算机组成影响受计算机实现技术和计算机组成影响CPI:受计算机指令集结构和计算机组成影响受计算机指令集结构和计算机组成影响IC:受计算机指令集结构和编译技术影响受计算机指令集结构和编译技术影响对许多对许多CPU来说,不同的指令运行时所用的周期数是来说,不同的指令运行时所用的周期数是不同的,如果我们假设:计算机系统有不同的,如果我们假设:计算机系统有 n 种指令,其种指令,其中中 CPIi:第第 i 种指令所用的时钟周期数;种指令所用的时钟周期数;ICi:在程序运行过程中中第在程序运行过程中中第 i 种指令被运行的种指令被运行的次数;次数;Computer Architecture1.3 1.3 定量分析技术定量分析技术CPU时间时间=(CPIi ICi)/时钟频率时钟频率CPI=(CPIi ICi)/IC=(CPIi ICi/IC)其中:其中:(ICi/IC)反映了第反映了第 i 种指令在程序中所占的种指令在程序中所占的 比例。比例。Computer Architecture例例1.3 假设我们考虑条件分支指令的两种不同设计方法假设我们考虑条件分支指令的两种不同设计方法如下:如下:(1)CPUA:通过比较指令设置条件码,然后测试条通过比较指令设置条件码,然后测试条 件码进行分支。件码进行分支。(2)CPUB:在分支指令中包括比较过程在分支指令中包括比较过程 在两种在两种CPU中,条件分支指令都占用中,条件分支指令都占用2个时钟周期而个时钟周期而所有其它指令占用所有其它指令占用1个时钟周期,对于个时钟周期,对于CPUA,执行的,执行的指令中分支指令占指令中分支指令占20%;由于每个分支指令之前都需要;由于每个分支指令之前都需要有比较指令,因此比较指令也占有比较指令,因此比较指令也占20%。由于。由于CPUA1.31.3 定量分析技术基础定量分析技术基础Computer Architecture在分支时不需要比较,因此假设它的时钟周期时间在分支时不需要比较,因此假设它的时钟周期时间比比CPUB快快1.25倍。哪一个倍。哪一个CPU更快?如果更快?如果CPUA的时的时钟周期时间仅仅比钟周期时间仅仅比CPUB快快1.1倍,哪一个倍,哪一个CPU更快呢?更快呢?解:解:我们不考虑所有系统问题,所以可用我们不考虑所有系统问题,所以可用CPU性能公性能公式。占用式。占用2个时钟周期的分支指令占总指令的个时钟周期的分支指令占总指令的20%,剩,剩下的指令占用下的指令占用1个时钟周期。所以个时钟周期。所以 CPIA=0.2 2+0.80 1=1.2则则CPU性能为:性能为:总总CPU时间时间A=ICA 1.2 时钟周期时钟周期A1.31.3 定量分析技术基础定量分析技术基础Computer Architecture对对 CPUB 根据假设,有:根据假设,有:时钟周期时钟周期B=1.25 时钟周期时钟周期A在在CPUB中没有独立的比较指令,所以中没有独立的比较指令,所以CPUB的程序量的程序量为为CPUA的的80%,分支指令的比例为:,分支指令的比例为:20%/80%=25%这些分支指令占用这些分支指令占用2个时钟周期,而剩下的个时钟周期,而剩下的75%的指令的指令占用占用1个时钟周期,因此:个时钟周期,因此:CPIB=0.25 2+0.75 1=1.251.31.3 定量分析技术基础定量分析技术基础Computer Architecture因为因为CPUB不执行比较,故:不执行比较,故:ICB=0.8 ICA因此因此CPUB性能为:性能为:总总CPU时间时间B=ICB CPIB 时钟周期时钟周期B =0.8 ICA 1.25 (1.25 时钟周期时钟周期A)=1.25 ICA 时钟周期时钟周期A在这些假设之下,尽管在这些假设之下,尽管CPUB执行指令条数较少,执行指令条数较少,CPUA因为有着更短的时钟周期,所以比因为有着更短的时钟周期,所以比CPUB快。快。1.31.3 定量分析技术基础定量分析技术基础Computer Architecture如果如果CPUA的时钟周期时间仅仅比的时钟周期时间仅仅比CPUB快快1.1倍,则倍,则 时钟周期时钟周期B=1.10 时钟周期时钟周期ACPUB的性能为:的性能为:总总CPU时间时间B=ICB CPIB 时钟周期时钟周期B =0.8 ICA 1.25 (1.10 时钟周期时钟周期A)=1.10 ICA 时钟周期时钟周期A因此因此CPUB由于执行更少指令条数,比由于执行更少指令条数,比CPUA运行更快运行更快。1.31.3 定量分析技术基础定量分析技术基础Computer Architecture1.3 1.3 定量分析技术定量分析技术4.程序的局部性原理程序的局部性原理 程序在执行时所访问地址的分布不是随机的,而程序在执行时所访问地址的分布不是随机的,而是相对地簇聚;这种簇聚同时存在于指令访问和数据是相对地簇聚;这种簇聚同时存在于指令访问和数据访问中。访问中。程序的时间局部性:程序的时间局部性:程序即将用到的信息很可能程序即将用到的信息很可能就是目前正在使用的信息。就是目前正在使用的信息。程序的空间局部性:程序的空间局部性:程序即将用到的信息很可能程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者临近。与目前正在使用的信息在空间上相邻或者临近。Computer Architecture1.3 1.3 定量分析技术定量分析技术用用Amdahl定律分析并行加速定律分析并行加速 现实世界的计算过程从来不会按照简单的串并行现实世界的计算过程从来不会按照简单的串并行来区分,实际上,也几乎没有计算过程能纯粹地来区分,实际上,也几乎没有计算过程能纯粹地划归为串行或者并行实现的划归为串行或者并行实现的 绝大多数软件会包含绝大多数软件会包含 可并行可并行 和和 不可并行(串行)不可并行(串行)的操作的操作Computer Architecture1.3 1.3 定量分析技术定量分析技术 p:处理器数;处理器数;W:问题规模(计算负载、工作负载):问题规模(计算负载、工作负载)WS:应用程序中的串行分量应用程序中的串行分量 WP:应用程序中可并行分量:应用程序中可并行分量 W =WS+WP 串行分量比例(串行分量比例(f =WS/W)并行分量比例(并行分量比例(1-f =WP/W)S:加速比:加速比Computer Architecture1.3 1.3 定量分析技术定量分析技术53/(1)(1)111(1)SPSPWWSWWpfWf WffpffWfpffWpp加速比加速比1:PSf 处理机数处理机数 加速比加速比 Computer Architecture1.3 1.3 定量分析技术定量分析技术例例 如 果 想 用如 果 想 用 1 0 0 个 处 理 器 达 到个 处 理 器 达 到 8 0 的 加 速 比,的 加 速 比,求原计算程序中串行部分所占比例。求原计算程序中串行部分所占比例。解解 Amdahl定律为定律为 得出:得出:f0.0025 可以看出要用可以看出要用100个处理器达到个处理器达到80的加速比,串行计算的部分的加速比,串行计算的部分只能占只能占0.25%。1(1)pSpf100801(100 1)fComputer Architecture1.3 1.3 定量分析技术定量分析技术例例 如果一个程序中如果一个程序中80%的部分能完全并行化,剩下的部分能完全并行化,剩下20%串行执串行执行,问 用行,问 用 1 0 0 个 处 理 器 能 达 到 多 少 加 速 比?个 处 理 器 能 达 到 多 少 加 速 比?忽略所有因并行产生的额外开销。忽略所有因并行产生的额外开销。解解 Amdahl定律为定律为 这时用这时用 100 个处理器只能达到个处理器只能达到 4.8 倍的加速比倍的加速比1004.8071(1)1 99 0.2pSpfComputer Architecture1.3 1.3 定量分析技术定量分析技术56例例 当处理器数目当处理器数目p=1024,加速比公式如下:,加速比公式如下:102410241(1024 1)1 1023pSffComputer Architecture1.3 1.3 定量分析技术定量分析技术Gustafson定律定律 除非特定研究,在实际应用中没有必要固定工作除非特定研究,在实际应用中没有必要固定工作负载而让负载而让计算程序运行在不同数目的处理器上,增计算程序运行在不同数目的处理器上,增多处理器必须相应地增大问题规模才有实际意义多处理器必须相应地增大问题规模才有实际意义 对大多数问题,问题规模的改变只会改变计算中对大多数问题,问题规模的改变只会改变计算中并行计算量,而不会改变串行计算量并行计算量,而不会改变串行计算量Computer Architecture1.3 1.3 定量分析技术定量分析技术58/(1)(1)(1)SPSPSPSPWpWWpWSWp WpWWfWpf Wf p f fWf W 并行计算是为了解决大规模计算问题,可并行部并行计算是为了解决大规模计算问题,可并行部分的比例是可扩大的分的比例是可扩大的 加速比与处理器数成斜率为(加速比与处理器数成斜率为(1-f)的线性关系)的线性关系 串行比例串行比例 f 不再是并行扩展的瓶颈不再是并行扩展的瓶颈 Computer Architecture1.3 1.3 定量分析技术定量分析技术评测的性能指标:评测的性能指标:执行时间执行时间和和吞吐率吞吐率采用什么性能指标,与测试者看问题的角度有关。采用什么性能指标,与测试者看问题的角度有关。一般用户:一般用户:单个程序的单个程序的执行时间执行时间(执行(执行 单个单个 程序所花的时间)程序所花的时间)数据处理中心的管理员:数据处理中心的管理员:吞吐率吞吐率(在单位时间里能够(在单位时间里能够 完成的任务完成的任务)1.3.2 计算机系统的性能评测计算机系统的性能评测Computer Architecture1.3 1.3 定量分析技术定量分析技术 执行时间可以有多种定义:执行时间可以有多种定义:计算机完成某一任务所花费的全部时间计算机完成某一任务所花费的全部时间:包括磁包括磁盘访问、存储器访问、输入盘访问、存储器访问、输入/输出、操作系统开输出、操作系统开销等。销等。CPU时间:时间:CPU执行所给定的程序所花费的时执行所给定的程序所花费的时间,不包含间,不包含I/O等待时间以及运行其他程序的时等待时间以及运行其他程序的时间。间。用户用户CPU时间:时间:用户程序所耗费的用户程序所耗费的CPU时间。时间。系统系统CPU时间:时间:用户程序运行期间操作系统耗费用户程序运行期间操作系统耗费的的CPU时间。时间。Computer Architecture1.3 1.3 定量分析技术定量分析技术假设两台计算机为假设两台计算机为X和和Y,X比比Y快快的意思是:的意思是:对于给定任务,对于给定任务,X的执行时间比的执行时间比Y的执行时间少。的执行时间少。X的性能是的性能是Y的的n倍,即倍,即而执行时间与性能成反比,即而执行时间与性能成反比,即 执行时间执行时间Y执行时间执行时间X=nn=执行时间执行时间Y执行时间执行时间X性能性能Y1性能性能X1性能性能X性能性能YComputer Architecture1.3 1.3 定量分析技术定量分析技术通用评测方法通用评测方法:(1)采用基于测试的方法,如以测试程序的执行时采用基于测试的方法,如以测试程序的执行时间为度量间为度量;(2)采用基于分析的方法,如通过对主频、采用基于分析的方法,如通过对主频、CPI、各类指令的计数等的分析来获得各类指令的计数等的分析来获得。Computer Architecture1.3 1.3 定量分析技术定量分析技术2.基准测试程序基准测试程序 1.目前常用的测试程序可以分为四类:目前常用的测试程序可以分为四类:(按测试可靠性由高至低的顺序列出)(按测试可靠性由高至低的顺序列出)(1)真实程序真实程序 (2)核心程序核心程序 (3)小测试程序小测试程序 (4)合成测试程序合成测试程序 Computer Architecture1.51.5 定量分析技术基础定量分析技术基础2.测试程序组件测试程序组件 选择一组各个方面有代表性的测试程序,选择一组各个方面有代表性的测试程序,组成组成一个通用测试程序集合。一个通用测试程序集合。最大优点:最大优点:避免了独立测试程序存在的片面性,尽可能全避免了独立测试程序存在的片面性,尽可能全面地测试了一个计算机系统的性能。面地测试了一个计算机系统的性能。基本测试程序基本测试程序 SPEC科学与工程计算性能科学与工程计算性能 LINPACKComputer Architecture1.51.5 定量分析技术基础定量分析技术基础台式计算机的基准测试程序套件可以分为两大类:台式计算机的基准测试程序套件可以分为两大类:处理器性能测试程序处理器性能测试程序图形性能测试程序图形性能测试程序 SPEC89:用于测试处理器性能。用于测试处理器性能。10个程序(个程序(4个整个整数程序,数程序,6个浮点程序)个浮点程序)演化出了演化出了4个版本个版本SPEC92:20个程序个程序SPEC95:18个程序个程序SPEC2000:26个程序个程序SPEC CPU2006:29个程序个程序Computer Architecture1.51.5定量分析技术基础定量分析技术基础 SPEC CPU2006 整数程序整数程序12个(个(CINT2006)9个是用个是用C写的,写的,3个是用个是用C+写的写的 浮点程序浮点程序17个(个(CFP2006)6个是用个是用FORTRAN写的,写的,4个是用个是用C+写的,写的,3个是用个是用C写的,写的,4个是用个是用C和和FORTRAN混合编写的。混合编写的。为真正的程序经过精简并最小化为真正的程序经过精简并最小化I/O活动而形成活动而形成,Computer Architecture1.51.5 定量分析技术基础定量分析技术基础针对桌面计算机图形系统支持针对桌面计算机图形系统支持OpenGL库的性能库的性能:SPECviewperf针对桌面计算机针对桌面计算机图形密集型应用的性能:图形密集型应用的性能:SPECapc针对针对文件服务器性能:文件服务器性能:SPECSFS针对网络针对网络文件服务器性能:文件服务器性能:SPECWeb针对事务处理领域针对事务处理领域:TPC测试程序组件(主要测试事测试程序组件(主要测试事务处理的吞吐能力)务处理的吞吐能力)Computer Architecture1.51.5 定量分析技术基础定量分析技术基础基于基于Windows的的PC机方面:机方面:l PCMark04 包括中央处理器测试组、内存测试组、图包括中央处理器测试组、内存测试组、图 形芯片测试组、硬盘测试组等形芯片测试组、硬盘测试组等;l Business Winstone 2004 主要用于测试计算机系统商业应用的综合主要用于测试计算机系统商业应用的综合 性能性能;l Multimedia Content Creation Winstone 2004 主要用于测试计算机系统多媒体应用的综合性能主要用于测试计算机系统多媒体应用的综合性能;Computer Architecture1.51.5 定量分析技术基础定量分析技术基础对高性能计算机:对高性能计算机:机器的理论峰值速度机器的理论峰值速度用户能得到的实际速度用户能得到的实际速度加速比、效率加速比、效率可扩展性:可扩展性:随着计算负载的增加和机器规模的扩大,计算随着计算负载的增加和机器规模的扩大,计算系统的性能是否随着处理器的数目的增加而按比例系统的性能是否随着处理器的数目的增加而按比例的增加的增加Computer Architecture1.51.5 定量分析技术基础定量分析技术基础 系统评估:系统评估:单位时间内能完成的单位时间内能完成的工作量工作量 工作量:工作量:执行的指令数执行的指令数 :计算单位为百万条:计算单位为百万条 每秒执行多少百万条指令每秒执行多少百万条指令(MIPS)完成的浮点运算数完成的浮点运算数 :计算单位为百万次:计算单位为百万次 每秒执行多少百万次浮点运算每秒执行多少百万次浮点运算(MFLOPS)GFLOPS(10亿亿),TFLOPS(万亿万亿),PFLOPS(千万亿千万亿)Computer Architecture1.3 1.3 定量分析技术定量分析技术性能比较性能比较A机机 B机机 C机机 W(1)W(2)W(3)程序程序1 1.00 10.00 20.00 0.50 0.909 0.999 程序程序2 1000.00 10.00 20.000.50 0.091 0.001 加权算术加权算术平均值平均值Am(1)500.50 10.00 20.00加权算术加权算术平均值平均值Am(2)91.91 10.00 20.00加权算术加权算术平均值平均值Am(3)2.00 10.00 20.00两个程序在两个程序在A、B、C三台计算机上的执行时间三台计算机上的执行时间Computer Architecture1.3 1.3 定量分析技术定量分析技术 平均执行时间:平均执行时间:各测试程序执行时间的算术各测试程序执行时间的算术平均值平均值其中其中,Ti:第:第i个测试程序的执行时间个测试程序的执行时间 n:测试程序组中程序的个数:测试程序组中程序的个数 niimTnS11Computer Architecture1.3 1.3 定量分析技术定量分析技术 加权执行时间:加权执行时间:各测试程序执行时间的加权平各测试程序执行时间的加权平均值均值其中,其中,Wi:第:第i个测试程序在测试程序组中所个测试程序在测试程序组中所占的比重占的比重 Ti:该程序的执行时间:该程序的执行时间niiimTWA111niiWComputer Architecture1.41.4 计算机体系结构的发展计算机体系结构的发展 1.4.1 冯冯诺依曼结构诺依曼结构 运算器(ALU)控制器存储器数数据据流流 控控制制流流 输输入入 指指令令流流 输入设备输输出出 输出设备Computer Architecture1.41.4 计算机体系结构的发展计算机体系结构的发展 存储程序原理的基本点:存储程序原理的基本点:指令驱动指令驱动 程序预先存放在计算机存储器中,计算程序预先存放在计算机存储器中,计算机一旦启动,就能按照程序指定的逻辑顺序机一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处执行这些程序,自动完成由程序所描述的处理工作。理工作。Computer Architecture1.41.4 计算机体系结构的发展计算机体系结构的发展 1.冯冯诺依曼结构的主要特点诺依曼结构的主要特点 以运算器为中心。以运算器为中心。在存储器中,指令和数据同等对待。在存储器中,指令和数据同等对待。指令和数据一样可以进行运算,即由指令和数据一样可以进行运算,即由指令组成的程序是可以修改的。指令组成的程序是可以修改的。存储器是按地址访问、按顺序线性编址的存储器是按地址访问、按顺序线性编址的一维结构,每个单元的位数是固定的。一维结构,每个单元的位数是固定的。Computer Architecture1.41.4 计算机体系结构的发展计算机体系结构的发展 指令的执行是顺序的。指令的执行是顺序的。一般是按照指令在存储器中存放的顺序执一般是按照指令在存储器中存放的顺序执行行;程序的分支由转移指令实现程序的分支由转移指令实现;由指令计数器由指令计数器 PC 指明当前正在执行的指指明当前正在执行的指令在存储器中的地址令在存储器中的地址;指令由操作码和地址码组成。指令由操作码和地址码组成。指令和数据均以二进制编码表示,采用二进制指令和数据均以二进制编码表示,采用二进制运算。运算。Computer Architecture2.对体系结构进行的改进对体系结构进行的改进 (1)对输入输出方式的改进对输入输出方式的改进 以运算器为中心带来了慢速输入输以运算器为中心带来了慢速输入输 出操作占用快速运算器的问题。出操作占用快速运算器的问题。1.41.4 计算机体系结构的发展计算机体系结构的发展 Computer Architecture1.41.4 计算机体系结构的发展计算机体系结构的发展 程程序序控控制制 输输入入输输出出方方式式 DMA I/O 处处理理机机 程程序序等等待待 程程序序中中断断 成成组组传传递递 周周期期挪挪用用 通通道道 外外围围处处理理机机 Computer Architecture1.41.4 计算机体系结构的发展计算机体系结构的发展 (2)采用并行处理技术采用并行处理技术 如何挖掘传统机器中的并行性?如何挖掘传统机器中的并行性?在不同的级别采用并行技术。在不同的级别采用并行技术。例如,微操作级、指令级、线程级、进例如,微操作级、指令级、线程级、进程级、任务级等。程级、任务级等。Computer Architecture1.41.4 计算机体系结构的发展计算机体系结构的发展 (3)存储器组织结构的发展存储器组织结构的发展通用寄存器:提高运行速度通用寄存器:提高运行速度高速缓冲存储器和多级存储器组织结构:提高速缓冲存储器和多级存储器组织结构:提高运行速度并降低成本高运行速度并降低成本堆栈的引入:支持高级语言过程调用、递归堆栈的引入:支持高级语言过程调用、递归机制以及表达式计算机制以及表达式计算虚拟存储器:方便高级语言编程虚拟存储器:方便高级语言编程相联存储器:支持内容查找相联存储器:支持内容查找Computer Architecture 复杂指令集计算机复杂指令集计算机(CISC)精简指令集计算机精简指令集计算机(RISC)(4)指令集的发展指令集的发展 指令集的功能指令集的功能:(5)指令的寻址方式指令的寻址方式 多种灵活的寻址方式。多种灵活的寻址方式。1.41.4 计算机体系结构的发展计算机体系结构的发展 Computer Architecture1.41.4 计算机体系结构的发展计算机体系结构的发展 软件的可移植性:软件的可移植性:一个软件可以不经修改一个软件可以不经修改或者只需少量修改就可以由一台计算机移或者只需少量修改就可以由一台计算机移植到另一台计算机上正确地运行。差别只植到另一台计算机上正确地运行。差别只是执行时间的不同。是执行时间的不同。我们称这两台计算机是我们称这两台计算机是软件兼容软件兼容的。的。实现可移植性的常用方法实现可移植性的常用方法 采用系列机,模拟与仿真,统一高级语采用系列机,模拟与仿真,统一高级语 言言。1.4.2 软件对系统结构的影响软件对系统结构的影响 Computer Architecture1.41.4 计算机体系结构的发展计算机体系结构的发展 1.系列机系列机 由同一厂家生产的具有相同的系统结构,由同一厂家生产的具有相同的系统结构,但具有不同组成和实现的一系列不同型号的机但具有不同组成和实现的一系列不同型号的机器。器。较好地解决软件开发要求系统结构相对稳较好地解决软件开发要求系统结构相对稳定与器件、硬件技术迅速发展的矛盾。定与器件、硬件技术迅速发展的矛盾。Computer Architecture1.41.4 计算机体系结构的发展计算机体系结构的发展
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 成人自考


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!