1、计算机专业基础综合历年真题试卷汇编 7 及答案与解析一、单项选择题1-40 小题,每小题 2 分,共 80 分。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。1 假设某计算机按字编址,Cache 有 4 个行,Cache 和主存之间交换的块大小为 1个字。若 Cache 的内容初始为空,采用 2 路组相联映射方式和 LRU 替换策略。访问的主存地址依次为 0,4,8,2,0,6,8,6,4,8 时,命中 Cache 的次数是_。(A)1(B) 2(C) 3(D)42 某机器有一个标志寄存器,其中有进位借位标志 CF、零标志 ZF、符号标志SF 和溢出标志 OF,条件转移指令 bgt
2、(无符号整数比较大于时转移)的转移条件是_。3 某机器字长为 16 位,主存按字节编址,转移指令采用相对寻址,由两个字节组成,第一字节为操作码字段,第二字节为相对位移量字段。假定取指令时,每取一个字节 PC 自动加 1。若某转移指令所在主存地址为 2000H,相对位移量字段的内容为 06H,则该转移指令成功转移后的目标地址是 _。(A)2006H(B) 2007H(C) 2008H(D)2009H4 偏移寻址通过将某个寄存器内容与一个形式地址相加而生成有效地址。下列寻址方式中,不属于偏移寻址方式的是_。(A)间接寻址(B)基址寻址(C)相对寻址(D)变址寻址5 假设变址寄存器 R 的内容为 1
3、000H,指令中的形式地址为 2000H:地址 1000H中的内容为 2000H,地址 2000H 中的内容为 3000H,地址 3000H 中的内容为4000H,则变址寻址方式下访问到的操作数是_ 。(A)1000H(B) 2000H(C) 3000H(D)4000H6 下列关于 RISC 的叙述中,错误的是 _。(A)RISC 普遍采用微程序控制器(B) RISC 大多数指令在一个时钟周期内完成(C) RISC 的内部通用寄存器数量相对 CISC 多(D)RISC 的指令数、寻址方式和指令格式种类相对 CISC 少7 下列给出的指令系统特点中,有利于实现指令流水线的是_。指令格式规整且长度
4、一致指令和数据按边界对齐存放只有 LoadStore 指令才能对操作数进行存储访问(A)仅、(B)仅 、(C)仅 、(D)、8 下列寄存器中,汇编语言程序员可见的是_。(A)存储器地址寄存器(MAR)(B)程序计数器(PC)(C)存储器数据寄存器(MDR)(D)指令寄存器(IR)9 假定不采用 Cache 和指令预取技术,且机器处于“ 开中断”状态,则在下列有关指令执行的叙述中,错误的是_。(A)每个指令周期中 CPU 都至少访问内存一次(B)每个指令周期一定大于或等于一个 CPU 时钟周期(C)空操作指令的指令周期中任何寄存器的内容都不会被改变(D)当前程序在每条指令执行结束时都可能被外部中
5、断打断10 相对于微程序控制器,硬布线控制器的特点是_。(A)指令执行速度慢,指令功能的修改和扩展容易(B)指令执行速度慢,指令功能的修改和扩展难(C)指令执行速度快,指令功能的修改和扩展容易(D)指令执行速度快,指令功能的修改和扩展难11 某计算机的控制器采用微程序控制方式,微指令中的操作控制字段采用字段直接编码法,共有 33 个微命令,构成 5 个互斥类,分别包含 7、3、12、5 和 6 个微命令,则操作控制字段至少有_。(A)5 位(B) 6 位(C) 15 位(D)33 位12 某计算机采用微程序控制器,共有 32 条指令,公共的取指令微程序包含 2 条微指令,各指令对应的微程序平均
6、由 4 条微指令组成,采用断定法(下地址字段法)确定下条微指令地址,则微指令中下地址字段的位数至少是_。(A)5(B) 6(C) 8(D)913 某计算机的指令流水线由四个功能段组成,指令流经各功能段的时间(忽略各功能段之间的缓存时间)分别为 90ns、80ns、70ns、和 60ns,则该计算机的 CPU 时钟周期至少是_。(A)90ns(B) 80ns(C) 70ns(D)60ns14 下列选项中,不会引起指令流水线阻塞的是_。(A)数据旁路(转发)(B)数据相关(C)条件转移(D)资源冲突15 某 CPU 主频为 103GHz,采用 4 级指令流水线,每个流水段的执行需要 1 个时钟周期
7、。假定 CPU 执行了 100 条指令,在其执行过程中,没有发生任何流水线阻塞,此时流水线的吞吐率为_。(A)02510 9 条指令秒(B) 09710 9 条指令秒(C) 1010 9 条指令秒(D)10310 9 条指令秒二、综合应用题41-47 小题,共 70 分。15 某计算机采用 16 位定长指令字格式,其 CPU 中有一个标志寄存器,其中包含进位借位标志 CF、零标志 ZF 和符号标志 NF。假定为该机设计了条件转移指令,其格式如下: 其中,00000为操作码 OP;C 、Z 和 N 分别为 CF、ZF 和 NF 的对应检测位,某检测位为 1 时表示需检测对应标志,需检测的标志位中
8、只要有一个为 1 就转移,否则不转移,例如,若 C=1,Z=0,N=1,则需检测 CF 和 NF 的值,当 CF=1 或 NF=1 时发生转移;OFFSET 是相对偏移量,用补码表示。转移执行时,转移目标地址为(PC)+2+2OFFSET;顺序执行时,下条指令地址为(PC)+2 。请回答下列问题:16 该计算机存储器按字节编址还是按字编址?该条件转移指令向后(反向)最多可跳转多少条指令?17 某条件转移指令的地址为 200CH,指令内容如下图所示,若该指令执行时CF=0,ZF=0,NF=1 ,则该指令执行后 PC 的值是多少?若该指令执行时CF=1,ZF=0,NF=0 ,则该指令执行后 PC
9、的值又是多少?请给出计算过程。18 实现“无符号数比较小于等于时转移” 功能的指令中, C、Z 和 N 应各是什么?19 以下是该指令对应的数据通路示意图,要求给出图中部件 的名称或功能说明。19 某程序中有如下循环代码段 p“for(int i=0;iN ;i+)sum+=Ai;”。假设编译时变量 sum 和 i 分别分配在寄存器 R1 和 R2 中。常量 N 在寄存器 R6 中,数组 A的首地址在寄存器 R3 中。程序段 P 起始地址为 0804 8100H,对应的汇编代码和机器代码如下表所示。执行上述代码的计算机 M 采用 32 位定长指令字,其中分支指令 bne 采用如下格式:OP 为
10、操作码;Rs 和 Rd 为寄存器编号;OFFSET 为偏移量,用补码表示。请回答下列问题,并说明理由。20 M 的存储器编址单位是什么?21 已知 sll 指令实现左移功能,数组 A 中每个元素占多少位?22 题表中 bne 指令的 OFFSET 字段的值是多少?已知 bne 指令采用相对寻址方式,当前 PC 内容为 bne 指令地址,通过分析题表中指令地址和 bne 指令内容,推断出bne 指令的转移目标地址计算公式。23 某计算机字长为 16 位,采用 16 位定长指令字结构,部分数据通路结构如下图所示,图中所有控制信号为 1 时表示有效、为 0 时表示无效。例如,控制信号MDRinE 为
11、 1 表示允许数据从 DB 打入 MDR,MDRin 为 1 表示允许数据从内总线打入 MDR。假设 MAR 的输出一直处于使能状态。加法指令“ADD(R1),R0”的功能为(R0)+(R1)(R1),即将 R0 中的数据与 R1 的内容所指主存单元的数据相加,并将结果送入 R1 的内容所指主存单元中保存。下表给出了上述指令取指和译码阶段每个节拍(时钟周期)的功能和有效控制信号,请按表中描述方式用表格列出指令执行阶段每个节拍的功能和有效控制信号。23 某 16 位计算机的主存按字节编码,存取单位为 16 位;采用 16 位定长指令字格式;CPU 采用单总线结构,主要部分如下图所示。图中 R0R
12、3 为通用寄存器;T为暂存器;SR 为移位寄存器,可实现直送 (mov)、左移一位(left)和右移一位(dght)3种操作,控制信号为 SRop,SR 的输出由信号 SRout 控制;ALU 可实现直送A(mova)、A 加 B(add)、A 减 B(sub)、A 与 B(and)、A 或 B(or)、非 A(not)、A 加1(inc)7 种操作,控制信号为 ALUop。请回答下列问题:24 图中哪些寄存器是程序员可见的?为何要设置暂存器 T?25 控制信号 ALUop 和 SRop 的位数至少各是多少?26 控制信号 SRout 所控制部件的名称或作用是什么?27 端点 中,哪些端点须连
13、接到控制部件的输出端?28 为完善单总线数据通路,需要在端点 中相应的端点之间添加必要的连线。写出连线的起点和终点,以正确表示数据的流动方向。29 为什么二路选择器 MUX 的一个输入端是 2?30 某程序中有如下循环代码段 p“for(int i=0;iN ;i+)sum+=Ai;”。假设编译时变量 sum 和 i 分别分配在寄存器 R1 和 R2 中。常量 N 在寄存器 R6 中,数组 A的首地址在寄存器 R3 中。程序段 P 起始地址为 0804 8100H,对应的汇编代码和机器代码如下表所示。执行上述代码的计算机 M 采用 32 位定长指令字,其中分支指令 bne 采用如下格式:OP
14、为操作码;Rs 和 Rd 为寄存器编号;OFFSET 为偏移量,用补码表示。请回答下列问题,并说明理由。若M 采用如下“按序发射、按序完成”的 5 级指令流水线: IF(取值)、ID(译码及取数)、EXE(执行) 、MEM(访存)、 WB(写回寄存器),且硬件不采取任何转发措施,分支指令的执行均引起 3 个时钟周期的阻塞,为什么指令 1 的执行不会因为与指令 5 的数据相关而发生阻塞?计算机专业基础综合历年真题试卷汇编 7 答案与解析一、单项选择题1-40 小题,每小题 2 分,共 80 分。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。1 【正确答案】 C【试题解析】 地址映射采
15、用 2 路组相联,则主存地址为 01、45、89 可映射到第 0 组 Cache 中,主存地址为 23、67 可映射到第 1 组 Cache 中。Cache 置换过程如下表所示。【知识模块】 计算机组成原理2 【正确答案】 C【试题解析】 假设两个无符号整数 A 和 B,bgt 指令会将 A 和 B 进行比较,也就是将 A 和 B 相减。如果 AB,则 AB 肯定无进位腊位,也不为 0(为 0 时表示两数相同),故而 CF 和 ZF 均为 0,选 C。其余选项中用到了符号标志 SF 和溢出标志 OF,显然应当排除。【知识模块】 计算机组成原理3 【正确答案】 C【试题解析】 相对寻址 EA=(
16、PC)+A,首先要求的是取指令后 PC 的值。转移指令由两个字节组成,每取一个字节 PC 值自动加 1,因此取指令后 PC 值为2000H+2H=2002H,故 EA=(PC)+A=2002H+06H=2008H。本题易误选 A 或 B。选项 A 没有考虑 PC 值的自动更新,选项 B 虽然考虑了 PC值要自动更新,但没有注意到该转移指令是一条两字节指令,PC 值仅仅“+1”而不是“+2” 。【知识模块】 计算机组成原理4 【正确答案】 A【试题解析】 间接寻址不需要寄存器,EA=(A)。基址寻址 EA=A+基址寄存器BR 内容;相对寻址 EA=A+程序计数器 PC 内容;变址寻址 EA=A+
17、变址寄存器 IX内容。后三者都是将某个寄存器内容与一个形式地址相加而形成有效地址,故选A。【知识模块】 计算机组成原理5 【正确答案】 D【试题解析】 根据变址寻址的方法,变址寄存器的内容(1000H)与形式地址的内容(2000H)相加,得到操作数的实际地址(3000H) ,根据实际地址访问内存,获取操作数 4000H。【知识模块】 计算机组成原理6 【正确答案】 A【试题解析】 相对于 CISC,RISC 的特点是指令条数少;指令长度固定,指令格式和寻址种类少;只有取数存数指令访问存储器,其余指令的操作均在寄存器之间进行:CPU 中通用寄存器多;大部分指令在一个或者小于一个机器周期内完成;以
18、硬布线逻辑为主,不用或者少用微程序控制。选项 B、C 、D 都是 RISC 的特点,选项 A 是错误的,因为 RISC 的速度快,所以普遍采用硬布线控制器,而非微程序控制器。【知识模块】 计算机组成原理7 【正确答案】 D【试题解析】 指令定长、对齐、仅 LoadStore 指令访存,以上 3 个都是 RISC的特征,指令格式规整且长度一致能大大简化指令译码的复杂度,有利于实现流水线。指令和数据按边界对齐存放能保证在一个存取周期内取到需要的数据和指令,不用多余的延迟等待,也有利于实现流水线。只有 LoadStore 指令才能对操作数进行存储访问使取指令、取操作数操作简化且时间长度固定,能够有效
19、地简化流水线的复杂度。【知识模块】 计算机组成原理8 【正确答案】 B【试题解析】 读者首先必须明白“汇编语言程序员可见“的含义,即汇编语言程序员通过汇编程序可以对某个寄存器进行访问。汇编程序员可以通过指定待执行指令的地址来设置 PC 的值,如转移指令、子程序调用指令等。而 IR、MAR、MDR是 CPU 的内部工作寄存器,程序员无法直接获取和设置它们的值,也无法直接对它们进行其他操作,所以对程序员不可见。【知识模块】 计算机组成原理9 【正确答案】 C【试题解析】 由于不采用指令预取技术,每个指令周期都需要指令,而不采用Cache 技术,则每次取指令都至少要访问内存一饮(当指令字长与存储字长
20、相等且按边界对齐时),A 正确。时钟周期是 CPU 的最小时间单位,每个指令周期一定大于或等于一个 CPU 时钝周期,B 正确。即使是空操作指令,在取指操作后, PC也会自动加 1,C 错误。由于机器处于“开中断”状态,在每条指令执行结束时都可能外部中断打断。【知识模块】 计算机组成原理10 【正确答案】 D【试题解析】 微程序控制器采用了“存储程序”的原理,每条机器指令对应一个微程序,因此修改和扩充容易,灵活性好,但每条指令的执行都要访问控制存储器,所以速度慢。硬布线控制器采用专门的逻辑电路实现,其速度主要取决于逻辑电路的延迟,因此速度快,但修改和扩展困难,灵活性差。【知识模块】 计算机组成
21、原理11 【正确答案】 C【试题解析】 字段直接编码法将微命令字段分成若干个小字段,互斥性微命令组合在同一字段中,相容性微命令分在不同字段中,每个字段还要留出一个状态,表示本字段不发出任何微命令。5 个互斥类,分别包含 7、3、12、5 和 6 个微命令,需要 3、2、4、3 和 3 位,共 15 位。【知识模块】 计算机组成原理12 【正确答案】 C【试题解析】 计算机共有 32 条指令,各个指令对应的微程序平均为 4 条,则指令对应的微指令为 32*4=128 条,而公共微指令还有 2 条,整个系统中微指令的条数一共为 128+2=130 条,所以需要log 2130 =8 位才能寻址到
22、130 条微指令,答案选 C。【知识模块】 计算机组成原理13 【正确答案】 A【试题解析】 流水线的时钟周期应以最长的执行时间为准,否则用时长的流水段的功能将不能正确完成。【知识模块】 计算机组成原理14 【正确答案】 A【试题解析】 采用流水线方式,相邻或相近的两条指令可能会因为存在某种关联,后一条指令不能按照原指定的时钟周期运行,从而使流水线断流。有三种相关可能引起指令流水线阻塞:结构相关,又称资源相关; 数据相关;控制相关,主要由转移指令引起。而数据旁路技术,其主要思想是不必待某条指令的执行结果送回到寄存器,再从寄存器中取出该结果,作为下一条指令的源操作数,而是直接将执行结果送到其他指
23、令所需要的地方,这样可以使流水线不发生停顿。【知识模块】 计算机组成原理15 【正确答案】 C【试题解析】 采用 4 级流水执行 100 条指令,在执行过程中共用 4+(100-1)=103 个时钟周期。CPU 的主频是 103GHz,也就是说每秒钟有 103G 个时钟周期。流水线的吞吐率为 103G100103=1010 9 条指秒。【知识模块】 计算机组成原理二、综合应用题41-47 小题,共 70 分。【知识模块】 计算机组成原理16 【正确答案】 因为指令长度为 16 位,且下条指令地址为(PC)+2,故编址单位是字节。偏移量 OFFSET。为 8 位补码,范围为 -128127,故相
24、对于当前条件转移指令,向后最多可跳转 127 条指令。【知识模块】 计算机组成原理17 【正确答案】 指令中 C=0,Z=1 ,N=1 ,故应根据 ZF 和 NF 的值来判断是否转移。当 CF=0,ZF=0,NF=1 时,需转移。己知指令中偏移量为 1110 0011B=E3H,符号扩展后为 FFE3 H,左移一位(乘 2)后为 FFC6H,故 PC 的值(即转移目标地址)为 200CH+2+FFC6H=IFD4H。当 CF=1,ZF=0,NF=0 时不转移。PC 的值为:200CH+2=200EH。【知识模块】 计算机组成原理18 【正确答案】 指令中的 C、Z 和 N 应分别设置为 C=Z
25、=1,N=0 ,进行数之间的大小比较通常是对两个数进行减法,而因为是无符号数比较小于等于时转移,即两个数相减结果为 0 或者负数都应该转移,若是 0,则 ZF 标志应当为 1,所以是负数,则借位标志应该为 1,而无符号数并不涉及到符号标志 NF。【知识模块】 计算机组成原理19 【正确答案】 部件用于存放当前指令,不难得出为指令寄存器;多路选择器根据符号标志 CZN 来决定下一条指令的地址是 PC+2 还是PC+2+2OFFSET,故多路选择器左边线上的结果应该是 PC+2+2OFFSET。根据运算的先后顺序,以及与 PC+2 的连接,部件 用于左移一位实现乘 2,为移位寄存器。部件用于 PC
26、+2 和 2OFFSET 相加,为加法器。部件:移位寄存器 (用于左移一位 );部件:加法器 (地址相加)。【知识模块】 计算机组成原理【知识模块】 计算机组成原理20 【正确答案】 已知计算机 M 采用 32 位定长指令字,即一条指令占 4B,观察表中各指令的地址可知,每条指令的地址差为 4 个地址单位,即 4 个地址单位代表4B,一个地址单位就代表了 1B,所以该计算机是按字节编址的。【知识模块】 计算机组成原理21 【正确答案】 在二进制中某数左移两位相当于乘以四,由该条件可知,数组间的数据间隔为 4 个地址单位,而计算机按字节编址,所以数组 A 中每个元素占4B。【知识模块】 计算机组
27、成原理22 【正确答案】 由表可知,bne 指令的机器代码为 1446FFFAH,根据题目给出的指令格式,后 2B 的内容为 OFFSET 字段,所以该指令的 OFFSET 字段为FFFAH,用补码表示,值为-16。当系统执行到 bne 指令时,PC 自动加 4,PC 的内容就为 08048118H,而跳转的目标是 08048100H,两者相差了 18H,即 24 个单位的地址间隔,所以偏移址的一位即是真实跳转地址的-24-6=4 位。可知 bne 指令的转移目标地址计算公式为(PC)+4+OFFSET*4 。【试题解析】 该题涉及到指令系统、存储管理以及 CPU 三个部分内容。【知识模块】
28、计算机组成原理23 【正确答案】 题干已给出取值和译码阶段每个节拍的功能和有效控制信号,我们应以弄清楚取指阶段中数据通路的信息流动作为突破口,读懂每个节拍的功能和有效控制信号。然后应用到解题思路中,包括划分执行步骤、确定完成的功能、需要的控制信号。先分析题干中提供的示例(本部分解题时不做要求):取指令的功能是根据 PC 的内容所指主存地址,取出指令代码,经过 MDR,最终送至 IR。这部分和后面的指令执行阶段的取操作数、存运算结果的方法是相通的。C1:(PC)MAR 在读写存储器前,必须先将地址(这里为(PC)送至 MAR。C2:M(MAR)MDR,(PC)+1PC 读写的数据必须经过 MDR
29、,指令取出后 PC 自增1。C3 :(MDR)IR 然后将读到 MDR 中指令代码送至 IR 进行后续操作。指令“ADD(R1),R0”的操作数一个在主存中,一个在寄存器中,运算结果在主存中。根据指令功能,要读出 R1 的内容所指的主存单元,必须先将 R1 的内容送至MAR,即(R1)MAR 。而读出的数据必须经过 MDR,即 M(MAR)MDR。因此,将 R1 的内容所指主存单元的数据读出到 MDR 的节拍安排如下:C5:(R1)MARC6:M(MAR)MDRALU 一端是寄存器 A,MDR 或 R0 中必须有一个先写入 A 中,如 MDR。C7:(MDR)A 然后执行加法操作,并将结果送入
30、寄存器AC。C8:(A)+(R0)AC 之后将加法结果写回到 R1 的内容所指主存单元,注意MAR 中的内容没有改变。C9:(AC)MDRC10 :(MDR)M(MAR) 有效控制信号的安排并不难,只需看数据是流入还是流出,如流入寄存器 X 就是 Xin,流出寄存器 X 就是 Xout。还需注意其他特殊控制信号,如 PC+1、Add 等。于是得到参考答案如下:本题答案不唯一,如果在 C6 执行 M(MAR)MDR 的同时,完成(R0)A(即选择将(R0) 写入 A),并不会发生总线冲突,这种方案可节省 1 个节拍,见下表。【知识模块】 计算机组成原理【知识模块】 计算机组成原理24 【正确答案
31、】 程序员可见寄存器为通用寄存器(RD R3)和 PC。因为采用了单总线结构,因此,若无暂存器 T,则 ALU 的 A、 B 端口会同时获得两个相同的数据,使数据通路不能正常工作。【知识模块】 计算机组成原理25 【正确答案】 ALU 共有 7 种操作,故其操作控制信号 ALUop 至少需要 3 位;移位寄存器有 3 种操作,其操作控制信号 SRop 至少需要 2 位。【知识模块】 计算机组成原理26 【正确答案】 信号 SRout 所控制的部件是一个三态门,用于控制移位器与总线之间数据通路的连接与断开。【知识模块】 计算机组成原理27 【正确答案】 端口、 、 须连接到控制部件输出端。【知识模块】 计算机组成原理28 【正确答案】 连线 1, ;连线 2,。【知识模块】 计算机组成原理29 【正确答案】 因为每条指令的长度为 16 位,按字节编址,所以每条指令占用2 个内存单元,顺序执行时,下条指令地址为(PC)+2。MUX 的一个输入端为 2,可便于执行(PC)+2 操作。【知识模块】 计算机组成原理30 【正确答案】 由于数据相关而发生阻塞的指令为第 2、3、4、6 条,因为第2、3、4、6 条指令都与各自前一条指令发生数据相关。【知识模块】 计算机组成原理
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1