计算机系统结构第一章_第1页
计算机系统结构第一章_第2页
计算机系统结构第一章_第3页
计算机系统结构第一章_第4页
计算机系统结构第一章_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机系统结构计算机系统结构四川大学计算机学院四川大学计算机学院主讲:倪云竹主讲:倪云竹E-MAIL:评分标准评分标准期末总成绩期末总成绩=平时成绩平时成绩30%+期末考期末考试成绩试成绩70%平时成绩(满分平时成绩(满分100分):分): 1. 考勤:考勤:60分,缺席一次扣分,缺席一次扣5分分 2. 课后练习:课后练习:30分分 3. 上课回答问题:上课回答问题:10分分 (回答问题一次(回答问题一次5分)分)参考书目参考书目1.1.计算机系统结构计算机系统结构张晨曦张晨曦高等教育高等教育出出版社版社2.2.计算机系统结构李学干西安电子科计算机系统结构李学干西安电子科技大学出版社技大学出版

2、社3.3.计算机系统结构陈智勇西安电子科计算机系统结构陈智勇西安电子科技大学出版社技大学出版社第一章第一章 计算机系统结构导论计算机系统结构导论1.1 1.1 概述概述1.2 1.2 计算机系统结构的相关概念计算机系统结构的相关概念1.3 1.3 计算机系统结构的计算机系统结构的分分类类1.4 1.4 计算机系统计算机系统设计的方法设计的方法1.5 1.5 计算机系统结构的发展过程计算机系统结构的发展过程 1.11.1 概述概述计算机的发展历史计算机的发展历史: :第一代第一代1945-1954(1945-1954(电子管电子管) ):单:单CPUCPU,程序计数器,程序计数器PCPC,累加器

3、,累加器ACAC,机器语言或汇编语言,机器语言或汇编语言,I/0I/0控制方式为程序控制方式。控制方式为程序控制方式。第二代第二代1955-1964(1955-1964(晶体管晶体管) ):磁芯存贮器,印刷电路,变址寄存器,:磁芯存贮器,印刷电路,变址寄存器,浮点运算,多路存贮器,浮点运算,多路存贮器,I0I0处理机,高级语言,子程序库,批处处理机,高级语言,子程序库,批处理监控程序理监控程序. .第三代第三代1965-19741965-1974(中小规模集成电路中小规模集成电路):多层印刷电路,流水线,):多层印刷电路,流水线,CaCheCaChe,虚拟存贮器,微程序控制,多道程序与分时系统

4、,虚拟存贮器,微程序控制,多道程序与分时系统. .兼容性兼容性和系列机思想和系列机思想. .第四代第四代1975-19901975-1990(LSILSI,VLSIVLSI):共享存贮器,分布存贮器):共享存贮器,分布存贮器, ,向量向量处理硬件等不同选择的并行计算机,多处理操作系统,并行语言处理硬件等不同选择的并行计算机,多处理操作系统,并行语言及编译等软件工具及编译等软件工具. .2020世纪世纪9090年代至今的新一代:更大的变化体现在结构上,实现了年代至今的新一代:更大的变化体现在结构上,实现了大规模的并行处理大规模的并行处理, ,采用可扩展的灵活系统结构,并且逐渐将计算采用可扩展的灵

5、活系统结构,并且逐渐将计算机系统从传统的机柜式结构演变为分散组织形式机系统从传统的机柜式结构演变为分散组织形式. . 计算机系统性能的大幅度提高不仅得益于器件计算机系统性能的大幅度提高不仅得益于器件的不断发展,更得益于计算机系统结构的进步。的不断发展,更得益于计算机系统结构的进步。1.21.2 计算机系统结构相关概念计算机系统结构相关概念一一. .计算机系统的层次结构计算机系统的层次结构应用程序应用程序高级语言高级语言汇编语言汇编语言操作系统操作系统机器语言机器语言微程序机器级微程序机器级电子线路级电子线路级软软件件硬硬件件用户用户高级语言程序员高级语言程序员汇编语言程序员汇编语言程序员系统操

6、作员系统操作员机器语言程序员机器语言程序员硬件设计人员硬件设计人员1.2 1.2 计算机系统结构相关概念计算机系统结构相关概念二二. .计算机系统结构的定义和内涵计算机系统结构的定义和内涵1. 1. 经典定义经典定义: : Amdahl Amdahl提出提出: : 计算机系统结构就是程序设计计算机系统结构就是程序设计者所看到的计算机的基本属性,即概念性结者所看到的计算机的基本属性,即概念性结构与功能特性。构与功能特性。2. 2. 系统结构研究的实质是对计算机系统中各级系统结构研究的实质是对计算机系统中各级界面的划分、定义及其上下的功能分配。每界面的划分、定义及其上下的功能分配。每级都有其自己的

7、系统结构。级都有其自己的系统结构。3. 3. AmdahlAmdahl提出的系统结构指的是计算机系统软、提出的系统结构指的是计算机系统软、硬件的界面,即传统机器语言级的系统结构。硬件的界面,即传统机器语言级的系统结构。也就是机器语言程序员所看到的计算机的外也就是机器语言程序员所看到的计算机的外特性,是在传统的硬件层面上看到的特性。特性,是在传统的硬件层面上看到的特性。1.2 1.2 计算机系统结构相关概念计算机系统结构相关概念外特性包括:外特性包括: 1.1.指令系统指令系统 2.2.数据表示数据表示 3.3.寻址规则寻址规则 4.4.寄存器寄存器定义定义 5.5.中断系统中断系统 6.6.工

8、作状态的定义与切换工作状态的定义与切换 7.7.存储系统存储系统 8.8.信息保护信息保护( (或系统安全于保密或系统安全于保密) ) 9.I/O 9.I/O系统系统( (包含总线结构包含总线结构) )1.2 1.2 计算机系统结构相关概念计算机系统结构相关概念三三. .计算机系统的组成与实现计算机系统的组成与实现 1.1.计算机组成计算机组成 是计算机系统结构的逻辑实现是计算机系统结构的逻辑实现, ,即即根据计算根据计算机系统结构所制订的功能,从逻辑上完成机系统结构所制订的功能,从逻辑上完成计算机的设计是计算机组成的任务。这里计算机的设计是计算机组成的任务。这里包括各部件的逻辑实现,部件之间

9、的互相包括各部件的逻辑实现,部件之间的互相连接等逻辑设计。连接等逻辑设计。 2. 计算机实现计算机实现 是指计算机组成的物理实现。其中包括各是指计算机组成的物理实现。其中包括各部件的物理结构、器件的选用、印刷板的部件的物理结构、器件的选用、印刷板的设计和制作、机箱和接插件的设计或选用、设计和制作、机箱和接插件的设计或选用、散热装置安装等。散热装置安装等。1.2 1.2 计算机系统结构相关概念计算机系统结构相关概念计算机系统结构、组成和实现是三个不同的计算机系统结构、组成和实现是三个不同的概念。系统结构是计算机系统的软、硬件界概念。系统结构是计算机系统的软、硬件界面;计算机组成是计算机系统结构的

10、逻辑实面;计算机组成是计算机系统结构的逻辑实现;计算机实现是计算机组成的物理实现。现;计算机实现是计算机组成的物理实现。他们各自有不同的内容,但又有紧密的关系。他们各自有不同的内容,但又有紧密的关系。例如:是否有乘法指令属于系统结构,而乘例如:是否有乘法指令属于系统结构,而乘法运算采用专门的乘法器实现还是采用加法法运算采用专门的乘法器实现还是采用加法器结合移位器来实现属于组成,构成加法器器结合移位器来实现属于组成,构成加法器或乘法器具体采用的器件属于实现。或乘法器具体采用的器件属于实现。1.3 1.3 计算机系统结构分类计算机系统结构分类 一一. Flynn分类法分类法1. 三个重要概念:三个

11、重要概念:指令流指令流(Instruction Stream):机器执):机器执行的指令序列;行的指令序列;数据流数据流(Data stream):由指令处理的):由指令处理的数据序列;数据序列;多倍性多倍性(Multiplicity):在系统最受限):在系统最受限的部件上,同时处于同一执行阶段的指的部件上,同时处于同一执行阶段的指令或数据的最大数目。令或数据的最大数目。1.3 1.3 计算机系统结构分类计算机系统结构分类2. 分类:分类: 单指令流单数据流单指令流单数据流(SISDSingle Instruction Single Datastream) 单指令流多数据流单指令流多数据流(S

12、IMDSingle Instruction Multiple Datastream) 多指令流单数据流多指令流单数据流(MISDMultiple Instruction Single Datastream) 多指令流多数据流多指令流多数据流(MIMDMultiple Instruction Multiple Datastream)1.3 1.3 计算机系统结构分类计算机系统结构分类3.各类结构的概念性框图各类结构的概念性框图:CUPUMMCSISDSDS1DS2DSn PU1 PU2 PUnCUCSIS MMn MM2 MM1 MMn MM2 MM1 IS2 CU2 CS2 PU2 IS1 C

13、U1 CS1 PU1 DS ISn CUn CSn PUn DS MMn MM2 MM1IS2 IS1ISn CUn CSn PUn DSn CU1 CS1 DS1 PU1 CU2 CS2 PU2 DS2( a ) SISD( b ) SIMD( c ) MISD( d ) MIMD1.3 1.3 计算机系统结构分类计算机系统结构分类二二. 冯氏分类法:冯氏分类法:1972年,美藉华人冯泽云提出以最大并行度年,美藉华人冯泽云提出以最大并行度作为系统结构分类的标准。作为系统结构分类的标准。所谓最大并行度所谓最大并行度Pm是指一个系统在单位时间内能够处理的最是指一个系统在单位时间内能够处理的最多的

14、二进制位数。多的二进制位数。相关概念相关概念:字宽:字宽:在一个字中可以同时处理的二进制位数。在一个字中可以同时处理的二进制位数。(n)位片宽度位片宽度:在一个位片中可以同时处理的字数。:在一个位片中可以同时处理的字数。(m) Pm = nm1.3 1.3 计算机系统结构分类计算机系统结构分类由此,计算机的系统结构又可以分成以下由此,计算机的系统结构又可以分成以下4种:种: 字串位串(字串位串(WSBS):):n = 1,m = 1。 这是最早期全串行运算的计算机。这是最早期全串行运算的计算机。 字并位串(字并位串(WPBS):):n 1,m = 1。 这是传统的并行单处理机。这是传统的并行单

15、处理机。 字串位并(字串位并(WSBP):):n = 1,m 1。 每处理机只一位,但有许多个处理机字并行运每处理机只一位,但有许多个处理机字并行运用,如用,如STARAN,MPP,DAP等。等。 字并位并(字并位并(WPBP):):n 1,m 1。 PEPE,ILLIAC ,Cmmp等计算机属此类。等计算机属此类。 以上,以上,W Word;B Bit;S Serial;P Parallel。1.3 1.3 计算机系统结构分类计算机系统结构分类 实际计算机并不能总是处在最大并行度下工实际计算机并不能总是处在最大并行度下工作,换句话说,实际并行度与所执行的程序作,换句话说,实际并行度与所执行的

16、程序有关。于是,又提出一个有关。于是,又提出一个平均并行度平均并行度的概念。的概念。 如果在一个时钟周期如果在一个时钟周期ti内实际处理的二进内实际处理的二进制位数为制位数为Pi,那么在,那么在T个时钟周期内的平均并个时钟周期内的平均并行度行度Pa就为:就为:TPPTiia/)(1mTiimaPTPPP1/把平均并行度与最大并行度之比称为平均利用率,把平均并行度与最大并行度之比称为平均利用率,用用表示为:表示为:1.3 1.3 计算机系统结构分类计算机系统结构分类三三. 计算机类别的计算机类别的Hndler表示法:表示法: 此方法根据计算机可并行和流水处理的此方法根据计算机可并行和流水处理的程

17、度,将硬件分成三个层次:程度,将硬件分成三个层次: 程序控制部件(程序控制部件(PCU)的个数)的个数k; 算术逻辑部件(算术逻辑部件(ALU)或处理部件)或处理部件(PE)的个数)的个数d; 每个算逻部件包含基本逻辑线路每个算逻部件包含基本逻辑线路(ECL)的套数)的套数w。 1.3 1.3 计算机系统结构分类计算机系统结构分类 每一个计算机系统都可以用上述三个参数表每一个计算机系统都可以用上述三个参数表示其结构特征,即:示其结构特征,即: t(系统型号)(系统型号)=(k,d,w)如如: t(ILLIAC )=(1,64,64) 为了更细致的反映结构特殊性,表示式可写为了更细致的反映结构特

18、殊性,表示式可写成:成: t(系统型号)(系统型号)=(kk,dd,ww)其中:其中: k表示宏流水线中程序控制部件的个数;表示宏流水线中程序控制部件的个数; d表示指令流水线中算术逻辑部件的个数;表示指令流水线中算术逻辑部件的个数; w表示操作流水线中基本逻辑线路的套数。表示操作流水线中基本逻辑线路的套数。1.4 1.4 计算机系统设计的定量分析技术计算机系统设计的定量分析技术一一计算机系统设计的定量原则计算机系统设计的定量原则定量原则主要有四个:定量原则主要有四个:1. 以经常性事件为重点以经常性事件为重点2. Amdahl定律定律3. CPU性能公式性能公式4. 程序访问的局部性原理程序

19、访问的局部性原理1. 以经常性事件为重点以经常性事件为重点是计算机设计中最重要、使用最广是计算机设计中最重要、使用最广泛的设计原则。泛的设计原则。即:在计算机系统设计中,经常需即:在计算机系统设计中,经常需要在多种不同的方法之间进行折中,要在多种不同的方法之间进行折中,这时应按照对经常发生的情况采用这时应按照对经常发生的情况采用优化方法的原则进行选择,因为这优化方法的原则进行选择,因为这样能得到更多的总体上的改进。样能得到更多的总体上的改进。1.4 1.4 计算机系统设计的定量分析技术计算机系统设计的定量分析技术1.4 1.4 计算机系统设计的定量分析技术计算机系统设计的定量分析技术2Amda

20、hl定律定律加速比加速比Sn可定义为:可定义为: Sn = T0 / Tn 式中,式中,T0是在作为比较基准的运行是在作为比较基准的运行条件下,计算机运行所需时间;条件下,计算机运行所需时间;Tn为改变了运行条件后完成同样任务为改变了运行条件后完成同样任务所需的时间。所需的时间。1.4 1.4 计算机系统设计的定量分析技术计算机系统设计的定量分析技术在对一个系统进行设计或改进时,总希望通过对某在对一个系统进行设计或改进时,总希望通过对某部件的精心设计获得较高的加速比。但是每一个部部件的精心设计获得较高的加速比。但是每一个部件对加速比的贡献并不相同,他完全取决于该部件件对加速比的贡献并不相同,他

21、完全取决于该部件在整个系统中地位的重要性。最直接体现部件重要在整个系统中地位的重要性。最直接体现部件重要性的衡量标准就是他在整个处理工作中所占的时间性的衡量标准就是他在整个处理工作中所占的时间比例。比例。假定某部件的运行时间在全系统运行时间假定某部件的运行时间在全系统运行时间T0中所占中所占的百分比为的百分比为Fe,系统中其他部分运行时间所占百分,系统中其他部分运行时间所占百分比为比为1 - Fe。再设该部件改进前后的运行时间之比。再设该部件改进前后的运行时间之比为为Se,也即该部件速度提高的倍数。于是对该部件,也即该部件速度提高的倍数。于是对该部件改进后,全系统的运行时间应为:改进后,全系统

22、的运行时间应为: Tn = T0 ( 1 Fe ) + T0 Fe / Se = T0 ( 1 Fe + Fe / Se )T Tn n = T = T0 0 ( 1 F ( 1 Fe e + F + Fe e / S / Se e ) )S Sn n = T = T0 0 / T / Tn n 可得:可得:AMDAHL定理定理eeennSFFTTS/)1 (10由于该部件运行时间所占百分比总是满足由于该部件运行时间所占百分比总是满足0 Fe 1,而,而Se1,故,故Sn1。 由上式可见,加速比的大小与由上式可见,加速比的大小与Fe和和Se两个因素有关。两个因素有关。 如果如果Se大于大于1,

23、系统加速比,系统加速比Sn就一定大于就一定大于1,即只要对系统中,即只要对系统中某部件进行了改进,总会对全系统的性能提升有好处。某部件进行了改进,总会对全系统的性能提升有好处。 同时,同时,Fe也是影响加速比的重要因素,显然也是影响加速比的重要因素,显然Fe越大,所得的越大,所得的Sn也越大,极而言之,当也越大,极而言之,当Fe1时,时,Sn = Se,即系统所得到的加,即系统所得到的加速比等于该部件的加速比。速比等于该部件的加速比。1.4 1.4 计算机系统设计的定量分析技术计算机系统设计的定量分析技术例例1. 将计算机系统中某一功能的处理速度提高到原来的将计算机系统中某一功能的处理速度提高

24、到原来的20倍,但该功能的处理时间仅占全系统运行时间倍,但该功能的处理时间仅占全系统运行时间的的40%,则采用此提高性能的方法后,能使整个系,则采用此提高性能的方法后,能使整个系统的性能得到多少提升?统的性能得到多少提升?解:按照解:按照Amdahl定律,系统性能的提升可以用加速比定律,系统性能的提升可以用加速比表示。据题意:表示。据题意: Fe = 0.4;Se = 20,直接使用上式,可得:,直接使用上式,可得:利用对加速比的计算,可以决定提高全系统性能的努利用对加速比的计算,可以决定提高全系统性能的努力应该从何处入手,即花较小的代价,获取较大的效力应该从何处入手,即花较小的代价,获取较大

25、的效益。益。613. 120/4 . 04 . 011nS1.4 1.4 计算机系统设计的定量分析技术计算机系统设计的定量分析技术例例2:某计算机系统采用浮点运算部件后,使浮点运算:某计算机系统采用浮点运算部件后,使浮点运算速度提高到原来的速度提高到原来的20倍,而系统运行某一程序的倍,而系统运行某一程序的整体性能提高到原来的整体性能提高到原来的5倍,试计算该程序中浮倍,试计算该程序中浮点操作所占的比例。点操作所占的比例。 解:据题意:解:据题意: Se = 20;Sn = 5,按照,按照Amdahl定律可得:定律可得:20/115eeFF %2 .84eF1.4 1.4 计算机系统设计的定量

26、分析技术计算机系统设计的定量分析技术例例3:一个专门用以对:一个专门用以对CPU的多媒体处理性能进行测试的多媒体处理性能进行测试的基准程序,其中用于对多媒体信息运算的时间的基准程序,其中用于对多媒体信息运算的时间占全部运算时间的占全部运算时间的70%。由于处理机对多媒体的。由于处理机对多媒体的处理能力不强,特别对一些实时信息的处理更是处理能力不强,特别对一些实时信息的处理更是不能容忍。请寻求提高处理机多媒体处理能力的不能容忍。请寻求提高处理机多媒体处理能力的方案,并进行评估和比较。方案,并进行评估和比较。 解:首先分析一下多媒体信息处理的特点。多媒解:首先分析一下多媒体信息处理的特点。多媒体信

27、息处理中,大量的是对数组的运算,即同样体信息处理中,大量的是对数组的运算,即同样的运算要对许多数据反复进行操作。按照传统的的运算要对许多数据反复进行操作。按照传统的流水线方法必须使用许多次的循环,浪费掉大量流水线方法必须使用许多次的循环,浪费掉大量的的CPU时间。时间。 现在分析下面的三种改进方案,并进行评价。现在分析下面的三种改进方案,并进行评价。1.4 1.4 计算机系统设计的定量分析技术计算机系统设计的定量分析技术方法一方法一. 提高提高CPU的时钟频率,即减小的时钟频率,即减小CPI。 这是最直接能想到的方案,但在实现上比较困难。这是最直接能想到的方案,但在实现上比较困难。 要求早期的

28、要求早期的CPU能实时地处理多媒体信息,在速能实时地处理多媒体信息,在速度上的差距实在太大了。而一个处理机在推出时度上的差距实在太大了。而一个处理机在推出时适用的主频绝没有这样大的富余度。所以这个方适用的主频绝没有这样大的富余度。所以这个方法是不现实的。法是不现实的。1.4 1.4 计算机系统设计的定量分析技术计算机系统设计的定量分析技术方法二方法二. 将将CPU的流水线条数增加为的流水线条数增加为n条,在理条,在理想情况下其运行速度可以提高想情况下其运行速度可以提高n倍。倍。 与上面同样的理由,因为速度相差太大,需要增与上面同样的理由,因为速度相差太大,需要增加的流水线数目也相当大。加的流水

29、线数目也相当大。 一方面会给工艺上带来极大的困难,甚至到不可一方面会给工艺上带来极大的困难,甚至到不可能制作的地步。能制作的地步。 另一方面如果流水线条数太多,指令的分配和调另一方面如果流水线条数太多,指令的分配和调度也会带来许多困难,使实际效果大打折扣。度也会带来许多困难,使实际效果大打折扣。1.4 1.4 计算机系统设计的定量分析技术计算机系统设计的定量分析技术方法三方法三. 设计专门的多媒体指令及处理硬件,大设计专门的多媒体指令及处理硬件,大幅度提高同一条指令处理大量数据的能力幅度提高同一条指令处理大量数据的能力。 使多媒体指令全部由这个特定的部件处理,其余指使多媒体指令全部由这个特定的

30、部件处理,其余指令仍由原流水线处理。两个部件处于并行方式下运令仍由原流水线处理。两个部件处于并行方式下运行,程序在该行,程序在该CPU上的运算时间由两个部件中较慢上的运算时间由两个部件中较慢的那个部件决定。的那个部件决定。 如果多媒体部件对多媒体信息的处理能力提高了如果多媒体部件对多媒体信息的处理能力提高了10倍,系统的加速比应为:倍,系统的加速比应为:3 . 33 . 0/110/ )7 . 0( , 3 . 0max0000TTTTTSnn从式中可以看出,加了一个多媒体部件后系统加速比的大小从式中可以看出,加了一个多媒体部件后系统加速比的大小与多媒体指令所占的比例有关,所占比例越高,系统加

31、速比越大。与多媒体指令所占的比例有关,所占比例越高,系统加速比越大。1.4 1.4 计算机系统设计的定量分析技术计算机系统设计的定量分析技术3. CPU性能公式性能公式1) 主时钟主时钟 习惯上总是以主时钟(时钟周期)来表习惯上总是以主时钟(时钟周期)来表示一个示一个CPU的速度。的速度。CPU的主频即时钟的频率:的主频即时钟的频率:Tf1如如: Pentium4 1.5GHz Core 2 Duo 2.13GHz 主频越高,芯片内的运行速度也越快主频越高,芯片内的运行速度也越快(对相同对相同体系结构的处理机而言体系结构的处理机而言)。1.4 1.4 计算机系统设计的定量分析技术计算机系统设计

32、的定量分析技术2) 平均指令执行周期平均指令执行周期CPI一个程序在一个程序在CPU上运行所需的时间上运行所需的时间TCPU表表示为:示为:TCPIITCCPU其中,其中,C表示要执行程序中的指令总数。表示要执行程序中的指令总数。CPI表示执表示执行每条指令所需的平均时钟周期数。行每条指令所需的平均时钟周期数。平均指令执行周期数平均指令执行周期数CPI(Cycle Per Instruction):指令数时钟周期时间CPUITTCPICCPU1.4 1.4 计算机系统设计的定量分析技术计算机系统设计的定量分析技术 上式中的上式中的CPU时间是可从某个程序执行中时间是可从某个程序执行中得到的,且

33、指令数也与具体程序有关。显得到的,且指令数也与具体程序有关。显然,如果在同一个处理机上运行不同的程然,如果在同一个处理机上运行不同的程序,所得的序,所得的CPI也可能是不同的。所以,也可能是不同的。所以,作为衡量作为衡量CPU运行速度的指标运行速度的指标CPI,通常,通常是一种概率统计的结果。是一种概率统计的结果。指令数时钟周期时间CPUCPI1.4 1.4 计算机系统设计的定量分析技术计算机系统设计的定量分析技术)/(1CniiiIICPICPI假定通过许多程序的统计,得知程序中指令假定通过许多程序的统计,得知程序中指令的总数为的总数为IC,其中第其中第i类指令的执行次数为类指令的执行次数为

34、Ii或或执行概率为执行概率为Pi,而执行该类指令所需的时钟,而执行该类指令所需的时钟周期数为周期数为CPIi,而全部指令的类别数为,而全部指令的类别数为n,该,该处理机的统计平均处理机的统计平均CPI就为:就为:niiiPCPICPI1)(或1.4 1.4 计算机系统设计的定量分析技术计算机系统设计的定量分析技术由由CPU的的CPI和实际的工作主频,可以转和实际的工作主频,可以转换为平均指令执行时间,这是一个可以用换为平均指令执行时间,这是一个可以用作作CPU性能比较的指标。性能比较的指标。fCPITCPIT每条指令平均执行时间 总的总的CPU执行时间执行时间:CCPUITCPIT1.4 1.

35、4 计算机系统设计的定量分析技术计算机系统设计的定量分析技术 例:假定某例:假定某CPU的主频为的主频为500MHz,据统,据统计,其各类指令使用的概率和执行所需时计,其各类指令使用的概率和执行所需时钟数列出在下表中,请确定该处理机每条钟数列出在下表中,请确定该处理机每条指令的平均执行时间。指令的平均执行时间。指令类型指令类型出现概率(出现概率(%) 执行周期数执行周期数加法、减法、移位加法、减法、移位201取数、存数取数、存数402乘法、除法乘法、除法53浮点加、浮点减浮点加、浮点减205中断中断105输入、输出输入、输出5101.4 1.4 计算机系统设计的定量分析技术计算机系统设计的定量

36、分析技术解:根据解:根据niiiPCPICPI1)(CPI = 0.21 + 0.42 + 0.053 + 0.25 + 0.15 + 0.0510 = 3.15每条指令平均执行时间每条指令平均执行时间T = 3.15(1/500MHz) =3.152ns = 6.3ns1.4 1.4 计算机系统设计的定量分析技术计算机系统设计的定量分析技术4. 程序访的局部性原理程序访的局部性原理1)局部性原理是指程序执行时所访问的存储器)局部性原理是指程序执行时所访问的存储器地址分布不是随机的,而是相对地簇聚。地址分布不是随机的,而是相对地簇聚。经统计:一段时间经统计:一段时间90的时间去执行的时间去执行

37、10的程序代码。的程序代码。2)局部性包括时间局部性和空间局部性:)局部性包括时间局部性和空间局部性:时间局部性:程序即将用到的信息很可能时间局部性:程序即将用到的信息很可能就是目前正在使用的信息。就是目前正在使用的信息。空间局部性:程序即将用到的信息很可能空间局部性:程序即将用到的信息很可能与当前正在使用的信息在空间上相邻或临与当前正在使用的信息在空间上相邻或临近。近。3)程序访问的局部性是构建存储体系和建立)程序访问的局部性是构建存储体系和建立Cache的理论基础。的理论基础。 1.4 1.4 计算机系统设计的定量分析技术计算机系统设计的定量分析技术二二. 计算机系统的性能评测计算机系统的

38、性能评测1. MIPS(Million Instruction Per Second),被称为每秒百万条指令),被称为每秒百万条指令 用于衡量标量处理机定点运算的速度用于衡量标量处理机定点运算的速度661010MIPSCPIfc执行时间指令条数从定义式可以看出,系统的从定义式可以看出,系统的MIPS数值越大,数值越大,表明其运行速度也越快。表明其运行速度也越快。1.4 1.4 计算机系统设计的定量分析技术计算机系统设计的定量分析技术661010MIPSCPIfc执行时间指令条数局限性:局限性: MIPS仅适用于标量机仅适用于标量机 采用不同指令系统的机器之间,采用不同指令系统的机器之间,MIP

39、S没没有可比性。有可比性。 采用不同的程序进行测试时,所得的结果采用不同的程序进行测试时,所得的结果缺乏一致性。缺乏一致性。 1.4 1.4 计算机系统设计的定量分析技术计算机系统设计的定量分析技术2. MFLOPS(Million Floating Point Operations Per Second),被称为),被称为每秒百万次浮点运算每秒百万次浮点运算。 用于衡量浮点处理机的运算速度用于衡量浮点处理机的运算速度一个系统的一个系统的MFLOPS数值越大,意味着在数值越大,意味着在单位时间内运行的浮点运算越多。单位时间内运行的浮点运算越多。610MFLOPS运行时间程序中的浮点运算次数1.

40、4 1.4 计算机系统设计的定量分析技术计算机系统设计的定量分析技术各种浮点运算用时不同,因而常对不同各种浮点运算用时不同,因而常对不同的浮点运算乘以一个正则化的值,然后的浮点运算乘以一个正则化的值,然后再求再求MFLOPS。浮点加、乘、减、比较。浮点加、乘、减、比较操作的正则化值为操作的正则化值为1,除、开方为,除、开方为4,指,指数、三角函数为数、三角函数为8。一般认为,在标量机中执行一次浮点运一般认为,在标量机中执行一次浮点运算需要算需要2至至5条指令,平均条指令,平均3条,故有条,故有1MFLOPS约等于约等于3MIPS。1.4 1.4 计算机系统设计的定量分析技术计算机系统设计的定量

41、分析技术例例. 已知已知Pentium II 450处理机的处理机的CPI=0.5,试试计算计算Pentium II 450处理机的运算速度处理机的运算速度(即(即MIPS)。)。解:由于解:由于Pentium II 450 处理机的主频处理机的主频fc=450MHz,因此可求出:,因此可求出:MIPSCPIfc900105 . 01045010MIPS6661.4 1.4 计算机系统设计的定量分析技术计算机系统设计的定量分析技术3基准测试程序基准测试程序 基准测试程序通常用高级语言编写,由各基准测试程序通常用高级语言编写,由各系统自带的编译程序编译成适合在本机中系统自带的编译程序编译成适合在

42、本机中运行的机器码,记下各程序运行所花费的运行的机器码,记下各程序运行所花费的时间,然后按一定的规则计算其执行时间。时间,然后按一定的规则计算其执行时间。 通常可以分为两类:通常可以分为两类:1)一类用以测试系统中所用的元部件,如一类用以测试系统中所用的元部件,如CPU、硬盘等。硬盘等。2) 一类则用来对全系统的性能进行测试。一类则用来对全系统的性能进行测试。1.4 1.4 计算机系统设计的定量分析技术计算机系统设计的定量分析技术用于测试和比较性能的基准测试程序的最佳选择用于测试和比较性能的基准测试程序的最佳选择是是真实应用程序。真实应用程序。 (例如编译器)(例如编译器) 以前常采用简化了的

43、程序,例如:以前常采用简化了的程序,例如: 核心测试程序:核心测试程序:从真实程序中选出的关键代码从真实程序中选出的关键代码段构成的小程序。段构成的小程序。小测试程序:小测试程序:简单的只有几十行的小程序。简单的只有几十行的小程序。合成的测试程序:合成的测试程序:人工合成出来的程序。人工合成出来的程序。WhetstoneWhetstone与与DhrystoneDhrystone是最流行的合成测试程是最流行的合成测试程序。序。 从测试性能的角度来看,上述测试程序就不可信了。从测试性能的角度来看,上述测试程序就不可信了。 1.4 1.4 计算机系统设计的定量分析技术计算机系统设计的定量分析技术原因

44、:原因:p这些程序比较小,具有片面性;这些程序比较小,具有片面性;p系统结构设计者和编译器的设计者可以系统结构设计者和编译器的设计者可以“合谋合谋”把他们的计算机面向这些测试程序进行优化设把他们的计算机面向这些测试程序进行优化设计,使得该计算机显得性能更高。计,使得该计算机显得性能更高。性能测试的结果除了和采用什么测试程序有关以性能测试的结果除了和采用什么测试程序有关以 外,还和外,还和在什么条件下进行测试在什么条件下进行测试有关。有关。基准测试程序设计者对制造商的要求基准测试程序设计者对制造商的要求采用同一种编译器;采用同一种编译器;对同一种语言的程序都采用相同的一组编译标对同一种语言的程序

45、都采用相同的一组编译标志。志。 1.4 1.4 计算机系统设计的定量分析技术计算机系统设计的定量分析技术基准测试程序套件:基准测试程序套件:由各种不同的真实应用由各种不同的真实应用程序构成。程序构成。 (能比较全面地反映计算机在各个方面的处(能比较全面地反映计算机在各个方面的处理性能理性能 )SPECSPEC系列:系列:最成功和最常见的测试程序套件最成功和最常见的测试程序套件(美国的标准性能评估公司开发)(美国的标准性能评估公司开发)1.4 1.4 计算机系统设计的定量分析技术计算机系统设计的定量分析技术SPEC(Standard Performance Evaluation Corporat

46、ion):): 是由若干个工作站生产商发起成立的标准是由若干个工作站生产商发起成立的标准性能评估联合体的简称,是基准程序测试性能评估联合体的简称,是基准程序测试方面影响最大的一个组织。方面影响最大的一个组织。 SPEC基准测试程序对于测试结果的处理基准测试程序对于测试结果的处理可以分为两个方面:可以分为两个方面: 1)对每个测试程序的运行结果给出一个衡量)对每个测试程序的运行结果给出一个衡量标准。标准。 2)对全部测量结果给出一个总体评价。)对全部测量结果给出一个总体评价。1.4 1.4 计算机系统设计的定量分析技术计算机系统设计的定量分析技术 作为衡量单个测试程序运行结果的一种方作为衡量单个

47、测试程序运行结果的一种方法,早期是将一个基准程序在法,早期是将一个基准程序在DEC公司的公司的VAX 11/780(一种超级小型机)上运行所(一种超级小型机)上运行所需时间定为需时间定为SPEC参考时间。这个参考时间参考时间。这个参考时间与其他机器运行的时间相比,得到一个与其他机器运行的时间相比,得到一个SPEC速率,借以表现一个系统对该程序运速率,借以表现一个系统对该程序运行时的相对速度。行时的相对速度。 例如,例如,SPEC程序集中有一个程序集中有一个gcc程序,他程序,他的的SPEC参考时间为参考时间为1482秒,如果另一个秒,如果另一个系统运行同样程序所花的时间为系统运行同样程序所花的

48、时间为100秒,那秒,那么这个机器的么这个机器的SPEC速率就是速率就是14.82。1.4 1.4 计算机系统设计的定量分析技术计算机系统设计的定量分析技术 在考虑整个基准程序集的测试结果时,在考虑整个基准程序集的测试结果时,SPEC推荐使用几何平均值作为标准。即:推荐使用几何平均值作为标准。即:nnii1SPECSPEC速率数式中表示,将式中表示,将n个测试程序所得的结果相乘,个测试程序所得的结果相乘,然后开然后开n次方。这种做法的好处在于,不论系次方。这种做法的好处在于,不论系统对哪一个基准程序测试做了改进,都能完整统对哪一个基准程序测试做了改进,都能完整地反映在地反映在SPEC数中,使众

49、多的测试程序没有数中,使众多的测试程序没有重要与否之分。重要与否之分。1.5 1.5 计算机系统结构的发展过程计算机系统结构的发展过程一一.冯冯诺依曼结构诺依曼结构 运算器 (ALU) 控制器 存储器 数数据据流流 控控制制流流 输输入入 指指令令流流 输入 设备 输输出出 输出 设备 存储程序计算机的结构存储程序计算机的结构 1.5 1.5 计算机系统结构的发展过程计算机系统结构的发展过程存储程序原理的基本点:存储程序原理的基本点:指令驱动指令驱动 程序预先存放在计算机存储器中,计算机程序预先存放在计算机存储器中,计算机一旦启动,就能按照程序指定的逻辑顺序一旦启动,就能按照程序指定的逻辑顺序

50、执行这些程序,自动完成由程序所描述的执行这些程序,自动完成由程序所描述的处理工作。处理工作。冯冯诺依曼结构的诺依曼结构的主要特点主要特点以运算器为中心。以运算器为中心。在存储器中,指令和数据同等对待。在存储器中,指令和数据同等对待。 指令和数据一样可以进行运算,即由指令和数据一样可以进行运算,即由指令组成的程序是可以修改的。指令组成的程序是可以修改的。 1.5 1.5 计算机系统结构的发展过程计算机系统结构的发展过程 存储器是按地址访问、按顺序线性编址的存储器是按地址访问、按顺序线性编址的一维结构,每个单元的位数是固定的。一维结构,每个单元的位数是固定的。 指令的执行是顺序的。指令的执行是顺序

51、的。一般是按照指令在存储器中存放的顺序执行。一般是按照指令在存储器中存放的顺序执行。程序的分支由转移指令实现。程序的分支由转移指令实现。由指令计数器由指令计数器PCPC指明当前正在执行的指令在存指明当前正在执行的指令在存储器中的地址。储器中的地址。 指令由操作码和地址码组成。指令由操作码和地址码组成。 指令和数据均以二进制编码表示,采用二指令和数据均以二进制编码表示,采用二进制运算。进制运算。1.5 1.5 计算机系统结构的发展过程计算机系统结构的发展过程二二. .对冯诺依曼结构的改进对冯诺依曼结构的改进1. 输入输入/输出方式的改进输出方式的改进 程程序序控控制制 输输入入输输出出方方式式

52、DMA I/O 处处理理机机 程程序序等等待待 程程序序中中断断 成成组组传传递递 周周期期挪挪用用 通通道道 外外围围处处理理机机 1.5 1.5 计算机系统结构的发展过程计算机系统结构的发展过程2.采用并行处理技术采用并行处理技术 3.存储器组织结构的发展存储器组织结构的发展相联存储器与相联处理机相联存储器与相联处理机通用寄存器组通用寄存器组高速缓冲存储器高速缓冲存储器CacheCache4.指令集的发展指令集的发展 两个发展方向:两个发展方向:复杂指令集计算机(复杂指令集计算机(CISCCISC)精减指令集计算机(精减指令集计算机(RISCRISC)1.5 1.5 计算机系统结构的发展过

53、程计算机系统结构的发展过程三三. 软件对系统结构发展的影响软件对系统结构发展的影响软件的可移植性:软件的可移植性: 一个软件可以不经修改或者只需少量修改一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机就可以由一台计算机移植到另一台计算机上正确地运行。差别只是执行时间的不同。上正确地运行。差别只是执行时间的不同。 我们称这两台计算机是我们称这两台计算机是软件兼容软件兼容的。的。实现可移植性的常用方法实现可移植性的常用方法采用系列机,模拟与仿真,统一高级语采用系列机,模拟与仿真,统一高级语言言 。1.5 1.5 计算机系统结构的发展过程计算机系统结构的发展过程1 1、系列机

54、与兼容机系列机与兼容机(1)系列机)系列机 系列机是指由一个厂家或公司按照同一种系系列机是指由一个厂家或公司按照同一种系统结构而生产的一系列计算机。它们具有相统结构而生产的一系列计算机。它们具有相同系统结构,但其组成和实现可能不同,性同系统结构,但其组成和实现可能不同,性能参数和档次也会有所不同。能参数和档次也会有所不同。如果在一个机器上编写的程序,不加修改就如果在一个机器上编写的程序,不加修改就可以在比较高档的机器上运行,称为可以在比较高档的机器上运行,称为向上兼向上兼容容。反之,如能在低档机上运行则称为。反之,如能在低档机上运行则称为向下向下兼容兼容。通常,系列机中向上兼容是必须保证的,向

55、通常,系列机中向上兼容是必须保证的,向下兼容往往是有条件的。下兼容往往是有条件的。1.5 1.5 计算机系统结构的发展过程计算机系统结构的发展过程(2)兼容机)兼容机 由不同公司厂家生产的具有相同系统结构的计由不同公司厂家生产的具有相同系统结构的计算机算机 。是后起厂商为使自己的产品能和品牌产。是后起厂商为使自己的产品能和品牌产品匹配或能运行品牌产品的软件而生产的。品匹配或能运行品牌产品的软件而生产的。1.5 1.5 计算机系统结构的发展过程计算机系统结构的发展过程2. 模拟和仿真模拟和仿真 使软件能在具有不同系统结构的机器使软件能在具有不同系统结构的机器之间相互移植。之间相互移植。在一种系统

56、结构上实现另一种系统在一种系统结构上实现另一种系统结构。结构。从指令集的角度来看,就是要在一从指令集的角度来看,就是要在一种机器上实现另一种机器的指令集。种机器上实现另一种机器的指令集。1.5 1.5 计算机系统结构的发展过程计算机系统结构的发展过程模拟模拟: 用软件的方法在一台现有的机器(称为用软件的方法在一台现有的机器(称为宿宿主机主机)上实现另一台机器(称为)上实现另一台机器(称为虚拟机虚拟机)的指令集。的指令集。通常用解释的方法来实现。通常用解释的方法来实现。运行速度较慢,性能较差。运行速度较慢,性能较差。1.5 1.5 计算机系统结构的发展过程计算机系统结构的发展过程仿真:仿真: 用一台现有机器(用一台现有机器(宿主机宿主机)上的微程序去)上的微程序去解释实现另一台机器(解释实现另一台机器(目标机目标机)的指令集。)的指令集。运行速度比模拟方法的快运行速度比模拟方法的快仿真只能在系统结构差距不大的机器之仿真只能在系统结构差距不大

温馨提示

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

评论

0/150

提交评论