当前位置:问答库>考研试题

2017年深圳大学FS30专业基础知识综合(软件工程专业型)复试实战预测五套卷

  摘要

一、应用题

1. 某程序中有如下循环代码段p :

P 起始地址 为0804 8100H,对应的汇编代码和机器代码如下表所示

假设编译时变量sum 和i 分别分配在寄存器R1和R2中。常量N 在寄存器R6中,数组A 的首地址在寄存器R3中,程序段

执行上述代码的计算机M 采用32位定长指令字,其中分支指令Bne 采用如下格式,

Op 为操作码:Rs 和Rd 为寄存器编号:OFFSET 为偏移量,用补码表示。请回答下列问题,并说明理由。

(1)M 的存储器编址单位是什么?

(2)已知sll 指令实现左移功能,数组A 中每个元素占多少位?

(3)表中bne 指令的OFFSET 字段的值是多少?已知bne 指令采用相对寻址方式,当前PC 内容为bne 指令地址,通过分析表中指令地址和bne 指令内容,推断出bne 指令的转移目标地址计算公式。

(4)若M 采用如下“按序发射、按序完成”的5级指令流水线:IF (取指)、ID (译码及

,且硬件不采取任何转发措施,分取数)、EXE (执 行)、MEM (访存)、WB (写回寄存器)

支指令的执行均引起3个时钟周期阻塞,则P 中哪些指令的执行会由于数据相关而发生流水线阻塞?哪条指令的执行会发生控制冒险?为什么指令1 的执行不会因为与指令5的数据相关而发生阻塞?

【答案】(1)由题可知,指令为32为即4个字节,而程序执行时是以4为间隔逐条取指令的,故可知M 的存储器是采用字节编址。

(2)32位,因为sll 中实现左移,而(R2) <<2 R4即左移两位就是乘以4,所以是

(3)由Bne 的指令格式可知其OFFSET 为指令的后16位,而Bne 的机器码码为1446 FFFAH,所以Bne 的OFFSET 为FFFAH 即-6。

由题可知Bne 采用相对寻址方式,故有效地址

第 2 页,共 38 页 而PC 的值

为当前Bne 指令的地址

即而取完Bne 指令后

而要跳转到指令1的地址08048100H ,两者相差了18H 也

就是24个字节,而OFFSET 是-6, 故转移目标地址计算公式为(PC

(4)由指令序列可知,指令1需写R4而指令2需读R4, 故指令2会因为数据相关而发生阻塞,同理指令3、指令4也会因为数据相关而发生阻塞;而指令6为分支指令,故其存在控制冒险。因为分支指令会有3个时钟周期的阻塞,故指令1的执行不会因为指令5的数据相关而发生阻塞。

2. 写出下列排序算法的基本思想,并写出对序列(23,12,35,47,16,25,36,19,21,16)进行排序时每一趟的结果。

【答案】此排序为双向起泡排序:从前向后一趟排序下来得到一个最大值,若其中发生交换,则再从后向前一趟排序,得到一个最小值。

第一趟:12,23,35,16,25,36, 19,21,16, 47

第二趟:12,16,23,35,16,25,36, 19,21,47

第三趟:12,16,23,16,25,35, 19,21,36, 47

第四趟:12, 16, 16,23, 19, 25, 35, 21, 36,47

第五趟:12,16,16,19,23,25,21,35, 36, 47

第六趟:12,16,16,19,21, 23,25,35, 36, 47

第七趟:12,16,16,19,21,23,25,35, 36, 47

3. 主机H 通过快速以太网连接Internet , IP地址为

题 a 表 服务器S 的IP 地址为211.68.71.80。H 与S 使用TCP 通信时,在H 上捕获的其中5个IP 分组如题a 表所示。

第 3 页,共 38 页

请回答下列问题。

(1)题a 表中的IP 分组中,哪几个是由H 发送的? 哪几个完成了TCP 连接建立过程? 哪几个在通过快速以太网传输时进行了填充?

(2)根据题a 表中的IP 分组,分析S 已经收到的应用层数据字节数是多少?

(3)若题a 表中的某个IP 分组在S 发出时的前40字节如题b 表所列,则该IP 分组到达H 时经过了多少个路由器?

题 b 表

注:IP 分组头和TCP 段头结构分别如题a 图、题b 图所示:

题a 图IP 分组头结构

题b 图TCP 段头结构

【答案】(1)由于题a 表中1、3、4号分组的源IP 地址(第13〜16字节)均为192.168.0.8

,所 以1、3、4号分组是由H 发送的。 (coa80008H )

第 4 页,共 38 页