2011高性能体系结构试题 下载本文

2011年高性能计算机体系结构试题

1.名词注释(任选6个)

共享存储器多处理机,指令级并行,绝对加速比,动态调度,推测执行,流水线技术,结构竞争,互连网络,控制竞争,名相关,反相关,路径调度,乱序执行技术。

2.简述题

简述高性能计算机性能评价的必要性

何为CMP?请简单说明CMP与SMP的关系。

在记分牌动态调度算法中,指令执行有那几个步骤?各解决那种冲突? 何为死锁?简单说明产生死锁的原因及避免死锁的方法。 何为Cache的一致性?产生Cache一致性问题的原因有那些?

3.列出下列循环中的所有相关,包括输出相关,反相关,真相关和循环相关,并说明该程序能否开发循环级并行,如能请对这段代码进行调整,使多个循环能够并行执行。

For(I=1;I<100;I=I+1)

A[I]=B[I]+C[I]+D[I]; /*s1*/ B[I]=A[I]+D[I]; /*s2*/ C[I+1]= D[I]+E[I]; /*s3*/ D[I+1]=2*E[I] /*s4*/

4.假设各个浮点功能单元的执行延迟为:加法为3个时钟周期,乘法为15个时钟周期,除法为50个时钟周期,访存部件的执行延迟为2个时钟周期。在基于Tomasulo算法的推测执行机器中,指令的执行由发射、执行、写结果和确认4个阶段组成, 有3个浮点加保留站,2个浮点乘法保留站,2个store和2个load保留站。下列代码段中,当指令MUL.D到达确认状态时,请给出保留站和重定序缓冲器中指令的状态。 L.D F0, 0(R1) ADD.D F2, F0, #12

MUL.D F4, F0, F2

L.D F6, 0(R2) ADD.D F8, F6, F4 DIV.D F10, F8, F6 S.D 0(R2), F6 保留站 Name Busy OP Vj Vk Qj Qk Dest A Load1 Load2 Add1 Add2 Add3 Mult1 Mult2 Store1 序号 Entry Inst 1 2 3 4 5 6 7 L.D F0, 0(R1) MUL.D F4, F0, F2 L.D F6, 0(R2) ADD.D F8, F6, F4 Busy ROB# State Dest Value ADD.D F2, F0, #12 DIV.D F10, F8, F6 S.D 0(R2), F6

5.为了减少分支指令造成的流水线的停顿,拟采用如下两种方案,一种是使用分支目标缓冲器,此时分支预测错误的开销为3个时钟周期,缓冲不命中的开销为4个时钟周期,测得其命中率为95%,预测精度为92%。另一种方案是使用相关预测器,预测准确率为97%,分支预测错误的开销为5个时钟周期。假设程序中分支频率为15%,没有分支的基本CPI为1。试计算:

(1) 两种方案的各自程序执行的CPI

(2) 相对于采用固定的2个时钟周期延迟的分支处理,哪种方案程序的执行速度快?其

加速比是多少?

6.2?2四功能开关构成的Ω网络,有8个输入端和8个输出端。有一组置换 π=(0 1 6 4 7)(2 5)(3)通过时的情况,并判断是否有阻塞,标出阻塞的位置。 7.采用Write-back策略的Cache中,数据块通常采用三种状态来实现多处理机系统的cache一致性,请说明这三种状态,并给出相关的状态转换图。

8.如下代码存在数据相关,其中,L.D和ADD.D之间需停顿1个时钟,ADD.D和MUL.D之间停顿2个时钟,MUL.D和S.D指令之间需停顿3个时钟周期。请将其写成软件流水循环,并写出循环的装入代码和排空代码。如果软件流水循环无法解决,需要继续将软件流水循环进行展开,请给出软件流水循环展开并调度后的代码。 LOOP: L.D F0, 0(R1)

ADD.D F4, F0, F2 MUL.D F6,F4,#8

S.D 0(R1), F6

DADDI R1, R1, # 8 BNZ R1, R2, LOOP