




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.第一章计算机体系构造的根本概念计算机系统构造的经典定义程序员所看到的计算机属性,即概念性构造与功能特性。〔计算机组成:指计算机系统构造的逻辑实现。计算机实现:计算机组成的物理实现〕计算机系统的多级层次构造:虚拟机:应用语言机器->高级语言机器->汇编语言机器->操作系统机器物理机:传统机器语言机器->微程序机器透明性:在计算机技术中,把这种本来存在的事物或属性,但从*种角度看又好似不存在的概念称为透明性。编译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序解释:对于高一级机器上的程序中的每一条语句或指令,都转去执行低一级机器上的一段等效程序。常见的计算机系统构造分类法有两种:Flynn分类法、氏分类法〔按系统并行度 〕进展分类。Flynn分类法把计算机系统的构造分为4类:单指令流单数据流(SISD)单指令流多数据流(SIMD)多指令流单数据流(MISD)多指令流多数据流(MIMD)IS指令流,DS数据流,CS〔控制流〕,CU〔控制部件〕,PU〔处理部件〕,MM,SM〔表示存储器〕1.计算机设计的定量原理:1.大概率事件优先原理〔分配更多资源,到达更高性能〕2.Amdahl定理:加速比: (Fe为可改进比例〔可改进局部的执行时间/总的执行时间〕,Se为部件加速比〔改进前/改进后〕程序的局部性原理:时间局部性:程序即将使用的信息很可能是目前使用的信息。空间局部性:即将用到的信息可能与目前用到的信息在空间上相邻或相近。CPU性能公式:时钟周期时间CPI:CPI=执行程序所需的时钟周期数/ICIC(程序所执行的指令条数)并行性:计算机系统在同一时刻或者同一时间间隔进展多种运算或操作。同时性:两个或两个以上的事件在同一时刻发生。并发性:两个或两个以上的事件在同一时间间隔发生。从处理数据的角度来看,并行性等级从低到高可分为:1.字串位串:每次只对一个字的一位进展处理。最根本的串行处理方式,不存在并行性。2.字串位并:同时对一个字的全部位进展处理,不同字之间是串行的。开场出现并行性。3.字并位串:同时对许多字的同一位〔称为位片〕进展处理。具有较高的并行性。1.4.全并行:同时对许多字的全部位或局部位进展处理。最高一级的并行。从执行程序的角度来看,并行性等级从低到高可分为:1.指令部并行:单条指令中各微操作之间的并行。2.指令级并行:并行执行两条或两条以上的指令。3.线程级并行:并行执行两个或两个以上的线程。通常是以一个进程派生的多个线程为调度单位。4.任务级或过程级并行:并行执行两个或两个以上的过程或任务〔程序段〕以子程序或进程为调度单元。5.作业或程序级并行:并行执行两个或两个以上的作业或程序。提高并行性的技术途径:1.时间重叠引入时间因素,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个局部,以加快硬件周转而赢得速度。2.资源重复引入空间因素,以数量取胜。通过重复设置硬件资源,大幅度地提高计算机系统的性能。3.资源共享这是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。3.系列机由同一厂家生产的具有一样系统构造、但具有不同组成和实现的一系列不同型号1.的计算机。7.存储程序原理的根本点:指令驱动8.·诺依曼构造的主要特点1.以运算器为中心。2.在存储器中,指令和数据同等对待。指令和数据一样可以进展运算,即由指令组成的程序是可以修改的。3.存储器是按地址、按顺序线性编址的一维构造,每个单元的位数是固定的。4.指令的执行是顺序的5.指令由操作码和地址码组成。6.指令和数据均以二进制编码表示,采用二进制运算。9.软件的可移植性一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上正确地运行。差异只是执行时间的不同。我们称这两台计算机是软件兼容的。实现可移植性的常用方法:采用系列机、模拟与仿真、统一高级语言。软件兼容:向上〔下〕兼容:按*档机器编制的程序,不加修改就能运行于比它高〔低〕档的机器。向前〔后〕兼容:按*个时期投入市场的*种型号机器编制的程序,不加修改地就能运行于在它之前〔后〕投入市场的机器。向后兼容是系列机的根本特征。兼容机:由不同公司厂家生产的具有一样系统构造的计算机。1.第二章计算机指令集构造1.CPU中用来存储操作数的存储单元的主要类型:堆栈、累加器、通用存放器组2.通用存放器型指令集构造进一步细分为3种类型存放器-存放器型〔RR型〕存放器-存储器型〔RM型〕存储器-存储器型〔MM型〕3.指令集构造的设计主要考虑3个因素:速度、本钱、灵活性对指令集的根本要求:完整性、规整性、高效率、兼容性4.设计RISC机器遵循的原则1.指令条数少而简单。只选取使用频度很高的指令,在此根底上补充一些最有用的指令。2.采用简单而又统一的指令格式,并减少寻址方式;指令字长都为32位或64位。3.指令的执行在单个机器周期完成。(采用流水线机制)4.只有load和store指令才能存储器,其他指令的操作都是在存放器之间进展。〔即采用load-store构造〕5.大多数指令都采用硬连逻辑来实现。6.强调优化编译器的作用,为高级语言程序生成优化的代码。7.充分利用流水技术来提高性能。5.指令由两局部组成:操作码、地址码1.指令集的3种编码格式:变长编码格式、定长编码格式、混合型编码格式第三章流水线技术流水线技术:把一个重复的过程分解为假设干个子过程,每个子过程由专门的功能部件来实现。把多个处理过程在时间上错开,依次通过各功能段,这样,每个子过程就可以与其他的子过程并行进展。〔流水线中的每个子过程及其功能部件称为流水线的级或段,段与段相互连接形成流水线。流水线的段数称为流水线的深度。〕CPU流水线:IF〔取指令〕:根据PC值从指令存中读取一条指令,并且设置下一周期的PC值。ID〔解码〕:根据操作码从指令中提取操作数。E*〔执行〕:执行指令MEM〔存操作〕WB〔回写〕:修改存放器通过时间:第一个任务从进入流水线到流出结果所需的时间。排空时间:最后一个任务从进入流水线到流出结果所需的时间。流水线分类:1.单功能流水线与多功能流水线单功能流水线:只能完成一种固定功能的流水线。多功能流水线:流水线的各段可以进展不同的连接,以实现不同的功能。2.静态流水线与动态流水线静态流水线:在同一时间,多功能流水线中的各段只能按同一种功能的连接方式工作。1.动态流水线:在同一时间,多功能流水线中的各段可以按照不同的方式连接,同时执行多种功能。3.线性流水线与非线性流水线线性流水线:流水线的各段串行连接,没有反响回路。数据通过流水线中的各段时,每一个段最多只流过一次。非线性流水线:流水线中除了有串行的连接外,还有反响回路。表示方法:1.连接图:Figure1多功能流水线,可执行乘与加时空图:Figure2静态:加法完成后再进展乘法。动态:不要求加法完成性能指标:吞吐率:在单位时间流水线所完成的任务数量或输出结果的数量。加速比:完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比。效率:流水线中的设备实际使用时间与整个运行时间的比值,即流水线设备的利用率。nEn1n个任务实际占用的时空区/k个段总的时空区当流水线各段时间相等时,流水线的效率与吞吐率成正比。1.TPTknTk=(k+n-1)△tE=TP△t流水线的效率是流水线的实际加速比S与它的最大加速比k的比值。从时空图上看,效率就是n个任务占用的时空面积和k个段总的时空面之比。流水线相关:数据相关:数据相关具有传递性,反映了数据的流动关系如果两条指令使用一样的名,但是它们之间并没有数据流动,则称这两条指令存在名相关。名相关:反相关:如果指令j写的名与指令i读的名一样,则称指令i和j发生了反相关。指令j写的名=指令i读的名输出相关:如果指令j和指令i写一样的名,则称指令i和j发生了输出相关。指令j写的名=指令i写的名控制相关:控制相关是指由分支指令引起的相关流水线冲突:构造冲突:因硬件资源满足不了指令重叠执行的要求而发生的冲突。数据冲突:当指令在流水线中重叠执行时,因需要用到前面指令的执行结果而发生的冲突。控制冲突:流水线遇到分支指令和其他会改变PC值的指令所引起的冲突。解决流水线冲突:1.数据冲突有:写后读冲突〔RAW〕i写入之前,j先去读。j读出的容是错误的。对应于数据相关写后写冲突〔WAW〕i写入之前,j先写。最后写入的结果是i的。错误!对应于输出相关读后写冲突〔WAR〕i读之前,j先写。i读出的容是错误的!由反相关引起。定向技术:在*条指令产生计算结果之前,其他指令并不真正立即需要该计算结果,如果能够将该计算结果从其产生的地方直接送到其他指令需要它的地方,则就可以防止停顿。流水线互锁机制,插入“暂停〞。作用:检测发现数据冲突,并使流水线停顿,直至冲突消失。依靠编译器解决数据冲突让编译器重新组织指令顺序来消除冲突,这种技术称为指令调度或流水线调度。2.控制冲突有:处理分支指令最简单的方法:“冻结〞或者“排空〞流水线。由分支指令引起的延迟称为分支延迟。减少分支延迟的方法:预测分支失败允许分支指令后的指令继续在流水线中流动,就好象什么都没发生似的。假设确定分支失败,将分支指令看作是一条普通指令,流水线正常流动。假设确定分支成功,流水线就把在分支指令之后取出的所有指令转化为空操作,并按分支目地重新取指令执行。1.要保证:分支结果出来之前不会改变处理机的状态,以便一旦猜错时,处理机能够回退到原先的状态。预测分支成功假设分支转移成功,并从分支目标地址处取指令执行。起作用的前题:先知道分支目标地址,后知道分支是否成功。前述5段流水线中,这种方法没有任何好处。延迟分支主要思想:从逻辑上“延长〞分支指令的执行时间。把延迟分支看成是由原来的分支指令和假设干个延迟槽构成,不管分支是否成功,都要按顺序执行延迟槽中的指令。分支延迟指令的调度任务:在延迟槽中放入有用的指令。由编译器完成。能否带来好处取决于编译器能否把有用的指令调度到延迟槽中。三种调度方法:从前调度、从目标处调度、从失败处调度MIPS假设检测到RAW冲突,流水线互锁机制必须在流水线中插入停顿,并使当前正处于IF段和ID段的指令不再前进。分支指令的条件测试和分支目标地址计算在E*段完成,对PC的修改在MEM段完成。一条指令的执行过程分为以下5个周期:1.取指令周期〔IF〕1.IR←Mem[PC]。PC值加4。〔假设每条指令占4个字节〕2.指令译码/读存放器周期〔ID〕译码。用IR中的存放器编号去通用存放器组,读出所需的操作数。3.执行/有效地址计算周期〔E*〕不同指令所进展的操作不同:存储器指令:ALU把所指定的存放器的容与偏移量相加,形成用于访存的有效地址。存放器-存放器ALU指令:ALU按照操作码指定的操作对从通用存放器组中读取的数据进展运算。存放器-立即数ALU指令:ALU按照操作码指定的操作对从通用存放器组中读取的第一操作数和立即数进展运算。分支指令:ALU把偏移量与PC值相加,形成转移目标的地址。同时,对在前一个周期读出的操作数进展判断,确定分支是否成功。存储器/分支完成周期〔MEM〕该周期处理的指令只有load、store和分支指令。其他类型的指令在此周期不做任何操作。load和store指令load指令:用上一个周期计算出的有效地址从存储器中读出相应的数据。store指令:把指定的数据写入这个有效地址所指出的存储器单元。分支指令分支“成功〞,就把转移目标地址送入PC。1.分支指令执行完成。5.写回周期〔WB〕ALU运算指令和load指令在这个周期把结果数据写入通用存放器组。ALU运算指令:结果数据来自ALU。load指令:结果数据来自存储器系统。相关:两条指令之间存在*种依赖关系。流水线冲突是指对于具体的流水线来说,由于相关的存在,使得指令流中的下一条指令不能在指定的时钟周期执行。第四章:向量处理机在流水线处理机中,设置向量数据表示和相应的向量指令,称为向量处理机。〔不具有向量数据表示和相应的向量指令的流水线处理机,称为标量处理机。〕处理方式:1.横向(水平)处理方式向量计算是按行的方式从左到右横向地进展。组成循环程序进展处理。i数据相关:N次功能切换:2N次不适合于向量处理机的并行处理。2.纵向(垂直)处理方式向量计算是按列的方式从上到下纵向地进展。两条向量指令之间:数据相关:1次功能切换:1次对处理机构造的要求:存储器-存储器构造1.3.纵横(分组)处理方式又称为分组处理方式。把向量分成假设干组,组按纵向方式处理,依次处理各组。对处理机构造的要求:存放器-存放器构造提高向量处理机性能的方法:1.设置多个功能部件,使它们并行工作。2.采用技术,加快一串向量指令的执行。3.采用循环开采技术,加快循环的处理。〔分段开采:当向量长度大于向量存放器的长度,将向量分为长度相等的段〕4.采用多处理机系统,进一步提高性能。特征:具有先写后读相关的两条指令,在不出现功能部件冲突和源向量冲突的情况下,可以把功能部件起来进展流水处理,以到达加快执行的目的。特性的实质:把流水线定向的思想引入到向量执行过程的结果。向量处理机性能的主要参数:1.一行向量长度为n指令的执行时间〔2.每秒多少个浮点运算结果〔MFLOP或一个浮点运算的时间〕3.一组向量指令的处理时间4.向量流水线的最大性能R∞5.半性能向量长度n1/21.第5章指令级并行这种指令之间存在的潜在并行性称为指令级并行。指令级并行度ILP:指令中存在的一种并行性,计算机可以并行执行两条及以上的指令。开发ILP的途径有两种:1.资源重复〔主要基于硬件的动态开发方法〕2.流水线技术。〔基于软件的静态开发方法〕流水线处理机的实际CPI理想流水线的CPI加上各类停顿的时钟周期数:CPI流水线=CPI理想+停顿构造冲突+停顿数据冲突+停顿控制冲突理想CPI是衡量流水线最高性能的一个指标。动态分支预测:在程序运行时,根据分支指令过去的表现来预测其将来的行为。分支历史表BHT〔BranchHistoryTable〕或分支预测缓冲器〔BranchPredicitonBuffer〕最简单的动态分支预测方法。BHT来记录分支指令最近一次或几次的执行情况〔成功或不成功〕,并据此进展预测。BTB目标:将分支的开销降为0方法:分支目标缓冲将分支成功的分支指令的地址和它的分支目标地址都放到一个缓冲区中保存起来,缓冲区以分支指令的地址作为标识。1.这个缓冲区就是分支目标缓冲器〔Branch-TargetBuffer,简记为BTB,或者Branch-TargetCache〕。开发ILP的两种方法:记分牌动态调度算法目标:在没有构造冲突时,尽早执行没有数据冲突的指令〔指令执行时可以跨越,但是在输出段都是按序流出的〕,实现每个时钟周期执行一条指令。记分牌硬件的实现:1.记分牌中维护着三表,分别记录指令的执行状态、存放器的状态、功能部件状态、数据相关关系。2.它把流水线的译码段ID分为了两个段:流出和读操作数。记分牌流水线处理步骤:1)流出〔ID〕如果当前流出指令所需的功能部件空闲〔无构造冲突〕,并且其它执行指令的目的存放器与该指令的不同〔无WAW冲突〕,记分牌就向功能部件流出该指令,并修改记分牌部的记录表。2)读操作数(ID)监测源操作数的可用性〔前面已流出并且正在执行的指令都不对该存放器进展写操作〕,如果数据可用,它就通知功能部件从存放器中读出源操作数并开场执行3)执行〔E*〕取到操作数则开场执行,产生出结果后,就通知记分牌它已经执行完成1.4)写结果〔WB〕假设WAR冲突已经消失,记分牌则通知功能部件把结果写入目的存放器记分牌三表:1)指令状态表2)功能部件状态表,每个部件有一项,每一项由以下9个字段组成:Busy:忙标志,指出功能部件是否忙。初值为“no〞;Op:该功能部件正在执行或将要执行的操作;Fi:目的存放器编号;Fj,Fk:源存放器编号;Qj,Qk:指出向源存放器Fj、Fk写数据的功能部件;Rj,Rk:标志位,“yes〞表示Fj,Fk中的操作数就绪且还未被取走。否则就被置为“no〞。3)结果存放器状态表:指出哪个功能部件将结果写入存放器Tomasulo动态调度算法:根本思想:①记录和监测指令相关,操作数一旦就绪就立即执行,把发生RAW冲突的可能性减小到最小。②通过存放器换名来消除WAR冲突和WAW冲突根本构造:(1)保存站:保存已经流出并等待到本功能部件执行的指令,在保存站通过流出逻辑来完成的存放器换名〔顺序流出,乱序执行〕1.(2)公共数据总线〔CDB〕:所有功能部件计算结果都送到CDB,由它把这些结果直接送到各个需要该结果的地方〔乱序完成〕(3)Load/store缓冲器:作用是①存放计算有效地址的分量。②记录正在进展的load访存,等待存储器的响应/保存正在进展store访存的目标地址,等待存储数据的到达。③保存完成了的load的结果〔从存储器取来的数据〕/保存该store的地址和数据指令执行步骤:1)流出2)执行3)写结果2.根本程序块:一段除了入口和出口以外不包含其他分支的线性代码段。3.循环级并行:使一个循环中的不同循环体并行执行。4.程序顺序:由源程序确定的在完全串行方式下指令的执行顺序。保持异常行为是指:无论怎么改变指令的执行顺序,都不能改变程序中异常的发生情况。数据流:指数据值从其产生者指令到其消费者指令的实际流动。静态调度依靠编译器对代码进展静态调度,以减少相关和冲突。它不是在程序执行的过程中、而是在编译期间进展代码调度和优化。通过把相关的指令拉开距离来减少可能产生的停顿。动态调度1.在程序的执行过程中,依靠专门硬件对代码进展调度,减少数据相关导致的停顿不准确异常:当执行指令i导致发生异常时,处理机的现场〔状态〕与严格按程序顺序执行时指令i的现场不同。准确异常:如果发生异常时,处理机的现场跟严格按程序顺序执行时指令i的现场一样。记分牌算法和Tomasulo算法是两种比较典型的动态调度算法。Tomasulo算法根本思想1.核心思想记录和检测指令相关,操作数一旦就绪就立即执行,把发生RAW〔readandwrite〕冲突的可能性减少到最小;通过存放器换名来消除WAR冲突和WAW冲突。更多地依赖于硬件存放器换名可以消除WAR冲突和WAW冲突。存放器换名是通过保存站和流出逻辑来共同完成的。Tomasulo算法具有以下两个特点:冲突检测和指令执行控制是分布的。每个功能部件的保存站中的信息决定了什么时候指令可以在该功能部件开场执行。计算结果通过CDB直接从产生它的保存站传送到所有需要它的功能部件,而不用经过存放器。每个保存站有以下几个字段:1.Op:要对源操作数进展的操作。Qj,Qk:将产生源操作数的保存站号。等于0表示操作数已经就绪且在Vj或Vk中,或者不需要操作数。Vj,Vk:源操作数的值。对于每一个操作数来说,V或Q字段只有一个有效。对于load来说,Vk字段用于保存偏移量。Busy:为“yes〞表示本保存站或缓冲单元“忙〞。A:仅load和store缓冲器有该字段。开场是存放指令中的立即数字段,地址计算后存放有效地址。循环展开和指令调度增加指令间并行性最简单和最常用的方法开发循环级并行性——循环的不同迭代之间存在的并行性。在把循环展开后,通过重命名和指令调度来开发更多的并行性。编译器完成这种指令调度的能力受限于两个特性:程序固有的指令级并行性;流水线功能部件的执行延迟。循环展开和指令调度时要注意以下几个方面:保证正确性。在循环展开和调度过程中尤其要注意两个地方的正确性:循环控制,操作数偏移量的修改。注意有效性。只有能够找到不同循环体之间的无关性,才能有效地使用循环展开。使用不同的存放器。〔否则可能导致新的冲突〕删除多余的测试指令和分支指令,并对循环完毕代码和新的循环体代码进展相应的修正。注意对存储器数据的相关性分析例如:对于load指令和store指令,如果它们在不同的循环迭代中的存储器地址是不同的,它们就是相互独立的,可以相互对调。注意新的相关性由于原循环不同次的迭代在展开后都到了同一次循环体中,因此可能带来新的相关性。第九章动态互联网络1.互联网络是一种开关元件按照一定的拓扑构造和控制方式构成的网络,用来实现计算机系统中节点之间的相互连接动态网络分类:总线网络、多级互联网络、穿插开关网络互联网络三要素:互联构造、开关和控制方式根本互联函数:1)交换函数:二进制地址编码中第k位互反的输入端与输出端之间的连接。2)均匀洗牌网络。3)PM2I函数:互联网络的构造参数:网络规模N:指互联网络中节点的个数。它表示该网络所能连接的部件的数量。网络规模越大,这个互联网络的连接能力越强节点度d:指互联网络中节点所连接的边数,包括入度,出度。节点距离:从一个节点到另一个节点终止所需要跨越边数的最小值网络直径D:指网络中任意两个节点之间距离的最大值〔网络直径越小越好〕等分宽度b〔主要反映网络的最大流量〕:把由N个节点构成的网络切成节点数一样的〔N/2〕的两半,在各种切法中,沿切口边数的最小值称为该网络的等分宽度。而线等分宽度位B=b×ω〔通道宽度,单位是位数〕对称性:从任意节点看,网络构
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 败血症护理计划与实施
- 计算机基础实践与创新课件 第4章 办公软件-WPS 文字
- 人教陕西 九年级 下册 语文 第四单元《 口语交际专练 辩 论》习题课课件
- 一年级数学暑假作业口算题
- 人教版部编版小学语文一年级上册前鼻韵母的发音教学设计教案
- 新人教版高中语文必修3师说 同步练习
- 二年级数学下册脱式计算练习题-二年级下册数学脱式题
- 纳溪中学高级秋期第一次月考语文试题语文试题
- 五桂山承包饭堂合同范例
- 产品购货合同范例
- 2025年湖北省七市州高三年级3月联合统一调研测试 生物试卷(含答案解析)
- 脱口秀实战指南(如何从零开始写段子)
- 建筑工程挂靠协议模板
- 山东省济宁市2025年高考模拟考试(一模)思想政治试题(含答案)
- 玻璃水项目可行性研究报告模板
- 旅游规划与开发 课件 第四章 旅游地形象策划与功能分区
- 保险入职培训模板
- 2024年江苏食品药品职业技术学院高职单招语文历年参考题库含答案解析
- 2024年人民防空知识竞赛题库及答案(50题)
- 变电站防误闭锁装置管理
- 房地产市场报告 -锐理2024年成都房地产市场年报 20250110
评论
0/150
提交评论