(39)--第1章 计算机系统结构的概念.ppt
《(39)--第1章 计算机系统结构的概念.ppt》由会员分享,可在线阅读,更多相关《(39)--第1章 计算机系统结构的概念.ppt(79页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 1/79/79 第1章 计算机系统结构的基本概念2 2/79/791.1 引言1.2 计算机系统结构的概念1.3 定量分析技术1.4 计算机系统结构的发展1.5 计算机系统结构中并行性的发展3 3/79/791.第一台通用电子计算机诞生于1946年 2.计算机技术的飞速发展得益于两个方面 计算机制造技术的发展 计算机系统结构的创新3.经历了4个发展过程 1.1 引 言4 4/79/79时 间原 因每年的性能增长19461946年起的年起的2525年年 两种因素都起着主要的作用两种因素都起着主要的作用 25%25%2020世纪世纪7070年代末年代末8080年代初年代初 大规模集成电路和微处
2、理器大规模集成电路和微处理器出现出现,以集成电路为代表的制以集成电路为代表的制造技术的发展造技术的发展 约约35%35%2020世纪世纪8080年代中开年代中开始始 RISCRISC结构的出现,系统结构不断更结构的出现,系统结构不断更新和变革,制造技术不断发展新和变革,制造技术不断发展50%50%以上以上维持了约维持了约1616年年 20022002年以来年以来 3 3个(见下页)个(见下页)约约20%20%1.1 引言5 5/79/791.1 引言 功耗问题(已经很大)。可以进一步有效开发的指令级并行性已经很少。存储器访问速度的提高缓慢。6 6/79/791.1 引言系统结构的重大转折:从单
3、纯依靠指令级并行转向开发线程级并行和数从单纯依靠指令级并行转向开发线程级并行和数据级并行。据级并行。计算机系统结构在计算机的发展中有着极其重要计算机系统结构在计算机的发展中有着极其重要的作用。的作用。7 7/79/791.计算机系统硬件/固件软件2.计算机语言从低级向高级发展 高一级语言的语句相对于低一级语言来说功能更强,高一级语言的语句相对于低一级语言来说功能更强,更便于应用,但又都以低级语言为基础。更便于应用,但又都以低级语言为基础。3.从计算机语言的角度,把计算机系统按功能划分成 多级层次结构。每一层以一种语言为特征 1.2 计算机系统结构的概念1.2.1 计算机系统的层次结构软件软件硬
4、件或固件硬件或固件9 9/79/791.2 计算机系统结构的概念 虚拟机:由软件实现的机器 语言实现的两种基本技术q翻译:翻译:先把先把N N+1+1级程序全部转换成级程序全部转换成N N级程序后,再去执级程序后,再去执行新产生的行新产生的N N级程序,在执行过程中级程序,在执行过程中N N+1+1级程序不再被级程序不再被访问。访问。q解释:解释:每当一条每当一条N N+1+1级指令被译码后,就直接去执行级指令被译码后,就直接去执行一串等效的一串等效的N N级指令,然后再去取下一条级指令,然后再去取下一条N N+1+1级的指令,级的指令,依此重复进行。依此重复进行。解释执行比编译后再执行所花的
5、时间多,但占用的存储空间较少。1010/79/791.2 计算机系统结构的概念1.计算机系统结构的经典定义程序员所看到的计算机属性,即概念性结构与功能特性。2.按照计算机系统的多级层次结构,不同级程序员所看到的计算机具有不同的属性。3.透明性在计算机技术中,把本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。1.2.2 计算机系统结构的定义1111/79/791.2 计算机系统结构的概念4.Amdahl提出的系统结构 传统机器语言级程序员所看到的计算机属性。5.广义的系统结构定义:指令集结构、组成、硬件 (计算机设计的(计算机设计的3 3个方面)个方面)6.对于通用寄存器型机器
6、来说,这些属性主要是指:指令系统 包括机器指令的操作类型和格式、指令间的包括机器指令的操作类型和格式、指令间的排序和控制机构等。排序和控制机构等。数据表示 硬件能直接识别和处理的数据类型。硬件能直接识别和处理的数据类型。寻址规则 包括最小寻址单元、寻址方式及其表示。包括最小寻址单元、寻址方式及其表示。1212/79/791.2 计算机系统结构的概念寄存器定义(包括各种寄存器的定义、数量和使用方式)(包括各种寄存器的定义、数量和使用方式)中断系统(中断的类型和中断响应硬件的功能等)(中断的类型和中断响应硬件的功能等)机器工作状态的定义和切换(如管态和目态等)(如管态和目态等)存储系统(主存容量、
7、程序员可用的最大存储容量等)(主存容量、程序员可用的最大存储容量等)信息保护(包括信息保护方式和硬件对信息保护的支持)(包括信息保护方式和硬件对信息保护的支持)1313/79/791.2 计算机系统结构的概念I/O结构包括包括I/OI/O连接方式、处理机连接方式、处理机/存储器与存储器与I/OI/O设备之间设备之间数据传送的方式和格式以及数据传送的方式和格式以及I/OI/O操作的状态等操作的状态等计算机系统结构概念的实质:确定计算机系统中软、硬件的界面,界面之上是软件实现的功能,界面之下是硬件和固件实现的功能。1414/79/791.2 计算机系统结构的概念1.2.3 计算机组成和计算机实现1
8、.计算机系统结构:计算机系统的软、硬件的界面即机器语言程序员所看到的传统机器级所具有的属性。2.计算机组成:计算机系统结构的逻辑实现包含物理机器级中的数据流和控制流的组成以及逻辑设计等。着眼于:物理机器级内各事件的排序方式与控制方式、各部件的功能以及各部件之间的联系。1515/79/791.2 计算机系统结构的概念3.计算机实现:计算机组成的物理实现包括处理机、主存等部件的物理结构,器件的集 成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。着眼于:器件技术(起主导作用)、微组装技术。一种体系结构可以有多种组成。一种组成可以有多种物理实现。1616/79/791.
9、2 计算机系统结构的概念4.系列机 由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。例如,例如,IBMIBM公司的公司的IBM 370IBM 370系列,系列,IntelIntel公司的公司的x86x86系列等。系列等。1.2.4 计算机系统结构的分类常见的计算机系统结构分类法有两种:Flynn分类法、冯氏分类法1717/79/791.2 计算机系统结构的概念1.冯氏分类法用系统的最大并行度对计算机进行分类。最大并行度:计算机系统在单位时间内能够处理 的最大的二进制位数。用平面直角坐标系中的一个点代表一个计算机系用平面直角坐标系中的一个点代表一个计算机系统,其横
10、坐标表示字宽(统,其横坐标表示字宽(n n位位),纵坐标表示一次能同),纵坐标表示一次能同时处理的字数(时处理的字数(m m字字)。)。m mn n就表示了其最大并行度。就表示了其最大并行度。2.Flynn分类法 按照指令流和数据流的多倍性进行分类。指令流:计算机执行的指令序列。1818/79/791.2 计算机系统结构的概念1919/79/791.2 计算机系统结构的概念数据流:由指令流调用的数据序列。多倍性:在系统受限的部件上,同时处于同一执 行阶段的指令或数据的最大数目。Flynn分类法把计算机系统的结构分为4类:q 单指令流单数据流单指令流单数据流(SISD)(SISD)q 单指令流多
11、数据流单指令流多数据流(SIMD)(SIMD)q 多指令流单数据流多指令流单数据流(MISD)(MISD)q 多指令流多数据流多指令流多数据流(MIMD)(MIMD)4类计算机的基本结构ISIS:指令流,:指令流,DSDS:数据流,:数据流,CSCS:控制流,:控制流,CUCU:控制部件,:控制部件,PUPU:处理部件,:处理部件,MMMM和和SMSM:存储器。:存储器。2121/79/794个定量原理:1.以经常性事件为重点对经常发生的情况采用优化方法的原则进行选 择,以得到更多的总体上的改进。优化是指分配更多的资源、达到更高的性能或 者分配更多的电能等。1.3 定量分析技术1.3.1 计算
12、机系统设计的定量原理2222/79/791.3 定量分析技术2.Amdahl定律 加快某部件执行速度所能获得的系统性能加速比,受限于该部件的执行时间占系统中总执行时间的百分比。系统性能加速比:加速比系统性能改进后系统性能改进前总执行时间改进前总执行时间改进后 2323/79/791.3 定量分析技术加速比依赖于两个因素q可改进比例:可改进比例:在改进前的系统中,可改进部分的执在改进前的系统中,可改进部分的执 行时间在总的执行时间中所占的比例。行时间在总的执行时间中所占的比例。它总是小于等于它总是小于等于1 1。例如:例如:一个需运行一个需运行6060秒的程序中有秒的程序中有2020秒的运算可以
13、加速,秒的运算可以加速,那么这个比例就是那么这个比例就是20/6020/60。q部件加速比:部件加速比:可改进部分改进以后性能提高的倍数。可改进部分改进以后性能提高的倍数。它是改进前所需的执行时间与改进后执行时间的比。它是改进前所需的执行时间与改进后执行时间的比。一般情况下部件加速比是大于一般情况下部件加速比是大于1 1的。的。例如:例如:若系统改进后,可改进部分的执行时间是若系统改进后,可改进部分的执行时间是2 2秒,秒,而改进前其执行时间为而改进前其执行时间为5 5秒,则部件加速比为秒,则部件加速比为5/25/2。2424/79/791.3 定量分析技术改进后程序的总执行时间总执行时间改进
14、后 不可改进部分的执行时间 可改进部分改进后的执行时间总执行时间改进后 (1可改进比例)总执行时间改进前 +(1 可改进比例)+总执行时间改进前 可改进比例部件加速比可改进比例总执行时间改进前部件加速比2525/79/791.3 定量分析技术系统加速比为改进前与改进后总执行时间之比加速比 总执行时间改进前总执行时间改进后(1可改进比例)+可改进比例部件加速比12626/79/791.3 定量分析技术 例例1.1 1.1 将计算机系统中某一功能的处理速度提高到原来的将计算机系统中某一功能的处理速度提高到原来的2020倍,但该功能的处理时间仅占整个系统运行时间的倍,但该功能的处理时间仅占整个系统运
15、行时间的40%40%,则采,则采用此提高性能的方法后,能使整个系统的性能提高多少?用此提高性能的方法后,能使整个系统的性能提高多少?解解 由题可知,可改进比例由题可知,可改进比例 =40%=0.4=40%=0.4,部件加速比部件加速比 =20=20 根据根据AmdahlAmdahl定律可知:定律可知:采用此提高性能的方法后,能使整个系统的性能提高到原采用此提高性能的方法后,能使整个系统的性能提高到原来的来的1.6131.613倍倍。总加速比=10.6+0.420=1.6132727/79/791.3 定量分析技术 例例1.2 1.2 某计算机系统采用浮点运算部件后,使浮点运算速某计算机系统采用
16、浮点运算部件后,使浮点运算速度提高到原来的度提高到原来的2020倍,而系统运行某一程序的整体性能提高到倍,而系统运行某一程序的整体性能提高到原来的原来的5 5倍,试计算该程序中浮点操作所占的比例。倍,试计算该程序中浮点操作所占的比例。解解 由题可知,部件加速比由题可知,部件加速比 =20=20,系统加速比,系统加速比 =5=5 根据根据AmdahlAmdahl定律可知定律可知 由此可得:可改进比例由此可得:可改进比例 =84.2%=84.2%即程序中浮点操作所占的比例为即程序中浮点操作所占的比例为84.2%84.2%。2828/79/791.3 定量分析技术Amdahl定律:性能改进的递减规则
17、q如果仅仅对计算任务中的一部分做性能改进,则改如果仅仅对计算任务中的一部分做性能改进,则改 进得越多,所得到的总体性能的提升就越有限。进得越多,所得到的总体性能的提升就越有限。重要推论:如果只针对整个任务的一部分进行改 进和优化,那么所获得的加速比不超过 1/(1可改进比例)2929/79/791.3 定量分析技术3.CPU性能公式执行一个程序所需的CPU时间CPU时间=执行程序所需的时钟周期数时钟周期时间其中,时钟周期时间是系统时钟频率的倒数。每条指令执行的平均时钟周期数CPI (Cycles Per InstructionCycles Per Instruction)CPI=执行程序所需的
18、时钟周期数IC ICIC:所执行的指令条数所执行的指令条数程序执行的CPU时间可以写成 CPU时间=IC CPI 时钟周期时间 3030/79/791.3 定量分析技术CPU的性能取决于3个参数q时钟周期时间:时钟周期时间:取决于硬件实现技术和计算机组成。取决于硬件实现技术和计算机组成。qCPICPI:取决于计算机组成和指令集结构。取决于计算机组成和指令集结构。qICIC:取决于指令集结构和编译技术。取决于指令集结构和编译技术。对CPU性能公式进行进一步细化 假设:计算机系统有假设:计算机系统有n n种指令;种指令;CPICPIi i :第第i i种指令的处理时间;种指令的处理时间;ICICi
19、 i :在程序中第在程序中第i i种指令出现的次数;种指令出现的次数;则则 CPUCPU时钟周期数时钟周期数 =(CPI(CPIi i IC ICi i)n ni i=1=13131/79/791.3 定量分析技术CPU时间=执行程序所需的时钟周期数时钟周期时间 =(CPIiICi)时钟周期时间CPI可以表示为CPI=其中,(ICi/IC)反映了第i种指令在程序中所占的比例。i=1n时钟周期数IC(CPIiICi)i=1nIC(CPIi )i=1nICiIC3232/79/791.3 定量分析技术 例例1.3 1.3 考虑条件分支指令的两种不同设计方法:考虑条件分支指令的两种不同设计方法:(1
20、 1)CPUCPUA A:通过比较指令设置条件码,然后测试条件码进行通过比较指令设置条件码,然后测试条件码进行分支。分支。(2 2)CPUCPUB B:在分支指令中包括比较过程。在分支指令中包括比较过程。在这两种在这两种CPUCPU中,条件分支指令都占用中,条件分支指令都占用2 2个时钟周期,而所有个时钟周期,而所有其他指令占用其他指令占用1 1个时钟周期。对于个时钟周期。对于CPUCPUA A,执行的指令中分支指令占,执行的指令中分支指令占20%20%;由于每条分支指令之前都需要有比较指令,因此比较指令也;由于每条分支指令之前都需要有比较指令,因此比较指令也占占20%20%。由于。由于CPU
21、CPUA A在分支时不需要比较,因此在分支时不需要比较,因此CPUCPUB B的时钟周期时间的时钟周期时间是是CPUCPUA A的的1.251.25倍。问:哪一个倍。问:哪一个CPUCPU更快?如果更快?如果CPUCPUB B的时钟周期时间的时钟周期时间只是只是CPUCPUA A的的1.11.1倍,哪一个倍,哪一个CPUCPU更快呢?更快呢?3333/79/791.3 定量分析技术 解解 我们不考虑所有系统问题,所以可用我们不考虑所有系统问题,所以可用CPUCPU性能公式。占用性能公式。占用2 2个时钟个时钟周期的分支指令占总指令的周期的分支指令占总指令的20%20%,剩下的指令占用,剩下的指
22、令占用1 1个时钟周期。个时钟周期。所以所以 CPICPIA A=0.2 =0.2 2+0.80 2+0.80 1=1.2 1=1.2则则CPUCPUA A性能为性能为 总总CPUCPU时间时间A A=IC=ICA A 1.2 1.2 时钟周期时钟周期A A根据假设,有根据假设,有 时钟周期时钟周期B B=1.25 =1.25 时钟周期时钟周期A A 在在CPUCPUB B中没有独立的比较指令,所以中没有独立的比较指令,所以CPUCPUB B的程序量为的程序量为CPUCPUA A的的80%80%,分支指令的比例为,分支指令的比例为3434/79/791.3 定量分析技术 20%/80%=25%
23、20%/80%=25%这些分支指令占用这些分支指令占用2 2个时钟周期,而剩下的个时钟周期,而剩下的75%75%的指令占用的指令占用1 1个时钟个时钟周期,因此周期,因此 CPICPIB B=0.25 =0.25 2+0.75 2+0.75 1=1.25 1=1.25因为因为CPUCPUB B不执行比较,故不执行比较,故 ICICB B=0.8 =0.8 IC ICA A因此因此CPUCPUB B性能为性能为 总总CPUCPU时间时间B B=IC=ICB B CPI CPIB B 时钟周期时钟周期B B =0.8 =0.8 ICICA A 1.25 1.25(1.25 1.25 时钟周期时钟周
24、期A A)=1.25=1.25 ICICA A 时钟周期时钟周期A A3535/79/791.3 定量分析技术 在这些假设之下,尽管在这些假设之下,尽管CPUCPUB B执行指令条数较少,执行指令条数较少,CPUCPUA A因为有着更因为有着更短的时钟周期,所以比短的时钟周期,所以比CPUCPUB B快。快。如果如果CPUCPUB B的时钟周期时间仅仅是的时钟周期时间仅仅是CPUCPUA A的的1.11.1倍,则倍,则 时钟周期时钟周期B B=1.10 =1.10 时钟周期时钟周期A ACPUCPUB B的性能为的性能为 总总CPUCPU时间时间B B=IC=ICB B CPICPIB B 时
25、钟周期时钟周期B B =0.8=0.8 ICICA A 1.25 1.25(1.10 1.10 时钟周期时钟周期A A)=1.10=1.10 IC ICA A 时钟周期时钟周期A A 因此因此CPUCPUB B由于执行更少指令条数,比由于执行更少指令条数,比CPUCPUA A运行更快。运行更快。3636/79/791.3 定量分析技术4.程序的局部性原理 程序执行时所访问的存储器地址分布不是随机的,而是相对地簇聚。常用的一个经验规则程序执行时间的程序执行时间的90%90%都是在执行程序中都是在执行程序中10%10%的代码。的代码。程序的时间局部性程序即将用到的信息很可能就是目前正在使用的信息。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 39-第1章 计算机系统结构的概念 39 计算机系统 结构 概念
限制150内