计算机系统结构—第一章(基本概念)

上传人:新** 文档编号:569331386 上传时间:2024-07-28 格式:PPT 页数:142 大小:2.12MB
返回 下载 相关 举报
计算机系统结构—第一章(基本概念)_第1页
第1页 / 共142页
计算机系统结构—第一章(基本概念)_第2页
第2页 / 共142页
计算机系统结构—第一章(基本概念)_第3页
第3页 / 共142页
计算机系统结构—第一章(基本概念)_第4页
第4页 / 共142页
计算机系统结构—第一章(基本概念)_第5页
第5页 / 共142页
点击查看更多>>
资源描述

《计算机系统结构—第一章(基本概念)》由会员分享,可在线阅读,更多相关《计算机系统结构—第一章(基本概念)(142页珍藏版)》请在金锄头文库上搜索。

1、计算机系统结构的基本概念引言计算机系统结构的定义计算机系统的设计技术计算机系统的评价标准计算机系统结构的发展计算机系统的分类引 言 本章内容 自第一台电子计算机问世已经半个多世纪了,它已经历了五次更新换代: 第一代计算机(第一代计算机(19451954) 第二代计算机(第二代计算机(19551964) 第三代计算机(第三代计算机(19651974) 第四代计算机(第四代计算机(19751991) 第五代计算机(第五代计算机(1992现在)现在)第一代计算机本章内容引言 将电子管和继电器存储器用绝缘导线互连起来,单个CPU,CPU用程序计数器和累加器顺序完成定点运算,采用机器语言或汇编语言,用C

2、PU程序控制I/O。代表性系统有:John Von Neumann、Arthur Burks和Herman Goldstine于1946年在普林斯顿大学研制成功的IAS计算机;宾夕法尼亚大学莫尔学院于1950年制成的ENIAC;IBM于1953年制造的IBM701计算机。第二代计算机本章内容引言 采用分立式晶体三极管、二极管和铁氧体的磁芯,用印刷电路将它们互连起来。采用了变址寄存器、浮点运算、多路存储器和I/O处理机。采用有编译程序的高级语言、子程序库、批处理监控程序。代表性系统有:1959年制成的Univac LARC、60年代的CDC1604和1962年制成的IBM7030。第三代计算机本

3、章内容引言 采用小规模或中规模集成电路和多层印刷电路。微程序控制在这一代开始普及。采用了流水线、高速缓存和先行处理机。软件方面采用多道程序设计和分时操作系统。代表性系统有:IBM 360/370系列、CDC 6600/7600系列、Texas仪表公司的ASC和Digital Equipment公司的PDP-8系列。第四代计算机本章内容引言 采用大规模或超大规模集成电路和半导体存储器,出现了用共享存储器、分布式存储器或向量硬件选择的不同结构的并行计算机,开发了用于并行处理的多处理操作系统、专用语言和编译器,同时产生了用于并行处理或分布处理的软件工具和环境。代表性系统有:VAX9000、CrayX

4、-MP、IBM 3090VF和BBNTC-2000等。第五代计算机本章内容引言 采用VLSI工艺更加完善的高密度、高速度处理机和存储器芯片。它最重要特点是进行大规模并行处理,采用可扩展的和容许时延的系统结构。代表性系统有:Fujitsu的VPP500、Cray Research的MPP、Thinking Machines公司的CM-5、Intel超级计算机系统Paragon、SGI的 Origin 2000和Sun公司的1000服务器。分 析 本章内容 从计算机的发展过程,我们可以看出:计算机系统性能的不断提高主要靠器件的变革和系统结构的创新。 如何最合理地利用新器件,最大限度地发挥其潜力,设

5、计并构成综合性能指标最佳的计算机系统,单纯依靠器件变革是不能解决的,还要靠计算机系统结构上的改进。4 之 1示 例 以微处理器为例(图示)。在20世纪80年代中期以前,性能的提高主要是工艺技术驱动的,平均以每年25%的速度提高。此后到2002年,性能的提高主要得益于工艺技术和先进的系统结构设计思想,该增长率达到了52%。2002年后,由于在电源、可用的指令级并行和存储器长时延等限制,使单处理器性能的提升减缓到22%。本章内容4 之 2通过通过通过通过SPECSPECSPECSPEC基准测试程序,以基准测试程序,以基准测试程序,以基准测试程序,以VAX-11/780VAX-11/780VAX-1

6、1/780VAX-11/780为基准的计算机性能为基准的计算机性能为基准的计算机性能为基准的计算机性能4 之 3引 出 本章内容 本课程的目的是:采用定量的方法,并辅以程序、实验和模拟等工具,来介绍计算机系统结构设计的常用方法和技术,系统结构的分析、设计和优化是本课程的重点。 让我们赶快开始吧!4 之 4计算机系统结构的定义本章内容 计算机系统的层次结构 计算机系统结构的概念 计算机组成的概念 计算机实现的概念计算机系统层次结构图本章内容定义应用语言级应用语言级高级语言级高级语言级汇编语言级汇编语言级操作系统级操作系统级传统机器级传统机器级微程序机器级微程序机器级电子线路电子线路L5虚拟机虚拟

7、机L4虚拟机虚拟机L3虚拟机虚拟机L2虚拟机虚拟机翻译(应用程序包)翻译(应用程序包)翻译(编译程序)翻译(编译程序)翻译(汇编程序)翻译(汇编程序)软硬件交界面软硬件交界面物理机器物理机器解释解释硬件直接执行硬件直接执行硬件硬件固件固件系统系统软件软件虚虚拟拟机机器器实实际际机机器器应用应用软件软件部分解释部分解释11 之 1应用语言级机器本章内容定义层次结构图应用语言应用语言应用程序应用程序虚拟机器虚拟机器用户用户信息处理信息处理11 之 2高级语言级机器本章内容定义层次结构图高级语言高级语言解解释释或或编编译译虚拟机器虚拟机器高级语言高级语言程序员程序员运行程序运行程序11 之 3汇编语

8、言级机器本章内容定义层次结构图汇编语言汇编语言汇编程序汇编程序虚拟机器虚拟机器汇编语言汇编语言程序员程序员运行程序运行程序11 之 4操作系统级机器本章内容定义层次结构图传统机器级指令传统机器级指令操作系统级指令操作系统级指令操作系统操作系统虚拟机器虚拟机器操作员操作员系统资源系统资源11 之 5传统机器本章内容定义层次结构图机器指令机器指令系统系统CPU实际机器实际机器机器语言机器语言程序员程序员机器程序机器程序11 之 6微程序机器本章内容定义层次结构图微指令系统微指令系统微程序控制微程序控制实际机器实际机器逻辑逻辑设计员设计员寄存器寄存器传送门传送门11 之 7电子线路本章内容定义层次结

9、构图硬操作时序硬操作时序硬联逻辑硬联逻辑实际机器实际机器硬件维护硬件维护员员/设计员设计员逻辑线路逻辑线路内核内核11 之 8机器的作用和含义 机器机器是指能执行和存储程序的算法和数据结构的集合体。机器的实现机器的实现是指算法和数据结构的实现方法,可以硬件/固件/软件实现。我们将由软件实现的机器称为虚拟机器虚拟机器,将由硬件/固件实现的机器称为实际机器实际机器。本章内容定义11 之 9 从计算机系统的某一层使用者的角度看,从计算机系统的某一层使用者的角度看,只需通过该层的语言就可以使用机器,而不必只需通过该层的语言就可以使用机器,而不必关心其下层的机器是如何工作和如何实现各自关心其下层的机器是

10、如何工作和如何实现各自功能的,这一性质称为功能的,这一性质称为透明性透明性透明性透明性。软件与硬件的关系本章内容定义v系统是由硬件和软件组成的v软、硬件功能在逻辑上是等价的v软件和硬件的分界面是动态变化的硬件比例高硬件比例高硬件比例高硬件比例高: : : :提高解题速度提高解题速度减少存储量减少存储量硬件成本高硬件成本高降低硬件利用率、系统灵降低硬件利用率、系统灵活性和适应性活性和适应性软件比例高软件比例高软件比例高软件比例高: : : :降低硬件造价降低硬件造价提高系统灵活性和适应性提高系统灵活性和适应性降低解题速度降低解题速度增加系统存储量增加系统存储量增加软件设计费增加软件设计费硬件软件

11、过去现在将来时间硬件比率100%0%11 之 10分层的目的本章内容定义有利于正确地理解计算机系统的工作,明确软件、硬件和固件在计算机系统中的地位和作用;有利于理解各种语言的实质及其实现;有利于探索虚拟机器新的实现方法,设计新的计算机系统。11 之 11计算机系统结构的概念本章内容定义 “计算机系统结构”的含义仍有多种说法,并无统一的定义,下面介绍两种: 定义一定义一 定义二定义二4 之 1定义一本章内容定义概念 计算机系统结构是从程序员所看到的计算机的属性,即计算机的概念性结构和功能特性。 (Amdahl, 1964)v 概念性结构概念性结构概念性结构概念性结构 是指计算机系统中所有部件之间

12、的逻辑连接结构。是指计算机系统中所有部件之间的逻辑连接结构。vv 功能特性功能特性功能特性功能特性 主要是指计算机系统的如下功能:数据表示、寻址方式、主要是指计算机系统的如下功能:数据表示、寻址方式、寄存器组织、指令系统、存储系统、中断机构、寄存器组织、指令系统、存储系统、中断机构、I/OI/O结构等。结构等。哎!未指明程序员的级别4 之 2定义二本章内容定义概念 计算机系统结构是从机器语言程序员所看到的计算机的属性,即计算机的概念性结构和功能特性。即:计算机系统结构主要研究软硬件功能分配和对软硬件界面的确定。明确多了!传统机器级嘛!4 之 3主要任务数据表示:数据表示:指硬件能直接识别和处理

13、的数据类型和格式等寻址方式:寻址方式:包括最小寻址单位、寻址方式的种类、表示和地址计算等寄存器组织:寄存器组织:包括操作数寄存器、变址寄存器、控制寄存器和某些专用寄存器的定义、数量和使用约定指令系统:指令系统:包括机器指令的操作类型和格式,指令间的排序方式和控制机构等存储系统:存储系统:包括最小编址单位、编址方式、主存容量、最大可编址空间等 中断机构:中断机构:包括中断类型、中断分级、中断处理程序的功能和入口地址等 机器工作状态的定义和切换机器工作状态的定义和切换 机器级的机器级的I/OI/O结构:结构:包括I/O的连接/访问方式、数据的源和目的、数据传送量、操作的结束和出错指示等 信息保护:

14、信息保护:包括保护方式、硬件对信息保护的支持本章内容定义概念4 之 4计算机组成的概念本章内容定义v计算机组成是计算机系统结构的逻辑实现,它计算机组成是计算机系统结构的逻辑实现,它包括传统机器级内的数据流和控制流的组织、包括传统机器级内的数据流和控制流的组织、逻辑设计等。逻辑设计等。v设计内容设计内容数据通路宽度数据通路宽度专用部件的设置专用部件的设置各种操作对部件的共享程度各种操作对部件的共享程度功能部件的并行度功能部件的并行度控制机构的组成方式控制机构的组成方式缓冲和排队缓冲和排队容错技术容错技术预测和评估预测和评估计算机实现的概念本章内容定义计算机实现是计算机组成的物理实现设计内容专用芯

15、片(ASIC)的设计处理机、Cache和主存的物理结构器件、模块、插件和底板的逻辑划分和连接信号传输电源与冷却微组装和整机组装技术小 结本章内容定义 计算机系统结构研究计算机系统的软、硬件功能分配和软、硬件界面的确定;计算机组成是计算机系统结构的逻辑实现;计算机实现是计算机组成的物理实现。 具有相同系统结构的计算机可以因为速度等因素的要求而采用不同的组成;一种计算机的组成可以采用多种不同的计算机实现。 系统结构、组成和实现所包含的具体内容随不同时期及不同的计算机系统会有不同,而且随着技术、器件和应用的发展,三者之间的界限越来越模糊。计算机系统的设计技术计算机系统设计者的任务计算机系统的设计方法

16、计算机系统的设计步骤计算机系统设计的定量准则本章内容计算机系统设计者的任务本章内容设计技术 首先确定新计算机应具有哪些特性,然后在首先确定新计算机应具有哪些特性,然后在不超出成本的范围内力求性能最高。不超出成本的范围内力求性能最高。即:计算机设计者必须设计出一台既能满足功能要求,又能达到价格和性能目标的计算机。 主要任务有:确定用户要求确定用户要求优化设计优化设计设计出符合今后发展方向的系统结构设计出符合今后发展方向的系统结构确定用户要求本章内容设计技术任务 确定用户对计算机系统的功能、价格和性能的要求。 例如:具体的功能要求参见后表。优化设计本章内容设计技术任务 最优设计方案的选择通常依赖于

17、价格和性能(后面介绍)。设计者在处理价格和性能之间的关系时通常有三种不同的方法: 牺牲成本来换取高性能牺牲成本来换取高性能 例如:超级计算机。 牺牲性能来换取低成本牺牲性能来换取低成本 例如:嵌入式系统。 性能价格比最优设计性能价格比最优设计 例如:大多数的PC、工作站、服务器。设计出符合今后发展方向的系统结构本章内容设计技术任务 一个成功的系统结构应该能经得住软、硬件技术的发展和应用的变化,因此设计者必须特别注意计算机应用和计算机技术的发展趋势,这样才能延长一种机器的使用寿命。 计算机系统的设计方法本章内容设计技术由上而下法由下而上法由中间向两头法由上而下法本章内容设计技术设计方法 方法方法

18、确定应用的基本特性设计或选择面向该应用的高级语言设计适用于所选高级语言编译的中间语言设计面向该应用的操作系统设计面向所用编译器和操作系统的机器语言设计面向机器语言的微指令及其硬件实现 评价评价适用于面向某一应用的专用机的设计设计周期较长(需若干年)由于技术发展很快,因此难以真正面向用户优化实现由下而上法本章内容设计技术设计方法 方法方法不考虑应用,参照现有机器特点设计微程序机器级和传统机器级选择面向不同应用的多种操作系统和编译器 评价评价20世纪6070年代较多采用的通用机的设计方法因硬件不可更改,所以软件设计被动系统的某些性能指标不确切,如传统机器级的“每秒运算次数”由中间向两头法本章内容设

19、计技术设计方法 方法方法确定软、硬件界面软件设计人员设计软件,硬件设计人员设计硬件(同时) 评价评价20世纪60年代末开始采用的通用机设计方法设计周期短交互式设计,便于提高系统性能要求设计人员具有软件、硬件、器件和应用等方面的知识需要完善的硬件系统模拟环境和软件设计环境计算机系统的设计步骤 需求分析需求分析系统应用环境:实时处理、事务处理、科学计算、远程处理所用语言的种类和特性对操作系统的特殊要求所用外设的特性技术经济分析市场分析 需求规格说明需求规格说明设计准则功能说明 器件性能说明 概要性设计概要性设计确定机器级界面 详细设计详细设计 定义机器级界面的内容,可提供多种方案 优化和评价优化和

20、评价 提高系统的性能价格比本章内容设计技术计算机系统设计的定量准则本章内容设计技术 加快经常性事件的速度 CPU性能公式 局部性原理 利用并行性加快经常性事件的速度本章内容设计技术定量准则 在进行计算机系统设计时,必须优化经常发生的功能,而非偶尔发生的功能。这是计算机设计中最重要也最广泛采用的设计准则。 例如:加法运算中的溢出和不溢出;中断处理中的常规性保护现场和特殊性保护现场。4 之 1Amdahl定律本章内容设计技术定量准则 计算机系统中某一部件由于采用某种更快的执行方式后整个系统性能的提高与这种执行方式的使用频率或占总执行时间的比例有关。 4 之 2Amdahl定律(量化)本章内容设计技

21、术定量准则 S Sn n:整个系统的加速比 T T0 0:改进前整个任务的执行时间 T Tn n:改进后整个任务的执行时间 F Fe e:增强比例 S Se e :增强加速比4 之 3Amdahl定律(例子)本章内容设计技术定量准则问:问:假设某测试程序中FP指令执行时间占50%,FPSQR指令占20%,用改进FPSQR指令速度为原来的10倍和改进FP指令速度为原来的2倍,哪种方案更好?答:答:方案一方案一:Fe=0.2, Se=10 ,根据Amdahl定律,加速比为: 方案二方案二:Fe=0.5, Se=2 ,根据Amdahl定律,加速比为: 结结 论论:方案二优于方案一方案二优于方案一4

22、之 4CPU性能公式本章内容设计技术定量准则公式一公式二公式三6 之 1公式一本章内容设计技术定量准则CPU性能公式 一个程序的CPU时间可以通过下式表达: 或: 简单明了,没有什么实用价值 6 之 2公式二本章内容设计技术定量准则CPU性能公式 一个程序的CPU时间可以通过下式表达: 其中:其中:ICIC为一个程序的指令总数,为一个程序的指令总数,CPICPI为执行一条为执行一条指令所需的平均时钟周期数。指令所需的平均时钟周期数。 CPU时间与3个因素有关:时钟周期长度、IC和CPI6 之 3公式三本章内容设计技术定量准则CPU性能公式 一个程序的CPU时间可以通过下式表达: 其中:其中:I

23、CICi i为指令为指令i在一个程序中的执行次数,在一个程序中的执行次数,n为为指令总数,指令总数,CPICPIi i为执行指令为执行指令i所需的平均时所需的平均时钟周期数。钟周期数。 6 之 4CPU性能公式(例子)本章内容设计技术定量准则问:问:假设某测试程序中FP指令(包括FPSQR)的执行频度为25%,FP指令的平均CPI=4.0,其它指令的平均CPI=1.33; FPSQR指令的执行频度为2%, FPSQR指令的平均CPI=20。假设有两种设计方案:一种是将FPSQR的CPI减为2,另一种是将所有FP的CPI减为2.5,试利用CPU性能公式比较这两种设计方案。答:答:原系统的CPI为

24、:6 之 5CPU性能公式(例子)本章内容设计技术定量准则方案一方案一:将FPSQR的CPI减为2方案二方案二:将所有FP的CPI或结结 论论:方案二优于方案一方案二优于方案一6 之 6局部性原理本章内容设计技术定量准则 程序执行中呈现出频繁重复使用那些最近已使用过的数据和指令的规律。这反映在时间局部性和空间局部性上。 时间局部性时间局部性 近期被访问的信息,可能马上被访问。 空间局部性空间局部性 与被访问地址相邻的地址上的信息可能会一起被访问。利用并行性本章内容设计技术定量准则并行性的概念并行性的实现并行性的等级并行性的发展并行性的概念本章内容设计技术定量准则利用并行性 我们将问题中具有可以

25、同时进行运算或操作的特性称为并行性。并行性实际上包含同时性同时性和并发性并发性两重含义: 同时性同时性 是指两个或多个事件在同一时刻发生,例如:流水。 并发性并发性 是指两个或多个事件在同一时间间隔内发生,例如:分时操作。ABCt1Dt2并行性的实现本章内容设计技术定量准则利用并行性时间重叠资源重复资源共享时间重叠本章内容设计技术定量准则利用并行性并行性的实现 思想思想 让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而提高速度。 例子例子 指令流水线。 特点特点 不需要增加硬件设备就可以提高计算机系统的性能价格比。t取指取指分析分析执行执行(a) 指令流

26、水线指令流水线kkkk+1k+1k+1k+2k+2k+2部件部件执行执行分析分析取指取指t2t 3t 4t 5t(b) 时空图时空图资源重复本章内容设计技术定量准则利用并行性并行性的实现 思想思想 通过重复设置资源(硬件、软件、信息、时间)来提高可靠性或性能。 例子例子 N模冗余结构提高可靠性;多值存储器提高信息存储密度;多处理机提高速度和可靠性。 特点特点 需要增加资源才能大幅度提高计算机系统的性能。资源共享本章内容设计技术定量准则利用并行性并行性的实现 思想思想 利用软件的方法让多个用户按一定的时间顺序轮流地使用同一套资源,以提高其利用率,从而提高整个系统的性能。 例子例子 多道程序分时系

27、统 。 特点特点 不需要增加硬件设备就可以提高计算机系统的性能价格比 。并行性的等级本章内容设计技术定量准则利用并行性 从不同的角度看,等级的划分也不一样: 从计算机系统中执行程序的角度看从计算机系统中执行程序的角度看 从计算机系统中处理数据的角度看从计算机系统中处理数据的角度看 从计算机信息加工的各个步骤和阶段看从计算机信息加工的各个步骤和阶段看从计算机系统中执行程序的角度看本章内容设计技术定量准则利用并行性并行性的等级 指令内部 一条指令内部各个微操作之间的并行。 指令之间 多条指令的并行执行。 任务或进程之间 多个任务或程序段的并行执行。 作业或程序之间 多个作业或多道程序的并行。从计算

28、机系统中处理数据的角度看本章内容设计技术定量准则利用并行性并行性的等级 位串字串位串字串 同时只对一个字的一位进行处理,这通常是指传统的串行单处理机,没有并行性。 位并字串位并字串 同时对一个字的全部位进行处理,这通常是指传统的并行单处理机,开始出现并行性。 位片串字并位片串字并 同时对许多字的同一位(位片)进行处理,开始进行并行处理领域。 全并行全并行 同时对许多字的全部或部分进行处理。10110111101100010010110010101110010位片字从计算机信息加工的各个步骤和阶段看本章内容设计技术定量准则利用并行性并行性的等级 存储器操作并行存储器操作并行 例如,相联处理机。

29、处理器操作步骤并行处理器操作步骤并行 例如,流水线处理机。 处理器操作并行处理器操作并行 例如,并行处理机。 指令、任务、作业并行指令、任务、作业并行 例如,多处理机。并行性的发展本章内容设计技术定量准则利用并行性单处理机系统内并行性的发展多计算机系统及其向并行处理系统的发展单处理机系统内并行性的发展本章内容设计技术定量准则利用并行性并行性的发展 时间重叠(主要)时间重叠(主要) 把一个任务按功能分割为若干个相互联系的子任务,然后将每一个子任务分配给某个专门的部件处理。目的是使所有部件同时处于全面忙碌工作的状态。例如:指令流水线。 资源重复资源重复 例如:多体存储器、多操作部件、并行处理机等。

30、 资源共享资源共享 例如:多道程序和分时系统多计算机系统及其向并行处理系统的发展本章内容设计技术定量准则利用并行性并行性的发展 功能专门化功能专门化 多台计算机通过通道/通信线路实现互连,共享某些外设,以较低频带在文件/数据集级别上相互作用。系统功能被划分成多个专门功能,然后将它们分散给各个专用处理机。专用处理机可具有不同的体系结构。目标是构成异异构型多处理机系统构型多处理机系统。 机间互连机间互连 通过总线通过总线/ /高速互连网络高速互连网络互连多台计算机,共享主存,互连多台计算机,共享主存,以较高速率在数据以较高速率在数据/ /任务集上任务集上相互作用。支持进程和程序相互作用。支持进程和

31、程序的并行处理。各处理机具有的并行处理。各处理机具有相同的功能。目标是构成相同的功能。目标是构成同同同同构型多处理机系统构型多处理机系统构型多处理机系统构型多处理机系统。w 网络化网络化网络化网络化 地理上分散的多台计算地理上分散的多台计算机通过计算机通信网实现互机通过计算机通信网实现互连,共享资源。目标是构成连,共享资源。目标是构成分布式处理系统分布式处理系统分布式处理系统分布式处理系统。计算机系统的评价标准本章内容 成本 性能成 本本章内容评价标准 成本成本 成本是指生产一个计算机系统所需的费用,包括软、硬件的费用。影响因素:时间、产量、商品化。 价格价格 价格是指一个计算机系统销售时的金

32、额。以一个价值$1000的PC为例(图)来介绍价格的构成:标价元件成本直接成本毛利平均折扣2 之 1 直接成本直接成本直接成本直接成本是指与生产一件产品直是指与生产一件产品直接有关的成本,包括劳动力成本、接有关的成本,包括劳动力成本、保证金(在保质期间系统在用户那保证金(在保质期间系统在用户那边失灵时的更换或维修费用)等。边失灵时的更换或维修费用)等。 毛利(间接成本)毛利(间接成本)毛利(间接成本)毛利(间接成本)是指与生产一是指与生产一件产品间接有关的成本,包括公司件产品间接有关的成本,包括公司的研发费用、营销费用、设备维护的研发费用、营销费用、设备维护费用、场地租金、财务成本、税前费用、

33、场地租金、财务成本、税前利润和税。利润和税。 2 之 2性 能本章内容评价标准 性能标准 基准测试程序 性能比较性能标准本章内容评价标准性能 衡量计算机性能的唯一永久而且可靠的标准是:真实程序的执行时间。下面介绍几种较流行的替代标准及其不足:w MIPSw MFLOPSw 选择程序评价性能选择程序评价性能MIPS本章内容评价标准性能性能标准 MIPS(每秒百万条指令数)定义为: 程序的执行时间为:主要缺点:主要缺点: 不同指令的速度差别很大不同指令的速度差别很大 指令使用频度差别很大指令使用频度差别很大 有相当多的非功能性指令有相当多的非功能性指令遗憾啊!遗憾啊!MFLOPS本章内容评价标准性

34、能性能标准 MFLOPS(每秒百万次浮点操作次数)定义为: MFLOPS只能衡量机器浮点操作的性能,而不能体现机器的整体性能。主要缺点:主要缺点: 依赖于浮点运算集依赖于浮点运算集 依赖于浮点操作类型依赖于浮点操作类型可惜!可惜!选择程序评价性能本章内容评价标准性能性能标准 主要有5类测试程序(以测量准确程度递减的次序排列): 真实程序真实程序 改造改造/ /模拟程序模拟程序 核心测试程序核心测试程序 玩具基准测试程序玩具基准测试程序 综合基准测试程序综合基准测试程序真实程序本章内容评价标准性能性能标准选择程序评价性能 思想思想 使用真实程序进行测试。 例子例子 C编译程序、Word等字处理程

35、序、Photoshop等应用程序。 问题问题 会因程序依赖于具体的操作系统或编译器而产生移植问题。改造/模拟程序本章内容评价标准性能性能标准选择程序评价性能 改造的目的解决可移植问题侧重于系统性能的某一特定方面 模拟的目的 能再现桌面系统中可能出现的相互影响的行为,或模拟服务器系统中可能出现的复杂的多用户交互。核心测试程序本章内容评价标准性能性能标准选择程序评价性能 思想思想 从真实程序中提取出的一些小而关键的程序段进行测试。 例子例子 Livermore Loops和Linpack等。 用途用途 将计算机中各项特性的性能分离出来,以解释运行真实程序时性能有差异的原因。玩具基准测试程序本章内容

36、评价标准性能性能标准选择程序评价性能 思想思想 选择通常只有10100行的代码、用户在测试之前都已经知道运行结果的程序进行测试。 例子例子 Puzzle、快速排序等。 用途用途 用于测试某种特定指标。综合基准测试程序本章内容评价标准性能性能标准选择程序评价性能 思想思想 人工合成出来的测试程序。为了使测试程序的行为和表现尽可能接近于真实的应用程序,一般先对大量的应用程序中的操作进行统计,得到各种操作的比例,然后再按这个比例编制测试程序。 例子例子 Whetstone和Dhrystone。基准测试程序本章内容评价标准性能 把应用程序中用得最频繁的那部分核心程序作为评价计算机性能的标准程序。称为基

37、准测试程序 (benchmark)。 用于桌面机的benchmarks 用于服务器的benchmarks 用于嵌入式计算机的benchmarks用于桌面机的benchmarks本章内容评价标准性能基准测试程序 桌面机应具有的主要特性:优化性能优化性能/ /价格比价格比。 SPEC()是常用的benchmarks ,这些benchmarks可分为两大类:CPUCPU和图形图形。 集中测试集中测试CPUCPU的的 benchmarksbenchmarks SPEC CPU2000(表,测试实例)。 集中测试图形的集中测试图形的 benchmarks benchmarks SPECviewperf和

38、SPECapc。7 之 1SPEC本章内容评价标准性能基准测试程序 用于桌面机的benchmarks SPEC(System Performance Evaluation Cooperative)是由30个左右世界知名计算机大厂商所支持的非盈利的合作组织,包括:IBM、AT&T、BULL、Compaq、CDC、DG、DEC、Fujitsu、HP、Intel、MIPS、Motolola、SGI、SUN、Unisys等;SPECSPEC能够全面反映机能够全面反映机器的性能,具有很高的参考价值器的性能,具有很高的参考价值。 SPEC发展过程为:SPEC89SPEC92SPEC95SPEC2000SP

39、EC20067 之 212个整数程序用于CINT2000测试14个浮点程序用于CFP2000测试7 之 3SPEC CPU2000测试实例本章内容评价标准性能基准测试程序 用于桌面机的benchmarks测试对象测试结果SPEC CINT2000的测试结果SPEC CFP2000的测试结果7 之 4 每一个桌面系统都配有一个每一个桌面系统都配有一个CPU、512MB SDRAM(如果支持则带如果支持则带ECC校验)、大约校验)、大约20GB的硬盘、一个快的硬盘、一个快速的图形系统和一个速的图形系统和一个10/100Mbps以太网连接。以太网连接。7 之 5性能最好 性价比最好 7个桌面计算机的

40、个桌面计算机的SPEC CINT2000测试结果测试结果7 之 6性能最好 性价比最好 7个桌面计算机的个桌面计算机的SPEC CFP2000测试结果测试结果7 之 7用于服务器的benchmarks本章内容评价标准性能基准测试程序 服务器应具有的主要特性:优化可用性(availability)、可扩展性(scalability)和吞吐量(throughput)。 常用的benchmarks 有两种: SPEC TPC(TransactionTransaction ProcessingProcessing CouncilCouncil)7 之 1SPEC本章内容评价标准性能基准测试程序 用于服

41、务器的benchmarks SPECrateSPECrate 面向流量的benchmark。 SPECSFSSPECSFS 面向文件服务器(NFS)的benchmark。它不仅测试处理器的性能,而且测试I/O系统的性能。它重点测试吞吐率。 SPECWebSPECWeb 面向Web服务器的benchmark。它模拟多个客户请求访问服务器中的动态和静态页面以及向服务器上传数据的情况。7 之 2TPC本章内容评价标准性能基准测试程序 用于服务器的benchmarks TPC的benchmarks()用于测量一个计算机系统事务处理的性能。第一个TPC benchmarks是TPC-A,现已被下面的几个

42、所取代: TPC-C TPC-C TPC-C于1992建立,用于模拟一个复杂的查询环境。 TPC-H TPC-H TPC-H用于自主(ad hoc)决策支持。 TPC-W TPC-W TPC-W是一个基于Web的事务benchmark。 TPC-E TPC-E TPC-E用于模拟一个经纪公司的客户账户。7 之 3TPC-C测试实例本章内容评价标准性能基准测试程序 用于服务器的benchmarks测试对象测试结果6个高性能服务器的测试结果6个高性价比服务器的测试结果7 之 4高性能高性价比12个个OLTP(在线事务处理)服务器在线事务处理)服务器7 之 5性能最好 性价比最好 6个高性能个高性能

43、OLTP服务器的服务器的TPC-C测试结果测试结果7 之 6性能最好 性价比最好 6个高性价比个高性价比OLTP服务器的服务器的TPC-C测试结果测试结果7 之 7用于嵌入式计算机的benchmarks本章内容评价标准性能基准测试程序 嵌入式计算机应具有的主要特性:优化软件、优化软件、价格、实时性、内存和功率价格、实时性、内存和功率。 benchmark的发展处于初期阶段,目前最好的benchmark标准化集是EEMBCEEMBC(EDN Embedded Microprocessor Benchmark Consortium)。EEMBC benchmarks可分为5类:汽车/工业、消费者、

44、网络、办公自动化和电信(表,测试实例) 。7 之 1EEMBC benchmarks ()7 之 2EEMBC测试实例本章内容评价标准性能基准测试程序 用于潜入式计算机的benchmarks测试对象测试结果相对性能的测试结果相对性价比的测试结果功率和效率的测试结果7 之 35个不同的嵌入式处理器个不同的嵌入式处理器7 之 4性能最差 性能最好 5个嵌入式处理器相对性能的个嵌入式处理器相对性能的EEMBC测试结果测试结果7 之 5性价比最差 性价比最好 5个嵌入式处理器相对性价比的个嵌入式处理器相对性价比的EEMBC测试结果测试结果7 之 6最差 最好 5个嵌入式处理器每瓦相对性能的个嵌入式处理

45、器每瓦相对性能的EEMBC测试结果测试结果7 之 7性能比较本章内容评价标准性能 为了能公平地综合比较计算机的性能,引入新的综合度量标准: 各程序的比重相同时 总执行时间 各程序的比重不同时 加权执行时间 标准化执行时间总执行时间本章内容评价标准性能性能比较总执行时间总执行时间 平均执行时间平均执行时间( (时间时间) ) 平均执行时间平均执行时间( (速度速度) ) 算术平均算术平均 调和平均调和平均其中:Ti为第i个程序的执行时间,n为程序数,Ri=1/Ti。加权执行时间本章内容评价标准性能性能比较加权算术平均加权算术平均: :Wi :为第:为第i个程序的比重个程序的比重 Ti :为第:为

46、第i个程序的执行时间个程序的执行时间 Ri :1/Ti n :为程序数:为程序数加权调和平均加权调和平均加权调和平均加权调和平均: :标准化执行时间本章内容评价标准性能性能比较 先将各程序的执行时间对一台参考机器进行标准化,然后取标准化执行时间的平均值(可以是算术平均值,也可以是几何平均值)。 算术平均:算术平均: 几何平均:几何平均: 这是SPEC基准测试程序所用的方法,它的参考时间是以在SPARCstation 上的运行时间作为基准。ETRi :为第:为第i个程序对参个程序对参考机器标准后的考机器标准后的执行时间执行时间 n :为程序数:为程序数2 之 1标准化执行时间本章内容评价标准性能

47、性能比较2 之 2 算术平均值因参考机器不同而不同,几何平均值不因参考机器不同而不同。所以标准化执行时间应采用几何平均值。计算机系统结构的发展本章内容冯诺依曼(Van Nenmann)结构器件发展对系统结构的影响软件对系统结构发展的影响应用对系统结构发展的影响冯诺依曼结构本章内容计算机系统结构的发展 基本思想于1936年1946年期间形成,由冯诺依曼等人于1946年提出。8 之 1冯诺依曼结构本章内容计算机系统结构的发展 现在计算机系统结构已经在冯诺依曼结构上得到不断的发展和改进,主要体现在下面两点: 合理地进行软硬件功能分配 提高并行处理能力8 之 2改进一本章内容计算机系统结构的发展8 之

48、 3 原来原来 以运算器为中心,所有部件由控制器集中控制。 改进改进以主存为中心操作并行 例如,I/O与CPU并行(DMA、I/O处理机等),I与O并行等。改进二本章内容计算机系统结构的发展8 之 4 原来原来 存储程序:指令顺序执行,指令和数据同等对待(存于同一存储器中,指令在执行中可修改)。 改进改进数据流机器 指令的执行次序与存放次序没有关系,由数据驱动。指令在执行过程中不准修改指令和数据分开存储改进三本章内容计算机系统结构的发展8 之 5 原来原来 存储器按地址访问,是顺序、一维的线性空间,且每个单位的位数是固定的。 改进改进采用按内容访问的相联存储器硬件实现高速相联查找将整个访存地址

49、分为段号、页号和页内地址存储器同时具有按字、字节、位的多种编址方式改进四本章内容计算机系统结构的发展8 之 6 原来原来 指令在存储器中基本是按其执行顺序依次存储。 改进改进先行控制、重叠和流水等(CPU内的指令执行)向量处理机、并行处理机和多处理机等(指令内、指令间、任务间的并行)数据流计算机(指令的执行由数据驱动,而非通常意义下的顺序执行)改进五本章内容计算机系统结构的发展8 之 7 原来原来 指令由操作码和操作数两部分组成,操作数的类型由操作码指明。 改进改进增加许多高级数据表示,例如:自定义数据表示(数据自带类型标志)CISC(复杂指令系统计算机)、RISC(精简指令系统计算机)和WI

50、SC(可写指令系统计算机)改进六本章内容计算机系统结构的发展8 之 8 原来原来 数据以二进制编码,并采用二进制运算。 改进改进增加基本数据表示 例如,十进制数、逻辑数、可变长字符串等。增加高级数据表示 例如,自定义、向量、堆栈等。器件发展对系统结构的影响本章内容计算机系统结构的发展器件发展的特点器件种类器件发展对设计方法的影响器件发展的特点本章内容计算机系统结构的发展器件发展对系统结构的影响 集成度迅速提高集成度迅速提高8个晶体管,每5年左右提高一个数量级。 速度已接近极限速度已接近极限 将来速度的提高主要靠系统结构、组成和实现技术 。 价格直线下降价格直线下降 例如,CPU芯片刚推出时10

51、00,一年后降到200。 可靠性越来越高可靠性越来越高 芯片可靠性到达108小时,即连续使用1万年以上。器件种类本章内容计算机系统结构的发展器件发展对系统结构的影响 通用片通用片 用户不能改变其功能,在生产时定死,可以大批量生产,例如:CPU、存储器、寄存器、逻辑门 现场片现场片 用户可以在现场更改内容,例如:PROM、EPROM 用户片用户片 按用户要求专门生产的高集成度的VLSI器件。 全用户片 完全按用户要求设计的用户片,例如:各种专用芯片。 半用户片 按通用片生产的用户片,例如:门阵列片等。器件发展对设计方法的影响本章内容计算机系统结构的发展器件发展对系统结构的影响 计算机组成技术下移

52、计算机组成技术下移 原来只有在巨型机、大型机中采用的技术,已经用到微型机中,例如:超流水线、Cache等。 计算机设计方法下移计算机设计方法下移 第1代计算机,几乎全部由硬件人员设计;第2、3、4代,由应用、软件、硬件和器件人员共同设计;将来:除器件设计之外,主要是软件设计。 逻辑设计方法改变逻辑设计方法改变 过去逻辑设计很重要,尽量节省每一个芯片,每一个门;目前的设计主要考虑:了解市场,尽量选择通用芯片、标准芯片;结构化设计,规整、易读、易诊断。软件对系统结构的影响本章内容计算机系统结构的发展 用户对软件的要求 执行速度 开发周期 可移植性(portability) 若一个程序可以不经修改或

53、只需少量修改就能运于不同型号的计算机上,则称该程序是可移植的(portable)。实现软件可移植性本章内容计算机系统结构的发展软件对系统结构的影响统一高级语言采用系列机思想模拟与仿真统一高级语言本章内容计算机系统结构的发展软件对系统结构的影响实现软件可移植性 思想思想 设计出一种完全通用的高级语言,为所有的程序员所使用。 存在问题存在问题不同的用途往往要求语言有不同的语法结构和语义结构人们对语言的基本结构还没有透彻的和统一的认识习惯势力的影响 例子例子 Ada语言,美国军方统一用Ada语言开发实时软件。采用系列机思想本章内容计算机系统结构的发展软件对系统结构的影响实现软件可移植性 先确定好系统

54、结构,软件设计者据此设计软件,硬件设计者则根据不同的性能要求,采用不同的组成和实现技术,提供不同档次的机器。 系列机系列机 是指在一个厂家内生产的具有相同的系统结构,但具有不同组成和实现的一系列不同型号的机器。例如,IBM PC系列、IBM370系列等。 兼容机兼容机 是指不同公司厂家生产的具有相同系统结构,但具有不同组成和实现的一系列不同型号的机器。兼容机允许进行扩充,例如:长城0520兼容机增加了汉字处理功能2 之 1软件兼容性(compatibility)本章内容计算机系统结构的发展软件对系统结构的影响实现软件可移植性2 之 2 软件兼容性软件兼容性指的是同一软件可不加修改地运行于该系列

55、机器中的各档机器上的特性。 时间机器档次当前机器向上兼容向下兼容高低向后兼容向前兼容向后兼容向后兼容向后兼容向后兼容必须必须做到,而做到,而向前向前向前向前兼容兼容兼容兼容却不一定。却不一定。向上兼容向上兼容向上兼容向上兼容一般一般要求做到,而要求做到,而向下兼容向下兼容向下兼容向下兼容却不却不一定。一定。模 拟本章内容计算机系统结构的发展软件对系统结构的影响实现软件可移植性 模拟(模拟(simulationsimulation)指的是用一台机器(宿主机宿主机)的机器语言程序解释实现另一台机器(虚拟机虚拟机)的指令系统的方法。3 之 1模拟可实现程序模拟可实现程序在任何机器间的在任何机器间的移

56、植移植模拟影响虚拟机模拟影响虚拟机的速度的速度模拟不宜用于在模拟不宜用于在时间关系上有约时间关系上有约束的程序的移植束的程序的移植应用虚拟机应用虚拟机操作系统虚拟机操作系统虚拟机机器语言虚拟机机器语言虚拟机高级语言虚拟机高级语言虚拟机操作系统虚拟机操作系统虚拟机传统机器传统机器微程序机器微程序机器B虚拟机虚拟机A宿主机宿主机仿 真本章内容计算机系统结构的发展软件对系统结构的影响实现软件可移植性 仿真(仿真(emulationemulation)指的是用一台机器(宿主机宿主机)的微程序解释实现另一台机器(目标机目标机)的指令系统的方法。3 之 2若目标机同宿主机若目标机同宿主机的结构差别大,则的

57、结构差别大,则仿真困难仿真困难模拟模拟模拟模拟用用机器语言机器语言机器语言机器语言程程序解释,其解释程序解释,其解释程序存在主存中。序存在主存中。仿真仿真仿真仿真用用微程序微程序微程序微程序解释,解释,其解释程序存在控其解释程序存在控制存储器中。制存储器中。应用虚拟机应用虚拟机操作系统虚拟机操作系统虚拟机机器语言虚拟机机器语言虚拟机高级语言虚拟机高级语言虚拟机操作系统虚拟机操作系统虚拟机传统机器传统机器微程序机器微程序机器B目标机目标机A宿主机宿主机模拟和仿真本章内容计算机系统结构的发展软件对系统结构的影响实现软件可移植性 在实际应用中,通常将模拟和仿真这两种方法混合使用。 频繁使用的指令仿真

58、 难以仿真的指令模拟3 之 3应用领域的演变本章内容计算机系统结构的发展军事、科学研究军事、科学研究生产过程控制、行政管理生产过程控制、行政管理家庭、个人家庭、个人领域领域时间时间医疗卫生、交通指挥、商业医疗卫生、交通指挥、商业4 之 1计算机的演变本章内容计算机系统结构的发展专用机专用机通用机通用机高性能专用机高性能专用机高性能通用机高性能通用机4 之 2性能和价格关系的处理本章内容计算机系统结构的发展 问题问题 用户的性能/价格要求决定厂商的生产决策。 方法方法维持价格不变,利用新型器件提高机器性能(水平实线)保持性能基本不变,利用低成本器件降低机器价格(等性能线)价格(对数)价格(对数)

59、时间时间巨型机巨型机大型机大型机中型机中型机小型机小型机微型机微型机亚微型机亚微型机微微型机微微型机t-3t-3t-2t-2t-1t-1t tt+1t+1t+2t+2红虚线:等性能线红虚线:等性能线红虚线:等性能线红虚线:等性能线4 之 3计算机发展方向本章内容计算机系统结构的发展 最高性能价格比最高性能价格比 例如,商用机。这是计算机发展的主要方向。 最高性能最高性能 例如,银河机、曙光机,主要出于国家安全需要、科技发展需要。 最低价格最低价格 例如,家用学习机等。4 之 4本章内容计算机系统的分类佛林分类法库克分类法冯泽云分类法佛林(Flynn)分类法本章内容计算机系统的分类 按指令流指令

60、流和数据流数据流的多倍性多倍性进行分类: 单指令流单数据流 单指令流多数据流 多指令流单数据流 多指令流多数据流 指令流指令流指令流指令流 机器执行的指令序列。机器执行的指令序列。 数据流数据流数据流数据流 由指令流调用的数据序由指令流调用的数据序列(输入数据、中间结果)。列(输入数据、中间结果)。 多倍性多倍性多倍性多倍性 在系统性能瓶颈部件上在系统性能瓶颈部件上处于同一执行阶段的指令处于同一执行阶段的指令或数据的最大可能个数。或数据的最大可能个数。6 之 1单指令流单数据流(SISD)本章内容计算机系统的分类佛林分类法 典型单处理机单处理机,包括: 单功能部件处理机单功能部件处理机:IBM

61、1401,VAX-11 多功能部件处理机多功能部件处理机:IBM360/91,370/168,CDC6600 流水线处理机流水线处理机:标量流水线处理机CUPUMMISDSCS6 之 2单指令流多数据流(SIMD)本章内容计算机系统的分类佛林分类法 例如:并行处理机、阵列处理机、向量处理机、相联处理机、超标量处理机、超流水线处理机.PU1MM1ISDS1CUPU2PUnDS2DSnMMnCS6 之 3多指令流单数据流(MISD)本章内容计算机系统的分类佛林分类法 几条指令对同一个数据进行不同处理,这种类型的计算机实际上不存在。MM1DSPU1IS1CU1MMnPU2IS2CU2PUnISnCU

62、nCS1CS2CSnDS6 之 4多指令流多数据流(MIMD)本章内容计算机系统的分类佛林分类法 多处理机系统多处理机系统,包括,紧密耦合: UNIVAC-1100/80 、IBM3084、 IBM3081 ;松散耦合:D-825、 CRAY-2 、 Cmmp。MM1PU1IS1CU1MMnPU2IS2CU2PUnISnCUnDS1DS2DSnCS1CS2CSn6 之 5特 点本章内容计算机系统的分类 Flynn分类法能反映出大多数计算机的并行性工作方式和结构特点,得到了广泛应用,但存在下列缺点: 分类太粗 只能对Neumann型机器分类 难以完全反映系统在工作原理上的差别 无法定量描述系统的

63、类型6 之 6库克分类法本章内容计算机系统的分类 按指令流指令流和执行流执行流的多倍性多倍性进行分类: 单指令流单执行流(单指令流单执行流(SISESISE) 典型的单处理机。 单指令流多执行流(单指令流多执行流(SIMESIME) 相联处理机、向量处理机、流水线处理机、超流水线处理机、超标量处理机、SIMD并行处理机。 多指令流单执行流(多指令流单执行流(MISEMISE) 多道程序系统。 多指令流多执行流(多指令流多执行流(MIMEMIME) 典型的多处理机。冯泽云分类法本章内容计算机系统的分类 用最大并行度最大并行度来对计算机系统进行分类。 最大并行度最大并行度 计算机系统在单位时间内能

64、够处理的最大二进制位数计算机系统在单位时间内能够处理的最大二进制位数。假设同时处理的字宽为n,位片宽为m,则最大并行度定义为: Pm m n。 平均并行度平均并行度 假设每个时钟周期ti内能同时处理的二进位数为Bi,则n个时钟周期内的平均并行度定义为:3 之 13 之 2表示方法:表示方法:处理机名处理机名处理机名处理机名 ( (n, n, m)m)按最大并行度的冯氏分类法按最大并行度的冯氏分类法冯泽云分类法本章内容计算机系统的分类 用最大并行度来对计算机系统进行分类,可分为四种: 字串位串(字串位串(WSBSWSBS) :n=1n=1, m=1 m=1 串行计算机,例如:EDVAC(1,1)。 字并位串(字并位串(WPBSWPBS):):n1 n1 ,m=1m=1 传统的单处理机,例如:Pentium(32,1)。 字串位并(字串位并(WSBPWSBP):):n=1 n=1 ,m1m1 并行计算机、MPP、相联计算机;例如:MPP(1, 16384)、STARAN(1, 256)、 DAP等。 字并位并(字并位并(WPBP WPBP ):):n1 n1 ,m1m1 全并行计算机,例:IILIAC IV(64,64)、 ASC(64,32)、 PEPE 、 Cmmp等。3 之 3

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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