您好,欢迎访问三七文档
计算机系统结构四川大学计算机学院主讲:倪云竹E-MAIL:ybamboo@163.com提出问题:什么是系统结构?为什么学习系统结构?计算机系统结构与组成原理之间的关系是什么?为什么要学习系统结构?设计、提高整机性能如何提高整机性能?学习思路:传统机器的缺陷-性能评价-改进1、如何评价?评价标准:加速比、吞吐率、效率2、如何提高?解决问题主要思路:1)并行技术:时间并行,空间并行(提高机器性能)2)局部性原理包括程序的时间局部性和程序的空间局部性。超流水线流水线超线程双核(多核)分支预测虚拟存储系统、CACHE存储系统(改进)哈佛结构对两个模块的改进(控制器、存储器)处理器技术提升较快,存储设备的数据交换是瓶颈需要程序支持(openMP)多核并行设计互连网络多机系统学习目标:建立计算机系统的完整概念在机器指令层次学习计算机系统的性能分析方法和性能改进方法对组成原理的重要补充和延伸掌握提高计算机系统的整体运算性能的基本思路和方法为将来的新知识做预备(并行程序、嵌入式)参考书目1.计算机系统结构教程张晨曦等清华大学出版社(2009年5月)2.计算机系统结构李学干西安电子科技大学出版社3.计算机系统结构陈智勇西安电子科技大学出版社评分标准期末总成绩=平时成绩×30%+期末考试成绩×70%平时成绩(满分100分):1.考勤:40分,缺席一次扣5分2.课堂测试:60分第1章计算机系统结构基本概念1.1引言1.2计算机系统结构的概念1.3定量分析技术1.4计算机系统结构的发展1.5计算机系统结构中并行性的发展1.1引言第一台通用电子计算机诞生于1946年计算机技术的飞速发展得益于两个方面:–计算机制造技术的发展–计算机系统结构的创新经历了4个发展过程:1.1引言大规模集成电路和微处理器出现,以集成电路为代表的制造技术的发展约35%20世纪70年代末-80年代初计算机制造技术的发展和计算机系统结构的创新25%1946年起的25年原因每年的性能增长时间1.1引言1.功耗问题(已经很大)。2.可以进一步有效开发的指令级并行性已经很少。3.存储器访问速度的提高缓慢。约20%2002年以来RISC结构的出现,系统结构不断更新和变革,制造技术不断发展50%以上维持了约16年20世纪80年代中开始原因每年的性能增长时间1.1引言摩尔定律正在走向终结…–单芯片容纳晶体管的增加,对制造工艺提出要求–CPU制造18nm技术,电子泄露问题–CPU主频已达3GHz时代,难以继续提高•散热问题(发热太大,且难以驱散)•功耗太高未来的发展:多核1.1引言酷睿2双核处理器AMDAthlon1.1引言系统结构的重大转折:从单纯依靠指令级并行转向开发线程级并行和数据级并行。1.1引言近期的发展(进程级并行技术):超线程(Hyper-Threading)技术:利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。双核心技术:将两个物理处理器核心整合入一个内核,每个核心都使用自己独立的高速缓存。两颗独立CPU组建的系统在工作原理和性能上基本没有区别。1.2计算机系统结构的概念一.计算机系统的层次结构虚拟机:由软件实现的机器语言实现的两种基本技术:•翻译:先把N+1级程序全部转换成N级程序后,再去执行新产生的N级程序,在执行过程中N+1级程序不再被访问。•解释:每当一条N+1级指令被译码后,就直接去执行一串等效的N级指令,然后再去取下一条N+1级的指令,依此重复进行。解释执行比编译后再执行所花的时间多,但占用的存储空间较少。1.2计算机系统结构的概念应用语言虚拟机高级语言虚拟机汇编语言虚拟机操作系统虚拟机机器语言(传统机器级)微程序机器级电子线路级软件硬件或固件用户高级语言程序员汇编语言程序员系统操作员机器语言程序员硬件设计人员翻译翻译翻译解释部分解释硬件直接执行从语言的角度划分层次结构1.2计算机系统结构的概念二.计算机系统结构的定义1.经典定义:Amdahl提出:计算机系统结构就是程序设计者所看到的计算机的基本属性,即概念性结构与功能特性。按照计算机系统的多级层次结构,不同级程序员所看到的计算机具有不同的属性。1.2计算机系统结构的概念应用语言虚拟机高级语言虚拟机汇编语言虚拟机操作系统虚拟机机器语言(传统机器级)微程序机器级电子线路级软件硬件或固件用户高级语言程序员汇编语言程序员系统操作员机器语言程序员硬件设计人员Amdahl提出的系统结构实际上是指传统机器语言级程序员所看到的计算机属性。1.2计算机系统结构的概念对于通用寄存器型机器来说,这些属性主要是指:(1)指令系统(2)数据表示(3)寻址规则(4)寄存器定义(5)中断系统(6)机器工作状态的定义和切换(7)存储系统(8)信息保护(9)I/O结构1.2计算机系统结构的概念2.广义的系统结构定义:指令集结构、组成、硬件(计算机设计的三个方面)3.计算机系统结构概念的实质:确定计算机系统中软、硬件的界面,界面之上是软件实现的功能,界面之下是硬件和固件实现的功能。1.2计算机系统结构的概念三.计算机组成和计算机实现1.计算机组成:计算机系统结构的逻辑实现。即根据计算机系统结构所制订的功能,从逻辑上完成计算机的设计。这里包括各部件的逻辑实现,部件之间的互相连接以及物理机器级中的数据流和控制流的组成以及逻辑设计等。2.计算机实现:计算机组成的物理实现。包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。1.2计算机系统结构的概念3.系统结构、组成与实现之间的关系同一种系统结构可以用不同组成来实现。如:系统结构一样的计算机可以有不同的CACHE:无CACHE,有处理机片内CACHE,有片内和片外CACHE.一种组成可以有多种物理实现。4.系列机由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。例如,IBM370系列有370/115、125、135、145、158、168等一系列从低速到高速的各种型号。1.2计算机系统结构的概念四.计算机系统结构的分类(一)Flynn分类法1.三个重要概念:指令流(InstructionStream):机器执行的指令序列;数据流(Datastream):由指令处理的数据序列;多倍性(Multiplicity):在系统最窄的部件上,处于同一时间单位内,最多可并行执行的指令条数或处理的数据个数。1.2计算机系统结构的概念2.分类:⑴单指令流单数据流(SISD——SingleInstructionSingleDatastream)⑵单指令流多数据流(SIMD——SingleInstructionMultipleDatastream)⑶多指令流单数据流(MISD——MultipleInstructionSingleDatastream)⑷多指令流多数据流(MIMD——MultipleInstructionMultipleDatastream)1.2计算机系统结构的概念3.各类结构的概念性框图:CUPUMMCSISDSDS1DS2DSnPU1PU2PUnCUCSISMMnMM2MM1MMnMM2MM1IS2CU2CS2PU2IS1CU1CS1PU1DSISnCUnCSnPUnDSMMnMM2MM1IS2IS1ISnCUnCSnPUnDSnCU1CS1DS1PU1CU2CS2PU2DS2(a)SISD(b)SIMD(c)MISD(d)MIMD1.2计算机系统结构的概念(二)冯式分类法用系统的最大并行度对计算机进行分类。最大并行度:计算机系统在单位时间内能够处理的最大的二进制位数。用平面直角坐标系中的一个点代表一个计算机系统,其横坐标表示字宽(n位),纵坐标表示一次能同时处理的字数(m字)。m×n就表示了其最大并行度。1.3定量分析技术一.计算机系统的定量原理1.以经常性事件为重点进行优化–优化是指分配更多的资源、达到更高的性能或者分配更多的电能等。–使经常性事件的处理速度加快能明显提高整个系统的性能2.Amdahl定律加快某部件执行速度所能获得的系统性能加速比,受限于该部件的执行时间占系统中总执行时间的百分比。1.3定量分析技术Amdahl定律定义了由于采用某改进方法后系统所能获得的加速比的大小。加速比=系统性能改进后系统性能改进前总执行时间改进前总执行时间改进后=即加速比Sn可定义为:Sn=T0/Tn式中,T0是在作为比较基准的运行条件下,计算机运行所需时间;Tn为改进后完成同样任务所需的时间。1.3定量分析技术在对一个系统进行设计或改进时,总希望通过对某部件的精心设计获得较高的加速比。但是每一个部件对加速比的贡献并不相同,它完全取决于该部件在整个系统中地位的重要性。最直接体现部件重要性的衡量标准就是它在整个处理工作中所占的时间比例。假定某部件的运行时间在全系统运行时间T0中所占的百分比为Fe,系统中其他部分运行时间所占百分比为1-Fe。再设该部件改进前后的运行时间之比为Se,也即该部件速度提高的倍数。于是对该部件改进后,全系统的运行时间应为:Tn=T0(1–Fe)+T0Fe/Se=T0(1–Fe+Fe/Se)1.3定量分析技术根据:Tn=T0(1–Fe+Fe/Se)Sn=T0/Tn可得:AMDAHL定理eeennSFFTTS/)1(10由上式可见,加速比的大小与Fe和Se两个因素有关。1.3定量分析技术例1.设改进后的某部件运行速度是原速度的10倍,而该部件原运行时间占全系统运行时间的比例为40%,那么此项改进会使全系统的性能得到多少提升?解:按照Amdahl定律,系统性能的提升可以用加速比表示。据题意:Fe=0.4;Se=10,直接使用公式,可得:利用对加速比的计算,可以决定提高全系统性能的努力应该从何处入手,即花较小的代价,获取较大的效益。56.110/4.04.011/)1(1eeenSFFS1.3定量分析技术例2:在测试计算机浮点运算性能的基准测试程序中,浮点运算指令FP操作时间占全部时间的50%,其中求浮点平方根的指令FPSQR占全部运行时间的20%。为了提高全系统的性能,可以考虑两种改进方案。一是采用FPSQR硬件,将FPSQR运算速度提高10倍;另一个是加快全部浮点运算速度,使FP指令的执行速度提高2倍。试比较这两种方案的优劣。解:分别计算两种方案所能得到的加速比22.110/2.0)2.01(1FPSQRS显然,提高整个浮点运算速度对全系统的性能提高更好些。33.12/5.0)5.01(1FPS1.3定量分析技术Amdahl定律还揭示了:1、性能递减规则:如果仅仅对计算机中的一部分做性能改进,则改进越多,系统获得的总体性能的提升就越有限。推论:如果只针对整个任务的一部分进行优化,那么所获得的加速比不大于1/(1-Fe)。2、一个“好”的计算机系统:具有高性价比的计算机系统是一个带宽平衡的系统,而不是看它使用的某些部件的性能。eeenSFFS/)1(11.3定量分析技术3.CPU性能公式1)主时钟习惯上总是以主时钟(时钟周期)TC来表示一个CPU的速度。CPU的主频即时钟的频率:如:Pentium41.5GHzCore2Duo2.13GHz主频越高,芯片内的运行速度也越快(对相同体系结构的处理机而言)。CcTf11.3定量分析技术2)CPU时间一个程序在CPU上运行所需的时间TCPU表示为:其中,•TC表示时钟周期时间。取决于计算机组成和实现。在微处理机中,由制作VLSI的工艺决定。•CPI表示执行每条指令所需的平均时钟周期数。主要取决于计算机的组成和体系结构,包括指令系统的设计、指令执行过程的安排等(RISC)。•IN表示要执行程序中的指令总数。主要取决于计算机体系结构,即指令系统的设计和编译技术。CNCPUTCPIIT1.3定量分析技术3)平均
本文标题:系统结构1
链接地址:https://www.777doc.com/doc-2102333 .html