计算机系统结构的基本知识_第1页
计算机系统结构的基本知识_第2页
计算机系统结构的基本知识_第3页
计算机系统结构的基本知识_第4页
计算机系统结构的基本知识_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

1、张长明ncepubd教材和参考教材n教材教材 计算机系统结构(第计算机系统结构(第2版),陆鑫达,高等教育出版社版),陆鑫达,高等教育出版社n参考教材参考教材 计算机系统结构,郑纬民等,清华大学出版社计算机系统结构,郑纬民等,清华大学出版社 计算机系统结构教程,张晨曦等,清华大学出版社计算机系统结构教程,张晨曦等,清华大学出版社课堂要求及考核方法n课堂要求n认真听讲,对课堂上讲解的题要理解并会做。n及时完成作业。n按时出勤,无故缺勤视为旷课,累计旷课超过课程学时三分之一,取消考试资格,成绩以0分计。n考核方法n平时成绩30%,其中作业15%,出勤15%。n期末成绩70%,闭卷考试。本章主要内容

2、n1.1 计算机系统结构的含义和分类n1.1.1 1.1.1 计算机系统结构含义计算机系统结构含义n1.1.2 1.1.2 计算机系统结构分类计算机系统结构分类n1.2 计算机系统设计准则n1.2.1 1.2.1 计算机系统设计的定量原理计算机系统设计的定量原理n1.2.2 1.2.2 计算机系统设计者的主要任务计算机系统设计者的主要任务n1.3 计算机系统结构的发展n1.3.1 1.3.1 计算机系统结构的演变计算机系统结构的演变n1.3.2 1.3.2 软件、应用需求和器件对系统结构发展的影响软件、应用需求和器件对系统结构发展的影响n计算机技术飞速发展的原因计算机技术飞速发展的原因n计算机

3、器件的制造技术的发展计算机器件的制造技术的发展n计算机系统结构的创新和改进计算机系统结构的创新和改进n计算机系统性能提高的历程计算机系统性能提高的历程n在计算机开始发展的在计算机开始发展的25年中,两种因素都起着主要作用,使年中,两种因素都起着主要作用,使得计算机的性能每年提高约得计算机的性能每年提高约25%。n20世纪世纪70年代末到年代末到80年代初,大规模集成电路和微处理器的年代初,大规模集成电路和微处理器的出现使计算机性能的年增长率提高到约出现使计算机性能的年增长率提高到约35%,主要归功于以,主要归功于以集成电路为代表的制造技术的发展。集成电路为代表的制造技术的发展。1.1 计算机系

4、统结构的含义和分类n计算机系统性能提高的历程计算机系统性能提高的历程n20世纪世纪80年代初年代初RISC结构的出现使得计算机系统结构发生结构的出现使得计算机系统结构发生重大变革,从重大变革,从80年代中期开始,计算机性能增长达到了每年年代中期开始,计算机性能增长达到了每年50%以上。以上。n2002年以来,计算机性能增长率下降到约年以来,计算机性能增长率下降到约20%。主要因为:。主要因为:n大功耗问题;大功耗问题;n可以进一步有效地开发的指令级并行性已经很少;可以进一步有效地开发的指令级并行性已经很少;n存储器访问速度的提高缓慢。存储器访问速度的提高缓慢。n很多计算机公司放弃高性能单处理机

5、项目,转向多核的研发,很多计算机公司放弃高性能单处理机项目,转向多核的研发,标志着系统结构从单纯依靠指令级并行转向开发线程级并行标志着系统结构从单纯依靠指令级并行转向开发线程级并行和数据级并行。和数据级并行。1.1 计算机系统结构的含义和分类1 1、计算机系统的外特性(计算机系统结构)、计算机系统的外特性(计算机系统结构) 计算机系统结构计算机系统结构 - Computer Architecturen19641964年年AmdahlAmdahl提出计算机系统结构的定义提出计算机系统结构的定义: :程序员所看程序员所看到的计算机的属性,即概念性结构与功能特性。到的计算机的属性,即概念性结构与功能

6、特性。1.1.1 计算机系统结构的含义1.1.建筑学、建筑风格;体系结构、总建筑学、建筑风格;体系结构、总体、层次结构。体、层次结构。2.2.从建筑学角度看,该词可以认为是从建筑学角度看,该词可以认为是指一个系统的外貌。指一个系统的外貌。3.3.计算机作为一个包括硬件计算机作为一个包括硬件/ /固件和固件和软件的系统,也有其外观,即外特性。软件的系统,也有其外观,即外特性。1 1、计算机系统的外特性(计算机系统结构)、计算机系统的外特性(计算机系统结构)nAmdahlAmdahl的计算机系统结构定义具有争议,这是因为的计算机系统结构定义具有争议,这是因为: :n由于计算机系统是包括软由于计算机

7、系统是包括软/ /硬件乃至固件的复杂系统,因此处硬件乃至固件的复杂系统,因此处于不同层次的各于不同层次的各级程序员所看到的同一计算机系统具有不同级程序员所看到的同一计算机系统具有不同的属性。的属性。n不同计算机系统从传统机器级或汇编语言程序员角度看,具不同计算机系统从传统机器级或汇编语言程序员角度看,具有不同属性,但从高级语言程序员角度看,几乎没差别。有不同属性,但从高级语言程序员角度看,几乎没差别。也也就是说,传统机器级所存在的差别对于高级语言程序员来讲就是说,传统机器级所存在的差别对于高级语言程序员来讲是是“看不见看不见”的,此即的,此即“透明性透明性”。透明性概念:一种本来存在的有差异的

8、事物或属性,但从透明性概念:一种本来存在的有差异的事物或属性,但从某种角度看又好象不再存在,称为透明性。某种角度看又好象不再存在,称为透明性。 1.1.1 计算机系统结构的含义1 1、计算机系统的外特性(计算机系统结构)、计算机系统的外特性(计算机系统结构)n计算机系统结构的科学定义:机器语言程序员或编译计算机系统结构的科学定义:机器语言程序员或编译程序编写者所看到的计算机的基本属性,即概念性结程序编写者所看到的计算机的基本属性,即概念性结构和功能特性。构和功能特性。n由机器语言程序员或编译程序编写者所看到的计算机由机器语言程序员或编译程序编写者所看到的计算机的基本属性是指的基本属性是指传统机

9、器级的系统结构传统机器级的系统结构,在传统机器,在传统机器级之上的功能被视为软件功能,而在其下的则属于硬级之上的功能被视为软件功能,而在其下的则属于硬件和固件的功能。件和固件的功能。n计算机系统结构计算机系统结构结构的实质:计算机系统中软硬件之结构的实质:计算机系统中软硬件之间的界面,界面之上是软件实现的功能,界面之下是间的界面,界面之上是软件实现的功能,界面之下是硬件和固件实现的功能。硬件和固件实现的功能。1.1.1 计算机系统结构的含义1 1、计算机系统的外特性(计算机系统结构)、计算机系统的外特性(计算机系统结构)n几个重要概念几个重要概念(1)计算机系统按功能可划分成多级层次结构)计算

10、机系统按功能可划分成多级层次结构1.1.1 计算机系统结构的含义L6:应用语言虚拟机L5:高级语言虚拟机L4:汇编语言虚拟机L3:操作系统虚拟机L2:机器语言(传统机器级)L1:微程序机器级软件硬/固件每层以一种语言为特征;每层以一种语言为特征;语言从低级向高级发展;语言从低级向高级发展;高一级语言的语句相对于低高一级语言的语句相对于低一级语言来说功能更强,更一级语言来说功能更强,更便于应用,但又都以低级语便于应用,但又都以低级语言为基础。言为基础。L6:应用语言虚拟机L5:高级语言虚拟机L4:汇编语言虚拟机L3:操作系统虚拟机L2:机器语言(传统机器级)L1:微程序机器级软件硬/固件 本级的

11、机器语言是指本级的机器语言是指微指令集微指令集。微程序一般是。微程序一般是直接由直接由硬件解释实现硬件解释实现的,的,因此工作于该级的程序员因此工作于该级的程序员实际上是计算机系统的设实际上是计算机系统的设计人员。计人员。1.1.1 计算机系统结构的含义L6:应用语言虚拟机L5:高级语言虚拟机L4:汇编语言虚拟机L3:操作系统虚拟机L2:机器语言(传统机器级)L1:微程序机器级软件硬/固件 本级机器语言是本级机器语言是指指令集令集。由微程序解释指。由微程序解释指令集又称作仿真。可以令集又称作仿真。可以通过仿真在一台机器上通过仿真在一台机器上实现多种指令集。实现多种指令集。 也可以没有微程序机也

12、可以没有微程序机器级,如器级,如RISCRISC处理器的处理器的指令集全部用硬件直接指令集全部用硬件直接实现以提高指令执行速实现以提高指令执行速度。度。1.1.1 计算机系统结构的含义L6:应用语言虚拟机L5:高级语言虚拟机L4:汇编语言虚拟机L3:操作系统虚拟机L2:机器语言(传统机器级)L1:微程序机器级软件硬/固件 提供传统机器所没有提供传统机器所没有的的基本操作和数据结构基本操作和数据结构,和传统机器的指令集一起和传统机器的指令集一起提供给更高层次的提供给更高层次的虚拟机虚拟机使用。使用。1.1.1 计算机系统结构的含义L6:应用语言虚拟机L5:高级语言虚拟机L4:汇编语言虚拟机L3:

13、操作系统虚拟机L2:机器语言(传统机器级)L1:微程序机器级软件硬/固件 本级的机器语言是本级的机器语言是汇编语言。用汇编语言汇编语言。用汇编语言编写的程序,首先编写的程序,首先翻译翻译成第成第3 3级和第级和第2 2级语言,级语言,然后再由相应的机器执然后再由相应的机器执行。通常的第行。通常的第1 1、2 2和和3 3级级是用是用解释解释方法实现的,方法实现的,而第而第4 4级或更高级则级或更高级则经常经常是用翻译方法实现。是用翻译方法实现。1.1.1 计算机系统结构的含义L6:应用语言虚拟机L5:高级语言虚拟机L4:汇编语言虚拟机L3:操作系统虚拟机L2:机器语言(传统机器级)L1:微程序

14、机器级软件硬/固件 这一级的机器语言是这一级的机器语言是各种高级语言各种高级语言。用这些。用这些语言所编写的程序一般语言所编写的程序一般是由称为编译程序的是由称为编译程序的翻翻译程序译程序翻译到第翻译到第4 4级或第级或第3 3级上,个别的高级语言级上,个别的高级语言也用解释的方法实现,也用解释的方法实现,如绝大多数如绝大多数BASICBASIC语言系语言系统。统。1.1.1 计算机系统结构的含义L6:应用语言虚拟机L5:高级语言虚拟机L4:汇编语言虚拟机L3:操作系统虚拟机L2:机器语言(传统机器级)L1:微程序机器级软件硬/固件 这一级是为满足某种这一级是为满足某种特殊用途而专门设计的,特

15、殊用途而专门设计的,因此这一级的语言就是因此这一级的语言就是各种面向问题的应用语各种面向问题的应用语言。例如可以设计专门言。例如可以设计专门用于人工智能、教育、用于人工智能、教育、行政管理、计算机设计行政管理、计算机设计等方面的虚拟机。等方面的虚拟机。1.1.1 计算机系统结构的含义1 1、计算机系统的外特性(计算机系统结构)、计算机系统的外特性(计算机系统结构) n几个重要概念几个重要概念(1)计算机系统按功能可划分成多级层次结构)计算机系统按功能可划分成多级层次结构n虚拟机:由软件实现的机器,以区别于由硬件虚拟机:由软件实现的机器,以区别于由硬件/固件实现的固件实现的物理机器。物理机器。

16、n翻译:先把翻译:先把N+1级程序全部变换成级程序全部变换成N级程序后,再去执行新级程序后,再去执行新产生的产生的N级程序,在执行过程中级程序,在执行过程中N+1级程序不再被访问。级程序不再被访问。 n解释:每当一条解释:每当一条N+1级指令被译码后,就直接去执行一串级指令被译码后,就直接去执行一串等效的等效的N级指令,然后再去取下一条级指令,然后再去取下一条N+1级的指令,依此重级的指令,依此重复进行。复进行。 1.1.1 计算机系统结构的含义1 1、计算机系统的外特性(计算机系统结构)、计算机系统的外特性(计算机系统结构)n几个重要概念几个重要概念(2)软硬件功能的逻辑等价)软硬件功能的逻

17、辑等价n虽然软件和硬件在实质上是完全不同的,但它们的功能在逻虽然软件和硬件在实质上是完全不同的,但它们的功能在逻辑上是等价的,即绝大部分硬件功能可用软件来实现,反之辑上是等价的,即绝大部分硬件功能可用软件来实现,反之亦然。亦然。n两者在实现时将在性价比上及实现难易程度上反映出不等价。两者在实现时将在性价比上及实现难易程度上反映出不等价。1.1.1 计算机系统结构的含义性能性能占用存储占用存储成本成本灵活性灵活性硬件实现硬件实现优优少少高高差差软件实现软件实现劣劣多多低低强强1 1、计算机系统的外特性(计算机系统结构)、计算机系统的外特性(计算机系统结构)n几个重要概念几个重要概念(3)软)软/

18、硬件交界面是模糊的,没有明确的固定界限硬件交界面是模糊的,没有明确的固定界限n具有相同功能的计算机系统,其软具有相同功能的计算机系统,其软/硬件间的功能分配可随硬件间的功能分配可随各种影响因素在很宽的范围内变化。各种影响因素在很宽的范围内变化。n主要因素有性能和成本、对存储器容量的需求量、可扩展性主要因素有性能和成本、对存储器容量的需求量、可扩展性和可更改性等。和可更改性等。n硬件在功能实现中的比例趋向增大。硬件在功能实现中的比例趋向增大。1.1.1 计算机系统结构的含义1 1、计算机系统的外特性(计算机系统结构)、计算机系统的外特性(计算机系统结构)n计算机系统结构的外特性包含的内容计算机系

19、统结构的外特性包含的内容1.1.1 计算机系统结构的含义n指令系统指令系统n数据表示数据表示n操作数的寻址方式操作数的寻址方式n寄存器的构成定义寄存器的构成定义n中断机构和异常中断机构和异常n存储体系和管理存储体系和管理nI/O结构结构n机器工作状态的定义和切换机器工作状态的定义和切换n信息保护信息保护2 2、计算机系统的内特性(计算机组成)、计算机系统的内特性(计算机组成)1.1.1 计算机系统结构的含义计算机系统外特性硬件和固件实现由电路、逻辑门或寄存器传递级等组成计算机系统内特性描述的抽象2 2、计算机系统的内特性(计算机组成)、计算机系统的内特性(计算机组成)n内特性,也称为计算机组成

20、:对由电路、逻辑门或寄内特性,也称为计算机组成:对由电路、逻辑门或寄存器传递级等硬件及固件实现计算机外特性方法的抽存器传递级等硬件及固件实现计算机外特性方法的抽象,它是计算机系统结构的逻辑实现。象,它是计算机系统结构的逻辑实现。n涉及的内容:包括数据流、控制流的组成,涉及的内容:包括数据流、控制流的组成,CPU内部内部和主存等部件的逻辑设计等。和主存等部件的逻辑设计等。n着重于:物理机器级内各事件的排序方式与控制结构、着重于:物理机器级内各事件的排序方式与控制结构、各部件的功能及各部件间的联系等。各部件的功能及各部件间的联系等。n关心的主要问题:如何合理地实现分配给硬件的功能关心的主要问题:如

21、何合理地实现分配给硬件的功能和性能指标。和性能指标。1.1.1 计算机系统结构的含义3 3、计算机系统的实现(计算机实现)、计算机系统的实现(计算机实现)n计算机实现:指计算机组成的物理实现。计算机实现:指计算机组成的物理实现。n包括处理机、主存等部件的物理结构,器件的集成度包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。电源、冷却及整机装配技术等。n着眼于:器件技术(起主导作用)、微组装技术。着眼于:器件技术(起主导作用)、微组装技术。1.1.1 计算机系统结构的含义n概

22、念举例概念举例确定指令系统中是否有乘法指令属于计算机系统确定指令系统中是否有乘法指令属于计算机系统结构的内容;结构的内容;乘法指令是用乘法器实现还是用加法器经多步操乘法指令是用乘法器实现还是用加法器经多步操作来实现属于计算机组成;作来实现属于计算机组成;乘法器、加法器的物理实现,如器件的选定及所乘法器、加法器的物理实现,如器件的选定及所用的微组装技术等属于计算机实现。用的微组装技术等属于计算机实现。1.1.1 计算机系统结构的含义4 4、计算机系统结构、计算机组成及计算机实现、计算机系统结构、计算机组成及计算机实现三者的关系三者的关系n计算机系统结构是计算机系统中软硬件之间的界面;计算机系统结

23、构是计算机系统中软硬件之间的界面;n计算机组成是计算机系统结构的逻辑实现;计算机组成是计算机系统结构的逻辑实现;n计算机实现是计算机组成的物理实现。计算机实现是计算机组成的物理实现。n计算机系统结构、组成与实现各自包含不同的内容,计算机系统结构、组成与实现各自包含不同的内容,但又有紧密的关系:但又有紧密的关系:n一种体系结构可以有多种组成;一种体系结构可以有多种组成;n一种组成可以有多种物理实现。一种组成可以有多种物理实现。1.1.1 计算机系统结构的含义5 5、计算机系统的微系统结构、计算机系统的微系统结构微外特性微外特性n由微程序编写者所看到的计算机的外部特性由微程序编写者所看到的计算机的

24、外部特性-逻辑结逻辑结构和功能;构和功能;n是硬件和固件之间的界面。是硬件和固件之间的界面。1.1.1 计算机系统结构的含义1 1、FlynnFlynn分类法分类法按按“流流”分类分类(1 1)指令流:机器执行的指令序列。)指令流:机器执行的指令序列。(2 2)数据流:由指令流调用的数据序列,包括输入数据)数据流:由指令流调用的数据序列,包括输入数据和中间结果。和中间结果。(3 3)多倍性:在系统最受限制的元件上同时处于同一执)多倍性:在系统最受限制的元件上同时处于同一执行阶段的指令或数据的最大可能个数。行阶段的指令或数据的最大可能个数。(4 4)按照指令流和数据流的不同组织方式,分为四类:)

25、按照指令流和数据流的不同组织方式,分为四类: n单指令流单数据流单指令流单数据流 SISD n单指令流多数据流单指令流多数据流 SIMDn多指令流单数据流多指令流单数据流 MISD n多指令流多数据流多指令流多数据流 MIMD1.1.2 计算机系统结构的分类n典型的典型的SISD机器:传统的顺序计算机机器:传统的顺序计算机nSISD机器结构机器结构 CU:控制部件:控制部件 IS:指令流:指令流 PU:处理部件:处理部件 DS:数据流:数据流 MU:存储部件:存储部件CUMUPUI/OCSDSIS单指令流单数据流SISDn典型典型SIMDSIMD机器:阵列处理机机器:阵列处理机n在同一控制部件

26、控制下,多个处理部件同时执行同一条在同一控制部件控制下,多个处理部件同时执行同一条指令所规定的操作,分别对各自的数据进行处理。指令所规定的操作,分别对各自的数据进行处理。单指令流多数据流SIMDn多个处理器,对同一数据流进行处理多个处理器,对同一数据流进行处理nMISD只是一种人为的划分,什么样的实际机器属于此类只是一种人为的划分,什么样的实际机器属于此类存在争议。存在争议。多指令流单数据流MISDn多机系统:多个处理器系统或多计算机系统,每个处多机系统:多个处理器系统或多计算机系统,每个处理机可以独立执行指令和处理数据。理机可以独立执行指令和处理数据。多指令流多数据流MIMD2 2、按按“并

27、行级并行级”和和“流水线流水线”分类分类 (1 1)19771977,德国,德国ErlangenErlangen大学大学H Hndlerndler教授提出,把计教授提出,把计算机硬件结构分成三个层次,并分别考虑它们的可并算机硬件结构分成三个层次,并分别考虑它们的可并行程度和流水线处理程度进行分类。这三个层次为:行程度和流水线处理程度进行分类。这三个层次为:n程序控制部件程序控制部件PCUPCUn算术逻辑部件算术逻辑部件ALUALU或处理部件或处理部件PEPE;n基本逻辑电路基本逻辑电路ELCELC:1Bit1Bit逻辑运算电路逻辑运算电路 1.1.2 计算机系统结构的分类2 2、按按“并行级并

28、行级”和和“流水线流水线”分类分类 (2 2) H Hndlerndler分类法:一个计算机系统可用三对整数来分类法:一个计算机系统可用三对整数来描述:描述:t(t(系统型号) )( (k kk k,d dd d,w ww w) ) ,其中,其中nk k:计算机中的程序控制部件:计算机中的程序控制部件PCUPCU的个数;的个数;nk k :可组成流水的:可组成流水的PCUPCU的个数的个数nd d:每个:每个PCUPCU所控制的算逻部件所控制的算逻部件ALUALU或或PEPE的个数的个数nd d :可组成流水的:可组成流水的ALUALU的个数的个数nw w:ALUALU或或PEPE的字长,每个

29、算逻部件包含的逻辑电路的套数的字长,每个算逻部件包含的逻辑电路的套数nw w :ALUALU或或PEPE中的流水段数,即流水线中基本逻辑电路套数中的流水段数,即流水线中基本逻辑电路套数1.1.2 计算机系统结构的分类2 2、按按“并行级并行级”和和“流水线流水线”分类分类 例:例:Cray-1Cray-1有有1 1个个CPUCPU;1212个相当于个相当于ALUALU或或PEPE的处理部的处理部件,最多级流水线;字长为件,最多级流水线;字长为6464位,可实现位,可实现1 11414位位流水线。流水线。 表示为:表示为:t(Cray-1)t(Cray-1)(1(1,12128 8,64(164

30、(114)14)1.1.2 计算机系统结构的分类1 1、以经常性事件为重点(大概率事件优先原则)、以经常性事件为重点(大概率事件优先原则)n对经常发生的情况采用优化方法的原则,以得到更多的对经常发生的情况采用优化方法的原则,以得到更多的总体上的改进。总体上的改进。n优化是指分配更多的资源、达到更高的性能或者分配更优化是指分配更多的资源、达到更高的性能或者分配更多的电能等。多的电能等。1.2 计算机系统的设计1.2.1 计算机系统设计的定量原理2 2、AmdahlAmdahl定律定律n加速比(加速比(SpSp)定义:)定义: nAmdahlAmdahl定律:定律:加快某部件执行速度所能获得的系统

31、性加快某部件执行速度所能获得的系统性能加速比,受限于该部件的执行时间占系统中总执行能加速比,受限于该部件的执行时间占系统中总执行时间的百分比。时间的百分比。加速比系统性能改进后系统性能改进前总执行时间改进前总执行时间改进后 1.2.1 计算机系统设计的定量原理n加速比的大小与两个因素有关加速比的大小与两个因素有关 可改进比例(可改进比例(f fe e):在改进前的系统中,可改进部):在改进前的系统中,可改进部分的执行时间在总的执行时间中所占的比例。它总分的执行时间在总的执行时间中所占的比例。它总是小于等于是小于等于1 1。 例如:一个需运行60秒的程序中有20秒的运算可以加速,那么这个比例就是

32、20/60。1.2.1 计算机系统设计的定量原理n加速比的大小与两个因素有关加速比的大小与两个因素有关 部件加速比(部件加速比(r re e):可改进部分改进以后性能提高):可改进部分改进以后性能提高的倍数。它是改进前所需的执行时间与改进后执行的倍数。它是改进前所需的执行时间与改进后执行时间的比。一般情况下部件加速比是大于时间的比。一般情况下部件加速比是大于1 1的。的。 例如:若系统改进后,可改进部分的执行时间是2秒,而改进前其执行时间为5秒,则部件加速比为5/2。1.2.1 计算机系统设计的定量原理设:改进前系统总执行时间为设:改进前系统总执行时间为To; 改进后系统总执行时间为改进后系统

33、总执行时间为Te则:则:oeeeeoeoeeTrf)f(1rTf)Tf(1时间可改进部分改进后执行不可改进部分执行时间T1.2.1 计算机系统设计的定量原理系统加速比为改进前与改进后总执行时间之比系统加速比为改进前与改进后总执行时间之比Sp ToTe(1fe)+fere11.2.1 计算机系统设计的定量原理例例1 1 将计算机系统中某一功能的处理速度提高到原来的将计算机系统中某一功能的处理速度提高到原来的2020倍,但该功能的处理时间仅占整个系统运行时间倍,但该功能的处理时间仅占整个系统运行时间的的40%40%,则采用此提高性能的方法后,能使整个系,则采用此提高性能的方法后,能使整个系统的性能

34、提高多少?统的性能提高多少?(1.6131.613)1.2.1 计算机系统设计的定量原理例例2 2 某计算机系统采用浮点运算部件后,使浮点运算速某计算机系统采用浮点运算部件后,使浮点运算速度提高到原来的度提高到原来的2020倍,而系统运行某一程序的整体倍,而系统运行某一程序的整体性能提高到原来的性能提高到原来的5 5倍,试计算该程序中浮点操作倍,试计算该程序中浮点操作所占的比例。所占的比例。(84.2%84.2%)1.2.1 计算机系统设计的定量原理例例3 3 假设某应用程序中有假设某应用程序中有4 4类操作,通过改进,各操作获得了不同的类操作,通过改进,各操作获得了不同的性能提高。具体数据如

35、下表所示:性能提高。具体数据如下表所示:(1 1)改进后,各类操作的加速比分别是多少?)改进后,各类操作的加速比分别是多少?(2 2)各类操作单独改进后,程序获得的加速比分别是多少?)各类操作单独改进后,程序获得的加速比分别是多少?(3 3)4 4类操作均改进后,整个程序的加速比是多少?类操作均改进后,整个程序的加速比是多少?操作操作类型类型程序中的数量程序中的数量(百万条指令)(百万条指令)改进前的执行改进前的执行时间(周期)时间(周期)改进后的执行改进后的执行时间(周期)时间(周期)操作操作1 110102 21 1操作操作2 2303020201515操作操作3 3353510103 3

36、操作操作4 415154 41 11.2.1 计算机系统设计的定量原理nAmdahlAmdahl定律性能增加递减规则:定律性能增加递减规则: 如果仅仅对计算机中的一部分做性能改进,则改进越如果仅仅对计算机中的一部分做性能改进,则改进越多,系统获得的效果越小。多,系统获得的效果越小。 n推论:推论: 如果只针对整个任务的一部分进行优化,那么所获得如果只针对整个任务的一部分进行优化,那么所获得的加速比不大于的加速比不大于1/(1-f1/(1-fe e) )。1.2.1 计算机系统设计的定量原理3 3、程序的局部性原理、程序的局部性原理n程序的局部性原理:程序执行时所访问的存储器地址程序的局部性原理

37、:程序执行时所访问的存储器地址分布不是随机的,而是相对地簇聚。分布不是随机的,而是相对地簇聚。n经验规则经验规则: :程序执行时间的程序执行时间的90%90%都是在执行程序中都是在执行程序中10%10%的代码。的代码。n局部性包括时间局部性和空间局部性局部性包括时间局部性和空间局部性 程序的时间局部性程序的时间局部性: :程序即将用到的信息很可能程序即将用到的信息很可能就是目前正在使用的信息。就是目前正在使用的信息。 程序的空间局部性程序的空间局部性: :程序即将用到的信息很可能程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者临近。与目前正在使用的信息在空间上相邻或者临近。1.2.

38、1 计算机系统设计的定量原理n计算机系统设计者的主要任务包括指令系统设计、数据计算机系统设计者的主要任务包括指令系统设计、数据表示设计、功能的组织、逻辑设计以及其物理实现等。表示设计、功能的组织、逻辑设计以及其物理实现等。n设计一个计算机系统大致要完成三方面的工作:设计一个计算机系统大致要完成三方面的工作:n满足用户对功能上的要求以及相应的对价格和性能的要求。满足用户对功能上的要求以及相应的对价格和性能的要求。 功能上的要求包括:应用领域、软件兼容级别、操作系统需功能上的要求包括:应用领域、软件兼容级别、操作系统需求、中断和自陷以及对标准的要求等。求、中断和自陷以及对标准的要求等。n在满足功能

39、要求基础上进行设计的优化。在满足功能要求基础上进行设计的优化。 优化主要是以性价比为衡量指标,仔细考虑某一所需的功能优化主要是以性价比为衡量指标,仔细考虑某一所需的功能应该用软件还是硬件来加以实现。应该用软件还是硬件来加以实现。n设计应能适应日后的发展趋势。设计应能适应日后的发展趋势。 好的系统结构设计应能经受硬件技术、软件技术以及应用特好的系统结构设计应能经受硬件技术、软件技术以及应用特征的变化。征的变化。1.2.2 计算机系统设计者的主要任务 运算器 (ALU) 控制器 存储器 数据流数据流 控制流控制流 输入输入 指令流指令流 输入 设备 输出输出 输出 设备 1.3 计算机系统结构的发

40、展1.3.1 计算机系统结构的演变 1 1、冯、冯诺依曼结构计算机诺依曼结构计算机1.3 计算机系统结构的发展1.3.1 计算机系统结构的演变 1 1、冯、冯诺依曼结构计算机诺依曼结构计算机(1 1)冯)冯诺依曼结构的主要特点诺依曼结构的主要特点n存储程序方式存储程序方式n指令串行执行,并由控制器集中加以控制指令串行执行,并由控制器集中加以控制n单元定长的一维线性空间的存储器单元定长的一维线性空间的存储器n使用低级机器语言,数据以二进制形式表示使用低级机器语言,数据以二进制形式表示n单处理机结构,以运算器作为中心单处理机结构,以运算器作为中心 运算器 (ALU) 控制器 存储器 数据流数据流

41、控制流控制流 输入输入 指令流指令流 输入 设备 输出输出 输出 设备 1.3 计算机系统结构的发展1.3.1 计算机系统结构的演变 1 1、冯、冯诺依曼结构计算机诺依曼结构计算机(2 2)冯)冯诺依曼结构的缺点诺依曼结构的缺点n存在两个主要的瓶颈存在两个主要的瓶颈:物理瓶颈物理瓶颈智能瓶颈智能瓶颈n低级的机器语言和高级程序设计语言之间语义差距大,低级的机器语言和高级程序设计语言之间语义差距大,要靠大量复杂软件程序填补。要靠大量复杂软件程序填补。n复杂数据结构对象无法直接存放在以一维线性地址空复杂数据结构对象无法直接存放在以一维线性地址空间存储器中,必须经过地址映像。间存储器中,必须经过地址映

42、像。1.3 计算机系统结构的发展1.3.1 计算机系统结构的演变 1 1、冯、冯诺依曼结构计算机诺依曼结构计算机(3 3)冯冯诺依曼型计算机结构的改进,采用改良方法与革诺依曼型计算机结构的改进,采用改良方法与革命方法。命方法。 改进的冯改进的冯诺依曼计算机,具有如下重要特征:诺依曼计算机,具有如下重要特征:n增加了新的数据表示增加了新的数据表示n采用虚拟存储器采用虚拟存储器n引入堆栈引入堆栈n采用变址寄存器并增加采用变址寄存器并增加间接寻址方式间接寻址方式n增加通用寄存器数量,增加通用寄存器数量,增设增设Cachen存储器交叉访问技术以及存储器交叉访问技术以及无冲突访问并行存储器无冲突访问并行

43、存储器n采用流水技术采用流水技术n采用多功能部件采用多功能部件n采用支持处理机采用支持处理机n采用自定义的数据表示采用自定义的数据表示 n程序和数据代码空间分开程序和数据代码空间分开1.3 计算机系统结构的发展1.3.1 计算机系统结构的演变 1 1、冯、冯诺依曼结构计算机诺依曼结构计算机 上述改进使计算机系统结构从以运算器为中心逐步演上述改进使计算机系统结构从以运算器为中心逐步演变为以存储器为中心。变为以存储器为中心。1.3.2 软件、应用需求和器件对系统结构发展的影响1 1、软件对系统结构发展的影响、软件对系统结构发展的影响n软件危机:落后的软件生产方式无法满足迅速增长的计软件危机:落后的

44、软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。系列严重问题的现象。n软件可兼容性(可移植性):一个软件可以不经修改或软件可兼容性(可移植性):一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算者只需少量修改就可以由一台计算机移植到另一台计算机上正确地运行,差别只是执行时间的不同。机上正确地运行,差别只是执行时间的不同。n实现软件可移植性的主要方法:实现软件可移植性的主要方法:n模拟和仿真方法模拟和仿真方法n二进制翻译方法二进制翻译方法n系列机方法系列机方法n统一标准的高级语

45、言统一标准的高级语言(1 1)模拟和仿真方法)模拟和仿真方法n软件由软件由B B机移植到不同系统结构的机移植到不同系统结构的A A机上的要求:能在机上的要求:能在A A机上实现机上实现B B机系统结构。机系统结构。p从指令系统的角度来看,就是要在从指令系统的角度来看,就是要在A A机上机上“实现实现”B B机器的指机器的指令系统。令系统。p此外还应在此外还应在A A机上机上“实现实现”B B机的系统结构环境,包括存储体机的系统结构环境,包括存储体系、系、I/OI/O子系统及操作系统等。子系统及操作系统等。n在在A A机上实现机上实现B B机系统结构可采用机系统结构可采用模拟模拟或或仿真仿真方法

46、。方法。1、软件对系统结构发展的影响n模拟:用软件的方法在一台现有的机器(称为宿主机)模拟:用软件的方法在一台现有的机器(称为宿主机)上实现另一台机器(称为虚拟机)的指令系统。上实现另一台机器(称为虚拟机)的指令系统。通常用解释的方法来实现,即虚拟机的每一条指令通常用解释的方法来实现,即虚拟机的每一条指令都用宿主机的一段机器语言程序进行解释执行。都用宿主机的一段机器语言程序进行解释执行。为了使虚拟机的应用程序能在宿主机上运行,还要为了使虚拟机的应用程序能在宿主机上运行,还要模拟虚拟机的存储系统、模拟虚拟机的存储系统、I/OI/O系统和操作系统等。系统和操作系统等。由于模拟机采用纯软件解释执行的

47、方法,因此运行由于模拟机采用纯软件解释执行的方法,因此运行速度较慢、性能较差。速度较慢、性能较差。1、软件对系统结构发展的影响n仿真:用一台现有机器(宿主机)上的微程序去解释仿真:用一台现有机器(宿主机)上的微程序去解释实现另一台机器(目标机)的指令集。实现另一台机器(目标机)的指令集。宿主机本身采用微程序控制。宿主机本身采用微程序控制。这个微程序是专门为实现目标机指令集而设计的,这个微程序是专门为实现目标机指令集而设计的,称为仿真微程序。称为仿真微程序。模拟程序存储在主存中,仿真程序存储在控制存模拟程序存储在主存中,仿真程序存储在控制存储器中,因此仿真的运行速度比模拟方法的快。储器中,因此仿

48、真的运行速度比模拟方法的快。仿真只能在系统结构差距不大的机器之间使用。仿真只能在系统结构差距不大的机器之间使用。1、软件对系统结构发展的影响n虚拟机(虚拟机(Virtual Machine, VM)Virtual Machine, VM)技术技术比模拟和仿真方法具有更高层次的技术。比模拟和仿真方法具有更高层次的技术。 VMVM技术使一台计算机能运行多个相互隔离的技术使一台计算机能运行多个相互隔离的VM,VM,且各个且各个VMVM可运行在不同的操作系统环境下,而这可运行在不同的操作系统环境下,而这些操作系统又共享所有物理的硬件资源。些操作系统又共享所有物理的硬件资源。为计算机在多用户环境下能安全

49、运行并支持多核为计算机在多用户环境下能安全运行并支持多核处理器的并行运行提供有效支持。处理器的并行运行提供有效支持。1、软件对系统结构发展的影响(2 2)二进制翻译方法)二进制翻译方法二进制翻译(二进制翻译(Binary Translation)Binary Translation)是指在目标计算平台是指在目标计算平台上运行为源计算平台编译生成的可执行代码的一种技术。上运行为源计算平台编译生成的可执行代码的一种技术。实际是模拟和仿真方法的向下诞伸,即在二进制代码一级实际是模拟和仿真方法的向下诞伸,即在二进制代码一级进行模拟和仿真。进行模拟和仿真。二进制翻译方法按在哪一层次上进行翻译可分为两类:

50、二进制翻译方法按在哪一层次上进行翻译可分为两类:n系统级的翻译:在操作系统下进行系统级的翻译:在操作系统下进行n应用级的翻译:在操作系统上进行应用级的翻译:在操作系统上进行二进制翻译方法按在运行前或运行后进行翻译,可分为:二进制翻译方法按在运行前或运行后进行翻译,可分为:n静态方法:直接对源目标码进行翻译和优化静态方法:直接对源目标码进行翻译和优化n动态方法:边翻译、边执行动态方法:边翻译、边执行1、软件对系统结构发展的影响(3 3)系列机方法)系列机方法n系列机:由同一厂家生产的具有相同的系统结构,系列机:由同一厂家生产的具有相同的系统结构,但具有不同组成和实现的一系列不同型号的机器。但具有

51、不同组成和实现的一系列不同型号的机器。例如例如IBM370IBM370系列有系列有115115、125/135125/135、145145、158158、168168等一等一系列从低速到高速的各型号机器,这些计算机具有相同系列从低速到高速的各型号机器,这些计算机具有相同的指令集,但在低档机上,指令的分析、执行是顺序进的指令集,但在低档机上,指令的分析、执行是顺序进行的,而在高档机上则采用重叠、流水等并行处理方式。行的,而在高档机上则采用重叠、流水等并行处理方式。n通过统一的机器语言实现软件移植方法。通过统一的机器语言实现软件移植方法。n系列机能较好地解决软件开发要求系统结构相对稳系列机能较好地

52、解决软件开发要求系统结构相对稳定与器件、硬件技术迅速发展的矛盾。定与器件、硬件技术迅速发展的矛盾。1、软件对系统结构发展的影响(3 3)系列机方法)系列机方法n系列机的软件兼容有四种方式:系列机的软件兼容有四种方式:向上(下)兼容:按某档机器编制的程序,不加修改向上(下)兼容:按某档机器编制的程序,不加修改就能运行于比它高(低)档的机器。就能运行于比它高(低)档的机器。向前(后)兼容:按某个时期投入市场的某种型号机向前(后)兼容:按某个时期投入市场的某种型号机器编制的程序,不加修改地就能运行于在它之前(后)器编制的程序,不加修改地就能运行于在它之前(后)投入市场的机器。投入市场的机器。n向后兼

53、容是系列机的根本特征!向后兼容是系列机的根本特征!n兼容机:由不同厂家生产的具有相同系统结构的兼容机:由不同厂家生产的具有相同系统结构的计算机。计算机。1、软件对系统结构发展的影响(4 4)统一标准的高级语言)统一标准的高级语言n采用与机器型号无关的高级程序设计语言标准。采用与机器型号无关的高级程序设计语言标准。n实现软件移植的一种理想的方法。实现软件移植的一种理想的方法。n提供不同硬件平台、不同操作系统之间的可移植性。提供不同硬件平台、不同操作系统之间的可移植性。n这种可移植性只限于应用软件,且是源程序一级的,与硬这种可移植性只限于应用软件,且是源程序一级的,与硬件、操作系统环境有关的系统软

54、件与支撑软件产品仍不能件、操作系统环境有关的系统软件与支撑软件产品仍不能实现移植。实现移植。n较难实现较难实现高级语言有多种,且不同计算机上的同一种语言也不高级语言有多种,且不同计算机上的同一种语言也不是完全相同;是完全相同;不是所有的软件开发商都开放其源代码。不是所有的软件开发商都开放其源代码。1、软件对系统结构发展的影响n小结小结n模拟和仿真技术为解决不同厂商、不同机型间的模拟和仿真技术为解决不同厂商、不同机型间的应用软件可移植性提供了有效方法,但模拟方法应用软件可移植性提供了有效方法,但模拟方法速度较慢,仿真方法灵活性差,当机器结构差异速度较慢,仿真方法灵活性差,当机器结构差异较大时,很难仿真。较大时,很难仿真。n二进制编译方法是模拟和仿真方法的向下诞伸。二进制编译方法是模拟和仿真方法的向下诞伸。n系列机方法要求系统结构相对稳定,一定程度上系列机方法要求系统结构相对稳定,一定程度上限制了系统结构的发展。限制了系统结构的发展。n统一标准的高级语言是最理想方法,但很难实现。统一标准的高级语言是最理想方法,但很难实现。n为了满足用户的要求,导致所谓开放系统的出现。为了满足用户的要求,导致所谓开放系统的出现。1、软件对系统结构发展的影响n开放系统:是指

温馨提示

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

评论

0/150

提交评论