版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机系统结构主讲教师:单博炜课程简介课本:《计算机系统结构》同时可看的几本中文参考书:郑纬民,汤志忠《计算机系统结构》第二版,2006,清华大学出版社白中英《计算机系统结构》第三版,2010,科学出版社
课程成绩总成绩=平时成绩*30%+期末成绩*70%平时成绩=点名成绩+平时作业期末成绩=期末考试成绩外文参考书ComputerArchitecture:AQuantitativeApproachbyDavidPattersonandJohnHennessy,4thedition,MorganKaufmann,2009ComputerOrganizationandDesignbyJohnHennessyandDavidPatterson,4thedition,MorganKaufmann,2007JohnHennessy此书作者MIPS系统的奠基人斯坦福大学校长IEEE,ACMFellow美国国家科学院院士,美国国家工程院院士硬件专业的课程顺序数字逻辑->组成原理->系统结构系统结构属于专业课,着重讲述并行计算机系统的基本概念、结构、分析和设计方法课程目录第1章计算机系统结构导论基本概念并行性的发展分类性能评价第2章指令系统数据表示指令系统的优化设计计算机指令系统的发展方向第3章流水线技术与向量处理技术流水线基本原理流水线性能分析流水线中的相关及处理先进的流水线调度技术指令级并行技术向量处理技术课程目录第4章存储系统存储系统及性能并行主存系统虚拟存储器高速缓冲存储器第5章并行处理机并行处理机的结构与特点并行处理机的互联网络几种典型的并行处理机第1章计算机系统结构导论主要介绍:计算机系统结构的基本概念和多级层次结构分析计算机系统结构,计算机组成与计算机实现的含义、研究内容及其相互关系讨论计算机系统并行性发展的技术途径与分类研究系统结构一般的性能评价标准
1.1.1计算机系统的层次结构计算机系统(computersystem)=硬件(hardware)+软件(software)按照功能划分成多级层次结构M0-M6M0-M1属于计算机组织与结构M3-M5属于系统软件M6是应用软件分级有利于正确理解计算机系统的工作;明确软件硬件固件的地位和作用;有利于理解各种语言的实质有利于设计新的计算机系统语言实现的两种基本技术翻译(translation)解释(interpretation)1.1.2计算机系统的结构、组成和实现计算机系统结构(computerarchitecture)也称为计算机体系结Amdahl--1964年在介绍IBM360系统时提出计算机系统结构的定义:计算机体系结构时程序设计者所看到的计算机的属性,即概念性结构与功能特性。不同层次的程序设计者所看到的计算机属性显然不同,一个计算机系统中,低层机器概念性结构和功能特性对高层机器的程序设计者是透明的。研究内容包括:数据表示:数据类型和格式寻址规则:寻址方式,表示,地址计算寄存器定义:各类寄存器指令系统:指令的操作类型个格式存储系统:编址单位、编址方式、存储容量,编址空间中断系统:中断类型,分级,处理程序的功能,入口地址机器工作状态:定义和切换I/O系统:I/O设备的连接方式、主机与I/O设备之间的数据传送方式和格式、传送的数据量以及I/O操作的结束与出错标志等信息保护。包括信息保护方式和硬件对信息保护的支持计算机组成计算机组成(computerorganization)是计算机系统结构的逻辑实现,包括机器内部的数据流和控制流的组成以及逻辑设计等。计算机组成设计要确定的内容数据通路的宽度。指在数据总线上能一次并行传送的信息位数。专用部件的设置。包括设置哪些专用部件,如乘除法专用部件、浮点运算部件、字符处理、地址运算部件,以及每种专用部件的个数。这些都取决于机器所需达到的速度,专用部件的使用频度及允许的价格等因素。各种操作对部件的共享程度。若部件共享程度高,则价格便宜,但会由于共享部件的分时使用而降低操作的速度;若设置多个功能部件降低共享程度,通过增加并行度以提高速度,系统的价格会随之升高。功能部件的并行度。如功能部件的控制和处理方式是采用顺序串行方式,还是采用重叠、流水、分布处理方式。控制机构的组成方式。如控制机构是采用硬联控制还是微程序控制,是采用单机处理还是多机处理或功能分布处理。缓冲和排队技术。包括在部件之间如何设置及设置多大容量的缓冲器来弥补它们的速度差异;在安排等待处理事件的顺序时,采用随机、先进先出、先进后出、优先级、循环队等方式中的哪一种。预估、预判技术。如采用何种原则来预测未来行为,以优化性能和优化处理。可靠性技术。如采用怎样的冗余技术和容错技术来提高可靠性。计算机实现计算机实现(computerimplementation)是计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,器件、模块、插件、底板的划分与连接,专用器件的设计,微组装技术,信号传输,电源、冷却及整机装配技术等。它着眼于器件技术和微组装技术,其中,器件技术在实现技术中起着主导作用。计算机系统结构、组成和实现三者的关系举例机器指令集的确定属于系统结构指令的实现,如取指令、取操作数、运算、送结果等具体操作和排序方式属于计算机组织乘法器,加法器的物理实现,如器件的选定,所使用的封装技术,属于计算机实现计算机等级分为巨型,大型,中型,小型,微型等若干级计算机工业在处理性能和价格的关系上可以有两种途径:一种是维持价格不变,充分利用器件技术等的进展不断提高机器的性能,即沿图1.3中的水平实线发展;另一种是在性能基本不变的情况下,利用器件技术等的进展不断降低机器的价格,即沿图1.3中虚线往下发展。系列机所谓系列机的概念,是在软、硬件界面上设计好一种系统结构,然后软件设计者按此系统结构设计系统软件;硬件设计者根据机器速度、性能、价格的不同,选择不同的期间,采用不同的硬件技术和组成与实现技术,研制并提供不同档次的机器。在系列机上必须保证用户看到一致的机器属性,例如,IBMAS400系列,数据总线有16、32、64位的区别,但数据表示方式一致。系列机之间必须保持软件兼容(softwarecompatibility)。系列机软件兼容是指同一个软件(目标程序)可以不加修改地运行于系统结构相同的各档次机器中,模拟与仿真要求在A机器上用虚拟机的概念实现B机器的指令系统,如图1.4所示,即B机器的每一条机器指令由A机器的一段机器语言程序去解释执行,从而可使B机器的程序能在A机器上运行。这种用机器语言程序解释实现软件移植的方法称为模拟(simulation),被模拟的B机器称为虚拟机(virtualmachine),A机器称为宿主机(hostmachine)。这种用微程序直接解释另一种机器指令系统实现软件移植的方法称为仿真(emulation)。进行仿真工作的A机器称为宿主机,被仿真的B机器称为目标机(targetmachine),为仿真所编写的解释微程序称为仿真微程序。仿真与模拟的主要区别在于解释所用的语言:仿真用微程序解释,其解释程序在微程序存储器中,而模拟用机器语言解释,其解释程序在主存储器中。计算机系统结构中并行性的发展研究计算机体系结构的目的是提高计算机系统的性能。开发计算机系统的并行性,是计算机体系结构的重要研究内容之一。冯·诺依曼型计算机由运算器、控制器、存储器、输入设备和输出设备五个部分组成。随着计算机应用领域的扩大和计算机技术的发展,人们已经逐渐认识到早期计算机所采用的冯·诺依曼型结构存在的问题,不断地对这种结构加以改进并开发全新的系统结构。并行性概念所谓并行性(parallelism)是指在同一时刻或是同一时间间隔内完成两种或两种以上性质相同或不相同的工作。只要时间上相互重叠,就存在并行性。严格来讲,把两个或多个事件在同一时刻发生的并行性叫做同时性(simultaneity);把两个或多个事件在同一时间间隔内发生的并行性叫做并发性(concurrency)。在进行并行处理时,其每次处理的规模大小可能是不同的,这可用并行性颗粒度(granularity)来表示。颗粒度用于衡量软件进程所含计算量的大小,最简单的方法是用程序段中指令的条数来表示。颗粒度一般可分为细粒度、中粒度和粗粒度三种,若程序段中指令条数小于500条,称为细粒度,500~2000条指令之间称为中粒度,大于2000条称为粗粒度。并行性的等级按照并行颗粒度不同从低到高可以分为指令内部并行。指令内部的微操作之间的并行。指令级并行(ILP,InstructionLevelParallel)。并行执行两条或多条指令。任务级或过程级并行。并行执行两个或多个过程或任务(程序段)。作业或程序级并行。在多个作业或程序间的并行。提高并行性的途径时间重叠:多个处理过程在时间上相互错开,轮流重叠的使用同一套硬件设备的各个部分,以加快硬件周转来提高处理速度。时间重叠原则上不要求重复的硬件设备资源重复:通过重复设置资源,尤其是硬件资源,大幅度提高计算机系统的性能资源共享:是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套资源。资源共享既降低了成本,提高了系统资源利用率,也可以相应地提高整个系统的性能。并行处理的发展过程可从单处理机系统和多计算机系统两个方向来实现图1.6单机系统中的并行性时间重叠流水线处理机pipeline图1.7指令串行执行和流水执行多机系统发展也遵循着时间重叠、资源重复和资源共享的技术途径表1.1三种类型多处理机比较项
目同构型多处理机异构型多处理机分布处理系统目的提高系统性能(可靠性、速度)提高系统使用效率兼顾效率与性能技术途径资源重复(机间互连)时间重叠(功能专用化)资源共享(网络化)组成同类型(同等功能)不同类型(不同功能)不限制分工方式任务分布功能分布硬件、软件、数据等各种资源分布工作方式一个作业由多机协同并行地完成一个作业由多机协同串行地完成一个作业由一台处理机完成,必要时才请求它机协作控制形式常采用浮动控制方式采用专用控制方式分布控制方式耦合度紧密耦合松散耦合松散、紧密耦合对互连网络的要求快速、灵活、可重构专用快速、灵活、简单、通用表1.1三种类型多处理机比较1.3计算机系统的分类研究计算机系统的分类方法有助于认识计算机系统的结构和组成的特点,理解系统的工作原理和性能。从不同的角度,可以提出不同的分类方法,这里主要介绍两种常用的分类方法。Flynn分类法Michae1.J.Flynn于1966年提出按指令流和数据流的多倍性对计算机系统结构进行分类的方法。指令流(instructionstream)是指机器执行的指令序列;数据流(datastream)是指由指令流调用的数据序列,包括输入数据和中间结果;四种分类
(c)MISD计算机(a)SISD计算机(b)SIMD计算机(d)MIMD计算机冯氏分类法1972年,美籍华人冯泽云提出用最大并行度(degreeofparallelism)对计算机系统结构进行分类。所谓最大并行度Pm,是指计算机系统在单位时间内能够处理的最大的二进制位数。最大并行度Pm定量地反映了对数据处理的并行性。
Pm=n*m
式中,n表示同时处理时一个字中的二进制位数;m表示能同时处理的字数。按计算机对数据处理方式,由Pm值可得下列四种计算机系统结构类型。字串位串(WSBS)。其n=1,m=1,这是第一代计算机发展初期的纯串行计算机,如EDVAC。字串位并(WSBP)。其n>l,m=l,这是传统并行的单处理机,我们日常使用的大多数机器都属于这种类型。字并位串(WPBS)。其n=l,m>l(即位片处理),如STARAN、早期的MPP、DAP等,它们都是20世纪70年代研制的并行处理机。字并位并(WPBP),其n>l,m>l(即全并行处理),如Cmmp、ILLIAC-IV以及PEPE等,它们都具有很好的并行性。系统结构发展的因素现代计算机系统结构的重大变化与改进:高级语言与机器语言的语义距离缩小硬件子系统与操作系统和数据库管理系统软件相适应出现了与LSI,VLSI器件相适应的计算机系统结构系统功能分散化、专业化高可靠性的容错计算机专用计算机串行向并行转变突破指令驱动,出现数据驱动和需求驱动人工智能计算机1.4计算机性能的评价1.经常性事件优先原则是计算机系统结构设计中最重要和最常用的原则。这个原则的基本思想是:对于经常发生的事件,赋予它优先的处理权和资源使用权,加快它的处理速度,以便提高整个系统的性能。在进行计算机设计时,如果需要权衡,就必须侧重常见事件,使最常发生的事件优先。此原则也适用于资源分配。着重改进经常性事件性能,能够明显提高计算机性能。通常,经常性事件的处理比较简单,容易使之更快完成。例如,CPU在进行加法运算时,运算结果可能产生溢出,但无溢出为更经常发生的事件。因此,应针对无溢出情况进行优化设计,加快无溢出加法计算速度。虽然发生溢出时机器速度可能会减慢,但由于溢出事件发生概率很小,所以总体上机器性能还是提高了。2.Amdahl定律如何确定经常性事件以及如何加快处理这些事件是Amdahl定律需要解决的问题。Amdahl定律指出:系统中某部件由于采用某种更快的执行方式后,整个系统性能的提高与这种执行方式在系统中使用频率或占总执行时间的比例有关。系统加速比依赖于两个因素:(1)可改进部分在原系统执行时间中所占的比例。例如,一个需运行60s的程序中有20s的运算可以加速,那么该比例就是20/60。(2)可改进部分改进以后的性能提高。例如,系统改进后执行程序,其中可改进部分花费的时间为2s。,而改进前该部分需花费的时间为5s,则性能提高为5/2。(1)改进后系统的总执行时间Tn
(2)改进前后整个系统的加速比Sn(1-Fe)表示不可改进比例。当Fe
=0,即无改进部分时,Sn=1,所以系统性能提高幅度受改进部分所占比例的限制。当
时,有
由此得到Amdahl定律的一个重要推论:若只针对整个系统的一部分进行优化.则系统获取的性能改善极限值受Fe的约束,系统加速比不大于1/(1-Fe)。例题[例1.1]设在系统整个运行时间中某部件的处理时间占30%,若改进后速度加快到15倍,问整个系统性能将提高多少?解:由题可知Fe=0.3,Se=15,则
[例1.2]若在整个测试程序的执行时间中,求浮点数平方根FPSQR的操作占10%。现有两种改进方案:一种是采用FPSQR硬件,使其速度加快到10倍;另一种是使所有浮点数指令FP速度加快到4倍,并设FP指令占整个程序执行时间的40%。请比较两种方案的优劣。解:硬件方案,Fe=0.1,Se=10,则FP加速方案,Fe=0.4,Se=4,则比较结果可知,FP加速方案更优。注意,结论的前提是程序量的40%为FP指令。3.程序访问的局部性原理所谓程序访问的局部性原理,是指程序在执行过程中所访问地址的分布有相对簇聚的倾向,这种簇聚表现在指令和数据两方面。程序局部性包括时间上的局部性和空间上的局部性:前者是指程序即将用到的信息很可能是目前正在使用的信息;后者是指程序即将用到的信息很可能与目前正在使用的信息在程序空间上是相邻或相近的。程序访问的局部性原理是计算机系统结构设计的基础之一。在很多地方,尤其在处理与存储相关的问题时,经常运用这一原理。程序访问的局部性原理为我们提供了设计计算机系统时,解决高性能和低成本之间的矛盾的途径。1.4.2CPU性能公式为了衡量CPU的性能,可以将程序执行的时间进行分解。一个程序在计算机上运行所花费的CPU时间可表示为或者CPU时间=总CPU时钟周期数×时钟周期T若将程序执行过程中所处理的指令数记为IC,可以获得一个与计算机系统结构有关的参数,即每条指令的平均时钟周期数CPI(ClockCyclesPerInstruction):程序执行的CPU时间可写为这个公式通常称为CPU性能公式,它表明CPU性能与三种系统结构技术相关。时钟频率f:反映了计算机实现技术和计算机组织。机器指令的平均时钟周期数CPI:反映了计算机系统结构组织和指令集的设计与实现。程序使用的指令条数IC:反映了计算机指令集的结构和编译技术。在程序执行过程中,要用到不同类型的指令。假设计算机系统有n种指令,ICi表示第i种指令在程序中执行的次数,CPIi表示执行一条第i种指令所需的平均时钟周期数,则程序执行的CPU时间为则CPI可表示为式中,
表示了第i种指令在程序中所占比例。上面这些公式均称为CPU性能公式。[例1.3]若浮点数指令FP占全部指令的30%,其中浮点数平方根FPSQR指令占全部指令的4%,FP操作的CPI为5,FPSQR操作的CPI为20,其他指令的平均CPI为1.25。现提出两种改进方案,一种是把FPSQR操作的CPI减至3,另一种是把所有FP操作的CPI减至3,试比较两种方案对系统性能的提高程度。解:改进之前,系统的指令平均时钟周期数CPI为方案A:如果使FPSQR操作的时钟周期数由CPIFPSQR=20降至
,则整个系统的CPI为方案B:如果使所有FP操作的平均时钟周期数由CPIFP=5降至
,则整个系统的CPI为从降低整个系统的指令平均时钟周期数的程度来看,方案A优于方案B。分别计算两种方案的加速比:从加速比来看.同样得出方案A优于方案B的结论。[例1.4]设机器A和机器B对条件转移采用的处理方法不同。CPUA采用比较指令和条件转移指令的处理方法,实现一次条件转移需执行两条指令,条件转移指令和比较指令各占执行指令总数的15%。CPUB,采用比较与条件转移指令合一的处理方法,实现一次条件转移只需执行一条指令。若规定两台机器执行条件转移指令需2个时钟周期,其他指令只需1个时钟周期,CPUB的时钟周期比CPUA慢20%,请比较:(1)CPUA和CPUB哪个工作速度更快?(2)若CPUB的时钟周期只比CPUA慢10%,哪个CPU工作速度更快?
解:(1)计算机器A的CPIA为CPIA=0.15×2+0.85×1=1.15CPUA时间=ICA×CPIA×TA=1.15TA×ICAICA是CPUA的指令条数。由于CPUB无比较指令,所以ICB=0.85ICA,使CPUB的转移指令所占比例为15%÷805%=17.65%,计算机器B的CPIB
为CPIB=0.18×2+0.82×1=1.18又因为CPUB的TB比CPUA的TA慢20%,所以TB=1.2TACPUB时间=ICB×CPIB×TB=0.85ICA×1.18×1.2TA=1.2TA×ICA比较可知,CPUA时间<CPUB时间,故CPUA比CPUB工作速度快。(2)此时有TB=1.1TA,据前结论CPUA时间=1.15TA×ICACPUB时间=0.85ICA×1.18×1.1TA=1.1TA×ICA因此CPUB时间<CPUA时间,故CPUB的工作速度更快些。1.4.1系统结构的性能评价标准衡量计算机性能的唯一固定而且可靠的标准就是机器真正执行程序的时间。这里的执行时间是计算机在完成一个任务时,包括访问磁盘、访问存储器、I/O操作及系统开销所花费的全部时间,也称为计算机的响应时间。CPU时间是指CPU工作的时间,不包括I/O等待时间。它可分为CPU执行用户程序的用户CPU时间和CPU花费在操作系统上的系统CPU时间。在此讨论的CPU性能指的是用户CPU时间。因此,计算机性能可分为基于响应时间的“系统性能”度量方法和基于用户CPU时间的“CPU性能”度量方法。下面主耍讨论CPU性能。1.MIPS和MFLOPSMIPS(MillionInstructionsPerSecond),即百万条指令每秒是目前较为流行的描述计算机性能的替代标准之一。对于一个给定的程序,MIPS定义为MIPS是单位时间内执行指令的次数。若用Te表示程序的执行时间,则Te的表达式为[例1.5]已知某处理机的CPI=0.5,时钟频率为450MHz,试计算该处理机的运算速度。解:由于处理机的时钟频率为fc=450MHz,可求得运算速度为即该处理机的运算速度为900MIPS。机器的MIPS越高,说明机器速度越快,故MIPS可从一定程度上反映机器的性能。但是用MIPS评价机器的性能存在以下问题。MIPS依赖于机器的指令集,所以用MIPS来衡量指令集不同的机器的性能优劣是很不准确的。
在同一台机器上,MIPS会因程序不同而发生变化,有时其差异会很大。MIPS的评价结果可能与采用正确的性能评价方法的评价结果相反。一个典型例子就是具有可选硬件浮点运算部件的机器。因为浮点运算速度低于整数运算,所以很多机器提供可选的硬件浮点运算部件。结果是用硬件实现浮点运算的时间少,而用软件实现浮点运算的MIPS高,导致MIPS评价结果与机器实际性能相反。因此MIPS标准只适宜于评价标量机,因为在标量机中执行一条指令,一般可得到一个运算结果,而在向量机中,执行一条向量指令通常可得到多个运算结果。所以,用MIPS来衡量向量机是不合适的。另一种替代标准是MFLOPS(MillionFloatingPointOperationsPerSecond),即百万次浮点运算每秒。MFLOPS定义为:
由于MFLOPS衡量机器性能时存在下述缺陷,故也不能作为系统性能评价的标准。(1)MFLOPS只能衡量机器浮点操作的性能,而不能体现机器的整体性能。例如编译程序,不管机器的性能有多好,它的MFLOPS部不会太高。(2)MFLOPS的衡量是基于浮点操作而非指令来进行的,所以它可以用来比较不同指令集的机器之间的浮点操作性能,但比较的结果并非可靠。由于不同机器的浮点运算集可能不同,例如,机器A有浮点除法指令,而机器B没有,它们对浮点操作的支持就会不同,完成程序中的浮点除法时,前者的浮点操作次数比后者少得多,执行时间也少于后者,所以难以按MFLOPS评价它们的性能优劣。(3)MFLOPS取决于机器和程序两个方面,不同程序在同一机器上的MFLOPS会不相同。例如,运行由100%浮点加法组成的程序所得到的MFLOPS值将比运行由100%浮点除法组成的程序所得到的MFLOPS值高。因此用单个程序的MFLOPS值不能反映机器的性能。MFLOPS和MIPS之间的量值关系没有统一标准,一般认为在标量计算机中执行一次浮点运算需要2~5条指令,平均约需3条指令,故有1MFLOPS≈3MIPS。[例1.6]用一台处理机执行标准测试程序,程序所含的各类指令数量和执行每类指令所用时钟周期数如表1.4所示,处理机的时钟频率为50MHz,求有效CPI、MIPS速率和程序的执行时间。表1.4标准测试程序中各类指令数和相应所需的时钟周期数指令类型整数运算数据传送浮点运算控制传送指令数时钟周期数43000134000217000260002解:指令的总数为
43000+34000+17000+6000=100000条其中各类指令所占的比例分别是:整数运算为43%,数据传送为34%,浮点运算为17%,控制传送为6%。
(1)有效CPI为
1×0.43+2×0.34+2×0.17+2×0.06=1.57CPI(2)MIPS速率为(3)程序的执行时间为2.性能测试机器的性能需要采用基准测试程序来测试评价,衡量计算机性能的标准是程序的执行时间。基准测试程序是为比较测试机器性能而专门编写的程序,它考虑了各种操作和各种程序的比例,可以是一组或多组程序。将n个测试程序在机器上运行,记录它们的执行时间,然后可按下述方法对n个执行时间进行处理来评价机器性能。常用的基准测试软件:superPI,linpack(1)平均执行时间平均执行时间是各测试程序执行时间的算术平均值。其中,Ti为第i个测试程序的执行时间。(2)加权执行时间加权执行时间是各测试程序执行时间的加权平均值。其中,权因子Wi是第i个测试程序在总共n个测试程序中所占的权重,
。本章小结本章主要讨论了计算机系统结构的基本概念。首先,在计算机系统层次结构概念的基础上,定义了计算机系统结构,并阐述了计算机组成和计算机实现的含义以及它们和计算机系统结构之间的关系。然后进一步探讨了计算机系统中对系统结构产生影响的重要特性。计算机系统结构研究的主要内容之一就是通过并行性技术提高计算机系统的性能。本章讲述了并行性技术的基本概念,讨论了提高计算机系统并行性所采用的时间重叠、资源重复和资源共享三种技术途径,以及从单机或多机系统沿不同技术途径发展而形成的同构型、异构型和分布式处理等不同类型的多处理机系统。在此基础上介绍了计算机系统结构的Flynn和冯氏两种分类方法。对计算机系统技术性能进行定量分析是研究和发展现代计算机的重要手段之一。本章介绍了计算机系统性能的评价标准,讨论了对计算机系统进行定量分析的技术和方法。软件对于系统结构的影响软件是促进计算机系统结构发展的最重要因素为了满足软件的可移植性的要求有如下三种解决方法系列机方法系列机:一个厂家生产相同的系统结构,但不同组成和型号的机器,做到向后兼容例如:IBM370系列机 AnnouncedSeptember23,1970,IBM370-145模拟和仿真方法模拟:用软件方法在一台计算机上实现另一台计算机的指令系统,若在A计算机上实现B计算机的指令系统,此时,A称为宿主机,B称为虚拟机统一的高级语言方法将CPU和外围设备之间进行对接的接口设备具有:控制,缓冲,状态,转换,整理,程序中断的功能应用对于系统结构的影响主要是一些科学问题的高性能计算器件对于系统结构的影响五代计算机的典型特征系统结构的生命周期定量分析技术系统设计的定量原理大概率事件优先原理:对于大概率事件,赋予它优先的处理权和资源使用权,以获得全局的最优结果Amdahl定律:加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中的重要性
加速比计算机执行某个任务的总时间中可被改进部分的时间所占的百分比,记为Fe;提高的倍数记为Se;改进后的时间Tˊ=T0(1-Fe+Fe/Se)加速比n=T0/Tˊ=1/(1-Fe+Fe/Se)例题1.6假设系统某一个部件的处理速度加快9倍,但该部件的原处理时间仅为整个运行时间的45%,则采用加快措施后能使整个系统的性能提高多少?解:Fe=0.45;Se=9所以n=1/(1-Fe+Fe/Se)=1/(1-0.45+0.45/9)=1/0.6=1.667例题1.7假定要将某一执行部件改进后速度提高10倍,改进后被改进部件执行时间占系统总运行时间的50%。问改进后,获得的加速比n?解:假设系统改进前执行时间T,改进后为Tˊ,则
n=T/Tˊ=1/(1-Fe+Fe/Se)
Tˊ=(1-Fe+Fe/Se)*T又50%Tˊ=Fe*T/1050%Tˊ=(1-Fe)*TFe=5*(Tˊ/T)
所以n=T/Tˊ=5.5例题1.8上例中的部件在改进前的执行时间占改进后的百分比是多少?解:
n=1/(1-Fe+Fe/Se)=1/(1-Fe+Fe/10)=5.5Fe=91%CPU性能公式CPU的运行周期称为时钟周期。用时间长度(ns)或频率(MHz)来表示。一个程序所花费的CPU时间Tcpu如下表示:
Tcpu=Nc*t=Nc/f其中,Nc是CPU时钟周期,t是时长,f是频率程序执行时间的另一表述指令条数IN,每条指令平均时钟周期数CPI
Tcpu=IN*CPI*t=(IN*CPI)/f上式表示,CPU性能与3个因素有关:时钟频率f;每条指令所花的时钟周期CPI指令条数IN时钟周期总数的另一计算方法其中:Ii表示i指令在程序中执行的次数;CPIi表示i指令所需的平均时钟周期数;n为指令种类数。例1.9 有两台机器A,B,他们对于条件转移指令的处理采用各不相同的设计方案:①CPUA采用一条比较指令来设置相应的条件码,由紧随其后的一条转移指令对此条件码进行测试,以确定是否进行转移,因此实现一次条件转移需要比较和测试两条指令;②CPUB采用比较和测试两种功能合在一条指令的方法,实现条件转移只需一条指令。 假设在这两台机器的指令系统中,执行条件转移指令需要2个时钟周期,而其他指令只需1个时钟周期。又假设CPUA中,条件转移指令占总执行指令条数的20%。由于每条转移指令都需要一条比较指令,所以比较指令也将占20%。由于CPUB在转移指令中包含了比较功能,因此它的时钟周期就比CPUA要慢25%。问CPUA和CPUB哪个工作速度更快?解:设CPUA的时钟周期长度为tA,CPUB的时钟周期长度为tB,
CPIA=0.2×2+0.8×1=1.2 TCPUA=INA×1.2×tA, CPUB中由于没有比较指令,转移指令由原来占20%上升为20%÷80%=25%,它须要个时钟周期,而其余的75%指令只需要1个时钟周期,所以 CPIB=0.25×2+0.75×1=1.25 CPIB中由于没有比较指令,因此INB=0.8×INA。又因为tB=1.25tA,所以 TCPUB=INB×CPIB×tB
=0.8INA×1.25×1.25tA
=1.25INA×tA
所以可见TCPUA<TCPUB例1.10上例中,如果CPUB的时钟周期只比CPUA的慢10%,那么哪一个CPU会工作的更快些?解:TCPUA=INA×1.2×tA
因为tB=1.1tA
TCPUB=0.8INA×1.25×1.1tA=1.1INA×tA 所以可见TCPUB<TCPUA程序访存的局部性原理一个程序用90%的执行时间去执行仅占10%的程序代码此原理成为存储器体系的构造基础实质是:程序往往重复使用它刚刚使用过的数据和指令性能评价标准时间指标:完成同样的工作量,花费的时间最少,则性能最高以SuperPI为例常用的几种评价指标MIPS—millioninstructionspersecond
每秒百万条指令数
MIPS定义为:其中IN是指令总数;TE是执行所需时间;t为时钟周期长度;f是时钟频率,是t的倒数 MIPS存在的不足之处MIPS依赖于指令系统,比较不同指令系统是不准确的在同一台机器上,MIPS因程序不同而变化仅适于评估标量计算机MFLOPSmillionfloatingpointoperationpersecond每秒百万浮点操作MFLOPS基于操作而非指令,可比较两种不同机器;只能衡量浮点操作,而不能体现整体性能测试程序真实程序。例如:C编译程序,Tex软件,CAD工具核心程序。例如:Linpack小测试程序。例如:Quicksort综合测试程序。例如:Whetstone例1.11用一台40MHz处理执行标准测试程序,它包含的混合指令数和相应所需的时钟周期数如表1.2所示,求有效CPI,MIPS速率和程序执行时间T指令类型指令数时钟周期数整数运算450001数据传送320002浮点运算150002控制传送80002解:利用前述公式MIPS速率=f/(CPI×106)=(40×106)/(1.55×106)=25.8(百万条指令/秒)程序执行时间T=IN/(MIPS×106)=(100000)/(25.8×106)=0.003875(秒)性能比较下表列出两个程序在A、B、C三台机器上的执行时间(秒)ABCW(1)W(2)W(3)程序11.0010.0020.000.500.9090.999程序21000.00100.0020.000.500.0910.001加权算术平均Am(1)500.5055.0020.00加权算术平均Am(2)91.9118.1920.00加权算术平均Am(3)2.0010.0920.00程序执行的衡量标准算术平均值法加权算术平均值
2.调和平均值法如果性能是用速度(MFLOPS)表示,可以采用调和平均值法来比较:
R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024安全生产合同
- 《RLC串联谐振》课件
- 湖北大学知行学院《管理沟通》2021-2022学年第一学期期末试卷
- 2024车辆零配件采购合同
- 2024合伙合同(比较简单的普同经营合伙协议可以参考)
- 2024合伙经营协议合同范本
- 小儿误服药物急救和护理
- 2024建设工程设计合同样书
- 湖北大学知行学院《电视制片人管理》2023-2024学年第一学期期末试卷
- 呼伦贝尔学院《中小学数学教育研究方法》2021-2022学年第一学期期末试卷
- 古代文学及古诗文鉴赏(一)学习通超星期末考试答案章节答案2024年
- 《PLC技术及应用》期末试卷-A卷及答案
- 人工智能安全与隐私保护培训课件
- 上海市四校2024-2025学年高一上学期期中联考英语试卷(含答案无听力原文及音频)
- 2024年严禁体罚和变相体罚制度范文(三篇)
- 招投标管理招聘面试题及回答建议(某大型国企)2025年
- 高校实验室安全通识课学习通超星期末考试答案章节答案2024年
- 人民民主专政的本质:人民当家作主课件-2024-2025学年高中政治统编版必修三政治与法治
- 2024中国通信服务股份限公司招聘高频500题难、易错点模拟试题附带答案详解
- 精神科并发症处理
- 医废暂存处管理制度
评论
0/150
提交评论