系统结构复习资料.pdf
-考试题型 一、单项选择题(每题2 分,共6 分)二、填空题(每空 0.5 分,共分)三、大题(共 67 分)共 5 个,有概念题、分析题、计算题、设计题、综合题 复习提纲 大题的复习范围:1.会利用 CU 性能公式比较多种设计方案的优劣 公式一:CPU 时间=一个程序的 CPU 时钟周期数*时钟周期长度 或:CPU 时间=一个程序的 CPU 时钟周期数时钟频率 公式二:CU 时间=C*CP*时钟周期长度 公式三:2.会利用mdahl 定律比较多种设计方案的优劣 Amdahl 定律:计算机系统中某一部件由于采用某种更快的执行方式后整个系统性能的提高与这种执行方式的使用频率或占总执行时间的比例有关。-3.Ch的性能分析,会针对具体情况分析 Cache 的性能 CPU 执行时间:时钟周期时间存储器停顿周期数时钟周期数执行时间)(CPUCPU 缺失代价缺失率指令存储器访问次数指令数缺失代价指令缺失次数指令数缺失代价缺失次数存储器停顿周期数 平均存储器访问时间(AMAT):缺失代价缺失率命中时间主存THTHAMATCache)1(提高ace 性能:可见主要途径有:降低缺失代价 降低缺失率 通过并行性降低缺失代价/缺失率 降低 Cache 命中时间 4.导致 Cace 失效的原因,需进一步掌握如何降低这三类失效的方法 原因:(1)强制(mpulsoy)缺失:对一个块的第一次访问一定不在 Cach中,所以该块必须被调入到 Cace 中(这也称为:冷启动缺失、首次访问缺失等)。(2)容量(Cpacity)缺失:如果ah容纳不了一个程序持续执行所需要的所有块,将会发生容量缺失,某些块将被放弃,随后再被调入。(3)冲突(Coflict)缺失:如果采用组相联/直接相联,则可能有多个块映射到同一块中,发生冲突缺失。降低缺失率的技术:(1)增加che 块大小(2)增加ach容量(3)增加相联度-()路预测和伪相联 Cace()编译优化 5.向量链接技术 基本思想:对于有写读数据相关的向量指令,可以采用“相关专用通道”:从一个流水线部件得到的结果直接送入另一个流水线部件的操作数寄存器,这样多条向量指令可以并行执行,这种技术称为流水线的链接技术。链接要求:1.没有向量寄存器冲突和运算部件冲突;.只有当前一条指令的第一个结果分量送入结果向量寄存器的那一个时钟周期方可链接,否则只能串行执行;.若一条向量指令的两个源操作数分别是两条先行指令的结果时,要求:先行的两条指令产生结果的时间必须相等;先行的两条指令的向量长度必须相等。6.静态多功能流水线和动态多功能流水线的调度 动态调度算法:Tomaulo 算法 7.Delta 互连网络的设计,根据方法即可设计 -8.多级交叉开关互连网络的设计,需掌握其基本原理方可进行设计 9.循环中的指令调度技术:调度、循环展开、软件流水(重点掌握)第四章 2页 其它题的复习范围:1.衡量机器性能的唯一固定而且可靠的标准是什么?真实程序的执行时间。2.并行性的常用实现技术,并结合本课程的内容进行举例(1)时间重叠:指令流水线(2)资源重叠:N 模冗余结构 多处理机 多值存储器(3)资源共享:多道程序分时系统 3.设计计算机系统设计的常用的定量准则(1)加快经常性事件的速度(2)PU 性能公式(3)局部性原理(4)利用并行性 4.实现软件可移植的主要途径有哪些?(1)统一高级语言:设计出一种完全通用的高级语言,为所有的程序员所使用。(2)采用系列机思想:先确定好系统结构,软件设计者据此设计软件,硬件设计者则根据不同的性能要求,采用不同的组成和实现技术,提供不同档次的机器。软件兼容性:软件兼容性指的是同一软件可不加修改地运 行于该系列机器中的各档机器上的特性。(3)模拟与仿真:模拟(imuation simulton)指的是用一台机器(宿主机 宿主机)的机器语言程序解释实现另一台机器(虚拟机 虚拟机)的指令系统的方法。-仿真(emation mulatio)指的是用一台机器(宿主机 宿主机)的微程序解释实现另一台机器(目标机 目标机)的指令系统的方法。5.Flyn 分类法 -6.什么是数据表示?什么是数据结构?数据表示:能由硬件直接识别和引用(即有相应运算指令和有硬件支持)的数据类型,例如:定点数据表示、逻辑数据表示、浮点数据表示等。数据结构:带有结构的数据元素的集合,例如:串、队列、栈、向量、阵列、链表、树、图等。7.扩展编码的编码原理 思想:是固定长度操作码和 ffman 编码法相结合形成的。即:对 Hffan编码,根据使用频率宏观分布,将编码长度扩展成有限几种长度的编码。8.RIC 执行程序的速度比 CISC 要快的关键原因是什么?减少指令平均执行周期。(1)硬件为主固件为辅 ()在 CU 中设置数量较大的寄存器组 (3)指令的执行采用流水 ()采用认真设计和优化编译系统设计的技术 9.RISC 的特点 优点:简化指令系统设计,适合 VS实现。提高执行速度和效率。降低设计成本,提高了系统的可靠性。可以提供直接支持高级语言的能力,简化编译程序的设计。缺点:加重了汇编语言程序员的负担。对浮点运算和虚拟存储器的支持不够理想。相对来说,ISC 机器上的编译程序要比ISC 机器上的难写。-10.如何提高ce 的命中率?采用预取技术提高命中率 思想:不命中时,把 M存储器中相邻几个单元组成的一个数据块都取出来送入M1 存储器中。11.存储系统的主要性能参数 存储容量:存储价格:存储速度:12.如何提高存储器频宽?地址码高位交叉 多个存储器并行,采用并行/交叉访问等方法提高存储器的访问速度(并行存储器);设置各种缓冲存储器;采用存储体系,特别是ache 存储体系。13.流水线最大吞吐率的计算 吞吐率:单位时间内能流出的任务数或能流出的结果数。=n/Tm n:任务数。Tm:处理完成 n 个任务所用的时间。-14.流水线的分类 分类一:单功能流水线 多功能流水线 分类二:静态流水线 动态流水线 分类三:线性流水线 非线性流水线 分类四:部件级流水线 处理机级流水线 系统级流水线 其 它:标量流水线 向量流水线 顺序流水线 异步流水线 15.常见的数据相关有哪些?通常在哪些流水线上会出现?“先写后读”相关“先读后写”相关“写写”相关 “先写后读”相关在流水线顺序执行和乱序执行时都可能发生,“先读后写”相关和“写写”相关只有在流水线乱序执行时才可能发生,而“读读”相关无需处理。16.对分支指令引起的全局相关通常是如何处理的?-条件出来前:提前形成条件码 预测 条件出来后:停顿 17.Ts算法和前瞻执行机制中的换名功能分别是如何实现的?18.向量处理机的常见的相关和冲突有哪些?相关:V0VV2V01+V3V4V53V04(a)不相关的指令()写读数据相关 V0V1+VV1+V2V4+V5 3V()功能部件冲突(d)读读数据相关 提示:采用顺序发射顺序完成方式。19.评价向量处理机性能的参数有哪些?及其具体用途是什么?向量指令处理时间v:(1)一条向量指令的处理时间:TvpTs Tf (n 1)T 其中:vp 为一条向量指令的处理时间;s 为向量流水线的建立时间;Tf 为向量流水线的流过时间;Tc 为流水线“瓶颈”段的执行时间;n 为向量长度。如果每段执行时间都等于一个时钟周期,则有:Tvs+e+(n-1)-为达到一半 R值所需的向量长度称为半性能向量长度 n/2,主要评价向量流水线建立时间对性能的影响。2/12/121nTRn时钟频率浮点运算次数循环所花费时钟周期数时钟频率浮点运算次数 向量长度临界值 nv:nv 表示向量流水方式的工作速度优于标量串行方式工作时所需得向量长度临界值。该参数既衡量建立时间,也衡量标量/向量速度比对性能的影响。20.常用的互连函数 恒等置换 交换置换 方体置换 均匀洗牌置换 蝶式置换 位序颠倒置换 移数置换 加减 2i 置换 21.Omg网络的结构和特点 采用 2的四功能开关,对于 NN 网络,有 n=lgN 个开关级,每级有 N/2个开关;n 个开关级从输入端到输出端依次为 Kn-1、K1、0,n1 个级间连接依次为 Cn、C1、0,其中 C0 为恒等置换,C1C都为均匀洗牌置换;开关采用单元控制方式。本网络也称为:多级洗牌置换网络或多级混洗网络。-Oga 网络(网络)可看作是多级立方体网络的逆网络。级控制且开关为二功能开关 网络是 STARA交换网络的逆网络。部分级控制且开关为二功能 网络是 STAAN 移数网络的逆网络。单元控制且开关为二功能 网络是间接二进制方体网络的逆网络。22.多级立方体互连网络的特点 23.什么是多处理机中不会引起ah不一致?导致的原因有哪些?Cach一致性是指私有 Cach中共享数据的副本和共享存储器中共享数据之间的一致性。导致不一致的原因:()共享可写数据引起的不一致性-()进程迁移引起的数据不一致性(3)IO 传输造成的数据不一致性 前两种原因的解决方法:监听法 目录法 第三种原因的解决方法:禁止法 刷新法 24.多处理机系统的两种基本结构分别为?集中式 分布式 25.解决多处理机 Cache 一致性的方法有哪些?具体用在什么环境中?26.多处理机中实现同步的常见基本硬件原语有哪些?1.原子交换:将一个存储单元的值和一个寄存器的值进行交换。实现同步的关键:操作的原子性(交换操作是不可再细分的)。2.测试并置定:先测试一个存储单元的值,如果符合条件则修改其值。3.读取并加 1:返回存储器中的值并以原子操作的方式使存储器中的值增。4.使用指令对:L/S:LL(ad liked 或 lad cke):特殊的取指令 C(sore cnditinal):特殊的存指令 指令对功能:如果由 LL 指明的存储单元的内容在 SC 对其进行写之前已被其他指令改写过,则第二条指令 SC 执行失败。如果在两条指令间进行切换也会导致 S执行失败。将返回一个值来指出该指令操作是否成功:“1”表示成功,“”表示不成功 LL 则返回该存储单元初始值。