计算机系统结构教程课件第一章计算机系统结构的基础知识_第1页
计算机系统结构教程课件第一章计算机系统结构的基础知识_第2页
计算机系统结构教程课件第一章计算机系统结构的基础知识_第3页
计算机系统结构教程课件第一章计算机系统结构的基础知识_第4页
计算机系统结构教程课件第一章计算机系统结构的基础知识_第5页
已阅读5页,还剩129页未读 继续免费阅读

下载本文档

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

文档简介

1、1 1/134/134计算机系统结构计算机系统结构天津商业大学天津商业大学计算机科学与技术教研室计算机科学与技术教研室2 2/134/134u 专业基础课,学位必专业基础课,学位必/选修课选修课u 内容多、理论性强、难度较大内容多、理论性强、难度较大u 总结性课程总结性课程u (硬件方面:数字逻辑、组成原理等,u 软件方面:操作系统、汇编语言、数据结构等u 再通过学习计算机系统结构建立起计算机系统的完整概念)课课 程程 特特 点点3 3/134/134第一章 计算机系统结构的基本概念 (6学时)第二章 指令系统的设计 (8学时)第三章 流水线技术 (10学时)第四章 向量处理机 (4学时)第五

2、章 存储系统 (10学时)第六章 输入输出系统 (6学时)第七章 多处理机(自学) (8学时)习题课1-3次课程内容与课时分配课程内容与课时分配4 4/134/134作业:每个章节留若干课后作业上交; 未布置的习题课下尽量全部完成;成绩: 平时成绩-出勤率、课堂表现 15% 作业成绩 15% 期末考试成绩 70%课程邮箱: key:jsjtxjg作业与成绩计算作业与成绩计算5 5/134/134计算机系统结构教程张晨曦 清华大学出版社教学参考书6 6/134/134 计算机从1946年诞生至今,经历了多次更新换代。一般将主要电子器件的使用作为计算机更新换代的最突出标志。 例如:电子管、晶体管、

3、集成电路、中小规模IC、超大规模IC等。 实际上,还有一个计算机更新换代的重要标志就是系统结构技术的不断出现与运用。引言:为什么要讨论系统结构?7 7/134/134第一代:(1946-1954) 元器件:电子管、继电器存储器、 绝缘导线互联 软硬件:单个CPU、顺序定点计算 采用机器语言或汇编语言 用CPU程序控制I/O 代表机型:ENIAC、IBM701分析:计算机各代的关键技术8 8/134/134第二代:(1955-1964) 元器件:分立式晶体三极管、二极管 铁氧体的磁芯存储器、印刷电路板 软硬件:单个CPU、变址寄存器、浮点计算 多路存储器、 I/O处理机 采用高级语言、子程序库、

4、批处理监控程序 代表机型:Univac LARC、CDC1604、IBM7030分析:计算机各代的关键技术9 9/134/134第三代:(1965-1974) 元器件:中小规模集成电路、多层印刷电路 软硬件:微程序控制、流水线、高速缓存、 先行处理机 代表机型:IBM360-370系列、 CDC6600/7600系列、 PDP系列分析:计算机各代的关键技术1010/134/134第四代:(1974-1991) 元器件:大或超大规模集成电路、半导体存储器、 软硬件:各种不同结构的并行计算机出现 (采用共享存储器、分布存储器、向量硬件等) 用于并行处理的多处理OS、专用语言、 编译器,用于并行或分

5、布处理的软件工具和环境 代表机型:VAX9000、CRAY X-MP、IBM3090V分析:计算机各代的关键技术1111/134/134第五代:(1991-至今) 元器件:VLSI工艺更加完善的高密度、高速处理机和存储器芯片 软硬件:大规模并行处理,采用可扩展的和容许时延的系统结构 代表机型:Fujitsu VPP500、CRAY MPP、 Intel Paragon、SUN 10000分析:计算机各代的关键技术1212/134/134 系统结构的不断改进、新概念的不断提出与实现系统结构的不断改进、新概念的不断提出与实现使计算机性能不断提高。使计算机性能不断提高。 例1: P.H.Enslow

6、比较了1965-1975年共10年的变化: 元器件性能 10倍 计算机系统性能 100倍 结论:为什么要讨论系统结构?1313/134/134例2:INTEL奔腾系列微机CPU换代 Pentium(P5): 基于UV两条指令流水线 Pentium mmx(P55): 基于mmx技术 Pentium pro: 基于动态执行技术 PII: 基于P55和 P pro技术的结合 PIII: 基于SSE(数据流单指令多数据扩展)概念 PIV: 基于SSE2(双精度SIMD指令集) 结论:为什么要讨论系统结构?1414/134/134 计算机系统结构是从程序和计算机设计的角度来研究计算机本身,以及由计算机

7、组成的各种系统的体系结构和组成科学。 Computer Architecture 计算机系统结构 计算机体系结构 计算机体系结构学科=系统结构+组成课 程 介 绍1515/134/134l 从外部来研究计算机系统 定性:软硬两方面 研究软、硬件功能分配以及如何最佳、最合理的实现分配给硬件的功能。l 评价计算机的性能价格比研究内容1616/134/134l 建立计算机系统的完整概念l 学习计算机系统的分析方法和设计方法l 掌握新型计算机系统的基本结构及其工作原理交叉点内容:提高,建立完整概念新内容:流水线、超标量、超流水线处理机、向量处理机、并行处理机、多处理机等学习目的1717/134/134

8、l 计算机系统结构正处于变革时期l软件系统结构组成技术,两头发展快、中间慢l非冯计算机正兴起l系统结构的发展时期已经到来l 课时安排l课内:48学时;课本+补充知识l课外:参考书1818/134/134 第一章第一章 计算机系统结构的基础知识计算机系统结构的基础知识天津商业大学天津商业大学1919/134/1341.1 计算机系统结构的基本概念1.2 计算机系统的设计1.3 计算机系统的性能评测1.4 计算机系统结构的发展1.5 计算机系统结构中并行性的发展2020/134/1341.1.1 计算机系统的层次结构l 计算机系统硬件/固件软件l 计算机语言从低级向高级发展 高一级语言的语句相对于

9、低一级语言来说功能更强,高一级语言的语句相对于低一级语言来说功能更强,更便于应用,但又都以低级语言为基础。更便于应用,但又都以低级语言为基础。 l 从计算机语言的角度,把计算机系统按功能划分成 多级层次结构。 每一层以一种语言为特征 1.1 计算机系统结构的基本概念1.1 计算机系统结构的基本概念 第第 6 级级:应应用用语语言言机机器器 第第 5 级级:高高级级语语言言机机器器 第第 4 级级:汇汇编编语语言言机机器器 第第 3 3 级级:操操作作系系统统机机器器 第第 2 2 级级:传传统统机机器器语语言言机机器器 第第 1 1 级级:微微程程序序机机器器 虚拟机虚拟机物理机物理机2222

10、/134/1341.1 计算机系统结构的基本概念2323/134/1341.1 计算机系统结构的基本概念物理机: 用硬件/固件实现的机器 ( (最下面的两级机器最下面的两级机器) )虚拟机:由软件实现的机器q虚拟机中有些操作可以由硬件或固件实现。虚拟机中有些操作可以由硬件或固件实现。q固件固件:具有软件功能的硬件。:具有软件功能的硬件。 2424/134/1341.1 计算机系统结构的基本概念各机器级的实现主要靠翻译或解释,或两者的结合。 q翻译:翻译:先用转换程序把高一级机器上的程序转换为低一级机先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程

11、序器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。的功能。 q解释:解释:对于高一级机器上的程序中的每一条语句或指令,都对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。执行完后,再去是转去执行低一级机器上的一段等效程序。执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。复,直到解释执行完整个程序。解释执行比编译后再执行所花的时间多,但占用的存储空间较少。2525/134/1341.1 计算机系统结构的基本概念 1.1.2 计算机系统结构的定义计算机系统

12、结构的经典定义1964年G.M.Amdahl在介绍IBM360系统提出:计算机系统结构是程序员所看到的计算机属性,即程序员编写出能在机器上正确运行的程序所必须了解到的概念性结构和功能特性。计算机系统的外特性2626/134/1341.1 计算机系统结构的基本概念外特性外特性 用一个不恰当的比喻:比如动物的“系统结构”是指什么呢?它的概念性结构和功能特性,就相当于动物的器官组成及其功能特性。 如人有胃,胃可以消化食物。至于胃是什么形状的、又什么组成就不是“系统结构”研究的问题了。系统结构只管到这一层。2727/134/1341.1 计算机系统结构的基本概念问题:从计算机系统的多级层次结构出发,不

13、同级的程序员所看到的计算机属性不一样的。例如:高级语言程序员:软件 (程序语言、OS、编译程序)机器语言程序员:硬件 (数据表示、寻址方式、寄存器定义、 指令系统、中断、输入输出)2828/134/1341.1 计算机系统结构的基本概念 传统机器存在的差别是高级程序员不需要看见的,对他是透明的。透明性 一种本来存在的事物或属性,从某个角度看却好像不存在。通常: 计算机系统中,低层机器级的概念性结构和功能特性对高层机器级的程序员来说,基本是透明的。2929/134/1341.1 计算机系统结构的基本概念 由于从不同层次(级)的程序员看计算机的属性是不同的,这个属性就是计算机系统不同层次的界面。定

14、义2:“系统结构”就是指的计算机系统中对各级之间界面的定义,及其上下的功能分配。 各个机器级都有自己的系统结构。设计者要研究好各级的透明性,进行合理的分析、取舍。3030/134/1341.1 计算机系统结构的基本概念讨论:讨论:G.M.Amdahl列举的属性列举的属性 处理机、存储系统、I/O方式、中断机构 -机器语言或汇编程序设计者了解的属性, 既有软件,又有硬件系统结构研究的内容系统结构研究的内容 本书传统机器级的系统结构 软件与硬(固)件的交界面 内容:计算机软硬件功能的分配以及对机器级界面 的确定。3131/134/1341.1 计算机系统结构的基本概念 计算机系统结构的实质: 确定

15、计算机系统中软硬件的界面,界面之上是软件实现的功能,界面之下是硬件和固件实现的功能。3232/134/1341.1 计算机系统结构的基本概念1.1.3 计算机组成和计算机实现1、计算机组成 计算机系统结构的逻辑实现,包括物理机器级内的数据流和控制流的组成以及逻辑设计等。 任务:系统结构确定了分配各硬件子系统的功能及概念性结构后,研究各组成部分的内部构造和相互联系,以实现机器指令级的要求。 设计要求:按性价比要求,最佳最合理地把各种设备和部件组合成计算机,而且性能参数互相匹配。3333/134/1341.1 计算机系统结构的基本概念2、计算机实现 计算机组成的物理实现。包括处理机、主存等部件的物

16、理结构,器件的集 成度和速度,模块、插件、底板的划分与连接, 信号传输,电源、冷却及整机装配技术等。着眼于:器件技术(起主导作用)、微组装技术。任务:器件的选择和组装技术要求:性能价格比要求3434/134/1341.1 计算机系统结构的基本概念举例:举例: 胃的例子:系统结构外特性,胃具有消化功能;组成计算机系统结构的内特性:将那些外特性加以“逻辑实现”的基本属性。 比如胃的功能是消化食物外特性。那怎么消化呢,胃的蠕动、分泌胃酸等操作就是内特性。实现胃由那些组织,几条肌肉和神经来促使它运动。3535/134/1341.1 计算机系统结构的基本概念 例. 指令系统的确定(条数、类型、方式) 系

17、统结构 取指、取操作数、运算、送结果等具体操作及其排序方式 组成 具体电路、器件的设计及装配技术等 实现3636/134/1341.1 计算机系统结构的基本概念 具有相同系统结构的计算机可以采用不同的计算机组成。同一种计算机组成又可以采用多种不同的计算机实现。系列机 由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的机器。 例如例如 IBMIBM公司的公司的IBM370IBM370系列,系列,IntelIntel公司的公司的x86x86系列等。系列等。3737/134/1341.1 计算机系统结构的基本概念1.1.4 计算机系统结构的分类常见的计算机系统结构分类法有3种:

18、 Flynn分类法 冯氏分类法 Handler分类法 3838/134/1341.1 计算机系统结构的基本概念1. Flynn分类法 按照指令流和数据流的多倍性进行分类。q指令流指令流:计算机执行的指令序列:计算机执行的指令序列q数据流数据流:由指令流调用的数据序列:由指令流调用的数据序列q多倍性多倍性:在系统最受限的部件上,同时处于:在系统最受限的部件上,同时处于同一执行阶段的指令或数据的最大数目。同一执行阶段的指令或数据的最大数目。3939/134/1341.1 计算机系统结构的基本概念把计算机系统的结构分为4类q单指令流单数据流单指令流单数据流SISD(Single Instructio

19、n stream Single Data stream)q单指令流多数据流单指令流多数据流SIMD(Single Instruction stream Multiple Data stream)q多指令流单数据流多指令流单数据流MISD(Multiple Instruction stream Single Data stream)q多指令流多数据流多指令流多数据流MIMD(Multiple Instruction stream Multiple Data stream) 4040/134/1341.1 计算机系统结构的基本概念4类计算机的基本结构qISIS:指令流:指令流qDSDS:数据流:数

20、据流qCSCS:控制流:控制流qCUCU:控制部件:控制部件qPUPU:处理部件:处理部件qMMMM和和SMSM:存储器:存储器 CU PU MM IS CS PU1 PU2 PUn PU1 PU2 PUn CU1 CU2 CUn CS1 CS2 CSn PU1 PU2 PUn CU1 CU2 CUn CS1 CS2 CSn MM1 MM2 MMm DS IS1 IS2 ISn SM DS (c)MISD 计算机计算机 DS1 DS2 DSn MM1 MM2 MMm SM IS1 IS2 ISn (d)MIMD 计算机计算机 (a)SISD 计算机计算机 MM1 MM2 MMm SM CU D

21、S1 DS2 DSn IS (b)SIMD 计算机计算机 CS DS 4242/134/1341.1 计算机系统结构的基本概念w 冯氏分类法用系统的最大并行度对计算机进行分类。最大并行度:计算机系统在单位时间内能够处理 的最大的二进制位数。 用平面直角坐标系中的一个点代表一个计用平面直角坐标系中的一个点代表一个计算机系统,其横坐标表示字宽(算机系统,其横坐标表示字宽(n n位位),纵),纵坐标表示一次能同时处理的字数(坐标表示一次能同时处理的字数(m m字字)。)。m mn n就表示了其最大并行度。就表示了其最大并行度。 4343/134/1341.1 计算机系统结构的基本概念 位片宽 (m)

22、 16384 288 256 64 32 16 1 16 32 64 MPP (1,16384) STARAN (1,256) EDVAC (1,1) 字宽(n) PEPE Cmmp PDP-11 IBM 370/168 TI-ASC Illiac (32,288) (16,16) (16,1) (64,64) (64,32) (32,1) 4444/134/1341.1 计算机系统结构的基本概念4类不同最大并行度的计算机系统结构q字串位串字串位串:n1,m1。 (第一代计算机发展初期的纯串行计算机第一代计算机发展初期的纯串行计算机)q字串位并字串位并: n1,m1。这是传统的单处理机,同。这

23、是传统的单处理机,同时处理单个字的多个位,如时处理单个字的多个位,如16位、位、32位等。位等。q字并位串字并位串:n1,m1。同时处理多个字的同一位。同时处理多个字的同一位(位片)。(位片)。q字并位并字并位并:n1,m1。同时处理多个字的多个位。同时处理多个字的多个位。平均并行度 与最大并行度密切相关的一个指标。与最大并行度密切相关的一个指标。 取决于系统的运用程度,与应用程序有关。取决于系统的运用程度,与应用程序有关。 4545/134/1341.1 计算机系统结构的基本概念 假设每个时钟周期内能同时处理的二进制位数为假设每个时钟周期内能同时处理的二进制位数为Pi,则则T个时钟周期内的平

24、均并行度为:个时钟周期内的平均并行度为: 系统在系统在T个时钟周期内的个时钟周期内的平均利用率平均利用率定义为:定义为:TPPTiia1mTiimaTPPPP14646/134/1341.1 计算机系统结构的基本概念w Handler分类法根据并行度和流水线对计算机进行分类。把计算机的硬件结构分成3个层次q程序控制部件(程序控制部件(PCU)的个数)的个数kq算术逻辑部件(算术逻辑部件(ALU)或处理部件()或处理部件(PE)的个数的个数dq每个算术逻辑部件包含基本逻辑线路每个算术逻辑部件包含基本逻辑线路(ELC)的套数的套数w4747/134/1341.1 计算机系统结构的基本概念用公式表示

25、 t(系统型号)(k,d,w)进一步改进 t (系统型号)(kk,dd,ww)qk:宏流水线中程序控制部件的个数:宏流水线中程序控制部件的个数qd:指令流水线中算术逻辑部件的个数:指令流水线中算术逻辑部件的个数qw:操作流水线中基本逻辑线路的套数:操作流水线中基本逻辑线路的套数 4848/134/1341.1 计算机系统结构的基本概念 例如:例如:Cray-1有有1个个CPU,12个相当于个相当于ALU或或PE的的处理部件,可以最多实现处理部件,可以最多实现8级流水线。字长为级流水线。字长为64位,位,可以实现可以实现114位流水线处理。所以位流水线处理。所以Cray-1系统结系统结构可表示为

26、:构可表示为: t(Cray-1)(1,128,64(114))几个例子:几个例子: t(PDP-11)(1,1,16) t(Illiac )(1,64,64) t(STARAN)(1,8192,1) t(Cmmp)(16,1,16) t(PEPE)(13,288,32) t(TI-ASC)(1,4,648)4949/134/1344个定量原理:1. 以经常性事件为重点(大概率事件优先原理)对经常发生的情况采用优化方法的原则进行选 择,以得到更多的总体上的改进。优化是指分配更多的资源、达到更高的性能或 者分配更多的电能等。优先的处理权、资源使用权 1.2.1 计算机系统设计的定量原理1.2 计

27、算机系统的设计5050/134/1341.2 计算机系统的设计w阿姆达尔(Amdahl)定律系统中某个部件进行改进后,所能获得的整个系统系能的提高,受限于该部件的执行时间占系统中总执行时间的百分比。系统性能加速比:改进前后性能或时间的比值。加速比系统性能改进后系统性能改进前总执行时间改进前总执行时间改进后 5151/134/1341.2 计算机系统的设计加速比依赖于两个因素(参数)q可改进比例可改进比例(Fe):在改进前的系统中,可改进部分在改进前的系统中,可改进部分的执行时间在总的执行时间中所占的比例。的执行时间在总的执行时间中所占的比例。 它总是小于等于它总是小于等于1 1。例如:例如:一

28、个需运行一个需运行6060秒的程序中有秒的程序中有2020秒的运算可以加速,秒的运算可以加速, 那么这个比例就是那么这个比例就是20/6020/60。q部件加速比部件加速比(Se) :可改进部分改进以后性能提高的可改进部分改进以后性能提高的倍数。它是改进前所需的执行时间与改进后执行时间倍数。它是改进前所需的执行时间与改进后执行时间的比。的比。 一般情况下部件加速比是大于一般情况下部件加速比是大于1 1的。的。例如:例如:若系统改进后,可改进部分的执行时间是若系统改进后,可改进部分的执行时间是2 2秒,秒, 而改进前其执行时间为而改进前其执行时间为5 5秒,则部件加速比为秒,则部件加速比为5/2

29、5/2。5252/134/1341.2 计算机系统的设计改进后程序的总执行时间总执行时间改进后 不可改进部分的执行时间 可改进部分改进后的执行时间总执行时间改进后 (1可改进比例)总执行时间改进前 + (1 可改进比例) + 总执行时间改进前 可改进比例部件加速比可改进比例总执行时间改进前部件加速比5353/134/1341.2 计算机系统的设计系统加速比为改进前与改进后总执行时间之比加速比 总执行时间改进前总执行时间改进后 (1可改进比例)+可改进比例部件加速比15454/134/1341.2 计算机系统的设计改进后程序的总执行时间TnSeFeFeTTn10qT0:改进前整个程序的执行时间:

30、改进前整个程序的执行时间q1Fe:不可改进比例:不可改进比例 系统加速比Sn为改进前与改进后总执行时间之比:SeFeFeTTSnn1105555/134/1341.2 计算机系统的设计 例例1.1 1.1 将计算机系统中某一功能的处理速度加快将计算机系统中某一功能的处理速度加快1515倍,但倍,但该功能的处理时间仅占整个系统运行时间的该功能的处理时间仅占整个系统运行时间的40%40%,则采用此增强,则采用此增强功能方法后,能使整个系统的性能提高多少?功能方法后,能使整个系统的性能提高多少? 解解 由题可知:由题可知: F Fe e = 40% = 0.4 = 40% = 0.4 S Se e

31、= 15 = 15 根据根据AmdahlAmdahl定律可知:定律可知: 采用此增强功能方法后,能使整个系统的性能提高到原来采用此增强功能方法后,能使整个系统的性能提高到原来的的1.61.6倍倍。 6 . 1154 . 0)4 . 01 (1)1 (1SeFeFeSn5656/134/1341.2 计算机系统的设计 例例1.2 1.2 某计算机系统采用浮点运算部件后,使浮点运算速某计算机系统采用浮点运算部件后,使浮点运算速度提高到原来的度提高到原来的2525倍,而系统运行某一程序的整体性能提高到倍,而系统运行某一程序的整体性能提高到原来的原来的4 4倍,试计算该程序中浮点操作所占的比例。倍,试

32、计算该程序中浮点操作所占的比例。 解解 由题可知:由题可知: S Se e = 25 S = 25 Sn n = 4 = 4 根据根据AmdahlAmdahl定律可知:定律可知: 由此可得:由此可得:Fe = 78.1% = 78.1% 即程序中浮点操作所占的比例为即程序中浮点操作所占的比例为78.1%78.1%。25114FeFe 5757/134/1341.2 计算机系统的设计Amdahl定律:一种性能改进的递减规则q如果仅仅对计算任务中的一部分做性能改进,则改如果仅仅对计算任务中的一部分做性能改进,则改 进得越多,所得到的总体性能的提升就越有限。进得越多,所得到的总体性能的提升就越有限。

33、重要推论:如果只针对整个任务的一部分进行改 进和优化,那么所获得的加速比不超过: 1/(1可改进比例) 5858/134/1341.2 计算机系统的设计w CPU性能公式执行一个程序所需的CPU时间CPU时间 = 执行程序所需的时钟周期数时钟周期时间其中:时钟周期时间是系统时钟频率的倒数。每条指令执行的平均时钟周期数CPI (Cycles Per InstructionCycles Per Instruction) CPI = 执行程序所需的时钟周期数IC ICIC:所执行的指令条数所执行的指令条数程序执行的CPU时间可以写成 CPU时间 = IC CPI 时钟周期时间 5959/134/13

34、41.2 计算机系统的设计CPU的性能取决于三个参数q时钟周期时间:时钟周期时间:取决于硬件实现技术和计算机组成;取决于硬件实现技术和计算机组成;qCPICPI:取决于计算机组成和指令系统的结构;取决于计算机组成和指令系统的结构;qICIC:取决于指令系统的结构和编译技术。取决于指令系统的结构和编译技术。对CPU性能公式进行进一步细化 假设:计算机系统有假设:计算机系统有n n种指令,种指令,n n是指令的种类。是指令的种类。 CPICPIi i :第第i i种指令的处理时间;种指令的处理时间; ICICi i :在程序中第在程序中第i i种指令出现的次数;种指令出现的次数;则:则: CPUC

35、PU时钟周期数时钟周期数 = = (CPI (CPIi i IC ICi i) )n ni=1i=16060/134/1341.2 计算机系统的设计CPU时间 = 执行程序所需的时钟周期数时钟周期时间 = (CPIiICi)时钟周期时间CPI可以表示为:CPI = = = 其中:(ICi/IC)反映了第i种指令在程序中所占的比例。用于设计方案的评价。 i=1n时钟周期数IC(CPIiICi)i=1nIC(CPIi )i=1nICiIC6161/134/1341.2 计算机系统的设计 例例1.3 假设假设FP指令的比例为指令的比例为25%,平均平均CPI为为4。其他指令的平。其他指令的平均均CP

36、I为为1.33。其中,。其中,FPSQR占全部指令的比例为占全部指令的比例为2%,CPI为为20 ,现有两种改进方案,第一种是把,现有两种改进方案,第一种是把FPSQR操作的操作的CPI减至减至2,第二种是把所有的第二种是把所有的FP操作的操作的CPI减至减至2,试比较两种方案对系统,试比较两种方案对系统性能的提高程度。性能的提高程度。 解解 没有改进之前,每条指令的平均时钟周期没有改进之前,每条指令的平均时钟周期CPI为:为: 2%7533. 1%2541niiiICICCPICPI6262/134/1341.2 计算机系统的设计 (1)采用第一种方案)采用第一种方案 FPSQR操作的操作的

37、CPI由由CPIFPSQR20减至减至CPIFPSQR2,则整,则整个系统的指令平均时钟周期数为:个系统的指令平均时钟周期数为: CPI1CPI(CPIFPSQRCPIFPSQR)2% 2(202) 2%1.64 (2)采用第二种方案)采用第二种方案 所有所有FP操作的操作的CPI由由CPIFP4减至减至CPIFP2,则整个系统,则整个系统的指令平均时钟周期数为:的指令平均时钟周期数为: CPI2CPI(CPIFPCPIFP)25% 2(42) 25%1.5 从降低整个系统的指令平均时钟周期数的程度来看,第二从降低整个系统的指令平均时钟周期数的程度来看,第二种方案优于第一种方案。种方案优于第一

38、种方案。6363/134/1341.2 计算机系统的设计 例例1.4 1.4 考虑条件分支指令的两种不同设计方法:考虑条件分支指令的两种不同设计方法: (1 1)CPUCPU1 1:通过比较指令设置条件码,然后测试条件码进行通过比较指令设置条件码,然后测试条件码进行分支。分支。 (2 2)CPUCPU2 2:在分支指令中包括比较过程。在分支指令中包括比较过程。 在这两种在这两种CPUCPU中,条件分支指令都占用中,条件分支指令都占用2 2个时钟周期,而所有个时钟周期,而所有其它指令占用其它指令占用1 1个时钟周期。对于个时钟周期。对于CPUCPU1 1,执行的指令中分支指令占,执行的指令中分支

39、指令占30%30%;由于每条分支指令之前都需要有比较指令,因此比较指令也;由于每条分支指令之前都需要有比较指令,因此比较指令也占占30%30%。由于。由于CPUCPU1 1在分支时不需要比较,因此在分支时不需要比较,因此CPUCPU2 2的时钟周期时间的时钟周期时间是是CPUCPU1 1的的1.351.35倍。问:哪一个倍。问:哪一个CPUCPU更快?如果更快?如果CPUCPU2 2的时钟周期时间的时钟周期时间只是只是CPUCPU1 1的的1.151.15倍,哪一个倍,哪一个CPUCPU更快呢?更快呢?6464/134/1341.2 计算机系统的设计 解解 我们不考虑所有系统问题,所以可用我们

40、不考虑所有系统问题,所以可用CPUCPU性能公式。占用性能公式。占用2 2个时钟个时钟周期的分支指令占总指令的周期的分支指令占总指令的30%30%,剩下的指令占用,剩下的指令占用1 1个时钟周期。个时钟周期。所以所以 CPICPI1 1 = 0.3 = 0.3 2 + 0.70 2 + 0.70 1 = 1.3 1 = 1.3则则CPUCPU1 1性能为:性能为: 总总CPUCPU时间时间1 1 = IC = IC1 1 1.3 1.3 时钟周期时钟周期1 1根据假设,有:根据假设,有: 时钟周期时钟周期2 2 = 1.35 = 1.35 时钟周期时钟周期1 1 在在CPUCPU2 2中没有独

41、立的比较指令,所以中没有独立的比较指令,所以CPUCPU2 2的程序量为的程序量为CPUCPU1 1的的70%70%,分支指令的比例为:,分支指令的比例为: 6565/134/1341.2 计算机系统的设计 30%/70% = 42.8%30%/70% = 42.8% 这些分支指令占用这些分支指令占用2 2个时钟周期,而剩下的个时钟周期,而剩下的57.2%57.2%的指令占用的指令占用1 1个时钟个时钟周期,因此:周期,因此: CPICPI2 2 = 0.428 = 0.428 2 + 0.572 2 + 0.572 1 = 1.428 1 = 1.428因为因为CPUCPU2 2不执行比较,

42、故:不执行比较,故: ICIC2 2 = 0.7 = 0.7 IC IC1 1因此因此CPUCPU2 2性能为:性能为: 总总CPUCPU时间时间2 2 = IC = IC2 2 CPI CPI2 2 时钟周期时钟周期2 2 = 0.7 = 0.7 ICIC1 1 1.428 1.428 (1.35 1.35 时钟周期时钟周期1 1) = 1.349 = 1.349 ICIC1 1 时钟周期时钟周期1 16666/134/1341.2 计算机系统的设计 在这些假设之下,尽管在这些假设之下,尽管CPUCPU2 2执行指令条数较少,执行指令条数较少,CPUCPU1 1因为有着更因为有着更短的时钟周

43、期,所以比短的时钟周期,所以比CPUCPU2 2快。快。 如果如果CPUCPU2 2的时钟周期时间仅仅是的时钟周期时间仅仅是CPUCPU1 1的的1.151.15倍,则倍,则 时钟周期时钟周期2 2 = 1.15 = 1.15 时钟周期时钟周期1 1CPUCPU2 2的性能为:的性能为: 总总CPUCPU时间时间2 2 = IC = IC2 2 CPICPI2 2 时钟周期时钟周期2 2 = 0.7= 0.7ICIC1 1 1.428 1.428 (1.15 1.15 时钟周期时钟周期1 1) = 1.15 = 1.15 IC IC1 1 时钟周期时钟周期1 1 因此因此CPUCPU2 2由于

44、执行更少指令条数,比由于执行更少指令条数,比CPUCPU1 1运行更快。运行更快。6767/134/1341.2 计算机系统的设计w程序的局部性原理 程序执行时所访问的存储器地址分布不是随机的,而是相对地簇聚。常用的一个经验规则程序执行时间的程序执行时间的80%80%都是在执行程序中都是在执行程序中20%20%的代码。的代码。程序的时间局部性程序即将用到的信息很可能就是目前正在使用的信息。程序即将用到的信息很可能就是目前正在使用的信息。程序的空间局部性 程序即将用到的信息很可能与目前正在使用的信息程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者临近。在空间上相邻或者临近。6868/

45、134/1341.2 计算机系统的设计 计算机系统设计者的任务包括:指令系统的设计、数据表示的设计、功能的组织、逻辑设计以及其物理实现等。1.2.2 计算机系统设计者的主要任务6969/134/1341.2 计算机系统的设计计算机系统设计的要求:确定用户对计算机系统的功能、价格和性能的要求软硬件功能分配平衡取舍1.系统结构符合今后发展的要求生命周期长7070/134/1341.2 计算机系统的设计1、确定用户对计算机系统的功能、价格和性能的要求、确定用户对计算机系统的功能、价格和性能的要求n应用领域应用领域 专用专用/通用?面向科学计算通用?面向科学计算/商用处理?商用处理? n软件兼容软件兼

46、容 软件兼容软件兼容是指一台计算机上的程序不加修改就可以搬到另一台计是指一台计算机上的程序不加修改就可以搬到另一台计算机上正常运行。算机上正常运行。 程序设计语言层程序设计语言层/二进制目标代码层?二进制目标代码层?n操作系统需求操作系统需求 地址空间大小地址空间大小/存储管理方式存储管理方式/保护方式?保护方式?n标准标准 确定系统中哪些方面要采用标准以及采用什么标准。确定系统中哪些方面要采用标准以及采用什么标准。 浮点数浮点数 / I/O总线总线 / 网络网络 / 程序设计语言程序设计语言n特定应用优化或软件兼容特定应用优化或软件兼容7171/134/1341.2 计算机系统的设计2、软硬

47、件功能取舍原则优化原则一:在现有器件和技术条件下,系统要有高的性能价格比; 硬件实现: 优点:速度快、占存少 缺点:成本高、灵活性差 软件实现: 优点:成本低、灵活性好 缺点:速度慢、占存大、周期长7272/134/1341.2 计算机系统的设计实现费用=设计费用+重复生产费用硬件费用=软件费用*100结论:大量生产,常用功能,硬件实现才适宜; 为特殊需要配备硬件:MMX,3D now! 7373/134/1341.2 计算机系统的设计原则二:考虑设计的软硬件实现复杂度: 完成时间与竞争力 软件领域和组成,实现技术发展较快 计算机系统结构变化不大(不应对软件和组成、实现技术有过多的限制)原则三

48、:对软件(OS、编译高级语言)提供更好的硬件支持7474/134/1341.2 计算机系统的设计3、计算机系统负荷今后发展要求延长机器的使用寿命例如: 软件占用越来越多的存储容量 1.5-2倍/年 高级语言代替汇编语言 -编译器支持7575/134/1341.2 计算机系统的设计出发点:多级层次结构“由上往下”(top-down)设计“由下往上”(bottom-up)设计“从中间开始”(middle-out)设计1.2.3 计算机系统设计的主要方法 设计思路7676/134/1341.2 计算机系统的设计 1. “由上往下”(top-down)设计 自然直观,从应用开始 逐层向下实现,并优化上

49、层优点:面向用户,效率高 适用于专用机的设计缺点:适应性差,周期长 软硬脱节、分离解决方法:不完全优化 不专门设计机器级的“选型”7777/134/1341.2 计算机系统的设计w “由下往上”(bottom-up)设计 根据器件等情况研制硬件,根据要求配置软件各层。优点:可设计通用计算机缺点:软硬件脱节、效率差; 采用这种方法时,软件技术完全处于被动状态,这会造成软件和硬件的脱节,使整个系统的效率降低。(在早期被采用得比较多,现在已经很少被采用了(在早期被采用得比较多,现在已经很少被采用了 )7878/134/1341.2 计算机系统的设计w“从中间开始”(middle-out)设计 “由上

50、往下”和“由下往上”设计方法的主要缺点 软、硬件设计分离和脱节软、硬件设计分离和脱节解决方法:综合考虑软、硬件的分工,从中间开始设计。q“中间中间”:层次结构中的软硬件的交界面,:层次结构中的软硬件的交界面,目前一般是在传统机器语言机器级与操作系目前一般是在传统机器语言机器级与操作系统机器级之间。统机器级之间。 L6:应用语言虚拟机:应用语言虚拟机 L5:高级语言虚拟机:高级语言虚拟机 L4:汇编语言虚拟机:汇编语言虚拟机 L3:操作系统虚拟机:操作系统虚拟机 L2:传统机器语言机器:传统机器语言机器 L1:微程序机器:微程序机器 从中间开始设计从中间开始设计 软硬件交界面软硬件交界面 808

51、0/134/1341.2 计算机系统的设计从中间开始设计综合考虑硬器件和软件要求,定义好软硬界面,综合考虑硬器件和软件要求,定义好软硬界面,再同时进行软硬件设计再同时进行软硬件设计优点:优点:软硬件功能分配比较合理软硬件功能分配比较合理 缩短了研制周期缩短了研制周期 交互式的研制交互式的研制 解决了:软件与硬件分离解决了:软件与硬件分离8181/134/1341. 执行时间和吞吐率 如何评测一台计算机的性能,与测试者看问题的角度有关。用户关心的是:单个程序的执行时间(执行单个 程序所花的时间很少)数据处理中心的管理员关心的是:吞吐率(在单 位时间里能够完成的任务很多 )1.3 计算机系统的性能

52、评测8282/134/1341.3 计算机系统的性能评测假设两台计算机为X和Y,X比Y快的意思是: 对于给定任务,X的执行时间比Y的执行时间少。X的性能是Y的n倍:执行时间与性能成反比: 执行时间Y执行时间X=nn= = =执行时间Y执行时间X性能Y1性能X1性能X性能Y8383/134/1341.3 计算机系统的性能评测执行时间可以有多种定义:q计算机完成某一任务所花费的全部时间,包括计算机完成某一任务所花费的全部时间,包括磁盘磁盘访问、存储器访问、输入访问、存储器访问、输入/输出、操作系统开销等。输出、操作系统开销等。qCPU时间:时间:CPUCPU执行所给定的程序所花费的时间,执行所给定

53、的程序所花费的时间,不包含不包含I/OI/O等待时间以及运行其它程序的时间。等待时间以及运行其它程序的时间。n用户用户CPUCPU时间:时间:用户程序所耗费的用户程序所耗费的CPUCPU时间。时间。n系统系统CPUCPU时间:时间:用户程序运行期间操作系统耗费的用户程序运行期间操作系统耗费的 CPUCPU时间。时间。8484/134/1341.3 计算机系统的性能评测w基准测试程序 用于测试和比较性能的基准测试程序的最佳选择是真实应用程序。 (例如编译器)(例如编译器) 以前常采用简化了的程序,例如: q核心测试程序:核心测试程序:从真实程序中选出的关键代码段构从真实程序中选出的关键代码段构

54、成的小程序。成的小程序。q小测试程序:小测试程序:简单的只有几十行的小程序。简单的只有几十行的小程序。q合成的测试程序:合成的测试程序:人工合成出来的程序。人工合成出来的程序。WhetstoneWhetstone与与DhrystoneDhrystone是最流行的合成测试程序。是最流行的合成测试程序。 从测试性能的角度来看,上述测试程序不可信了。 8585/134/1341.3 计算机系统的性能评测原因:p这些程序比较小,具有片面性;这些程序比较小,具有片面性;p系统结构设计者和编译器的设计者可以系统结构设计者和编译器的设计者可以“合谋合谋”把他把他们的机器面向这些测试程序进行优化设计,使得该们

55、的机器面向这些测试程序进行优化设计,使得该机器显得性能更高。机器显得性能更高。性能测试的结果除了和采用什么测试程序有关以 外,还和在什么条件下进行测试有关。基准测试程序设计者对制造商的要求q采用同一种编译器;采用同一种编译器;q对同一种语言的程序都采用相同的一组编译标志。对同一种语言的程序都采用相同的一组编译标志。 8686/134/1341.3 计算机系统的性能评测一个问题:是否允许修改测试程序的源程序三种不同的处理方法:q不允许修改;不允许修改;q允许修改,但因测试程序很复杂或者很大,几乎是允许修改,但因测试程序很复杂或者很大,几乎是无法修改。无法修改。q允许修改,只要保证最后输出的结果相

56、同。允许修改,只要保证最后输出的结果相同。基准测试程序套件:由各种不同的真实应用程序构成。 (能比较全面地反映计算机在各个方面的处理性能(能比较全面地反映计算机在各个方面的处理性能 )SPEC系列:最成功和最常见的测试程序套件(美国的标准性能测试公司创建)(美国的标准性能测试公司创建)8787/134/1341.3 计算机系统的性能评测q桌面计算机的基准测试程序套件可以分为两大类:桌面计算机的基准测试程序套件可以分为两大类:处理器性能测试程序,图形性能测试程序处理器性能测试程序,图形性能测试程序qSPEC89SPEC89:用于测试处理器性能。用于测试处理器性能。1010个程序(个程序(4 4个

57、整数程个整数程序,序,6 6个浮点程序)个浮点程序)q演化出了演化出了4 4个版本个版本SPEC92SPEC92:2020个程序个程序SPEC95SPEC95:1818个程序个程序SPEC2000SPEC2000:2626个程序个程序SPEC CPU2006SPEC CPU2006: 2929个程序个程序qSPEC CPU2006SPEC CPU20068888/134/1341.3 计算机系统的性能评测整数程序整数程序1212个(个(CINT2006CINT2006)9 9个是用个是用C C写的,写的,3 3个是用个是用C+C+写的写的浮点程序浮点程序1717个(个(CFP2006CFP20

58、06)6 6个是用个是用FORTRANFORTRAN写的,写的,4 4个是用个是用C+C+写的,写的,3 3个个是用是用C C写的,写的,4 4个是用个是用C C和和FORTRANFORTRAN混合编写的。混合编写的。SPEC测试程序套件中的其它一系列测试程序组件qSPECSFSSPECSFS:用于用于NFSNFS(网络文件系统)文件服务器的测(网络文件系统)文件服务器的测试程序。它不仅测试处理器的性能,而且测试试程序。它不仅测试处理器的性能,而且测试I/OI/O系统系统的性能。它重点测试吞吐率。的性能。它重点测试吞吐率。qSPECWebSPECWeb:WebWeb服务器测试程序。服务器测试程

59、序。8989/134/1341.3 计算机系统的性能评测qSPECviewperfSPECviewperf:用于测试图形系统支持用于测试图形系统支持OpenGLOpenGL库库的性能。的性能。qSPECapcSPECapc:用于测试图形密集型应用的性能。用于测试图形密集型应用的性能。w 性能比较机器A 机器B 机器C W(1) W(2) W(3) 程序程序1 1 1.00 1.00 10.00 10.00 20.00 20.00 0.50 0.50 0.909 0.909 0.999 0.999 程序程序2 2 1000.00 1000.00 10.00 10.00 20.0020.000.5

60、0 0.50 0.091 0.091 0.001 0.001 加权算术加权算术平均值平均值A Am m(1 1) 500.50 500.50 10.00 10.00 20.0020.00加权算术加权算术平均值平均值A Am m(2 2) 91.91 91.91 10.00 10.00 20.0020.00加权算术加权算术平均值平均值A Am m(3 3) 2.00 2.00 10.00 10.00 20.0020.00两个程序在A、B、C三台机器上的执行时间9191/134/1341.3 计算机系统的性能评测如何比较这三台机器的性能呢?从该表可以得出:执行程序执行程序1:1:qA A机机的速度

温馨提示

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

评论

0/150

提交评论