您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 计算机系统结构第一章
计算机体系结构第一章计算机体系结构设计基础1.1计算机体系结构的含义和计算机系统分类电子数字计算机自1946年问世至今,在半个多世纪里,计算机系统的性能有了大幅度的提高。究其原因:一是制造计算机用的元器件的不断改进和发展,使元器件的工作速度、功能、集成度和可靠性等指标不断提高。二是得益于计算机体系结构设计的不断改进,事实说明这是提高计算机系统性能的极为重要的因素。研究计算机体系结构对计算机系统的设计和应用都有重要意义。1.1.1计算机体系结构的含义1.1.1.1计算机系统的层次结构计算机系统由两大部分组成:·硬件是指有形的计算机物理设备,如cpu处理器、存储器、输入和输出设备。硬件是计算机系统的基础。·软件这是指在计算机物理设备上运行的程序及文档,如操作系统、编译程序和应用程序等。软件起发挥计算机系统效能的作用。此外,可以把硬件和软件相结合而成为计算机系统的组成部分,把它称为固件。·固件这是将软件嵌入到只读存储器芯片中构成,实际应用中固件作为硬件的组成部分。由此,计算机系统也可以说成是由软件、硬件/固件组成的系统。从使用语言的角度,可以把计算机系统按功能划分为多层次结构,如下图所示。应用软件应用语言虚拟机高级语言级虚拟机系统软件汇编语言虚拟机操作系统级虚拟机硬件传统机器物理机器固件微程序机器在上述层次结构中,电子线路以上各级都提供相应的语言,构成各级的机器。传统机器级就是计算机系统的硬件,在它之上建立的各级机器是由软件实现的,称虚拟机,他们构成了系统的软件。传统机器级是实际的物理机器,它可以建立在固件级,即微程序机器上,也可以直接建立在电子线路级上。前者,传统机器由微程序解释实现,后者则是硬件直接执行。计算机系统的软件和硬件各自承担着相应的功能,但它们之间却有如下的关系:(1)硬件和软件在逻辑功能上等效的,即绝大部分硬件功能都可以用软件实现,反之亦然。但两者实现时,在性能价格比和实现的难易程度上并不一致。由此,提出了在系统设计时软件和硬件功能如何分配的问题?对此有:(2)具有相同功能的计算机系统,它们的软件和硬件之间的功能分配可以在很宽的范围内变化,软件和硬件的交界面没有明确固定的界线,是随各种因素的影响在一定范围内动态地调整。功能比例软件仅有必须目前软硬不可编程的硬件件分配软件硬件应用语言级高级语言级汇编语言级操作系统级传统机器级微程序机器级电子线路总的趋势是硬件功能实现将增大。分析计算机系统的多层次结构,有助于理解软件、硬件和固件在计算机系统中的地位和作用,同时也进一步推动计算机体系结构的发展。1·1·1·2计算机体系结构计算机体系结构译自英文ComputerArchitecture最初于上世纪60年代提出这一概念。它被解释为:程序员看到的计算机属性,即计算机的概念性结构和功能特性按此解释,对多层次结构的计算机系统提出了如下几个问题:(1)对同一台机器,不同机器级的程序员看到不同的计算机属性;例如:在传统机器级看到的是该机指令系统等的功能特性,在高级语言级看到的是该机配置的高级语言的功能特性。(2)高层次级的程序员看不到低层次级机器的属性;例如:高级语言程序员看不到传统机器级的计算机属性。(3)对不同的两台机器,各机器级程序员各自看到的计算机属性可能相同,也可能不同。例如:汇编语言程序员看到的是两台属性完全不同的计算机,高级语言程序员(两台机器有相同的高级语言)看到的是两台属性完全相同的计算机。由此,引出计算机中的透明性概念(Transparency):一种本来存在的有差异的事物或属性,从某种角度来看似乎不再存在。例如高级语言程序员看不到两台机器的差别。上述讨论提出了如下问题:计算机体系结构概念指的是哪一机器级程序员看到的计算机属性?比较一致的看法是:计算机体系结构概念是指传统机器级的机器语言程序员或编译程序编写者所看到的计算机属性。这是机器语言程序员或编译程序编写者为其编写、生成和设计的程序能在机器上正确运行所必须遵循的属性和特征。所以,计算机体系结构指的是传统机器级的体系结构。在传统机器上的功能属于软件功能,而在其之下的则属于硬件和固件功能,因此计算机体系结构实质上是计算机系统中软件、硬件之间的界面。软硬件界面对于通用机,计算机体系结构的属性,即软硬件界面主要包括:(1)指令系统。反映了机器指令的类型和形式、指令间排序和控制机构;(2)数据表示。反映了能由硬件直接识别和处理的数据类型和指令;(3)操作数的寻址方式。反映了系统能寻址的最小单位(寻址单位)、寻址方式和表示;(4)寄存器的构成定义。反映了通用寄存器和专用寄存器的数量、定义和使用方式;(5)中断机构和例外条件。表示中断的类型、分级和中断响应的硬件功能以及例外条件;(6)存储体系和管理。包括主储器、编址方式和最大编址空间;(7)I/O结构。包括I/O设备的连接方式,处理机、存储器与I/O设备间的数据传递方式和格式,传递的数据量及传递操作结束的表示与出错指示等;(8)机器工作状态的定义和切换。如系统态、管理态和目态等;(9)信息保护。包括保护方式及有关的硬件支持等。上述属性实际上是计算机系统的外特性(所以也称计算机体系结构外特性),它反映了系统的功能。计算机系统设计者的任务就是将这些功能从逻辑上和物理上加以实现。由此,引出两个与计算机体系结构相关的概念:计算机组成计算机实现1.1.1.3计算机组成与实现计算机体系结构功能(软件人员看到的系统基本属性)的逻辑实现称计算机组成。它是计算机系统设计人员看到软件硬件的基本属性(也称计算机体系结构内特性),其内容主要包括:·机器内的数据流和控制流的组织;·CPU内部及主存等部件的逻辑设计;·机器级内各事件的排序方式与控制机构;·各部件的功能以及各部件间的联系等。总之,逻辑实现关心的主要问题是如何合理实现分配给硬件的功能和性能指标。计算机实现是指计算机组成的物理实现。内容主要包括:·处理机、主存等部件的物理结构;·器件的集成度和速度的确定;·器件、模快、扦件、底板的划分与连结;·微组装及整机装配技术;·专用器件设计;·信号传输、电源、冷却方法等。计算机体系结构、组成和实现三者是不同的概念,但彼此又是相互联系的。例1指令系统指令系统的确定属体系结构;指令的解释实现属组成(内特性),如:·取指、译码、取数、运算、存结果等操作及排序;·指令按顺序方式或按重叠或流水方式执行;·采用硬联控制或微程序控制。完成上述功能的具体电路器件设计及装配技术等属实现。例2主存储器、主存容量与编与编址方式主存储器、主存容量与编址方式的确定属体系结构;主存速度、带宽、采用单体或多模块交叉存储等属组成;选择存储芯片构成和组装成存储器属实现。计算机体系结构是计算机组成设计的依据,相互间是一对多的关系。同样,计算机组成是计算机实现的依据,两者也是一对多的关系。1·1·1·4微体系结构这是指微程序机器级(固件)的体系结构,它是微程序编写者所看到的计算机属性。如同机器语言程序员看到传统机器级的计算机属性。1·1·2计算机系统结构的分类计算机体系结构设计的不断改进,产生了多种类型和多种结构的计算机系统。为了有助于了解各类系统的演变和它们的基本属性,并深化对某些特定系统的认识,以启发对新体系结构的探索途径,有必要研究计算机系统分类。1·1·2·1按“流”分类计算机基本的工作过程是执行一串指令并对一组数据进行处理。据此,在1966年MchaelJ.Flynn提出了按指令流和数据的多倍性概念进行分类的方法。通常称Flynn分类法,这是目前最为流行的计算机系统分类法。这里有三个概念:指令流机器执行的指令序列数据流指令流调用的数据序列(包括输入数据和中间结果)多倍性在机器最受限制的(即瓶径最严重的)部件上处在同一执行阶段的可并行执行的最多指令或数据个数。按指令流和数据流两者的组合可将计算机系统划分成四类:单指令流单数据流(SISD)单指令流多数据流(SIMD)多指令流单数据流(MISD)多指令流多数据流(MIMD)(1)单指令流单数据流(SISD)ISSMCUCSDS(a)SISD计算机结构:单个控制部件,单个处理部件。存储器可以是单模块或多模块。操作:每次只对一条指令译码,并只对一个操作部件分配数据进行处理。传统单处理属于这一类。(2)单指令流多数据流(SIMD)SMDS1mCSDS2DSnIS(b)SIMD计算机CUPUMMCuPu2Pu1PunMm1Mm2Mmn结构:单个控制部件,多个相同的处理单元,共享主存储器。操作:由单一指令部件控制,各处理单元同步地对分配给它们的不同数据进行操作。SIMD的典型代表是并行处理机(阵列机)(3)多指令流单数据流(MISD)DSCS1SMCS2CSnPDSISnIS2IS1(c)MISD计算机结构:多个控制部件,多个操作部件,共享主存储器。操作:按不同指令的要求对同一数据流及中间结果进行不同的外理,一个处理单元的输出为另一个处理单元的输入。属MISD的计算机实际上并不存在,因为它要求系统在指令级上并行,而数据级上又不并行,这不太现实。但现在也有学者认为超级标量机以及超长指令计算机(VLIW)、脉动阵列计算机与退耦(Decoupled)计算机等都可以归入这一类型。(4)多指令流多数据流(MIMD)SMCS1DS1CS2DS2、CSnDSnISnIS2IS1(d)MIMD计算机Pu1Cu1CU1PU1Mm1Cu2CunPu2PunCu1M2M111MnCU2CunPU2PunMm2Mmn结构:多个控制件,多个并行处理部件,共享主存储器。操作:控制部件按各自指令的要求,控制各处理单元分别对各自的数据进行操作。大多数多处理机及多计算机系统属MIMD。可分为共享主存储器的紧耦合MIMD系统和不直接共享主存的松耦合MIMD系统。FLYnn分数法的一个缺点是,对于广泛流行的标量及向量流水计算机应属于哪一类系统不很明确。目前,一般将标量流水视为SISD类型,而把向量流水视为SIMD类型。1.1.2.2按“并行级”和“流水线”分类1977年Händler提出了一个在计算机系统中的三个子系统级别上按并行程度及流水线处理程度进行分类的方法。三个子系统是:处理控制器(PCU)(相当于一个处理机或CPU)算逻部件(ALU)(相当于一个功能部件或阵列机中的一个处理单元PE)位级电路(BLC)(相当于ALU中进行一位运算所需的组合逻辑电路)这样一个计算机系统用三对整数来描述:T(C)=(K×Kˊ,D×Dˊ,W×Wˊ)其中K=计算机中的处理控制器数(PCU)Kˊ=可组成流水的处理控制器数D=每个PCU所控制的ALU(或PE)数Dˊ=可组成流水线的ALU数W=ALU或PE的字长Wˊ=在所有ALU或一个PE中的流水线段数如果任意一对参数的第二个元素值为1则可省略不写。例1.CDC6600计算机系统有一个CPU,它的ALU有10个功能部件,所有的功能部件可连成一条流水线,字长为60位。此外,有10个可并行工作的外围I/O处理器,每个I/O处理器字长12位,只有一个ALU。CDC6600系统可描述为:T(CDC6600)=T中央处理器×TI/O处理器=1,1×10,60×10,1,12例2.CRAY-1计算机系统有一个CPU,12个流水化功能部件,其流水线段数为1-10段,最多可将8个功能部件连接成一条流水线,它的字长为64位。CRAY-1系统可描述为:T(CRAY-1)=1,12×8,64×(1-10)此外,还有其他多种分类法。如按系统的功能和规模可把计算机系统分成6种类型:个人计算机(PersonalComputer)工作站(Workstation)小型计算机(Minicomputer)主体机(Mainframe)小巨型机(Minisupercomputer)巨型机(Supercomputer)1.1.2.3计算机体系结构风格这是指依照一些合理的、已有确切说明的风格来描述计算机体系结构,例如:面向堆栈的体系结构,面向对象的体系结构,面向寄存器的体系结构。1.2计算机系统的设计准则1.2.1计算机系统设计的定量原理这是指对计算机系统的
本文标题:计算机系统结构第一章
链接地址:https://www.777doc.com/doc-2100847 .html