一、名词解释(6题,每题5分)
1、ISA
2、MIMD、SIMD
3、资源冲突
4、数据冲突
5、控制冲突
6、Amdahl定律
7、加速比
8、非冯·诺依曼计算机
9、静态流水线、动态流水线、单功能流水线、多功能流水线
10、锁存技术
11、寄存器换名技术
12、定向技术
13、ROB技术(re-order-buffer )
14、分支历史表BHT
15、超标量机
16、向量机
17、时间局部性和空间局部性
18、数组合并技术、内外循环交换技术、循环融合技术
19、平均访存时间
20、强制失效、容量失效、冲突失效
21、全相联映像、直接映像、组相联映像
22、非阻塞CACHE技术
23、TLB
23、平均CPI
24、乱序发射/乱序执行/顺序完成
25、指令动态调度
26、LRU算法
27、RISC、CISC
28、循环展开
二、简答题(4题,每题8分)
1、对流水线的冲突处理通常有两种方式:静态调度方式和动态调度方式;说明这两种方式,并分别举出其实现方式。
2、Tomasulo采取了什么方法避免三种数据冲突。
3、给出一段有相关性的指令,分析相关性、请重新设计指令顺序(编译器方式),消除相关性
4、计算机系统结构、计算机组成和计算机实现的概念与关系。
5、论述RISC与的CISC技术;讨论RISC从哪些方面提高了指令的执行效率,并举例说明。
6、简述流水线中的定向技术,并举例说明其用途和缺陷(不能解决的问题)。
7、流水线冲突有哪三种?请简述每种流水线冲突。
8、如果某计算机系统有3 个部件可以同时改进,则这3 个部件经改进后达到的加速比分别为:S1=30,S2=20,S3=10。
如果部件1 和部件2 改进前的执行时间占整个系统执行时间的比例都为30%,那么,部件3 改进前的执行时间占整个系统执行时间的比例为多少,才能使3 个部件都改进后的整个系统的加速比Sn 达到10?
9、GPU采用了哪种处理器设计方式作为原型,请简述并画出这种处理器的体系结构原理图。
10、名相关和数据相关会产生写读冲突、读写冲突、写写冲突。简述这三种冲突,并举例说明是如何造成的。
11、简述并举例说明层次化存储系统存在的理论依据。
12、写出平均访存时间的公式,从公式的三个变量出发,分别举出一个优化(减少)平均访存时间的技术方案。
13、CACHE的地址映像规则有三种:全相联、直接映像与组相联。阐述这三种规则,并用图示法说明三种规则的优缺点。
14、有一个Cache存储器,主存有8块(0-7),Cache有4块(0-3),采用组相联映像,组内块数为2块,每块大小为16个字节。某程序运行时,要访存主存地址(二进制)为0110110的字节,则访问Cache的哪一块?
• 解决流水线瓶颈问题有哪些方法,应用场合和效果有何异同?
• 简述通过软件(编译器)来减少分支延迟的3种静态方法及它们的共同特点。
• 在降低Cache失效率的方法中,对于给定的Cache容量,当块大小增加时,失效率开始是下降,后来反而上升了。解释Cache失效率为什么出现这样的变化?
• 简要说明提高计算机系统并行性的3 种技术途径,并各举一例
•
• 采用动态分支预测的目的是什么?常见有哪些动态分支预测方法?
•
• 计算机系统结构中常用4个定量原理是什么?请说出他们的含义
•
• 组相联Cache的不命中率比相同容量直接映像Cache的不命中率低,由此能否得出结论:采用组相联一定能带来性能上的提高,为什么?
•
• 描述基于硬件的前瞻执行的思想和实现方法。
三综合题(4题 38分)
1、计算机运行以下指令:
线性多功能静态流水线,输入任务是不连续的情况,画出该计算的时空图,并计算流水线的吞吐率、加速比和效率。
用TI-ASC计算机的多功能静态流水线计算两个向量的点积:Z=AB+CD+EF+GH
2、(12分)有一个4 段流水线,各段执行时间均为Δt,其预约表如下表所示。
T1
T2
T3
T4
T5
T6
T7
S4
√
√
S3
√
S2
√
S1
√
√
√
(1)写出禁止向量,初始冲突向量,画出流水线调度的状态有向图。(6分)
(2)求出流水线执行8个任务时的最优调度策略。(2分)
(3)求出按最优调度策略连续输入8个任务时的流水线实际吞吐率、加速比、效率。(4分)
3、超标量机的相关性问题以及调度
计算机运行以下指令:
I1:LOAD R1, A ;R1←(A)
I2:FADD R2, R1 ;R2←(R2)+(R1)
I3:FMUL R3, R4 ;R3←(R3)×(R4)
I4:FADD R4, R5 ;R4←(R4)+(R5)
I5:DEC R6 ;R6←(R6)-1
I6:FMUL R6, R7 ;R6←(R6)×(R7)
(1)请列出程序代码中可能出现的数据相关及相关类型。
(2)当程序通过下图的双发射超标量机时,请采用顺序发射乱序完成的方式画出指令流水时空图。
(流水线没有使用定向技术。)
4、CACHE映像算法
有一个Cache存储器,主存有8块(0-7),Cache有4块(0-3),采用组相联映像,组内块数为2块。采用LRU(近期最久未使用)替换算法。(12分,(1)题4分,(2)题8分)
(1)指出主存各块与Cache各块之间的映像关系。
(2)某程序运行过程中,访存的主存块地址流为:
2, 3, 4, 1, 0, 7, 5, 3, 6, 1, 5, 2, 3, 7, 1
说明该程序访存对Cache的块位置的使用情况,指出发生块失效且块争用的时刻,计算Cache命中率。
• 举三个例子说明系统中采用软件来提高性能的方法和效果。
• 举三个例子说明系统中采用硬件来提高性能的方法和效果。
7、Tomasulo算法的第3个时钟周期的指令状态,保留站状态,和寄存器结果状态如下图所示;
(其中Op表示现在保留站中正在工作的指令,Vj,Vk表示已经准备好的操作数,Qj,Qk表示已发射但未准备好的操作数)。已知load 执行延时2个cycles,add(sub)执行延时2个cycles,mul 执行延时10个cycles,div 执行延时40个cycles。
要求:
• 写出tomasulo算法的核心思想。
• 写出第5个时钟周期的指令运行状态,保留站状态,和寄存器结果状态,并说明原因。
8、某台主频为400MHz的计算机执行标准测试程序,程序中指令类型、执行数量和平均时钟周期数如下:
指令类型
指令执行数量
平均时钟周期数
整数
45000
1
数据传送
75000
2
浮点
8000
5
分支
2000
2
求该计算机的平均CPI、MIPS和程序执行时间(单位:us)。
9、假设机器的时钟周期为10纳秒, Cache命中时间为1个时钟,失效时的开销为20个时钟周期,
(1)设失效率为0.05,忽略写操作时的其他延迟,求机器的平均访存时间。
(2)假设通过增加Cache容量一倍而使失效率降低到0.03,同时使得Cache命中时间增加到了1.2时钟周期,从平均访存时钟周期来看,这样的改动设计是否有利?
(3)如果改动后,CPU时钟周期时间也随Cache的命中时间增加,从平均访存时间看,上述改动设计是否有利?
10、一条各流水段执行时间不完全相等的5段线性流水线,假设其第1、3、4、5段的执行时间为Δt,第2段的执行时间为2Δt,其连续执行了5个任务,且不考虑数据与控制冲突,则其实际效率为___。(精确到小数点后2位)
11、假设分支目标缓冲的命中率为95%,程序中无条件转移指令的比例为5%,没有无条件转移指令的程序的CPI值为1。假设分支目标缓冲中包含分支目标指令,允许无条件转移指令进入分支目标缓冲,则程序的CPI值为?假设原来的CPI=1.2。(精确到小数点后2位)
12、假设有一条长流水线,仅仅对条件转移指令使用分支目标缓冲。假设分支预测错误的开销为4个时钟周期,缓冲不命中的开销为3个时钟周期。假设命中率为95%,预测精度为95%,分支频率为10%,没有分支的基本CPI为1。程序执行的CPI为 ?(精确到小数点后3位)
13、考虑某两级cache,第一级为L1,第二级为L2,两级cache的全局不命中率分别是5%和2%,假设L2的命中时间是10个时钟周期,L2的不命中开销是200时钟周期,L1的命中时间是1个时钟周期,平均每条指令访存1.4次。问:每条指令的平均停顿时间是多少个时钟周期?
14、某个程序共访问存储器1 000 000次,该程序在某个系统中运行,系统中Cache的不命中率为7% ,其中,强制性不命中和容量不命中各占25%,冲突不命中占50%。问:
(1)当允许对该Cache所作的唯一改变是提高相联度时,此时期望能够消除的最大不命中次数是多少?
(2)当允许能够同时提高Cache的容量大小和相联度时,此时期望能够消除的最大不命中次数是多少?
说明原因并给出计算过程和结果。