Shuffy

不断的学习,不断的思考,才能不断的进步.Let's do better together!
posts - 102, comments - 43, trackbacks - 0, articles - 19

计算机体系结构基础知识

Posted on 2007-09-04 17:26 Shuffy 阅读(774) 评论(1)  编辑 收藏 引用 所属分类: 计算机组成原理


一、要求掌握的知识要点
    (1) 计算机系统分类。
    ·指令流:机器执行的指令系列。
    ·数据流:由指令流调用的数据序列。
    ·Flynn分类法:单指令流单数据流,指令流多数据流,单指令流多数据流,多指令流单数据流。
    ·冯式分类法:用最大并行度来对计算机体系结构进行分类。
    (2) 计算机系统结构与计算机组成的区别,计算机并行的发展。
    计算机组成指计算机系统的逻辑结构,包括机器内部数据流和控制流的组成以及逻辑设计等;计算机实现是指计算机组成的物理实现。
    (3) 存储器系统的层次结构。存储器系统由分布在计算机各个不同部件中的多种存储设备组成。主存储器由一片或多片存储芯片配以控制电路组成。辅助存储器包括磁表面存储器、光存储器。高速缓冲存储器(Cache存储器)用于提高CPU数据输入/输出速度,突破CPU与存储器间的数据传输带宽限制。在存储系统体系中,Cache是访问速度最快的层次。
二、知识点概述
    (一)计算机体系结构的发展
    1.计算机系统结构概述
    计算机系统结构又称为计算机体系结构,就是计算机的属性及功能特征,即计算机的外特性。尽管不同的使用者所了解的计算机的属性有所不同,就通用计算机系统来说,计算机系统结构的属性应包括如下一些方面:
    ·硬件所能处理的数据类型。
    ·所能支持的寻址方式。
    ·CPU的内部寄存器。
    ·CPU的指令系统。
    ·主存的组织与主存的管理。
    ·中断系统的功能。
    ·输入/输出设备及连接接口。
    ·计算机体系结构分类。
    1) Flynn分类法
    1966年Flynn提出了如下定义。
    指令流(Instruction Stream):机器执行的指令序列。
    数据流(Data Stream):由指令流调用的数据序列,包括输入数据和中间结果。
    多倍性(Multiplicity):在系统最受限制的元件上同时处于同一执行阶段的指令或数据的最大可能个数。
    按指令流和数据流的不同组织方式,把计算机体系结构分为如下四类:单指令流单数据流(SISD),单指令流多数据流(SIMD),多指令流单数据流(MISD),多指令流多数据流(MIMD)。
    2) 冯式分类法
    1972年冯泽云提出用最大并行度来对计算机体系结构进行分类。所谓最大并行度Pm是指计算机系统在单位时间内能够处理的最大的二进制位数。设每一个时钟周期△ti内能处理的二进制位数为Pi,则T个时钟周期内平均并行度为Pa= (∑Pi)/T(其中i为1,2,…,T)。平均并行度取决于系统的运行程度,与应用程序无关,所以,系统在周期T内的平均利用率为μ = Pa/Pm = (∑Pi)/(T * Pm)。
    图1-4所示为用最大并行度对计算机体系结构进行的分类。用平面直角坐标系中的一点表示一个计算机系统,横坐标表示字宽(N位),即在一个字中同时处理的二进制位数;纵坐标表示位片宽度(M位),即在一个位片中能同时处理的字数,则最大并行度Pm = N * M。由此得出四种不同的计算机结构:
    ① 字串行、位串行(简称WSBS)。其中N=1,M=1。
    ② 字并行、位串行(简称WPBS)。其中N=1,M>1。
    ③ 字串行、位并行(简称WSBP)。其中N>1,M=1。
    ④ 字并行、位并行(简称WPBP)。其中N>1,M>1。
                    
                                        图1-4  冯式分类法
    2.计算机系统结构与计算机组成的区别
    计算机系统结构所解决的问题是计算机系统总体上、功能上需要解决的问题,而计算机组成要解决的是逻辑上如何具体实现的问题。
    比如说,指令系统的确定属于计算机系统结构,而指令的具体实现则属于计算机组成。指令系统中要不要设置乘、除法指令是计算机系统结构要解决的问题,而一旦决定设置,具体用什么方法来实现乘、除法指令就属于计算机组成应解决的问题。
    主存容量及编址方式的确定属于计算机系统结构,而具体构成主存则属于计算机组成。
    可以想像。对于具有同样系统结构的计算机,但具体按此系统结构构成的计算机在实现方法、性能及价格上会有很大差别。
    3.系统结构中并行性的发展
    1) 并行性
    并行性包括两个方面:同时性和并发性。同时性是指两个或两个以上的事件在同一时刻发生,并发性是指两个或两个以上的事件在同一时间间隔内连续发生。
    充分利用并行性实现计算机的并行处理,可以提高计算机的处理速度。
    2) 并行处理
    从计算机信息处理的步骤和阶段的角度,并行处理可分为:
    ·存储器操作并行。
    ·处理器操作步骤并行(流水线处理机)。
    ·处理器操作并行(阵列处理机)。
    ·指令、任务、作业并行(多处理机、分布处理系统、计算机网络)。
    3) 并行性的发展
    从20世纪80年代开始,计算机系统结构有了很大发展,相继出现了精减指令集计算机(RISC)、指令级上并行的超标量处理机、超级流水线处理机、超长指令计算机、多微处理机系统、数据流计算机等。20世纪90年代以来,最主要的发展是大规模并行处理(MPP),其中多处理机系统和多计算机系统是研究开发的热点。
    (二) 存储系统
    1.存储器的层次结构
    存储体系结构包括不同层次上的存储器,通过适当的硬件、软件有机地组合在一起形成计算机的存储体系结构。现在大多数人都将高性能计算机的存储体系结构描述成如图1-5所示的三层存储器层次结构。
                                   
                                 图1-5  存储器层次结构示意图
    三级存储结构是高速缓存(Cache)、主存储器(MM)和辅助存储器(外存储器)。也有人将存储器层次分为四层,是将CPU内部的寄存器也看作是存储器的一个层次。
    有一些简单的计算机没有高速缓存(Cache),则这样的计算机的存储体系就剩下主存和辅存两个层次。
    2.存储器的分类
    (1) 按存储器所处的位置,可分为内存和外存。
  内存也称为主存,设在主机内或主机板上,用来存放机器当前运行所需要的程序和数据,以便向CPU提供信息。相对于外存,其特点是容量小,速度快。
    外存也称为辅存,如磁盘、磁带、光盘等,用来存放当前不参加运行的大量信息,在需要时,可把需要的信息调入内存。相对于内存,外存的容量大,速度慢。
    (2) 按构成存储器的材料,可分为磁存储器、半导体存储器和光存储器。
    (3) 按工作方式,可分为读写存储器和只读存储器。
    (4) 按访问方式,可分为按地址访问的存储器和按内容访问的存储器。
    (5) 按寻址方式,可分为随机存储器、顺序存储器和直接存储器。
    3.相联存储器
    相联存储器是一种按内容访问的存储器。其工作原理就是把数据或数据的某一部分作为关键字,将该关键字与存储器中的每一单元进行比较,找出存储器中所有与关键字相同的数据字。相联存储器的结构如图1-6所示,各部件的功能如表1-2所示。
                                
                                         图1-6  相联存储器的结构框图
                                           表l-2  相联存储器部件功能

    相联存储器可用在高速缓冲存储器中;在虚拟存储器中用来作段表、页表或快表存储器;用在数据库和知识库中。
    4.高速缓存(Cache)
    高速缓存(Cache)用来存放当前最活跃的程序和数据。作为主存局部域的副本,其特点是:容量一般在几KB到几MB之间;速度一般比主存快5到10倍,由快速半导体存储器构成;其内容是主存局部域的副本,对程序员来说是透明的。
    1) 高速缓存的组成
    高速缓存的组成如图1-7所示。由图1-7可以看到,cache由两个部分组成:控制部分和Cache存储器部分。
    Cache存储器部分用来存放主存的部分拷贝(副本)信息。控制部分的功能是:判断CPU要访问的信息是否在Cache存储器中,若在即为命中,若不在则没有命中。命中时直接对Cache存储器寻址;未命中时,要按照替换原则,决定主存的一块信息放到Cache存储器的哪一块里面。
    2) 高速缓存中的地址映像方法
                                    
                                        图1-7高速缓存的构成框图
在CPU工作时,送出的是主存的地址,而应从Cache存储器中读写信息。这就需要将主存地址转换成Cache存储器的地址,这种地址的转换叫做地址映像。Cache的地址映像有三种方法。
(1) 直接映像。是指主存的块与Cache中块的对应关系是固定的。在这种映像方式下,由于主存中的块只能存放在Cache存储器的相同块号中,因此,只要主存地址中的主存区号与Cache中的主存区号相同,则表明访问Cache命中。一旦命中,以主存地址中的区内块号立即可得到要访问的Cache存储器中的块。
    直接映像的优点是地址变换很简单,只要主存地址中的主存区号找到了,则主存地址中后面的区内块号和块内地址立刻就找到了该块及块内的存储单元。其缺点是灵活性差。例如,不同区号中块号相同的块无法同时调入Cache存储器,即使Cache存储器中有空着的块也只能空着。
    (2) 全相联映像。同样,主存与Cache存储器均分成容量相同的块。这种映像方式允许主存的任一块可以调入Cache存储器的任何一个块的空间中。在地址变换时,利用主存地址高位表示的主存块号与Cache中的主存块号进行比较,若相同即为命中。这时根据块号所对应的块就知道要访问的是哪一块。Cache存储器的块找到后,块内地址就是主存的低位地址。这便可以读写Cache块中的内容。在变换时当找到主存块号命中时,还必须知道主存的这一块存到了Cache的哪一块里面。
    全相联映像的主要优点是主存的块调入Cache的位置不受限制,十分灵活。其主要缺点是无法从主存块号中直接获得Cache的块号,变换比较复杂,速度比较慢。
    (3) 组相联映像。这种方式是前面两种方式的折衷。具体做法是将Cache中的块再分成组。例如,假定Cache有16块,再将每两块分为1组,则Cache就分为8组。主存同样分区,每区16块,再将每两块分为1组,则每区就分为8组。
    组相联映像就是规定组采用直接映像方式而块采用全相联映像方式。也就是说,主存任何区的0组只能存到Cache的0组中,1组只能存1组,依次类推。组内的块则采用全相联映像方式,即一组内的块可以任意存放。也就是说,主存一组中的任一块可以存入Cache相应组中的任一块中。
    在这种方式下,通过直接映像方式来决定组号,在一组内再用全相联映像方式来决定Cache中的块号。由主存地址高位决定主存区号与Cache中区号比较可决定是否命中。主存后面的地址即为组号,但组块号要根据全相联映像方式由记录决定。
    3) 替换算法
    替换算法的目标就是使Cache获得最高的命中率。常用算法如下。
    (1) 随机替换算法。就是用随机数发生器产生一个要替换的块号,将该块替换出去。
    (2) 先进先出算法。就是将最先进入Cache的信息块替换出去。此法简单但并不能说最先进入的就不经常使用。
    (3) 近期最少使用算法。这种方法是将近期最少使用的Cache中的信息块替换出去。该算法较先进先出算法要好一些。但此法也不能保证过去不常用将来也不常用。
    (4) 优化替换算法。使用这种方法时必须先执行一次程序,统计Cache的替换情况。有了这样的先验信息,在第二次执行该程序时便可以用最有效的方式来替换,以达到最优的目的。
    4) 高速缓存的性能分析
  若H为Cache的命中率,tc为Cache的存取时间,tm为主存的访问时间,则Cache存储器的等效访问时间ta为:
ta = Htc + (1-H)tm
    使用Cache存储器比不使用Cache存储器时CPU访问存储器的速度提高的倍数r可用下式求得:

    5.虚拟存储器
    虚拟存储器是由主存、辅存、存储管理单元及操作系统中存储管理软件组成的存储系统。在程序员使用该存储系统时,可以使用的内存空间远远大于主存的物理空间。但实际上并不存在那么大的主存,故称其为虚拟存储器。虚拟存储器分为页式虚拟存储器、段式虚拟存储器和段页式虚拟存储器。
    从以上的描述可以看到,虚拟存储器将大容量的外存也纳入存储器的管理范围。但在具体执行程序时需判断程序是否在内存中,若不在(可认为未命中),则需从辅存中调入。这种思路与前面描述的Cache中的替换一样。因此,虚拟存储器中的替换算法与前面所述的一样,此处不再说明。
    6.外存储器
    外存储器用来存放暂时不用的程序和数据,并且以文件的形式存储。CPU不能直接访问外存中的程序和数据,只有将其以文件为单位调入主存方可访问。外存储器由磁表面存储器(如磁盘、磁带)及光盘存储器构成。
    7.磁盘阵列技术
    磁盘阵列是由多台磁盘存储器组成的一个快速、大容量、高可靠的外存子系统。现在常见的称为廉价冗余磁盘阵列(RAID)。目前,RAID分为6级(如表1-3所示)。
                                           表1-3  廉价冗余磁盘阵列
                               

    除此之外,目前还有RAID6、RAID7、RAIDl0等,它们均是对前者的改进,此处不再说明。
    (三) CISC/RISC
    1.指令系统的发展
    CISC的含义是复杂指令集计算机。众所周知,早期的计算机指令系统比较简单,通常只有十几到几十条指令。随着计算机的发展,指令系统也随之发展,不仅指令条数增加,而且指令的功能也有了许多增加。其目的是利用增加指令功能和复杂程度缩小汇编语言与高级语言的差距。另外,为了使新老型号的系列CPU的指令系统向上兼容,就需要在新的CPU中既要保持老的指令系统,又要增加新的指令。例如,80X86系列CPU每更新一次,必然增加一些指令。
    由于上述原因使得CPU的指令系统越来越庞大,越来越复杂。这就是复杂指令集计算机(CISC)。由于指令系统的复杂性,使CPU硬件也变得十分复杂,同时也限制了CPU的运行速度,因此,复杂指令集计算机(CISC)在性能上的提高遇到了很大的困难。
    2.精简指令集计算机(RISC)
    人们对典型的CISC执行程序中指令使用频度进行统计发现,指令系统中只有大约20%的指令被经常使用,其使用频度达80%,而且这些指令都是一些加、传送、转移等最简单的指令。也就是说,大多数的复杂指令只有20%的使用概率。
    若只保留20%最简单的指令,使指令尽可能简单,就可以设计一种硬件结构十分简单、执行速度很高的CPU。这就是精简指令集计算机(RISC)。
    3.RISC的特点
    RISC简化了CPU的控制器,同时提高了处理速度,其特点如下:
    (1) 指令种类少。一般只有十几到几十条简单的指令。
    (2) 指令长度固定,指令格式少。这可使指令译码更加简单。
    (3) 寻址方式少。适合于组合逻辑控制器,便于提高速度。
    (4) 设置最少的访内指令。访问内存比较花时间,尽量少用。
    (5) 在CPU内部设置大量的寄存器,使大多数操作在速度很快的CPU内部进行。
    (6) 非常适合流水线操作。由于指令简单,并行执行就更易实现。
    (四) 输入/输出技术
    1.微型计算机中最常用的内存与接口的编址方式
    尽管在微型计算机中存在着许多种内存与接口地址的编址方法,但最常见到的是下面描述的两种。理解了这两种编址方法,再遇到其他的编址方法也就不难理解了。
    1) 内存与接口地址独立的编址方法
    这种编址方法也有人称为内存与接口地址隔离的编址方法。在这种编址方法中,微型机内的内存地址和接口地址是完全独立的两个地址空间,它们是完全独立的并且是相互隔离的。
    在使用中,这种编址方式地址很清楚,内存就用于存放程序和数据而接口就用于寻址外设。所使用的指令也完全不同,用于接口的指令只用于接口读写,其余的指令全都是用于内存的。因此,在编程序或读程序中很易使用和辨认。
    这种编址方法的缺点就是用于接口的指令太少、功能太弱。
    2) 内存与接口地址统一的编址方法
    这种编址方法也有人称为内存与接口地址混合的编址方法。在这种编址方法中,内存地址和接口地址统一在一个公共的地址空间里。也就是说内存和接口共用这些地址。在这些地址空间里拿出某一些地址分配给接口使用而剩下的就可以归内存所用。也就是说,地址空间里的每一个地址都可以分配给接口也可以分配给内存使用。但是,分配给内存只能用于内存,接口绝不允许使用。同样,分配给接口的地址内存也绝不能再用。
    这种编址方法的优点是原则上用于内存的指令全都可以用于接口。这就大大增强了对接口的操作功能。而且在指令上也不再区分内存或接口指令,也就是说两者用的指令全都是一样的。
    该编址方法的缺点就在于整个地址空间被分成两部分,其中一部分分配给接口使用,剩余的为内存所用,这经常会导致内存地址不连续。再就是用于内存的指令和用于接口的指令是完全一样的,读程序时需要根据参数定义表仔细加以辨认。
  2.直接程序控制
  在完成外设数据的输入/输出中,整个输入/输出过程都是在CPU执行程序的控制下完成的。
    1) 无条件传送
    在此情况下,外设总是准备好的,它可以无条件随时接收CPU发来的输出数据,也能够无条件随时向CPU提供需要输入的数据。
    2) 程序查询方式   
    在这种方式下,利用查询方式进行输入/输出,就是通过CPU通过执行程序查询外设的状态,判断外设是否准备好接收数据或准备好向CPU输入数据。根据这种状态,CPU有针对性的为外设的输入/输出服务。
    3.中断方式
    由程序控制I/O的方法其主要缺点在于CPU必须等待I/O系统完成数据传输任务,在此期间CPU需定期查询I/O系统的状态,以确认传输是否完成,因此整个系统的性能严重下降。为克服该缺陷,把中断机制引入到I/O传输过程中。CPU利用中断方式完成数据的输入/输出:当I/0系统与外设交换数据时,CPU无需等待,当I/O系统完成了数据传输后以中断方式通知CPU,因而提高了系统效率。
    在系统中具有多个中断源的情况下,常用的处理方法有多中断信号线法(Multiple Interrupt Lines)、中断软件查询法(Software Poll)、雏菊链法(Daisy Chain)、总线仲裁法和中断向量表法。
    4.直接存储器存取(DMA)方式
    在计算机与外设交换数据的过程中,无论是无条件传送,利用查询方式传送还是利用中断方式传送,都需要由CPU通过执行程序来实现。这就限制了数据的传送速度。
    直接内存存取(Direct Memory Access,DMA)是指数据在内存与I/O设备间的直接成块传送,即在内存与I/O设备间传送一个数据块的过程中,不需要CPU的任何干涉,只需要CPU在过程开始启动(即向设备发出“传送一块数据”的命令)与过程结束(CPU通过轮询或中断得知过程是否结束和下次操作是否准备就绪)时的处理,实际操作由DMA硬件直接执行完成,即在DMA传送过程中无需CPU干预,整个系统总线完全交给了DMAC,由它控制系统总线完成数据传送。
    5.输入/输出处理机(I0P)
    上面所描述的输入/输出方式适合于外设不多、速度不很高的小型或微型机中,实现起来不是很复杂。在大型计算机中,外设很多,要求计算机的速度很高,采用程序传送、查询、中断或DMA均会因输入/输出而造成过大的开销,影响计算机的整体性能,为此,提出采用输入/输出处理机。
    1) 输入/输出处理机的功能
    输入/输出处理机是一个专用处理机,接在主计算机上,对主机的输入/输出操作由它来完成。它根据主机的I/0命令,完成对外设数据的输入/输出。输入/输出由IOP来完成,主机的工作效率必然提高。
    2) 输入/输出处理机的数据传送方式
    输入/输出处理机的数据传送方式有如下三种:字节多路方式、选择传送方式和数组多路方式。
    (五) 流水线操作
    1.指令流水线   
    指令流水线的概念就是将一条指令分解成一连串执行的子过程,在CPU中变一条指令的串行执行子过程为若干条指令的子过程在CPU中重叠执行,这就是指令流水线的思路。如果能做到每条指令均分解为m个子过程,且每个子过程的执行时间都一样,则利用指令流水线可将一条指令的执行时间由原来的T缩短为T/m。
    1) 流水的基本概念
    流水线技术是将一个重复的时序分解成若干个子过程,而每一个子过程都可有效地在其专用功能段上与其他子过程同时执行。流水线技术应用于计算机系统结构的各个方面,在此我们以指令的执行过程为例介绍流水线技术。
    2) 流水技术的特点
    (1) 流水线可分成若干个相互联系的子过程。
    (2) 实现子过程的功能所需时间尽可能相等。
    (3) 形成流水处理需要一段准备时间。
    (4) 指令流发生不能顺序执行时,会使流水过程中断,再形成流水过程则需要时间。
    3) 流水结构的分类
    (1) 按完成的功能分类。
    ·单功能流水线:只完成一种固定功能的流水线。如只能实现浮点加。
    ·多功能流水线:同一流水线上可有多种连接方式来实现多种功能。如ASC运算器中的8个可并行工作的功能块,可按不同的连接方式实现浮点加、减或定点乘法运算。
    (2) 按同一时间内各段之间的连接方式分类。
    ·静态流水线:任一时间流水线上的所有功能块只能按同一种运算的连接方式工作。如ASC运算器中的8个可并行工作的功能块,或都按浮点加、减运算连接,或都按定点乘法运算连接。
    ·动态流水线:同一时间流水线上的所有功能块可按不同的运算连接方式工作。
    (3) 按数据表示分类。
    ·标量流水处理机:只能对标量数据进行流水处理。
    ·向量流水处理机:它具有阳量指令,可对向量的各元素进行流水处理。
    2.流水线处理机的主要指标
    1) 吞吐率
    吞吐率是指单位时间里流水线处理机流出的结果数。对指令而言,就是单位时间里执行的指令数。如果流水线的子过程所用时间不一样长,则吞吐率p应为最长子过程的倒数,即

    2) 建立时间
    流水线开始工作,需经过一定时间才能达到最大吞吐率,这就是建立时间。若m个子过程所用时间一样,均为△t0,则建立时间T0 = m△t0。
    (六) 总线结构
    l. 总线的定义与分类
    广义地讲,任何连接两个以上电子元器件的导线都可以称为总线。总线通常分为如下四类。
    (1) 芯片内总线。用于在集成电路芯片内部各部分的连接。
    (2) 元件级总线。用于一块电路板内各元器件的连接。
    (3) 内总线,又称系统总线。用于构成计算机各组成部分(CPU、内存、接口等等)的连接。   
    (4) 外总线,又称通信总线。用于计算机与外设或计算机与计算机的连接或通信。
    2.内总线
    内总线有专用内总线和标准内总线。内总线的性能直接影响到计算机的性能。自计算机发明,尤其是微型机诞生以来,内总线的标准已超过百条。常见的内总线标准如下。
    (1) ISA总线。ISA是工业标准总线。它向上兼容更早的PC总线,在PC总线62个插座信号的基础上,再扩充另一个36个信号的插座构成ISA总线。ISA总线主要包据24个地址线,16条数据线,控制总线(内存读写、接口读写、中断请求、中断响应、DMA请求、DMA响应等等),±5 V、±12 V电源线及地线等。
    (2) EISA总线。该总线是在ISA总线的基础上发展起来的32位总线。该总线定义了32位地址线,32位数据线,以及其他控制信号线、电源线、地线等共196个接点,传输速率达33 MB/s。该总线利用总线插座与ISA总线相兼容,插板插在上层为ISA总线信号,将插板安装到下层便是EISA总线。
   (3) PCI总线。PCI总线是目前微型机上广泛采用的内总线。PCI总线有适于32位机的124个信号的标准和适于64位机的188个信号的标准。PCI总线的传输速率至少为133 MB/s,64位PCI总线的传输速率为266 MB/s,具有很高的传输速率。PCI总线的工作与处理器的工作是相互独立的,也就是说PCI总线时钟与处理器时钟是独立的、非同步的。PCI总线上的设备是即插即用的。
    3.外总线
    外总线的标准有七八十种之多,此处仅介绍下面几种。
    (1)RS一232C。RS一232C是一条串行外总线,其主要特点是:所需传输线比较少,最少只需三条线(一条发、一条收、一条地线)即可实现全双工通信;传送距离远,用电平传送为15米,用电流环传送可达千米;有多种可供选择的传送速率;采用非归零码负逻辑工作,电平≤一3 V为逻辑1,而电平≥ + 3 V为逻辑0;具有较好的抗干扰性。
    (2) SCSI总线。小型计算机系统接口(SCSI)是一条并行外总线,广泛用于连接软、硬磁盘、光盘、扫描仪等。该接口总线早期是8位的,后来发展到16位。传输速率由SCSI一1的5 MB/s到16位的Ultra2 SCSI的80 MB/s,目前的传输速率已高达320 MB/s。该总线上最多可接63种外设,传送距离可达20米(差分传送)。
    (3) USB。通用串行总线USB当前风头正劲,近几年得到十分广泛的应用。USB有四条信号线组,其中两条用于传送数据,另外两条传送+5 V容量为500 mA的电源。可以经过集线器HUB进行树状连接,最多可达五层。该总线上可接127个设备。USB 1.0有两种传送速率:低速为1.5 Mb/s,高速为12 Mb/s。USB 2. 0的传送速率为480 Mb/s。USB总线最大的优点还在于它支持即插即用并支持热插拔。
    (4) IEEE一1394。这是另一条串行外总线,近几年同样得到十分广泛的应用。IEEE一1394有六条信号线组,其中两条用于传送数据,两条传送控制信号,另外两条传送8到40 V容量为1500 mA的电源。资料上介绍,IEEE一1394总线上可接63个设备。IEEE一1394的传送速率从400 Mb/s、800 Mb/s、1600 Mb/s直到3.2 Gb/s。这种总线最大的优点也在于它支持即插即用并支持热插拔。
    (七) 多处理机与并行处理
    1.阵列处理机
    1) 阵列处理机的概念
    在前面已经提到有关并行处理的概念。这里专门介绍阵列处理机。阵列处理机又称并行处理机,它将重复设置的多个处理单元(PU)按一定方式连成阵列,在单个控制部件(CU)控制下,对分配给自己的数据进行并行处理来完成一条指令所规定的操作。这是一种单指令流多数据流计算机,通过资源重复实现并行性,其概念示意图如图1-8所示。
                               
                                               图1-8 SIMD计算机
2) SIMD计算机的互联网络
    SIMD计算机的互联网络的设计目标:结构简单、灵活;处理单元间信息传送的步数尽可能少。
    (1) 立方体单级互联网络。对于具有N个结点的立方体单级互联网络,共有n = log2N种互联函数,即
Cubei(Pn-1…Pi…P1P0) = 
式中,Pi为用二进制编号的第i位,且0≤n≤n一1。也就是说,每一个处理单元只能与其二进制编号的某一位取反编号的处理单元相连接。
    (2) PM2I单级互联网络。这就是“加减2i”单级互联网络,能实现与j号处理单元相连接的处理单元号为j±2i,其互联函数为
PM2+i(j) = j + 2i mod N
PM2-i(j) = j一2i mod N
    (3) 混洗交换单级互联网络。这种互联方式的互联函数为
Shuffle(Pn-1Pn-2…P1P0) = Pn-2…P1P0Pn-1
可见,将处理单元的二进制编号循环左移一位便是要连接的处理单元的二进制编号。
    2.多处理机
    多处理机系统是由多台处理机组成的系统,每台处理机有属于自己的控制部,可以执行独立的程序,共享一个主存储器和所有的外部设备。它是多指令流多数据流计算机。在多处理机系统中,机间的互联技术决定着多处理机的性能。多处理机之间的互联,要满足高频带、低成本、连接方式的多样性以及在不规则通信情况下连接的无冲突性。
    1) 多处理机按其构成的分类
    (1) 异构型(非对称型)多处理机系统。由多个不同类型或可完成不同功能的处理机组成,按照作业要求的顺序,利用时间重叠技术,依次对它们的多个任务进行处理,各自完成规定的功能操作。
    (2) 同构型(对称型)多处理机系统。由多个同类型或可完成同等功能的处理机组成,同时处理同一作业中能并行执行的多个任务。
    (3) 分布式处理系统。若干台具有独立功能的处理机相互联接起来,在操作系统的控制下统一协调地工作,是最少依赖集中的程序、数据或硬件的系统。
    2) 多处理机系统的结构
    按照机间的互联方式,有如下四种多处理机结构。
    (1) 总线结构。总线结构是一种最简单的结构形式,它把处理机与I/O之间的通信方式引入到处理机之间。总线结构中有单总线结构、多总线结构、分级式总线、环式总线等多种。
    (2) 交叉开关结构。交叉开关结构是设置一组纵横开关阵列,把横向的处理机P及I/O通道与纵向的存储器M连接起来。
    (3) 多端口存储器结构。在多端口存储器结构中,将多个多端口存储器的对应端口连在一起,每一个端口负责一个处理机P及I/0通道的访问存储器的要求。
    (4) 开关枢纽式结构。在开关枢纽式结构中,有多个输入端和多个输出端,在它们之间切换,使输入端有选择地与输出端相连。因为有多个输入端,所以存在互联要求上的冲突。为此加入一个具有分解冲突的部件,称为仲裁单元。仲裁单元与在一个输入端和多个输出端间进行转换的开关单元一起构成一个基本的开关枢纽。任何互联网络都是由一个或多个开关枢纽组成的。
    3) 多处理机系统的特点
    结构灵活,程序并行,并行任务派生,进程同步。
    3.并行处理机
    并行处理机与采用流水结构的单机系统都是单指令流多数据流计算机,但它们也有区别,并行处理机采用资源重复技术,而采用流水结构的单机系统则采用时间重叠技术。
    并行处理机有两种典型结构:具有分布存储器的并行处理机结构和具有共享存储器的并行处理机结构。这两种结构的共同特点是在整个系统中设置多个处理单元,各个处理单元按照一定的连接方式交换信息,在统一的控制部件作用下,各自对分配来的数据并行地完成同一条指令所规定的操作。
三、重点与难点分析
    (1) 掌握I/O的工作方式以及特点(程序中断方式、DMA方式、设备接口)。
    (2) 了解多处理机系统的分类、结构及特点。
    (3) 并行性的概念与并行的层次。
    并行性是指在同一时刻或者同一时间间隔内完成两种或两种以上性质相同或不同的工作,只要时间上相互重叠,就都蕴含了并行性。
    并行处理是信息处理的一种有效形式,它着重发掘解题过程中的并行事件,使并行性的层次提高,系统性能更上一层。并行性有着不同的层次,而且从不同的角度来看,其层次结构也不一样。
    ① 程序执行的并行性层次(从低到高)如下:
    ·指令内部并行:一条指令内各个微操作之间的并行。
    ·指令间并行:多条指令的并行执行,需要解决指令间存在的相互关联问题。
    ·任务或进程间并行:关键在于如何解决任务分解。
    ·作业或程序间并行:关键在于设计并行算法,把有限的软、硬件资源有效地分配给正在用于求解一个大题目的多个程序。
    ② 数据处理的并行性层次(从低到高)如下:
    ·位串字串:一次只对一个字的一位进行处理(无并行性)。
    ·位并字串:一次对一个字的全部位进行处理。
    ·位串字并:一次对许多字的同一位(位片)进行处理。
    ·位并字并(全并行):对许多字的全部或部分位进行处理。
    ③ 操作并行性层次如下:
    ·存储器操作并行:可以在一个存储周期内访问多个存储单元。
    ·处理器操作步骤并行:指令的取值、译码、取操作数、执行等操作;向上重叠流水式的执行,也包括各种运算的操作步骤的重叠执行。
    ·处理器操作并行:设置大量的处理单元,在同一控制器控制下按同一条指令的要求对多个数据组同时操作。
    并行性的措施:时间重叠,资源重叠,资源共享。
(4) 并行处理机的基本原理。并行处理机又称为阵列处理机,它是在单一控制部件控制下的由多个处理单元构成的阵列。并行处理机使用按地址访问的随机存储器(RAM),以SIMD方式工作,主要用于大量高速向量或矩阵运算等领域。




 

Feedback

# re: 计算机体系结构基础知识  回复  更多评论   

2008-01-02 20:14 by 秦歌
顶!

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理