1、计算机学科专业基础综合组成原理-中央处理器(CPU)(三)及答案解析(总分:100.00,做题时间:90 分钟)一、B单项选择题/B(总题数:25,分数:50.00)1.在计算机体系结构中,CPU 内部包括程序计数器(PC)、存储器数据寄存器(MDR)、指令寄存器(IR)和存储器地址寄存器(MAR)等。若 CPU 要执行的指令为 MOV R0, #100(即将数值 100 传送到寄存器 R0 中),则CPU 首先要完成的操作是_。 A.100R0 B.100MDR C.PCMAR D.PCIR(分数:2.00)A.B.C.D.2.下列关于微指令编码方式的说法中,错误的是_。字段直接编码可以用较
2、少的二进制信息表示较多的微操作命令信号,如有两组互斥微命令中,微命令个数分别为 8 和 9,则只分别需要 3 位和 4 位即可表示直接编码无须进行译码,微指令的微命令字段中每一位都代表一个微命令垂直型微指令以较长的微程序结构换取较短的微指令结构,因而执行效率、灵活性都高于水平型微指令字段间接编码中,一个字段的译码输出需要依靠另外某一个字段的输入 A.、 B.、 C.、 D.、(分数:2.00)A.B.C.D.3.间址周期结束时,CPU 内寄存器 MDR 中的内容为_。 A.指令 B.操作数地址 C.操作数 D.无法确定(分数:2.00)A.B.C.D.4.设 CPU 采用三级指令、双发射的超标
3、量流水线,操作周期为 t,则 CPU 连续运行 10 条指令(这些指令完全适合于流水线上执行)共耗时_。 A.7t B.10t C.12t D.20t(分数:2.00)A.B.C.D.5.微命令发生器(也称为控制单元,CU)的设计与下列因素基本无关的是_。 A.CPU 寄存器数量 B.指令系统 C.数据通路 D.机器字长(分数:2.00)A.B.C.D.6.由于 CPU 内部操作的速度较快,而 CPU 访问一次存储器的时间较长,因此存取周期通常由_来确定。 A.主存中读取一个指令字的最短时间 B.主存中读取一个数据字的最长时间 C.主存中写入一个数据字的平均时间 D.主存中读取一个数据字的平均
4、时间(分数:2.00)A.B.C.D.7.在控制器的控制方式中,机器周期内的时钟周期个数可以不相同,这属于_。 A.同步控制 B.异步控制 C.半异步控制 D.联合控制(分数:2.00)A.B.C.D.8.异步控制常用于_。 A.CPU 执行乘除法指令时 B.CPU 访问主存储器时 C.CPU 访问 I/O 设备时 D.CPU 访问寄存器时(分数:2.00)A.B.C.D.9.下列关于加法的说法中,正确的是_。 A.加法指令的执行周期一定要访存 B.加法指令的执行周期一定不要访存 C.指令的地址码给出存储器地址的加法指令,在执行周期一定访存 D.以上都不对(分数:2.00)A.B.C.D.10
5、.假设微操作控制信号用 Cn表示,指令操作码译码器输出用 Im表示,节拍电位信号用 Mr表示,节拍脉冲信号用 Ti表示,状态反馈信号用 Bj表示,则硬布线控制器的基本原理可描述为_。 A.Cn=f(Im,Ti) B.Cn=f(Im,Bj) C.Cn=f(Mr,Ti,Bj) D.Cn=f(Im,Mr,Ti,Bj)(分数:2.00)A.B.C.D.11.下列说法中,正确的是_。 A.控制器产生的所有控制信号称为微指令 B.微程序控制器比硬布线控制器更加灵活 C.微处理器的程序称为微程序 D.采用微程序控制器的处理器称为微处理器(分数:2.00)A.B.C.D.12.若存储器容量为 64K32 位,
6、则主机中各寄存器的最少位数都正确的选项是_。 A.ACC:32 位;PC:16 位;ALU:32 位;IR:32 位;MDR:32 位;MAR:32 位 B.ACC:64 位;PC:32 位;ALU:32 位;IR:32 位;MDR:32 位;MAR:16 位 C.ACC:64 位;PC:64 位;ALU:32 位;IR:16 位;MDR:32 位;MAR:16 位 D.ACC:32 位;PC:16 位;ALU:32 位;IR:32 位;MDR:32 位;MAR:16 位(分数:2.00)A.B.C.D.13.假设某机器有 80 条指令,平均每条指令由 4 条微指令组成,其中有 1 条取指微指
7、令是所有指令公用的。已知微指令长度为 32 位,估算控制存储器 CM 容量为_。(提示:控制存储器 CM 的容量为 2 的 n 次幂) A.512B B.1KB C.2KB D.4KB(分数:2.00)A.B.C.D.14.某机共有 70 个微控制信号(即微命令),构成 6 个互斥的微命令组,各组分别包含8、11、3、16、7、25 个微命令。如果采用字段直接编码方式,微指令的控制字段需要_位。 A.21 B.22 C.23 D.25(分数:2.00)A.B.C.D.15.下表给出了 5 条微指令 I1I5 所发出的控制信号 aj。设计微指令的控制字段,要求保持微指令本身的并行性,需要的最少控
8、制位数为_。 B5 条微指令所发出的控制信号/B微指令 激活的控制信号a b c d e f g h i jI1 I2 I3 I4 I5 A.6 B.7 C.8 D.10(分数:2.00)A.B.C.D.16.假设某机中一条指令可分为取指(IF)、译码并取数(ID)、执行(EX)、写结果(WR)4 个阶段,且每个阶段的操作时间相同,假设连续执行 100 条指令,采用指令四级流水技术,相对未采用流水线技术加速比为_。 A.1.98 B.2.50 C.3.88 D.4.58(分数:2.00)A.B.C.D.17.流水线中有 3 类数据相关冲突:写后读相关、读后写相关、写后写相关。那么下列 3 组指
9、令中存在读后写相关的是_。 A. I1 SUB R1,R2,R3; (R2)+(R3)R 1 I2 ADD R4,R5,R1; (R5)+(R1)R 4 B. I1 STA M,R2; (R2)M,M 为主存单元 I 2 ADD R2,R4,R5; (R4)+(R5)R 2 C. I1 MUL R3,R2,R1; (R2)(R1)R 3 I2 SUB R3,R4,R5; (R4)-(R5)R 3 D.以上都不是(分数:2.00)A.B.C.D.18.假定执行最复杂的指令需要 6 个子功能,分别对应的功能部件 AF 来完成,每个功能部件所花的时间分别为 80ps、30ps、60ps、70ps、4
10、0ps、30ps,采用的是流水线宽度为 80ps,下列做法中,能保证不增加流水线宽度,且又能减少流水线段数的是_。 A.可将功能部件 B 和 C 合并 B.可将功能部件 B 和 F 合并 C.可将功能部件 C 和 D 合并 D.可将功能部件 E 和 F 合并(分数:2.00)A.B.C.D.19.下列情况中,不会引起指令流水线阻塞的是_。 A.访存冲突 B.指令数据相关 C.数据旁路(转发) D.外部中断(分数:2.00)A.B.C.D.20.下列关于控制相关冲突的叙述中,错误的是_。 A.条件转移指令执行时可能会发生控制相关冲突 B.在分支指令后加入若干空操作指令可避免控制相关冲突 C.采用
11、数据旁路技术可以解决部分控制相关冲突 D.通过编译器调整指令顺序可解决部分控制相关冲突(分数:2.00)A.B.C.D.21.在一个五级流水线处理器中,各主要功能部件的操作时间见下表。 B各主要功能部件的操作时间/B存储器 ALU 或加法器 寄存器堆读口或写口200ps 150ps 50ps下列说法中,正确的有_。 A.若 ALU 操作时间缩短 20%,能加快流水线执行速度 B.若 ALU 操作时间增加 20%,会降低流水线执行速度 C.若 ALU 操作时间增加 40%,会降低流水线执行速度 D.B、C(分数:2.00)A.B.C.D.22.下面是一段 MIPS 指令序列:1 add$s3,
12、$s1, $s0 #R$t3R$s1+R$s02 add$t2, $s0, $s3 #R$t2R$s0+R$s33 1w$t1, 0($t2) #R$t1MR$t2+04 add$t1, $t1, $t2 #R$t1R$t1+R$t2以上指令序列中,_指令之间发生数据相关? A.1 和 2、2 和 3 B.1 和 2、2 和 4 C.1 和 3、2 和 3、2 和 4、3 和 4 D.1 和 2、2 和 3、2 和 4、3 和 4(分数:2.00)A.B.C.D.23.下列叙述中,正确的有_。 A.计算机三级时序是指机器周期、指令周期和存储周期。 B.CPU 只有在执行 PUSH 和 POP
13、指令后,堆栈寄存器(SP)的值才能递加或递减 C.指令有时候根据程序计数器(PC),有时候根据转移指令从主存中读出 D.以上全对(分数:2.00)A.B.C.D.24.一条流水线连接如下图所示,在理想情况下,该流水线的最大吞吐率为_。(分数:2.00)A.B.C.D.25.在指令流水线中为解决数据相关经常使用的方法有_。插入 nop 指令 猜测法改变指令执行顺序 设置相关的数据通路 A.、 B.、 C.、 D.、(分数:2.00)A.B.C.D.二、B综合应用题/B(总题数:6,分数:50.00)某简化的双地址指令计算机逻辑框图如下图所示,图中粗线为 CPU 内总线,箭头表示数据流通方向,MM
14、 为主存,MAR 为主存地址寄存器,MDR 为主存数据寄存器,IR 为指令寄存器,PC 为程序计数器,R0R3 为通用寄存器,C 为操作数暂存器,D 为运算结果暂存器,ALU 为运算器;图中每个寄存器都有数据打入控制信号 XXin,除 IR 和 C 之外的寄存器都有数据输出控制信号 XXout,另外,ALU还有相应的操作控制信号 ADD、SUB、PC 有自增控制信号+1PC,MM 有读写信号 MRD 和 MWR,以及存储器工作完成信号 MFC。(分数:6.00)(1).选择括号中的正确答案或填空。 PCout,MARin(相容/互斥)。 MRD,MWR(相容/互斥)。 R0out,R1out(
15、相容/互斥)。 MDRout,IRin(相容/互斥)。 在字段直接编码方式中,互斥的微命令应编入同一字段,则计算该字段二进制位数的表达式是_。(分数:3.00)_(2).若取指令操作微操作流程描述如下: T1 PCout, MARin T2 MRD, +1PC T3 WAIT; MFC=0 转 TW(指令尚未读出) MFC=1 转 T4(指令读出) T4 MDRout,IRin(指令译码) 参照上述流程,试写出执行指令SUB(R0),R1 的全部微操作流程。(注:该指令完成(R0)-(R1)(R0),R1 为寄存器寻址,存放着源操作数;R0 为寄存器间接寻址,存放的是目的操作数地址,操作数和结
16、果存放在主存中。(分数:3.00)_假设指令流水线分为取指令(IF)、指令译码/读寄存器(ID)、执行/有效地址计算(EX)、存储器访问(MEM)、结果写回寄存器(WB)5 个过程段。现有下列指令序列进入该流水线。ADD R1,R2,R;SUB R4,R1,R5;AND R6,R1,R7;OR R8,R1,R9;XOR R10,R1,R11;请回答以下问题:(分数:6.00)(1).如果处理器不对指令之间的数据相关进行特殊处理,而允许这些指令进入流水线,试问上述指令中哪些将从未准备好数据的 R1 寄存器中取到错误的数据?(分数:3.00)_(2).假如采用将相关指令延迟到所需操作数被写回到寄存
17、器后再执行的方式,以解决数据相关的问题,那么处理器执行该指令序列需占用多少个时钟周期?(分数:3.00)_图 1 所示的处理器逻辑框图中,有两条独立的总线和两个独立的存储器。已知指令存储器(IM)最大容量为 16384 字(字长 18 位),数据存储器(DM)最大容量为65536 字(字长 16 位)。各寄存器均有“打入”(R in)和“送出”(R out)控制命令,但图中未标出。(分数:6.00)(1).请指出下列各寄存器的位数。程序计数器(PC)、指令寄存器(IR)、累加器 AC0和 AC1、通用寄存器 R0R 7、指令存储器地址寄存器(IAR)、指令存储器数据寄存器(IDR)、数据存储器
18、地址寄存器(DAR)、数据存储器数据寄存器(DDR)。设处理器的指令格式如图 2 所示。(分数:3.00)_(2).加法指令可写为“ADD X(R1)”。其功能是(AC 0)+(Ri)+X)AC 1,其中(R i)+X)部分通过寻址方式指向数据存储器,现取 Ri为 R1。试画出 ADD 指令从取指令开始到执行结束的操作序列图,写明基本操作步骤和相应的微操作控制信号。(分数:3.00)_下面是一段 MIPS 指令序列:add $t1, $s1, $s0 #R$t1R$s1+R$s0sub $t2, $s0, $s3 #R$t2R$s0-R$s3add $t1, $t1, $t2 #R$t1R$t
19、1+R$t2假定在一个采用“取指、译码/取数、执行、访存、写回”的五段流水线处理器中执行上述指令序列,请回答下列问题:(分数:12.00)(1).以上指令序列中,哪些指令之间发生数据相关?(分数:3.00)_(2).若不采用“转发”技术的话,需要在何处、加入几条 nop 指令能保证这段指令序列的执行避免数据冒险。(分数:3.00)_(3).如果采用“转发”技术,是否可以完全解决数据冒险?若不行,需要在何处,加入几条 nop 指令,才能使这段指令序列的执行避免数据冒险。(分数:3.00)_(4).在上面两种情况下,执行上述 3 条指令的 CPI 分别是多少?(保留小数点后一位)(分数:3.00)
20、_下面是一段 MIPS 指令序列:1 add $t1, $s1, $s0 #R$t1R$s1+R$s02 sub $t2, $s0, $t1 #R$t2R$s0-R$t13 add $t3, $t3, $s2 #R$t1R$t1+R$t24 1w $t4,100($s3) #R$t4MR$s3+100“取指、译码/取数、执行、访存、写回”的五段流水线处理器中执行上述指令序列,请回答下列问题:(分数:6.00)(1).以上指令序列中,哪些指令之间发生数据相关。(分数:3.00)_(2).若不采取“转发”技术的话,怎样调整这些指令的顺序才能使其性能最好,这时还需在何处,加入几条 nop 指令才能保
21、证调整后的这段指令序列的执行避免数据冒险。此时,CPI 为多少?(分数:3.00)_某高级语言源程序中的一个 while 语句为“while(savei=k)i+=1;”,若对其编译时,编译器将 i 和 k 分别分配在寄存器$s3 和$s5 中,数组 save 的基址存放在$s6 中,则生成的 MIPS 汇编代码段如下: 1 loop: sll $t1, $s3, 2 #R$t1R$s32, 即 R$t1=i4 2 add $t1, $t1, $s6 #R$t1R$t1+R$s6, 即 R$t1=Address of savei 3 1w $t0, 0($t1) #R$t0MR$t1+0, 即
22、 R$t0=savei 4 bne $t0, $s5, exit #R$t0R$s5 then goto exit 5 addi $s3, $s3, 1 #R$s3R$s3+1, 即 i=i+1 6 j loop #goto loop 7 exit: 该五段流水线数据通路中各主要功能单元的操作时间见下表。 各主要功能单元的操作时间 B各主要功能单元的操作时间/B存储器 ALU 或加法器 寄存器堆读口或写口200ps 150ps 50ps请回答下列问题:(分数:14.00)(1).在不考虑流水段寄存器、多路选择器、控制单元、PC、扩张器和线路等延迟的情况下,五段流水线处理器的最小时钟周期为多少?
23、(分数:3.50)_(2).请问该程序执行过程中,是否会遇到数据相关冲突?若有,请列出。一般采用何种技术解决该类相关。(分数:3.50)_(3).请问该程序执行过程中,是否会遇到控制相关冲突?若有,请列出。一般采用何种技术解决该类相关。(分数:3.50)_(4).如果采用下图所示的双输入段的加一乘双功能静态流水线,每个功能段经过的时间均为 t,在加法时按照 1235 链接;乘法时,按照 145 链接。流水线的输出可以直接送到其输入端或者输入缓冲器,不计其间的传送延迟,操作数可以连续提供,对向量 A=(a1,a2,a3,a4),B=(b1,b2,b3,b4)。双输入段的加-乘双功能静态流水线采用
24、上述流水线完成点积:(分数:3.50)_计算机学科专业基础综合组成原理-中央处理器(CPU)(三)答案解析(总分:100.00,做题时间:90 分钟)一、B单项选择题/B(总题数:25,分数:50.00)1.在计算机体系结构中,CPU 内部包括程序计数器(PC)、存储器数据寄存器(MDR)、指令寄存器(IR)和存储器地址寄存器(MAR)等。若 CPU 要执行的指令为 MOV R0, #100(即将数值 100 传送到寄存器 R0 中),则CPU 首先要完成的操作是_。 A.100R0 B.100MDR C.PCMAR D.PCIR(分数:2.00)A.B.C. D.解析:解析 取指周期完成的微
25、操作序列是公共的操作,与具体指令无关。CPU 首先需要取指令,取指令阶段的第一个操作就是将指令地址(PC 中的内容)送往存储器地址寄存器。 题干中虽然给出了一条具体的指令“MOV R0, #100”,实际上 CPU 首先要完成的操作是取指令,与具体指令没有关系。2.下列关于微指令编码方式的说法中,错误的是_。字段直接编码可以用较少的二进制信息表示较多的微操作命令信号,如有两组互斥微命令中,微命令个数分别为 8 和 9,则只分别需要 3 位和 4 位即可表示直接编码无须进行译码,微指令的微命令字段中每一位都代表一个微命令垂直型微指令以较长的微程序结构换取较短的微指令结构,因而执行效率、灵活性都高
26、于水平型微指令字段间接编码中,一个字段的译码输出需要依靠另外某一个字段的输入 A.、 B.、 C.、 D.、(分数:2.00)A. B.C.D.解析:解析 编码的是对微指令的控制字段进行编码,以形成控制信号;目的是在保证速度的情况下,尽量缩短微指令字长。 微命令个数为 8 时,需要 4 位,假设只用 3 位,将会造成每个编码都会输出一个微命令,事实上,微命令的编码需要预留一个字段表示不输出,错误。垂直型微指令的缺点是微程序长、执行速度慢、工作效率低,错误。字段间接编码中的一个字段的某些微命令还需由另一个字段中的某些微命令来解释,即受到某一个字段的译码输出,错误。3.间址周期结束时,CPU 内寄
27、存器 MDR 中的内容为_。 A.指令 B.操作数地址 C.操作数 D.无法确定(分数:2.00)A.B. C.D.解析:解析 间址周期的作用是取操作数的有效地址,故间址周期结束后,MDR 中的内容为操作数地址。4.设 CPU 采用三级指令、双发射的超标量流水线,操作周期为 t,则 CPU 连续运行 10 条指令(这些指令完全适合于流水线上执行)共耗时_。 A.7t B.10t C.12t D.20t(分数:2.00)A. B.C.D.解析:解析 由于采用三级指令、双发射的超标量流水线,故共耗时 3t+(10-2)t/2=7t。5.微命令发生器(也称为控制单元,CU)的设计与下列因素基本无关的
28、是_。 A.CPU 寄存器数量 B.指令系统 C.数据通路 D.机器字长(分数:2.00)A. B.C.D.解析:解析 微命令发生器是根据 IR 的内容(指令)、PSW 的内容及时序线路的状态,产生控制整个计算机系统所需要的各种控制信号,而与 CPU 的寄存器个数基本无关。6.由于 CPU 内部操作的速度较快,而 CPU 访问一次存储器的时间较长,因此存取周期通常由_来确定。 A.主存中读取一个指令字的最短时间 B.主存中读取一个数据字的最长时间 C.主存中写入一个数据字的平均时间 D.主存中读取一个数据字的平均时间(分数:2.00)A. B.C.D.解析:解析 存储器的存取周期是指开始一次存
29、取操作与下一次存取操作开始之前的最短时间间隔,通常从主存中读取一个指令字的最短时间就是存取周期。7.在控制器的控制方式中,机器周期内的时钟周期个数可以不相同,这属于_。 A.同步控制 B.异步控制 C.半异步控制 D.联合控制(分数:2.00)A. B.C.D.解析:解析 同步控制方式下机器周期内时钟周期个数可以相等或不相等,而异步控制方式没有统一的时钟控制,采用应答方式实现。本题强调机器周期,所以应为同步控制方式。8.异步控制常用于_。 A.CPU 执行乘除法指令时 B.CPU 访问主存储器时 C.CPU 访问 I/O 设备时 D.CPU 访问寄存器时(分数:2.00)A.B.C. D.解析
30、:解析 异步控制是没有统一时序信号的控制方式,常用于通信双方的速度差异较大或那些时间难以确定的微操作的情况,如 CPU 对外围设备的访问。9.下列关于加法的说法中,正确的是_。 A.加法指令的执行周期一定要访存 B.加法指令的执行周期一定不要访存 C.指令的地址码给出存储器地址的加法指令,在执行周期一定访存 D.以上都不对(分数:2.00)A.B.C. D.解析:解析 如果指令中的形式地址不直接指出操作数地址,而是指出操作数有效地址的所在存储单元地址,通常在间址周期中形成操作数。例如,ADD(Mem),R 1指令,其功能是将主存 Mem 位置的数据与 R1内容相加后送至 R1中,其取指周期的微
31、操作如下:(PC)MAR, ReadM(MAR)MDR, (PC)+1PC(MDR)IR其间址周期的微操作如下:IR(Mem)MDR IR(Mem)表示取 IR 中指令的形式地址,等价于 Ad(IR)(MDR)MAR, ReadM(MAR)MDR这样 MDR 中存放的是操作数,其执行周期的微操作如下:(MDR)Y(R1)+(Y)Z(Z)R 1从上看到,尽管该加法指令的地址码给出的是存储器地址,由于在间址周期中取出了操作数,在执行周期并没有访存。也就是说,指令的地址码给出存储器地址的加法指令,在执行周期不一定访存,只有将执行结果存放在主存中的加法指令,在执行周期一定访存。10.假设微操作控制信号
32、用 Cn表示,指令操作码译码器输出用 Im表示,节拍电位信号用 Mr表示,节拍脉冲信号用 Ti表示,状态反馈信号用 Bj表示,则硬布线控制器的基本原理可描述为_。 A.Cn=f(Im,Ti) B.Cn=f(Im,Bj) C.Cn=f(Mr,Ti,Bj) D.Cn=f(Im,Mr,Ti,Bj)(分数:2.00)A.B.C.D. 解析:解析 微操作控制信号=f(译码器输出,节拍电位信号,节拍脉冲信号,状态反馈信号)。11.下列说法中,正确的是_。 A.控制器产生的所有控制信号称为微指令 B.微程序控制器比硬布线控制器更加灵活 C.微处理器的程序称为微程序 D.采用微程序控制器的处理器称为微处理器(
33、分数:2.00)A.B. C.D.解析:解析 控制器产生的所有控制信号称为微命令。微处理器的程序仍称为程序。微处理器的控制器可以是微程序控制器也可以是硬布线控制器。12.若存储器容量为 64K32 位,则主机中各寄存器的最少位数都正确的选项是_。 A.ACC:32 位;PC:16 位;ALU:32 位;IR:32 位;MDR:32 位;MAR:32 位 B.ACC:64 位;PC:32 位;ALU:32 位;IR:32 位;MDR:32 位;MAR:16 位 C.ACC:64 位;PC:64 位;ALU:32 位;IR:16 位;MDR:32 位;MAR:16 位 D.ACC:32 位;PC:
34、16 位;ALU:32 位;IR:32 位;MDR:32 位;MAR:16 位(分数:2.00)A.B.C.D. 解析:解析 存储字长为 32 位,即数据单元为 32 位,那么用来存储数据单元的寄存器都至少为 32 位,包括 ACC、ALU、IR、MDR。 存储器容量为 64K,即存储器地址需要 16 位,那么用来存储地址的寄存器都至少为 16 位,包括 PC、MAR。 所以正确的答案是 D。13.假设某机器有 80 条指令,平均每条指令由 4 条微指令组成,其中有 1 条取指微指令是所有指令公用的。已知微指令长度为 32 位,估算控制存储器 CM 容量为_。(提示:控制存储器 CM 的容量为
35、 2 的 n 次幂) A.512B B.1KB C.2KB D.4KB(分数:2.00)A.B. C.D.解析:解析 总的微指令条数=(4-1)80+1=241 条,每条微指令占一个控制单元,控存 CM 容量为 2 的n 次幂,而 241 刚好小于 256,所以 CM 的容量=25632 位=1KB。14.某机共有 70 个微控制信号(即微命令),构成 6 个互斥的微命令组,各组分别包含8、11、3、16、7、25 个微命令。如果采用字段直接编码方式,微指令的控制字段需要_位。 A.21 B.22 C.23 D.25(分数:2.00)A.B.C. D.解析:解析 采用字段直接编码方式时,每个字
36、段除要发出微命令外,还需要能够表示不发出任何微命令的状态,故每个字段需要*位,n 为该字段包含的微命令组。故微指令的操作控制字段所需位数为 4+4+2+5+3+5=23,即微指令的控制字段需要 23 位。知识点回忆:如果本题用直接控制方式的话,微指令的控制字段需要 8+11+3+16+7+25=70 位。相比于直接编码(直接控制方式),字段直接编码方式缩短了微指令的字长,但增加了译码的时间。15.下表给出了 5 条微指令 I1I5 所发出的控制信号 aj。设计微指令的控制字段,要求保持微指令本身的并行性,需要的最少控制位数为_。 B5条微指令所发出的控制信号/B激活的控制信号微指令abcdef
37、ghijI1 I2 I3 I4 I5 A.6 B.7 C.8 D.10(分数:2.00)A.B. C.D.解析:解析 微指令的编码方式主要有以下几种:1)直接编码(直接控制)方式。2)字段直接编码方式。3)字段间接编码方式。4)混合编码(一般不考查)。前 3 种编码方式,后者都比前者进一步缩短微指令字长,即控制位数是递减的。但题目要求保持微指令本身的并行性,由于 3)中某些微命令还需由另一个字段中的某些微命令来解释,即其微指令并行能力受到削弱。故本题应该是采用字段直接编码方式。分析如下:1)将出现情况完全相同的控制信号合并。观察表可发现,控制信号 e、f 只在微指令 13 中同时出现,可合用
38、1 位控制位来表示。2)分析微指令的兼容、互斥情况。尽量将互斥的控制信号分在一组,采用字段直接编码法进行控制。观察表可发现控制信号(a、b、e)是互斥的,(c、g、j)也是互斥的,因此可将(a、b、e)、(c、g、i)分别放在两个组内,每组经译码器输出各给出的 3 个控制信号,其余的 d、h、i 一个信号一组。下图是微指令控制字段格式图,其中字段的 0 或 00 统一表示“无操作”。*微指令控制字段格式图所以最少的控制位数为 2+1+1+1+2=7。16.假设某机中一条指令可分为取指(IF)、译码并取数(ID)、执行(EX)、写结果(WR)4 个阶段,且每个阶段的操作时间相同,假设连续执行 1
39、00 条指令,采用指令四级流水技术,相对未采用流水线技术加速比为_。 A.1.98 B.2.50 C.3.88 D.4.58(分数:2.00)A.B.C. D.解析:解析 假设 IF、ID、EX、WR 每个阶段耗时 t,则连续执行 100 条指令: 不采用流水线时,耗时1004t=400t。 采用四级指令流水线时,耗时 4t+(100-1)t=103t。 采用四级指令流水线时,相对不采用流水线加速比为 400t/103t=3.88。17.流水线中有 3 类数据相关冲突:写后读相关、读后写相关、写后写相关。那么下列 3 组指令中存在读后写相关的是_。 A. I1 SUB R1,R2,R3; (R
40、2)+(R3)R 1 I2 ADD R4,R5,R1; (R5)+(R1)R 4 B. I1 STA M,R2; (R2)M,M 为主存单元 I 2 ADD R2,R4,R5; (R4)+(R5)R 2 C. I1 MUL R3,R2,R1; (R2)(R1)R 3 I2 SUB R3,R4,R5; (R4)-(R5)R 3 D.以上都不是(分数:2.00)A.B. C.D.解析:解析 A 选项,I 1指令运算结果应先写入 R1,然后在指令 I2中读出 R1内容。由于 I2指令进入流水线,使得 I2指令在 I1指令写入 R1前就读出 R1的内容,发生“写后读相关”。B 选项,I 1指令应先读出
41、 R2内容并存入存储单元 M 中,然后 I2指令将运算结果写入 R2中。但由于 I2指令进入流水线,使得 I2指令在 I1指令读出 R2之前就写入 R2,发生“读后写相关”。C 选项,I 2指令应该在 I1指令写入 R3之后,再写入 R3。现由于 I2指令进入流水线,如果 I2指令减法运算在 I1指令的乘法运算之前完成,使得 I2指令在 I1指令写入 R3之前就写入 R3,导致 R3内容错误,发生“写后写相关”。所以选 B。18.假定执行最复杂的指令需要 6 个子功能,分别对应的功能部件 AF 来完成,每个功能部件所花的时间分别为 80ps、30ps、60ps、70ps、40ps、30ps,采用的是流水线宽度为 80ps,下列做法中,能保证不增加流水线宽度,且又能减少流水线段数的是_。 A.可将功能部件 B 和 C 合并 B.可将功能部件 B 和 F 合并 C.可将功能部件 C 和 D 合并 D.可将功能部件 E 和 F 合并(分数:2.00)A.B.C.D. 解析:解析 将 B 和 C 合并,那么合并后所需要的时间为 90ps,原流水线宽度 80ps 不能满足,需要提高,故 A 选项不对。同理,C 选项也不能满足。 B 和 F 并不相邻,而指令的所有子功能都必须按一定的顺序经过流水段,故 B 选项也不对。1