2011年全国硕士研究生入学考试计算机科学与技术入学考试试题

更新时间:2024-03-29 03:00:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2011年全国硕士研究生入学考试计算机科学与技术入学考试试题

一、单项选择题:1~40小题,每小题2分,共80分。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。请在答题卡上将所选项的字母

涂黑。

1.设n是描述问题规模的非负整数,下面程序片段的时间复杂度是

x = 2; while ( x < n/2 )

x = 2*x;

A.O(log2n) 个数是 A.3

B.4

C.5

D.6

3.已知循环队列存储在一维数组A[0..n-1] 中,且队列非空时front和rear分别指向队头元素和队尾元素。若初始时队列为空,且要求第1个进入队列的元素存储在A[0]处,则初始时front和rear的值分别是 A.0, 0 A.257 A.1, 2, 3, 4 A.115

B.0, n-1 B.258 B.2, 3, 4, 1 B.116

C.n-1, 0 C.384 C.3, 2, 4, 1 C.1895

D.n-1, n-1 D.385 D.4, 3, 2, 1 D.1896

4.若一棵完全二叉树有768个结点,则该二叉树中叶结点的个数是

5.若一棵二叉树的前序遍历序列和后序遍历序列分别为1, 2, 3, 4和4, 3, 2, 1,则该二叉树的中序遍历序列不会是 .6.已知一棵有2011个结点的树,其叶结点个数为116,该树对应的二叉树中无右孩子的结点个数是 7.对于下列关键字序列,不可能构成某二叉排序树中一条查找路径的序列是 .

A.95, 22, 91, 24, 94, 71

B.92, 20, 91, 34, 88, 35

B.O(n)

C.O(n log2n)

D.O(n2)

2.元素a, b, c, d, e依次进入初始为空的栈中,若元素进栈后可停留、可出栈,直到所有元素都出栈,则在所有可能的出栈序列中,以元素d开头的序列

1 / 27

C.21, 89, 77, 29, 36, 38 8.下列关于图的叙述中,正确的是 I. 回路是简单路径

D.12, 25, 71, 68, 33, 34

II. 存储稀疏图,用邻接矩阵比邻接表更省空间 III.若有向图中存在拓扑序列,则该图不存在回路 A.仅II

B.仅I、II

C.仅III

D.仅I、III

9.为提高散列(Hash)表的查找效率,可以采取的正确措施是 I. 增大装填(载)因子

II. 设计冲突(碰撞)少的散列函数

III.处理冲突(碰撞)时避免产生聚集(堆积)现象 A.仅I A.顺序存储 A.1 A.MIPS A.C104 0000H A.EPROM

B.仅II B.散列存储 B.2 B.CPI B.C242 0000H B.CDROM

C.仅I、II C.链式存储 C.4 C.IPC C.C184 0000H C.DRAM

D.仅II、III D.索引存储 D.5 D.MFLOPS D.C1C2 0000H D.SRAM

10.为实现快速排序算法,待排序序列宜采用的存储方式是

11.已知序列25, 13, 10, 12, 9是大根堆,在序列尾部插入新元素18,将其再调整为大根堆,调整过程中元素之间进行的比较次数是 12.下列选项中,描述浮点数操作速度指标的是

13.float型数据通常用IEEE 754单精度浮点数格式表示。若编译器将float型变量x分配在一个32位浮点寄存器FR1中,且x = -8.25,则FR1的内容是 14.下列各类存储器中,不采用随机存取方式的是 .

15.某计算机存储器按字节编址,主存地址空间大小为64 MB,现用4M × 8位的RAM芯片组成32 MB的主存储器,则存储器地址寄存器MAR的位数至少

2 / 27

是 A.22位 A.间接寻址 转移条件是 A.CF+OF=1

B.SF+ZF=1

C.CF+ZF=1

D.CF+SF=1

18.下列给出的指令系统特点中,有利于实现指令流水线的是

I. 指令格式规整且长度一致 A.仅I、II

B.仅II、III

II.指令和数据按边界对齐存放 C.仅I、III

D.I、II、III

III.只有Load/Store指令才能对操作数进行存储访问

19.假定不采用Cache和指令预取技术,且机器处于“开中断”状态,则在下列有关指令执行的叙述中,错误的是 ..

A.每个指令周期中CPU都至少访问内存一次 B.每个指令周期一定大于或等于一个CPU时钟周期 C.空操作指令的指令周期中任何寄存器的内容都不会被改变 D.当前程序在每条指令执行结束时都可能被外部中断打断 20.在系统总线的数据线上,不可能传输的是 .

A.指令

B.操作数 D.中断类型号

C.握手(应答)信号

B.23位 B.基址寻址

C.25位 C.相对寻址

D.26位 D.变址寻址

16.偏移寻址通过将某个寄存器内容与一个形式地址相加而生成有效地址。下列寻址方式中,不属于偏移寻址方式的是 .

17.某机器有一个标志寄存器,其中有进位/借位标志CF、零标志ZF、符号标志SF和溢出标志OF,条件转移指令bgt(无符号整数比较大于时转移)的

21.某计算机有五级中断L4 ~ L0,中断屏蔽字为M4M3M2M1M0,Mi=1(0≤i≤4)表示对Li级中断进行屏蔽。若中断响应优先级从高到低的顺序是L0→L1

→L2→L3→L4,且要求中断处理优先级从高到低的顺序为L4→L0→L2→L1→L3,则L1的中断处理程序中设置的中断屏蔽字是 A.11110

B.01101

C.00011

D.01010

3 / 27

22.某计算机处理器主频为50 MHz,采用定时查询方式控制设备A的I/O,查询程序运行一次所用的时钟周期数至少为500。在设备A工作期间,为保

证数据不丢失,每秒需对其查询至少200次,则CPU用于设备A的I/O的时间占整个CPU时间的百分比至少是 A.0.02% A.先来先服务 C.时间片轮转

B.0.05%

C.0.20% B.高响应比优先 D.非抢占式短任务优先 B.缺页处理程序 D.时钟中断处理程序

D.0.50%

23.下列选项中,满足短任务优先且不会发生饥饿现象的调度算法是 .

24.下列选项中,在用户态执行的是

A.命令解释程序 C.进程调度程序

25.在支持多线程的系统中,进程P创建的若干个线程不能共享的是 .

A.进程P的代码段 B.进程P中打开的文件 C.进程P的全局变量

D.进程P中某线程的栈指针

26.用户程序发出磁盘I/O请求后,系统的正确处理流程是

A.用户程序→系统调用处理程序→中断处理程序→设备驱动程序 B.用户程序→系统调用处理程序→设备驱动程序→中断处理程序 C.用户程序→设备驱动程序→系统调用处理程序→中断处理程序 D.用户程序→设备驱动程序→中断处理程序→系统调用处理程序 27.某时刻进程的资源使用情况如下表所示。

进程 P1 P2 R1 2 1 已分配资源 R2 0 2 R3 0 0 R1 0 1 尚需资源 R2 0 3 R3 1 2 R1 0 可用资源 R2 2 R3 1 4 / 27

P3 P4 0 0 1 0 1 1 1 2 3 0 1 0 此时的安全序列是 A.P1, P2, P3, P4 C.P1, P4, P3, P2 I.修改页表 A.仅I、II I. 撤销部分进程 II. 增加磁盘交换区的容量 III.提高用户进程的优先级 A.仅I A.编辑

B.仅II B.编译

C.仅III C.链接

D.仅I、II D.装载

30.在虚拟内存管理中,地址变换机构将逻辑地址变换为物理地址,形成该逻辑地址的阶段是

31.某文件占10个磁盘块,现要把该文件磁盘块逐个读入主存缓冲区,并送用户区进行分析。假设一个缓冲区与一个磁盘块大小相同,把一个磁盘块读

入缓冲区的时间为100 μs,将缓冲区的数据传送到用户区的时间是50 μs,CPU对一块数据进行分析的时间为50 μs。在单缓冲区和双缓冲区结构下,读入并分析完该文件的时间分别是 A.1500 μs、1000 μs B.1550 μs、1100 μs C.1550 μs、1550 μs D.2000 μs、2000 μs

32.有两个并发执行的进程P1和P2,共享初值为1的变量x。P1对x加1,P2对x减1。加1和减1操作的指令序列分别如下所示。

II.磁盘I/O B.仅II

B.P1, P3, P2, P4 D.不存在 III.分配页框 C.仅III

D.I、II和III

28.在缺页处理过程中,操作系统执行的操作可能是

29.当系统发生抖动(thrashing)时,可以采取的有效措施是

5 / 27

// 加1操作 load R1, x inc R1 store x, R1

两个操作完成后,x的值 A.可能为-1或3

B.只能为1

D.可能为-1、0、1或2 B.无连接可靠的数据报服务 D.有连接可靠的虚电路服务 C.4800波特

D.9600波特 // 取x到寄存器R1中

// 将R1的内容存入x

// 减1操作 load R2, x dec R2 store x, R2

C.可能为0、1或2

33.TCP/IP参考模型的网络层提供的是

A.无连接不可靠的数据报服务 C.有连接不可靠的虚电路服务 A.600波特

B.1200波特

34.若某通信链路的数据传输速率为2400 bps,采用4相位调制,则该链路的波特率是

35.数据链路层采用选择重传协议(SR)传输数据,发送方已发送了0 ~ 3号数据帧,现已收到1号帧的确认,而0、2号帧依次超时,则此时需要重传

的帧数是 A.1 A.CSMA

B.2 B.CDMA

C.3 C.CSMA/CD

D.4 D.CSMA/CA

36.下列选项中,对正确接收到的数据帧进行确认的MAC协议是

37.某网络拓扑如下图所示,路由器R1只有到达子网192.168.1.0/24的路由。为使R1可以将IP分组正确地路由到图中所有子网,则在R1中需要增加的

一条路由(目的网络,子网掩码,下一跳)是

6 / 27

R1192.168.1.1192.168.1.0/24192.168.1.0/24R2192.168.2.0/25192.168.2.0/25192.168.2.1192.168.1.2192.168.2.128/25192.168.2.128/25192.168.2.130 A.192.168.2.0, B.192.168.2.0, C.192.168.2.0, D.192.168.2.0,

255.255.255.128, 192.168.1.1 255.255.255.0,

192.168.1.1 255.255.255.128, 192.168.1.2 255.255.255.0,

192.168.1.2 38.在子网192.168.4.0/30中,能接收目的地址为192.168.4.3的IP分组的最大主机数是 A.0

B.1

C.2 D.4 39.主机甲向主机乙发送一个(SYN = 1, seq = 11220)的TCP段,期望与主机乙建立TCP连接,若主机乙接受该连接请求,则主机乙向主机甲发送的正确的

TCP段可能是

A.(SYN = 0, ACK = 0, seq = 11221, ack = 11221) B.(SYN = 1, ACK = 1, seq = 11220, ack = 11220) C.(SYN = 1, ACK = 1, seq = 11221, ack = 11221) D.(SYN = 0, ACK = 0, seq = 11220, ack = 11220)

40.主机甲与主机乙之间已建立一个TCP连接,主机甲向主机乙发送了3个连续的TCP段,分别包含300字节、400字节和500字节的有效载荷,第3

个段的序号为900。若主机乙仅正确接收到第1和第3个段,则主机乙发送给主机甲的确认序号是

7 / 27

A.300

B.500 C.1200 D.1400

二、综合应用题:41~47小题,共70分。请将答案写在答题纸指定位置上。

41.(8分)已知有6个顶点(顶点编号为0 ~ 5)的有向带权图G,其邻接矩阵A为上三角矩阵,按行为主序(行优先)保存在如下的一维数组中。

4 要求:

(1)写出图G的邻接矩阵A。 (2)画出有向带权图G。

(3)求图G的关键路径,并计算该关键路径的长度。

42.(15分)一个长度为L(L≥1)的升序序列S,处在第?L/2?个位置的数称为S的中位数。例如,若序列S1=(11, 13, 15, 17, 19),则S1的中位数是15。

两个序列的中位数是含它们所有元素的升序序列的中位数。例如,若S2=(2, 4, 6, 8, 20),则S1和S2的中位数是11。现有两个等长升序序列A和B,试设计一个在时间和空间两方面都尽可能高效的算法,找出两个序列A和B的中位数。要求: (1)给出算法的基本设计思想。

(2)根据设计思想,采用C或C++或JAVA语言描述算法,关键之处给出注释。 (3)说明你所设计算法的时间复杂度和空间复杂度。

43.(11分)假定在一个8位字长的计算机中运行如下类C程序段:

unsigned int x = 134; unsigned int y = 246; int m = x; int n = y;

unsigned int z1 = x–y; unsigned int z2 = x+y;

8 / 27

6 ∞∞∞5 ∞∞∞4 3 ∞∞3 3

int k1 = m–n; int k2 = m+n;

若编译器编译时将8个8位寄存器R1 ~ R8分别分配给变量x、y、m、n、z1、z2、k1和k2。请回答下列问题。(提示:带符号整数用补码表示) (1)执行上述程序段后,寄存器R1、R5和R6的内容分别是什么?(用十六进制表示) (2)执行上述程序段后,变量m和k1的值分别是多少?(用十进制表示)

(3)上述程序段涉及带符号整数加/减、无符号整数加/减运算,这四种运算能否利用同一个加法器及辅助电路实现?简述理由。 (4)计算机内部如何判断带符号整数加/减运算的结果是否发生溢出?上述程序段中,哪些带符号整数运算语句的执行结果会发生溢出?

44.(12分)某计算机存储器按字节编址,虚拟(逻辑)地址空间大小为16 MB,主存(物理)地址空间大小为1 MB,页面大小为4 KB;Cache采用直接

映射方式,共8行;主存与Cache之间交换的块大小为32 B。系统运行到某一时刻时,页表的部分内容和Cache的部分内容分别如题44-a图、题44-b图所示,图中页框号及标记字段的内容为十六进制形式。

虚页号 0 1 2 3 4 5 6 7

题44-a图 页表的部分内容

有效位 1 1 1 1 0 1 0 1 页框号 06 04 15 02 - 2B – 32 … … … … … … … … …

行号 0 1 2 3 4 5 6 7

有效位 1 0 1 1 1 1 0 1 标记 020 - 01D 105 064 14D - 27A … … … … … … … … … 题44-b图 Cache的部分内容

请回答下列问题。

(1)虚拟地址共有几位,哪几位表示虚页号?物理地址共有几位,哪几位表示页框号(物理页号)?

9 / 27

(2)使用物理地址访问Cache时,物理地址应划分成哪几个字段?要求说明每个字段的位数及在物理地址中的位置。

(3)虚拟地址001C60H所在的页面是否在主存中?若在主存中,则该虚拟地址对应的物理地址是什么?访问该地址时是否Cache命中?要求说明理

由。

(4)假定为该机配置一个4路组相联的TLB,该TLB共可存放8个页表项,若其当前内容(十六进制)如题44-c图所示,则此时虚拟地址024BACH

所在的页面是否在主存中?要求说明理由。

组号 有效位 标记 页框号 有效位 标记 页框号 有效位 标记 页框号 有效位 标记 页框号 0 1

0 1 - 013 – 2D 1 0 001 - 15 – 0 1 - 008 – 7E 1 0 012 - 1F – 题44-c图 TLB的部分内容

45.(8分)某银行提供1个服务窗口和10个供顾客等待的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾客,并为其服务。顾客和营业员的活动过程描述如下: cobegin {

process 顾客i {

从取号机获得一个号码; 等待叫号;

10 / 27

获得服务; }

process 营业员 {

while (TRUE) {

叫号; 为顾客服务; } } } coend

请添加必要的信号量和P、V(或wait()、signal())操作,实现上述过程中的互斥与同步。要求写出完整的过程,说明信号量的含义并赋初值。 46.(7分)某文件系统为一级目录结构,文件的数据一次性写入磁盘,已写入的文件不可修改,但可多次创建新文件。请回答如下问题。

(1)在连续、链式、索引三种文件的数据块组织方式中,哪种更合适?要求说明理由。为定位文件数据块,需在FCB中设计哪些相关描述字段? (2)为快速找到文件,对于FCB,是集中存储好,还是与对应的文件数据块连续存储好?要求说明理由。

11 / 27

47.(9分)某主机的MAC地址为00-15-C5-C1-5E-28,IP地址为10.2.128.100(私有地址)。题47-a图是网络拓扑,题47-b图是该主机进行Web请求的1个以太网数据帧前80个字节的十六进制及ASCII码内容。

MTU=1500 BR10.2.128.10010.2.128.1101.12.123.15Internet 题47-a图 网络拓扑 题47-b图 以太网数据帧(前80字节) 请参考图中的数据回答以下问题。

(1)Web服务器的IP地址是什么?该主机的默认网关的MAC地址是什么? (2)该主机在构造题47-b图的数据帧时,使用什么协议确定目的MAC地址?封装该协议请求报文的以太网帧的目的MAC地址是什么?

(3)假设HTTP/1.1协议以持续的非流水线方式工作,一次请求-响应时间为RTT,rfc.html页面引用了5个JPEG小图像,则从发出题47-b图中的Web

请求开始到浏览器收到全部内容为止,需要多少个RTT? (4)该帧所封装的IP分组经过路由器R转发时,需修改IP分组头中的哪些字段? 注:以太网数据帧结构和IP分组头结构分别如题47-c图、题47-d图所示。

6 B目的MAC地址6 B源MAC地址2 B类型46-1500 B数据4 BCRC 题47-c图 以太网帧结构 12 / 27

比特0 8 16 24 版本头部长度标识生存时间(TTL)31服务类型标志协议源IP地址目的IP地址总长度片偏移头部校验和 题47-d图 IP分组头结构 2011年全国硕士研究生入学考试计算机科学与技术入学考试答案及详解

一、单项选择题:1~40小题,每小题2分,共80分。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。请在答题卡上将所选项的字母涂黑。 1. 【答案】A 2. 【答案】B 3. 【答案】B 4. 【答案】C

13 / 27

5. 【答案】C 6. 【答案】D

7. 【答案】A 8. 【答案】C 9. 【答案】B 10. 【答案】A 11. 【答案】B 12. 【答案】D

14 / 27

13. 【答案】A 14. 【答案】B 15. 【答案】D 16. 【答案】A 17. 【答案】C 18. 【答案】D 19. 【答案】C 20. 【答案】C 21.

15 / 27

【答案】D 22. 【答案】C 23. 【答案】B 24. 【答案】A 25. 【答案】D 26. 【答案】B 27. 【答案】D 28. 【答案】D 29.

16 / 27

【答案】A 30. 【答案】B 31. 【答案】B 32. 【答案】C 33. 【答案】A 34. 【答案】B 35. 【答案】B 36. 【答案】D 37.

17 / 27

【答案】D 38. 【答案】C 39. 【答案】C 40. 【答案】B

二、综合应用题:41~47小题,共70分。请将答案写在答题纸指定位置上。 41.

【答案解析】此题考察的知识点是图的存储以及关键路径求解的综合知识。 (1)由题可以画出待定上三角矩阵的结构图如下(图中“?”待定元素)

?0???????????????????????????????0??????????????????????????????0?????????????????? ????????????0??????????????????????????0?????????????????????????0?? 18 / 27

可以看出,第一行至第五行主对角线上方的元素分别5、4、3、2、1个,由此可以画出

压缩存储数组中的元素所属行的情况,如下图所示:

4 6 第一行 ∞ ∞ ∞ 第二行 5 ∞ 第三行 ∞ ∞ 4 3 ∞ ∞ 3 3 第四行 第五行

将个元素填入各行即得邻接矩阵:(2分)

?0????4????6?????????????????????0????5??????????????????????????0?????4?????3???????A=?? ?????????????0???????????3???????????????????0??????3??????????????????????????0??(2)根据第一步所得矩阵A容易做出有向带权图G,如下:(2分)

0 4 1 5 3 4 2 3 4 3

35 6 19 / 27

(3)下图中粗线箭头所标识的4个活动组成G的关键路径(3分)

0 4 1 5 3 4 2 3 4 3

35 6 由上图容易求得图的关键路径长度为:4+5+4+3=16。 42.

【答案解析】此题考察的知识点是基本算法的灵活运用。

(1)算法的基本设计思想:(5分) 1) 比较笨的方法:

将两升序序列归并排序,然后求其中位数,时间复杂度是O(n),空间复杂度O(n)。 2) 高效的方法:分别求两个升序序列A和B的中位数,设为a和b。 如果a=b,则a或者b即为所求的中位数。

原因:如果将两序列归并排序,则最终序列中,排在子序列ab前边的元素为先前两序列中排在a和b前边的元素;排在子序列ab后边的元素为先前两序列a和b后边的元素。所以子序列ab一定位于最终序列的中间,有因为a=b,显然a就是中位数。 如果a≠b(假设a

原因:同样可以用归并排序后的序列来验证,归并后排序后必然有形如?a?b?的序列出现,中位数必然出现在(a,b)范围内。因此可以做如下处理:舍弃a所在序列A之中比较小的一半,同时舍弃b所在序列B之中比较大的一半。在保留的两个升序序列中求出新的中位数a和b,重复上述过程,直到两个序列只含一个元素为止,则较小者即为所求中位数。

20 / 27

(2)算法实现(高效方法):(8分) int Search(int A[], int B[], int n) {

int s1,e1,mid1,s2,e2,mid2; s1=0; e1=n-1; s2=1; e2=n-1;

while(s1!=e1||s2!=e2) {

mid1=(s1+e1)/2; mid2=(s2+e2)/2; if(A[mid1]==B[mid2]) return A[mid1]; if(A[mid1]

//分别考虑奇数和偶数,保持两个子数组元素个数相等 if((s1+e1)%2==0)//若元素个数为奇数 {

s1=mid1;//舍弃A中间点以前部分且保留中间点

21 / 27

} else {

} }

e2=mid2; //舍弃B中间点以后部分且保留中间点

else//若元素个数为偶数 {

s1=mid1+1;//舍弃A中间点以前部分且保留中间点 e2=mid2; //舍弃B中间点以后部分且保留中间点

if((s1+e1)%2==0)//若元素个数为奇数个 {

e1=mid1;//舍弃A中间点以后部分且保留中间点

}

s2=mid2;//舍弃B中间点以前部分且保留中间点

else //若元素个数为偶数个 {

e1=mid1+1;//舍弃A中间点以后部分且保留中间点 s2=mid2;//舍弃B中间点以前部分且保留中间点

}

22 / 27

}

}

return (A[s1]

(3)上述所给算法的时间、空间复杂度分别是O(log2n)和O(1)。(2分) 因为每次总的元素个数变为原来的一半,所以有: 第一次:元素个数为n/2=n/(2)

第二次:元素个数为n/4=n/(2) ?? ??

第k次:元素个数为n/(2) 最后元素个数为2 则有n/(2)=2 解得k= log2n – 1

因此:时间复杂度为O(log2n),而空间复杂度从上述程序中可看出为O(1)。

43.

【答案解析】此题考察的知识点是程序编译运行时各寄存器的运用与变化。

(1)寄存器R1存储的是134,转换成二进制为1000 0110B,即86H。寄存器R5存储的是x-y的内容,x-y=-112,转换成二进制为1001 0000B,

即90H。寄存器R6存储的是x+y的内容,x+y=380,转换成二进制为1 0111 1100B(前面的进位舍弃),即7CH。由于计算机字长为8位,所以无符号整数能表示的范围为0~255。而x+y=380,故溢出。

k

k

21

23 / 27

(2)m二进制表示为1000 0110B,由于m是int型,所以最高位为符号位,所以可以得出m的原码为:1111 1010(对1000 0110除符号位取反加1),

即-122。同理n的二进制表示为1111 0110B,故n的原码为:1000 1010,转成十进制为-10。所以k1=-122-(-10)=-112.

(3)可以利用同一个加法器及辅助电路实现。因为无符号整数都是以补码形式存储,所以运算规则都是一样的。但是有一点需要考虑,由于无符号

整数和有符号整数的表示范围是不一样的,所以需要设置不一样的溢出电路。

(4)带符号整数只有k2会发生溢出。分析:8位带符号整数的补码取值范围为:-128~+127,而k2=m+n=-122-10=-132,超出范围,而k=-112,在

范围-128~+127之内。三种方法可以判断溢出:双符号位、最高位进位、符号相同操作数的运算后与原码操作数的符号不同则溢出。 44.

【答案解析】此题考察的知识点是计算机的地址管理。

(1)由于虚拟地址空间大小为16MB,且按字节编址,所以虚拟地址共有24位(2=16M)。由于页面大小为4KB(2=4K),所以虚页号为前12位。

24

12

由于主存(物理)地址空间大小为1MB,所以物理地址共有20位(2=1M)。由于页内地址12位,所以20-12=8,即前8位为页框号。 (2)由于Cache采用直接映射方式,所以物理地址应划分成3个字段,如下: 12位 3位 5位 主存字块标记 Cache字块标记 字块内地址 20

分析:由于块大小为32B,所以字块内地址占5位。Cache共8行,故字块标记占3位,所以主存字块标记占20-5-3=12位。

(3)虚拟地址001C60H的虚页号为前12位,即001H=1。查表可知,其有效位为1,故在内存中。虚页号为1对应页框号为04H,故物理地址为

04C60H。由于采用的是直接映射方式,所以对应Cache行号为4。尽管有效位为1,但是由于标记位04CH≠064H,故不命中。

(4)由于采用了4路组相联的,所以Cache被分为2组,每组4行。所以物理地址应划分成3个字段,如下:

11位 1位 12位

24 / 27

标记位 组号 页内地址 将024BACH转成二进制为:0000 0010 010 0 1011 1010 1100,可以看出组号为0,标记为0000 0010 010,换成十六进制为0000 0001 0010(高位补一个0),即012H,从图44-c中的0组可以看出,标记为012H页面的页框号为1F,故虚拟地址024BACH所在的页面在主存中。 45.

【答案解析】此题考察的知识点是共享资源的使用与 P、V操作以防止死锁。

Semaphore seets =10;//表示空余座位数量的资源信号量,初值为10

Semaphore mutex = 1; //管理取号机的互斥信号量,初值为1,表示取号机空闲 Semaphore custom = 0; //表示顾客数量的资源信号量,初值为0 Process 顾客 {

P(seets); //找个空座位

P(mutex); //在看看取号机是否空闲 从取号机取号;

V(mutex) //放开那个取号机

V(custom); //取到号,告诉营业员有顾客 等待叫号;

V(seets) //被叫号,离开座位 接受服务;

}

Process 营业员 {

While(true)

25 / 27

本文来源:https://www.bwwdw.com/article/dynr.html

Top