当前位置:问答库>考研试题

2018年北京市培养单位遥感与数字地球研究所866计算机原理之计算机组成原理考研基础五套测试题

  摘要

一、简答题

1. 码是7位,如果设计主存单元字长为32位,指令字长为12位,是否合理? 为什么?

【答案】不合理。

指令最好是半字长或单字长,设计16位比较合适。一个字符的

单元字长为32

位,则一个单元可以放四个字符,这也是可以的,只是在存取单个字符时,所用的时间较长,不过,一条指令至 少占一个单元,若指令字长12位,一条指令只占了一个单元(32位)的12位,剩佘的22位就浪费了,这样看 来不合理,因为通常单字长指令很多,累计的浪费就很大。

2. 说明存储器总线周期与总线周期的异同点。

【答案】存储总线周期用于对内存读写,

总线周期用于对接口中的端口进行读写。 是7位,如果设计主存

二、分析题

3. 设一个按位编制的虚拟存储器,它可以满足1K 个任务的需要,但在一段较长的时间内一般只有四个任务在使用,故用容量为四行的相连存储器组硬件来缩短被变换的虚地址中的用户位数,每个任务的程序空间最大可达4096个页,每页为512字节,实主存容量为220位,设快表用CAM 存储器构成,行数为22, 快表的地址是经过散列技术形成的。为减少散列冲突,配有两套独立的相等比较器电路(这时快表的每行包含两个单元,各存放一个进行地址交换的表目)。请设计该地址变换机构:

(1)画出其虚实地址经快表变换的逻辑示意图;

(2)求相连存储器组中每个寄存器的相连比较位数;

(3)求散列变换硬件的输入位数和输出位数;

(4)求每个相等比较器的位数;

(5)求快表的总位数。

【答案】(1)虚拟地址分为3个字段,最左边的字段是虚页号,中间字段是高速缓存块号,最右边的字段是块内字地址。逻辑示意图如图所示。

(2)相连存储器组中每个寄存器的相连比较位数由总的任务数决定。有1K 个任务,那么相连存储器组中每个寄存器相连比较位数应该是10位。

(3)散列变换硬件的输入为虚拟页号12位(4096取以2为底的对数)加上任务标志ID 2位(常用任务数4取以2为底的对数)之和,即14位,输出为快表的表项索引,因为共有32位,所以输出为5位。

(4)相等比较器比较的内容是当前地址与快表表项中虚页号与任务ID 的和,所以每个相等比较器位数为14位。

(5)因为快表表项有两个相同项,

所以快表中每行为

数为位。

4. 设变量h 放在寄存器

代码。C 赋值语句是;

【答案】虽然C 语句只有一个相加的操作,但是两个操作数均在存储器中,因此需要更多的ARM 指令。首先用取字(LDR )指令访问存储器单元

存器最后用存字(STR )指令将寄存器,位移量为然后用ADD 指令将放在寄中的结果写到存储器单元此时寄存器作为基地址位,共22行,所以总位数组A 的基值放在寄存器r3, 请将下面c 语句翻译成ARM 汇编语言因ARM 也是字节寻址。3条ARM 汇编语言指令形式如下:

三、综合应用题

5. 有A 、B 两人通过信箱进行辩论,每人都从自己的信箱中取得对方的问题。将答案和向对方提出的新问题组成一个邮件放入对方的邮箱中,设A 的信箱最多放M 个邮件,B 的信箱最多放N 个邮件。初始时A 的信箱中有x 个邮件

件数减1. 。

A 、B 两人操作过程:

当信箱不为空时,辩论者才能从信箱中取邮件,否则等待。

当信箱不满时,辩论者才能将新邮件放入信箱,否则等待。 请添加必要的信号量和

程,并说明信号量的含义和初值。

【答案】首先定义两个互斥信号量:mutexA 和mutexB ,初始时为1,分别用来实现对A 的邮箱和B 的邮箱的互斥使用;然后针对A 的邮箱再定义两个信号量emptyA 和fullA ,

初值分别为

分别表示信箱中仍能存放信的数量和已经存放的信的数量,同理设置emptyB 和fulffi , 初值为

通信代码:

B 中有y 个辩论者每取出一个邮件,邮操作,以实现上述过程的同步,要求写出完整过初始代码: