计算机系统结构的基本概念_第1页
计算机系统结构的基本概念_第2页
计算机系统结构的基本概念_第3页
计算机系统结构的基本概念_第4页
计算机系统结构的基本概念_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机系统结构的基本概念课程教学目的“计算机系统结构”是计算机科学领域中的一个重要分支。它强调从总体结构、系统分析这一角度来研究计算机系统。通过本书的学习,读者能把在“计算机组成原理”、“数据结构”、“操作系统”、“汇编语言程序设计”等课程中所学的软件与硬件知识有机地结合起来,从而建立有关计算机系统的完整概念。——教材前言第2页,共54页,2024年2月25日,星期天教材张晨曦等.高等教育出版社,2008.6

计算机系统结构JohnL.Hennessy,DavidA.Patterson.中文版:计算机系统结构 --量化研究方法(第三版) 郑纬民汤志忠汪东升译,电子工业出版社英文版:ComputerArchitecture: AQuantitativeApproach,ThirdEdition

机械工业出版社郑纬民汤志忠.清华大学出版社,1998.9

计算机系统结构(第二版)第3页,共54页,2024年2月25日,星期天网站张晨曦的精品课程网站http:///arch/http://www.GotoSCS252HomePage/~cs252/北大微处理器研发中心/WWWComputerArchitecturePage/~arch/www/第4页,共54页,2024年2月25日,星期天第1章计算机系统结构的基本概念计算机系统结构的概念和发展定量分析和性能评测计算机系统结构的并行性

1.1引言计算机技术的高速发展得益于:制造技术和设计创新基于微处理器的系统在整个计算机设计领域占统治地位工作站和个人计算机已经成为计算机工业的主要产品小型机被用微处理器构建的服务器所取代大型机也几乎已经被通用微处理器构成的多处理器代替系统结构的重大转折:从单纯依靠指令级并行转向开发线程级并行和数据级并行第5页,共54页,2024年2月25日,星期天1.2.1计算机系统的层次结构用户级高级语言级汇编语言级系统软件级

机器级控制级数字逻辑级

应用软件

系统软件

软硬件界面物理机虚拟机硬件固件硬件直接执行Level0(门电路、电子线路)Level1(微程序或硬布线)Level2(指令集结构ISA)Level3(操作系统、库代码)Level4(汇编语言代码)Level5(C++,Java,等)Level6(可执行程序)第6页,共54页,2024年2月25日,星期天虚拟虚拟(virtual):利用其他部件实现的本来不存在的事物或属性例如,虚拟机(VM):由软件实现的机器再如,虚拟主存、虚拟磁盘、虚拟现实……从不同角度所看到的计算机系统的属性不同广义语言虚拟计算机VM解释或编译作用对象

观察者第7页,共54页,2024年2月25日,星期天1.2.2计算机系统结构的定义Amdahl(阿姆达尔)于1964年在推出IBM360系列计算机时提出了系统结构的概念: 程序员所看到的计算机系统的属性,即概念性结构和功能特性Thestructureofacomputerthatamachinelanguageprogrammermustunderstandtowriteacorrect(timingindependent)programforthatmachine

[Amdahl,BlaauwandBrookes,1964]第8页,共54页,2024年2月25日,星期天透明透明(transparent):本来存在的事物或属性,从某种角度看似乎不存在例如,浮点数表示、乘法指令:对高级语言程序员、应用程序员是透明的,对汇编语言程序员、机器语言程序员则是不透明的再如,数据总线宽度、微程序:对汇编语言程序员、机器语言程序员是透明的,对硬件设计者、计算机维修人员则是不透明的第9页,共54页,2024年2月25日,星期天软硬件界面assemblercomplierOperatingSystemlibraryISAS/WH/WApplicationH/W:Hardware

硬件S/W:Software

软件ISA:InstructionSetArchitecture指令集结构第10页,共54页,2024年2月25日,星期天1.2.3计算机组成和计算机实现计算机系统结构(Computerarchitecture)计算机系统的软件与硬件的界面--指令系统程序员所看到的计算机属性--外特性计算机组成(Computerorganization)=组织计算机系统结构的逻辑实现计算机实现(Computerimplementation)计算机组成的物理实现计算机系统的结构,组成,实现是三个完全不同的概念,相互间有着十分密切的依赖关系和相互的影响。广义的计算机系统结构即包括经典的指令集结构,也包括计算机组成和实现技术的研究第11页,共54页,2024年2月25日,星期天结构、组成和实现一种系统结构可以有多种组成一种组成可以有多种物理实现是否设置乘方/开方指令逻辑设计1(硬联电路)实现方案1(V1,$1,T1)逻辑设计3(微程序)逻辑设计2(ROM查表)实现方案2(V2,$2,T2)实现方案3(V3,$3,T3)计算机系统结构计算机组成计算机实现是否第12页,共54页,2024年2月25日,星期天1.2.4计算机系统结构的分类Flynn[1966]按照指令流和数据流的多倍性分类单指令流单数据流SISD:顺序处理计算机单指令流多数据流SIMD:多媒体指令和向量计算机多指令流单数据流MISD:尚无商用多指令流多数据流MIMD:多处理机系统指令流:计算机执行的指令序列数据流:由指令流调用的数据序列多倍性:同时处于同一执行阶段的指令或数据的最大数目第13页,共54页,2024年2月25日,星期天1.3.1计算机系统设计的定量原理1.以经常性事件为重点(大概率事件优先原则)对经常发生的情况采用优化的方法加快经常性事件的速度对于最常见事件赋予优先的处理权和资源使用权2.阿姆达尔(Amdahl)定律定义系统性能的加速比(Speedup),用于计算系统中的某个部分进行改进后,系统总体性能可获得多大的提高第14页,共54页,2024年2月25日,星期天加速比-1可改进比例Fe=改进前,可改进部分占原执行时间的比例部件加速比Se=改进后,可改进部分改进后性能提高比第15页,共54页,2024年2月25日,星期天加速比-2改进前改进后未改进比例:1-Fe改进比例:FeFe/Se未改进部分未改进比例:1-Fe第16页,共54页,2024年2月25日,星期天加速比-3当Fe(可改进比例)很小甚至→0时: Sn→1

当Se(部件加速比)很大甚至→∞时:Sn:系统加速比To:采用改进措施前执行该任务所用的时间Tn:采用改进措施后执行该任务所用的时间第17页,共54页,2024年2月25日,星期天例1.1将某一功能的处理速度提高到原来的20倍,该功能的原处理时间仅占整个运行时间的40%,则采用此提高性能的方法后,能使整个系统的性能提高多少?解:由题意可知:Fe=0.4,Se=20根据Amdahl定律,加速比为:第18页,共54页,2024年2月25日,星期天例1.2某计算机系统采用浮点运算部件后,使浮点运算速度提高到原来的20倍,而系统运行某一程序的整体性能提高到原来的5倍,计算该程序中浮点操作所占的比例。解:由题意可知:Se=20,Sn=5根据Amdahl定律:可改进比例Fe=84.2%第19页,共54页,2024年2月25日,星期天3.CPU性能公式第i类指令在总程序中占的比例第20页,共54页,2024年2月25日,星期天CPU性能的影响因素CPU时间=IC×CPI×时钟周期长度CPI时钟周期指令条数IC程序编译程序计算机组织实现技术指令集结构ISA√

第21页,共54页,2024年2月25日,星期天补充例题假设在一般程序中浮点开平方操作FPSQR所占的比例为2%,它的CPI为100;其他浮点操作FP所占的比例为23%,它的CPI=4.0;其余75%指令的CPI=1.33,计算该处理机的CPI。如果FPSQR操作的CPI也为4.0,重新计算CPI。解答:CPI1=100×2%+4×23%+1.33×75%=3.92CPI2=4×25%+1.33×75%=2.00改进了在用户程序中仅占2%的开平方操作,整个机器的等效运算速度提高了近一倍第22页,共54页,2024年2月25日,星期天例1.3-1有两种条件分支指令的设计方案:①CPUA:比较指令设置条件码,条件分支指令测试条件码进行分支②CPUB:条件分支指令包括比较、并进行分支两种方案中,条件分支指令占用2个时钟周期、其他指令占用1个时钟周期。CPUA的条件分支指令占20%,比较指令也占20%。⑴如果CPUA的时钟周期比CPUB快1.25倍,哪个CPU更快?⑵如果CPUA的时钟周期比CPUB快1.1倍,哪个CPU更快?第23页,共54页,2024年2月25日,星期天例1.3-2解答:CPIA=20%×2+80%×1=1.2CPU时间A=ICA×1.2×时钟周期ACPUB没有独立的比较指令:ICB=80%×ICACPUB条件分支指令所占比例:20%÷80%=25%CPIB=25%×2+75%×1=1.25CPU时间B=80%×ICA×1.25×时钟周期B

=ICA×时钟周期B⑴时钟周期B=1.25×时钟周期ACPU时间B=ICA×1.25×时钟周期A

CPU时间A⑵时钟周期B=1.1×时钟周期ACPU时间B=ICA×1.1×时钟周期A

CPU时间A第24页,共54页,2024年2月25日,星期天4.程序的局部性原理

程序的顺序执行和程序的循环等原因,程序往往重复使用它刚刚使用过的数据和指令局部性原理(principleoflocality)

处理器访问存储器时,所访问的存储单元在一段时间内都趋向于一个较小的连续区域中时间局部性:程序即将用到的信息很可能就是目前正在使用的信息(近期被访问的程序,很可能不久又将再次被访问)空间局部性:程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者临近(地址上相邻近的程序可能会被连续的访问)第25页,共54页,2024年2月25日,星期天求平均值函数的局部性longmean(longd[],longnum){longi,temp=0;for(i=0;i<num;i++)temp=temp+d[i];temp=temp/num;return(temp);}时间局部空间局部时间局部和空间局部第26页,共54页,2024年2月25日,星期天1.3.2计算机系统的性能评测最初: 执行单项操作的时间,例如:加法操作时间改进为: 平均指令执行时间=进一步成为容易理解的: 每秒百万条指令(MillionInstructionsPerSecond)

同时出现:

MFLOPS(每秒百万浮点操作)最终形成: 测试程序(Benchmarks)第27页,共54页,2024年2月25日,星期天1.执行时间和吞吐率使用者:减少执行时间(executiontime)程序从开始执行到结束执行所用的时间管理员:增大吞吐率(throughput)=流量单位时间内完成的总任务量衡量性能最可靠的标准:真实程序的执行时间相同的任务,花费的时间越少、速度越快、性能越高,区别在于是单任务(关注执行时间)还是多任务(关注吞吐率)X的速度是Y的n倍:第28页,共54页,2024年2月25日,星期天CPU时间与CPU性能真实程序的执行时间 =CPU时间+I/O操作等时间CPU时间 =用户CPU时间+系统CPU时间CPU性能对应用户CPU时间时间越少,性能越高第29页,共54页,2024年2月25日,星期天2.基准测试程序(benchmark)核心测试程序LivermoreLoops和Linpack小型测试程序Quicksort,Puzzle和Sieve合成测试程序Whetstone和Dhrystone

真实应用程序修正的(或者脚本化)应用程序第30页,共54页,2024年2月25日,星期天基准测试程序组件SPECStandardPerformanceEvaluationCorporationSPEC89→SPEC92→SPEC95→SPEC200012个整数基准程序(CINT2000)14个浮点基准程序(CFP2000)WinBench99andWinstone2004WinBench99:measurestheperformanceofaPC'sgraphics,disk,processor,andvideosubsystemsBusinessWinstone2004:application-basedbenchmarkthatmeasuresaPC'soverallperformance第31页,共54页,2024年2月25日,星期天CINT2000Benchmark Language Descriptions164.gzip C Compression175.vpr C FPGACircuitPlacementandRouting176.gcc C CProgrammingLanguageCompiler181.mcf C CombinatorialOptimization186.crafty C GamePlaying:Chess197.parser C WordProcessing252.eon C++ ComputerVisualization253.perlbmk C PERLProgrammingLanguage254.gap C GroupTheory,Interpreter255.vortex C Object-orientedDatabase256.bzip2 C Compression300.twolf C PlaceandRouteSimulator第32页,共54页,2024年2月25日,星期天CFP2000Benchmark Language Descriptions168.wupwise Fortran77 Physics/QuantumChromodynamics171.swim Fortran77 ShallowWaterModeling172.mgrid Fortran77 Multi-gridSolver:3DPotentialField173.applu Fortran77 Parabolic/EllipticPartialDifferentialEquations177.mesa C 3-DGraphicsLibrary178.galgel Fortran90 ComputationalFluidDynamics179.art C ImageRecognition/NeuralNetworks183.equake C SeismicWavePropagationSimulation187.facerec Fortran90 ImageProcessing:FaceRecognition188.ammp C ComputationalChemistry189.lucas Fortran90 NumberTheory/PrimalityTesting191.fma3d Fortran90 Finite-elementCrashSimulation200.sixtrack Fortran77 HighEnergyNuclearPhysicsAcceleratorDesign301.apsi Fortran77 Meteorology:PollutantDistribution第33页,共54页,2024年2月25日,星期天SPEC示例-1第34页,共54页,2024年2月25日,星期天SPEC示例-2PerformancerelativetoaSunUltra5_10(300MHz)whichisgivenascoreofSPECint2000=SPECfp2000=100第35页,共54页,2024年2月25日,星期天SPEC示例-3第36页,共54页,2024年2月25日,星期天3.性能比较总执行时间加权执行时间(WeightedExecutionTime)规格化执行时间(NormalizedExecutionTime)计算机A计算机B计算机C程序P1(s)11020程序P2(s)100010020总时间(s)100111040第37页,共54页,2024年2月25日,星期天

总执行时间平均总执行时间=算术平均值Ti:第i个测试程序所需的时间第38页,共54页,2024年2月25日,星期天

加权执行时间加权平均执行时间=加权算术平均值Ti:第i个测试程序所需的时间Wi:第i个测试程序所占的比重第39页,共54页,2024年2月25日,星期天

规格化执行时间平均规格化执行时间可以表示成算术平均值Am,也可以表示成几何平均值Gm等时加权:按照一个参考机器进行规格化(归一化),使每个程序在该机器上的执行时间相同第40页,共54页,2024年2月25日,星期天运行程序P1时,A的速度是B的10倍;运行程序P2时,B的速度是A的10倍;运行程序P1时,A的速度是C的20倍;运行程序P2时,C的速度是A的50倍;运行程序P1时,B的速度是C的2倍;运行程序P2时,C的速度是B的5倍。第41页,共54页,2024年2月25日,星期天算术平均:程序P1和P2各执行1次,B的速度是A的9.1倍;程序P1和P2各执行1次,C的速度是A的25倍;程序P1和P2各执行1次,C的速度是B的2.75倍。结论:执行程序P1和P2相同次数,机器A最慢,机器C最快算术平均速度:三台机器的速度之比为:

A:B:C=1:9.1:25第42页,共54页,2024年2月25日,星期天加权算术平均加权算术平均W1三台机器的速度:A<B<C加权算术平均W2三台机器的速度:A<C<B加权算术平均W3三台机器的速度:C<B<A机器A机器B机器C程序P1执行时间(s)程序P2执行时间(s)加权W1(0.5,0.5)加权W2(0.909,0.091)加权W3(0.999,0.001)11000500.50

91.912.001010055.0018.1910.09202020.0020.0020.00第43页,共54页,2024年2月25日,星期天几何平均几何平均值与所参考的机器无关:

机器A与机器B的性能相同,机器C的执行时间是机器A或机器B的0.63倍执行程序P1和P2的总时间:

机器A几乎是机器B的10倍规格化执行时间用A规格化ABC用B规格化ABC用C规格化ABC程序P1程序P2算术平均几何平均总时间比1.010.020.01.00.10.021.05.0510.011.01.00.631.00.110.040.11.02.010.01.00.25.051.01.1

1.01.00.639.11.00.360.050.51.050.05.01.025.032.751.01.581.581.025.032.751.0第44页,共54页,2024年2月25日,星期天1.4计算机系统结构的发展计算机体系结构发展的基础软件和硬件的等效性计算机体系结构发展的目标充分利用硬件技术的发展,使系统达到较高的性能价格比软件和硬件的等效性由软件实现的功能在原理上可以由硬/固件实现软件和硬/固件在性能和成本上是不等效的第45页,共54页,2024年2月25日,星期天1.4.1冯·诺依曼结构ENIAC冯·诺依曼第46页,共54页,2024年2月25日,星期天1.冯·诺依曼结构的特点五大基本部件:存储器、运算器、控制器、输入设备和输出设备。以运算器为中心、由控制器集中控制将程序和数据存放在存储器中,计算机在工作时从存储器取出指令加以执行,自动完成计算任务。这就是“存储程序”和“程序控制”(简称存储程序控制)的概念指令的执行是顺序的,即一般按照指令在存储器中存放的顺序执行,程序分支由转移指令实现采用二进制形式表示数据和指令。指令由操作码和地址码组成第47页,共54页,2024年2月25日,星期天2.对冯·诺依曼结构的改进对输入/输出方式的改进程序控制,DMA,I/O处理机采用并行处理技术操作重叠,并行计算,多机系统存储器组织结构的发展累加器,通用寄存器,高速缓冲Cache指令集的发展复杂指令集计算机(CISC)精简指令集计算机(RISC)第48页,共54页,2024年2月25日,星期天1.4.2软件对系统结构的影响软件兼容可以实现软件的可移植性一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上运行,结果相同,差别只是执行时间不同当前计算机时间计算机档次向上兼容向下兼容向前兼容向后兼容低高第49页,共54页,2024年2月25日,星期天实现可移植性的常用方法1.系列机(family)同一个厂家生产的具有相同的体系结构、但具有不同组成和实现的一系列不同型号的计算机兼

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论