15.有如下C语言程序段:
for(k=0; k<1000; k++)
a[k]=a[k]+32;
若数组a及变量k均为int型,int型数据占4B,数据Cache采用直接映射方式、数据区大小为KB、块大小为16 B,该程序段执行前Cache为空,则该程序段执行过程中访问数组a的Cache缺失率约为
A.1.25%
B. 2.5%
C.12.5%
D.25%
43.(13分)有实现x×y 的两个C语言函数如下∶
unsigned umul (unsigned x,unsigned y) { return x*y;}
int imul (int x,int y) {return ×* y;}
假定某计算机 M 中 ALU只能进行加减运算和逻辑运算。请回答下列词题。
(1)若 M 的指令系统中1没有乘法指令,但有加法、减法和位移等指令,则在 M上也能实现上述两个函数中的乘法运算,为什么?
(2)若 M 的指令系统中有乘法指令,则基于 ALU、位移器、寄存器以及相应控制逻辑实现乘法指令时,控制逻辑的作用是什么?
(3)针对以下三种情况;a)没有乘法指令;b)有使用ALU和位移器实现的乘法指令;c)有使用阵列乘法器实现的乘法指令,函数 umul()在哪种情况下执行时间最长?哪种情况下执行的时间最短?说明理由
(4)n位整数乘法指令可保存2n位乘积,当仅取低 n位作为乘积时,其结果可能会发生溢出。当 n=32、x=231-1、y=2时,带符号整数乘法指令和无符号整数乘法指令得到的x×y 的 2n位乘积分别是什么(用十六进制表示)?此时函数 umul()和 imul()的返回结果是否溢出?对于无符号整数乘法运算,当仅取乘积的低 n 位作为乘法结果时,如何用 2m 位乘积进行溢出判断?
16.某存储器容量为64 KB,按字节编址,地址4000H~5FFFH为ROM 区,其余为RAM区。若采用8K×4位的SRAM芯片进行设计,则需要该芯片的数量是
A.7
B.8
C.14
D.16
44.(10分)假定主存地址为32位,按字节编址,指令Cache 和数据Cache 与主存之间均采用8路组相联映射方式,直写(Write Through)写策略和LRU替换算法,主存块大小为64B,数据区容量各为32KB。开始时Cache 均为空。请回答下列问题。
(1)Cache 每一行中标记(Tag)、LRU 位各占几位?是否有修改位?
(2)有如下C语言程序段:
for (k = 0; k<1024; k++)
s[k] = 2* s[k];
若数组s及其变量k均为 int 型,int 型数据占4B,变量k分配在寄存器中,数组s在主存中的起始地址为0080 00C0H,则该程序段执行过程中,访问数组s的数据 Cache 缺失次数为多少?
(3)若CPU最先开始的访问操作是读取主存单元0001003H中的指令,简要说明从Cache 中访问该指令的过程,包括 Cache 缺失处理过程。
17.某指令格式如下所示。
OP|M|I|D|
其中M为寻址方式,I为变址寄存器编号,D为形式地址。若采用先变址后间址的寻址方式,则操作数的有效地址是
A. I+D
B.(I)+D
C.((I)+D)
D.((I))+D
45.(7分)现有5个操作A、B、C、D和E,操作C必须在A和B完成后执行,操作E 必须在 C和 D完成后执行,请使用信号量的 wait()、signal()操作(P、V 操作)描述上述操作之间的同步关系,并说明所用信号量及其初值。
18.某计算机主存空间为4 GB,字长为32位,按字节编址,采用32位定长指令字格式。若指令按字边界对齐存放,则程序计数器(PC)和指令寄存器((IR)的位数至少分别是
A.30
B.32
C.30
D.32
46.(8分)某32位系统采用基于二级页表的请求分页存储管理方式,按字节编址,页目录项和页表项长度均为 4字节,虚拟地址结构如下所示。
页目录号(10位)|页号(10位)|页内偏移量(12位)
某C程序中数组 a[1024][1024]的起始虚拟地址为1080 0000H,数组元素占4字节,该程序运行时,其进程的页目录起始物理地址为 0020 1000H,请回答下列问题。
(1)数组元素 a[[1][2]的虚拟地址是什么?对应的页目录号和页号分别是什么?对应的页目录项的物理地址是什么?若该目录项中存放的页框号为 00301H,则a[1][2]所在页对应的页表项的物理地址是什么?
(2)数组 a 在虚拟地址空间中所占区域是否必须连续? 在物理地址空间中所占区域是否必须连续?
(3)已知数组 a 按行优先方式存放,若对数组 a 分别按行遍历和按列遍历,则哪一种遍历方式的局部性更好?
19.在无转发机制的五段基本流水线((取指、译码/读寄存器、运算、访存、写回寄存器)中,下列指令序列存在数据冒险的指令对是
I1:add R1,R2, R3;(R2)+(R3)→R1
I2:add R5, R2,R4;(R2)+(R4)→R5
I3:add R4, R5, R3;(R5)+(R3)→R4
I4:add R5,R2,R6 ;(R2)+(R6)→R5
A.I1和I2
B. I2和I3
C.I2和I4
D.I3和I4
47.(9分)某校园网有两个局域网,通过路由器R1、R2和 R3互联后接入 Internet,S1和S2为以太网交换机。局域网采用静态 IP地址配置,路由器部分接口以及各主机的 IP地址如下图所示。
假设NAT转换表结构为:
外网:IP地址|端口号
内网:IP地址|端口号
请回答下列问题:
(1)为使H2和H3能够访问 Web 服务器(使用默认端口号),需要进行什么配置?
(2)若H2主动访问 Web 服务器时,将HTTP请求报文封装到IP数据报P中发送,则H2 发送P的源 IP地址和目的 IP地址分别是什么?经过R3转发后,P的源IP地址和目的IP 地址分别是什么?经过R2转发后,P的源IP地址和目的IP 地址分别是什么?