计算机系统结构导论.ppt

上传人:小飞机 文档编号:6023886 上传时间:2023-09-15 格式:PPT 页数:89 大小:234.50KB
返回 下载 相关 举报
计算机系统结构导论.ppt_第1页
第1页 / 共89页
计算机系统结构导论.ppt_第2页
第2页 / 共89页
计算机系统结构导论.ppt_第3页
第3页 / 共89页
计算机系统结构导论.ppt_第4页
第4页 / 共89页
计算机系统结构导论.ppt_第5页
第5页 / 共89页
点击查看更多>>
资源描述

《计算机系统结构导论.ppt》由会员分享,可在线阅读,更多相关《计算机系统结构导论.ppt(89页珍藏版)》请在三一办公上搜索。

1、第一章 计 算 机 系 统 结 构 导 论,本章介绍计算机系统结构的基本概念、相关术语、主要特性、冯诺依曼型计算机的发展,讨论影响计算机系统结构发展的主要因素、计算机系统并行性发展的技术途径与分类,阐述计算机系统结构设计的技术方法与定量分析,分析新型的计算机系统结构。第一节 计算机系统结构的基本概念 第二节 计算机系统结构的发展及其影响因素 第三节 计算机系统结构中的并行性及其发展 第四节 计算机系统结构的设计 第五节 计算机系统结构的定量分析 第六节 数据流计算机,一、提高计算机系统性能的硬件因素 1.器件的换代是计算机系统换代的突出标志 以器件的发展为标志,计算机系统经历了四代。器件技术为

2、计算机的发展提供了必不可少的物质基础,是推动计算机发展的基本因素。2.计算机系统结构的不断改进是现代计算机系统发展的关键因素 从计算机系统结构来看,计算机系统已经历了五次更新换代。计算机系统结构是计算机换代的又一个标志。研究如何最合理地组织器件,如何最大限度地发挥器件的作用,如何构成综合性能最佳的系统,是提高计算机性能的重要途径。恩斯洛(PHEnslow)曾经比较了1965年至1975年间,器件的更新使器件延迟时间降低至原来的十分之一,但计算机指令执行时间却降低至原来的百分之一。可见,计算机性能提高的幅度比器件性能提高的幅度大得多。,第一节 计算机系统结构的基本概念,二、计算机系统中的有关术语

3、 1.什么是计算机系统(computer system)计算机系统这个术语的含义一般有三种指向。一是指狭义的计算机系统。认为计算机系统是由运算器、控制器、存储器、输入设备、输出设备五个部件组成。其中运算器和控制器合称为中央处理器(CPU),存储器又分为内存(又称主存memory)和外存(又称辅存storage)两种,所以这种说法又可简化为I/OCPUM/S模式。二是指本义的计算机系统。认为计算机系统是由硬件(hardware)和软件(software)两部分组成。由于技术飞速进步,软件和硬件在逻辑功能上是等效的,某些操作既可以用软件实现,也可以用硬件实现。软件和硬件之间没有固定不变的界面,主要

4、受实际的需要和性能价格比所支配。具有相同功能计算机系统的软件与硬件之间的组合分配可能相差很大。这就是当今软硬结合的现实,这种说法可以认为是SH模式。,三是指广义的计算机系统。认为计算机系统是由人员(pcopte)、数据(data)、设备(equipment)、程序(program)、规程(procedure)等五部分组成,只有把它们有机地结合在一起才能完成各种任务,这种说法又称为广义模式。2.广义的计算机语言 计算机系统的的根本功能在于对信息进行处理,而一个信息的处理过程是指令序列(程序)的执行过程,指令序列可用控制流程的概念来描述。指令序列中的指令仍然是一个信息的处理过程,即任何一个信息的处

5、理过程都是对某一层面而言。因此,把描述控制流程的、有一定规则的字符集合称之为计算机语言。而控制流程的实现有三种方法:(1)全硬件的方法,即用硬件组合逻辑线路实现。(2)硬件和软件相结合的方法,即部份流程由微程序实现,而另一部份由硬件逻辑实现。(3)全软件的方法,即按流程算法编制程序实现。,可见,计算机语言并不专属软件范畴,它可以分属于计算机系统的各个层面,而且有不同的作用,这也就是计算机语言的广义性。3.虚拟计算机 计算机语言描述的信息处理过程都必须编译或解释成具体的操作控制信号才能实现流程控制,所以编译或解释程序是计算机系统不可分割的一部分。从这一角度来讲,计算机只对某一层次的观察者而存在,

6、通过该层次的广义语言来体现它的功能,并为广义语言提供翻译手段,作用于信息处理和控制对象上,并从对象上获得必 观察者 状态信息 控制信息 图1.1 虚拟计算机的组成,要的状态信息,这就是虚拟计算机。简言之,由软件实现的机器即为虚拟计算机。显然,它是基于广义的计算机语言的观点而形成的一个概念,其组成如图1.1所示。4.透明性(Trans-parency)虚拟计算机仅对这一层次的观察者而存在的。从某一层次的观察者来看,只是通过该层次的语言来了解和使用机器,不必关心其内层的那些机器是如何工作和如何实现各自功能的。这一概念称为透明性(Trans-parency).即所谓透明性是指在计算机技术中,一种本来

7、存在的事物或原性,但从某种角度看似乎不存在。它是基于虚拟计算机的观点而形成的一个概念。,三、计算机系统结构与组成及实现 1.计算机系统结构(1)什么是计算机系统结构。“计算机系统结构”这个词来源于英文Computer anchitecture,也可翻译为“计算机体系统结构”。Architecture这个字原来用于建筑领域,其意义是“建筑学”,“建筑物的设计或式样”,是指一个系统的外貌。计算机系统结构这个词是等人在1964年提出的。他们提出计算机系统结构是程序员看到的计算机属性,即程序员为编写出能在机器上正确运行的程序时所必须了解的机器概念性结构和功能特性。然而从计算机系统的层次结构来看,不同级

8、程序员所看到的计算机属性显然不同,实际上,Amdahl等人提出的程序员是指机器语言程序员和编译程序设计者,计算机属性是硬件系统的概念结构及其功能特性,是计算机系统的外特性。因此完整的计算机系统结构的定义是:机器语言程序员所必须了解的机器概念性结构和功能特性。,(2)计算机系统结构研究的问题及其内容。计算机系统结构作为一门学科,主要是研究软件与硬件功能分配和对软件、硬件界面的确定,即哪些功能由软件完成,哪些功能由硬件完成,以及如何最佳最合理地实现分配给硬件的功能。它所包括的内容一般有:数据表示、寻址方式、寄存器组织、指令系统、存储系统、中断机构、机器工作状态(如管态、目态等)的定义和切换、机器级

9、的1/0结构、信息保护 2.计算机组成(1)什么是计算机组成。在确定计算机系统结构以及分配给硬件子系统的功能及其概念结构之后,研究各组成部分的内部构造和相互联系,以实现机器指令级的各种功能和特性。计算机组成是计算机系统结构的逻辑实现,包括机器内部的数据流和控制流的组成以及逻辑设计等。(2)计算机逻辑设计的目的及其内容。,计算机逻辑设计是按所希望达到的性能价格比,最佳、最合理地把各种设备和部件组成计算机,以实现所确定的计算机系统结构。计算机组成的设计内容对传统机器程序员一般是透明的。一般计算机组成设计的内容主要包括:(1)数据通路宽度的确定,即数据总线一次并行传送的二进制位数。(2)各种操作对功

10、能部件的共享程度的确定。共享程度高,部件会少,但需要分时使用,速度会受到限制;共享程度低,操作并行度高,速度快,但成本会高。(3)专用功能部件的设置,如是否设置浮点运算器、字符处理部件、地址加法器等。专用功能部件的数量与速度、利用率和成本等有关。(4)功能部件的并行性确定,如运算部件是采用串行的还是重叠或流水等。(5)缓冲和排队技术的确定,即部件间是否需要设置缓冲器来弥补速度上的差异,缓冲器要多大,缓冲器排队的算法。(6)控制机构组成方式的确定,如控制部件是硬联逻辑的还是微程序的等。(7)可靠性技术的确定,即采用哪些技术来提高可靠性等。(8)性能优化技术的确定。,3计算机实现 计算机实现是指计

11、算机组成的物理实现。它包括处理机、主存等部件的物理结构,器件的集成度和速度,信号传输,器件、模块、插件、底板的划分与连接,专用器件的设计,电源、冷却、装配等技术以及有关的制造技术和工艺等。4计算机系统结构、组成与实现间的关系(1)计算机系统结构、计算机组成和实现是三个不同的概念。系统结构是计算机系统软件、硬件的界面;计算机组成是计算机系统结构逻辑实现;计算机实现是计算机组成的物理实现,它们各自的目的任务和包括的内容不同。,(2)计算机系统结构、计算机组成和实现相互影响。系统结构相同的计算机,可以因速度不同而采用不同的组成。同样,同一种计算机组成可有多种不同的实现。反之,计算机组成也会影响系统结

12、构。计算机实现的技术方法不同,计算机组成也会有所改变。(3)计算机系统结构、组成和实现界限模糊。一是计算机系统结构、组成和实现包含的具体内容是随不同机器而变化的。有些计算机系统是作为系统结构的内容,其他计算机系统可能是作为组成和实现的内容。开始是作为组成和实现提出来的设计思想,到后来就可能被引入系统结构中。二是计算机系统结构、组成和实现密切相关,难以明确区分。有人把计算机组成和计算机实现统称为计算机实现,即包括计算机系统的逻辑实现和物理实现。但作为“计算机系统结构”这门学科来讲,实际上包括了系统结构和组成两个方面的内容。,四、计算机系统结构的特性 从不同角度来看,计算机系统结构具有许多特性。但

13、在功能上它就有以下几方面的特性,其中层次性是其最重要的特性。1.计算机系统结构的层次性 计算机系统是硬件和软件的统一体,就直接反映了结构上的层次性。如果依据虚拟计算机的观点来看,不同层次的观察者看到的计算机系统无论功能还是结构都不相同,即就有如图1.2所示计算机系统的层次结构。2.计算机系统结构的等级性(1)计算机系统结构等级的划分及其发展。通常把计算机系统结构分为巨型、中型、小型、微型等若干等级。如果按性能指标来划分计算机等级,那么,一台计算机的等级将随时间而下移。各型机器的性能、价格随时间变化的趋势大致可以用图1.3示意说明,其中虚线称为等性能线。由图可见,各型机器所具备的性能随时间是在动

14、态地下移的,但价格却在相当长一段时间内基本不变。,图1.3 计算机系统结构等级与性能、价格的关系,(2)计算机系统结构的等级设计思想。按等级来设计计算机系统结构应遵循以下三种基本思想。一是在本等级范围内以合理的价格获得尽可以好的性能,逐渐向高档机发展,称为最佳性能价格比设计。二是只求保持一定的使用的性能而争取最低价格,称为最低价格设计,其结果往往是从低档向下分化出新的计算机等级。三是以获取最高性能为主要目标而不惜增加价格,称为最高性能设计,其结果是产生当时最高等级的计算机。,3.计算机系统结构的系列性(1)什么是系列机与兼容机。系列机是指先设计好一种系统结构,软件设计者按这种系统结构设计它的系

15、统软件,硬件设计者根据机器的速度、性能、价格,选择相应的器件和采用相应的组成与实现技术,研制并提供相应档次的机器。简言之,系统结构相同的机器即为系列机。而把不同公司厂家生产的具有相同系统结构的计算机称为兼容机。它的思想与系列机的思想是一致的。兼容机还可以对原有的系统结构进行某种扩充,使之具有更强的功能。(2)系列机软件兼容及其类型。系列机软件兼容是指同一个软件(目标程序)可以不加修改地运行于系统结构相同的各档次的机器,而且所得结果一致。软件兼容有向上兼容与向下兼容和向前兼容与向后兼容两种类型。向上兼容是指低档机器的目标程序(机器语言级)不加修改可以运行于高档机器上;向下兼容是指高档机器的目标程

16、序(机器语言级)不加修改可以运行于低档机器上。一般不使用向下兼容方式。向后兼容,机器档次 高,向后兼容,向前兼容,向下兼容,向上兼容,当前机器,时间,是指在某个时期投入市场的该型号机器上编制的软件可不加修改就可以运行于在它之后投入市场的机器上。向前兼容则反之。一般必须保证做到向后兼容,尽量做到向前兼容。(3)系列机的特性要求。一是系列机必须保证用户看到的机器属性一致,即系统结构不变。二是系列机必须软件兼容,对系列机而言,必须保证做到软件向后兼容,力争做到软件向上兼容。系列机为了保证软件的兼容,要求系统结构不准改变,这无疑又成为妨碍计算机系统结构发展的重要因素。实际上,为适应性能不断提高和应用领

17、域不断扩大的需要,应允许系列机中后面推出的各档机的系统结构有所发展和变化。4.计算机系统结构的模拟与仿真性(1)问题的提出。系列机解决了在具有相同系统结构的各种机器之间实现软件移植。为了实现软件在不同系统结构的机器之间移植,就必须做到能在一种机器的系统结构上实现另一种机器的系统结构。从计算机系,统结构的层次模型来看,就是要在一种机器的系统结构上实现另一种机器的指令系统。这就要求计算机系统结构具备模拟与仿真性。(2)什么是模拟与仿真。如图1.4所示。因此,所谓模拟是指用机器语言程序解释实现程序移植的方法,被模拟的B机称为虚拟机,A机称为宿主机。用微程序直接解释另一种机器的指令系统称为仿真。,(3

18、)仿真与模拟的区别 仿真与模拟的主要区别在于解释所用的语言。仿真是用微程序解释,其解释程序在微程序存储器中;模拟是用机器语言解释,其解释程序在主存储器中。另外仿真的速度要比模拟快,但实现难度要大。,一、计算模型及其驱动方式 1.什么是计算模型 计算模型是给出完成计算所需遵循的基本规则,计算模型的基本内容是数据传递(即类型有共享存储和专用存储)和驱动方式(即控制机制)两个方面,其中驱动方式是核心,是区分传统的计算机与新型计算机的关键。2现有计算模型中的驱动方式。(1)控制驱动 控制驱动是指指令的执行次序受指令计数器的控制,这是传统的冯诺依曼型结构的驱动方式。其特点是“存储程序,顺序控制”,本身不

19、支持指令并行执行。(2)数据驱动 数据驱动是指程序中任一条指令所需的操作数已经齐备,就可立即启动执行,这是数据流计算机的驱动方式。可充分支持程序中,第二节 计算机系统结构的发展及其影响因素,指令级的并行性。(3)需求驱动 需求驱动是指程序中任一条指令仅在需要用到其输出结果时,才开始启动,这是归约机的驱动方式。其特点与数据驱动相同。(4)模式匹配驱动 模式匹配驱动是指程序的执行受控于寻找谓词的匹配和度量的归一操作,这是面向智能的计算机的驱动方式。其中的谓词是代表客体之间关系的一种字符串模式,它主要适合于求解非数值的符号演算。二、冯诺依曼型计算机系统结构及其发展 1.冯诺依曼型计算机工作的基本原理

20、 存储程序、顺序控制 2.冯诺依曼型计算机的特点,(1)机器以运算器为中心,I/O设备与存储器之间的数据传送都要经过运算器。(2)由控制器集中控制各部份的操作及其相互之间的联系。(3)采用存储程序的思想,在程序控制下,机器的操作按顺序执行指令,指令计数器指明要执行的指令在存储器中有地址,分支则由程序中的转移指令实现。(4)程序指令和处理数据在存贮器中同等对待均采用二进制编码。(5)存储器是一个顺序、线性编址的一维空间,每个存储单元的二进制的位数是固定的,地址是唯一定义的。(6)指令的形式为低级的机器语言(二进制语言),驱动机器进行操作。一般分为操作码和操作数地址码两部份。(7)软件与硬件完全分

21、开。硬件结构采用固定性逻辑,即其功能是不变的,完全依靠编制软件来适应不同的应用需要。,3.冯诺依曼型结构存在的主要问题(1)由于机器以运算器为中心,使得低速的输入/输出和高速的运算不得不相互等待,串行进行。(2)由于采用控制器集中控制使控制器的负担过重,从而严重影响了机器速度和设备利用率的提高。(3)由于采用存储程序控制的思想,当前后指令需要的数据相关时,顺序执行是必须的。但实际程序中的许多前后指令的数据互不相关,因此单纯的顺序执行指令就难以最大限度地发挥系统的并行处理能力,严重影响计算机性能的提高。(4)由于指令和数据混存于同一存储器中,且为了节省硬件而共用一套存储器外围电路,为了简化存储管

22、理,而对指令和数据不加区别同等对待。因此,在程序执行过程中,指令可能被当作数据而被修改,这样,不利于程序调试和排错,不利于实现程序的可再入性(Reenterability)程序的递归调用,不利于指令和数据的并行存取以及在组成上采用重叠、流水方式来提高速度。(5)由于存贮单元是按顺序、线性编址的,这种组成方式虽然,具有结构简单,价格便宜等优点。但是,一维线性空间的表示与应用中经常需要的栈、树、图、多维数组等这样一些非线性、多维、离散的数据结构相矛盾。(6)由于存贮单元是按一级直接寻址访问,导致存贮空间极为有限,外围译码电路又极为复杂。(7)指令由操作码地址码两部份组成,操作数并不表示它本身是何种

23、数据类型,而是由操作码指出。因此每增加一种操作数类型,就要增加一组处理这种数据类型的指令。这样,一方面不仅使指令系统日益庞大复杂,另一方面由于高级语言中操作符与数据类型无关,操作数的类型是由数据类型说明语句说明的。这种机器指令与高级语言之间存在的语义差距过去只好通过编译程序来弥补,从而加重了编译的负担,增大辅助开销。(8)软件与硬件截然分开,硬件结构的完全固定,会使得无法更合理地进行软硬功能分配,难以优化系统结构。当求解的问题和应用要求变化时,会使性能价格比明显下降。,4.冯诺依曼型计算机结构的改进。(1)机器以运算器为中心改为以主存为中心,让系统的输入/输出与CPU的操作并行,多种输入/输出

24、并行。(2)存储程序顺序控制的思想改为存储程序激发控制的思想,指令的执行完全不需要程序计数器的控制,且与指令在程序中出现的位置无关。(3)计算机系统增设许多高级数据表示,使得数据不带类型标志改为自身带有数据类型标志,增强指令具有对多种数据类型操作的通用性,简化指令系统,缩小高级语言与机器语言的距离。(4)强调软硬结合,硬件结构逻辑的可编程性,CPU的微程序控制性,采用可以灵活地选择与改变指令系统和结构的动态自适应机器。(5)为实现各种特定任务,出现了各种不同的计算机系统。(6)为解决局部存在的问题,而采用了许多技术措施。,三、归约型计算机机四、智能型计算机五、计算机系统结构发展的影响因素 1软

25、件对计算机系统结构的影响 软件对计算机体系结构发展的影响主要包括两个方面。一是操作系统。操作系统是必不可少的、与硬件关系最为密切的软件资源,是控制和管理计算机系统资源、方便用户使用的程序集合。另外,随着计算机应用的不断发展,操作系统还要适应于不同的应用需求,也就出现了各具特色的操作系统,与之相适应的计算机体系结构也就各有侧重。例如,网络操作系统的主要功能是提供计算机之间的通信和资源共享,这就要求各台计算机的体系结构内必须配置通信接口部件,以实现网络通信协议的物理层和链路层。,二是语言处理系统。语言处理系统和数据库管理系统也是软件资源。随着程序设计语言和编译技术以及计算机系统结构的发展,同一功能

26、的软件为体系结构不同的计算机用不同的程序设计语言开发了不同类型的程序,相互之间不能互用,导致了人力的重复使用。另外,在计算机的发展和应用过程中,任何一个时段内均开发了大量的软件,这些软件应在以后发展的计算机体系结构中也能使用,即要求软件具有可移植性。为实现软件的移植,则可要求计算机体系结构具有系列性和模拟与仿真性。再是统一高级语言,这一方面要求语言标准化,也要求计算机体系结构在处理程序设计语言上具有相同的属性。,2并行处理对计算机系统结构的影响 并行处理技术是推动计算机体系结构发展的关键因素。实现并行处理的技术不同,也就形成了不同的计算机体系结构。时间重叠的流水线并行处理技术的应用就产生了流水

27、线计算机,重复设置功能部件的并行处理技术的应用就产生了阵列计算机,资源共享并行处理技术的应用就产生了多计算机系统。计算机体系结构从低级向高级发展的过程也就是并行处理技术不断发展的过程。,3应用对计算机系统结构的影响 应用需求是促使计算机系统结构发展的根本动力。不同的应用对计算机体系结构的设计提出了不同的要求,如果现有的计算机不能满足应用要求,则需要设计和采用新的计算机体系结构。因为对计算机应用来讲,计算效率高低是一个关键问题。如果一台高性能计算机体系结构要同时满足各个领域的要求,那么当它处理某个具体应用时,必然出现低效率的情况。因为对某个应用问题来说,体系结构的大部分功能可能没有用上。因此专门

28、为某个领域设计一台专用的计算机就比设计通用的计算机更有吸引力,这样不仅效率高,而且价格也比较低。如果能构造出一台处理所有问题都有很高效率的通用计算机,是再好不过的了,所以通用计算机的研究一直是计算机产业的主流。但目前是不可能的,也许今后有这种可能性。在通用计算机满足不了某一领域应用需要时,就要为该领域设计出专用的计算机体系结构。根据应用的需要,计算机体系结构的发展始终有通用计算机和专用计算机两个方向。体系结构设计者必须在专用体系结构和通用体系结构两者之中寻找一个具有竞争价格和高性能的设计方案。基本出发点是使专用体系结构的高效率和通用体系结构的广泛市场形成均势。,4器件对计算机系统结构的影响 器

29、件是促使计算机体系结构发展的最活跃的因素。器件是组成计算机的最基本单元,通常所讲的第几代计算机,则是以器件为划分标准。虽然这种划分不很全面,但至少从一个角度反映了器件对计算机发展影响的重要性。,5算法对计算机系统结构的影响 计算机体系结构与算法密切相关,相互适应而构成一个整体。一台计算机具有高性能是相对于某一类算法而言,而算法的优劣是相对于某一计算机体系结构而言。例如阵列处理机的计算性能对于数组类型的数据处理是很高的,但对于原子类型的数据处理却体现不出来。对于连续累加,如按标量计算,在超流水线处理机上运行效率很高,在向量处理机处理不高;若改为向量计算,在超流水线处理机上运行效率很低(要增加判断

30、导致功能切换),在向量处理机处理机却很高。因此,计算机体系结构设计者应针对某些应用领域,研究一类算法(不是一个算法)的基础上,构造出一个适合该类算法的计算机体系结构。算法设计者也应依据某种计算机体系结构开展研究,构造出一个适合该类计算机体系结构的算法。这也是专用计算机与通用计算机一样,一直是计算机体系结构研究方向;同一问题的处理算法(除一些研究透彻的外),有许多研究者在设计的主要原因。,并行算法与并行计算机的体系结构研究是一体的,并行算法的优劣直接依赖于并行计算机的体系结构。串行算法与串行计算机的体系结构则是相对独立的,串行算法的优劣与具体机器的结构之间无多大联系,在一台串行机上是最优的算法在

31、另一台串行机上也往往是最优算法。也就是说,并行算法研究和串行算法研究的主要不同点是以完全不同的方式与计算机体系结构相互作用。并行算法紧紧地依赖于计算机体系结构,同时对计算机体系结构提出了许多新的要求,促使设计专用计算机的体系结构来实现某种并行算法,从而使并行算法与并行计算机的体统结构更为密切,有力地推动了计算机体系结构的发展。还有价格等,六、计算机系统结构的生命周期 任何一种计算机系统结构,从诞生、发展、成熟到消亡,都是有生命周期的。生命周期和硬件、系统软件、应用软件的发展密切相关。,图1.5 系统结构的生命周期,一、并行性及其等级的划分 1.并行性及其类型 所谓并行性(Parallelism

32、)是指问题中具有可以同时进行运算或操作的特性。并行性实际上包括同时性和并发性两层含义。同时性(Simultaneity)指的是两个或多个事件在同一时刻发生。并发性(Concurrency)指的是两个或多个事件在同一时间间隔内发生。2并行性等级的划分 并行性可以有不同的等级,而且从不同的角度来看,并行性等级的划分也不相同。(1)按执行程序的并行性划分 指令内部 指令之间 任务或进程之间作业或程序之间 并行性等级由高到低反映了硬件实现的比例在增大,第三节 计算机系统结构中的并行性及其发展,(2)按处理数据的并行性划分 位串字串位并字串位片串字并全并行(3)按信息加工步骤的并行性划分 存储器操作并行

33、处理器操作步骤并行处理器操作并行指令、任务、作业并行 二、提高计算机系统并行性的技术途径 1.时间重叠(Time Inteleaving)时间重叠是在并行性概念中引入时间因素,让多个处理过程在时间上错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件使用周期来提高处理速度。2.资源重复(Resource Replication)资源重复是在并行性概念中引入空间因素,通过重复设置硬件资源来提高系统可靠性或性能。设置N个完全相同的处理器(PE),让它们受同一个控制器(CU)控制,控制器每执行一条指令就可以同时让各个处理器对各自分配到的数据完成同一种运算,这样利用资,源重复就提高了速度。3.资源

34、共享(Resource Sharing)资源共享是利用软件的方法让多个用户按一定时间顺序轮流地使用一套资源,以提高系统资源利用率,也可以相应提高整个系统的性能。三、多机系统及其耦合度 1.多机系统的概念(1)什么是多机系统 多机系统是多处理机系统和多计算机系统统的总称。而多计算机系统(Multicomputer System)是由多台独立的计算机组成的系统,多处理机系统(Multiprocessor System)是由多台处理机组成的单一计算机系统。(2)多计算机系统和多处理机系统的差别 多计算机系统和多处理机系统的差别主要有:一是在操作系,统方面,多计算机系统的各个计算机分别受各自独立的操作

35、系统控制,而多处理机系统由统一的操作系统控制。二是在存储器方面,多计算机系统的各个计算机分别受各自独立的存储器,完全执行各自独立的程序;而多处理机系统的各台处理机共享同一主存并有各自的控制部件,可以执行各自独立的程序。三是在信息交换方面,多计算机系统的各个计算机之间通过通道或通信线路进行通信,以文件或数据集的形式交互作用;而多处理机系统由于共享主存,各处理机和它们执行的程序之间不但能以文件和数据集的形式实现交互作用,也能以向量或单个数据的形式实现交互作用。四是在并行性的级别方面,多计算机系统通过批量数据的交互作用,实现作业、任务级的并行;而多处理机系统不仅可实现任务级并行,还由于共享主存,可以

36、实现同一任务中的指令间的并行,直至可以同时执行多条指令对同一数组进行的数据全并行处理。2.多机系统的耦合度及其分类(1)多机系统的耦合度 所谓耦合度是用来反映多机系统中各机器之间物理连接的紧密,程度和交互作用能力的强弱的概念。多机系统的耦合度可以分为最低耦合、松散耦合和紧密耦合。(2)多机系统的类型 按多机系统的耦合度来分,多机系统可分为三种。一是最低耦合系统(Least Coupled System):最低耦合系统是指最低耦合的多机系统。它可以是任何一种组织形式的多机系统。二是松散耦合系统(Loosely Coupled System):松散耦合系统又称间接耦合系统,是指松散耦合的多机系统。

37、它一般是异构型多计算机系统,且适合于分布处理。三是紧密耦合系统(Tightly Coupled System):紧密耦合系统又称直接耦合系统,是指紧密耦合的多机系统。它可以是主辅机方式配合工作的异构型多计算机系统,更多的是同构型多处理机系统。3.多处理机系统的种类(1)多处理机系统的种类 按组织形式来分,多处理机系统可分为三种。,一是异构型多处理机系统(Heterogeneous Multiprocessor System):异构型多处理机系统又称非对称型多机系统,是指由多个不同类型的,至少担负不同功能的处理机组成的多处理机系统。二是同构型多处理机系统(Homogeneous Multipro

38、cessor System):同构型多处理机系统又称对称型多处理机系统,是指由多个同类型的,且完成同样功能的处理(器)机组成的多处理机系统。三是分布处理系统(Distributed Processing System):分布处理系统是指有大量分散、重复的处理机资源(一般是具有独立功能的单处理机)相互连接在一起,在操作系统(可以是集中的也可以是分散的)的全局控制下统一协调工作而最少依赖于集中的程序、数据或硬件的多处理机系统。(2)多处理机系统间的比较 一是分工方式是不同的。分布处理系统既包括同构型多机系统的功能分布,又包括异构型多机系统的任务分布。,二是工作方式是不同的。同构型多机系统是把一道程

39、序(作业)分解为若干独立的任务,分别由各个功能相同的处理机并行执行;异构型多机系统是把一道程序(作业)分解为若干串行的任务,分别由各个功能不同的处理机执行,并采用流水作业形式进行处理;分布处理系统各处理机尽量完成本地程序,只有资源和能力不够时,才要求其它处理机协助,即较少依赖集中的程序、数据和硬件。三是控制形式是不同的。同构型多机系统一般是采用浮动控制形式,整个系统的管理控制由一台处理机实现,但并不固定不变,其它处理机也可承担系统的管理控制,因为各个处理机的系统结构是相同的;异构型多机系统一般是采用专用控制形式,由一台专用处理机实现整个系统的集中管理控制;分布处理系统一般是采用分布控制形式,由

40、多台处理机协同完成整个系统的管理控制,系统内部不存在明显的层次关系。,四、计算机系统结构向并行处理系统的发展 1.计算机系统结构实现并行性的基本思想 计算机系统中可以通过时间重叠、资源重复、资源共享等各种技术途径,在不同并行等级上实现并行性,提高计算机系统的并行处理能力,既可以是在执行程序方面,也可以是在处理数据方面,还可以是在信息加工的不同步骤方面,使计算机系统由低性能向高性能发展。但如果仅在在单处理机范围来提高并行性,只能是在处理机内的功能部件一级上。因此,要想使系统并行性进一步提高,就要进一步开发程序、任务、作业一级的并行,这就需要摆脱单处理机的束缚,发展各种不同耦合度的多计算机系统,才

41、有可能达到更高的并行处理水平。2.现代并行处理系统发展的过程,资源共享 资源 重复 时间重叠,网络化 机间 互联 功能专用化,五、计算机系统结构的分类 从计算机系统结构的并行性能出发,根据系统并行能力来分,有很多方法,其中常用的有三种。1Flynn分类法-多倍性分类法(1)有关的概念术语 由于计算机系统的基本工作过程是执行指令序列对数据序列进行处理,因此,1966年MichaelJFlynn按照指令流和数据流的多倍性及其不同组织方式,对计算机系统结构进行分类。指令流(Instruction Stream)是指机器执行的指令序列。数据流(Dara Stream)是指指令流调用的数据序列。多倍性(

42、Multiplicity)是指在系统最受限制的部件上,同时处于该部件执行阶段的指令或数据的最大可能个数。,(2)计算机系统结构的类型 CU:控制部件 PU:处理部件 MM:存储模块 IS:指令流 DS:数据流 单指令流单数据流SISD(Single Instruction stream Single Data stream):单指令流单数据流是指指令部件一次只能对一条指令进行译码,并且只对提一个执行部件分配数据,如图1.7(a)所示。该系统结构代表了大多数顺序处理的计算机。它可以是流水线结构,也可以设置多个并行存储体和多个执行部件,但均由一个控制部件管理。,SI,IS,DS,单指令流多数据流S

43、IMD(Single Instruction stream Multiple Data stream):单指令流多数据流是指在同一个控制部件(CU)的管理下,有多个处理单元(PU),所有PU均收到CU送来的同一条指令,但操作对象来自于不同数据流的数据,如图1.7(b)所示。该系统结构以并行处理机为代表,相联处理机也属于该结构。当共享存储器时可以有多个存储器模块。,SI,IS,DS1,DS2,DSn,多指令流单数据流MISD(Multipie Instruction stream Single Data stream):多指令流单数据流是指系统中有多个各自有相应控制部件(CU)的处理单元(PU)

44、,并接收不同的指令,但操作对象是同一数据流及其派生数据流(如中间结果),如图1.7(c)所示。该类结构无实用价值,目前也没有实际的机器。,SI1 IS1 DS1 SI2 IS2 DS2,SIn ISn DSn,多指令流多数据流MIMD(Multiple Instruction stream Multiple Data stream):指令流多数据流是指系统中有多个各自有相应控制部件(CU)的处理单元(PU),并接收不同的指令,而且操作对象来自于不同数据流的数据,如图1.7(d)所示。大多数多机系统是MIMD结构的。该结构的n个处理机之间存在相互作用,而数据流的来源有两种情况,一是如果n个数据流

45、来源于共享的同一数据空间,则处理机之间相互作用程度很高,为紧密耦合系统;二是如果n个数据流来源于共享的不同数据空间,则可以认为是n个SISD的集合,为松散耦合系统。,SI1 IS1 DS1 SI2 IS2 DS2,SIn ISn DSn,Flynn分类法反映了大多数计算机的工作方式、结构特点和并行性。但是有的计算机系统按Flynn分类法将无法归于哪一类,如数据流计算机是由数据驱动的而不是由指令驱动的。另外,对流水线处理机按Flynn分类法归属哪一类也有不同看法。,2.冯氏分类法-最大并行度分类法(1)有关的概念术语 美籍华人冯泽云于1972年提出根据最大并行度对计算机进行分类。最大并行度(De

46、gree Parallelism)Pm是指计算机系统在单位时间内能够处理的最大的二进制位数。如图1.8所示,用平面直角坐标系中的一个点代表一个计算机系统,横坐标表示字宽(位),即在一个字中同时处理的二进制位数;纵坐标表示位片宽(字),即在一个位片中同时处理的字数。因此,一个系统的最大并行度可以用这两个量的乘积,即用通过该点的水平线和垂直线与两坐标围成的矩形面积来表示。还有,在个时钟周期内的平均并行度a为:a=()/T其中:i为一个时钟周期内能够处理的二进制位数。显然,平均并行度a取决于系统的运用程度和应用程度。在个时钟周期内的平均利用率为:=a/Pm=()/(T Pm),位片宽(字),288(

47、PEPE)(32288),64(ILLIAC-)(6464),32(TI-ASC)(6432),16 EDVAC(11)(IBM370/169)(321),16 32 64 字宽(位),(2)计算机系统结构的类型 字串位串(WSBS-Word Serial and Bit Serial):n=1,m=1,这是第一代计算机发展初期的纯串行计算机。字串位并(WSBP-Word Serial and Bit Parallel):n=1,m1,STARAN、MPP、DAP等属于这种计算机。字并位串(WPBS-Word Parallel and Bit Serial):n1,m=1,这是传统的并行单处理

48、机。字并位并(WPBP-Word Parallel and Bit Parallel):n1,m1,PEPE、ILLIAC-、Cmmp等属于这种计算机。,3Handler分类法-型号定义法 T(系统型号)=f(k,d,w)T(系统型号)=f(k,k,d,d,w,w)式中:k-处理控制器PCU的数目;k-可组成流水线的PCU数目;d-每个PCU所控制的ALU(或PE)数目;d-可组成流水线的ALU数目;w-ALU或PE的字长;w-在所有ALU或一个PE中的流水段数目。例如Texas Instument公司的ASC系统,有一个CPU,CPU上有一个控制器,控制四条运算流水线,每条流水线都分为8段,

49、可对64位字长处理。则可表示为:T(ASC)=(11,41,648)=(1,4,648),一、计算机系统结构设计的主要方法 1计算机系统设计的基本原则 计算机系统设计的主要任务包括计算机系统的指令系统设计、功能的组织、逻辑设计及其物理实现,即包括计算机系统结构、计算机组成、计算机实现三个方面。(1)确定计算机系统的功能是计算机系统设计的基础。根据市场、技术发展的可能和需要,综合价格、性能和用户的要求来组织计算机系统的功能。(2)软件和硬件合理分配是计算机系统设计的关键。软件和硬件在逻辑功能上是等效的,但各有优缺点。软件实现设计容易、改进简单,硬件实现速度快、性能好,软件与硬件的平衡能得到最佳性

50、能价格比的计算机。,第四节 计算机系统结构的设计,(3)计算机系统结构应符合发展需要是计算机系统设计的方向。一个成功的计算机系统结构应该经得住软件和硬件技术的发展和应用的变化。2计算机系统结构设计的主要方法(1)“由下往上”(bottom-up)设计。(2)“由上往下”(top-down)设计。(3)“由中间开始”(middle-out)设计。,二、计算机系统结构设计中软硬件取舍的基本原则 1性能价格比高的原则 2充分利用组成与实现技术的原则 3软硬件相互支持的原则,三、软件可移植性及其实现的基本方法 1什么是软件的可移植性 软件的可移植性(Portability)指的是软件不修改或只经少量修

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号