首页 计算机体系结构习题答案

计算机体系结构习题答案

举报
开通vip

计算机体系结构习题答案计算机体系结构习题答案 第1章 计算机系统结构的基本概念 1.1 解释下列术语 层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。 虚拟机:用软件实现的机器。 翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。 解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效...

计算机体系结构习题答案
计算机体系结构习题答案 第1章 计算机系统结构的基本概念 1.1 解释下列术语 层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。 虚拟机:用软件实现的机器。 翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。 解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。 计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。 透明性:在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。 计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。 计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。 系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。 Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。 程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。包括时间局部性和空间局部性。 CPI:每条指令执行的平均时钟周期数。 测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。 存储程序计算机:冯·诺依曼结构计算机。其基本点是指令驱动。程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。 系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。 软件兼容:一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上运行。差别只是执行时间的不同。 向上(下)兼容:按某档计算机编制的程序,不加修改就能运行于比它高(低)档的计算机。 向后(前)兼容:按某个时期投入市场的某种型号计算机编制的程序,不加修改地就能 运行于在它之后(前)投入市场的计算机。 兼容机:由不同公司厂家生产的具有相同系统结构的计算机。 模拟:用软件的方法在一台现有的计算机(称为宿主机)上实现另一台计算机(称为虚拟机)的指令系统。 仿真:用一台现有计算机(称为宿主机)上的微程序去解释实现另一台计算机(称为目标机)的指令系统。 并行性:计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。只要在时间上相互重叠,就存在并行性。它包括同时性与并发性两种含义。 时间重叠:在并行性概念中引入时间因素,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。 资源重复:在并行性概念中引入空间因素,以数量取胜。通过重复设置硬件资源,大幅度地提高计算机系统的性能。 资源共享:这是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。 耦合度:反映多机系统中各计算机之间物理连接的紧密程度和交互作用能力的强弱。 紧密耦合系统:又称直接耦合系统。在这种系统中,计算机之间的物理连接的频带较高,一般是通过总线或高速开关互连,可以共享主存。 松散耦合系统:又称间接耦合系统,一般是通过通道或通信线路实现计算机之间的互连,可以共享外存设备(磁盘、磁带等)。计算机之间的相互作用是在文件或数据集一级上进行。 异构型多处理机系统:由多个不同类型、至少担负不同功能的处理机组成,它们按照作业要求的顺序,利用时间重叠原理,依次对它们的多个任务进行加工,各自完成 规定 关于下班后关闭电源的规定党章中关于入党时间的规定公务员考核规定下载规定办法文件下载宁波关于闷顶的规定 的功能动作。 同构型多处理机系统:由多个同类型或至少担负同等功能的处理机组成,它们同时处理同一作业中能并行执行的多个任务。 1.2 试用实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系。 答:如在设计主存系统时,确定主存容量、编址方式、寻址范围等属于计算机系统结构。确定主存周期、逻辑上是否采用并行主存、逻辑设计等属于计算机组成。选择存储芯片类型、微组装技术、线路设计等属于计算机实现。 计算机组成是计算机系统结构的逻辑实现。计算机实现是计算机组成的物理实现。一种体系结构可以有多种组成。一种组成可以有多种实现。 1.3 计算机系统结构的Flynn分类法是按什么来分类的?共分为哪几类? 答:Flynn分类法是按照指令流和数据流的多倍性进行分类。把计算机系统的结构分为: (1) 单指令流单数据流SISD (2) 单指令流多数据流SIMD (3) 多指令流单数据流MISD (4) 多指令流多数据流MIMD 1.4 计算机系统设计中经常使用的4个定量原理是什么?并说出它们的含义。 答:(1)以经常性事件为重点。在计算机系统的设计中,对经常发生的情况,赋予 它优先的处理权和资源使用权,以得到更多的总体上的改进。(2)Amdahl定律。加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性。(3)CPU性能公式。执行一个程序所需的CPU时间 = IC ×CPI ×时钟周期时间。(4)程序的局部性原理。程序在执行时所访问地址的分布不是随机的,而是相对地簇聚。 1.5 分别从执行程序的角度和处理数据的角度来看,计算机系统中并行性等级从低到高可分为哪几级? 答:从处理数据的角度来看,并行性等级从低到高可分为: (1)字串位串:每次只对一个字的一位进行处理。这是最基本的串行处理方式,不存在并行性; (2)字串位并:同时对一个字的全部位进行处理,不同字之间是串行的。已开始出现并行性; (3)字并位串:同时对许多字的同一位(称为位片)进行处理。这种方式具有较高的并行性; (4)全并行:同时对许多字的全部位或部分位进行处理。这是最高一级的并行。 从执行程序的角度来看,并行性等级从低到高可分为: (1)指令内部并行:单条指令中各微操作之间的并行; (2)指令级并行:并行执行两条或两条以上的指令; (3)线程级并行:并行执行两个或两个以上的线程,通常是以一个进程内派生的多个线程为调度单位; (4)任务级或过程级并行:并行执行两个或两个以上的过程或任务(程序段),以子程序或进程为调度单元; (5)作业或程序级并行:并行执行两个或两个以上的作业或程序。 1.6 某台主频为400MHz的计算机执行 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 测试程序,程序中指令类型、执行数量 求该计算机的有效CPI、MIPS和程序执行时间。 解:(1)CPI =(45000×1+75000×2+8000×4+1500×2) / 129500=1.776 (2)MIPS速率=f/ CPI =400/1.776 =225.225MIPS (3)程序执行时间= (45000×1+75000×2+8000×4+1500×2)/400=575s 1.7 将计算机系统中某一功能的处理速度加快10倍,但该功能的处理时间仅为整个系统运行时间的40%,则采用此增强功能方法后,能使整个系统的性能提高多少? 解 由题可知: 可改进比例 = 40% = 0.4 部件加速比 = 10 根据Amdahl定律可知: 1系统加速比??1.5625 0.4?1?0.4??1 10 采用此增强功能方法后,能使整个系统的性能提高到原来的1.5625倍。 1.8 计算机系统中有三个部件可以改进,这三个部件的部件加速比为: 部件加速比1=30; 部件加速比2=20; 部件加速比3=10 (1) 如果部件1和部件2的可改进比例均为30%,那么当部件3的可改进比例为多少时,系统加速比才可以达到10? (2) 如果三个部件的可改进比例分别为30%、30%和20%,三个部件同时改进,那么系统中不可加速部分的执行时间在总执行时间中占的比例是多少? 解:(1)在多个部件可改进情况下,Amdahl定理的扩展: 1 Sn?Fi1?10FiF)?=?,已知S1=30,S2=20,S3=10,Sn(=1?SiF2=0.3,得: 得F3=0.36,即部件3的可改进比例为36%。 (2)设系统改进前的执行时间为T,则3个部件改进前的执行时间为:(0.3+0.3+0.2)T = 0.8T,不可改进部分的执行时间为0.2T。 已知3个部件改进后的加速比分别为S1=30,S2=20,S3=10,因此3个部件改进后的执行时间为: 0.3T0.3T0.2T'Tn????0.045T 302010 改进后整个系统的执行时间为:Tn = 0.045T+0.2T = 0.245T 那么系统中不可改进部分的执行时间在总执行时间中占的比例是: 0.2T?0.82 0.245T1.9 假设某应用程序中有4类操作,通过改进,各操作获得不同的性能提高。具体 1(-0.3?0.3?F3)?(0.3/30?0.3/20?F3/10) (1)改进后,各类操作的加速比分别是多少? (2)各类操作单独改进后,程序获得的加速比分别是多少? (3)4类操作均改进后,整个程序的加速比是多少? 2.4 指令集应满足哪几个基本要求? 答:对指令集的基本要求是:完整性、规整性、高效率和兼容性。 完整性是指在一个有限可用的存储空间内,对于任何可解的问题,编制计算程序时,指令集所提供的指令足够使用。 规整性主要包括对称性和均匀性。对称性是指所有与指令集有关的存储单元的使用、操作码的设置等都是对称的。均匀性是指对于各种不同的操作数类型、字长、操作种类和数据存储单元,指令的设置都要同等对待。 高效率是指指令的执行速度快、使用频度高。 2.5 指令集结构设计所涉及的 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 有哪些? 答: (1) 指令集功能设计:主要有RISC和CISC两种技术发展方向; (2) 寻址方式的设计:设置寻址方式可以通过对基准程序进行测试统计,察看各种寻址方式的使用频率,根据适用频率设置必要的寻址方式。 (3) 操作数表示和操作数类型:主要的操作数类型和操作数表示的选择有:浮点数据类型、整型数据类型、字符型、十进制数据类型等等。 (4) 寻址方式的表示:可以将寻址方式编码于操作码中,也可以将寻址方式作为一个单独的域来表示。 (5) 指令集格式的设计:有变长编码格式、固定长度编码格式和混合型编码格式3种。 2.6 简述CISC指令集结构功能设计的主要目标。从当前的计算机技术观点来看,CISC指令集结构的计算机有什么缺点? 答:主要目标是增强指令功能,把越来越多的功能交由硬件来实现,并且指令的数量也是越来越多。 缺点: (1) CISC结构的指令集中,各种指令的使用频率相差悬殊。(2)CISC结构指令的复杂性带来了计算机体系结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。(3)CISC结构指令集的复杂性给VLSI设计增加了很大负担,不利于单片集成。(4)CISC结构的指令集中,许多复杂指令需要很复杂的操作,因而运行速度慢。 (5) 在CISC结构的指令集中,由于各条指令的功能不均衡性,不利于采用先进的计算机体系结构技术(如流水技术)来提高系统的性能。 2.7 简述RISC指令集结构的设计原则。 答(1) 选取使用频率最高的指令,并补充一些最有用的指令;(2)每条指令的功能应尽可能简单,并在一个机器周期内完成;(3)所有指令长度均相同;(4)只有Load和Store操作指令才访问存储器,其它指令操作均在寄存器之间进行; (5) 以简单有效的方式支持高级语言。 2.8 指令中表示操作数类型的方法有哪几种? 答:操作数类型有两种表示方法:(1)操作数的类型由操作码的编码指定,这是最常见的一种方法;(2)数据可以附上由硬件解释的标记,由这些标记指定操作数的类型,从而选择适当的运算。 2.9 表示寻址方式的主要方法有哪些?简述这些方法的优缺点。 答:表示寻址方式有两种常用的方法:(1)将寻址方式编于操作码中,由操作码在描述指令的同时也描述了相应的寻址方式。这种方式译码快,但操作码和寻址方式的结合不仅增加了指令的条数,导致了指令的多样性,而且增加了CPU对指令译码的难度。 (2)为每个操作数设置一个地址描述符,由该地址描述符表示相应操作数的寻址方式。这种方式译码较慢,但操作码和寻址独立,易于指令扩展。 2.10 通常有哪几种指令格式,请简述其适用范围。 答: (1) 变长编码格式。如果系统结构设计者感兴趣的是程序的目标代码大小,而不是性能,就可以采用变长编码格式。(2)固定长度编码格式。如果感兴趣的是性能,而不是程序的目标代码大小,则可以选择固定长度编码格式。 (3) 混合型编码格式。需要兼顾降低目标代码长度和降低译码复杂度时,可以采用混合型编码格式。 2.11 根据CPU性能公式简述RISC指令集结构计算机和CISC指令集结构计算机的性能特点。 答:CPU性能公式:CPU时间=IC×CPI×T 其中,IC为目标程序被执行的指令条数,CPI为指令平均执行周期数,T是时钟周期的时间。 相同功能的CISC目标程序的指令条数ICCISC 少于RISC的ICRISC,但是CISC的CPICISC和TCISC都大于RISC的CPIRISC和TRISC,因此,CISC目标程序的执行时间比RISC的更长。 第3章 流水线技术 3.1解释下列术语 流水线:将一个重复的时序过程,分解成为若干个子过程,而每一个子过程都可有效地在其专用功能段上与其它子过程同时执行。 单功能流水线:指流水线的各段之间的连接固定不变、只能完成一种固定功能的流水线。 多功能流水线:指各段可以进行不同的连接,以实现不同的功能的流水线。 静态流水线:指在同一时间内,多功能流水线中的各段只能按同一种功能的连接方式工作的流水线。当流水线要切换到另一种功能时,必须等前面的任务都流出流水线之后,才能改变连接。 动态流水线:指在同一时间内,多功能流水线中的各段可以按照不同的方式连接,同时执行多种功能的流水线。它允许在某些段正在实现某种运算时,另一些段却在实现另一种运算。 部件级流水线:把处理机中的部件进行分段,再把这些部件分段相互连接而成。它使得运算操作能够按流水方式进行。这种流水线也称为运算操作流水线。 处理机级流水线:又称指令流水线。它是把指令的执行过程按照流水方式进行处理,即把一条指令的执行过程分解为若干个子过程,每个子过程在独立的功能部件中执行。 处理机间流水线:又称为宏流水线。它是把多个处理机串行连接起来,对同一数据流进行处理,每个处理机完成整个任务中的一部分。前一个处理机的输出结果存入存储器中, 作为后一个处理机的输入。 线性流水线:指各段串行连接、没有反馈回路的流水线。数据通过流水线中的各段时,每一个段最多只流过一次。 非线性流水线:指各段除了有串行的连接外,还有反馈回路的流水线。 顺序流水线:流水线输出端任务流出的顺序与输入端任务流入的顺序完全相同。 乱序流水线:流水线输出端任务流出的顺序与输入端任务流入的顺序可以不同,允许后进入流水线的任务先完成。这种流水线又称为无序流水线、错序流水线、异步流水线。 吞吐率:在单位时间内流水线所完成的任务数量或输出结果的数量。 流水线的加速比:使用顺序处理方式处理一批任务所用的时间与按流水处理方式处理同一批任务所用的时间之比。 流水线的效率:即流水线设备的利用率,它是指流水线中的设备实际使用时间与整个运行时间的比值。 数据相关:考虑两条指令i和j,i在j的前面,如果下述条件之一成立,则称指令j与指令i数据相关: (1)指令j使用指令i产生的结果; (2)指令j与指令k数据相关,而指令k又与指令i数据相关。 名相关:如果两条指令使用了相同的名,但是它们之间并没有数据流动,则称这两条指令存在名相关。 控制相关:是指由分支指令引起的相关。它需要根据分支指令的执行结果来确定后面该执行哪个分支上的指令。 反相关:考虑两条指令i和j,i在j的前面,如果指令j所写的名与指令i所读的名相同,则称指令i和j发生了反相关。 输出相关:考虑两条指令i和j,i在j的前面,如果指令j和指令i所写的名相同,则称指令i和j发生了输出相关。 换名技术:名相关的两条指令之间并没有数据的传送,只是使用了相同的名。可以把其中一条指令所使用的名换成别的,以此来消除名相关。 结构冲突:因硬件资源满足不了指令重叠执行的要求而发生的冲突。 数据冲突:当指令在流水线中重叠执行时,因需要用到前面指令的执行结果而发生的冲突。 控制冲突:流水线遇到分支指令或其它会改变PC值的指令所引起的冲突。 定向:用来解决写后读冲突的。在发生写后读相关的情况下,在计算结果尚未出来之前,后面等待使用该结果的指令并不见得是马上就要用该结果。如果能够将该计算结果从其产生的地方直接送到其它指令需要它的地方,那么就可以避免停顿。 写后读冲突:考虑两条指令i和j,且i在j之前进入流水线,指令j用到指令i的计算结果,而且在i将结果写入寄存器之前就去读该寄存器,因而得到的是旧值。 读后写冲突:考虑两条指令i和j,且i在j之前进入流水线,指令j的目的寄存器和指令i的源操作数寄存器相同,而且j在i读取该寄存器之前就先对它进行了写操作,导致i读到的值是错误的。 写后写冲突:考虑两条指令i和j,且i在j之前进入流水线,,指令j和指令i的结果单 元(寄存器或存储器单元)相同,而且j在i写入之前就先对该单元进行了写入操作,从而导致写入顺序错误。这时在结果单元中留下的是i写入的值,而不是j写入的。 链接技术:具有先写后读相关的两条指令,在不出现功能部件冲突和Vi冲突的情况下,可以把功能部件链接起来进行流水处理,以达到加快执行的目的。 分段开采:当向量的长度大于向量寄存器的长度时,必须把长向量分成长度固定的段,然后循环分段处理,每一次循环只处理一个向量段。 半性能向量长度:向量处理机的性能为其最大性能R?的一半时所需的向量长度。 向量长度临界值:向量流水方式的处理速度优于标量串行方式的处理速度时所需的向量长度的最小值。 3.2 指令的执行可采用顺序执行、重叠执行和流水线三种方式,它们的主要区别是什么?各有何优缺点。 答:(1)指令的顺序执行是指指令与指令之间顺序串行。即上一条指令全部执行完后,才能开始执行下一条指令。 优点:控制简单,节省设备。缺点:执行指令的速度慢,功能部件的利用率低。 (2)指令的重叠指令是在相邻的指令之间,让第k条指令与取第k+l条指令同时进行。重叠执行不能加快单条指令的执行速度,但在硬件增加不多的情况下,可以加快相邻两条指令以及整段程序的执行速度。与顺序方式相比,功能部件的利用率提高了,控制变复杂了。 (3)指令的流水执行是把一个指令的执行过程分解为若干个子过程,每个子过程由专门的功能部件来实现。把多个处理过程在时间上错开,依次通过各功能段,每个子过程与其它的子过程并行进行。依靠提高吞吐率来提高系统性能。流水线中各段的时间应尽可能相等 3.3 简述先行控制的基本思想。 答:先行控制技术是把缓冲技术和预处理技术相结合。缓冲技术是在工作速度不固定的两个功能部件之间设置缓冲器,用以平滑它们的工作。预处理技术是指预取指令、对指令进行加工以及预取操作数等。 采用先行控制方式的处理机内部设置多个缓冲站,用于平滑主存、指令分析部件、运算器三者之间的工作。这样不仅使它们都能独立地工作,充分忙碌而不用相互等待,而且使指令分析部件和运算器分别能快速地取得指令和操作数,大幅度地提高指令的执行速度和部件的效率。这些缓冲站都按先进先出的方式工作,而且都是由一组若干个能快速访问的存储单元和相关的控制逻辑组成。 采用先行控制技术可以实现多条指令的重叠解释执行。 3.4 设一条指令的执行过程分成取指令、分析指令和执行指令三个阶段,每个阶段所需的时间分别为△t、△t和2△t 。分别求出下列各种情况下,连续执行N条指令所需的时间。 (1)顺序执行方式; (2)只有“取指令”与“执行指令”重叠; (3)“取指令”、“分析指令”与“执行指令”重叠。 解:(1)每条指令的执行时间为:△t+△t+2△t=4△t c[i+1]=a[i]+d[i] ; /* s2 */ ; /* s3 */ ;/* s4 */ ; /* s1 */ ; /* s2 */ ; /* s3 */ ; /* s4 */ ; /* s1? */ ; /* s2 ?*/ ; /* s3 ?*/ a[i-1]=2*b[i] b[i+1]=2*b[i] 解:展开循环两次: a[i] = b[i] + a[i] c[i+1] = a[i] + d[i] a[i-1] = 2 * b[i] b[i+1] = 2 * b[i] a[i+1] = b[i+1] + a[i+1] c[i+2] = a[i+1] + d[i+1] a[i] = 2 * b[i+1] b[i+2] = 2 * b[i+1] ; /* s4 ?*/ 输出相关:无 反相关:无 真相关:S1&S2 由于循环引入的相关:S4&S4’(真相关)、S1’&S4(真相关)、S3’&S4(真相关)、S1&S3’(输出相关、反相关)、S2&S3’(反相关)。 3.10 简述三种向量处理方式,它们对向量处理机的结构要求有何不同? 答 (1)横向处理方式:若向量长度为N,则水平处理方式相当于执行N次循环。若使用流水线,在每次循环中可能出现数据相关和功能转换,不适合对向量进行流水处理。 (2)纵向处理方式:将整个向量按相同的运算处理完毕之后,再去执行其他运算。适合对向量进行流水处理,向量运算指令的源/目向量都放在存储器内,使得流水线运算部件的输入、输出端直接与存储器相联,构成M-M型的运算流水线。 (3)纵横处理方式:把长度为N的向量分为若干组,每组长度为n,组内按纵向方式处理,依次处理各组,组数为「N/n」,适合流水处理。可设长度为n的向量寄存器,使每组向量运算的源/目向量都在向量寄存器中,流水线的运算部件输入、输出端与向量寄存器相联,构成R-R型运算流水线。 3.11 可采用哪些方法来提高向量处理机的性能? 答:可采用多种方法: (1) 设置多个功能部件,使它们并行工作; (2) 采用链接技术,加快一串向量指令的执行; (3) 采用循环开采技术,加快循环的处理; (4) 采用多处理机系统,进一步提高性能。 3.12 有一指令流水线如下所示 50ns 50ns 100ns 200ns (1) 求连续输入10条指令,该流水线的实际吞吐率和效率; (2) 该流水线的“瓶颈”在哪一段?请采取两种不同的措施消除此“瓶颈”。对于你 所给出的两种新的流水线,连续输入10条指令时,其实际吞吐率和效率各是多少? 解:(1) m Tpipeline???ti?(n?1)?tmax ?(50?50?100?200)?9?200 ?2200(ns) TP?pipeline (ns?1)E?TP? ??45.45%411 (3) 瓶颈在3、4段。 ? 变成八级流水线(细分) TP?pipeline ?(ns?1) Tpipeline???ti?(n?1)?tmax ?50?8?9?50 ?850(ns) E?TP? 40010?TP???58.82% TP?pipeline ?(ns?1) ?400???58.82% 3.13有一个流水线由4段组成,其中每当流经第3段时,总要在该段循环一次,然后才能流到第4段。如果每段经过一次所需要的时间都是?t,问: (1) 当在流水线的输入端连续地每?t时间输入任务时,该流水线会发生什么情 (2) 此流水线的最大吞吐率为多少?如果每2?t输入一个任务,连续处理10个 任务时的实际吞吐率和效率是多少? (3) 当每段时间不变时,如何提高该流水线的吞吐率?仍连续处理10个任务时, 其吞吐率提高多少? 段23 1 TPmax?Tpipeline 2?t?23?tpipeline ??t?54.35% ?E?TP?5?t? 3.14 有一条静态多功能流水线由5段组成,加法用1、3、4、5段,乘法用1、2、5段,第3段的时间为2△t,其余各段的时间均为△t,而且流水线的输出可以直接返回输入端或 暂存于相应的流水寄存器中。现要在该流水线上计算 ? ( A i ? B i) ,画出其时空图, 并计算其吞吐率、加速比和效率。 解:首先,应选择适合于流水线工作的算法。对于本题,应先计算A1+B1、A2+B2、A3+B3和A4+B4;再计算(A1+B1) ×(A2+B2)和(A3+B3) ×(A4+B4);然后求总的结果。 其次,画出完成该计算的时空图,如图所示,图中阴影部分表示该段在工作。 A1 A2 A3 A4 B1 B2 B3 B4 A×B A C 由图可见,它在18个△t时间中,给出了7个结果。所以吞吐率为: 如果不用流水线,由于一次求积需3△t,一次求和需5△t,则产生上述7个结果共需(4×5+3×3)△t =29△t。所以加速比为: 2 9 ? t S??1.61 该流水线的效率可由阴影区的面积和5个段总时空区的面积的比值求得: E ? 4 ? 5 ? 3 ? 3 ? 0 .3 22 乘法 加法 3.15 动态多功能流水线由6个功能段组成,如下图: 其中,S1、S4、S5、S6组成乘法流水线,S1、S2、S3、S6组成加法流水线,各个功能段时间均为50ns,假设该流水线的输出结果可以直接返回输入端,而且设置有足够5 的缓冲寄存器,若以最快的方式用该流水计算:?xiyizi (1) 画出时空图; (2) 计算实际的吞吐率、加速比和效率。 解:机器一共要做10次乘法,4次加法。 3.16 在MIPS流水线上运行如下代码序列: LOOP: LW R1,0(R2) DADDIU R1,R1,#1 SW R1, 0(R2) DADDIU R2,R2,#4 DSUB R4,R3,R2 BNEZ R4,LOOP 其中:R3的初值是R2+396。假设:在整个代码序列的运行过程中,所有的存储器访问都是命中的,并且在一个时钟周期中对同一个寄存器的读操作和写操作可以通过寄存器文件“定向”。问: (1) 在没有任何其它定向(或旁路)硬件的支持下,请画出该指令序列执行的流 水线时空图。假设采用排空流水线的策略处理分支指令,且所有的存储器访问都命中Cache,那么执行上述循环需要多少个时钟周期? (2) 假设该流水线有正常的定向路径,请画出该指令序列执行的流水线时空图。 假设采用预测分支失败的策略处理分支指令,且所有的存储器访问都命中 Cache,那么执行上述循环需要多少个时钟周期? (3) 假设该流水线有正常的定向路径和一个单周期延迟分支,请对该循环中的指 令进行调度,你可以重新组织指令的顺序,也可以修改指令的操作数,但是注意不能增加指令的条数。请画出该指令序列执行的流水线时空图,并计算执行上述循环所需要的时钟周期数。 指令123456789 LW IFIDEXMWB解: DADDIUIFSSIDEXMWB 寄存器读写可以定向,无其他旁路硬件支持。排空流水线。 SWIFSSIDEXM DADDIUIFIDE DSUBIFS 第i次迭代(i=0..98)开始周期:1+(i×17) 总的时钟周期数:(98×17)+18=1684 LW 有正常定向路径,预测分支失败。 第i次迭代(i=0..98)开始周期:1+(i×10) 指令 LW总的时钟周期数:(98×10)+11=991 DADDIU有正常定向路径。单周期延迟分支。 LOOP: LW R1,0(R2) DADDIU DADDIU R2,R2,#4 DSUB BNEZDADDIU R1,R1,#1 DSUB R4,R3,R2 BNEZ R4,LOOP SW R1,-4(R2) 第i次迭代(i =0..98)开始周期:1+(i×6) 总的时钟周期数:(98×6)+10=598 3456EXMWBIDSEXMIFSIDEX 7WBMEXIDIF DADDIUDADDIUDSUBBNEZSWLW 34EXMIDEXIFID 5WBMEXIDIF WMEIDIF 现有一条段数为4的流水线,无条件分支在第二个时钟周期结束时就被解析出来, 而条件分支要到第三个时钟周期结束时才能够被解析出来。第一个流水段是完全独立于指令类型的,即所有类型的指令都必须经过第一个流水段的处理。请问在没有任何控制相关的情况下,该流水线相对于存在上述控制相关情况下的加速比是多少? 解:没有控制相关时流水线的平均CPI=1 存在控制相关时:由于无条件分支在第二个时钟周期结束时就被解析出来,而条件分支 要到第3个时钟周期结束时才能被解析出来。所以: (1)若使用排空流水线的策略,则对于条件分支,有两个额外的stall,对无条件分支,有一个额外的stall: CPI = 1+20%*2+5%*1 = 1.45 加速比S=CPI/1 = 1.45 (2) 若使用预测分支成功策略,则对于不成功的条件分支,有两个额外的stall,对无条件分支和成功的条件分支,有一个额外的stall 1: CPI = 1+20%*(60%*1+40%*2) +5%*1 = 1.33 加速比S=CPI/1 = 1.33 (3)若使用预测分支失败策略,则对于成功的条件分支,有两个额外的stall;对无条件分支,有一个额外的stall;对不成功的条件分支,其目标地址已经由PC 值给出,不必等待,所以无延迟: CPI = 1+20%*(60%*2 + 40%*0) +5%*1 = 1.29 加速比S=CPI/1 = 1.29 3.18 在CRAY-1机器上,按照链接方式执行下述4条向量指令(括号中给出了相应功能部件的执行时间),如果向量寄存器和功能部件之间的数据传送需要1拍,试求此链接流水线的通过时间是多少拍?如果向量长度为64,则需多少拍才能得到全部结果? V0←存储器 (从存储器中取数:7 V2←V0+V1 (向量加:3拍) V3←V2 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 。其主要优点是采用模块化结构,可扩展性较好。不过,其时延随网络级数的增加而上升。另外,由于其硬件复杂度比总线高很多,其成本也不低。 7.3 设E为交换函数,S为均匀洗牌函数,B为蝶式函数,PM2I为移数函数,函数的自变量是十进制数表示的处理机编号。现有32台处理机,其编号为0,1,2,?,31。 (1)分别计算下列互连函数 E2(12) S(8) B(9) PM2I+3(28) E0(S(4)) S(E0(18)) (2)用E0和S构成均匀洗牌交换网(每步只能使用E0和S一次),网络直径是多少?从5号处理机发送数据到7号处理机,最短路径要经过几步?请列出经过的处理机编号。 (3)采用移数网络构成互连网,网络直径是多少?结点度是多少?与2号处理机距离最远的是几号处理机? 解:(1)共有32个处理机,表示处理机号的二进制地址应为5位。 E2(12)=E2(01100)=01000(8) S(8)=S(01000)=10000(16) B(9)=B(01001)=11000(24) PM2I+3(28)=28+23 mod32 =4 E0(S(4))=E0(S(00100))=01001(9) S(E0(18))=S(E0(10010))=S(10011)=00111(7) (2)2n个结点的均匀洗牌交换网的网络直径为2n-1,32个结点的均匀洗牌交换网的网络直径为9。 从5号处理机发送数据到7号处理机,最短路径要经过6步: 00101→00100→01000→01001→10010→10011→00111 (3)网络直径是3,结点度是9,与2号处理机距离最远的是13、15、21、23号处理机。 7.7 具有N=2n 个输入端的Omega网络,采用单元控制。 (1)N个输入总共应有多少种不同的排列? (2)该Omega网络通过一次可以实现的置换总共可有多少种是不同的? (3)若N=8,计算一次通过能实现的置换数占全部排列的百分比。 解:(1)N个输入的不同排列数为N!。 (2)N个输入端、输出端的Omega网络有n=log2N级开关级,每级开关级有N/2个2×2的4功能开关,总共有(N/2)log2N个开关。置换连接是指网络的输入端与输出端的一对一连接,故只考虑2×2开关的2个功能状态,即直送与交叉。网络采用单元控制,因此,每个开关都根据连接要求处于2个功能状态中的一种状态,所以,由(N/2)log2N个开关组成的Omega网络的开关状态的种树为: (N/2)log2N2?NN/2 一种网络开关状态实现Omega网络的一种无冲突的置换连接,所以,一次使用Omega网络可以实现的无冲突的置换连接有NN/2种。 (3)若N=8,则一次通过能实现的置换数占全部排列的百分比为: NN/2844096???10.16% N!8!403207.8 用一个N=8的三级Omega网络连接8个处理机(P0~P7),8个处理机的输出端分别依序连接Omega网络的8个输入端0~7,8个处理机的输入端分别依序连接Omega网络的8个输出端0~7。如果处理机P6要把数据播送给处理机P0~P4,处理机P3要把数据播送给处理机P5~P7,那么,Omega网络能否同时为它们的播送要求实现连接?画出实现播送的Omega网络的开关状态图。 7 0 1 2 3 4 5 6 7 解:Omega网络使用的2×2开关有4种状态:直送、交叉、上播、下播。置换连接只使用直送和交叉状态,播送连接还需要使用上播和下播状态。分别画出实现处理机P6和P3的播送连接要求使用的开关状态,如果没有开关状态和开关输出端争用冲突,就可以使用播送连接。实际上,它们的播送要求没有冲突,因此,可以同时实现,同时实现的Omega网络开关状态图如下所示。 7.9试证明多级Omega网络采用不同大小构造块构造时所具有的下列特性: (1)一个k×k开关模块的合法状态(连接)数目等于kk。 (2)试计算用2×2开关模块构造的64个输入端的Omega网络一次通过所能实现 置换的百分比。 (3)采用8×8开关模块构造64个输入端的Omega网络,重复(2)。 (4)采用8×8开关模块构造512个输入端的Omega网络,重复(2)。 解:(1)一个k×k开关的合法状态或合法连接有:① 一个输入端连接一个输出端,即一对一的置换连接;② 一个输入端连接多个或全部输出端,即一对多的选播连接或一对全体的广播连接。 两个或两个以上的输入端连接一个输出端是非法连接。因此,某个输出端可被连接到任意一个输入端的连接有k种,无论这个输出端是被置换连接还是被播送连接。 k个输出端被连接到输入端的合法连接的数量为: k×k×?×k=kk (2)用k×k开关模块构造N个输入端的Omega网络时,开关级数为n=logkN,每级开关模块数为N/k,网络的开关模块总数为(N/k)logkN。 一个k×k开关一对一连接的合法状态只有k种,所有开关都是一对一连接的合法状态才能实现一种一次使用网络的无冲突置换连接。因此,由(N/k)logkN个k×k开关组成的Omega网络一次使用的无冲突置换连接函数为: NNNlogkNkk?(klogkN)k?Nk 网络可以实现的置换连接数即为N个输出端的不同排序的排序数,即为N!,所以,Omega网使用一次实现的无冲突置换连接数占可以实现的置换连接数的比例为: N Nk/N! 若采用2×2开关模块构造的64个输入端的Omega网络,即有k=2,N=64,则Omega网使用一次实现置换连接的比例为: (3)若采用8×8开关模块构造64个输入端的Omega网络,即有k=8,N=64,则Omega网使用一次实现置换连接的比例为: ?3.85?10-16 64!(4)若采用8×8开关模块构造512个输入端的Omega网络,即有k=8,N=512, 则Omega网使用一次实现置换连接的比例为: 51264/512! 6432?4.95?10-32 64! 第1章 计算机系统结构的基本概念 1.1 解释下列术语 层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。 虚拟机:用软件实现的机器。 翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。 解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。 计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。 透明性:在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。 计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。 计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。 系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。 Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。 程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。包括时间局部性和空间局部性。 CPI:每条指令执行的平均时钟周期数。 测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。 存储程序计算机:冯·诺依曼结构计算机。其基本点是指令驱动。程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。 系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。 软件兼容:一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上运行。差别只是执行时间的不同。 向上(下)兼容:按某档计算机编制的程序,不加修改就能运行于比它高(低)档的计算机。 向后(前)兼容:按某个时期投入市场的某种型号计算机编制的程序,不加修改地就能 运行于在它之后(前)投入市场的计算机。 兼容机:由不同公司厂家生产的具有相同系统结构的计算机。 模拟:用软件的方法在一台现有的计算机(称为宿主机)上实现另一台计算机(称为虚拟机)的指令系统。 仿真:用一台现有计算机(称为宿主机)上的微程序去解释实现另一台计算机(称为目标机)的指令系统。 并行性:计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。只要在时间上相互重叠,就存在并行性。它包括同时性与并发性两种含义。 时间重叠:在并行性概念中引入时间因素,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。 资源重复:在并行性概念中引入空间因素,以数量取胜。通过重复设置硬件资源,大幅度地提高计算机系统的性能。 资源共享:这是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。 耦合度:反映多机系统中各计算机之间物理连接的紧密程度和交互作用能力的强弱。 紧密耦合系统:又称直接耦合系统。在这种系统中,计算机之间的物理连接的频带较高,一般是通过总线或高速开关互连,可以共享主存。 松散耦合系统:又称间接耦合系统,一般是通过通道或通信线路实现计算机之间的互连,可以共享外存设备(磁盘、磁带等)。计算机之间的相互作用是在文件或数据集一级上进行。 异构型多处理机系统:由多个不同类型、至少担负不同功能的处理机组成,它们按照作业要求的顺序,利用时间重叠原理,依次对它们的多个任务进行加工,各自完成规定的功能动作。 同构型多处理机系统:由多个同类型或至少担负同等功能的处理机组成,它们同时处理同一作业中能并行执行的多个任务。 1.2 试用实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系。 答:如在设计主存系统时,确定主存容量、编址方式、寻址范围等属于计算机系统结构。确定主存周期、逻辑上是否采用并行主存、逻辑设计等属于计算机组成。选择存储芯片类型、微组装技术、线路设计等属于计算机实现。 计算机组成是计算机系统结构的逻辑实现。计算机实现是计算机组成的物理实现。一种体系结构可以有多种组成。一种组成可以有多种实现。 1.3 计算机系统结构的Flynn分类法是按什么来分类的?共分为哪几类? 答:Flynn分类法是按照指令流和数据流的多倍性进行分类。把计算机系统的结构分为: (1) 单指令流单数据流SISD (2) 单指令流多数据流SIMD (3) 多指令流单数据流MISD (4) 多指令流多数据流MIMD 1.4 计算机系统设计中经常使用的4个定量原理是什么?并说出它们的含义。 答:(1)以经常性事件为重点。在计算机系统的设计中,对经常发生的情况,赋予 它优先的处理权和资源使用权,以得到更多的总体上的改进。(2)Amdahl定律。加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性。(3)CPU性能公式。执行一个程序所需的CPU时间 = IC ×CPI ×时钟周期时间。(4)程序的局部性原理。程序在执行时所访问地址的分布不是随机的,而是相对地簇聚。 1.5 分别从执行程序的角度和处理数据的角度来看,计算机系统中并行性等级从低到高可分为哪几级? 答:从处理数据的角度来看,并行性等级从低到高可分为: (1)字串位串:每次只对一个字的一位进行处理。这是最基本的串行处理方式,不存在并行性; (2)字串位并:同时对一个字的全部位进行处理,不同字之间是串行的。已开始出现并行性; (3)字并位串:同时对许多字的同一位(称为位片)进行处理。这种方式具有较高的并行性; (4)全并行:同时对许多字的全部位或部分位进行处理。这是最高一级的并行。 从执行程序的角度来看,并行性等级从低到高可分为: (1)指令内部并行:单条指令中各微操作之间的并行; (2)指令级并行:并行执行两条或两条以上的指令; (3)线程级并行:并行执行两个或两个以上的线程,通常是以一个进程内派生的多个线程为调度单位; (4)任务级或过程级并行:并行执行两个或两个以上的过程或任务(程序段),以子程序或进程为调度单元; (5)作业或程序级并行:并行执行两个或两个以上的作业或程序。 1.6 某台主频为400MHz的计算机执行标准测试程序,程序中指令类型、执行数量 求该计算机的有效CPI、MIPS和程序执行时间。 解:(1)CPI =(45000×1+75000×2+8000×4+1500×2) / 129500=1.776 (2)MIPS速率=f/ CPI =400/1.776 =225.225MIPS (3)程序执行时间= (45000×1+75000×2+8000×4+1500×2)/400=575s 1.7 将计算机系统中某一功能的处理速度加快10倍,但该功能的处理时间仅为整个系统运行时间的40%,则采用此增强功能方法后,能使整个系统的性能提高多少? 解 由题可知: 可改进比例 = 40% = 0.4 部件加速比 = 10 根据Amdahl定律可知: 1系统加速比??1.5625 0.4?1?0.4??1 10 采用此增强功能方法后,能使整个系统的性能提高到原来的1.5625倍。 1.8 计算机系统中有三个部件可以改进,这三个部件的部件加速比为: 部件加速比1=30; 部件加速比2=20; 部件加速比3=10 (1) 如果部件1和部件2的可改进比例均为30%,那么当部件3的可改进比例为多少时,系统加速比才可以达到10? (2) 如果三个部件的可改进比例分别为30%、30%和20%,三个部件同时改进,那么系统中不可加速部分的执行时间在总执行时间中占的比例是多少? 解:(1)在多个部件可改进情况下,Amdahl定理的扩展: 1 Sn?Fi1?10FiF)?=?,已知S1=30,S2=20,S3=10,Sn(=1?SiF2=0.3,得: 得F3=0.36,即部件3的可改进比例为36%。 (2)设系统改进前的执行时间为T,则3个部件改进前的执行时间为:(0.3+0.3+0.2)T = 0.8T,不可改进部分的执行时间为0.2T。 已知3个部件改进后的加速比分别为S1=30,S2=20,S3=10,因此3个部件改进后的执行时间为: 0.3T0.3T0.2T'Tn????0.045T 302010 改进后整个系统的执行时间为:Tn = 0.045T+0.2T = 0.245T 那么系统中不可改进部分的执行时间在总执行时间中占的比例是: 0.2T?0.82 0.245T1.9 假设某应用程序中有4类操作,通过改进,各操作获得不同的性能提高。具体 1(-0.3?0.3?F3)?(0.3/30?0.3/20?F3/10) (1)改进后,各类操作的加速比分别是多少? (2)各类操作单独改进后,程序获得的加速比分别是多少? (3)4类操作均改进后,整个程序的加速比是多少?
本文档为【计算机体系结构习题答案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_562397
暂无简介~
格式:doc
大小:36KB
软件:Word
页数:36
分类:
上传时间:2017-06-11
浏览量:31