资源描述
计 算 机 系 统 结 构计算机系统结构课程介绍ComputerArchitecture“建筑学”、“建筑物的设计或式样”,通常是指一个系统的外貌。计算机系统结构计算机体系结构研究内容从外部来研究计算机系统使用者所看到的物理计算机的抽象编写出能够在机器上正确运行的程序所必须了解到的计算机的属性。软硬件功能分配及分界面的确定学习目的建立计算机系统的完整概念学习计算机系统的分析方法和设计方法掌握新型计算机系统的基本结构及其工作原理与其他课程的交叉主要包括:计算机组成原理、计算机操作系统、汇编语言、数据结构、微机原理、高级语言等新内容:超标量处理机、超流水线处理机、向量处理机、并行处理机、多处理机等交叉点内容:提高,建立完整概念计算机系统结构正处于变革时期软件、系统结构、组成技术,两头发展快、中间慢非冯计算机正兴起系统结构的发展时期已经到来教材计算机系统结构,李学干,西安电子科技大学出版社,2011目录第1章计算机系统结构基础及并行性的开发第2章数据表示、寻址方式与指令系统第3章存储、中断、总线与输入/输出系统第4章存储体系第5章标量处理机第6章向量处理机第7章多处理机第8章数据流计算机和归约机第一章计算机系统结构基础及并行性的开发1.1 计算机系统的层次结构1.2 计算机系统结构、计算机组成和计算机实现1.3 计算机系统的软、硬件取舍和性能评测及定量设计原理1.4 软件、应用、器件的发展对系统结构的影响1.5 系统结构中的并行性开发及计算机系统分类1.1计算机系统的层次结构l现代计算机是通过执行指令来解决问题的l由软件和硬件两大部分组成l程序的执行,一种方式是翻译translationl另一种方式是解释interpretationl把以软件为主实现的机器,称为虚拟机器l把由硬件和固件实现的机器称为实际机器1.虚拟机概念从不同角度所看到的计算机系统的属性是不同的,包括:高级语言程序员、汇编语言程序员、系统管理员、硬件设计者大部分人对计算机的认识只需要在某一个层次上传统机器语言机器级M1具有L1机器语言(机器指令系统)2.层次结构(接下页)微程序机器级M0具有L0机器语言(微指令系统)第0级微指令由硬件直接执行第1级用微指令程序解释机器指令汇编语言机器级M3具有L3机器语言(汇编语言)操作系统机器级M2具有L2机器语言(作业控制语言等)第2级一般用机器语言程序解释作业控制语句等第3级汇编语言程序经汇编程序翻译成机器语言程序应用语言机器级M5具有L5机器语言(应用语言)高级语言机器级M4具有L4机器语言(高级语言)第4级高级语言程序经编译程序翻译成汇编语言(或某种中间语言或机器语言程序)第5级应用语言程序经应用程序包翻译成高级语言程序3.层次结构说明第0级:由硬件实现,硬联逻辑,实现微指令本身的控制顺序第1级:由微程序实现第0级+第1级=CPU第2级至第6级由软件实现(由软件实现的机器称为:虚拟机)第2级:是传统指令系统(机器语言)机器,定义了计算机的指令系统第3级:操作系统机器,指出了计算机的功能和脚本第4级:汇编语言机器第5级:高级语言机器第6级:应用语言机器从学科领域来划分第0和第1级属于计算机组成与系统结构第3至第5级是系统软件第6级是应用软件程序员使用计算机非程序员使用计算机它们之间仍有交叉第0级要求一定的数字逻辑基础第2级涉及汇编语言程序设计的内容第3级与计算机系统结构密切相关。在特殊的计算机系统中,有些级别可能不存在。机器的组成和作用广义语言解释或编译虚拟计算机观察者作用对象1.2计算机系统结构、计算机组成和计算机实现1.2.1计算机系统结构的定义和内涵1.定义一从计算机系统的层次结构角度来看,系统结构是对计算机系统中各级界面的定义及其上下的功能分配。AMdahl于1964年在推出IBM360系列计算机时提出:程序员所看到的计算机系统的属性,即概念性结构和功能特性高级程序员看到的是:软件子系统和固件子系统的属性,包括程序语言以及操作系统、数据库管理系统、网络软件等用户界面。程序设计者:使指为机器语言或编译程序设计者所看到的属性:数据表示、寻址方式、寄存器定义、数据和使用方式、指令系统、中断系统、机器工作状态的切换,输入和输出结构传送方式等。不包括基本:数据论、控制论、逻辑设计和物理实现等。具体的属性如下:数据表示:硬件能够直接认别和处理的数据类型和格式;寻址方式:最小寻址单位、寻址方式的种类和地址运算等;寄存器组织:操作数寄存器、变址寄存器、控制寄存器及专用寄存器的定义、数量和使用规则等;指令系统:机器指令的操作类型、格式,指令间的排序和控制机制等;中断系统:中断类型、中断级别和中断响应方式等;存储系统:最小编址单位、编址方式、主存容量、最大寻址空间等;处理机工作状态:定义和切换方式,如管态和目态等;输入输出系统:连接方式、数据交换方式、数据交换过程的控制等;信息保护:包括信息保护方式和硬件对信息保护的支持等。2.透明性概念本来存在的事物或属性,从某种角度看似乎不存在,即:确定存在用户无法控制和设置例如:浮点数表示、乘法指令对高级语言程序员、应用程序员透明对汇编语言程序员、机器语言程序员不透明例如:数据总线宽度、微程序对汇编语言程序员、机器语言程序员透明对硬件设计者、计算机维修人员不透明3.定义二:计算机系统结构主要研究软硬件功能分配和对软硬件界面的确定计算机系统由软件、硬件和固器组成,它们在功能上是同等的。同一种功能可以用硬件实现,也可以用软件或固件实现。不同的组成只是性能和价格不同。1.1.3计算机组成与实现l计算机组成(CoMputerOrganization)指的是计算机系统结构的逻辑实现,包括机器级内的数据流和控制流的组成以及逻辑设计等。一般计算机组成设计包括:确定数据通路的宽度确定专用部件的设置确定各种操作对功能部件的共享程度确定功能部件的并行度确定控制机构的组成方式设计缓冲和排队策略设计预估、预判技术设计采用何种可靠性技术l计算机系统的实现计算机实现是指计算机组成的物理实现,包括:处理机、主存储器等部件的物理结构器件的集成度和速度专用器件的设计器件、模块、插件、底版的划分与连接信号传输技术电源、冷却及装配技术,相关制造工艺及技术等计算机系统结构、组成和实现互不相同,但又相互影响。相同结构的计算机,可以采用不同的组成;同一种组成可以不同的实现方式;计算机实现是计算机系统结构和计算机组成的基础,其技术的发展对计算机系统结构有着很大的影响;结构不同,采用的组成就不同;组成不同也会影响结构的不同;计算机系统结构设计的任务是进行软、硬件的功能分配,确定传统机器级的软、硬件界面,实际包括了系统结构和组成两个方面的内容。计算机系统结构、计算机组成和计算机实现是三个不同的概念,但随着技术、器件和应用的发展,三者之间的界限越来越模糊。*在不同时期,系统结构、组成和实现所包含的内容会有所不同。在某些计算机系统中作为系统结构的内容,在另一些计算机系统中可能是组成和实现的内容。*系统结构设计不要对组成,实现有过多和不合理限制.*组成设计应在系统结构指导下,以目前可实现技术为基础.*实现应在组成的逻辑结构指导下,以目前器件技术为基础,以性能价格比优化为目标.例1-2l指令系统的确定属于计算机系统结构研究的范畴;指令的实现,如取指令、指令操作码译码、计算操作数地址、取数、运算等的操作安排和排序属于计算机组成研究的范畴;实现这些指令功能的具体电路、器件的设计及装配技术属于计算机实现研究的范畴;l确定指令系统中是否要设乘法指令属于计算机系统结构研究的范畴;乘法指令是用专门的高速乘法器实现,还是利用加法器和移位器经一连串时序信号控制来实现属于计算机组成研究的范畴;乘法器、加法器、移位器的物理实现,如器件的类型、集成度、数量、价格以及微组装技术的确定和选择属于计算机实现研究的范畴;l主存容量和编址方式(按位、按字节还是按字访问)属于计算机系统结构研究的范畴;为达到性能、价格要求、主存速度要求、逻辑结构设计属于计算机组成研究的范畴;主存器件的选定、逻辑设计、微组装技术的使用属于计算机实现研究的范畴;1.3计算机系统的软、硬件取舍和性能评测及定量设计原理1.3.1软、硬件取舍的基本原则软、硬件的功能分配是计算机系统结构的主要任务,而软件和硬件在逻辑功能上又是等效的。从原理上来讲软件的功能可以用硬件或固件来完成,硬件的功能也可以用软件模拟完成,只是在性能、价格和实现的难易上有所不同。具有相同功能的计算机系统,其软、硬件功能分配比例可以有很大的不同。软件硬件只有最必需的硬件目前的计算机系统程序不可编功能配比/%采用何种方式实现,应在满足应用的前提下,主要看能否充分利用硬件、器件技术的进展,使系统有高的性能价格比(对某种类型专用机除外)。设计原则:原则1:应考虑在现有硬件、器件(主要是逻辑器件和存储器件)条件下,系统要有高的性价比,主要从实现费用、速度和其他性能要求来综合考虑。实现费用主要包括设计费用和重复生产费用。假设某功能的软、硬件实现的每次设计费用分别为Ds和Dh,由于硬件的设计费用远高于软件的设计费用。所以,不妨设Dh100Ds同理,设软、硬件的单次重复生产费用分别为Ms,Mh,且不妨设Mh100Ms,硬件一般只需要设计1次,而软件实现则需要重复多次,设C为重复次数,则该功能软件实现的设计费用为CDs,同一功能软件在存储介质上可能多次复制和存储,设出现了R次,则重复生产费用为RMs假设某计算机系统生产V台,则每台计算机用硬件实现的费用为Dh/V+Mh,而用软件实现则为CDs/V+RMs只有当Dh/V+MhCDs/V+RMs时用硬件实现才适宜。将上述比值代入:100Ds/V+100MsCDs/V+RMs只有在C和R的值越大时,这个不等式才能成立。而且,目前软件的设计费用远比重复生产费用高,不妨设Ds104Ms,则有106/V+100104C/V+R因为C一般比100小,因此,从此不等式看来,只有当V足够大时,这个不等式才能成立。原则2:要考虑准备采用和可能采用的组成技术,使之尽可能不要过多或不合理的限制各种组成、实现技术的采用。原则3:不能仅从“硬”的角度考虑如何便于应用组成技术的成果和便于发挥器件技术的进展,还应从“软”的角度把如何为编译和操作系统的实现以及如何为高级语言程序的设计提供更多、更好的硬件支持放在首位。1.3.2计算机系统的性能评测及定量设计原理1计算机系统性能评测 计算机系统的性能指标,主要取决于计算机的本质属性,即时空属性。各项指标都围绕着它的本质属性来定义。其中,在系统上程序实际运行的时间是衡量计算机速度性能的最可靠标准。计算机的性能通常用峰值性能及持续性能来评价。峰值性能是指在理想状态下计算机系统可获得的最高理论性能,不能反映出系统的实际性能。实际性能又称持续性能,它往往只是峰值性能的5%30%。持续性能的表示有算术性能平均值、调和性能平均值和几何性能平均值等。算术性能平均值Am是n道程序运算速度或运算时间的算术平均值。以速率评价其中,Ti是第i个程序的执行时间,Ri是第i个程序的执行速率。以执行时间评价,则调和性能平均值Hm几何性能平均值Gm如果考虑到工作负荷中各个程序出现的比例不同,则可以加各程序的执行时间或速率加权。由此可求得加权后的算术平均性能、调用平均性能和几何平均性能值。(1)加权算术平均值(2)加权调和平均平均值(3)加权几何平均值性能因子CPI实际上机器性能因负荷不同而改变,不可能任何时候都达到峰值,因此,系统评测总是通过执行一系列有代表性的程序来获得。系统评测通过一系列的性能指标来表述。计算CPU的程序执行执行时间TCPU有3个因素,IC:程序执行的总指令条数、CPI:平均每条指令的时钟周期数、fc:主时钟频率,Tc时钟周期,则:假设系统共有指令n种,第i种指令的时钟周期数为CPIi,第i种指令在程序中出现Ii次,则:平均CPI(或有效CPI)为在这里。我们用CPU时间时间来评价CPU性能,明显,要改善CPU性能,可以通过改变某一些或某几项因素来实现。事实上,这三个因素是相互关联的。CPU主频fc由硬件技术和组成技术决定,CPI与组成和指令集有关,而指令数IC则与指令集和编译技术有关。为了反映程序的运行速度,通常引入一些定量指标:(1)MIPS(Million Instructions Per Second,百万条指令数每秒)这样程序的执行时间为:(2)MFLOPS(Million Floating Point Operations Per Second,百万次浮点运算每秒)假设 表示程序运行中浮点运算总次数性能评测方法l 采用实际的应用程序测试。l 采用核心程序测试。l 合成测试程序。l 综合基准测试程序。2计算机系统的定量设计原理在设计计算机系统时,一般应遵循如下定量设计原理:n哈夫曼(Huffman)压缩原理。简单来说,即尽量加速高概率事件的处理n阿姆达尔(Amdahl)定律。系统加速比其中性能可改进比 为系统性能可改进部分占用的时间与未改进时系统总执行时间比。部件加速比 是系统性能可改进部分在改进后性能提高的比值。当 为0时,=1;而当部件加速比 趋于无穷大时,有即改进效果好的高性能系统应是一个各部分性能均衡提高的系统。n程序访问的局部性定律。1.3.3计算机系统设计的主要任务和方法1 计算机系统设计的主要任务u要弄清其应用领域是专用还是通用的u要弄清软件兼容是放在哪级层次u要弄清对操作系统有何要求u要如何保证有高的标准化程度设计中的注意事项 在系统的功能确定以后,就要考虑如何优化系统的设计,使之有高的性价比。注意减少设计的复杂性。应适应硬件技术、软件技术、器件技术、应用需求的变化。硬件设计还应考虑有好的扩展性和兼容性。2计算机系统的设计方法(1)“由下往上”设计 即从器件水平、微程序机器级到传统机器到操作系统(2)“由上往下”设计 先确定虚拟机器的基本特征,往硬件方向(3)“由中间开始”设计 a传统机器级到微程序级、数字逻辑级 b操作系统级到汇编、编译、环境计算机系统设计过程图示方法1:由上向下(Top-Down)方法2:由下向上(BottoM-Up)方法3:中间开始(Middle-Out)应用虚拟机高级语言虚拟机汇编语言虚拟机操作系统虚拟机传统机器级微程序级硬联逻辑级向上向下设计步骤:需求分析概念设计对系统反复进行优化和性能评价,使系统尽可能获得较高的性价比。冯诺依曼(VanNenMann)结构基本思想于1936年1946年期间形成由冯诺依曼等人于1946年提出1.特点:存储程序运算器为中心集中控制存储器是字长固定的、顺序线性编址的一维结构。存储器提供可按地址访问的一级地址空间,每个地址是唯一定义的。1.4软件、应用、器件的发展对系统结构的影响由指令形式的低级机器语言驱动。指令顺序执行,即一般按照指令在存储器中存放的顺序执行,程序分支由转移指令实现。运算器为中心,输入输出设备与存储器之间的数据传送都途经运算器。运算器、存储器、输入输出设备的操作以及它们之间的联系都由控制器集中控制。2.改进:存储程序,存储器为中心,分散控制从基于串行算法变为适应并行算法,出现了向量计算机,并行计算机、多处理机等。控制器运算器ALU存储器输入设备输出设备高级语言与机器语言的语义距离缩小,出现了面向高级语言机器和直接执行高级语言机器。硬件子系统与操作系统和数据库管理系统软件相适应,出现了面向操作系统机器和数据库计算机等。从传统的指令驱动型改变为数据驱动型和需求驱动型,出现了数据流机器和归约机。为适应特定应用环境而出现了各种专用计算机,如快速傅里叶变换机器、过程控制计算机等。为获得高可靠性而研制容错计算机。功能分散化、专业化,出现了各种功能分布计算机,包括外围处理机、通信处理机等。出现了与大规模、超大规模集成电路相适应的计算机系统结构。出现了处理非数值化信息的智能计算机,例如自然语言、声音、图形和图象处理等。3.非冯计算机的发展1.4.1软件的发展对系统结构的影响由于软件生产率不高,且资源的高度共享,因此必须解决好软件的移植问题。软件的可移植性(Portability)指的是软件不修改或只经过少量修改就可由一台机器移到另一台机器上运行,同一软件可应用于不同的环境。实现软件移植的技术主要有以下几种:1.统一高级语言至今还没有一种对各种应用真正通用的高级语言,主要是因为:l不同的用途要求语言的语法、语义结构不同。l人们对语言的基本结构看法不一。l即使同一种高级语言在不同厂家的机器上也不能完全通用。l习惯使然,人们不愿意抛弃惯用的语言。2.采用系列机在一定范围内不同型号的机器之间统一汇编语言,就可以在一定程度上解决汇编语言软件的移植。系列机是在设定好一种系统结构(在系列机中称系列结构),以中间向两边设计的方式,根据不同的组成和实现技术研制而成不同档次的机器。系列机具有软件兼容性(Software Compatibility),是通过采用相同的系统结构来实现的。系列内各档机之间软件兼容从速度和性能上有向上和向下兼容之分。向上(下)兼容指的是按某档机器编制的软件,不加修改就能运行于比它高(低)档的机器。随着器件等技术的发展,系统机内后续出现的各档机器的系统结构允许发展和变化,总体来说应当保证向后兼容,向上兼容。向前(后)兼容指的是在按某个时期投入市场的该型号机上编制的软件,不加修改就能运行于在其之前(后)投入市场的机器上。低档中档高档性能价格性价比3模拟和仿真1)模拟(Simulation)A机器B虚拟机器高级语言虚拟机器级汇编语言虚拟机器级操作系统虚拟机器级传统机器级(机器语言级)微程序机器级应用程序级操作系统虚拟机器级机器语言(虚拟机器级)从系统结构的主要方面指令系统来看,就是要在一种机器上实现另一种机器的指令系统。如要求原来在B上能运行的应用软件,能移植到有不同系统结构的A机上。根据层次结构概念,可把B的机器语言看成是A机器的机器语言级之上的一个虚拟的机器语言,在A机上有虚拟机概念来实现B机器上的指令系统。如上图所示,B的每条指令用A机的一条机器语言程序解释。进行模拟的A机称为宿主机,被模拟的B机称为虚拟机。不足之处:模拟程序的编制是十分复杂和费时的,不仅要模拟虚拟机的机器语言,还要模拟其存储体系、I/O系统、控制台操作等。运行速度低,实时性较差。2)仿真(Emulation)高级语言虚拟机器级操作系统虚拟机器级传统机器级(A机器语言)微程序机器级应用程序级操作系统虚拟机器级传统机器级(B机器语言)A机器B虚拟机器 如上图所示,用微程序直接解释另一种机器指令系统的方法称为仿真。进行仿真的A机器称为宿主机,被仿真的机器称为目标机。不足之处:与模拟一样,要仿真目标机的存储体系、I/O系统、控制台操作等;当两种机器结构差别大时,仿真难度大;两者区别两者区别 仿真与模拟的区别在于解释用的语言:仿真是用微程序解释,其解释程序存在于控制存储器中;模拟是用机器语言程序解释,其解释程序存在于主存中。1.两个发展趋势维持价格不变,利用VLSI技术等,提高性能普通PC微处理器芯片价格较稳定,但性能提高很快性能基本不变,价格迅速下降一般先推出中间机型,然后分别向高端和低端两个方向发展;例如:PentiuMII,80486等从系统结构的观点看,各型(档)计算机性能随时间推移,其实就是在低档(型)机上引用甚至照搬高档(型)机的结构和组成。1.4.2应用对系统结构发展的影响t-3t-2t-1tt+1t+2年代大型机中型机小型机微型机亚微型机微微型机巨型机价格(对数坐标)虚线为等性能线 2.应用需求今后10年,需要专门为以下领域设计高效率的系统结构:高结构化的数值计算:气象模型、流体流动、有限元分析。非结构化的数值计算:蒙特卡洛模拟、稀疏矩阵。实时多因素问题:语音识别、图象处理、计算机视觉。大存储器容量和输入输出密集的问题:数据库系统、事务处理系统。图形学和设计系统:计算机辅助设计。人工智能:面向知识的系统、推理系统。3.三个时期通用计算机:主要是通用科学计算专用计算机:科学计算、事务处理、实时控制高性能通用机:满足多种需求4.三种设计思想最高性能价格比:商用机。主要发展方向最高性能:国家安全需要,科技发展需要银河3最低价格:家用学习机等1.4.3器件发展对系统结构的影响第14代计算机以器件来划分在相当长一段时间内,是提高计算机速度的主要途径1.器件发展的特点:用4句话概括:集成度迅速提高,速度已接近极限,价格直线下降,可靠性越来越高集成度迅速提高目前水平:每0.25平方英寸108个晶体管;单芯片内可以做256Mb存储器,CPU部分Cache每5年左右提高一个数量级;到2018年,单芯片内可以做100个处理机速度已接近极限目前CPU主频已经到达1000MHz,门延迟0.1ns;(默认主频最高还是3.8,是INTEL的CPU,超频的话,最高8G+,还是INTEL的。AMD新的推土机也有在液氮下超到8G+的。)极限速度:30万公里/秒3cM/0.1nsMM/0.01ns器件速度发展的余地很小根据摩尔定理,处理机速度每10年要提高100倍将来处理机速度提高主要靠系统结构、组成和实现技术价格直线下降例如:CPU芯片刚推出时1000美元,一年后降到200美元可靠性越来越高芯片可靠性到达108小时,即连续使用1万年以上失效率时间t使用期2.器件发展对组成技术的影响器件速度与处理机工作主频1955年第一台大型计算机IBM704机处理机主频:12us,门延迟:0.5us1976年巨型向量计算机CRAY,采用ECL电路处理机主频:12.5ns,门延迟:0.5ns目前:PentiuMIII600MHz,Alpha1000MHz处理机主频:1.2ns,门延迟0.1ns器件速度与指令执行时间40多年来,器件速度提高小于104;指令执行加快108系统结构和组成技术的作用器件速度的提高最慢,已经没有太大潜力处理机主频提高的速度已经减缓指令执行速度的提高基本保持不变3.器件发展对设计方法的影响计算机组成技术下移原来只有在巨型机、大型机中采用的技术,已经用到微型机中先行(Lookahead)、超标量、超流水线、Cache、多体交叉计算机设计方法下移第1代计算机,几乎全部由硬件人员设计第2、3、4代,由应用、软件、硬件和器件人员共同设计将来:除器件设计之外,主要是软件设计逻辑设计方法改变过去逻辑设计很重要,尽量节省每一个芯片,每一个门目前的设计主要考虑:了解市场,尽量选择通用芯片、标准芯片;结构化设计,规整、易读、易诊断1.5系统结构中的并行性开发及计算机系统的分类1.5.1并行性的概念和开发1.并行性的含义与级别把解题中具有可以同时进行运算或操作的特性,称为并行性(Parallelism)。并行性包含同时性和并发性二重含义。同时性(Simultaneity)指两个或多个事件在同一时刻发生;并发性(Concurrency)指两个或多个事件在同一时间间隔内发生。从不同的角度,并行性有不同的级别:(1)从计算机系统执行程序的角度看指令内部指令之间任务或进程之间作业或程序之间(2)从计算机系统中处理数据的角度来看位串字串位并字串位片串字并全并行(3)从计算机信息加工的步骤和阶段来看存储器操作并行处理器操作步骤并行处理器操作并行指令、任务、作业并行2.并行性开发的途径(1)时间重叠(Time Interleaving)取指分析执行指令流水线指令在流水线各部件中流过的时间关系取指分析执行kkkK+1K+1K+1K+2K+2K+2t(2)资源重复(Resource Replication)在并行概念中引入空间因素,通过重复设置硬件资源来提高可行性或性能。双工系统等。(3)资源共享(Resource Sharing)指用软件方法让多个用户按一定时间顺序轮流使用同一套资源来提高资源的利用率。多道程序分时系统;共享主存、外设、通信线路的多处理机;分布处理系统等。CUPE0PE1PEN-13.3.计算机系统的并行性发展计算机系统的并行性发展19601960年以前,主要为算术运算的位并行与年以前,主要为算术运算的位并行与I/OI/O并行并行1960-19701960-1970,多道程序分时系统、多功能部件、流水线单,多道程序分时系统、多功能部件、流水线单处理机等处理机等1970-19801970-1980,大型和巨型的向量机、阵列机、相联处理机,大型和巨型的向量机、阵列机、相联处理机等等1980-19901980-1990,RISCRISC、超标量处理机、超标量处理机(SuperscaleSuperscale)、超流水、超流水线处理机线处理机(SuperpipelingSuperpipeling)、超长指令字计算机、超长指令字计算机(VLIW)(VLIW)、多、多微处理机系统、数据流计算机、智能计算机微处理机系统、数据流计算机、智能计算机19901990至今,大规模并行处理。至今,大规模并行处理。3.3.多机系统的耦合度多机系统的耦合度l最低耦合最低耦合(Least Coupled System)(Least Coupled System)如独立外围计算机系统。如独立外围计算机系统。l松散耦合松散耦合(Loosely Coupled System)(Loosely Coupled System)适合于分布处理。适合于分布处理。l紧密耦合紧密耦合(Tightly Coupled System)(Tightly Coupled System)可以是主辅机方式配合工作的非对称系统,更多的是对称型多处理机系可以是主辅机方式配合工作的非对称系统,更多的是对称型多处理机系统。统。1.按大小划分种类:巨型机、大型机、中型机、小型机、微型机等。划分原则:以性能为表征,按价格来划分存在问题:划分的标准是随时间而变化2.按用途划分种类:科学计算、事务处理、实时控制、工作站、服务器、家用计算机等。划分原则:科学计算:浮点计算速度;事务处理:字符处理、十进制运算;实时控制:中断响应速度、I/0能力;工作站:图形处理能力发展方向:具备上述所有功能的通用处理机1.5.2计算机系统的分类3.按数据类型划分种类:定点机、浮点机、向量机、堆栈机等4.按处理机个数和种类划分种类:单处理机、并行处理机、多处理机、分布处理机、关联处理机、超标量处理机、超流水线处理机、SMP(对称多处理机)、MPP(大规模并行处理机)、机群(Cluster)系统等5.佛林(Flynn)分类法1966年由Michael.J.Flynn提出按照指令流和数据流的多倍性特征对计算机系统进行分类指令流:机器执行的指令序列数据流:由指令流调用的数据序列,包括输入数据和中间结果多倍性(Multiplicity):在系统性能瓶颈部件上同时处于同一执行阶段的指令或数据的最大可能个数四种类型单指令流单数据流SISD(SingleInstructionSingleDatastreaM);单 指 令 流 多 数 据 流 SIMD(SingleInstructionMultipleDatastreaM);多 指 令 流 单 数 据 流 MISD(MultipleInstructionSingleDatastreaM);多 指 令 流 多 数 据 流 MIMD(MultipleInstructionMultipleDatastreaM)SISD典型单处理机,包括:单功能部件处理机:IBM1401,VAX-11多功能部件处理机:IBM360/91,370/168,CDC6600流水线处理机:标量流水线处理机CUPUMMISDSSISDSMSIMD:并行处理机、阵列处理机、向量处理机、相联处理机、超标量处理机、超流水线处理机、.多个PU按一定方式互连,在同一个CU控制下,多各自的数据完成同一条指令规定的操作;从CU看,指令顺序(串行)执行,从PU看,数据并行执行。全并行:IILIAC IV、PEPE、STAR100、ASC、CRAY字并位串:STARAN、MPP、DAPPUMMISDS1SIMDCUPUPUDS2DSnMMSMMISD几条指令对同一个数据进行不同处理,实际上不存在,无实用价值。指令级并行而数组级未并行。但有人把处理机间的宏流水及脉阵列流水机都归属于MISD系统。MIMD多处理机系统,包括:紧密耦合:IBM3081、IBM3084、UNIVAC-1100/80松散耦合:D-825、CMMp、CRAY-2MMDSMISDPUIS1CUMMPUIS1CUPUIS1CUSMMMMIMDPUIS1CUMMPUIS1CUPUIS1CUDS1DS2DSnSMFlynn分类法得到广泛应用SISD、SIMD、MIMD主要缺点:(1)分类太粗:例如,在SIMD中包括有多种处理机对流水线处理机的划分不明确标量流水线为SISD,向量流水线为SIMD(2)根本问题是把两个不同等级的功能并列对待;通常,数据流受指令流控制,从而造成MISD不存在(3)非冯计算机的分类?其他新型计算机的分类?6.库克(DavidJ.Kuck)分类法*1978年,美国的库克提出,用指令流和执行流(Execution Stream)及其多倍性来描述计算机系统总控制器的结构特点。单指令流单执行流(SISE)典型的单处理机系统单指令流多执行流(SIME)带多操作部件的处理机多指令流单执行流(MISE)带指令级多道程序的单处理机多指令流多执行流(SISE)典型的多处理机系统7.冯氏分类法*.1972年,冯泽云提出,按最大并行度进行分类。*.最大并行度PM定义:系统在单位时间内能够处理的最大二进制位数。*.冯氏的结构分成WSBS“字串”位串位串处理方式如早期位串行机WPBS“字并”位串字(字片)处理方式如传统位并行机WSBP“字串”位并位(位片)处理方式如某些相联处理机和阵列处理机WPBP“字并”位并全并行处理方式某些相联处理机、大多数阵列处理机及多处理机8.Handlen分类法 1977年联邦德国的汉德勒(Wolfgang Handler)又在冯氏分类法的基础上提出了基于硬件结构所含可并行处理单元数和可流水处理的级数的分类方法。9.从对执行程序或指令的控制方式上分类。控制流方式、数据流方式、归约方式、匹配方式等本 章 重 点1.计算机系统结构、计算机组成、计算机实现三者的定义及研究的内容2.软件、硬件功能分配原则3.透明性、系列机、兼容性、模拟与仿真等基本概念4.有关并行性的概念5.系统结构中开发并行性的途径6.了解计算机系统的分类方法
展开阅读全文