1、(1)单指令流单数据流(SISD):SISD其实就是传统的顺序执行的单处理器计算机,其指令部件每次只对一条指令进行译码,并只对一个操作部件分配数据。流水线方式的单处理机有时也被当作SISD。值得注意的是,Intel公司的P中开始采用MMX技术,引进了一些新的通用指令,从某种意义上使用了单指令流多数据流的思想,但是,与Intel公司的前几代产品(X86/Pentium)相比,其指令序列的执行方式和调用数据的方式没有发生根本性的变化,所以从整体上来看,采用P芯片的PC仍属于SISD。(2)单指令流多数据流(SIMD):SIMD以并行处理机(阵列处理机)为代表,并行处理机包括多个重复的处理单元PU1
2、-PUn,由单一指令部件控制,按照同一指令流的要求为它们分配各自所需的不同数据。相联处理机也属于这一类。(3)多指令流单数据流(MISD):MISD具有n个处理单元,按n条不同指令的要求对同一数据流及其中间结果进行不同的处理。一个处理单元的输出又作为另一个处理单元的输入,这类系统实际上很少见到。有文献把流水线看做多个指令部件,称流水线计算机是MISD。(4)多指令流多数据流(MIMD):MIMD是指能实现作业、任务、指令等各级全面并行的多机系统。多处理机属于MIMD。当前的高性能服务器与超级计算机大多具有多个处理机,能进行多任务处理,称为多处理机系统。不论是大规模并行处理机MPP(Massiv
3、ely Parallel Processor)还是对称多处理机SMP(Symmetrical Multi Processor),都属于这 一类。Flynn分类法是最普遍使用的。其他的分类法还有:(1)冯氏分类法:由冯泽云在1972年提出,冯氏分类法以计算机系统在单位时间内所能处理的最大二进制位数来对计算机系统进行分类。(2)Handler分类法:由WolfganHandler在1977年提出,Handler分类法根据计算机指令执行的并行度和流水线来对计算机系统进行分类。(3)Kuck分类法:由DavidJKuck在1978年提出,Kuck分类法与Flynn分类法相似,也是用指令流、执行流和多倍
4、性来描述计算机系统特征,但其强调执行流的概念,而不是数据流。1.3 各种体系结构的特点与应用1.3.1 复杂指令系统计算机复杂指令系统计算机(CISC)的主要特点如下。指令数量众多:指令系统拥有大量的指令,通常有100250条。指令使用频率相差悬殊:指令使用频率相差悬殊,最常使用的是一些比较简单的指令,仅占指令总数的20%,但在程序中出现的频率却占80%,而大部分复杂指令却很少使用。支持很多种寻址方式:支持的寻址方式通常为520种。变长的指令:指令长度不是固定的,变长的指令增加指令译码电路的复杂性。指令可以对存储器单元中的数据直接进行处理:典型的CISC处理器通常都有指令能够直接对内存单元中的
5、数据进行处理,其执行速度较慢。1.3.2 精简指令系统计算机精简指令系统计算机(RISC)不是简单地把指令系统进行简化,而是通过简化指令的途径使计算机的结构更加简单合理,以减少指令的执行周期数,从而提高运算速度。RISC的主要特点:(1)指令数量少:优先选取使用频率最高的一些简单指令以及一些常用指令,避免使用复杂指令。大多数指令都是对寄存器操作,对存储器的操作仅提供了读和写两种方式。(2)指令的寻址方式少:通常只支持寄存器寻址方式、立即数寻址方式以及相对寻址方式。(3)指令长度固定、格式种类少:因为RISC指令数量少,格式相对简单,其指令长度固定,指令之间各字段的划分比较一致,译码相对容易。(
6、4)只提供了Load/Store指令访问存储器:只提供了从存储器读数Load和把数据写入存储器Store两条指令,其余所有的操作都在CPU的寄存器间进行。(5)以硬布线逻辑控制为主:为了提高操作的执行速度,通常采用硬布线逻辑(组合逻辑)来构建控制器。而CISC的指令系统很复杂,难以用组合逻辑电路实现控制器,通常采用微程序控制。(6)单周期指令执行:因为简化了指令系统,很容易利用流水线技术使得大部分指令都能在一个机器周期内完成。少数指令可能会需要多个周期执行,例如Load/Store指令因为需要访问存储器,其执行时间就会长一些。(7)优化的编译器:RISC的精简指令集使编译工作简单化。因为指令长
7、度固定、格式少、寻址方式少,编译时不必在具有相似功能的许多指令中进行选择,也不必为寻址方式的选择而费心,同时易于实现优化,从而可以生成能够高效执行的机器代码。采用RISC技术的CPU硬件一般具有如下特点:寄存器数量多;采用流水线组织;控制器的实现采用硬布线控制逻辑电路。大多数RISC采用了Cache(缓存)方案,使用Cache来提高取指的速度。而且有的RISC甚至使用两个独立的Cache来改善性能:一个称为指令Cache,另一个称为数据Cache。这样,取指和读数可以同时进行,互不干扰。典型的RISC处理器有DEC公司的Alpha21164、IBM公司的PowerPC620、HP公司的PA-8
8、000、SGI公司MIPS分部的TS和Sun公司的Ultra SPARC等。从理论上来看,CISC和RISC都有各自的优势,不能认为精简指令计算机就好,复杂指令计算机就不好,事实上,这两种设计方法很难找到完全的界线,而且在实际的芯片中,这两种设计方法也有相互渗透的地方,表1-1所示是两者的简单对比。表1-1 CISC和RISC的简单对比项目CISCRISC指令条数多只选取最常见的指令指令复杂度高低指令长度变化短、固定指令执行周期随指令变化大大多在一个机器同期完成指令格式复杂简单寻址方式极少涉及访问主存指令极少,大部分只有两条指令通用寄存器数量一般大量译码方式微程序控制硬件电路对编译系统要求1.
9、3.3 流水线技术流水线技术是把一个任务分解为若干个顺序执行的子任务,不同的子任务由不同的执行机构负责执行,而这些机构可以同时工作。在任一时刻,任一任务只占用其中一个执行机构,这样就可以实现多个任务的重叠执行,以提高工作效率。流水线的关键之处在于重叠执行。为了得到高性能的表现,流水线应该满负荷工 作,即各个阶段都要同时并行地工作。但是在实际情况中,流水线各个阶段可能会相互影响,阻塞流水线,使其性能下降。阻塞主要由以下两种情形引起:执行转移指令和共享资源冲突。(1)转移指令的影响通常在顺序执行指令的情况下,当CPU取一条指令时,流水线的地址计算部件可以独立地把当前PC值加上当前指令长度来计算下一
10、条指令的地址,从而可以并行地工作,但是当流水线执行一条转移指令时,就会引起流水线的阻塞。因为在该转移指令完成之前,流水线不能确定出下一条指令的地址。所以为了保证指令的正确执行,必须把取指段和指令地址计算段互锁。在取出转移指令后,立即锁住指令地址计算段,直到转移指令执行完成。互锁阶段流水线处于等待状态,不能满负荷工作,因而性能下降。(2)共享资源访问冲突当多条指令以流水线方式重叠执行时,由于可能会引起对共享的寄存器存储器资源访问次序的变化,因此将导致冲突,这种情况又称为数据相关。为了避免这种冲突,就需要把相互有关的指令进行阻塞,这样就会引起流水线效率的下降。一般来说,指令流水线级数越多,越容易导
11、致数据相关,阻塞流水线。1指令流水线计算机中,一条指令的执行需要若干步,通常采用流水线技术来实现指令的执行,以提高CPU性能。典型的指令执行共分7个阶段:计算指令地址,修改程序计数器PC;取指,即从存储器中取出指令;指令译码;计算操作数地址;取操作数;执行指令;保存结果。对指令执行阶段的划分也可以把取指作为第一阶段,其他阶段顺序前移,而在最后一个阶段计算下一条指令的地址。若假定指令执行的各个阶段的执行时间相同,都是一个周期。执行一条指令就需要花费7个周期的时间。采用流水线技术以后,当满负荷时,每个周期都能从流水线上完成一条指令,相当于性能大约改善了7倍。实际上,流水线技术对性能的提高程度取决于
12、其执行顺序中最慢的一步。例如,在指令执行的7个阶段中,如果访问存储器需要4个周期,而其他操作只需一个周期,一条指令的执行共需访存3次再加上4个周期的执行段,所以共需要16个周期。采用流水线以后,由于受限于访存操作,4个周期才能完成一条指令的执行,因此性能提高了大约4倍。2运算操作流水线计算机在执行各种运算操作时,也可以应用流水线技术来提高运算速度。例如执行浮点加法运算,可以把它分成3个阶段:对阶、尾数相加和结果规格化。流水线的3个阶段用锁存器进行分割,锁存器用来在相邻两段之间保持处理的中间结果,以供下一阶段使用。这样在满负荷时,该流水线可以同时处理3条浮点加法指令。1.3.4 并行处理1超级标
13、量处理机在超级标量处理机中,配置了多个功能部件和指令译码电路,采取了多条流水线,还有多个寄存器端口和总线,因此可以同时执行多个操作,以并行处理来提高机器的速度。它可以同时从存储器中取出几条指令同时送入不同的功能部件。超级标量机的硬件是不能重新安排指令的前后次序的,但可以在编译程序时采取优化的办法对指令的执行次序进行精心安排,把能并行执行的指令搭配起来。2超级流水线处理机超级流水线处理机的周期比其他结构的处理机的短。与超级标量计算机一样,硬件不能调整指令的执行次序,而由编译程序解决优先问题。3超长指令字处理机VLIW是一种单指令流多操作码多数据的系统结构,编译程序在编译时把这个能并行执行的操作组
14、合在一起,成为一条有多个操作段的超长指令,这条超长指令控制VLIW中多个互相独立的功能部件,每个操作段控制一个功能部件,相当于同时执行多条指令。4向量处理机向量处理机是一种具有向量数据表示、设置有相应的指令和硬件、能对向量的各个元素进行并行处理的计算机。当进行向量运算时,它的性能要比大型机好得多。向量处理机有巨型计算机和向量协处理机(或称为数组处理机)两种类型,巨型计算机能对大量的数据进行浮点运算,同时它还可以进行标量计算和一般数据处理。向量处理机一般采用流水线工作,当它处理一条数组指令时,会对数组中的每个元素执行相同的操作,而且各元素间是互相无关的,因此流水线不会阻塞,能以每个时钟周期送出一
15、个结果的速度运行。为了存储系统能及时提供数据,向量处理器配有一个大容量的、分成多个模块交错工作的主存储器。为了提高运算速度,向量处理机的运算部件中可采用多个功能部件,例如向量部件、浮点部件、整数运算部件和计算地址用的地址部件。向量协处理机就是专门处理浮点和向量运算的数组处理机,它一般连接到主机总线上。5多处理机系统多处理机具有两个或两个以上的处理机,共享输入/输出子系统,在操作系统的统一控制下,通过共享主存或高速通信网络进行通信,协同求解一个个复杂的问题。多处理机通过利用多台处理机进行多任务处理来提高速度,利用系统的重组能力来提高可靠性、适应性和可用性。多处理机具有共享存储器和分布存储器两种不
16、同的结构。具有共享存储器的多处理机中,程序员无数据划分的负担,容易编程;系统处理机数目较少,不易扩充。具有分布式存储器的多处理机结构灵活;容易扩充;难以在各个处理单元之间实现复杂数据结构的数据传送;任务动态分配复杂;现有软件可继承性差,需要设计新的并行算法。多处理机系统属于MIMD系统,与SIMD的并行处理机相比,有很大的差别。其根源就在于两者的并行性的层次不同,多处理机要实现的是更高一层的作业任务间的并行。6大规模并行处理机并行处理机有时也称为阵列处理机,它使用按地址访问的随机存储器,以单指令流多数据流方式工作,主要用于要求大量高速进行向量矩阵运算的应用领域。并行处理机的并行性来源于资源重复
17、,它把大量相同的处理单元(PE)通过互联网络(ICN)连接起来,在统一的控制器(CU)控制下,对各自分配来的数据并行地完成同一条指令所规定的操作。PE是不带指令控制部件的算术逻辑运算单元。并行处理机具有强大的向量运算能力,具有向量化功能的高级语言编译程序有助于提高并行处理机的通用性,减少编译时间。并行处理机有两种基本结构类型:采用分布存储器的并行处理结构和采用集中式共享存储器的并行处理结构。分布式存储器的并行处理结构中,每一个处理机都有自己的存储器,只要控制部件将并行处理的程序分配至各处理机,它们便能并行处理,各自从自己的存储器中取得信息。而共享存储多处理机结构中的存储器是集中共享的,由于多个
18、处理机共享,在各处理机访问共享存储器时会发生竞争。因此,需采取措施尽可能避免竞争的 发生。大规模并行处理机(MPP)是随着微处理器技术的飞跃和应用需求的不断攀升,在20世纪80年代中期发展起来的一种新机型。它是由众多的微处理器(从几百到上万)组成的大规模的并行系统。MPP的出现成为计算机领域中的一个研发热点,被用作开发万亿次甚至更高速的巨型机的主要结构。MPP可以采用市场上的出售的RISC处理器,所以有很高的性价比。7对称处理机对称多处理机(SMP)目前也基于RISC微处理器。它与MPP最大的差别在于存储系统:SMP有一个统一的共享主存空间,而MPP则是每个微处理器都拥有自己的本地存 储器。1
19、.3.5 互联网络互联网络(ICN)是用来连接一个计算机系统中各个处理单元(或处理机)、存储模块以及各种外部设备,在系统软件控制下,使各处理单元或各个功能部件相互通信的硬件网络结构。常见的互联网结构有总线结构、交叉开关和多级互联网。并行处理机互连有多种方法,分别举例如下:(1)恒等置换:相同编号的输入端与输出端一一对应互连。其表达式如下: (2)交换置换:实现二进制地址编号中第0位位值不同的输入端和输出端之间的连接。(3)方体置换:实现二进制地址编号中第k位位值不同的输入端和输出端之间的连接。(4)均匀洗牌置换(shuffle):将输入端二进制地址循环左移一位得到对应的输出端二进制地址。(5)
20、蝶式置换:将输入端二进制地址的最高位和最低位互换位置得到对应的输出端二进制地址。(6)位序颠倒置换:将输入端二进制地址的位序颠倒过来得到对应的输出端二进制地址。1.4 例题分析例题1(2001年试题3132)按照Flynn的分类,P的MMX指令采用的是(31)模型,而当前的高性能服务器与超级计算机则大多属于(32)类。(31)、(32)ASISD BSIMD CMISD DMIMD例题1分析按照Flynn的分类,计算机可分为SISD、SIMD、MISD和MIMD共4类。P中开始采用MMX技术,引进了一些新的通用指令,虽然使用了单指令多数据思想,但从整体上说P仍属于SISD类。当前的高性能服务器
21、与超级计算机大多具有多个处理器,多任务处理并行处理,基本上都属于MIMD。例题1答案(31)A (32)D例题2(2002年试题50)微指令大体上可分为两类:水平型微指令和垂直型微指令。在下列几项中,不符合水平型微指令特点的是 (50) 。(50)A执行速度快 B并行度较低C更多地体现了控制器的硬件细节 D微指令长度较长例题2分析水平型微指令的主要特征:微指令的长度比较长,微指令中的微操作具有高度的并行性,微指令编码简单,减少了译码时间,使其执行速度快,更多地体现了控制器的硬件细节。垂直型微指令的主要特征:长度短,功能弱,并行度低,编程容易但微程序长,效 率低。例题2答案(50)B例题3(20
22、02年试题4247)在下列体系结构中,最适合于多个任务并行执行的体系结构是 (42) 。流水线控制方式下, (43) 是全局性相关,流水线机器对全局性相关的处理不包括 (44) 。静态流水线是指 (45) 。假设并行(阵列)处理器的16个处理器编号为015,采用单级Cube3网络互联时,与13号处理器相连的处理器的编号为 (46) 。在下列几项中,不符合RISC特点的是 (47) 。(42)A流水线向量机结构 B分布存储多处理机结构C共享存储多处理机结构 D堆栈处理机结构(43)A转移指令引起的相关 B先写后读相关C.先读后写相关 D写-写相关(44)A猜测法 B提前形成条件码C设置相关专用通
23、道 D加快短循环程序的执行(45)A只有一种功能的流水线 B功能不能改变的流水线C可同时执行多种功能的流水线D在同一时间段内,只能完成一种功能的流水线(46)A1 B5 C7 D14(47)A指令长度固定,指令种类少B寻址方式种类丰富,指令功能尽量增强C设置大量通用寄存器,访问存储器指令简单D选取使用频率较高的一些简单指令例题3分析流水线向量处理机是用于指令并行执行的而不是任务并行,并不属于多处理机。堆栈处理机用于特别的计算或用作外设的数据读写。这两种结构均不适于多个任务的并行执行。并行处理机可分两种类型,分别为采用分布存储器的并行处理结构和采用集中式共享存储器的并行处理结构。其中分布式存储器
24、的多处理机并行处理结构中,每一个处理器都有自己的存储器,只要控制部件将并行处理的程序分配各处理机,它们便能并行处理,各自从自己的存储器中取得信息。因此,最适合于多个任务并行执行的体系结构是分布存储多处理机结构。在流水线机器中,指令相关、主存操作数相关、通用寄存器组的操作数相关及变址寄存器变址值相关为局部性相关。在具体对局部性相关进行处理时,先写后读相关、先读后写相关和写-写相关都是控制机构能处理的局部性相关的内容。而转移指令引起的相关则会对流水线机器的吞吐能力和效率造成的影响较局部性相关要严重得多,被称为全局性相关。对全局性相关处理时,采用的方法有猜测法、加快和提前形成条件码、加快短循环程序的
25、执行、转移指令迟延执行等。而设置相关专用通道是对局部性相关进行处理时所采取的多种措施之一。静态流水线的定义是指在某一时间内各段只能按一种功能连接流水线,只有等流水线全部流空后才能切换成按另一种功能连接流水线。并行处理机互联有多种方法,在构成单级互联网络时可采用n个结点的立方体网络结构。在此立方体上的每一个顶点代表一个处理机。在编号为015的16个处理机构成的立方体上,每一个处理机均可用4位二进制编码来表示。利用n个结点的一般互联函数为:因为13=(1101)2,所以,它只能与编码为(0101)2=5的处理机相连接。例题3答案(42)B (43)A (44)C (45)D (46)B (47)B
26、例题4(2003年试题4445)编号为0、1、2、3、15的16个处理器,采用单级互联网络联接。当互联函数为Cube3时,11号处理器连接到 (44) 号处理器上。若采用Shuffle互联函数,则11号处理器应连接到 (45) 号处理器上。(44)A2 B3 C7 D9(45)A2 B5 C7 D11例题4分析并行处理机互联有多种方法,在构成单级互联网络时可采用n个节点的立方体网络结构。在此立方体上的每一个顶点(即节点)代表一个处理器。在编号为015的16个处理器构成的立方体上,每一个处理器均可用4位二进制编码来表示。因为11号处理器的编码为1011,它只能与编码为0011号处理器相连接。因此,与该处理器相连接的可以是3(0011)号处理器。如果采用Shuffle互联函数,则根据公式:因为11号处理器的编码为1011,则经过变换后为0111,即为7号。例题4答案(44)B (45)C例题5(2004年5月试题4445)某流水线浮点加法器分为5级,若每一级所需要的时间分别是6ns、7ns、8ns、9ns和6ns,则此流水线的最大加速比为 (44) 。若每一级的时间均为7ns,则最大加速比为 (45)。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1