计算机组成原理(第二版)清华大学出版社2020年2月11日第1页第10章计算机系统结构三两草计算机组成原理(第二版)清华大学出版社教学目标教学重点教学过程计算机组成原理(第二版)清华大学出版社2020年2月11日第2页教学目标了解计算机系统的发展方向了解新一代的计算机系统计算机组成原理(第二版)清华大学出版社2020年2月11日第3页教学重点计算机系统基本概念阵列处理机和多处理机系统精简指令系统计算机计算机组成原理(第二版)清华大学出版社2020年2月11日第4页教学过程10.1计算机系统基本概念10.2向量处理机10.3阵列处理机和多处理机系统10.4精简指令系统计算机(RISC)10.5超级标量、超级流水线及处理机10.6微型计算机10.7新一代计算机10.8例题解析计算机组成原理(第二版)清华大学出版社2020年2月11日第5页10.1计算机系统基本知识10.1.1计算机系统结构的定义10.1.2计算机组成与实现10.1.3计算机系统的分类10.1.4如何提高计算机系统的运算速度10.1.5开放系统计算机组成原理(第二版)清华大学出版社2020年2月11日第6页10.1.1计算机系统结构的定义计算机系统由硬件和软件组成。1964年Amdahl提出计算机系统结构概念:程序设计者看到的一个计算机系统的属性,即概念性结构和功能特性。按照计算机层次结构,不同程序设计者所看到的计算机有不同的属性。使用高级语言的程序员所看到的计算机属性主要是软件子系统和固件子系统的属性,包括程序语言以及操作系统、数据库管理系统、网络软件等用户界面。计算机组成原理(第二版)清华大学出版社2020年2月11日第7页10.1.2计算机组成与实现计算机组成的任务是在计算机系统结构确定分配给硬件子系统的功能及其概念结构之后,研究各种组成部分的内部构造和相互联系,以实现机器指令级的各种功能和特性。这种相互联系包括每个功能部件的配制、相互连接和相互作用。计算机实现是指计算机组成的物理实现。包括处理机、主存等部件的物理结构,器件的集成度和速度,信号传输,器件、模块、插件、底板的划分与连接,专用器件的设计,电源、冷却、装配等技术以及有关的制造级数和工艺等。计算机组成原理(第二版)清华大学出版社2020年2月11日第8页10.1.3计算机系统的分类(1/2)一般采用1966年弗林(Flynn)根据指令流和数据流数量进行分类的方法。定义如下:–指令流(InstructionStream):是机器执行的指令序列;–数据流(DataStream):是由指令流调用的数据序列,包括输入数据和中间结果;–多重性(Multiplicity):在系统最受限制的元件上,同时处于同一执行阶段的指令或数据的最大可能个数。计算机组成原理(第二版)清华大学出版社2020年2月11日第9页10.1.3计算机系统的分类(2/2)按照指令流和数据流的不同组织方式、多重性,将计算机系统分成四类:单指令流单数据流(SISD)计算机系统最常用的串行计算机,通常由一个处理器和一个存储器组成。每次执行一条指令,每次从存储器取(或存)一个数据单指令流多数据流(SIMD)计算机系统具有多个处理单元,所有处理单元执行同一条指令,多指令流单数据流(MISD)计算机系统有N个处理单元,按N条不同指令的要求对同一个数据进行不同的处理,多指令流多数据流(MIMD)计算机系统由多台处理器和多个存储器成,并有一个互连网络实现各处理器和各存储器之间的通信。计算机组成原理(第二版)清华大学出版社2020年2月11日第10页10.1.4如何提高计算机系统的运算速度从两个方面考虑提高计算机系统的运算速度:(1)微电子技术的发展和器件工艺的改进是提高集成度、提高工作频率的基础。计算机系统的发展又为微电子技术的发展带来更好的机遇;(2)CPU速度提高后,应注意内存存取速度的提高,通道速度的提高,采用DMA技术等,这些部件都与计算机系统的运算速度密切相关。计算机组成原理(第二版)清华大学出版社2020年2月11日第11页改进单机系统的系统结构的主要方法(1)CPU和输入输出设备并行工作,以减少CPU等待和空闲时间;(2)采用多个通用寄存器来暂存运算的中间结果,减少访问存储器次数;(3)采用多体交叉存储器和Cache,协调CPU和存储器之间的速度匹配;(4)操作重叠的流水线方式。计算机组成原理(第二版)清华大学出版社2020年2月11日第12页10.1.5开放系统遵循国际标准接口,使得计算机系统之间有“可移植性”和“互操作性”。可移植性是指将操作系统或应用软件放在不同厂家的各种不同型号的计算机上使用。互操作性是指不同厂家在不同平台上开发的多种应用软件通过网络共享数据和协同工作的能力。计算机组成原理(第二版)清华大学出版社2020年2月11日第13页10.2向量处理机向量处理机有巨型计算机和向量协处理机两种类型。巨型计算机能对巨大的数组进行浮点运算,同时它还是一种可以进行标量计算和一般数据处理的通用计算机。向量协处理机专门用于向量计算,它不是一台独立的计算机,需要与通用计算机配合使用。计算机组成原理(第二版)清华大学出版社2020年2月11日第14页10.3阵列处理机和多处理机系统10.3.1并行性概念10.3.2阵列处理机系统10.3.3多处理机系统计算机组成原理(第二版)清华大学出版社2020年2月11日第15页10.3.1并行性包含两方面含义:(1)同时性(Simultaneity):指两个或两个以上事件在同一时刻发生;(2)并发性(Concurrency):指两个或两个以上事件在同一时间间隔内发生。并行性主要表现为时间重叠、资源重复和资源共享。(1)时间重叠多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得时间。(2)资源重复通过重复地设置硬件资源以大幅度提高计算机系统的性能,即以数量取胜的原则。(3)资源共享多个用户按一定时间顺序轮流使用同一套硬件设备。计算机组成原理(第二版)清华大学出版社2020年2月11日第16页10.3.2阵列处理机系统阵列处理机是通过资源重复的技术途径实现并行处理,是以大量相同的处理单元按规则的几何形状排列成阵列而得名的。根据存储器的不同组成形式,有分布存储器与共享存储器两种阵列处理机结构。计算机组成原理(第二版)清华大学出版社2020年2月11日第17页分布存储器阵列处理机图10-3阵列处理机结构ICNPEM0PEM1PEMNPENPE1PE0CU键盘I/O接口I/O设备SC(a)分布存储器系统计算机组成原理(第二版)清华大学出版社2020年2月11日第18页共享存储器阵列处理机(b)共享存储器系统ICNM0M1MNPENPE1PE0CU键盘I/O接口I/O设备SC计算机组成原理(第二版)清华大学出版社2020年2月11日第19页10.3.3多处理机系统多处理机系统是由多台处理机组成的系统,每台处理机都有自己的控制部件,可以执行独立的程序,共享一个公共的存储器和所有外部设备。属于多指令流多数据流(MIMD)计算机,特点:(1)结构灵活;(2)程序并行性(3)并行任务的派生(4)进程同步(5)资源分配和进程调度计算机组成原理(第二版)清华大学出版社2020年2月11日第20页10.4精简指令系统计算机10.4.1RISC的发展背景10.4.2RISC的特点10.4.3RISC的组织结构计算机组成原理(第二版)清华大学出版社2020年2月11日第21页10.4.1RISC的发展背景精简指令系统计算机(ReducedInstructionSetComputer)1982年美国加州大学伯克莱分校研制成功RISCⅠ和RISCⅡ,与斯坦福大学的MIPS机一起拉开RISC技术的序幕。VLSI技术的发展,使得计算机系统中的硬件成本不断下降,软件成本不断上升,人们开始在指令系统中增加更多的指令和复杂的指令,以适应不同应用领域的需要,并考虑尽量缩短指令系统与高级语言的语义差异,以便于高级语言程序的编译和降低软件成本。计算机组成原理(第二版)清华大学出版社2020年2月11日第22页10.4.2精简指令系统计算机的特点(1/3)精简指令系统计算机通过简化指令使计算机的结构更加简单合理,从而提高运算速度,也称为RICC(ReducedInstructionCountComputer)。大部分RISC机具有以下特点:(1)流水线结构使RISC正常指令在一个机器周期内完成(2)多级Cache存储器结构,RISC仅在存/取数指令才访问内存,通过Cache与CPU的寄存器进行高速运算。(3)对称处理技术,把几个RISC处理器集中在一个芯片上,增强多处理功能。(4)指令长度固定,指令格式种类少,寻址方式种类少。(5)指令系统设计时选择一些使用频率较高的简单指令和一些有用但不复杂的指令。指令的条数不超过150条。计算机组成原理(第二版)清华大学出版社2020年2月11日第23页10.4.2精简指令系统计算机的特点(2/3)(6)只有取数/存数指令访问存储器,其余指令的操作都在寄存器之间进行。(7)CPU中通用寄存器数量相当多,可以减少访存(存/取数据)次数。(8)以硬布线控制逻辑为主,不用或少用微码控制。(9)采用优化的编译程序,力求有效地支持高级语言程序。计算机组成原理(第二版)清华大学出版社2020年2月11日第24页10.4.2精简指令系统计算机的特点(3/3)RISC的优点:(1)可以充分利用VLSI芯片面积(2)可以提高计算机运算速度(3)设计容易,可降低成本,提高可靠性(4)能有效支持高级语言程序计算机组成原理(第二版)清华大学出版社2020年2月11日第25页10.4.3RISC的组织结构当RISC的指令系统确定后,为提高其运算速度,在硬件结构设计方面要尽量满足大多数指令能在一个机器周期内完成的要求,并尽可能缩短机器周期时间。可采用如下措施:CPU中设置多个寄存器;采用高速缓存技术,构成三级存储体系;采用高速高效流水线组织;采用硬件控制逻辑。计算机组成原理(第二版)清华大学出版社2020年2月11日第26页10.5超级标量、超级流水线处理机10.5.1超级标量处理机10.5.2超级流水线处理机10.5.3超长指令字处理机计算机组成原理(第二版)清华大学出版社2020年2月11日第27页10.5.1超级标量处理机超级标量处理机(Superscalar)中配置了多个功能部件和指令译码电路,采取了多条流水线,还有多个寄存器端口和总线,因此可以同时从存储器中取出几条指令,以并行处理来提高机器的速度,对这几条指令进行译码,把能够并行执行的指令同时送入不同的功能部件。例如Intel80960A配置三条流水线,分别执行整数运算、转移处理和访存操作,能同时对四条指令进行译码,但最多将3条能并行执行的指令分别送入3条流水线。超级标量机的硬件是不能重新安排指令的前后次序的,但可以在编译程序时采取优化的办法对指令的执行次序进行精心安排,把能并行执行的指令搭配起来。例如,IBM公司推出的POWERR6000处理器,1992年Sun/TI(德州仪器公司)推出SuperSPARC芯片(Viking),以上这些芯片都采用了超级标量技术。计算机组成原理(第二版)清华大学出版社2020年2月11日第28页10.5.2超级流水线处理机流水线技术的基本思想是时间重叠,将处理过程分解成各个专用的功能段,而不是要求每段在空间上重复,所使用的设备相对较少。流水线的各段是由时钟脉冲来进行同步的,各段的信息是顺段流动的,控制相对比较简单。计算机组成原理(第二版)清华大学出版社2020年2月11日第29页10.5.3超长指令字处理机超长指令字的英文缩写是VLIW,是一种单指令流多操作码多数据的系统结构。编译程序在编译时,把多个能并行执行的操作组合在一起,称为一条有多个操作段的超长指令。由这条超长指