您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 计算机组成与体系结构
第1章计算机组成与体系结构根据考试大纲,本章内容要求考生掌握3个知识点。(1)构成计算机的各类部件的功能及其相互关系;(2)各种体系结构的特点与应用(SMP、MPP);(3)计算机体系结构的发展。1.1计算机体系结构的发展冯·诺依曼等人于1946年提出了一个完整的现代计算机雏形,它由运算器、控制器、存储器和输入/输出设备组成。现代的计算机系统结构与冯·诺依曼等人当时提出的计算机系统结构相比,已发生了重大变化,虽然就其结构原理来说,占有主流地位的仍是以存储程序原理为基础的冯·诺依曼型计算机,但是,计算机系统结构有了许多改进,主要包括以下几个方面。(1)计算机系统结构从基于串行算法改变为适应并行算法,从而出现了向量计算机、并行计算机、多处理机等。(2)高级语言与机器语言的语义距离缩小,从而出现了面向高级语言机器和执行高级语言机器。(3)硬件子系统与操作系统和数据库管理系统软件相适应,从而出现了面向对象操作系统机器和数据库计算机等。(4)计算机系统结构从传统的指令驱动型改变为数据驱动型和需求驱动型,从而出现了数据流计算机和归约机。(5)为了适应特定应用环境而出现了各种专用计算机。(6)为了获得高可靠性而研制容错计算机。(7)计算机系统功能分散化、专业化,从而出现了各种功能分布计算机,这类计算机包括外围处理机、通信处理机等。(8)出现了与大规模、超大规模集成电路相适应的计算机系统结构。(9)出现了处理非数值化信息的智能计算机。例如自然语言、声音、图形和图像处理等。1.2构成计算机的各类部件的功能及其相互关系计算机由控制器、运算器、存储器、输入设备和输出设备组成。系统分析师考试辅导(2007版)21966年,Michael.J.Flynn提出根据指令流、数据流的多倍性特征对计算机系统进行分类(通常称为Flynn分类法),有关定义如下:指令流:指机器执行的指令序列。数据流:指由指令流调用的数据序列,包括输入数据和中间结果,但不包括输出数据。多倍性:指在系统性能瓶颈部件上同时处于同一执行阶段的指令或数据的最大可能个数。Flynn根据不同的指令流-数据流组织方式,把计算机系统分成4类。(1)单指令流单数据流(SISD):SISD其实就是传统的顺序执行的单处理器计算机,其指令部件每次只对一条指令进行译码,并只对一个操作部件分配数据。流水线方式的单处理机有时也被当作SISD。值得注意的是,Intel公司的PⅡ中开始采用MMX技术,引进了一些新的通用指令,从某种意义上使用了单指令流多数据流的思想,但是,与Intel公司的前几代产品(X86/Pentium)相比,其指令序列的执行方式和调用数据的方式没有发生根本性的变化,所以从整体上来看,采用PⅡ芯片的PC仍属于SISD。(2)单指令流多数据流(SIMD):SIMD以并行处理机(阵列处理机)为代表,并行处理机包括多个重复的处理单元PU1-PUn,由单一指令部件控制,按照同一指令流的要求为它们分配各自所需的不同数据。相联处理机也属于这一类。(3)多指令流单数据流(MISD):MISD具有n个处理单元,按n条不同指令的要求对同一数据流及其中间结果进行不同的处理。一个处理单元的输出又作为另一个处理单元的输入,这类系统实际上很少见到。有文献把流水线看做多个指令部件,称流水线计算机是MISD。(4)多指令流多数据流(MIMD):MIMD是指能实现作业、任务、指令等各级全面并行的多机系统。多处理机属于MIMD。当前的高性能服务器与超级计算机大多具有多个处理机,能进行多任务处理,称为多处理机系统。不论是大规模并行处理机MPP(MassivelyParallelProcessor)还是对称多处理机SMP(SymmetricalMultiProcessor),都属于这一类。Flynn分类法是最普遍使用的。其他的分类法还有:(1)冯氏分类法:由冯泽云在1972年提出,冯氏分类法以计算机系统在单位时间内所能处理的最大二进制位数来对计算机系统进行分类。(2)Handler分类法:由WolfganHandler在1977年提出,Handler分类法根据计算机指令执行的并行度和流水线来对计算机系统进行分类。(3)Kuck分类法:由DavidJ.Kuck在1978年提出,Kuck分类法与Flynn分类法相似,也是用指令流、执行流和多倍性来描述计算机系统特征,但其强调执行流的概念,而不是数据流。第1章计算机组成与体系结构31.3各种体系结构的特点与应用1.3.1复杂指令系统计算机复杂指令系统计算机(CISC)的主要特点如下。①指令数量众多:指令系统拥有大量的指令,通常有100~250条。②指令使用频率相差悬殊:指令使用频率相差悬殊,最常使用的是一些比较简单的指令,仅占指令总数的20%,但在程序中出现的频率却占80%,而大部分复杂指令却很少使用。③支持很多种寻址方式:支持的寻址方式通常为5~20种。④变长的指令:指令长度不是固定的,变长的指令增加指令译码电路的复杂性。⑤指令可以对存储器单元中的数据直接进行处理:典型的CISC处理器通常都有指令能够直接对内存单元中的数据进行处理,其执行速度较慢。1.3.2精简指令系统计算机精简指令系统计算机(RISC)不是简单地把指令系统进行简化,而是通过简化指令的途径使计算机的结构更加简单合理,以减少指令的执行周期数,从而提高运算速度。RISC的主要特点:(1)指令数量少:优先选取使用频率最高的一些简单指令以及一些常用指令,避免使用复杂指令。大多数指令都是对寄存器操作,对存储器的操作仅提供了读和写两种方式。(2)指令的寻址方式少:通常只支持寄存器寻址方式、立即数寻址方式以及相对寻址方式。(3)指令长度固定、格式种类少:因为RISC指令数量少,格式相对简单,其指令长度固定,指令之间各字段的划分比较一致,译码相对容易。(4)只提供了Load/Store指令访问存储器:只提供了从存储器读数Load和把数据写入存储器Store两条指令,其余所有的操作都在CPU的寄存器间进行。(5)以硬布线逻辑控制为主:为了提高操作的执行速度,通常采用硬布线逻辑(组合逻辑)来构建控制器。而CISC的指令系统很复杂,难以用组合逻辑电路实现控制器,通常采用微程序控制。(6)单周期指令执行:因为简化了指令系统,很容易利用流水线技术使得大部分指令都能在一个机器周期内完成。少数指令可能会需要多个周期执行,例如Load/Store指令因为需要访问存储器,其执行时间就会长一些。(7)优化的编译器:RISC的精简指令集使编译工作简单化。因为指令长度固定、格式少、寻址方式少,编译时不必在具有相似功能的许多指令中进行选择,也不必为寻址方式系统分析师考试辅导(2007版)4的选择而费心,同时易于实现优化,从而可以生成能够高效执行的机器代码。采用RISC技术的CPU硬件一般具有如下特点:寄存器数量多;采用流水线组织;控制器的实现采用硬布线控制逻辑电路。大多数RISC采用了Cache(缓存)方案,使用Cache来提高取指的速度。而且有的RISC甚至使用两个独立的Cache来改善性能:一个称为指令Cache,另一个称为数据Cache。这样,取指和读数可以同时进行,互不干扰。典型的RISC处理器有DEC公司的Alpha21164、IBM公司的PowerPC620、HP公司的PA-8000、SGI公司MIPS分部的TS和Sun公司的UltraSPARC等。从理论上来看,CISC和RISC都有各自的优势,不能认为精简指令计算机就好,复杂指令计算机就不好,事实上,这两种设计方法很难找到完全的界线,而且在实际的芯片中,这两种设计方法也有相互渗透的地方,表1-1所示是两者的简单对比。表1-1CISC和RISC的简单对比项目CISCRISC指令条数多只选取最常见的指令指令复杂度高低指令长度变化短、固定指令执行周期随指令变化大大多在一个机器同期完成指令格式复杂简单寻址方式多极少涉及访问主存指令多极少,大部分只有两条指令通用寄存器数量一般大量译码方式微程序控制硬件电路对编译系统要求低高1.3.3流水线技术流水线技术是把一个任务分解为若干个顺序执行的子任务,不同的子任务由不同的执行机构负责执行,而这些机构可以同时工作。在任一时刻,任一任务只占用其中一个执行机构,这样就可以实现多个任务的重叠执行,以提高工作效率。流水线的关键之处在于重叠执行。为了得到高性能的表现,流水线应该满负荷工作,即各个阶段都要同时并行地工作。但是在实际情况中,流水线各个阶段可能会相互影响,阻塞流水线,使其性能下降。阻塞主要由以下两种情形引起:执行转移指令和共享资源冲突。(1)转移指令的影响通常在顺序执行指令的情况下,当CPU取一条指令时,流水线的地址计算部件可以独立地把当前PC值加上当前指令长度来计算下一条指令的地址,从而可以并行地工作,但第1章计算机组成与体系结构5是当流水线执行一条转移指令时,就会引起流水线的阻塞。因为在该转移指令完成之前,流水线不能确定出下一条指令的地址。所以为了保证指令的正确执行,必须把取指段和指令地址计算段互锁。在取出转移指令后,立即锁住指令地址计算段,直到转移指令执行完成。互锁阶段流水线处于等待状态,不能满负荷工作,因而性能下降。(2)共享资源访问冲突当多条指令以流水线方式重叠执行时,由于可能会引起对共享的寄存器/存储器资源访问次序的变化,因此将导致冲突,这种情况又称为数据相关。为了避免这种冲突,就需要把相互有关的指令进行阻塞,这样就会引起流水线效率的下降。一般来说,指令流水线级数越多,越容易导致数据相关,阻塞流水线。1.指令流水线计算机中,一条指令的执行需要若干步,通常采用流水线技术来实现指令的执行,以提高CPU性能。典型的指令执行共分7个阶段:①计算指令地址,修改程序计数器PC;②取指,即从存储器中取出指令;③指令译码;④计算操作数地址;⑤取操作数;⑥执行指令;⑦保存结果。对指令执行阶段的划分也可以把取指作为第一阶段,其他阶段顺序前移,而在最后一个阶段计算下一条指令的地址。若假定指令执行的各个阶段的执行时间相同,都是一个周期。执行一条指令就需要花费7个周期的时间。采用流水线技术以后,当满负荷时,每个周期都能从流水线上完成一条指令,相当于性能大约改善了7倍。实际上,流水线技术对性能的提高程度取决于其执行顺序中最慢的一步。例如,在指令执行的7个阶段中,如果访问存储器需要4个周期,而其他操作只需一个周期,一条指令的执行共需访存3次再加上4个周期的执行段,所以共需要16个周期。采用流水线以后,由于受限于访存操作,4个周期才能完成一条指令的执行,因此性能提高了大约4倍。2.运算操作流水线计算机在执行各种运算操作时,也可以应用流水线技术来提高运算速度。例如执行浮点加法运算,可以把它分成3个阶段:对阶、尾数相加和结果规格化。流水线的3个阶段用锁存器进行分割,锁存器用来在相邻两段之间保持处理的中间结果,以供下一阶段使用。这样在满负荷时,该流水线可以同时处理3条浮点加法指令。1.3.4并行处理1.超级标量处理机在超级标量处理机中,配置了多个功能部件和指令译码电路,采取了多条流水线,还有多个寄存器端口和总线,因此可以同时执行多个操作,以并行处理来提高机器的速度。它可以同时从存储器中取出几条指令同时送入不同的功能部件。超级标量机的硬件是不能重新安排指令的前后次序的,但可以在编译程序时采取优化的办法对指令的执行次序进行系统分析师考试辅导(2007版)6精心安排,把能并行执行的指令搭配起来。2.超级流水线处理机超级流水线处理机的周期比其他结构的处理机的短。与超级标量计算机一样,硬件不能调整指令的执行次序,而由编译程序解决优先问题。3.超长指令字处理机VLIW是一种单指令流多操作码多数据的系统结构,编译程序在编译时把这个能并行执行的操作组合在一起,成为一条有多个操作段的超长指令,这条超长指令控制VLIW中多个互相独立的功能部件,每个操作段控制一个功能部件,相当于同时执行多条指令。4.向量处理机向量处理机是一种具有向量数据表示、设置有相应的指令和硬件、能对向量的各个元素进行并行
本文标题:计算机组成与体系结构
链接地址:https://www.777doc.com/doc-3163383 .html