2017年同济大学交通运输工程学院408计算机学科专业基础综合之计算机组成原理考研强化模拟题
● 摘要
一、选择题
1. 运算器虽有许多部件组成,但核心部分是( )。
A. 数据总线
B. 算术逻辑运算单元
C. 多路开关
D. 通用寄存器
【答案】B
2. 流水CPU 是由一系列叫做“段”的处理线路所组成,和具有m 个并行部件的CPU 相比,一个m 段流水CPU ( )。
A. 具备同等水平的吞吐能力
B. 不具备同等水平的吞吐能力
C. 吞吐能力大于前者的吞吐能力
D. 吞吐能力小于前者的吞吐能力
【答案】A
3. 有两个并发执行的进程P1和P2, 共享初值为1的变量x 。P1对x 加1,P2对x 减1。加1和减1操作的指令序列分别如下所示。
两个操作完成后,2的值( )。
A. 可能为-1或3
B. 只能为1
C. 可能为0、1或2
D. 可能为-1、0、1或2
【答案】C
【解析】这是在数据库中常有的操作。为保证数据的正确,避免产生错误,系统必须保证数据的同步。而保证数据的同步一般采取加锁的方法,让进程P1和P2互斥访问共享变量X 。当然用信号量和P 、V 操作也是可以保证互斥操作,达到数据同步的。本例中,由于没有采取保证数据同步的相应措施,则最后结果就会出现差错。例如,当正常情况下,进程P1和P2先后对x 操
作,可以看到x 值的变化为初始的过程,若P2, P1先后操作,则x 值的变化为初始
这是正确的。若考虑一种并发的情况,进程P1和P2先后执行了取数load 的操作,它们得到的x 值均为1,运算后,P1和P2的x 值分别为2和0, 此时要看哪个进程后执行存数store 的操作了,哪个进程后操作,结果就是那个进程的x 值,所以可能的结果为0或2, 加上前面正确的x 值1, 则可能的结果就有3种了。
4. 数据链路层采用后退N 帧(GBN )协议,发送方已经发送了编号为0〜7的倾。当计时器超时,若发送方只收到0、2、3号帧的确认,则发送方需要重发的帧数是( )。
A.2
B.3
C.4
D.5
【答案】C
【解析】后退N 帧协议,即GO-BACK-N 策略的基本原理是,当接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧;或者当发送方发送了N 个帧后,若发现该N 帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方就不得不重新发送出错帧及其后的N 帧。本题收到3号帧的确认,说明0,1,2,3号帧已经收到,丢失的是4,5,6,7号帧,共4帧。因此答案为C 项。
5. 变址寻址方式中,操作数的有效地址等于( )。
A. 基值寄存器内容加上形式地址(位移量)
B. 堆栈指示器内容加上形式地址
C. 变址寄存器内容加上形式地址
D. 程序计数器内容加上形式地址
【答案】C
6. 先序序列为a , b ,c , d 的不同二叉树的个数是( )。
A.13
B.14
C.15
D.16
【答案】B
【解析】二叉树的先序遍历定义为:若二叉树为空,则空操作;否则,访问根节点,然后先序遍历左子树,最后先序遍历右子树。本题中,结点a 为二叉树的根节点,左右子树的先序遍历可能存在下面四种情况:①左子树为空,bcd 为右子树;②b 为左子树,cd 为右子树;③bc 为左子树,d 为右子树;④bcd 为左子树,右子树为空。然后将左右子树继续分解,如第①种情况的右子树先序遍历(bcd )可能有:a. 左子树为空,右子树为cd ; b. 左子树为c ,右子树为d ; c. 左子树为cd ,右子树为空。按照这种方法继续分解左右子树,直到不能再分解为止,可得第①和④种情况各包含5种不同情况,第②和③种情况各包含2种情况,因此总共有14种不同的二叉树。
7. 在下图所示的平衡二叉树中,插入关键字48后得到一棵新平衡二叉树。在新平衡二叉树中,关键字37所在结点的左、右子结点中保存的关键字分别是( )。
A.13、48
B.24、48
C.24、53
D.24、90
【答案】C
【解析】题目中,插入48以后,树根结点的平衡因子由-1变为-2,失去平衡。这属于RL (先右后左)型平衡旋转,需做两次(先右旋后左旋转)旋转操作。过程如下图所示:
显然,在调整后的新平衡二叉树中,关键字37所在结点的左、右子结点中保存的关键字分别是24,53。
8. 完整的计算机系统应包括( )。
A. 运算器、存储器、控制器
B. 外部设备和主机
C. 主机和实用程序
D. 配套的硬件设备和软件系统
【答案】D