计算机体系结构教材课件汇总完整版ppt全套课件最全教学教程整本书电子教案全书教案合集最新课件汇编_第1页
计算机体系结构教材课件汇总完整版ppt全套课件最全教学教程整本书电子教案全书教案合集最新课件汇编_第2页
计算机体系结构教材课件汇总完整版ppt全套课件最全教学教程整本书电子教案全书教案合集最新课件汇编_第3页
计算机体系结构教材课件汇总完整版ppt全套课件最全教学教程整本书电子教案全书教案合集最新课件汇编_第4页
计算机体系结构教材课件汇总完整版ppt全套课件最全教学教程整本书电子教案全书教案合集最新课件汇编_第5页
已阅读5页,还剩602页未读 继续免费阅读

下载本文档

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

文档简介

1、 第一节 计算机体系结构的基本概念 第二节 计算机体系结构的演变 第三节 影响计算机体系结构因素 第四节 计算机体系结构中的并行性及其发展 第五节 计算机体系结构设计的基础 第六节 计算机系统的评价第一节 计算机体系结构的基本概念一、提高计算机硬件性能的因素 1.器件换代是计算机换代的基本标志 以器件的发展为标志,计算机系统经历了四代。 器件技术为计算机的发展提供了必不可少的物质基础,是推动计算机发展的基本因素。 2.体系结构是现代计算机系统分类的基本依据 计算机的分类方法很多,普遍认可的是按性能与价格划分,由此可分为巨型机、大型机、中型机、小型机和微型机五大类。但该分类方法已不能正确地反映当

2、前计算机的性能、应用和发展趋势等方面的现状。 第一节 计算机体系结构的基本概念主要原因有: 一是相互之间的界限越来越模糊; 二是某一类机器的归属是动态变化的; 三是现代计算机的硬件处理核心基本相同; 四是该分类法没有真正体现计算机的本质特征。 第一节 计算机体系结构的基本概念主要特征 嵌入式计算机 桌面计算机 服务器 超级计算机应用范围 智能仪器、测控装置 面向个人 大规模信息处理 科学计算对应关系 微型机应用微型化 小型机、微型机 大型机、中型机 巨型机微处理器数目 12个 14个 几个几十个 几十个以上系统价格 差异很大 5005000美元 5000500万 1千万1亿微处理器价格 0.0

3、1100美元50500 20010000 20010000性能通用、性价比、图形等多媒体性能专用、价格、实时性、可靠性设计关键设吞吐量、可靠性、可扩性、可测性计关键性能专用、吞吐量、浮点计算第一节 计算机体系结构的基本概念二、广义计算机语言与虚拟计算机 1. 什么是计算机系统 一是指狭义的计算机系统。认为计算机系统是由运算器、控制器、存储器、输入设备、输出设备五个部件组成。 I/OCPUM/S模式。 二是指本义的计算机系统。认为计算机系统是由硬件和软件两部分组成。 SH模式。 三是指广义的计算机系统。认为计算机系统是由人员、数据、设备、程序、规程等五部分组成,只有把它们有机地结合在一起才能完成

4、各种任务。 广义模式。第一节 计算机体系结构的基本概念2. 广义的计算机语言 计算机系统的根本功能在于信息处理,任何一个信息处理过程都是对某一层面而言。因此,把描述控制流程的、有一定规则的字符集合称之为计算机语言。而控制流程实现有三种方法: 全硬件的方法。 硬件和软件相结合的方法。 全软件的方法。 可见,计算机语言并不专属软件范畴,而是分属于计算机系统的各个层面,且有不同的作用,这就是计算机语言的广义性。3. 虚拟计算机 计算机系统只对某一层次的观察者而存在,通过该层次的广义语言来体现它的功能,并为广义语言提供翻译手段,作用于信息处理和控制对象上,并从对象上获得必要的状态信息,这就是虚拟计算机

5、。简言之,由软件实现的机器即为虚拟计算机。第一节 计算机体系结构的基本概念观察者广义语言编译或解释器硬件电路状态信息控制信息虚拟计算机的组成4. 透明性 虚拟计算机仅对这一层次的观察者而存在的。从某一层次的观察者来看,只是通过该层次的语言来了解和使用机器,不必关心其内层的那些机器是如何工作和如何实现各自功能的。这一概念称为透明性,即所谓透明性是指在计算机技术中,一种本来存在的事物或原性,但从某种角度看似乎不存在。它是基于虚拟计算机的观点而形成的一个概念。第一节 计算机体系结构的基本概念三、计算机体系结构及其范畴 1.什么是计算机体系结构 计算机体系结构是G.M.Amdahl等人在1964年提出

6、的。他们提出计算机体系结构是程序员看到的计算机属性,然而不同级程序员所看到的计算机属性显然不同。 Amdahl等人提出的程序员是指机器语言程序员,计算机属性是硬件的概念结构及其功能特性,是计算机硬件的外特性。因此完整的计算机体系结构的定义是:机器语言程序员所必须了解的机器概念性结构和功能特性。第一节 计算机体系结构的基本概念2. 计算机体系结构范畴 计算机体系结构作为一门学科,主要是研究软件与硬件功能分配和对软件、硬件界面的确定,即哪些功能由软件完成,哪些功能由硬件完成,以及如何最佳最合理地实现分配给硬件的功能。它所包括的内容一般有: 数据表示 寻址方式 寄存器组织 指令系统 存储系统 中断机

7、构 机器工作状态(如管态、目态等)的定义和切换 机器级的I/O结构 信息保护 第一节 计算机体系结构的基本概念第一节 计算机体系结构的基本概念四、计算机组成与实现 1. 计算机组成 什么是计算机组成。 计算机组成是计算机体系结构的逻辑实现,包括机器内部的数据流和控制流的组成以及逻辑设计等。 计算机逻辑设计的目的及其内容。 计算机逻辑设计是按所希望达到的性能价格比,最佳、最合理地把各种设备和部件组成计算机,以实现所确定的计算机体系结构。计算机组成的设计内容对传统机器程序员一般是透明的。 逻辑设计的内容主要包括: 数据通路宽度。 操作对功能部件的共享程度。 专用功能部件的设置。 功能部件的并行性。

8、 缓冲和排队技术的。 控制部件组成方式。 可靠性技术。 性能优化技术。第一节 计算机体系结构的基本概念2计算机实现 计算机实现是指计算机组成的物理实现。主要内容有: (1)处理机、主存储器等部件的物理结构。 (2)器件的物理性能,如电参数、传输速度、动态范围、集成度等。 (3)器件、模块、插件和底板等的划分与连接。 (4)专用器件的设计、微组装技术。 (5)信号传输、制作、电源、冷却和装配等技术以及有关的制造技术和工艺等。 第一节 计算机体系结构的基本概念 3计算机体系结构、组成与实现间的关系 计算机体系结构、计算机组成和实现是三个不同的概念。 计算机体系结构、计算机组成和实现相互影响。 计算

9、机体系结构、组成和实现的界限模糊。 第一节 计算机体系结构的基本概念第一节 计算机体系结构的基本概念四、计算机体系结构的特性 1.计算机体系结构的层次性 计算机系统是硬件和软件的统一体,直接反映结构上的层次性。如果依据虚拟计算机的观点来看,不同层次的观察者看到的计算机系统无论功能还是结构都不相同,即就有如图所示计算机系统的层次结构。机器指令时序微程序控制 寄存器传送门指令系统CPU 机器语言程序键盘命令和OS原语操作系统 运行程序汇编语言汇编程序 运行程序高级语言编译解释 运行程序应用语言应用程序 信息处理系统硬操作时序硬联逻辑 逻辑线路内核M0硬联逻辑问题规范数学模型 系统配置M7系统分析M

10、6应用程序机器M5高级语言机器M4汇编语言机器M3操作系统机器M2机器语言机器M1微程序控制系统分析员用户高级语言程序员低级语言程序员操作员虚拟机逻辑设计员 物理机机器语言程序员硬件设计员问题分析应用软件系统软件计算机组成与结构第一节 计算机体系结构的基本概念2. 计算机体系结构的等级性 计算机系统分为巨型、中型、小型、微型等若干等级。一台计算机体系结构的等级将随时间而下移。各型机器的性能、价格随时间变化的趋势大致可以用图说明。由图可见,各型机器所具备的性能随时间是在动态地下移的,但价格却在相当长一段时间内基本不变。第一节 计算机体系结构的基本概念巨型机大型机中型机小型机微型机价格虚线为等性能

11、线 t-3 t-2 t-1 t t+1 年代图1.3 计算机体系结构等级与性能、价格的关系3.计算机体系结构的系列性 系列机是指由同一个厂家生产的体系结构相同、组成和实现不同的一系列不同型号的机器。简言之,体系结构相同的机器即为系列机。而把不同公司厂家生产的具有相同系统结构的计算机称为兼容机。 系列机软件兼容是指同一个软件(目标程序)可以不加修改地运行于系统结构相同的各档次的机器,而且所得结果一致。软件兼容有向上兼容与向下兼容和向前兼容与向后兼容两种类型。 对系列机而言,必须保证做到软件向后兼容,力争做到软件向上兼容。第一节 计算机体系结构的基本概念第一节 计算机体系结构的基本概念 机器档次

12、高 向后兼容向前兼容 向下兼容 向上兼容当前机器4.计算机系统结构的模拟仿真性 模拟是指用机器语言程序解释实现程序移植的方法,被模拟的B机称为虚拟机,A机称为宿主机。 用微程序直接解释另一种机器的指令系统称为仿真。 仿真与模拟的主要区别在于解释所用的语言。仿真是用微程序解释,其解释程序在微程序存储器中;模拟是用机器语言解释,其解释程序在主存储器中。另外仿真的速度要比模拟快,但实现难度要大。第一节 计算机体系结构的基本概念第一节 计算机体系结构的基本概念B虚拟机A宿主机M4以上的应用级M5高级语言级M2机器语言级M4汇编语言级M1微程序级M2机器语言级M3 OS级M3 OS级图1-5 在A机器语

13、言级上实现B机器指令系统 第二节 计算机体系结构的演变一、计算机体系结构的基本模型 1.计算机工作的原理 存储程序、顺序控制原理的基本点是指令驱动,即程序由指令组成,并和数据一起存放在计算机存储器中。机器一经启动,就能按照程序指定的逻辑顺序把指令从存储器中读出来逐条执行,自动完成由程序所描述的处理工作。2计算机体系结构的框架 运算器存储器控制器输入设备输出设备第二节 计算机体系结构的演变典型的冯诺依曼型计算机的硬件结构框架 第二节 计算机体系结构的演变以存储器为中心的计算机硬件结构框架 存储器控制器运算器输入设备输出设备I/O主机中央处理器CPU算术逻辑运算单元ALU控制单元CU主存储器M.M

14、I/O接口I/O设备 第二节 计算机体系结构的演变现代计算机的基本结构框架 第二节 计算机体系结构的演变3. 冯诺依曼型计算机的特点 机器以运算器为中心。 由控制器集中控制。 采用存储程序的思想。 指令和数据在存贮器中同等对待均采用二进制编码。 存储器是一个顺序、线性编址的一维空间,每个存储单元的二进制的位数是固定的,地址是唯一定义的。 指令为低级机器语言(二进制),驱动机器进行操作。 软件与硬件完全分开。二、计算机体系结构存在的主要问题及其改进 1. 冯诺依曼型结构存在的主要问题 由于机器以运算器为中心,使得低速的输入/输出和高速的运算不得不 相互等待,串行进行。 由于采用控制器集中控制使控

15、制器的负担过重,从而严重影响了机器 速度和设备利用率的提高。 由于采用存储程序控制的思想,当前后指令需要的数据相关时,顺序 执行是必须的。但实际程序中的许多前后指令的数据互不相关,因此 单纯的顺序执行指令就难以最大限度地发挥系统的并行处理能力。 由于指令和数据混存于同一存储器中,在程序执行过程中,指令可能 被当作数据而被修改。不利于程序调试、再入性、递归调用,不利于 指令和数据并行存取,不利于采用重叠方式来提高速度第二节 计算机体系结构的演变 由于存贮单元是按顺序、线性编址的,一维线性空间的表示与栈、树、图、 多维数组等非线性、多维、离散的数据结构相矛盾。 由于存贮单元是按一级直接寻址访问,导

16、致存贮空间极为有限,外围译码 电路又极为复杂。 操作数并不表示它本身是何种数据类型,而是由操作码指出。因此每增加 一种操作数类型,就要增加一组处理这种数据类型的指令。这样,一方面 不仅使指令系统日益庞大复杂,另一方面由于高级语言中操作符与数据类 型无关。使得机器指令与高级语言之间存在的语义差距过去只好通过编译 程序来弥补,从而加重了编译的负担,增大辅助开销。 软件与硬件截然分开,硬件结构的完全固定,会使得无法更合理地进行软 硬功能分配,难以优化系统结构。当求解的问题和应用要求变化时,会使 性能价格比明显下降。第二节 计算机体系结构的演变2. 冯诺依曼型计算机结构的改进 机器以运算器为中心改为以

17、主存为中心,让系统的输入/输出与CPU 的操作并行,多种输入/输出并行。 存储程序顺序控制的思想改为存储程序激发控制的思想。 计算机系统增设许多高级数据表示,使得数据不带类型标志改为自 身带有数据类型标志,增强指令具有对多种数据类型操作的通用性, 简化指令系统,缩小高级语言与机器语言的距离。 强调软硬结合,硬件结构逻辑的可编程性。 依靠知识逻辑推理而不依靠精确的数值运算,从而出现了处理非数 值化信息的智能计算机。 为实现各种特定任务,出现了各种不同的计算机系统。 存储器组成多样化、复杂化。对于指令与数据等同问题,对于存 储 的线性直接寻址的问题,对于存储器带宽问题。 为解决局部存在的问题,而采

18、用了许多技术措施。第二节 计算机体系结构的演变 第二节 计算机体系结构的演变 3现代计算机体系结构的主要特点 (1)软硬件功能分配更加科学合理。 (2)计算过程的并行处理能力强。 (3)存储器的组织结构更加适合计算机系统的需要。 (4)高性能的微处理器得以实现。 (5)多处理机组织结构的计算机占据统治地位。 第二节 计算机体系结构的演变三、计算机体系结构的演变过程 1计算机体系结构的生命周期硬件系统软件应用软件消亡57年57年57年第二节 计算机体系结构的演变2计算机体系结构的演变过程年 代 器件 体系结构技术 软件技术 典型机器 第一代(19451954)电子管、继电器和绝缘导线互连程序控制

19、I/O、定点数据表示机器语言和汇编语言普林斯顿ISAENIACIBM701第二代(19551964)晶体管、磁芯和印刷电路浮点数据表示、寻址技术、中断和I/O处理机UnivacLARCCDC-1604IBM7030高级语言、编译和批处理监控程序第三代(19651974)SSI和MSI、多层印刷电路和微程序 IBM360/370 DEC PDP-8多道程序和分时操作系流水线、高速缓存、先行处理和系列机第四代(19751990)SI、VLSI和半导体存储器向量处理、分布式存储器和指令级并行技术并行和分布处理Cray-1IBM3090DEC VAX9000可扩展并行和分布处理线程级并行技术、SMP、

20、MP、MPP和网络高性能微处理器和大规模高蜜度电路 第五代(1991)SGI Cray T3EIBMxServerSUN E10000 第三节 影响计算机体系结构的因素一、影响计算机体系结构的基本因素 1软件对计算机体系结构的影响 软件是推动计算机体系结构发展的关键因素。 一是操作系统。操作系统与硬件关系最为密切,如网络操作系统的主要功能是提供计算机之间的通信和资源共享,要求计算机的体系结构内必须配置通信接口部件。 二是语言处理系统。为实现软件的移植,则要求计算机体系结构具有系列性和模拟仿真性;再是统一高级语言,不仅要求语言标准化,也要求计算机体系结构在处理程序设计语言上具有相同的属性。 第三

21、节 影响计算机体系结构的因素2并行处理技术对计算机体系结构的影响 并行处理技术是推动计算机体系结构发展的关键因素。 实现并行处理的技术不同,就形成了不同的计算机体系结构,如时间重叠的流水线并行处理技术的应用就产生了流水线计算机,重复设置功能部件的并行处理技术的应用就产生了阵列计算机,资源共享并行处理技术的应用就产生了多计算机系统。计算机体系结构从低级向高级发展的过程也就是并行处理技术不断发展的过程。 第三节 影响计算机体系结构的因素 3应用对计算机体系结构的影响 应用需求是促使计算机系统结构发展的根本动力。 不同的应用对计算机体系结构的设计提出了不同的要求,如果现有的计算机不能满足应用要求,则

22、需要设计和采用新的计算机体系结构。因为对计算机应用来讲,计算效率高低是一个关键问题。 专用的体系结构的高效率与通用的体系结构的广泛市场呈均势,二者相辅相成。 4器件对计算机系统结构的影响 器件是促使计算机体系结构发展的最活跃的因素。 器件是组成计算机的最基本单元,通常所讲的第几代计算机,则是以器件为划分标准。器件的性能、使用方法改变,影响体系结构及组成设计方法。器件性能/价格提高,使新结构、新组成、新技术从理论变为现实,提高计算机体系结构的性能,使新结构、新组成下移。5价格对计算机体系结构的影响 性能价格比是计算机体系结构的重要参数。 全面地评价一个计算机体系结构时,既要考虑性能又要考虑价格。

23、第三节 影响计算机体系结构的因素 第三节 影响计算机体系结构的因素二、编译技术与计算机体系结构的关系 在所有软件中,编译程序与计算机体系结构的相互影响最强,相互间的影响关系是通过指令系统结构来反映。具备哪些特性的指令结构可以生成高质量的目标代码,以设计出合理的指令集结构;如何才能容易地为指令系统结构编写出相应高效的编译器,以充分发挥计算机性能。 第三节 影响计算机体系结构的因素 1现代编译程序的结构 一是要保证编译的目标代码正确,使所有有效的程序能够被正确地编译;二是编译出的目标代码在目标机器上的执行速度要尽可能高,代码的容量要尽可能小;三是编译的速度、对程序调试的支持以及各种语言之间互操作的

24、可能性等。 高度依赖机器而不依赖语言依赖关系 过程结构 功能语言预处理高级优化局部与全局优化代码生成依赖语言而与机器独立将语言转换到一般中间形式较多依赖语言而大部分与机器独立过程展开和循环变换等较少依赖语言而开始依赖机器(如寄存器个数/类型)含全局和局部优化、寄存器分配仔细选择指令,机器相关的优化 第三节 影响计算机体系结构的因素 2现代编译程序优化转换的类型 高级优化。高级优化是对源始程序进行优化,并将优化转换结果送到后续的优化扫描中。 局部优化。局部优化是一系列在线性的程序段(也称为基本块)中进行的优化转换。 全局优化。全局优化是在局部优化的基础上,考虑到各种分支情况,对循环和分支进行一系

25、列的优化转换。 基于机器的优化。基于机器的优化目的是充分利用机器结构的某些特点进行代码优化转换。优化转换类型优化转换方法说 明高级优化:处于或接近源代码级别,与机器独立无关。过程集成用过程体代替过程调用语句局部优化:线性代码序列内的优化。消去公共子表达式设法找出在同一表达式中出现的公共子表达式,并把第一次公共子表达式计算出的值存放在一个临时变量中,利用该临时变量值消去表达式中的其他相同公共子表达式的计算。常数传递将所有被赋值为常数的变量用该常数的值代替。降低堆栈的高度对表达式进行重新组织,尽量减少表达式求值时所需的资源。全局优化(含寄存器分配):非线性代码序列的优化,其中寄存器分配是提高实现机

26、器代码速度等方面的核心问题。消去公共子表达式和局部优化中的消去公共子表达式优化类似。拷贝传递如果变量A已经赋值为X,则用X代替所有地方的A。代码移动如果循环体中的某段代码在每次循环中均是计算相同的值,则将这段代码移到循环的外部。消去索引变量简化/消去在循环体中的数组地址计算。基于机器的优化:依赖于机器的特点降低计算量如:用加操作和移位操作来代替一个常数的乘操作。流水线调度重新组织指令序列以提高流水线性能。分支偏移的优化选择能够达到分支目标的最短分支偏移量。 第三节 影响计算机体系结构的因素 第三节 影响计算机体系结构的因素三算法对计算机系统结构的影响 计算机具有高性能是相对于某一类算法而言,而

27、算法的优劣是相对于某一计算机体系结构而言。计算机体系结构设计应针对某些应用领域,研究一类算法(不是一个算法)的基础上,构造出一个适合该类算法的计算机体系结构。算法设计也应依据某种计算机体系结构开展研究,构造出一个适合该类计算机体系结构的算法。专用与通用计算机一直是计算机体系结构的研究的方向和同一问题的处理算法有许多研究者在设计的主要原因就在此。 并行算法的优劣直接依赖于并行计算机的体系结构,串行算法构则相对独立。 第三节 影响计算机体系结构的因素指令流(Instruction Stream)是指机器执行的指令序列。数据流(Data Stream)是指根据指令操作要求依次存取数据的序列。多倍性(

28、Multiplicity)是指在系统最受限制的部件上,同时处于该部件执行阶段的指令或数据的最大可能个数。 Flynn分类法|多倍性分类法一、计算机体系结构的分类 1. Flynn分类法多倍性分类法 第三节 影响计算机体系结构的因素单指令流单数据流MMPUCUISSI DS 单指令流多数据流 CUPUnPU2PU1MMnMM2MM1ISSIDS2DS3DS1第三节 影响计算机体系结构的因素多指令流单数据流 PU2PU1CUnCU2CU1PUNMMnMM2MM1IS1 IS1 DS1 IS2 IS2 DS2ISn ISn DSn 第三节 影响计算机体系结构的因素多指令流多数据流 CUnCU2CU1

29、PUnPU2PU1MMnMM2MM1IS1 IS1 DS1IS2 IS2 DS2ISn ISn DSn 第三节 影响计算机体系结构的因素 2.冯氏分类法最大并行度分类法 最大并行度Pm是指计算机系统在单位时间内能够处理的最大的二进制位数。字串位串字并位串 字串位并字并位并 12864321字宽(n位)位片宽(字)1 32 643. Handler分类法型号定义法 T(系统型号) = f(k,k ,d,d ,w,w) 式中:k处理控制器PCU的数目; k可组成流水线的PCU数目; d每个PCU所控制的ALU(或PE)数目; d可组成流水线的ALU数目; wALU或PE的字长; w在ALU或一个P

30、E中的流水段数目。 第三节 影响计算机体系结构的因素第四节 计算机系统结构中的并行性及其发展一、并行性与并行处理 1. 并行性及其度量 并行性是指问题中具有可以同时进行运算或操作的特性。 并行性实际上包括同时性和并发性两层含义。同时性指的是两个或多个事件在同一时刻发生。并发性指的是两个或多个事件在同一时间间隔内发生。度量标准主要4个: 指令级并行度:计算机每个时钟周期完成的指令条数,当ILP1时为高度并行,需要特殊的并行处理技术来支持。 线程级并行度:计算机在线程级并行时线程粒度的大小。 数据级并行度:数据处理的字并数或数据流通路条数。 多机级耦合度:计算机之间或计算机部件之间的数据关联或功能

31、关联的程度,用于体现进程或作业之间的并行性。第四节 计算机系统结构中的并行性及其发展2. 并行处理与并行算法 并行处理是信息处理过程中并行性开发的一种有效形式, 通过发掘解题过程中的并行事件,使并行性达到较高的级别, 进入并行处理领域,提高计算机系统的性能价格比。 并行算法是指实现并行性事件或实现并行处理的算法。 并行性原理就是要以并行算法为基础,通过并行处理技术实现各个级别上的并行性。 第四节 计算机系统结构中的并行性及其发展3. 并行计算机及其种类 具有并行处理能力的计算机称为并行计算机。可分为4种,实现基本形式可以采用SISD、SIMD和MIMD。 (1)流水线计算机:实现部件重叠时间并

32、行,实现形式属于SISD。 (2)阵列计算机:实现资源重复空间并行,实现形式属于SIMD。 (3)多处理机:实现资源共享异步并行,实现形式属于MIMD。 (4)数据流处理机:实现数据组织处理并行,实现形式属于MIMD。 第四节 计算机系统结构中的并行性及其发展二、并行性等级的划分 1.按执行程序层次划分 指令内部并行。指令内部各操作之间的并行,主要取决于硬件及其组成的设计。 指令之间并行。多条指令并行执行,主要解决和处理指令之间存在的相互关联。 线程之间并行。多个线程并行执行,线程运行过程中只需要少量的资源,开销很小。 任务或进程之间并行。多个任务或程序段并行执行,主要涉及如何进行任务分解。

33、作业或程序之间并行。多个作业或多道程序的并行执行,关键是硬软件资源的分配。第四节 计算机系统结构中的并行性及其发展2.按处理数据层次划分 位串字串。只对一个字的一位处理,没有并行性。 位并字串。同时对一个字的全部位进行处理,开始出现并行性。 位片串字并。同时对许多字的多个位(称多位片)进行处理,开始进入并行处理领域。 全并行。同时对许多字的全部或部分位组进行处理。 第四节 计算机系统结构中的并行性及其发展3. 按信息加工步骤划分 存储器操作并行。存储器操作可以采用单体多字、多体单字或多体多字方式在一个存储周期内访问多个字。 处理器操作步骤并行。处理器操作步骤可以是一条指令的取指、分析和执行等操

34、作步骤,也可以是如浮点加法的求阶差、对阶、尾加、舍入和规格化等具体操作的执行步骤。 处理器操作并行。为支持向量或数组运算,可以通过重复设置大量处理单元,使它们在同一控制器控制下同时按同一条指令的要求对多个数据进行操作。 线程、任务或作业并行。多个处理机同时对多条指令及其有关的多个数据组进行处理,构成多指令流多数据流计算机。1. 时间重叠(Time Inteleaving)第四节 计算机系统结构中的并行性及其发展引入时间因素,让多个处理过程在时间上错开,轮流重叠使用同一套硬件设备的各部分,以加快硬件使用周期来提高处理速度。 引入空间因素,通过重复设置硬件资源来提高系统可靠性或性能。2. 资源重复

35、(Resource Replication)3. 资源共享(Resource Sharing)资源共享是利用软件的方法让多个用户按一定时间顺序轮流地使用一套资源,以提高系统资源利用率,也可以相应提高整个系统的性能。三、提高计算机系统并行性的技术途径第四节 计算机系统结构中的并行性及其发展四、多机系统及其耦合度 1.多处理机系统与多计算机系统 多机系统是多处理机系统和多计算机系统统的总称。而多计算机系统是由多台独立的计算机组成的系统,多处理机系统是由多台处理机组成的单一计算机系统。多计算机系统和多处理机系统的差别: 一是在操作系统方面 二是在存储器方面 三是在信息交换方面 四是在并行性的级别方面

36、 第四节 计算机系统结构中的并行性及其发展2. 多机系统的耦合度 耦合度是用来反映多机系统中各机器之间物理连接的紧密程度和交互作用能力的强弱的概念。多机系统的耦合度可以分为最低耦合、松散耦合和紧密耦合。 最低耦合: 没有物理连接 最低耦合系统 松散耦合:通过通道或通信线路实现互连 松散耦合系统 紧密耦合:通过总线或高速开关互连 紧密耦合系统 第四节 计算机系统结构中的并行性及其发展五、多处理机系统 1.多处理机系统的种类 按组织形式来分,多处理机系统可分为三种。 一是异构型多处理机系统:又称非对称型多机系统,是指由多个不同类型的,至少担负不同功能的处理机组成的多处理机系统。 二是同构型多处理机

37、系统:又称对称型多处理机系统,是指由多个同类型的,且完成同样功能的处理(器)机组成的多处理机系统。 三是分布处理系统:是指有大量分散、重复的处理机资源(一般是具有独立功能的单处理机)相互连接在一起,在操作系统的全局控制下统一协调工作。第四节 计算机系统结构中的并行性及其发展 2. 多处理机系统间的比较 主要有分工方式、工作方式、控制形式是不同的。项目同构型多处理机系统异构型多处理机系统分布处理系统目的提高性能(可靠性和速度)提高系统使用效率兼顾性能与效率技术途径资源重复(机间互联)时间重叠(功能专用)资源共享(网络化)组成同类型、同功能不同类型、不同功能不限制分工方式任务分布功能分布资源分布工

38、作方式一个作业由多机协同并行地完成一个作业由多机协同串行地完成一个作业由一台机完成必要时可由它机协助控制形式一般是浮动控制一般是专用控制一般是分布控制耦合度紧密紧密、松散松散、紧密互联要求快速、灵活、可重构专用快速、灵活、简单、通用第四节 计算机系统结构中的并行性及其发展六、计算机系统结构实现并行处理系统的历程 1. 实现并行性的基本思想 计算机系统中可以通过时间重叠、资源重复、资源共享等技术途径,在不同等级上实现并行性,提高计算机系统的并行处理能力,使计算机系统由低性能向高性能发展。但仅在单处理机下来提高并行性,只能是在处理机内的功能部件指令级、数据级并行。摆脱单处理机的束缚,发展各种不同耦

39、合度的多计算机系统,才有可能达到更高(程序级、进程级)的并行处理水平。因此,从单处理机和多计算机系统两极出发,遵循不同的发展途径,实现了3种不同类型的多处理机系统。第四节 计算机系统结构中的并行性及其发展多道程序、分时系统、虚存部件冗余单机系统重叠方式、先行控制、缓存多终端远程终端多存储体多操作部件流水线:指令、操作、宏智能终端并行处理机相联处理机向量处理机分布处理系统同构多机系统异构多机系统局部计算机网可重构、容错多处理机高级语言、数据库多处理机通信处理机远程网络紧密耦合系统松散耦合系统专用外围机多计算机系统2单处理机实现并行处理的历程3多计算机实现并行处理的历程 第五节 计算机系统结构设计

40、的基础一、计算机系统结构设计的原则 1计算机系统设计的基本原则 计算机系统设计的主要任务包括计算机系统结构、计算机组成、计算机实现三个方面。应遵循的基本原则有: 确定计算机系统的功能是计算机系统设计的基础。 软件和硬件合理分配是计算机系统设计的关键。 计算机系统结构应符合发展需要是计算机系统设计的方向。第五节 计算机系统结构设计的基础2软硬件取舍的基本原则 软硬件功能分配的核心是软硬件的取舍,而软硬件取舍的指导思想就是综合权衡,一般应遵循以下基本原则。 性能价格比高的原则 充分利用组成与实现技术的原则 软硬件相互支持的原则第五节 计算机系统结构设计的基础二、计算机系统结构设计的方法 1计算机系

41、统结构设计的主要方法 计算机系统由多级层次组成,从哪一层开始设计就构成三种不同的设计方法。 (1)“由下往上”设计。 (2)“由上往下”设计。 (3)“由中间开始”设计。 第五节 计算机系统结构设计的基础 2. 计算机体系结构设计的等级方法 按计算机体系结构的等级性来设计计算机系统应遵循三个基本思想。 一是在本等级范围内以合理的价格获得尽可以好的性能,逐渐向高档机发展,称最佳性能价格比设计。 二是只求保持一定的使用性能而争取最低价格,称最低价格设计,其结果往往是低档向下分化出新的计算机等级。 三是以获取最高性能为主要目标而不惜增加价格,称最高性能设计,其结果是产生当时最高等级的计算机。第五节

42、计算机系统结构设计的基础三、软件可移植性及其实现的基本方法 软件的可移植性指的是软件不修改或只经少量修改就可由一台机器搬到另一台机器上运行,同一软件可应用于不同的环境。实现软件移植的基本方法有: (1)通用程序设计语言的方法 所有程序员均用通用程序设计语言进行程序设计,在各种类型的计算机上,建立一层由该语言所定义的虚拟机就能方便地把一个程序从一台机器移植到另一台机器。通用程序设计语言程序解 释宏汇编编 译编 译机器1机器2机器3机器M (2)强力逼近的方法。 为每一台机器上的每一种语言都设计一个编译程序或解释程序,程序员不管选用何种语言,总可得到一个有效的翻译程序,在由那个语言所定义的虚拟机上

43、都能运行。 第五节 计算机系统结构设计的基础语言1语言1语言L机器1机器1机器M第五节 计算机系统结构设计的基础(3)通用计算机语言的方法。 设计一台由通用计算机语言所确定的虚拟机,用这台虚拟机实现各种语言层,为各种计算机语言编写编译程序或解释程序,以把各种计算机语言程序转换为通用计算机语言程序。 机器1语言1语言2语言L机器1机器M通用计算机语言程序第五节 计算机系统结构设计的基础 (4)仿真与模拟和系列化的方法。 仿真与模拟和系列化不仅是目前计算机系统结构的基本特性之一,也是实现软件移植的基本方法。 (5)计算机网络的方法。 利用异种机器联网的优势,将程序通过网络传送至能执行的机器上运行,

44、其结果再由网络传送回来。该方法效率高,不需要预处理,也不存在同步问题,为程序移植提供了一个简单而又方便的解决方法。但网络的投资大,且时间开销也较大。 第五节 计算机系统结构设计的基础四、计算机体系结构设计的定量原理 1. 大概率事件优先原理 大概率事件优先原理是计算机系统结构设计中最常用的原理。其基本思想是:对于大概率事件(最常见的事件),赋予它优先的处理权和资源使用权,以获得全局的最优结果。 第五节 计算机系统结构设计的基础2Amdahl定律 Amdahl定律是指加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中的重要性。它有两个方面的作用,一是用来确定系统中对性能限制最大的部件

45、,二是用来计算由于改进某些部件而获得的系统加速比。 系统加速比是指改进后的机器比改进前的机器快多少倍。机器系统的加速比Sn就是: 系统加速比(Sn)=改进后系统性能/改进前系统性能 =改进前总执行时间/改进后总执行时间=T0/Tn第五节 计算机系统结构设计的基础 系统加速比与两个因素有关:一是计算机执行某个任务的总时间中可被改进部分的时间所占的百分比,记为Fe,它总小于1;另一个是改进部分采用改进措施后比没有采用改进措施前性能提高的倍数,记为Se,它总大于1。因此有改进后整个任务的执行时间为: Tn=T0(1Fe)+ T0 Fe/Se=T0(1Fe+Fe/Se) 而改进后整个系统的加速比Sn为

46、: Sn =T0/Tn=1/(1Fe)+ Fe/Se 式中(1 Fe)表示不可改进部分,当Fe为0,即没有可改进部分时,Sn为1,所以性能的提高幅度受改进部分所占比例的限制。当Se-时,Sn=1/(1 Fe),可获取性能改善的极限值也受到Fe值的约束。3. 程序访存的局部性原理 程序访存的局部性原理是指一个程序用90的执行时间去执行仅占10的程序代码。它是构造存储器体系的基础。4. 20-80原理 20-80原理是指大约有20的指令使用频率比较高,使用量约占整个程序的80;而有80左右的指令很少使用,使用量约占整个程序的20。它标明各种指令的使用频度相差很大,是设计精简指令计算机的基础之一。第

47、五节 计算机系统结构设计的基础第五节 计算机系统结构设计的基础二、 CPU性能分析 执行程序所花的CPU时间(Tcpu)可从两个方面进行描述。 一是用程序机器指令使用的CPU时钟周期数(Nc)来表示。 Tcpu = Nc t = Nc / f 二是用程序机器指令的条数(Ic)来表示。由于CPI=Nc/Ic,则有: Tcpu = Ic CPI t = Ic CPI / f 表明CPU执行程序的时间与3个要素有关:时钟频率,取决于硬件技术和组织;机器指令的平均时钟周期数CPI,取决于系统结构组织和指令集的设计与实现;程序执行的指令条数,取决于系统结构的指令集和编译技术。第五节 计算机系统结构设计的

48、基础 实际上,一条指令可能会在程序中多次被使用,若指令i在程序中执行的次数为Ii,指令i所需的时钟周期为CPIi,该程序化费的CPU的时钟周期数为: 其中:n为程序中使用指令种类数。且有:式中:Ii/Ic为i指令在程序中使用次数占总指令数的比例。 第五节 计算机系统结构设计的基础例1.3 假设要将某执行部件改进后速度提高10倍,改进后被改进部件执行时间占系统总运行时间的50%。问改进后获得的加速比是多少?该部件改进前的执行时间系统总运行时间的百分比? 解 假定系统改进前后的总运行时间分别为T0和Tn,则: T0 1 Sn = = Tn (1 Fe)+ Fe / Se Tn = (1 Fe)+

49、Fe / SeT0 根据题意有: 50% Tn = (Fe T0)/10 则 Tn = (Fe T0)/5 Fe = 5Tn/ T0 另外 50% Tn = (1 Fe) T0 所以 Sn = T0 / Tn = 5.5 代入Sn的计算公式有:Fe = 91% 。例1.4 如果FP指令的比例为25,其中,FPSQR占全部指令的比例为2,FP操作的CPI为4,FPSQR操作的CPI为20,其他指令的平均CPI为1.33。现有两种改进方案,一种是把FPSQR操作的CPI减至2,另一种是把所有的FP操作的CPI减至2,试比较两种方案对系统性能的提高程度。 解 没有改进之前,系统的指令平均时钟周期数C

50、PI为: = (425%)(1.3375%)= 2 采用方案A,如果使FPSQR操作的时钟周期数由CPIFPSQR=20降 至CPIFPSQR=2,那么,整个系统的指令平均时钟周期数为:CPTA = CPI (CPIFPSQR - CPIFPSQR)2% = 2 - (20 - 2)2% = 1.64 第五节 计算机系统结构设计的基础 第五节 计算机系统结构设计的基础 采用方案B,如果使所有FP操作的平均时钟周期数由CPIFP=4降至CPIFP=2,那么,整个系统的指令平均时钟周期数为:CPTA = CPI -(CPIFP - CPIFP)25% = 2 - (4 - 2)25% = 1.5

51、从降低整个系统的指令平均时钟周期数的程度来看,方案B优于方案A。分别计算两种方案的加速比: SA = 改进前的CPU执行时间/方案A的CPU执行时间 =(IC时钟周期CPI)/(IC时钟周期CPIA)= CPI/CPIA = 1.22 同样可计算出方案B的加速比SB = CPICPIB = 21.5=1.33。从加速比来看,也可得出方案B优于方案A的结论。 第五节 计算机系统结构设计的基础例1.5 有A、B两台机器的指令系统都规定执行条件转移指令需2个T,执行其它指令只需1个T,T为时钟周期。假设A机器的一次条件转移使用比较和测试转移两条指令,B机器的一次条件转移使用一条比较转移指令。由于B机

52、器条件转移指令包含了比较功能,因此时钟周期要比A机器要长,设TB=1.25TA。A机器中测试转移指令占总指令数的20%,试比较它们性能的优劣 解 A机器中测试转移指令占总指令数的20%,由于比较和测试转移分开为两条指令,所以比较指令也要占总指令数的20%。B机器条件转移指令包含了比较功能,所以同一功能的程序,B机器的总指令数是B机器的80%,即ICB= 0.8ICA。而B机器的条件转移指令占总指令数的比例为:0.2 / 0.8 = 25%。 由于有 因此有: CPIA=0.220.81 = 1.2 TACPU = ICACPIATA=1.2 ICATA CPIB=0.2520.751 = 1.

53、25 TBCPU = ICBCPIBTB =1.250.8ICA1.25TA=1.25 ICATA 因为TACPUTBCPU,所以A机器的速度快。说明将一条复杂指令简化为两条简单指令,有时还能加快运算速度。第六节 计算机系统的评价一、计算机系统评价的概念 计算机系统评价即是对计算机系统的优劣做出判断。第六节 计算机系统的评价二、计算机系统的性能 1.计算机性能的含义 计算机的性能与测试者看问题的角度有关。 计算机的即速度是衡量计算机性能的主要指标。同样的工作量,花费时间越少,速度就越快,性能就越好。而时间是指计算机的响应时间,是完成一个任务的全部时间,包括磁盘访问时间、存储访问时间、I0时间等

54、。 CPU时间指的是CPU计算的时间,不包括I0等待时间。CPU时间可分为用户CPU时间和系统CPU时间。前者是CPU花费在用户程序上的时间,后者是CPU花费在操作系统上的时间。通常,CPU的性能评价指的是用户CPU时间。因此,衡量机器性能可靠的标准是真正执行程序的时间。第六节 计算机系统的评价2. 衡量计算机性能的标准 MIPS(Million Instrctions Per Second)。 MIPS表示每秒百万条指令条数。对给定的程序有: MIPS = IEc /(TCPU106)= f /(CPI106) TCPU = Ic /(MIPS106) 表明机器的MIPS越高,执行程序时间T

55、CPU越少,说明机器速度越快。使用MIPS评价机器性能有以下不足之处。 MIPS依赖于指令系统,因此用MIPS来比较指令系统不同的机器性能是不准确的。 在同一台机器上,MIPS因程序不同而变化,有时很大,还可能相反。 仅适于评估标量计算机。 第六节 计算机系统的评价 MFLOPS MFLOPS表示每秒百万浮点运算次数,MFLOPS定义为: MFLOPS = Ifn /(TCPU106) TCPU = Ifn /(MFLOPS106)式中:Ifn表示程序中的浮点运算次数。 同样,使用MFLOPS评价机器性能也有以下不足之处。 比较的结果也并非可靠,因为不同的浮点运算集不同。 只能用来衡量机器浮点

56、操作的性能,而不能体现机器整体的性能。例如编译程序,不管机器性能有多好,MFLOPS都不会太高。 第六节 计算机系统的评价二、计算机系统的成本价格 1. 计算机的成本及其构成 计算机的成本与计算机的性能一样,站在不同角度有不同的理解。 生产成本主要包括以下几项。 (1)硬件开发和生产成本:包括设计、测试、优化和开发所花费的 人力、物力成本。 (2)软件开发成本:主要是人力成本。 (3)硬件开发和生产、软件开发工具的折旧成本:包括仪器设备、 开发场地、水电易耗品等方面的付出。 有时还要考虑营销成本、计算机本身的负载、应用范围和规模。 由于不同时期货币价值不一样,直接用货币表示成本很难度量, 因此

57、也可用能反映成本高低的一些参数来表示。例如芯片面积、 芯片引脚数、插座数、插座线数、功耗等物理参数用来表示硬件成本, 软件规模、开发人/年数等用来表示软件成本。 第六节 计算机系统的评价2. 计算机的价格及其形成 成本和价格是不同的概念。部件的成本会影响设计,但成本并不代表用户必须付出的价格。成本在变成实际价格之前会出现一系列的变化,一般情况下,成本每变化1000美元,价格将变化30004000美元。构成价格的各因素可以通过占成本或价格的百分比来表示。 原料成本原料成本直接成本原料成本直接成本毛利原料成本直接成本毛利折扣标价平均销售价 第六节 计算机系统的评价三、程序执行时间的测定 1.基准测

58、试程序 真实程序 采用实际应用的测试程序测定执行时间。 核心程序 从真实程序中抽取少量关键程序段来测试机器性能。 小测试程序 程序代码在100行以下,运行结果可以预知的针对某种特定测试要求的测试程序。 综合测试程序 类似于核心程序,但在统计的基础上,考虑各种操作和各种指令的比例而由专门机构编写出来的测试程序。 第六节 计算机系统的评价2. 程序执行时间的计算 (1)算术平均法 (2)加权平均法 (3)调和平均法 (4)几和平均法 (5)加权几和平均法 第六节 计算机系统的评价例1.6 用一台40MHz处理机执行标准测试程序,它含有的各类指令数和相应一条指令所需的时钟周期数如表1.6所示。求有效

59、CPI、MIPS速率和程序的执行时间T。 解:因为CPI = =(450001+320002+150002+80002)/(45000+32000+15000+8000)= 1.55(周期/指令)MIPS = f/(CPI106)=40106/(1.55106) = 25.81(百万条指令/秒)T = (450001+320002+150002+80002)/40106 = 3.87510-3(秒) 流水线是计算机体系结构设计中普遍应用的技术。本章介绍流水线的基本概念、表示方法、和分类,讨论流水线实现的基本结构、线性流水线的性能与非线性流水线的调度策略,分析流水线的相关及其处理方法。 第一节

60、流水线的基本概念 第二节 处理机实现流水线的基本结构 第三节 线性流水线的性能及其分析 第四节 流水线的相关及其处理 第五节 非线性流水线的调度 第二节 处理机实现流水线的基本结构一、重叠执行方式的基本结构 1. 重叠执行方式的基本结构 采用二次重叠执行方式,同时有三条指令分别在取指令、分析和执行。要使它们能够重叠执行,处理机在结构上必须有独立的取指令部件、指令分析部件和指令执行部件。它们有各自的控制线路,实现各自的功能,这样才能取指令、分析和执行的同时进行。为此,要把顺序执行方式中的一个集中的指令控制器分解成三个相结独立的控制器,分别是:存储控制器,简称存控;指令控制器,简称指控;运算控制器

温馨提示

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

评论

0/150

提交评论