408-2013

news2024/12/22 12:23:22

        一、单项选择题(2分/题)

        1.已知两个长度分别为 m 和 n 的升序链表,若将他们合并为一个长度为 m+n 的降序链表,则最坏情况下的时间复杂度为______。

        A.O(n)        B.O(mn)        C.O(min(m,n))        D.O(max(m,n))

        解答:D

        最坏情况下,需要将两个链表都遍历一遍,时间复杂度为 O(m+n)=O(max(m,n))

        2.一个栈的入栈序列为 1,2,3......n,其出栈序列为 p1,p2,p3......pn。若 p2 =3,则 p3 可能取值个数为____。

        A.n-3        B.n-2        C.n-1        D.无法确定

        解答:C

        p2=3,那么 p3 可能为出 3 外任意一数,有n-1种可能。

        3.若将关键字1,2,3,4,5,6,7 依次插入初始为空的平衡二叉数 T 中,则 T 中平衡因子为 0 的分支节点个数为_____。

        A.0        B.1        C.2        D.3

        解答:D

        将 1,2,3,4,5,6,7 依次插入后,T 如下图所示,因此平衡因子为 0 的分支节点个数为

        4.已知三叉树的 6 个叶节点的权分别是 2,3,4,5,6,7,T 的带权(外部)路径长度最小是______。

        A.27        B.46        C.54        D.56

        解答:B
        最小带权路径为 1*7+1*6+2*5+2*4+3*3+3*2=46

        5.若 X 是后序线索二叉树中的叶节点,且 X 存在左兄弟节点 Y ,则 X 的右线索指向的是____。

        A.X 的父节点                        B.以 Y 为根的子树的最左下节点

        C.X 的左兄弟节点 Y             D.以 Y 为根的的子树的最坐下节点

        解答:A        

        因为是后序线索二叉树,因此 X 的右节点指向后序遍历时的下一个节点。又因为 X 是叶节点,依次指向 X 的父节点。

        6.在任意一颗非空二叉排序树 T1 中,删除某节点 v 后形成二叉排序树 T2,再将 V 插入 T2 形成二叉排序树 T3。下列关于 T1 和 T3 的叙述中,正确的是____。        

        I.若 v 是 T1 的叶节点,则 T1 和 T3 不同

        II. 若 v 是 T1 的叶节点,则 T1 和 T3 相同

        III.若 v 不是 T1 的叶节点,则 T1 和 T3 不同

        Ⅳ.若 v 不是 T1 的叶节点,则 T1 和 T3 相同

        A.I,III        B.I,Ⅳ        C.II,III        D.II,Ⅳ

        解答:A        

        若是 T1 的叶节点,会插入到相同的位置。若不是,原来的位置会被其余节点替代,再插入时会形成一颗新的树。

        7.设图的邻接矩阵 A 如下所示。各顶点的度依次是____。

                                                               A

0101
0011
0100
1000

         A.1,2,1,2        B.2,2,1,1,        C.3,4,2,3        D.4,4,2,2

        解答:C

        顶点 1 入度为 1,出度为 2,因此其度为  3,选C         

        8.若对如下无向图进行遍历,则下列选项中,不是广度优先遍历的是_____。

        

        A.h,c,a,b,d,e,g,f        B.e,a,f,g,b,h,c,d        C.d,b,c,a,h,e,f,g        D.a,b,c,d,h,e,f,g

        解答:D

        A项,h 与 c,a 相连;c 与 b,d 相连,a与 e 相连; e 与 f,g相连,满足要求。

        B项,e 与 a,f,g 相连; a 与 b,h 相连; b 与 c,d 相连,满足要求

        C项,d 与b,c相连;b 与 a 相连,c 与 h 相连;a 与 e 相连;e 与 f,g 相连,满足要求

        D项目,a 与b,e 相连,a之后出现的确实 b,c ,不满足要求,此处应该是 深度优先。

        9.下列 AOE 网表示一项包含 8 个活动的工程。通过同时加快若干活动的进度可以缩短整个工程的工期。下列选项中,加快其进度就可以缩短工程工期的是______。

        

        A.c 和 e        B.d 和 c        C.f 和 d        D.f 和 h

        解答:C

        该 AOE 网的关键路径为 bdeh,bfh,bdcg,只有 C 项中的活动在所有关键路径中都出现至少一个,因此选 C。

        10.在一颗高度为 2 的 5 阶 B 树中,所含关键字的个数最少是____。

        A.5        B.7        C.8        D.14

        解答:A

        5 阶段 B 树,关键字个数最少时,根节点只有 1 个关键字,非根节点只有 5/2 个关键字。B 树所有叶子节点都位于同一层,因此根节点至少有两个子节点。综上,至少有  1+2+2=5 个关键字。

        11.对给定关键字序列 110,119,007,911,114,120,122 进行基数排序,则第 2 趟分配后收集到的关键字序列是_____。

        A.007,110,119,114,911,120,122        B.007,110,119,114,911,122,120

        C.007,110,911,114,119,120,122        D.110,120,911,122,114,007,119

        解答:C

        基数排序:依次根据个位,十位,百位......进行排序

         第一趟排序后为110,120,911,122,114,007,119。

        第二趟排序后为007,110,911,114,119,120,122。

        因此选C。

        12.某计算机主频为 1.2GHz,其指令分为 4  类,他们在基准程序中所占比例及 CPI 如下表所示。

指令类型所占比例CPI
A50%2
B20%3
C10%4
D20%5

        该机的 MIPS 数是______。

        A.100        B.200        C.400        D.600

        解答:C

        假设该基准程序有 10 条指令,则其消耗 5*2+2*3+1*4+2*5=30 个时钟周期,则平均每条指令耗费 3 个时钟周期。 计算机主频为 1.2GHz,则每秒有 1.2*1000*10^6=1200 * 10^6 个时钟周期,因此 该机的 MIPS 数为 400 。

        13.若某数采用 IEEE 754 单精度浮点数格式表示为 C640 0000H,则该数的值为______。

        A.1.5*2^13        B.1.5*2^12        C.0.5*2^13        D.0.5*2^12

        解答:C

        C640H= 1100 0110 0100 0000B

        首位为  1 ,是符号位。

        接着八位是阶数,1000 1100B,原值为 1000 1100B-0111 1111B=0000  1101B=13

        剩余是尾数,100 0000 0000 0000 0000 0000B=0.5,所以值为 1.5。

        所以值为 1.5*2^13。

        14.某字长为 8 位的计算机中,已知整型变量 x 和 y 的机器数分别为 [x]补=1 1110100,[y]补=1 0110000。若整型变量 z=2x+y/2,则 z 的机器数是_____。

        A. 1 1000000        B.0 0100100        C.1 0101010        D.溢出

        解答:A

        2*x,x左移一位, 1110 1000

        y/2,y带符号右移一位,1101 1000

        2*x+y/2=1110 1000 +1101 1000 =  1100 0000。

        15.用海明码对长度为 8 位的数据进行检/纠错时,若能纠正一位错,则校验位数至少是____。

        A.2        B.3        C.4        D.5

        解答:C

        海明码:n 表示数据位数,k表示校验位数,海明码纠错一位时应满足此不等式:2^k>=n+k+1,当 k >= 4 时,此不等式成立。 

        16.某计算机主存地址空间大小为 256MB,按字节编址。虚拟地址空间大小为 4GB,采用页式存储管理,页面大小为 4KB,TLB 采用全相连映射,有 4 个页表项,内容如下表所示。

有效位标记页框号...
0FF180H

0002H

...
13FFF1H0035H...
002FF3H0351H...
103FFFH0153H...

        

则对虚拟地址 03FF F180H 进行虚实地址变换的结果是_______。

        A.015 3180H        B.003 5180H        C.TLB 缺失        D.缺页

        解答:A

        虚拟地址空间大小为 4GB=4*2^10*2^10KB ,页面大小为 4KB,因此有 2^20 个页面,需要 20 位来表示,因此 03FF FH表示虚拟页号及标记,对应有效位为 1,因此页框号为 0153H,因此实地址为 0153 180H。选 A

        17.假设变址寄存器 R 的内容为 1000H,指令中的形式地址为 2000H;地址 1000H 中的内容是 2000H,地址 2000H 中的内容是 3000H,地址 3000H 中的内容是 4000H,则变地寻址方式下访问到的操作数是_____。

        A.1000H        B.2000H        C.3000H        D.4000H

        解答:D

        变址寻址地址=形式地址+编址寄存器地址。地址为 1000H+2000H=3000H,内容为 4000H。

        18.某 CPU 主频为 1.03 GHz,采用 4 级指令流水线指令,每个流水段的执行需要 1 个时钟周期。假定 CPU 执行了 100 条指令,在其执行过程中,没有发生任何流水线阻塞,此时流水线的吞吐率为_______。

        A.0.25*10^9 条指令每秒        B.0.97*10^9 条指令每秒

        C.1.0* 10^9 条指令每秒        D.1.03*10^9 条指令每秒

        解答:C

        100 条指令,第一条指令的执行需要 4 个时钟周期,其余指令的执行只需要 1 个时钟,因此 100 条指令的执行共花费 4+99=103 个周期。CPU 主频为 1.03GHz,因此每秒有 1.03G 个时钟周期,每秒执行 1 G 条执行,因此选C。

        19.下列选项中,用于设备和设备控制器(I/O 接口)之间互连的接口标准的是______。

        A.PCI        B.USB        C.AGP        D.PCI-Express

        解答:B

        USB 是一种连接外部设备的 I/O 总线标准,属于设备总线。是设备与设备控制器间的接口。

        PCI 用来连接主存的标准。

        AGP 用来连接网卡的标准。

        PCI-Express 用来连接视频卡的标准。

        20.下列选项中,用于提高 RAID 可靠性的措施有______.

        I.磁盘镜像         II.条带化        III.奇偶校验        Ⅳ.增加Cache机制

        A.I,II        B.I,III        C.I,III,IV        D.II,III,IV

        解答:B

        RAID 独立磁盘冗余阵列,即用多个独立的磁盘组成一个大的磁盘系统,从而实现比单个磁盘更好的存储性能和更高的可靠性。

        磁盘镜像,磁盘内容存在拷贝,可以提高可靠性。

        条带化是一种自动地将 I/O 负载均衡到多个物理磁盘上(将一个连续的数据分成很多小部分并将其存储在不同的磁盘上)的技术,目的是使多个进程同时访问数据的不同部分而不造成磁盘冲突,可以提高性能而不是可靠性。

        奇偶校验可以检错,提高可靠性。

        增加 Cache 机制可以提高性能而不是可靠性。

        21.某磁盘转速为 10000rpm,平均寻道时间是 6ms,磁盘传输速率仅为 20MB/s,磁盘控制器延迟为 0.2ms,读取一个 4KB 的扇区所需的平均时间为______。

        A.9ms        B.9.4ms        C.12 ms        D.12.4ms

        解答:B

        转速为 10000rpm,那么转一圈需要 60/10000 s=6ms,因此平均查询扇区时间为 3ms(因不知道当前在哪一个扇区,因此按半圈算);寻道时间为 6ms;数据传输时间为 4/(20*10^3)=0.2 ms;延迟为 0.2ms,因此所需时间为 9.4ms。

        22.下列关于中断 I/O 方式和 DMA 方式比较的叙述中错误的是______。

        A.中断 I/O 方式请求的是 CPU 处理时间,DMA 方式请求的是数据控制权

        B.中断响应发生在一条指令执行结束后,DMA 响应发生在一个总线事务完成后

        C.中断 I/O 方式下数据传送通过软件完成,DMA 方式下数据仅有硬件完成

        D.中断 I/O 方式适用于所有外部设备,DMA 方式仅适用于快速外部设备

        解答:D

        DMA 方式适用于有大批量数据需要传送的设备如磁带机,磁盘机。

        23.用户在删除某文件的过程中,操作系统不可能执行的操作是_____。

        A.删除此文件所在的目录                        B.删除与此文件关联的目录项

        C.删除与此文件对应的文件控制块        D.释放与此文件关联的内存缓冲区

        解答:A

        该目录下可能还有其余文件,因此不能删除其所在目录

        24.为支持 CD-ROM 中视频文件的快速随机播放,播放性能最好的文件数据块组织方式是____。

        A.连续结构        B.链式结构        C.直接索引结构        D.多级索引结构

        解答:A

        随机存取只能是 连续结构(通过偏移量实现)和索引结构。相较而言,连续结构随机存取较快,因此选 A。

        25.用户程序发出磁盘 I/O 请求后,系统的处理流程是:用户程序->系统调用处理程序->设备驱动程序->中断处理程序。其中,计算数据所在柱面号、磁头号、扇区号的程序是_____。

        A.用户程序        B.系统调用处理程序        C.设备驱动程序        D.中断处理程序

        解答:C

        数据所在柱面号、磁头号、扇区号的计算随设备的不同而不同,因此应当是由厂家提供的设备驱动程序完成。

        26.若某文件系统的索引节点(inode)中由直接地址项和间接地址项,则下列选项中,与单个文件长度无关的因素是_______。

        A.索引节点的总数        B.间接索引地址的级数

        C.地址项的个数           D.文件快大小

        解答:A

        索引节点的总数是文件的数量,与单个文件长度无关。

        地址项的个数为直接地址索引+间接地址索引。

        27.设系统缓冲区和用户工作区均采用单缓冲,从外设读入 1 个数据块到系统缓冲区的时间为 100,从系统缓冲区读入 1 个数据块到用户工作区的时间为 5 ,对用户工作区的 1 个数据块进行分析的时间为 90(如下图所示)。进程从外设读入并分析 2 个数据块的最短时间为_____。

        

        

         A.200        B.295        C.300        D.390

        解答:B

        从外设读入 2 个数据块的时间为 200,第二个外设读入完毕后,第一个已完成剩余操作,因此所需时间为 200+95=295。

        28.下列选项中,会导致用户进程从用户态切换到内核态的操作是______。

        I.处理越界错        II.sin() 函数调用        III.read 系统调用

        A.I,II        B.II,III        C.I,III        D.I,II,III

        解答:C

        能从用户态切换到内核态的三种方式:1.系统调用       2.异常        3.外围设备的中断

        越界错属于异常,II 不属于以上 3 种中的任意一种,故选 C

        29.计算机开机后,操作系统最终被加载到______。

        A.BIOS        B.ROM        C.EPROM        D.RAM

        解答:D

        解答:

        系统开机后,操作系统的程序会被自动加载到内存中的系统,这段区域是 RAM

        BIOS(Basic Input Output System)基本输入输出系统

        ROM  (Read-Only Memory)只读存储器

        EPROM(Erasable Programmable Read-only Memory)可擦除可编程只读存储器

        RAM (Random  Access Memory)随机存取存储器

        30.若用户进程访问内存时产生缺页,则下列选项中,操作系统可能执行的操作是_____。

        I.处理越界错        II.置换页        III.分配内存

        A.I,II        B.II,III        C.I,III        D.I , II 和 III

        解答:B

        发生缺页中断,没有越界,故不可能处理越界错.若内存中的相关空间已满,则要置换页,否则分配内存将所需页调入.

        31.某系统正在执行三个进程 P1,P2,P3, 各进程的计算(CPU)时间和 I/O 时间比例如下表所示.

进程计算时间I/O时间
P190%10%
P250%50%
P315%85%

        为提高系统资源利用率,则合理的优先级设置应为______.

        A.P1>P2>P3        B.P3>P2>P1        C.P2>P1=P3        D.P1>P2=P3

        解答:B

        先进行计算,在进行 I/O.因此计算时间越长,优先级应当越低,这样在本轮的 I/O 时可供下轮进行的计算时间越长.

        32.下列关于银行家算法的叙述中,正确的是____.

        A.银行家算法可以预防死锁

        B.当系统处于安全状态时,系统中一定无死锁进程

        C.当系统处于不安全状态时,系统中一定存在死锁进程

        D.银行家算法破坏了死锁必要条件中的"请求和保持"条件

        解答:B

        A项,当存在安全序列时,银行家算法可以预防死锁

        C项,当系统处于不安全状态时,随着资源的分配,系统中可能会出现死锁

        D项,银行家算法通过破坏死锁产生的必要条件来预防死锁

        33.在 OSI 参考模型中,下列功能需要由应用层的相邻层实现的是_______.

        A.对话管理        B.数据格式转换        C.路由选择        D.可靠数据传输

        解答:B

        与应用层相邻的是表示层.

        A项对话管理由会话层完成

        B项数据格式转换由表示层完成

        C项路由选择由网络层完成

        D项可靠数据传输由传输层完成

        34.若下图为 10BaseT 网卡收到的信号波形,则该网卡收到的比特串是______.

        

        A.0011 0110        B.1010 1101        C.0101 0010        D.1100 0101

        解答:A

        10BaseT 即 10Mbps 的以太网,采用曼彻斯特编码,将一个码元分为俩个相等的间隔,前一个间隔为低电平 ,后一个间隔为高电平表示 0(1),此时相反的就表示为 1(0).因此图中比特串可能为 0011 0110 或 1100 1001,只有前者出现,故选A.

        35.主机甲通过 1 个路由器(存储转发方式)与主机乙联系,两段链路的数据传输速率均为 10Mbps,主机甲分别采用报文交换和分组大小为 10kb 的分组交换向主机乙发送 1 个大小为 8Mb (1M=10^6) 的报文.若忽略链路传播时延,分组头开销和分组拆装时间,则两种交换方式完成该报文传输所需的总时间分别为______.

        A.800ms,1600ms        B.801ms,1600ms        C.1600ms,800ms        D.1600ms,801ms

        解答:D

        数据传输到链路上消耗时间为 8/10=0.8s=800ms.

        报文交换:整个报文先传输到相邻节点,相邻节点将其全部储存下来后再查找转发表转发.

                 本题中,数据先传输到路由器中,再传输到主机C,需要两个完整的数据传输过程,因此需要 800ms*2=1600ms

        分组交换:单个分组传输到相邻接待后,相邻节点即查找转发表转发. 

                  本题中, 报文大小为 8Mb=8*10^3kb, 分组大小为 10kb,因此报文会被分割为 800 个分组.单个分组传输到链路中的时间为 10/(10*10^3) s=1/10^3 s=1ms.第一个分组传输到主机乙耗时 2ms,因为路由器在转发前一个分组时 ,主机甲就在发送前一个分组,因此后续 799 个分组耗时 1s,所以总耗时为 799+2=801ms

        36.下列介质访问控制方法,可能发生冲突的是______.

        A.CDMA        B.CSMA        C.TDM       D.FDM

        解答:B

        介质访问控制(medium access control)简称 MAC,是解决公用信道使用产生竞争时,如何分配信道使用权的问题

        CSMA(Carrier Sense Multiple Access 即载波侦听多路访问协议) :在发送数据前先侦听信道,忙则等待,空闲则发送.可能发生冲突.

        CDMA(Code Division Multiple Access 即码分多址):给每个节点分配不同的编码,然后每个节点用它唯一的编码来对她发送的数据进行编码.如果精心选择这种编码,就能做到使不同的节点同时传输,并且他们各自对应的接收方仍能正确接收发送方发送的数据,而不在乎其他节点的干扰传输.

        FDM(Frequency-division multiplexing 即频分多路复用):将信道划分为不同的频段,每个节点拥有其中一个频段.

        TDM(Time-division multiplexing 即时分多路复用):将时间划分为时间帧,然后进一步将时间帧划分为时隙,然后将时隙分配给不同的节点.

        37. HDLC 协议对 01111100 01111110 组帧后对应的比特串为_____.

        A.011111100 001111110 10        B.01111100 01111101 011111110

        C.011111100 011111101 0         D.01111100 01111110 011111101

        解答:A

        HDLC 协议(High Level Data Link Control 即高级数据链路控制协议):面向比特的网络节点之间同步传输数据的数据链路层协议.

        HDLC 数据帧以 0111 1110 标识帧的开始与结束,因此每出现五个连续的 1 就在后面补一个0,即使后面一位为 0.因此结果为 01111100 00111110 10,选A

        38.对于 100Mbps 的以太网交换机,当输出端口无排队,以直通交换(cut-through switching)方式转发一个以太网帧(不包括前导码)时,引入的转发时延至少是_____.

        A.0us(微秒)        B.0.48us        C.5.12us        D.121.44us

        解答:B

        直通交换方式是指以太网交机可以在各端口间交换数据.他在输入端口检测到一个数据包时,检查该包的包头,获取包的目的地址,启动内部的动态查找表寻找到相应的输出端口,然后在输入输出交叉处连通,把数据包直通到相应的端口,实现交换功能.

      在直通方式时,交换机接收到 MAC 帧,不待接收完整,就按帧首部中的目的 MAC 地址来判别转发端口 , 目的 MAC 地址 6B即 48b,转发时延为 48/(100*10^6) s=0.48us

        39.主机甲和主机乙之间建立一个 TCP 连接,双方持续传输数据,且数据无差错与丢失.若甲收到 1 个来自乙的 TCP 段,该段的序号为 1913,确认序号为 2046,有效载荷为 100 字节,则甲立刻发送给乙的 TCP 段的序号与确认序号分别是_____.

        A.2046,2012        B.2046,2013        C.2047,2012        D.2047,2013

        解答:B

        乙发送的确认序号是甲上一次发送的最后一个字节的序号加一,因此甲本次发送的序号为 2046.

        乙发送的段的序号为 1913,共有 100 字节,因此末尾字节的序号为 2012,甲对此的确认是在此基础上加一,即 2013.

        40.下列关于 SMTP 协议的叙述中,正确的是______.

        I.只支持传输 7 比特 ASCII 码内容                        II.支持在邮件服务器之间发送邮件

        III.支持从邮件代理向邮件服务器发送邮件            IV.支持从邮件服务器向用户发送邮件

        A.I,II,III        B.I,II,IV        C.I,III,IV        D.II,III,IV

        解答:A

        SMTP 协议(Simple mail trasfer porotcol) 即简单邮件传输协议.

        SMTP 协议传输邮件时,需要发送方会向接收方发送信息以建立一个传输信道,而邮件服务器向用户发送邮件时,因为用户在线时间未知,需要用户主动发送信息建立信道,所以不适用 SMTP.

        二 、综合应用题

        41.(13 分)已知一个整数序列 A=(a0,a1,a2...an-1),其中 0<=ai<n (0<=i<n)。若存在 ap1=ap2=...=apm=x 且 m>n/2 (0<=pk<n,1<=k<=m),则称 x 为 A 的主元素。假设 A=(0,5,5,3,5,7,5,5),则 5 为主元素;又比如 A=(0,5,5,3,5,1,5,6,7) ,则 A 中没有主元素。假设 A 中的 n 个元素保存在一个一维数组中,请设计一个尽可能高效的算法,找出 A 的主元素。若存在主元素,则输出该元素;否则输出 -1。要求:

        (1)给出算法的基本设计思想

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

        (3)说明你所设计算法的时间复杂度和空间复杂度。

        解答:

        (1)初始时,主元素为 -1,计数为0.然后遍历数组,若主元素与当前元素相同,计数加一;若主元素与当前元素不同,若计数大于 1 ,计数减一,否则将当前元素设置为主元素,计数变更为1.遍历结束后,若计数大于0,重新遍历对当前元素进行计数判断其是否为主元素,否则,不存在主元素。

        (2)

class Solution{
    public int findMainElement(int[] P){
        int main=-1;
        int cnt=0;
        for(int i=0;i<P.length;i++){
            if(P[i]==main){
                cnt++;
            }else{
                if(cnt==0){
                    main=P[i];
                    cnt=1;
                }else{
                    cnt--;
                }
            }
        }
        if(cnt==0){
            return -1;
        }
        return isMainElement(main,P):main:-1;
    }
    public boolean isMainElement(int main,int[] P){
        int m=0;
        int n=P.length;
        for(int i=0;i<n;i++){
            if(P[i]==main){
                m++;
            }
        }
        return m>n/2;
    }
}

      (3)时间复杂度:O(n)。空间复杂度:O(1)

        42.设包含 4 个元素的集合 S={"do","for","repeat","while"},各元素的查找概率依次为 p1=0.35,p2=0.15,p3=0.15,p4=0.35。将 S 保存在一个长度为 4 的顺序表中,采用折半查找法,查找成功时的平均查找长度为 2.2,请回答:

        (1)若采用顺序存储结构保存 S,且要求平均查找长度更短,则元素应该如何排列?应使用何种查找方法?查找成功时的平均查找长度是多少?

        (2)若采用链式存储结构保存 S,且要求平均查找长度更短,则元素应该如何排列?应使用何种查找方法?查找成功时的平均查找长度是多少?

        解答:(1)若采用顺序存储结构保存 S,元素排列应为{"do","while","for","repeat"},使用顺序查找法,查找成功时的平均查找长度是 0.35+0.35*2+0.15*3+0.15*4=0.35+0.7+0.45+0.6=1.05+1.05=2.1。

        (2)若采用链式存储结构,元素排列应为{"do","while","for","repeat"},使用顺序查找法,查找成功时的平均查找长度是 0.35+0.35*2+0.15*3+0.15*4=0.35+0.7+0.45+0.6=1.05+1.05=2.1。

        43.某 32 位计算机,CPU 主频为 800MHz,Cache 命中时的 CPI 为 4,Cache 块大小为 32 字节;主存采用 8 体交叉存储方式,每个体的存储字长为 32 位、存储周期为 40ns;存储器总线宽度为 32 位,总线时钟频率为 200MHz,支持突发传送总线事务。每次读突发传送总线事务的过程包括:送首地址和命令、存储器准备数据、传送数据。每次突发传送 32 字节,传送地址或 32 位数据均需要一个总线时钟周期。请回答一下问题,要求给出理由或计算过程。

        (1)CPU 和总线的时钟周期各为多少?总线的带宽(最大数据传输率)是多少?

        (2)Cache 缺失时,需要用几个读突发传送总线事务来完成一个主存块的读取?

        (3)存储器总线完成一次读突发传送总线事务所需的时间是多少?

        (4)若程序 BP 执行过程中,共执行了 100 条指令,平均每条指令需进行 1.2 次访存,Cache 缺失率为 5%,不考虑替换等开销,则 BP 的 CPU 执行时间是多少?        

        知识点:8 体交叉存储方式:8 个体,0存放在体1,1存放在 体2...... 7 存放在体 8,8 存放在体 1......

        在第三问中,8 个体要各进行一次存储。(不是很理解为啥)

        解答:(1)CPU 主频为 800MHz,因此 CPU 的时钟周期为 1/800M s=1.25ns

        总线时钟频率为 200MHz,因此总线的时钟周期为 1/200M s=5ns

        总线宽度为 32 位,因此总线带宽为 200MHz*32b=6400Mbps=800Mbps

        (2)Cache 大小为 32b,每次突发传送 32b,因此需要 1 个读突发传送总线事务读取一个主存块

        (3)送首地址花费一个总线时钟周期 5ns;准备及传送数据时,存取周期为 40ns,因此读第一个体需要 40ns,传输需要一个总线时钟周期即 5ns,因此第一个体需要花费 45ns,后续每个体需要  5ns 传送数据,因此此阶段花费 45+5*7=80ns。因此一共花费 80ns+5ns=85ns

       0ns 送首地址

       5ns 首地址传输结束,开始读第一个体

       10ns 开始读第二个体(存储周期为 40ns,每隔40ns/8 读一个体)

        ......

       40ns 第一个体读取结束,开始传输第一个体;开始读第 8 个体

        45ns  第一个体传输结束,第二个体读取结束。开始传输第二个体

        ......

        85ns 第8 个体传输结束

        (4)Cache 命中的指令执行时间(Cache 未命中时也要执行一个Cache 相关指令来获取Cache 未命中的结果):100*4*1.25ns=500ns

        额外开销:100*5%*1.2*85ns=6*85ns=510ns

        因此总花费时间为 1010ns

        44.某计算机采用 16 位定长指令字格式,其中 CPU 有一个标志寄存器,其中包含进位/借位标志 CF,零标志 ZF 和符号标志 NF。假设为该机设计了条件转移指令,其格式如下:

                      15                   11      10          9           8            7                                 0

00000CZNOFFSET

        其中,00000 为操作码 OP;C,Z,N 分别为 CF、ZF,NF 的对应检测位,某检测位为 1 时表示需检测对应标志位,需要检测的对应标志位中只要有一个 1 就转移,否则不转移。例如,若 C=1,Z=0,N=1,则需检测 CF 和 NF 的值,当 CF=1 或 NF=1 时发生转移:OFFSET 是相对偏移量,用补码表示。转移执行时,转移目标地址为 (PC)+2+2*OFFSET;顺序执行时,下条指令的地址是 (PC)+2。请回答下列问题:

        (1)该计算机存储器按字节编址还是按字编址?该条件转移指令向后(反向)最多可跳转多少条指令?

        (2)某条件转移指令的地址为 200CH,指令内容如下图所示,若该指令执行时 CF=0,ZF=0,NF=1,则该指令执行后 PC 的值是多少?若该指令执行时 CF=1,ZF=0,NF=0,则该指令执行后 PC 的值又是多少?请给出计算过程。

                               15                   11    10          9            8          7                                 0

0000001111100011

        (3)实现 “无符号数比较小于等于时转移” 功能的指令中,C、Z 和 N 应各是多少?

        (4)以下是该指令对应的数据通路示意图,要求给出图中部件 1~3 的名称或功能说明?  

    

        解答:(1)按字节编址。

        最多可以向后跳转 2^7-1=127 条指令。 

        (2)若在该指令执行时 CF=0,ZF=0,NF=1,因为 NF 为 1,因此需要转移,此时OFFSET 为 1110 0011B ,2*OFFSET 为  1111 1111 1100 0110B 即 FFC6H,转移后 PC 的值为 200CH+0002H+FFC6H=200EH + FFC6H= 1FD4H

        若在该指令执行时,CF=1,ZF=0,NF=0,则不需要注意,指令执行后 PC 的值为 200CH+0002H=200EH。

        (3)C 为 1,Z 为 1,N 为 0。进行数之间的比骄傲通常是进行减法操作,在小于等于 0 时转移,若是负数,产生借位,若是零, 零标志为 为0,因此 C 和 Z 为 1。无符号数的减法操作不涉及符号标志 NF。

        (4)部件 1 用于存放当前指令,为指令寄存器。

        部件 2 用于实现 2*OFFSET,为移位寄存器。

        部件 3 用于实现 (PC)+2+2*OFFSET,为加法器。

        45.某博物馆最多容纳 500 人同时参观,有一个出入口,该出入口一次仅允许一人通过。参观者的活动描述如下:

cobegin
    参观者进程 i:{
            ...
        进门;
            ...
        参观;
            ...
        出门;
        ...
    }
coend;

        请添加必要的信号量和 P、V(或 wait(),signal())操作,以实现上述过程中的互斥与同步。要求写出完整过程,说明信号量的含义并赋初值。

        解答:

        出入口仅允许一人通过,设为 mutex,初始值为 1;馆内允许最多 500 人入内,因此设为 aceess,初值为 500。

semaphore mutex=1;         //出入口
semaphore access=500;        //馆内允许进入人数

cobegin
    参观者进程 i:{
        P(access);          //等待允许入内
        P(mutex);   //等待占据入口,
        进门;
        V(mutex);   //释放入口
        参观;
        P(mutex);    //等待出口
        出门;
        V(mutex);    //释放出口
        V(access);         //博物馆内人数减少,允许他入内
    }
coend;

        

        46.某计算机主存按字节编址,逻辑地址和物理地址都是 32 位,页表项大小为 4 字节。请回答以下问题:

        (1)若使用一级页表的分页存储管理方式,逻辑地址结构如下 :

页号(20 位)页内偏移量(12 位)

则页的大小是多少字节?页表最大占用多少字节?

        (2)若使用二级页表的分页存储管理方式,逻辑地址结构如下:

页目录号(10 位)页索引表(10位)页偏移量(12位)

设逻辑地址为 LA,请分别给出其对应的页目录号和页索引表的表达式。

        (3)采用(1)中的分页存储管理方式,一个代码段起始逻辑地址为 0000 8000H,其长度为8KB,被装载到从物理地址 0090 0000H 开始的 4连续主存空间中。页表从主存 0020 0000H 开始的物理地址处连续存放,如下图所示(地址大小自下向上递增)。请计算出该代码段对应的两个页表项的物理地址、这两个页表项的页框号以及代码页面 2 的起始物理地址。

        解答:(1)页内偏移量有 12 位,因此页的大小为 2^12B=4KB

        页号有 20 位,因此页表项最多有 2^20 个,最多占据 2^20*4B=2^22B=4MB 

        (2)页目录号:((unsigned int)LA)>>22        

        页索引表:((unsigned int)LA)>>12 &0x3FFH          (&0x3FFH将除低10位外全部置0)

        (3)起始逻辑地址 0000 8000H 被装载到 0090 0000H 的主存物理地址处,因此图中页框号 1 与逻辑地址 0000 8000H 的页号相同。而起始逻辑地址为 0000 8000H 即 0000 0000 0000 0000 1000 0000 0000 0000B ,页号为前 20 位 0000 0000 0000 0000 1000B 即 0008H ,因此页表项 1 为第 8 个页框号。而页表项大小为 4KB,因此物理地址  1 为 0200 0000H+8*4=0200 0020H,物理地址 2 为 0200 0000H+9*4=0200 0024H(按字节编址)

        采用 (1)的 方式时,页框号就是页号,因此页框号也是 20 位,因此页框号 1 位物理地址 0090 0000H 的前 20 位 0 0900H。

        页面大小为  4KB,因此物理地址 3 为 0090 0000H+ 4KB=0090 0000H+ 1 0000 0000 0000B=0090 1000H,前 20位为页框号即 0 0901H。

        47.假设 Internet 的两个自治系统构成的网络如题 47 图所示,自治系统 ASI 由路由器 R1 连接两个子网构成;自治系统 AS2 由路由器 R2,R3 互联并连接三个子网构成。各子网地址、R2 的接口名,R1 和 R3 的部分接口 IP地址 如题 47 图所示。

  请回答以下问题:

        (1)假设路由表结构如下表所示。请利用路由聚合技术,给出 R2 的路由表,要求包括到达题 47 图中所有子网的路由,且路由表中的路由项尽可能少。

目的地址下一跳接口

        (2)若 R2 收到一个目的 IP 地址为 194.17.20.200 的 IP 分组,R2 会通过哪个接口转发该 IP 分组?

        (3)R1 和 R2 之间利用哪个路由协议交换路由信息?该路由协议报文被封装到哪个协议的分组中进行传输?

        解答:(1)

目的地址下一跳接口
194.17.20.128/25-E0
194.17.20.0/23192.17.24.2S1
153.14.5.0/24153.14.3.2S0

        (2)该 IP 地址与路由表中的 194.17.20.0/23 和194.17.20.128/25 均匹配,根据最长匹配原则,通过 E0 接口转发。

        (3)R1 和 R2 属于不同的自治系统,因此使用边界网关协议 BGP 交换路由信息。BGP 协议是应用层协议,报文被封装在 TCP 协议的分组中进行传输。

        

        

        

        

        

        

        

        

        

        

        

        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1059869.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【算法|动态规划No.10】leetcode LCR 089. 打家劫舍 LCR 090. 打家劫舍 II

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 &#x1f354;本专栏旨在提高自己算法能力的同时&#xff0c;记录一下自己的学习过程&#xff0c;希望…

Android---GC回收机制与分代回收策略

目录 GC 回收机制 垃圾回收(Garbage Collection, GC) 垃圾回收算法 JVM 分代回收策略 1. 新生代 2. 老年代 GC Log 分析 引用 GC 回收机制 垃圾回收(Garbage Collection, GC) 垃圾就是内存中已经没有用的对象&#xff0c;JVM 中的垃圾回收器(Garbage Collector)会自…

【Unity】两种方式实现弹跳平台/反弹玩家(玩家触发与物体自身触发事件实现蹦床的物理效果)

一、声明 只实现物理反弹的效果&#xff0c;不实现蹦床会有的视觉拉伸效果&#xff0c;请自行找相关代码 二、实现 经过我的实践&#xff0c;我发现要想实现一个平台反弹的效果&#xff0c;要么就选择给player添加一个物理材质&#xff08;平台加了没用&#xff09;&#xff0…

【网络】网络扫盲篇 ——用简单语言和图解带你入门网络

网络的一些名词和基础知识讲解 前言正式开始一些基础知识发展背景运营商和生产商 协议协议的分层TCP/IP五层(或四层)模型&#xff08;可以不看&#xff0c;对新手来说太痛苦了&#xff0c;我这里只是为了让屏幕前的你过一遍就好&#xff0c;里面很多概念新手是不太懂的&#xf…

【多线程】进程与线程 并发编程 面试题总结

进程和线程 进程是程序执行时的一个实例&#xff0c;即它是程序已经执行到何种程度的数据结构的汇集。从内核的观点看&#xff0c;进程的目的就是担当分配系统资源&#xff08;CPU时间、内存等&#xff09;的基本单位。线程是进程的一个执行流&#xff0c;是CPU调度和分派的基…

postgresql16-新特性

postgresql16-新特性 any_value数组抽样数组排序 any_value any_value 返回任意一个值 select e.department_id ,count(*), any_value(e.last_name) from cps.public.employees e group by e.department_id ;数组抽样 -- 从数组中随机抽取一个元素 array_sample(数组&#…

java的内存模型(概念)

在java中&#xff0c;设计之初就有了&#xff1a;主内存、线程工作内存&#xff0c;所以其实每一个线程执行时&#xff0c;都是将主线程copy一份到工作线程&#xff0c;执行修改后&#xff0c;再同步回去。 所以&#xff0c;就有四组内存操作方式&#xff1a; 1、读主内存&…

【python】数据加载与存储

文章目录 读取文本格式的数据逐块读取文本文件将数据写出到文本格式 读取文本格式的数据 pandas提供了一些用于将表格型数据读取为DataFrame对象的函数&#xff1a; 【read_csv和read_table最为重要】 这些函数在将文本数据转换为DataFrame时所用到的一些技术。这些函数的选项…

C++:stl:stack、queue、priority_queuej介绍及模拟实现和容量适配器deque介绍。

本文主要介绍c中stl的栈、队列和优先级队列并对其模拟实现&#xff0c;对deque进行一定介绍并在栈和队列的模拟实现中使用。 目录 一、stack的介绍和使用 1.stack的介绍 2.stack的使用 3.stack的模拟实现 二、queue的介绍和使用 1.queue的介绍 2.queue的使用 3.queue的…

Vue中如何进行分布式路由配置与管理

Vue中的分布式路由配置与管理 随着现代Web应用程序的复杂性不断增加&#xff0c;分布式路由配置和管理成为了一个重要的主题。Vue.js作为一种流行的前端框架&#xff0c;提供了多种方法来管理Vue应用程序的路由。本文将深入探讨在Vue中如何进行分布式路由配置与管理&#xff0…

【kubernetes】kubernetes中的Controller

1 什么是Controller&#xff1f; kubernetes采用了声明式API&#xff0c;与声明式API相对应的是命令式API&#xff1a; 声明式API&#xff1a;用户只需要告诉期望达到的结果&#xff0c;系统自动去完成用户的期望命令式API&#xff1a;用户需要关注过程&#xff0c;通过命令一…

EdgeView 4 for Mac:重新定义您的图像查看体验

您是否厌倦了那些功能繁杂、操作复杂的图像查看器&#xff1f;您是否渴望一款简单、快速且高效的工具&#xff0c;以便更轻松地浏览和管理您的图像库&#xff1f;如果答案是肯定的&#xff0c;那么EdgeView 4 for Mac将是您的理想之选&#xff01; EdgeView 4是一款专为Mac用户…

【C语言】结构体内存对齐

结构体内存对齐是很重要的一个考点&#xff0c;但不难掌握&#xff0c;接下来就来了解一下结构体内存对齐 目录 对齐规则&#xff1a;偏移量&#xff1a;例题&#xff1a;为什么存在内存对齐? 对齐规则&#xff1a; 首先来看一下对齐规则 第一个成员在与结构体变量偏移量为0…

交叉编译和GCC编译器

目录 交叉编译 hello.c文件 提问 GCC编译器 GCC编译过程 GCC常用选项 编译多个文件 预处理 编译 汇编 链接 交叉编译 hello.c文件 #include <stdio.h>int main(int argc, char argv) {if(argc > 2)printf("Hello, %s!\n", argv[1]);elseprintf…

【Spring Boot】创建一个 Spring Boot 项目

创建一个 Spring Boot 项目 1. 安装插件2. 创建 Spring Boot 项目3. 项目目录介绍和运行注意事项 1. 安装插件 IDEA 中安装 Spring Boot Helper / Spring Assistant / Spring Initializr and Assistant插件才能创建 Spring Boot 项⽬ &#xff08;有时候不用安装&#xff0c;直…

JVM:如何通俗的理解并发的可达性分析

并发的可达性分析 前面在介绍对象是否已死那一节有说到可达性分析算法&#xff0c;它理论上是要求全过程都基于一个能保障一致性的快照&#xff08;类比 MySQL 的MVCC&#xff09;中才能够进行分析&#xff0c;也就意味着必须全程冻结用户线程的运行&#xff08;STW&#xff0…

实战型开发1/3--结果业务导向

假期难得一段时间把近期一些实战型开发的阅读&#xff0c;实践做一些小结&#xff1b; 风格方面就是包括不限于一些好的开发实践&#xff0c;nb的开发技术流程等&#xff0c;但是总体着力于实战型的开发&#xff1b; 三层视角 业务&团队视角&#xff1a;开发所要最终服务…

单调栈---基础数据结构与算法

简介 栈 (stack) 又名堆栈&#xff0c;是一种数据结构&#xff0c;向一个栈插入新元素又称作进栈、入栈或压栈&#xff0c;从一个栈删除元素又称作出栈或退栈。 栈是一种只允许在表尾进行插入和删除操作的线性表&#xff0c;也就是我们所说的后进先出&#xff0c;我们把栈想象…

软件测试工程师经典面试题,金九银十可以跳槽了。

大家好&#xff0c;前两天跟朋友感慨&#xff0c;今年的铜九铁十、裁员、导致好多人都没拿到offer&#xff01;现在互联网大厂终于迎来了应届生集中求职季。 对于想跳槽的职场人来说&#xff0c;绝对是个找工作的好时机。这时候&#xff0c;很多高薪技术岗、管理岗的缺口和市场…

想要精通算法和SQL的成长之路 - 并查集的运用和案例(省份数量)

想要精通算法和SQL的成长之路 - 并查集的运用 前言一. 并查集的使用和模板1.1 初始化1.2 find 查找函数1.3 union 合并集合1.4 connected 判断相连性1.5 完整代码 二. 运用案例 - 省份数量 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 并查集的使用和模板 先说一下并查集…