您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 计算机体系结构课件第1章
计算机系统结构武汉工业学院计算机系课程简介课程名称:ComputerArchitecture计算机系统结构,也称计算机体系结构建筑物的设计或式样,通常指一个系统的外貌研究内容:从外部来研究计算机系统使用者所看到的物理计算机的抽象为编写出能够在机器上正确运行的程序所必须了解到的计算机属性第1章计算机系统结构的基本概念本章要回答的问题是:什么是“计算机系统结构”?研究的主要问题是什么?与其他课程的关系如何?1.1计算机系统结构虚拟计算机:从不同角度所看到的计算机系统属性是不同的主要观察者:应用程序员、高级语言程序员、汇编语言程序员、系统管理员、硬件设计人员对计算机系统的认识应该建立在某一个层次上1计算机系统的层次结构计算机层次结构共分为7级:第六级:应用程序第五级:高级语言计算机第四级:汇编语言计算机第三级:操作系统第二级:机器语言计算机第一级:微程序控制第0级:硬联逻辑应用软件系统软件硬件用户高级程序员汇编语言程序员系统员机器语言设计员逻辑设计员硬件设计、维护员透明性:定义:本来存在的事物或属性,从某种角度看似乎不存在例:CPU类型、型号、主存储器容量等对应用程序员透明对系统程序员、硬件设计人员等不透明例:浮点数表示、乘法指令对高级语言程序员、应用程序员透明对汇编语言程序员、机器语言程序员不透明例:数据总线宽度、微程序对汇编语言程序员、机器语言程序员透明对硬件设计人员、计算机维修人员不透明2计算机系统结构的定义计算机系统结构定义:定义1Amdahl(阿姆达尔)的定义程序员所看到的计算机系统的属性,即概念性结构和功能特性程序员:汇编语言、机器语言、编译程序、操作系统看到的:编写出能在机器上正确运行的程序所必须了解到的。定义2由软件或硬件来实现某功能的界面来确定基本观念:计算机系统由软件、硬件和固件组成,它们在功能上是同等的。同一种功能可以用硬件实现,也可以用软件或固件实现。但他们的系统结构是相同的。基本问题:不同的组成将导致不同的性能和价格系列计算机概念:相同系统结构,不同组成和实现的一系列计算机系统3计算机组成与实现计算机组成(ComputerOrganization)内容:计算机系统结构的逻辑实现。如:确定数据通路的宽度;各种操作对功能部件的共享程度;专用的功能部件;功能部件的并行度;设计缓冲和排队策略;设计控制机构;采用何种可靠性确定技术计算机实现内容:计算机组成的物理实现。处理机、主存储器等部件的物理结构。如:器件的集成度和速度;专用器件的设计;器件、模块、插件、底版的划分与连接;信号传输技术;制造工艺及技术等通常分类4计算机系统结构的分类(1)按性价比划分以性能为特征,按价格来划分:巨型、大型、中型、小型、微型机。问题:划分的标准是随时间而变化,每5年左右降低一个等级。(2)按应用领域划分科学计算、事务处理、实时控制、工作站、服务器、家用计算机等。(3)按应用领域划分单处理机、并行处理机、多处理机、分布处理机、关联处理机、超标量处理机、超流水线处理机、SMP(对称多处理机)、MPP(大规模并行处理机)、机群(Cluster)系统等。Flynn(弗林)分类法基本思想:按照指令流和数据流的多倍性特征进行分类指令流:机器执行的指令序列。数据流:由指令流调用的数据序列。多倍性(multiplicity):在系统性能瓶颈部件上同时处于同一执行阶段的指令或数据的最大可能个数。四种类型:单指令流单数据流SISD单指令流多数据流SIMD多指令流单数据流MISD多指令流多数据流MIMDFlynn(弗林)分类法(续)CUPUMMDSIS(1)单指令流单数据流SISDCU—控制部件PU—处理部件MM—存储器模块IS—指令流DS—数据流顺序处理计算Flynn(弗林)分类法(续)CUPUDS1ISPUDS2DSnPU…MMMM(2)单指令流多数据流SIMD处理部件并行工作Flynn(弗林)分类法(续)(3)多指令流单数据流MISD控制部件和处理部件均并行工作,单数据流DSIS2PU2PU1PUn…MMMMCU2IS1CU1ISnCUn…DSFlynn(弗林)分类法(续)(4)多指令流多数据流MIMDIS2PU2PU1PUn…MMMMCU2IS1CU1ISnCUn…DS2DS1DSn…IS1IS2ISn控制部件和处理部件均并行工作,多数据流Flynn分类法的特点(1)应用广泛(2)分类太粗在SIMD中包括有多种处理机对流水线处理机的划分不明确,标量流水线为SISD,向量流水线为SIMD(3)根本问题是把两个不同等级的功能并列对待,数据流受指令流控制,造成MISD不存在(4)非冯计算机的分类?其他新型计算机的分类冯泽云分类法基本思想用最大并行度对计算机系统进行分类最大并行度Pm:单位时间内能处理的最大二进制位数。设同时处理的字宽为n,位宽为m,则最大并行度定义为:Pm=m×n平均并行度Pa:设每个时钟周期△ti内能同时处理的二进位数为Pi,则T个时钟周期内的平均并行度为:TtPPaTiii1最大并行度的表示方法:处理机名(m,n)冯泽云分类法(续)按冯泽云分类法,可分为:(1)字串位串(WSBS)串行计算机;m=1,n=1;如:EDVAC(1,1)(2)字并位串(WPBS)传统单处理机;m=1,n1;如:Pentium(32,1)(3)字串位并(WSBP)并行计算机、MPP、相联计算机;m1,n=1;如:MPP(1,16384),STARAN(1,256)(4)字并位并(WPBP)全并行计算机;m1,n1;如:ASC(64,32),IILIACIV(64,64),PEPE(32,288),Cmmp(16,16)主要缺点:仅考虑数据并行,没有考虑指令的并行Handler(汉德勒)分类法基本思想根据并行度和流水线分类把计算机硬件结构分成三个层次,并分别考虑它们的可并行性和流水处理程度:(1)程序级k:程序控制部件(PCU)的个数;(2)操作级d:算术逻辑部件(ALU)或处理部件(PU)的个数;(3)逻辑级w:每个算术逻辑部件包含的逻辑线路(ELC)的套数。表示方法:t(系统型号)=(k,d,w)例:t(EDVAC)=(1,1,1)t(Pentium)=(1,1,32)t(STARAN)=(1,8192,1)t(ILLIACIV)=(1,64,64)t(Cmmp)=(16,1,16)Handler分类法(续)为了表示流水线,采用:t(系统型号)=(k×k′,d×d′,w×w′)其中:k′宏流水线中程序控制部件的个数d′流水线中算术逻辑部件的个数w′流水线中基本逻辑线路的套数例:Cray1:1个CPU,k=1,k′=112个相当于ALU或PE的处理部件,d=12最多8级流水线,d′=8字长为64位,w=64可以实现1~14位流水线,w′=1~14则Cray1表示为:t(Cray1)=(1,12×8,64(1~14))1.2计算机系统的设计技术改善系统结构的性能的主要目标:“快”器件“快”器件的发展会受到器件自身制造工艺的影响,存在极限结构“快”处理:采用并行处理的方式(指令、时间、空间)存储:Cache,存储容量大,可靠性高传输:传输快,准确怎样“快”?经常遇到的问题是:加快经常性事件的速度。1.2.1Amdahl定律——加快经常性事件原理在计算机系统结构中,加快经常性事件的速度原理是普遍原则,Amdahl定律就是用来解决这个问题的。Amdahl定律:系统中某一部件,由于采用某种更快的执行方式后,整个系统性能的提高与这种执行方式的使用频率或占用总执行时间的比例有关,用加速比Sn表示:加速比:Sn=改进后的性能/改进前的性能或:Sn=改进前执行某任务时间/改进前执行某任务时间加速比:Amdahl定律:A:可改进部分C:不可改进部分B:改进后C:不可改进部分T0改进前执行时间改进后:Tn改进后执行时间改进前:定义Fe=A/T0,即可改进部分占的比例,≤1Se=A/B,即改进前后的比例,≥1于是,Amdahl定律写为:SeFeFeTnTSn/)1(10例1.1假设将某系统的某一部件的处理速度加快到10倍,但该部件的原处理时间仅为整个运行时间的40%,则采用加快措施后能使整个系统的性能提高多少?解:已知:Fe=0.4,Se=10,求Sn。依Amdahl定律:56.110/4.04.011Sn分析:尽管将该部件的速度加快了10倍,但整个系统的加速比仅提高了1.56倍。原因:该部件的原处理时间仅为整个运行时间的40%,所占比例不大。可改进部分40%不可改进部分60%1/10不可改进部分60%例1.2求浮点数的平方根(FPSQR),设其占整个时间的20%。方案1:改进硬件,速度加快10倍。方案2:改进FP指令,速度加快2倍。设FP指令占50%解:按方案1已知:Fe=0.4,Se=10,则:可改进部分20%不可改进部分80%1/10不可改进部分80%22.110/2.02.011Sn按方案2可改进部分50%不可改进部分50%1/2不可改进部分50%已知:Fe=0.5,Se=2,则:33.12/5.05.011Sn分析:方案2成本较低,且效果更好。1.2.2CPU的性能公式基本概念CPU时间:一个程序所花的CPU时间,不包括I/O等待时间CPU时钟周期:CPU运行的时钟的周期,是频率的倒数CPU时间=CPU时钟周期数/频率或:CPU时间=CPU时钟周期数×时钟周期长定义:CPI:每条指令执行时所花费的平均时钟周期数IC:程序执行的指令条数CPI=CPU时钟周期数/IC则:CPU时钟周期数=CPI×ICCPU时间=(CPI×IC)/频率(1)CPI——每条指令执行时所花费的平均时钟周期数CPI是评价CPU性能的重要指标例:8088CPI=2080486CPI=2PentiumIICPI=0.3提高CPI的途径:提高CPU频率、减少指令条数。为了计算CPI,要计算CPU时钟周期总数:CPU时钟周期总数niiiICPI1)(而:CPU时间时钟周期长度])([1niiiICPI所以:niiiniiiICICPIICICPICPI01)()(其中:Ii——i指令在程序中执行的次数CPIi——i指令所需的平均时钟周期例1.3(Page11)解:由条件1:改进前的FP操作的比例为25%,CPIFP=4.0,得改进前CPU的CPI为:0.2%)7533.1%254)(0()(原系统niiiICICPICPI25%75%FP操作其他操作CPIFP=4.0CPI其他=1.33CPI原系统=2.023%2%75%改进方案1:将FP中的FPSQR的CPI由原来的20变为2。改进前:FP操作,25%FPSQR操作,CPI=20改进后:CPI原系统=2.023%2%75%FPSQR操作,CPI=2CPI方案1=?CPI方案1=CPI原系统-2%×(CPI老FPSQR-CPI新FPSQR)=2.0-2%(20-2)=1.64计算:改进方案2:提高所有FP的CPI,由原来的4变为2。25%75%改进前:FP操作,CPI=4.0改进后:CPI原系统=2.025%75%CPI方案2=?CPI方案2=CPI原系统-25%×(CPI老FP-CPI新FP)=2.0-25%(4-2)=1.5计算:FP操作,CPI=2.0结论:方案2更有效(2)MIPS——每秒百万指令数MFLOPS——每秒百万浮点数衡量机器性能的唯一可靠的标准就是真正的执行程序的时间,可用如下方法表示:MIPS:millioninstructionspersecond每秒百万条指令数例:PentiumII450的CPI=0.5,计算该处理机的运算速度。解:已知CPI=0.5,f=450MHzMIPS=f×106/CPI=450×106×10-6/0.5=900MIPS666101010CPIfCYCLECPIICICTeICMIPS主要用于标量计算机。MIPS的三个缺陷:a)MIPS依
本文标题:计算机体系结构课件第1章
链接地址:https://www.777doc.com/doc-1718630 .html