系统结构复习资料.docx
《系统结构复习资料.docx》由会员分享,可在线阅读,更多相关《系统结构复习资料.docx(15页珍藏版)》请在冰豆网上搜索。
系统结构复习资料
考试题型
一、单项选择题(每题2分,共26分)
二、填空题(每空0.5分,共7分)
三、大题(共67分)
共5个,有概念题、分析题、计算题、设计题、综合题
复习提纲
大题的复习范围:
1.会利用CPU性能公式比较多种设计方案的优劣
公式一:
CPU时间=一个程序的CPU时钟周期数*时钟周期长度
或:
CPU时间=一个程序的CPU时钟周期数/时钟频率
公式二:
CPU时间=IC*CPI*时钟周期长度
公式三:
2.会利用Amdahl定律比较多种设计方案的优劣
Amdahl定律:
计算机系统中某一部件由于采用某种更快的执行方式后整个系统性能的提高与这种执行方式的使用频率或占总执行时间的比例有关。
3.Cache的性能分析,会针对具体情况分析Cache的性能
CPU执行时间:
平均存储器访问时间(AMAT):
提高Cache性能:
可见主要途径有:
降低缺失代价
降低缺失率
通过并行性降低缺失代价/缺失率
降低Cache命中时间
4.导致Cache失效的原因,需进一步掌握如何降低这三类失效的方法
原因:
(1)强制(Compulsory)缺失:
对一个块的第一次访问一定不在Cache中,所以该块必须被调入到Cache中(这也称为:
冷启动缺失、首次访问缺失等)。
(2)容量(Capacity)缺失:
如果Cache容纳不了一个程序持续执行所需要的所有块,将会发生容量缺失,某些块将被放弃,随后再被调入。
(3)冲突(Conflict)缺失:
如果采用组相联/直接相联,则可能有多个块映射到同一块中,发生冲突缺失。
降低缺失率的技术:
(1)增加Cache块大小
(2)增加Cache容量
(3)增加相联度
(4)路预测和伪相联Cache
(5)编译优化
5.向量链接技术
基本思想:
对于有写读数据相关的向量指令,可以采用“相关专用通道”:
从一个流水线部件得到的结果直接送入另一个流水线部件的操作数寄存器,这样多条向量指令可以并行执行,这种技术称为流水线的链接技术。
链接要求:
1.没有向量寄存器冲突和运算部件冲突;
2.只有当前一条指令的第一个结果分量送入结果向量寄存器的那一个时钟周期方可链接,否则只能串行执行;
3.若一条向量指令的两个源操作数分别是两条先行指令的结果时,要求:
先行的两条指令产生结果的时间必须相等;
先行的两条指令的向量长度必须相等。
6.静态多功能流水线和动态多功能流水线的调度
动态调度算法:
Tomasulo算法
7.Delta互连网络的设计,根据方法即可设计
8.多级交叉开关互连网络的设计,需掌握其基本原理方可进行设计
9.循环中的指令调度技术:
调度、循环展开、软件流水(重点掌握)
第四章205页
其它题的复习范围:
1.衡量机器性能的唯一固定而且可靠的标准是什么?
真实程序的执行时间。
2.并行性的常用实现技术,并结合本课程的内容进行举例
(1)时间重叠:
指令流水线
(2)资源重叠:
N模冗余结构多处理机多值存储器
(3)资源共享:
多道程序分时系统
3.设计计算机系统设计的常用的定量准则
(1)加快经常性事件的速度
(2)CPU性能公式
(3)局部性原理
(4)利用并行性
4.实现软件可移植的主要途径有哪些?
(1)统一高级语言:
设计出一种完全通用的高级语言,为所有的程序员所使用。
(2)采用系列机思想:
先确定好系统结构,软件设计者据此设计软件,硬件设计者则根据不同的性能要求,采用不同的组成和实现技术,提供不同档次的机器。
软件兼容性:
软件兼容性指的是同一软件可不加修改地运行于该系列机器中的各档机器上的特性。
(3)模拟与仿真:
模拟(simulationsimulation)指的是用一台机器(宿主机宿主机)的机器语言程序解释实现另一台机器(虚拟机虚拟机)的指令系统的方法。
仿真(emulationemulation)指的是用一台机器(宿主机宿主机)的微程序解释实现另一台机器(目标机目标机)的指令系统的方法。
5.Flynn分类法
6.什么是数据表示?
什么是数据结构?
数据表示:
能由硬件直接识别和引用(即有相应运算指令和有硬件支持)的数据类型,例如:
定点数据表示、逻辑数据表示、浮点数据表示等。
数据结构:
带有结构的数据元素的集合,例如:
串、队列、栈、向量、阵列、链表、树、图等。
7.扩展编码的编码原理
思想:
是固定长度操作码和Huffman编码法相结合形成的。
即:
对Huffman编码,根据使用频率宏观分布,将编码长度扩展成有限几种长度的编码。
8.RISC执行程序的速度比CISC要快的关键原因是什么?
减少指令平均执行周期。
(1)硬件为主固件为辅
(2)在CPU中设置数量较大的寄存器组
(3)指令的执行采用流水
(4)采用认真设计和优化编译系统设计的技术
9.RISC的特点
优点:
简化指令系统设计,适合VLSI实现。
提高执行速度和效率。
降低设计成本,提高了系统的可靠性。
可以提供直接支持高级语言的能力,简化编译程序的设计。
缺点:
加重了汇编语言程序员的负担。
对浮点运算和虚拟存储器的支持不够理想。
相对来说,RISC机器上的编译程序要比CISC机器上的难写。
10.如何提高Cache的命中率?
采用预取技术提高命中率
思想:
不命中时,把M2存储器中相邻几个单元组成的一个数据块都取出来送入M1存储器中。
11.存储系统的主要性能参数
存储容量:
存储价格:
存储速度:
12.如何提高存储器频宽?
地址码高位交叉
多个存储器并行,采用并行/交叉访问等方法提高存储器的访问速度(并行存储器);
设置各种缓冲存储器;
采用存储体系,特别是Cache存储体系。
13.流水线最大吞吐率的计算
吞吐率:
单位时间内能流出的任务数或能流出的结果数。
TP=n/Tm
n:
任务数。
Tm:
处理完成n个任务所用的时间。
14.流水线的分类
分类一:
单功能流水线多功能流水线
分类二:
静态流水线动态流水线
分类三:
线性流水线非线性流水线
分类四:
部件级流水线处理机级流水线系统级流水线
其它:
标量流水线向量流水线顺序流水线异步流水线
15.常见的数据相关有哪些?
通常在哪些流水线上会出现?
“先写后读”相关
“先读后写”相关
“写写”相关
“先写后读”相关在流水线顺序执行和乱序执行时都可能发生,“先读后写”相关和“写写”相关只有在流水线乱序执行时才可能发生,而“读读”相关无需处理。
16.对分支指令引起的全局相关通常是如何处理的?
条件出来前:
提前形成条件码
预测
条件出来后:
停顿
17.Tomasulo算法和前瞻执行机制中的换名功能分别是如何实现的?
18.向量处理机的常见的相关和冲突有哪些?
相关:
V0←V1+V2V0←V1+V2
V3←V4×V5V3←V0×V4
(a)不相关的指令(b)写读数据相关
V0←V1+V2V0←V1+V2
V3←V4+V5V3←V1×V4
(c)功能部件冲突(d)读读数据相关
提示:
采用顺序发射顺序完成方式。
19.评价向量处理机性能的参数有哪些?
及其具体用途是什么?
向量指令处理时间Tvp:
(1)一条向量指令的处理时间:
Tvp=Ts+Tvf+(n-1)Tc
其中:
Tvp为一条向量指令的处理时间;
Ts为向量流水线的建立时间;
Tvf为向量流水线的流过时间;
Tc为流水线“瓶颈”段的执行时间;
n为向量长度。
如果每段执行时间都等于一个时钟周期,则有:
Tvp=[s+e+(n-1)]τ
其中:
s为向量流水线建立时间所需的时钟周期数;
e为向量流水线流过时间所需的时钟周期数;
n为向量长度;
τ为时钟周期长度。
(2)一批向量指令的处理时间:
向量长度≤向量寄存器长度时:
其中:
Tstart为每个编队的向量启动开销,即流水线建立时间+流过时间;
Tc为流水线“瓶颈”段的执行时间;
n为向量长度;
Tchime为编队数。
向量长度>向量寄存器长度时:
需进行分段开采,向量长度为n的一组向量操作的整个执行时间为:
其中:
Tloop为执行标量代码的开销,Tstart为每个编队的向量启动开销,Tchime为编队数,MVL是向量寄存器的长度。
Tloop可以看作是一个常数,Cray1机的Tloop约等于15。
最大性能R∞:
R∞表示当向量长度为无穷大时的向量流水线的最大性能。
常在评价峰值性能时使用,单位为MFLOPS。
可表示为:
其中:
n为向量长度;Tn为一组向量操作的整个执行时间。
半性能向量长度n1/2:
为达到一半R∞值所需的向量长度称为半性能向量长度n1/2,主要评价向量流水线建立时间对性能的影响。
向量长度临界值nv:
nv表示向量流水方式的工作速度优于标量串行方式工作时所需得向量长度临界值。
该参数既衡量建立时间,也衡量标量/向量速度比对性能的影响。
20.常用的互连函数
恒等置换
交换置换
方体置换
均匀洗牌置换
蝶式置换
位序颠倒置换
移数置换
加减2i置换
21.Omega网络的结构和特点
采用2×2的四功能开关,对于N×N网络,有n=log2N个开关级,每级有N/2个开关;n个开关级从输入端到输出端依次为Kn-1、…K1、K0,n+1个级间连接依次为Cn、…C1、C0,其中C0为恒等置换,C1~Cn都为均匀洗牌置换;开关采用单元控制方式。
本网络也称为:
多级洗牌置换网络或多级混洗网络。
Omega网络(W网络)可看作是多级立方体网络的逆网络。
级控制且开关为二功能开关
W网络是STARAN交换网络的逆网络。
部分级控制且开关为二功能
W网络是STARAN移数网络的逆网络。
单元控制且开关为二功能
W网络是间接二进制n方体网络的逆网络。
22.多级立方体互连网络的特点
23.什么是多处理机中不会引起Cache不一致?
导致的原因有哪些?
Cache一致性是指私有Cache中共享数据的副本和共享存储器中共享数据之间的一致性。
导致不一致的原因:
(1)共享可写数据引起的不一致性
(2)进程迁移引起的数据不一致性
(3)I/O传输造成的数据不一致性
前两种原因的解决方法:
监听法
目录法
第三种原因的解决方法:
禁止法
刷新法
24.多处理机系统的两种基本结构分别为?
集中式分布式
25.解决多处理机Cache一致性的方法有哪些?
具体用在什么环境中?
26.多处理机中实现同步的常见基本硬件原语有哪些?
1.原子交换:
将一个存储单元的值和一个寄存器的值进行交换。
实现同步的关键:
操作的原子性(交换操作是不可再细分的)。
2.测试并置定:
先测试一个存储单元的值,如果符合条件则修改其值。
3.读取并加1:
返回存储器中的值并以原子操作的方式使存储器中的值增1。
4.使用指令对:
LL/SC:
LL(loadlinked或loadlocked):
特殊的取指令
SC(storeconditional):
特殊的存指令
指令对功能:
如果由LL指明的存储单元的内容在SC对其进行写之前已被其他指令改写过,则第二条指令SC执行失败。
如果在两条指令间进行切换也会导致SC执行失败。
SC将返回一个值来指出该指令操作是否成功:
“1”表示成功,“0”表示不成功
LL则返回该存储单元初始值。