ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:120.35KB ,
资源ID:2144354      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-2144354.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机体系结构知识点汇总.docx)为本站会员(wj)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

计算机体系结构知识点汇总.docx

1、第一章计算机体系结构的基本概念1.计算机系统结构的经典定义程序员所看到的计算机属性,即概念性结构与功能特性。2.透明性在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。3.系列机由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。4.常见的计算机系统结构分类法有两种:Flynn分类法、冯氏分类法Flynn分类法把计算机系统的结构分为4类:单指令流单数据流(SISD)单指令流多数据流(SIMD)多指令流单数据流(MISD)多指令流多数据流(MIMD)5. 改进后程序的总执行时间系统加速比为改进前与改进后总执行时间之比6. CPI(

2、Cycles Per Instruction):每条指令执行的平均时钟周期数 CPI = 执行程序所需的时钟周期数IC7. 存储程序原理的基本点:指令驱动8. 冯诺依曼结构的主要特点1.以运算器为中心。2.在存储器中,指令和数据同等对待。 指令和数据一样可以进行运算,即由指令组成的程序是可以修改的。3.存储器是按地址访问、按顺序线性编址的一维结构,每个单元的位数是固定的。4.指令的执行是顺序的5.指令由操作码和地址码组成。6.指令和数据均以二进制编码表示,采用二进制运算。9.软件的可移植性一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上正确地运行。差别只是执行时间的不

3、同。我们称这两台计算机是软件兼容的。实现可移植性的常用方法:采用系列机、模拟与仿真、统一高级语言 。软件兼容:向上(下)兼容:按某档机器编制的程序,不加修改就能运行于比它高(低)档的机器。向前(后)兼容:按某个时期投入市场的某种型号机器编制的程序,不加修改地就能运行于在它之前(后)投入市场的机器。向后兼容是系列机的根本特征。兼容机:由不同公司厂家生产的具有相同系统结构的计算机 。10.并行性:计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。同时性:两个或两个以上的事件在同一时刻发生。并发性:两个或两个以上的事件在同一时间间隔内发生。 从处理数据的角度来看,并行性等级从低到高可分为:1

4、.字串位串:每次只对一个字的一位进行处理。 最基本的串行处理方式,不存在并行性。2字串位并:同时对一个字的全部位进行处理,不同字之间是串行的。 开始出现并行性。3.字并位串:同时对许多字的同一位(称为位片)进行处理。 具有较高的并行性。4.全并行:同时对许多字的全部位或部分位进行处理。 最高一级的并行。从执行程序的角度来看,并行性等级从低到高可分为:1.指令内部并行:单条指令中各微操作之间的并行。2.指令级并行:并行执行两条或两条以上的指令。3.线程级并行:并行执行两个或两个以上的线程。 通常是以一个进程内派生的多个线程为调度单位。4.任务级或过程级并行:并行执行两个或两个以上的过程或任务(程

5、序段) 以子程序或进程为调度单元。5.作业或程序级并行:并行执行两个或两个以上的作业或程序。 提高并行性的技术途径:1.时间重叠 引入时间因素,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。2.资源重复 引入空间因素,以数量取胜。通过重复设置硬件资源,大幅度地提高计算机系统的性能。3.资源共享 这是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。 第二章 计算机指令集结构1. CPU中用来存储操作数的存储单元的主要类型:堆栈、累加器、通用寄存器组2. 通用寄存器型指令集结构进一步细分为3种类型寄存器-寄存器型(RR型)寄存器-

6、存储器型(RM型)存储器-存储器型(MM型)3.指令集结构的设计主要考虑3个因素:速度、成本、灵活性对指令集的基本要求:完整性、规整性、高效率、兼容性 4.设计RISC机器遵循的原则 1.指令条数少而简单。只选取使用频度很高的指令,在此基础上补充一些最有用的指令。2.采用简单而又统一的指令格式,并减少寻址方式;指令字长都为32位或64位。3.指令的执行在单个机器周期内完成。(采用流水线机制)4.只有load和store指令才能访问存储器,其他指令的操作都是在寄存器之间进行。 (即采用load-store结构)5.大多数指令都采用硬连逻辑来实现。6.强调优化编译器的作用,为高级语言程序生成优化的

7、代码。7.充分利用流水技术来提高性能。5.指令由两部分组成:操作码、地址码指令集的3种编码格式:变长编码格式、定长编码格式、混合型编码格式第三章 流水线技术1.流水线技术:把一个重复的过程分解为若干个子过程,每个子过程由专门的功能部件来实现。把多个处理过程在时间上错开,依次通过各功能段,这样,每个子过程就可以与其他的子过程并行进行。流水线中的每个子过程及其功能部件称为流水线的级或段,段与段相互连接形成流水线。流水线的段数称为流水线的深度。通过时间:第一个任务从进入流水线到流出结果所需的时间。排空时间:最后一个任务从进入流水线到流出结果所需的时间。2.分类1.单功能流水线与多功能流水线单功能流水

8、线:只能完成一种固定功能的流水线。多功能流水线:流水线的各段可以进行不同的连接,以实现不同的功能。2.静态流水线与动态流水线静态流水线:在同一时间内,多功能流水线中的各段只能按同一种功能的连接方式工作。动态流水线:在同一时间内,多功能流水线中的各段可以按照不同的方式连接,同时执行多种功能。3.部件级、处理机级及处理机间流水线部件级流水线(运算操作流水线):把处理机的算术逻辑运算部件分段,使得各种类型的运算操作能够按流水方式进行。处理机级流水线(指令流水线):把指令的解释执行过程按照流水方式处理。把一条指令的执行过程分解为若干个子过程,每个子过程在独立的功能部件中执行。处理机间流水线(宏流水线)

9、:它是由两个或者两个以上的处理机串行连接起来,对同一数据流进行处理,每个处理机完成整个任务中的一部分。4.线性流水线与非线性流水线线性流水线:流水线的各段串行连接,没有反馈回路。数据通过流水线中的各段时,每一个段最多只流过一次。非线性流水线:流水线中除了有串行的连接外,还有反馈回路。5.顺序流水线与乱序流水线顺序流水线:流水线输出端任务流出的顺序与输入端任务流入的顺序完全相同。每一个任务在流水线的各段中是一个跟着一个顺序流动的。乱序流水线:流水线输出端任务流出的顺序与输入端任务流入的顺序可以不同,允许后进入流水线的任务先完成(从输出端流出)。6.标量处理机与向量流水处理机 标量处理机:处理机不

10、具有向量数据表示和向量指令,仅对标量数据进行流水处理。向量流水处理机:具有向量数据表示和向量指令的处理机。3.吞吐率:在单位时间内流水线所完成的任务数量或输出结果的数量。解决流水线瓶颈问题的常用方法:细分瓶颈段、重复设置瓶颈段。加速比:完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比。效率:流水线中的设备实际使用时间与整个运行时间的比值,即流水线设备的利用率。当流水线各段时间相等时,流水线的效率与吞吐率成正比。 Tk=(k+n-1) t E=TPt t=T通过/m (m表示段数)流水线的效率是流水线的实际加速比S与它的最大加速比k的比值。 从时空图上看,效率就是n个任务占用的

11、时空面积和k个段总的时空面积之比。4.一条指令的执行过程分为以下5个周期:1.取指令周期(IF)IR MemPC 。PC值加4。(假设每条指令占4个字节)2.指令译码/读寄存器周期(ID)译码。用IR中的寄存器编号去访问通用寄存器组,读出所需的操作数。3.执行/有效地址计算周期(EX)不同指令所进行的操作不同:存储器访问指令:ALU把所指定的寄存器的内容与偏移量相加,形成用于访存的有效地址。寄存器寄存器ALU指令:ALU按照操作码指定的操作对从通用寄存器组中读取的数据进行运算。寄存器立即数ALU指令:ALU按照操作码指定的操作对从通用寄存器组中读取的第一操作数和立即数进行运算。分支指令:ALU

12、把偏移量与PC值相加,形成转移目标的地址。同时,对在前一个周期读出的操作数进行判断,确定分支是否成功。4存储器访问分支完成周期(MEM)该周期处理的指令只有load、store和分支指令。其他类型的指令在此周期不做任何操作。load和store指令load指令:用上一个周期计算出的有效地址从存储器中读出相应的数据。store指令:把指定的数据写入这个有效地址所指出的存储器单元。分支指令 分支“成功”,就把转移目标地址送入PC。 分支指令执行完成。5.写回周期(WB) ALU运算指令和load指令在这个周期把结果数据写入通用寄存器组。 ALU运算指令:结果数据来自ALU。 load指令:结果数据

13、来自存储器系统。5.相关:两条指令之间存在某种依赖关系。相关有3种类型:数据相关(也称真数据相关)、名相关、控制相关数据相关具有传递性,反映了数据的流动关系如果两条指令使用相同的名,但是它们之间并没有数据流动,则称这两条指令存在名相关。反相关:如果指令j写的名与指令i读的名相同,则称指令i和j发生了反相关。 指令j写的名指令i读的名输出相关:如果指令j和指令i写相同的名,则称指令i和j发生了输出相关。 指令j写的名指令i写的名换名技术:通过改变指令中操作数的名来消除名相关。前提:寄存器足够。控制相关是指由分支指令引起的相关。流水线冲突是指对于具体的流水线来说,由于相关的存在,使得指令流中的下一

14、条指令不能在指定的时钟周期执行。6.流水线冲突有3种类型:结构冲突:因硬件资源满足不了指令重叠执行的要求而发生的冲突。数据冲突:当指令在流水线中重叠执行时,因需要用到前面指令的执行结果而发生的冲突。控制冲突:流水线遇到分支指令和其他会改变PC值的指令所引起的冲突。数据冲突有:写后读冲突(RAW) 在 i 写入之前,j 先去读。 j 读出的内容是错误的。对应于数据相关写后写冲突(WAW) 在 i 写入之前,j 先写。最后写入的结果是 i 的。错误!对应于输出相关读后写冲突(WAR) 在 i 读之前,j 先写。i 读出的内容是错误的!由反相关引起。定向技术:在某条指令产生计算结果之前,其他指令并不

15、真正立即需要该计算结果,如果能够将该计算结果从其产生的地方直接送到其他指令需要它的地方,那么就可以避免停顿。流水线互锁机制,插入“暂停”。 作用:检测发现数据冲突,并使流水线停顿,直至冲突消失。 依靠编译器解决数据冲突 让编译器重新组织指令顺序来消除冲突,这种技术称为指令调度或流水线调度。控制冲突 处理分支指令最简单的方法:“冻结”或者“排空”流水线 。由分支指令引起的延迟称为分支延迟。减少分支延迟的方法:预测分支失败 允许分支指令后的指令继续在流水线中流动,就好象什么都没发生似的。若确定分支失败,将分支指令看作是一条普通指令,流水线正常流动。若确定分支成功,流水线就把在分支指令之后取出的所有

16、指令转化为空操作,并按分支目地重新取指令执行。要保证:分支结果出来之前不会改变处理机的状态,以便一旦猜错时,处理机能够回退到原先的状态。预测分支成功 假设分支转移成功,并从分支目标地址处取指令执行。起作用的前题:先知道分支目标地址,后知道分支是否成功。前述5段流水线中,这种方法没有任何好处。延迟分支主要思想: 从逻辑上“延长”分支指令的执行时间。把延迟分支看成是由原来的分支指令和若干个延迟槽构成,不管分支是否成功,都要按顺序执行延迟槽中的指令。 分支延迟指令的调度任务:在延迟槽中放入有用的指令。由编译器完成。能否带来好处取决于编译器能否把有用的指令调度到延迟槽中。三种调度方法: 从前调度、从目

17、标处调度、从失败处调度MIPS若检测到RAW冲突,流水线互锁机制必须在流水线中插入停顿,并使当前正处于IF段和ID段的指令不再前进。分支指令的条件测试和分支目标地址计算在EX段完成,对PC的修改在MEM段完成。向量处理机在流水线处理机中,设置向量数据表示和相应的向量指令,称为向量处理机。不具有向量数据表示和相应的向量指令的流水线处理机,称为标量处理机。处理方式:1.横向(水平)处理方式向量计算是按行的方式从左到右横向地进行。组成循环程序进行处理。i数据相关:N次 功能切换:2N次不适合于向量处理机的并行处理。2.纵向 (垂直)处理方式向量计算是按列的方式从上到下纵向地进行。两条向量指令之间:数

18、据相关:1次 功能切换:1次对处理机结构的要求:存储器存储器结构3.纵横 (分组)处理方式又称为分组处理方式。把向量分成若干组,组内按纵向方式处理,依次处理各组。对处理机结构的要求:寄存器寄存器结构提高向量处理机性能的方法:设置多个功能部件,使它们并行工作。采用链接技术,加快一串向量指令的执行。采用循环开采技术,加快循环的处理。采用多处理机系统,进一步提高性能。链接技术链接特征:具有先写后读相关的两条指令,在不出现功能部件冲突和源向量冲突的情况下,可以把功能部件链接起来进行流水处理,以达到加快执行的目的。链接特性的实质:把流水线定向的思想引入到向量执行过程的结果。第4章 指令级并行这种指令之间

19、存在的潜在并行性称为指令级并行。1.流水线处理机的实际CPI理想流水线的CPI加上各类停顿的时钟周期数: CPI流水线 = CPI理想 + 停顿结构冲突 + 停顿数据冲突 + 停顿控制冲突理想CPI是衡量流水线最高性能的一个指标。2.基本程序块:一段除了入口和出口以外不包含其他分支的线性代码段。3.循环级并行:使一个循环中的不同循环体并行执行。4.程序顺序:由源程序确定的在完全串行方式下指令的执行顺序。保持异常行为是指:无论怎么改变指令的执行顺序,都不能改变程序中异常的发生情况。数据流:指数据值从其产生者指令到其消费者指令的实际流动。静态调度依靠编译器对代码进行静态调度,以减少相关和冲突。它不

20、是在程序执行的过程中、而是在编译期间进行代码调度和优化。通过把相关的指令拉开距离来减少可能产生的停顿。动态调度在程序的执行过程中,依靠专门硬件对代码进行调度,减少数据相关导致的停顿不精确异常:当执行指令i导致发生异常时,处理机的现场(状态)与严格按程序顺序执行时指令i的现场不同。精确异常:如果发生异常时,处理机的现场跟严格按程序顺序执行时指令i的现场相同。记分牌算法和Tomasulo算法是两种比较典型的动态调度算法。Tomasulo算法基本思想 1.核心思想记录和检测指令相关,操作数一旦就绪就立即执行,把发生RAW冲突的可能性减少到最小;通过寄存器换名来消除WAR冲突和WAW冲突。更多地依赖于

21、硬件寄存器换名可以消除WAR冲突和WAW冲突。寄存器换名是通过保留站和流出逻辑来共同完成的。Tomasulo算法具有以下两个特点:冲突检测和指令执行控制是分布的。每个功能部件的保留站中的信息决定了什么时候指令可以在该功能部件开始执行。计算结果通过CDB直接从产生它的保留站传送到所有需要它的功能部件,而不用经过寄存器。每个保留站有以下几个字段:Op:要对源操作数进行的操作。Qj,Qk:将产生源操作数的保留站号。等于0表示操作数已经就绪且在Vj或Vk中,或者不需要操作数。Vj,Vk:源操作数的值。对于每一个操作数来说,V或Q字段只有一个有效。对于load来说,Vk字段用于保存偏移量。Busy:为“

22、yes”表示本保留站或缓冲单元“忙”。A:仅load和store缓冲器有该字段。开始是存放指令中的立即数字段,地址计算后存放有效地址。动态分支预测:在程序运行时,根据分支指令过去的表现来预测其将来的行为。分支历史表BHT(Branch History Table)或分支预测缓冲器(Branch Prediciton Buffer)最简单的动态分支预测方法。 用BHT来记录分支指令最近一次或几次的执行情况(成功或不成功),并据此进行预测。 BTB目标:将分支的开销降为 0方法:分支目标缓冲将分支成功的分支指令的地址和它的分支目标地址都放到一个缓冲区中保存起来,缓冲区以分支指令的地址作为标识。这个

23、缓冲区就是分支目标缓冲器(Branch-Target Buffer,简记为BTB,或者Branch-Target Cache)。 循环展开和指令调度增加指令间并行性最简单和最常用的方法开发循环级并行性循环的不同迭代之间存在的并行性。在把循环展开后,通过重命名和指令调度来开发更多的并行性。 编译器完成这种指令调度的能力受限于两个特性:程序固有的指令级并行性;流水线功能部件的执行延迟。循环展开和指令调度时要注意以下几个方面:保证正确性。在循环展开和调度过程中尤其要注意两个地方的正确性:循环控制,操作数偏移量的修改。注意有效性。只有能够找到不同循环体之间的无关性,才能有效地使用循环展开。使用不同的寄存器。(否则可能导致新的冲突)删除多余的测试指令和分支指令,并对循环结束代码和新的循环体代码进行相应的修正。注意对存储器数据的相关性分析 例如:对于load指令和store指令,如果它们在不同的循环迭代中访问的存储器地址是不同的,它们就是相互独立的,可以相互对调。注意新的相关性 由于原循环不同次的迭代在展开后都到了同一次循环体中,因此可能带来新的相关性。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2