1、 写出64位定点数的补码、原码表示范围。
2、 理解计算题。计算L2Cache缺失时的损失周期数。题目大意:
L1Cache命中时,读数据需要3个周期,当L1不命中时,需要去L2取数据,当L2命中的时候,若L2为直接映射,则增加3个Cycle的周期损失,若L2为二路组相连,则增加2个Cycle的周期损失,若L2为四路组相连,则增加1个Cycle的周期损失;当L2不命中的时候,损失50个Cycle。已知直接映射时L2Cache命中率为20%,二路组相连时L2Cache命中率为15%,四路组相连时L2Cache命中率为10%。分别求三种相连情况下读L1Cache的周期损失数。
3、 问答题。考察对数据一致性的理解。题目大意
在计算机体系结构中,经常存在一个数据的多个副本,可能会造成数据的不一致性。试说明(1)Write Buffer和Cache之间可能存在的数据一致性问题 (2)Cache和主存之间的数据一致性问题,并且分别给出消除不一致性的硬件或软件的解决方案。
4、 理解计算题。考察寄存器重命名。题目大意
某N发射流水线定义了m个虚拟寄存器,采用物理寄存器重命名机制。已知从重命名阶段到写回阶段需要t1个时钟周期,从重命名阶段到提交阶段需要t2个时钟周期。为了保证流水线可以全速最大负荷运行,问至少需要多少个物理寄存器。
5、 双发射流水线软件指令调度,写指令序列,计算每个循环的最小周期数。题目大意
已知有双发射流水线(浮点指令可以和其它指令并行发射),且有如下指令序列
L: LD R2, 0(R1)
ADDD R4,R2,R1
SD 0(R1), R4
SUBI R1,R1, 8
BNE R1,L
NOP
已知相关的LD指令和ADDD指令间至少相隔1个周期,ADDD指令和SD指令之间至少相隔2个周期。现在采用3次循环展开,采用重命名技术。问此时每个循环至少需要多少个时钟周期?
6、 问答题。TLB异常、Page Fault之关系
(1)TLB缺失和Page Fault异常之间有何联系?
(2)可不可能发生这种情况:TLB命中并且发生缺页异常。
7、 用Verilog写16个8位数相加的华莱士树,要求最后一级使用先行进位加法器。
8、 证明[X]补+[Y]补=[X+Y]补
9、 对于CPU A,它采用一条比较指令计算条件码,紧接着一条指令根据条件码执行跳转。对于CPU B,采用传统的MIPS形式,同一条指令中计算跳转条件并执行跳转。由于这种区别,CPU A的主频是CPU B的1.2倍。已知某段代码中跳转指令占总指令数的25%,那么计算条件码的指令相应地占25%。问CPU A、B哪个快?如果CPU A的主频是CPU B的1.1倍呢?(Note:此题原题有歧义,存在争议)
10、 MIPS指令中,不能有Reg-Mem型的定点数操作指令,必须写成:
LD $1, 0($n)
ADD $2,$2,$1
假设引入一种MIPS变种指令,可以使用Reg-Mem型,上面的指令可写成:
ADD $2, 0($n)
问
(1)请写出一个指令序列,使得即使有了Reg-Mem型指令支持,编译器也无法将你的指令序列转化成Reg-Mem型。
(2)Reg-Mem型指令会带来5%的主频下降。假设CPI不变,已知代码中有26%的LD指令,问至少将这些LD中的多少(百分百)转化成Reg-Mem型指令才能保证性能不下降?
(3)在静态流水线(IF, ID, EX, MEM, WB)中,难以实现对Reg-Mem型指令的支持,为什么?
---------------------
老师说题目难度比较大,大家不要担心。运用之妙,存乎一心!
标签:周期,Mem,系统结构,CPU,胡伟武,指令,2009,Reg,R1 From: https://blog.51cto.com/u_16162111/6492467