计算机组成原理与系统结构第1章计算机组成与系统结构概述本章主要内容:•本章将讲述计算机发展、计算机系统构成、计算机组成、计算机实现和计算机系统结构等概念;同时介绍计算机系统结构的分类、计算机系统的性能评价等内容。重点掌握计算机系统结构的层次结构、计算机系统结构的分类和计算机系统的性能评价标准等。1.1计算机系统概念1.2计算机系统的层次结构1.3计算机系统组成1.4计算机系统结构的分类1.5计算机系统结构的评价1.6计算机系统结构的发展1.1计算机系统概念1.1.1计算机的产生与发展世界上第一台电子计算机诞生于1946年,是由美国宾西法尼亚大学摩尔学院机电系莫克利(J.Mauchly)教授及其同事们共同研制成功的,称为电子数字积分器和计算机(ElectronicNumericalIntegratorAndComputer,ENIAC)。•1.机械计算时代(1642~1945年)机械式•2.第一代电子计算机(1946年至20世纪50年代末期)电子管•3.第二代计算机(20世纪50年代末期至60年代中期)晶体管•4.第三代计算机(20世纪60年代中期至70年代初期)SSI和MSI•5.第三代以后的计算机(20世纪70年代初开始)LSI和VLSI1.1.2计算机的应用•1.科学计算•2.数据处理•3.实时控制•4.计算机辅助设计(CAD)/计算机辅助制造(CAM)/计算机集成制造系统•5.计算机信息管理1.1.3计算机系统结构、计算机组成和计算机实现•1.计算机系统结构计算机体系结构,其英文为“CompuerArchitecture”主要研究计算机系统的设计。•2.计算机组成计算机组成是指计算机系统结构的逻辑实现。•3.计算机实现计算机实现是指计算机组成的物理实现。1.2计算机系统的层次结构计算机系统由硬件和软件构成,如果以硬件为核心,计算机系统可以用图1-1表示。用户软件硬件图1-1计算机硬件、软件和用户微处理器核心硬件计算机操作系统机器语言汇编语言高级语言应用程序逻辑工艺设计者结构与接口设计者系统操作员机器语言程序员汇编语言程序员高级语言程序员用户图1-2计算机系统的层次结构图1-2描述了计算机的层次结构。1.3计算机系统组成CPU内部也由相对独立的几个部分组成,如图1-3所示。控制器算术逻辑部件(ALU)寄存器组主存储器键盘显示器输入输出设备中央处理器(CPU)总线县……图1-3一台简单的计算机硬件组成图1.4计算机系统结构的分类1.4.1弗林分类法按照指令流和数据流的多寡,Flynn将计算机体系结构分成4种类型。(1)单指令流单数据流(SingleInstructionstreamSingleDatastream,SISD)计算机。(2)单指令流多数据流(SingleInstructionstreamMultipleDatastream,SIMD)计算机。(3)多指令流单数据流(MultipleInstructionstreamSingleDatastream,MISD)计算机。(4)多指令流多数据流(MultipleInstructionstreamMultipleDatastream,MIMD)计算机。表1-2计算机系统Flynn分类法指令流数据流名称举例11SISD传统的冯·诺伊曼计算机1多个SIMD超级向量计算机,阵列处理机多个1MISD目前还没有多个多个MIMD多处理器,多计算机下表列出了Flynn分类法以及每种计算机的实例。1.4.2冯氏分类法图1-5所示为冯氏分类法对计算机系统的划分情况,其中的点为一些典型的计算机系统。PEPE(32,288)STARAN(1,256)MPP(1,16384)TI-ASC(64,32)ILLIAC-IV(64,64)IBM370/168(32,1)PDP-11(16,1)Cmmp(16,16)EDVAC(1,1)1638428825664321611163264n(字宽)m(字数)图1-5冯氏分类法及典型计算机系统按照最大并行度的不同,冯氏分类法将计算机系统分为以下4种。(1)字串位串型(WordSerialBitSerial,WSBS):n=1,m=1(2)字串位并型(WordSerialBitParallel,WSBP):n=1,m>1(3)字并位串型(WordParallelBitSerial,WPBS):n>1,m=1(4)字并位并型(WordParallelBitParallel,WPBP):n>1,m>11.4.3海德勒分类法Händler分类法实际上也可以称作Händler表示法,它是对计算机的整体并行度进行的一种表示法。Händler表示法用如下形式表示计算机的结构特征,即t(系统型号)=(k,d,w)。其中,程序控制部件的个数为k,算术逻辑部件或处理部件的个数为d,每个算术逻辑部件包含的基本逻辑线路套数为w。1.5计算机系统结构的评价1.5.1系统运行速度•1.MIPS指计算机系统每秒钟能执行百万条指令的数量。MIPS=指令条数/执行时间•2.MFLOPSMFLOPS是指每秒钟百万次浮点运算数。MFLOPS=程序中的浮点运算次数/运行时间•3.标准程序测试法(1)基准测试程序SystemPerformanceEvaluationCorporation(2)整数测试程序:Dhrystone(3)浮点测试程序:Linpack(4)Whetstone基准测试程序(5)TPC基准程序TransactionProcessingCouncil(事务处理委员会)加速比是系统性能指标评价的另一个指标,系统加速比有时也称为Amdahl定律。Amdahl是这样对系统加速比定义的:Sn=T0/TnT0是指系统没有改进以前运行程序所用的时间;Tn是系统采用了改进措施以后运行程序所用的时间。也可以将加速比描述为系统改进后运行程序的速度与未采用改进措施前运行程序速度的比值。1.5.2加速比Amdahl在考察系统加速比时引入两个重要的指标,即可改进比Fe和部件加速比Se。可改进比Fe是指在系统中可改进部分占系统整体的百分数,因此0<Fe<1;部件加速比Se是指改进部分采用改进措施以后比没有采用改进措施以前性能提高的倍数,可见Se>1。这样Tn=(1−Fe)T0+Fe/SeT0=(1−Fe+Fe/Se)T0将上式代入加速比的定义中,可得:nTT0=eeeSFF/11Sn=可见,加速比Sn的大小只与Fe和Se有关,只要Fe不为0且Se大于1,得到的Sn一定大于1,也就是说,只要对系统中某部件进行了改进,总会对全系统的性能提升有好处。从上式可以看出,当Fe→1时,Sn→Se。即,当可改进比接近于1时,也就是说整个系统可以像一个部件一样改进,则系统加速比就等于部件加速比。当系统中有多个部件可以改进时,Amdahl定律可以扩展为如下形式:Sn=(i=1,2…m)mieieimieiSFF11)/(11其中m为系统中可改进的部件数量。利用Amdahl定律可以知道,某一部件的改进,使整个系统的性能能提高多少。同时也可以由此得出系统的最佳配置,以保证系统设计时部件的改进在某种应用中获得更好的性能价格比。例1.1设系统中某部件采用改进措施后运行速度是原来的10倍,而该部件的原运行时间占整个系统运行时间的40%,那么,采用改进措施后会对整个系统的性能提高多少?解:由题意可知,Fe=40%=0.4,Se=10依据Amdahl定律,得Sn===1.5625即,采用改进措施后,系统可以提升速度为原来的1.5625倍。eeeSFF/1110/4.04.0111.5.3CPU性能表征CPU性能的主要标志:一是CPU的能力;二是CPU的速度。CPU的能力是通过硬件连接能力和系统管理能力来体现的。CPU的速度主要通过主时钟、指令时钟数来衡量。•1.主时钟•2.CPU性能公式程序的执行时间称为CPU时间,即:CPU时间=时钟周期数/时钟频率程序执行过程中所使用的指令数,记为IC,则:CPI=总时钟周期数/IC程序执行的CPU时间就可以表示为:CPU时间=CPI×IC/时钟频率=CPI×IC×时钟周期数这个公式就是通常所称的CPU性能公式。作为衡量CPU运行速度的指标CPI,通常是一种概率统计的结果。设通过对许多程序的统计,得知第i类指令的使用频率是Pi,而执行该类指令所需的时钟周期为CPIi,而全部指令的类别数为n,则该处理机的统计平均CPI就为CPI==其中的ICi为第i类指令的指令条数。niiiPCPI1)(niiiICICCPI1)(1.5.4系统的性能价格比为了更好地降低系统的生产成本,系统设计者应该考虑如下的问题:(1)对于生产批量不大的系统,应尽量采用成熟的通用元器件,譬如使用市场上最常见的微处理器、存储器芯片。(2)充分利用成熟的技术,采用标准化设计。(3)考虑系统的继承性和合理的体系结构。1.6计算机系统结构的发展1.6.1冯·诺依曼机系统结构的演变1.6.2软件、应用和器件对系统结构的影响•1.软件对系统结构的影响•2.应用对系统结构的影响•3.VLSI对系统结构的影响1.6.3系统结构中并行性的发展并行性的实现方法有以下3种:(1)时间重叠——从时间上体现并行性,同一时间段内执行多个任务。(2)资源重复——从空间上体现并行性,几个任务同时使用同一空间。(3)资源共享——从并发性上体现并行性。并行性的发展从单机和多机两个方面考虑问题。从单机的角度讲,考虑使用流水线技术、多道程序、分时操作系统等技术实现系统并行性;从多机系统来讲,可以使用松耦合系统、专用外围处理机、专用语言处理机、异构型多处理机系统等形式构成多计算机系统。