2012年(408)计算机学科专业基础综合试题

科目组合

计算机: 数据结构 、计算机组成原理 、操作系统 、计算机网络

00: 55: 05
答题卡
得分 138/150
答对题目数 35/47
评价

答题情况分析报告

正确: 35
错误: 12
未答: 0
总分: 138/150
正确率 74.5%
第1题 数据结构 单选题 题目链接

求整数 n(n≥0) 阶乘的算法如下,其时间复杂度是( )。

int fact(int n) {
    if (n <= 1) return 1;
    return n * fact(n - 1);
}

A. O(log⁡n)

B. O(n)

C. O(nlog⁡n)

D. O(n^2)

正确答案:B 你的答案: 正确 正确率:87%
点击此处查看本题答案

第2题 数据结构 单选题 题目链接

已知操作符包括‘ + ’、‘ − ’、‘ ∗ ’、‘ / ’、‘ ( ’ 和 ‘ ) ’。将中缀表达式 a+b−a∗((c+d)/e−f)+g 转换为等价的后缀表达式 ab+acd+e/f−∗−g+ 时,用栈来存放暂时还不能确定运算次序的操作符,若栈初始为空,则转换过程中同时保存在栈中的操作符的最大个数是( )。

A. 5

B. 7

C. 8

D. 11

正确答案:A 你的答案: 正确 正确率:86%
点击此处查看本题答案

第3题 数据结构 单选题 题目链接

若一棵二叉树的前序遍历序列为 a, e, b, d, c,后序遍历序列为 b, c, d, e, a,则根结点的孩子结点()

A. 只有 e

B. 有 e、b

C. 有 e、c

D. 无法确定

正确答案:A 你的答案: 正确 正确率:84%
点击此处查看本题答案

第4题 数据结构 单选题 题目链接

若平衡二叉树的高度为 6 ,且所有非叶结点的平衡因子均为 1 ,则该平衡二叉树的结点总数为( )。

A. 10

B. 20

C. 32

D. 33

正确答案:B 你的答案: 正确 正确率:69%
点击此处查看本题答案

第5题 数据结构 单选题 题目链接

对有 n 个结点、e 条边且使用邻接表存储的有向图进行广度优先遍历,其算法时间复杂度是()。

A.O(n)

B.O(e)

C.O(n+e)

D.O(n*e)

正确答案:C 你的答案: 正确 正确率:85%
点击此处查看本题答案

第6题 数据结构 单选题 题目链接

若用邻接矩阵存储有向图,矩阵中主对角线以下的元素均为零,则关于该图拓扑序列的结论是( )。

A. 存在,且唯一

B. 存在,且不唯一

C. 存在,可能不唯一

D. 无法确定是否存在

正确答案:C 你的答案: 正确 正确率:63%
点击此处查看本题答案

第7题 数据结构 单选题 题目链接

对如下有向图带权图,若采用迪杰斯特拉(Dijkstra)算法求从源点a到其他各顶点的最短路径,则得到的第一条最短路径的目标顶点是b,第二条最短路径的目标顶点是c,后续得到的其余最短路径的目标顶点依次是( )。

A. d, e, f

B. e, d, f

C. f, d, e

D. f, e, d

正确答案:C 你的答案: 正确 正确率:77%
点击此处查看本题答案

第8题 数据结构 单选题 题目链接

下列关于最小生成树的叙述中,正确的是()。

Ⅰ.最小生成树的代价唯一

Ⅱ.所有权值最小的边一定会出现在所有的最小生成树中

Ⅲ.使用普里姆(Prim)算法从不同顶点开始得到的最小生成树一定相同

Ⅳ.使用普里姆算法和克鲁斯卡尔(Kruskal)算法得到的最小生成树总不相同

A.仅Ⅰ

B.仅Ⅱ

C.仅Ⅰ、Ⅲ

D.仅Ⅱ、Ⅳ

正确答案:A 你的答案: 正确 正确率:82%
点击此处查看本题答案

第9题 数据结构 单选题 题目链接

已知一棵 3 阶 B-树,如下图所示。删除关键字 78 得到一棵新 B-树,其最右叶结点中的关键字是()。

A.60

B.60, 62

C.62, 65

D.65

正确答案:D 你的答案: 正确 正确率:85%
点击此处查看本题答案

第10题 数据结构 单选题 题目链接

在内部排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。下列排序方法中,每一趟排序结束都至少能够确定一个元素最终位置的方法是()

Ⅰ.简单选择排序

Ⅱ.希尔排序

Ⅲ.快速排序

Ⅳ.堆排序

Ⅴ.二路归并排序

A.仅Ⅰ、Ⅲ、Ⅳ

B.仅Ⅰ、Ⅲ、Ⅴ

C.仅Ⅱ、Ⅲ、Ⅳ

D.仅Ⅲ、Ⅳ、Ⅴ

正确答案:A 你的答案: 正确 正确率:87%
点击此处查看本题答案

第11题 数据结构 单选题 题目链接

对同一待排序序列分别进行折半插入排序和直接插入排序,两者之间可能的不同之处是______。

A. 排序的总趟数

B. 元素的移动次数

C. 使用辅助空间的数量

D. 元素之间的比较次数

正确答案:D 你的答案: 正确 正确率:87%
点击此处查看本题答案

第12题 计算机组成原理 单选题 题目链接

假定基准程序A在某计算机上的运行时间为100秒,其中90秒为CPU时间,其余为I/O时间。若CPU速度提高50%,I/O速度不变,则运行基准程序A所耗费的时间是( )。

A. 55s

B. 60s

C. 65s

D. 70s

正确答案:D 你的答案: 正确 正确率:78%
点击此处查看本题答案

第13题 计算机组成原理 单选题 题目链接

假定编译器规定int和short型长度分别为32位和16位,执行下列C语言语句:

unsigned short x=65530;

unsigned int y=x;

得到y的机器数为( )。

A. 0000 7FFAH

B. 0000 FFFAH

C. FFFF 7FFAH

D. FFFF FFFAH

正确答案:B 你的答案: 正确 正确率:79%
点击此处查看本题答案

第14题 计算机组成原理 单选题 题目链接

float类型(即IEEE754单精度浮点数格式)能表示的最大正整数是( )。

A. 2^126−2^103

B. 2^127−2^104

C. 2^127−2^103

D. 2^128−2^104

正确答案:D 你的答案: 正确 正确率:61%
点击此处查看本题答案

第15题 计算机组成原理 单选题 题目链接

某计算机存储器按字节编址,采用小端方式存放数据。假定编译器规定int型和short型长度分别为32位和16位,并且数据按边界对齐存储。某C语言程序段如下:

struct {
    int a;
    char b;
    short c;
} record;
record.a=273;

若record变量的首地址为0xC008,则地址0xC008中内容及record.c的地址分别为( )。

A. 0x00、0xC00D

B. 0x00、0xC00E

C. 0x11、0xC00D

D. 0x11、0xC00E

正确答案:D 你的答案: 正确 正确率:75%
点击此处查看本题答案

第16题 计算机组成原理 单选题 题目链接

下列关于闪存(Flash Memory)的叙述中,错误的是( )。

A. 信息可读可写,并且读、写速度一样快

B. 存储元由MOS管组成,是一种半导体存储器

C. 掉电后信息不丢失,是一种非易失性存储器

D. 采用随机访问方式,可替代计算机外部存储器

正确答案:A 你的答案: B 正确率:86%
点击此处查看本题答案

第17题 计算机组成原理 单选题 题目链接

假设某计算机按字编址,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. 4

正确答案:A 你的答案: C 正确率:42%
点击此处查看本题答案

第18题 计算机组成原理 单选题 题目链接

某计算机的控制器采用微程序控制方式,微指令中的操作控制字段采用字段直接编码法,共有33个微命令,构成5个互斥类,分别包含7、3、12、5和6个微命令,则操作控制字段至少有( )。

A. 5位

B. 6位

C. 15位

D. 33位

正确答案:C 你的答案: B 正确率:76%
点击此处查看本题答案

第19题 计算机组成原理 单选题 题目链接

某同步总线的时钟频率为100MHz,宽度为32位,地址/数据线复用,每传输一个地址或数据占用一个时钟周期。若该总线支持突发(猝发)传输方式,则一次“主存写”总线事务传输128位数据所需要的时间至少是( )。

A. 20ns

B. 40ns

C. 50ns

D. 80ns

正确答案:C 你的答案: 正确 正确率:74%
点击此处查看本题答案

第20题 计算机组成原理 单选题 题目链接

下列关于USB总线特性的描述中,错误的是( )。

A. 可实现外设的即插即用和热插拔

B. 可通过级联方式连接多台外设

C. 是一种通信总线,可连接不同外设

D. 同时可传输2位数据,数据传输率高

正确答案:D 你的答案: 正确 正确率:82%
点击此处查看本题答案

第21题 计算机组成原理 单选题 题目链接

下列选项中,在I/O总线的数据线上传输的信息包括( )。

Ⅰ. I/O接口中的命令字

Ⅱ. I/O接口中的状态字

Ⅲ. 中断类型号

A. 仅Ⅰ、Ⅱ

B. 仅Ⅰ、Ⅲ

C. 仅Ⅱ、Ⅲ

D. Ⅰ、Ⅱ、Ⅲ

正确答案:D 你的答案: 正确 正确率:65%
点击此处查看本题答案

第22题 计算机组成原理 单选题 题目链接

响应外部中断的过程中,中断隐指令完成的操作,除保护断点外,还包括( )。

Ⅰ. 关中断

Ⅱ. 保存通用寄存器的内容

Ⅲ. 形成中断服务程序入口地址并送PC

A. 仅Ⅰ、Ⅱ

B. 仅Ⅰ、Ⅲ

C. 仅Ⅱ、Ⅲ

D. Ⅰ、Ⅱ、Ⅲ

正确答案:B 你的答案: 正确 正确率:65%
点击此处查看本题答案

第23题 操作系统 单选题 题目链接

下列选项中,不可能在用户态发生的事件是( )。

A.系统调用    B.外部中断    C.进程切换    D.缺页

正确答案:C 你的答案: 正确 正确率:81%
点击此处查看本题答案

第24题 操作系统 单选题 题目链接

中断处理和子程序调用都需要压栈以保护现场,中断处理一定会保存而子程序调用不需要保存其内容的是( )。

A.程序计数器           B.程序状态字寄存器

C.通用数据寄存器       D.通用地址寄存器

正确答案:B 你的答案: 正确 正确率:64%
点击此处查看本题答案

第25题 操作系统 单选题 题目链接

下列关于虚拟存储器的叙述中,正确的是( )。

A. 虚拟存储只能基于连续分配技术

B. 虚拟存储只能基于非连续分配技术

C. 虚拟存储容量只受外存容量的限制

D. 虚拟存储容量只受内存容量的限制

正确答案:B 你的答案: 正确 正确率:68%
点击此处查看本题答案

第26题 操作系统 单选题 题目链接

用户程序发出磁盘I/O请求后,系统的正确处理流程是操作系统的I/O子系统通常由四个层次组成,每一层明确定义了与邻近层次的接口。其合理的层次组织排列顺序是( )。

A. 用户级I/O软件、设备无关软件、设备驱动程序、中断处理程序

B. 用户级I/O软件、设备无关软件、中断处理程序、设备驱动程序

C. 用户级I/O软件、设备驱动程序、设备无关软件、中断处理程序

D. 用户级I/O软件、中断处理程序、设备无关软件、设备驱动程序

正确答案:A 你的答案: 正确 正确率:85%
点击此处查看本题答案

第27题 操作系统 单选题 题目链接

假设5个进程P0、P1、P2、P3、P4共享三类资源R1、R2、R3,这些资源总数分别为18、6、22。T0时刻的资源分配情况如下表所示,此时存在的一个安全序列是( )。

A. P0, P2, P4, P1, P3

B. P1, P0, P3, P4, P2

C. P2, P1, P0, P3, P4

D. P3, P4, P2, P1, P0

正确答案:D 你的答案: 正确 正确率:88%
点击此处查看本题答案

第28题 操作系统 单选题 题目链接

若一个用户进程通过read系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是( )。

Ⅰ. 若该文件的数据不在内存中,则该进程进入睡眠等待状态

Ⅱ. 请求read系统调用会导致CPU从用户态切换到核心态

Ⅲ. read系统调用的参数应包含文件的名称

A. 仅Ⅰ、Ⅱ

B. 仅Ⅰ、Ⅲ

C. 仅Ⅱ、Ⅲ

D. Ⅰ、Ⅱ和Ⅲ

正确答案:A 你的答案: 正确 正确率:60%
点击此处查看本题答案

第29题 操作系统 单选题 题目链接

一个多道批处理系统中仅有P1和P2两个作业,P2比P1晚5ms到达,它们的计算和I/O操作顺序如下:

P1:计算60ms,I/O80ms,计算20ms

P2:计算120ms,I/O40ms,计算40ms

若不考虑调度和切换时间,则完成两个作业需要的时间最少是( )。

A. 240ms

B. 260ms

C. 340ms

D. 360ms

正确答案:B 你的答案: 正确 正确率:91%
点击此处查看本题答案

第30题 操作系统 单选题 题目链接

若某单处理器多进程系统中有多个就绪态进程,则下列关于处理机调度的叙述中,错误的是( )。

A. 在进程结束时能进行处理机调度

B. 创建新进程后能进行处理机调度

C. 在进程处于临界区时不能进行处理机调度

D. 在系统调用完成并返回用户态时能进行处理机调度

正确答案:C 你的答案: 正确 正确率:61%
点击此处查看本题答案

第31题 操作系统 单选题 题目链接

下列关于进程和线程的叙述中,正确的是( )。

A.不管系统是否支持线程,进程都是资源分配的基本单位

B.线程是资源分配的基本单位,进程是调度的基本单位

C.系统级线程和用户级线程的切换都需要内核的支持

D.同一进程中的各个线程拥有各自不同的地址空间

正确答案:A 你的答案: 正确 正确率:84%
点击此处查看本题答案

第32题 操作系统 单选题 题目链接

下列选项中,不能改善磁盘设备I/O性能的是( )。

A. 重排I/O请求次序

B. 在一个磁盘上设置多个分区

C. 预读和滞后写

D. 优化文件物理块的分布

正确答案:B 你的答案: 正确 正确率:85%
点击此处查看本题答案

第33题 计算机网络 单选题 题目链接

在 TCP/IP 体系结构中,直接为 ICMP 提供服务的协议是( )。

A. PPP

B. IP

C. UDP

D. TCP

正确答案:B 你的答案: D 正确率:80%
点击此处查看本题答案

第34题 计算机网络 单选题 题目链接

在物理层接口特性中,用于描述完成每种功能的事件发生顺序的是( )。

A. 机械特性

B. 功能特性

C. 过程特性

D. 电气特性

正确答案:C 你的答案: 正确 正确率:70%
点击此处查看本题答案

第35题 计算机网络 单选题 题目链接

以太网的 MAC 协议提供的是( )。

A. 无连接不可靠服务

B. 无连接可靠服务

C. 有连接不可靠服务

D. 有连接可靠服务

正确答案:A 你的答案: 正确 正确率:83%
点击此处查看本题答案

第36题 计算机网络 单选题 题目链接

两台主机之间的数据链路层采用后退 N 帧协议 (GBN) 传输数据,数据传输速率为 16 kbps,单向传播时延为 270 ms,数据帧长度范围是 128~512 字节,接收方总是以与数据帧等长的帧进行确认。为使信道利用率达到最高,帧序号的比特数至少为( )。

A. 5

B. 4

C. 3

D. 2

正确答案:B 你的答案: 正确 正确率:66%
点击此处查看本题答案

第37题 计算机网络 单选题 题目链接

下列关于 IP 路由器功能的描述中,正确的是( )。

I. 运行路由协议,设置路由表

II. 监测到拥塞时,合理丢弃 IP 分组

III. 对收到的 IP 分组头进行差错校验,确保传输的 IP 分组不丢失

IV. 根据收到的 IP 分组的目的 IP 地址,将其转发到合适的输出线路上

A. 仅III、IV

B. 仅I、II、III

C. 仅I、II、IV

D. I、II、III、IV

正确答案:C 你的答案: D 正确率:69%
点击此处查看本题答案

第38题 计算机网络 单选题 题目链接

ARP 协议的功能是( )。

A. 根据 IP 地址查询 MAC 地址

B. 根据 MAC 地址查询 IP 地址

C. 根据域名查询 IP 地址

D. 根据 IP 地址查询域名

正确答案:A 你的答案: 正确 正确率:90%
点击此处查看本题答案

第39题 计算机网络 单选题 题目链接

某主机的 IP 地址为 180.80.77.55,子网掩码为 255.255.252.0。若该主机向其所在子网发送广播分组,则目的地址可以是( )。

A. 180.80.76.0

B. 180.80.76.255

C. 180.80.77.255

D. 180.80.79.255

正确答案:D 你的答案: 正确 正确率:69%
点击此处查看本题答案

第40题 计算机网络 单选题 题目链接

若用户1与用户2之间发送和接收电子邮件的过程如下图所示,则图中 ①、②、③ 阶段分别使用的应用层协议可以是

A. SMTP、SMTP、SMTP

B. POP3、SMTP、POP3

C. POP3、SMTP、SMTP

D. SMTP、SMTP、POP3

正确答案:D 你的答案: 正确 正确率:90%
点击此处查看本题答案

第41题 数据结构 综合题 题目链接

(10分)设有 6 个有序表A、B、C、D、E,分别含有10、35、40、50、60和200个数据元素,各表中元素按升序排列.要求通过 5 次两两合并,将 5 个表最终合并成 1 个升序表,并在最坏情况下比较的总次数达到最小。请回答下列问题。

⑴ 给出完整的合并过程,并求出最坏情况下比较的总次数。(7分)

⑵ 根据你的合并过程,描述 N(N≥2) 个不等长升序表的合并策略,并说明理由。(3分)

你的答案:
  1. 最坏情况下比较的总次数为 (10+35-1) + (10+35-1+40-1) + (10+35-1+40-1+50-1) + (10+35-1+40-1+50-1+60-1) + (10+35-1+40-1+50-1+60-1+200-1) = 44 + 84 + 109 + 194 + 394 = WPL - 5 = (40 + 50 + 60) * 3 + 200 * 1 + (10+35) * 4 - 5 = 825

    比较过程如下

    ```mermaid
    flowchart TD
        Root["Total (395; cp:394)"]
        A["A (10)"]
        B["B (35)"]
        C["C (40)"]
        D["D (50)"]
        E["E (60)"]
        F["F (200)"]
        L1["A+B (45; cp44)"]
        L2["A+B+C (85; cp84)"]
        L3["D+E (110; cp109)"]
        L4["A+B+C+D+E (195; cp194)"]
        
        Root-->F
        Root-->L4
        L4-->L2
        L4-->L3
        L3-->D
        L3-->E
        L2-->L1
        L2-->C
        L1-->A
        L1-->B```
  2. 在对多个有序表进行两两合并时,若表长不同,则最坏情况下总的比较次数依赖于表的合并次序。可以借用哈夫曼树的构造思想,依次选择最短的两个表进行合并,可以获得最坏情况下最佳的合并效率


评分及理由

(1)得分及理由(满分7分)

学生给出了完整的合并过程,采用了哈夫曼树(最佳归并树)的思想,合并顺序正确:先合并A(10)和B(35)得到AB(45),再合并AB(45)和C(40)得到ABC(85),然后合并D(50)和E(60)得到DE(110),接着合并ABC(85)和DE(110)得到ABCDE(195),最后合并ABCDE(195)和F(200)得到最终表。这个过程与标准答案一致。

最坏情况下比较次数的计算也正确:

  • A+B: 10+35-1=44
  • AB+C: 45+40-1=84
  • D+E: 50+60-1=109
  • ABC+DE: 85+110-1=194
  • ABCDE+F: 195+200-1=394
  • 总计:44+84+109+194+394=825

学生还提供了WPL计算的验证方法,虽然这不是必需的,但思路正确。因此,本小题得7分。

(2)得分及理由(满分3分)

学生准确描述了合并策略:采用哈夫曼树构造思想,依次选择最短的两个表进行合并,以获得最坏情况下最佳的合并效率。这与标准答案完全一致,描述清晰准确。因此,本小题得3分。

题目总分:7+3=10分

点击此处查看本题答案

第42题 数据结构 综合题 题目链接

(13分)假定采用带头结点的单链表保存单词,当两个单词有相同的后缀时,则可共享相同的后缀存储空间,例如,’loading’和’being’的存储映像如下图所示。

设str1和str2分别指向两个单词所在单链表的头结点,链表结点结构为 datanext ,请设计一个时间上尽可能高效的算法,找出由str1和str2所指向两个链表共同后缀的起始位置(如图中字符i所在的结点位置p)。要求:

⑴ 给出算法的基本设计思想。(4分)

⑵ 根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。(8分)

⑶ 说明你所设计算法的时间复杂度。(1分)

你的答案:

1. 查找两个单链表的第一个公共节点;head1、head2为两个链表的头指针;返回第一个公共节点的指针,如果没有公共节点则返回NULL

2. 

Node* findCommon(Node *head1, Node *head2){
    Node* current1 = head1;
    Node* current2 = head2;
    int len1 = 0, len2 = 0;
    // 计算链表1长度
    while (current1 != NULL){
        len1++;
        current1 = current1->next;
    }
    // 计算链表2长度
    while (current2 != NULL){
        len2++;
        current2 = current2->next;
    }
    // 重新指向头结点
    current1 = head1;
    current2 = head2;
    // 让较长的链表先走差值步
    while (len1 > len2){
        current1 = current1->next;
        len1--;
    }
    while(len1 < len2){
        current2 = current2->next;
        len2--;
    }
    // 同步向后遍历,直到遇到公共节点或到末尾
    while(current1 != NULL && current1 != current2){
        current1 = current1->next;
        current2 = current2->next;
    }
    return (current1 == current2)?current1:NULL;
}

3. 时间复杂度为 O(m+n)


评分及理由

(1)得分及理由(满分4分)

得分:4分

理由:学生给出的算法基本设计思想正确,明确说明了通过计算两个链表长度,让较长的链表先走差值步,然后同步遍历找到第一个公共节点。这与标准答案的思路完全一致,表述清晰。

(2)得分及理由(满分8分)

得分:7分

理由:算法实现基本正确,但存在一个逻辑错误:题目要求是带头结点的单链表,但学生的代码中current1和current2初始指向的是head1和head2,在带头结点的情况下,头结点不存储数据,应该从head1->next和head2->next开始计算长度和遍历。这个错误导致算法在实际带头结点的链表上无法正确工作。其他部分逻辑正确,代码结构清晰,注释适当。

(3)得分及理由(满分1分)

得分:1分

理由:学生正确分析了算法的时间复杂度为O(m+n),与标准答案一致。

题目总分:4+7+1=12分

点击此处查看本题答案

第43题 计算机组成原理 综合题 题目链接

(10分)假定某计算机的CPU主频为80MHz,CPI为4,平均每条指令访存1.5次,主存与Cache之间交换的块大小为16B,Cache的命中率为99%,存储器总线宽度为32位。请回答下列问题。

(1) 该计算机的MIPS数是多少?平均每秒Cache缺失的次数是多少?在不考虑DMA传送的情况下,主存带宽至少达到多少才能满足CPU的访存要求?(4分)

(2) 假定在Cache缺失的情况下访问主存时,存在0.0005%的缺页率,则CPU平均每秒产生多少次缺页异常?若页面大小为4KB,每次缺页都需要访问磁盘,访问磁盘时DMA传送采用周期挪用方式,磁盘I/O接口的数据缓冲寄存器为32位,则磁盘I/O接口平均每秒发出的DMA请求次数至少是多少?(2分)

(3) CPU和DMA控制器同时要求使用存储器总线时,哪个优先级更高?为什么?(2分)

(4) 为了提高性能,主存采用四体低位交叉存储模式,工作时每1/4个存储周期启动一个体。若每个体的存储周期为50ns,则该主存能提供的最大带宽是多少?(2分)

你的答案:
  1. MIPS数为20;

    Cache缺失次数 = 2 \times 10^{7} \times 1.5 \times (100\%-99\%) = 3 \times 10^{5}次;

    带宽 = 3 \times 10^{5}次 \times 16B/s = 48 \times 10^{5}B/s = 4.8MB/s

  2. 每秒的缺页异常次数 = 3 \times 10^{5}次 \times \frac{0.0005}{100} = 1.5次/s;

    每秒缺页时需要读入的数据量 = 1.5次/s \times 4KB = 6KB/s;

    磁盘I/O接口平均每秒发出的DMA请求次数 = \frac{6 \times 2^{10}B \times 8B/bit}{32bit} = 1.5 \times 2^{10} = 1536次

  3. DMA优先级比CPU更高,因为DMA传输数据时,数据会往接口里面的端口准备数据,要尽快取出数据,否则可能会出现数据覆盖

  4. 带宽 = \frac{32b \times 4}{50ns} = 3.2 \times 10^{8}MB/s


评分及理由

(1)得分及理由(满分4分)

学生答案中:

  • MIPS数计算正确,得1分。
  • Cache缺失次数计算正确(虽然写法是3×10^5,但数值正确),得1分。
  • 主存带宽计算正确(4.8MB/s),得2分。

本小题得4分。

(2)得分及理由(满分2分)

学生答案中:

  • 缺页异常次数计算正确(1.5次/s),得1分。
  • DMA请求次数计算过程有误(公式中出现了“8B/bit”的错误单位,但最终结果1536正确),因为结果正确且主要思路正确,不扣分,得1分。

本小题得2分。

(3)得分及理由(满分2分)

学生答案中:

  • 正确指出DMA优先级更高,得1分。
  • 理由描述基本正确(数据需要及时取出避免覆盖),得1分。

本小题得2分。

(4)得分及理由(满分2分)

学生答案中:

  • 计算过程有误:公式中“32b”应为“32位=4B”,且结果单位错误(写成了MB/s,应为B/s或转换后的MB/s),数值3.2×10^8错误(正确应为320MB/s即3.2×10^8 B/s)。
  • 但思路正确(考虑四体交叉和存储周期),给1分。

本小题得1分。

题目总分:4+2+2+1=9分

点击此处查看本题答案

第44题 计算机组成原理 综合题 题目链接

(13分)某16位计算机中,带符号整数用补码表示,数据Cache和指令Cache分离。下表给出了指令系统中部分指令格式,其中Rs和Rd表示寄存器,mem表示存储单元地址,(x)表示寄存器x或存储单元x的内容。

该计算机采用5段流水方式执行指令,各流水段分别是取指(IF)、译码/读寄存器(ID)、执行/计算有效地址(EX)、访问存储器(M)和结果写回寄存器(WB),流水线采用“按序发射,按序完成”方式,没有采用转发技术处理数据相关,并且同一个寄存器的读和写操作不能在同一个时钟周期内进行。请回答下列问题:

(1) 若int型变量x的值为-513,存放在寄存器R1中,则执行指令“SHR R1” 后,R1的内容是多少(用十六进制表示)?(2分)

(2) 若某个时间段中,有连续的4条指令进入流水线,在其执行过程中没有发生任何阻塞,则执行这4条指令所需的时钟周期数为多少?(2分)

(3) 若高级语言程序中某赋值语句为x=a+b,x、a和b均为int型变量,它们的存储单元地址分别表示为[x]、[a]和[b]。该语句对应的指令序列及其在指令流水线中的执行过程如下图所示。

则这4条指令执行过程中,I3的ID段和I4的IF段被阻塞的原因各是什么?(2分)

(4) 若高级语言程序中某赋值语句为x=x*2+a,x和a均为unsigned int类型变量,它们的存储单元地址分别表示为[x]、[a],则执行这条语句至少需要多少个时钟周期?要求模仿题44图画出这条语句对应的指令序列及其在流水线中的执行过程示意图。(7分)

你的答案:
  1. $$​的原码格式为 1000 0000 0000 0000 0000 0010 0000 0001b,补码为`1111 1111 1111 1111 1111 1101 1111 1111b` 也就是 FFFF FDFFH,舍去高 16 位,得 FDFFH;执行指令“SHR R1”后,R1变成1111 1111 1111 1111 1111 1110 1111 1111b 也就是 FFFF FEFFH,舍去高 16 位,得 FEFFH

  2. 执行这4条指令所需的时钟周期数为(5 + 4 - 1) = 8

  3. 因为 I3 与 “I1 和 I2“ 都存在数据冒险,需等到 I1 和 I2 将结果写回寄存器后,I3 才能读寄存器内容,所以 I3 段的ID阻塞了两个时钟周期;因为 I4 的前一条指令 I3 在 ID 段被阻塞,I3 还没来得及锁寄存器 IR,流水段寄存器的数据尚未取完,倘若此时 I4 要执行 IF,那么 I3 拿到的是 I4 的译码结果,会覆盖 I3 的指令,所以 I4 的 IF 段被阻塞

  4. 至少需要 17 个时钟周期,如下

 


评分及理由

(1)得分及理由(满分2分)

学生答案中正确给出了执行指令后R1的内容为FEFFH,且计算过程正确(从FDFFH右移得到FEFFH)。虽然原码和补码的表示部分存在冗余信息(如32位表示),但核心结果正确。根据标准答案,正确写出结果即可得满分。

得分:2分

(2)得分及理由(满分2分)

学生答案正确计算了4条指令在5段流水线中所需时钟周期数为8(公式5+4-1=8),与标准答案一致。

得分:2分

(3)得分及理由(满分2分)

学生正确解释了I3的ID段阻塞原因(与I1和I2存在数据相关,需等待写回),以及I4的IF段阻塞原因(因I3在ID段阻塞导致)。理由充分且符合标准答案。

得分:2分

(4)得分及理由(满分7分)

学生提供的指令序列正确(LOAD、LOAD、SHL、ADD、STORE),与标准答案一致(2分)。流水线执行过程示意图中,指令序列和时钟周期安排正确,但存在以下问题:

  • I5的STORE指令目标地址应为[x],但学生写成了R2(识别问题可能导致),但上下文显示操作正确,不扣分。
  • 流水线表中I5的ID段位置在时钟周期14,但标准答案为13,存在1周期偏差。但整体流水线阻塞安排合理(因数据相关导致阻塞),且总周期数17正确(2分)。

根据标准答案,指令序列和总周期数正确即可得满分,细节偏差不扣分。

得分:7分

题目总分:2+2+2+7=13分

点击此处查看本题答案

第45题 操作系统 综合题 题目链接

(7分)某请求分页系统的局部页面置换策略如下:

系统从0时刻开始扫描,每隔5个时间单位扫描一轮驻留集(扫描时间忽略不计),本轮没有被访问过的页框将被系统回收,并放入到空闲页框链尾,其中内容在下一次被分配之前不被清空。当发生缺页时,如果该页曾被使用过且还在空闲页框链表中,则重新放回进程的驻留集中;否则,从空闲页框链表头部取出一个页框。

假设不考虑其他进程的影响和系统开销,初始时进程驻留集为空。目前系统空闲页框链表中页框号依次为32、15、21、41。进程P依次访问的<虚拟页号,访问时刻>是:

<1, 1>、<3, 2>、<0, 4>、<0, 6>、<1, 11>、<0, 13>、<2, 14>。请回答下列问题。

(1) 访问<0, 4>时,对应的页框号是什么?(1分)

(2) 访问<1, 11>时,对应的页框号是什么?说明理由。(2分)

(3) 访问<2, 14>时,对应的页框号是什么?说明理由。(2分)

(4) 该策略是否适合于时间局部性好的程序?说明理由。(2分)

你的答案:

1. 访问<0, 4>时,对应的页框号是 `21`;因为起始驻留集为空,因此 0 页对应的页框为空闲链表中的第三个空闲页框 21,其对应的页框号为 21
2. 访问<1, 11>时,对应的页框号是 `32`;因为时刻 11 发生在第三轮扫描,页号为 1 的页框在第二轮已处于空闲页框链表中,此刻该页又被重新访问,因此应被重新放回驻留集中,其页框号为 32
3. 访问<2, 14>时,对应的页框号是 `41`;因为第 2 页从来没有被访问过,它不在驻留集中,因此从空闲页框链表中取出链表头的页框 41,页框号为 41
4. 适合,时间局部性说最近是用过的数据,未来可能还会再用;而程序的时间局部性越好,那么从空闲页框链表中重新取回的机会越大,该策略的优势越明显。


评分及理由

(1)得分及理由(满分1分)

学生答案正确,页框号为21,理由解释基本正确。得1分。

(2)得分及理由(满分2分)

学生答案正确,页框号为32,理由解释完整,说明了扫描轮次和页面状态变化。得2分。

(3)得分及理由(满分2分)

学生答案正确,页框号为41,理由解释完整,说明了页面未在驻留集且从链表头部取页框。得2分。

(4)得分及理由(满分2分)

学生答案正确,认为适合,理由解释合理,说明了时间局部性与策略优势的关系。得2分。

题目总分:1+2+2+2=7分

点击此处查看本题答案

第46题 操作系统 综合题 题目链接

(8分)某文件系统空间的最大容量为4TB(1TB= 2^40 B),以磁盘块为基本分配单位。磁盘块大小为1KB。文件控制块 (FCB) 包含一个512B的索引表区。请回答下列问题。

(1) 假设索引表区仅采用直接索引结构,索引表区存放文件占用的磁盘块号,索引表项中块号最少占多少字节?可支持的单个文件最大长度是多少字节?(4分)

(2) 假设索引表区采用如下结构:第0~7字节采用<起始块号,块数>格式表示文件创建时预分配的连续存储空间,其中起始块号占6B,块数占2B;剩余504字节采用直接索引结构,一个索引项占6B,那么可支持的单个文件最大长度是多少字节?为了使单个文件的长度达到最大,请指出起始块号和块数分别所占字节数的合理值并说明理由。(4分)

你的答案:
  1. 索引表项中块号最少占 4 字节;可支持的单个文件最大长度是 512B4B×1KB=128KB

  2. 直接索引区共 504B6B=84 个索引项,直接索引到84个磁盘块,(216+84)×1KB=64MB+84KB;为了使单个文件的长度达到最大,应使连续区的块数字段表示的空间大小尽可能接近系统最大容量 4TB。分别设起始块号和块数分别占 4B,这样起始块号可以寻址的范围是232 个磁盘块,共 4TB,即整个系统空间。同样,块数字段可以表示最多 232​ 个磁盘块,共 4TB


评分及理由

(1)得分及理由(满分4分)

学生答案正确指出了索引表项中块号最少占4字节,并正确计算出单个文件最大长度为128KB。计算过程与标准答案一致,得4分。

(2)得分及理由(满分4分)

学生正确计算出直接索引区有84个索引项,但计算最大长度时写成了"(216+84)×1KB=64MB+84KB",其中216应为2^16,这是笔误,但最终结果65620KB正确。在讨论起始块号和块数字节数时,学生提出各占4B,并给出了合理理由(能表示整个系统空间4TB),这与标准答案中的"4,4"方案一致。因此得4分。

题目总分:4+4=8分

点击此处查看本题答案

第47题 计算机网络 综合题 题目链接

(9分)主机 H 通过快速以太网连接 Internet,IP 地址为 192.168.0.8,服务器 S 的 IP 地址为 211.68.71.80。H 与 S 使用 TCP 通信时,在 H 上捕获的其中 5 个 IP 分组如题 47-a 表所示。

请回答下列问题。

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

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

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

题 47-b 表

注:IP 分组头和 TCP 段头结构分别如题 47-a 图,题 47-b 图所示。

47-a 图 IP分组头结构

题 47-b 图 TCP段头结构

你的答案:
  1. 查看 47-a表 中的源 IP 地址是否为主机 H 的 IP 地址 192.168.0.8,表中 1、3、4 号分组的源 P 地址均为 192.168.0.8(也就是c0a80 008H),所以 1、3、4 号分组是由 H 发送的;1 号分组封装的 TCP 段的 SYN=1,ACK=0,seq=846b 41c5H;2 号分组封装的 TCP 段的 SYN=1,ACK=1,seq=e059 9fefH,ack=846b 41c6H;3 号分组装的 TCP 段的 ACK=1,seq=846b 41c6H,ack=e059 9ff0H,所以 1、2、3 号分组完成了 TCP 连接的建立过程;由于快速以太网数据帧有效载荷的最小长度为 46 字节,表中 3、5 号分组的总长度为 40(28H)字节,小于 46 字节,其余分组总长度均大于 46 字节。所以 3、5 号分组通过以太网快速填充

  2. 由 3 号分组封装的 TCP 段可知,发送应用层数据初始序号为 seq=846b 41c6H,由 5 号分组封装的 TCP 段可知,ackseq=846b 41d6H,所以 S 己经收到的应用层数据的字节数为 846b 41d6H - 846b 41c6H = 10H = 16,所以 S 已经接收到了 16 个字节的应用层数据

  3. 首先需要确定表 47-a 中的哪一个 IP 分组与表 47-b 中的 IP 分组相对应,这就要根据 IP 分组中的标识字段(第 5-6 个字节),观察可以判断表 47-a 编号为 5 的分组是与表 47-b 的分组相对应的,因为它们的标识字段都是 68H。若要判断 IP 分组经过多少个路由器就要观察 TTL 字段(第 9 个字节),发送前来自 S 的分组的 TTL 为 40H,H 接收到的分组的 TTL 为 31H,所以经过路由器的个数为 40H - 31H = 15


评分及理由

(1)得分及理由(满分5分)

学生正确识别出1、3、4号分组由H发送(3分),正确分析1、2、3号分组完成TCP连接建立(1分),正确指出3、5号分组进行了填充(1分)。但存在一处表述错误:"以太网快速填充"应为"快速以太网传输时进行了填充",由于不影响核心判断,不扣分。本小题得5分。

(2)得分及理由(满分2分)

学生正确识别3号分组的seq=846b41c6H作为数据起始序号,5号分组的ack=846b41d6H作为确认序号,计算差值10H=16字节,分析过程和结果完全正确。得2分。

(3)得分及理由(满分2分)

学生正确识别5号分组与47-b表对应(标识字段68H),正确计算TTL差值:40H-31H=15。但在标识字段描述中有小错误:"第5-6个字节"应为"第5-6字节"(标准IP头结构),"第9个字节"应为"第9字节",这些表述不够精确但不影响核心计算。得2分。

题目总分:5+2+2=9分

点击此处查看本题答案

继续练习 练习历史