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

2017年武汉理工大学计算机科学与技术学院408计算机学科专业基础综合之计算机组成原理考研强化模拟题

  摘要

一、分析题

1. 如图1所示的系统是A 、B 、C 三个设备组成的单级中断结构,它要求CPU 在执行完当前指令时转向对中断请求进行服务。现假设:

图1

为查询链中每个设备的延迟时间;

分别为设备A 、B 、C 的服务程序所需的执行时间;

场所需时间主存的工作周期TM 。试问:

①分析CPU 处理设备A 、B 、C 的服务程序所需的执行时间。

注意:“中断允许”机构在确认一个新中断之前,先要让即将被中断的程序的一条指令执行完毕。

②就这个中断请求环境来说,系统在什么情况下达到中断饱和?也就是说,在确保请求服务的三个设备都不会丢失信息的条件下,允许出现中断的极限频率有多高?

③如果将系统改为多级中断系统,极限频率如何变化

【答案】①中断处理过程和各时间段如图2所示。假定三个设备同时发出中断请求,那么依次分别处理设备C 、B 、A 时间如下:

为保存现场和恢复现

2

②三个设备所花的总时间为:极限频率有影响(重新计算)。

2. 浮点数四则运算的基本公式如下:

其中

.

算器的逻辑结构图。

【答案】浮点乘法和除法相对来说比较简单,因为尾数和阶码可以独立处理:浮点乘法只需对尾数作定点乘和阶码作定点加,而浮点除法只需对尾数作定点除和阶码作定点减即可。不论乘法和除法,需将结果规格化。

浮点加减法较复杂,原因在于尾数相加或减之前必须对阶。为此,将较小的阶码X 。

对应的尾数

(1)计算(2)将

(3)计算

(4)将结果规格化。

图为浮点运算器的结构图。该运算器由两个相对独立的定点运算器组成。阶码部件只进行加、减操作,

实现对阶(求阶差)和阶码加减法操作

系统改为多级中断系统,对中断

T 是达到中断饱和的最小时间,即中断极限频率为

试画出浮点运

右移位以得到一个新的尾数

.

这样就能与进行运算。因

此浮点加减法需要四步运算:

; (定点减法)移

位以形成.

; (定点加法或减法)

尾数部分可进行加、减、乘、除运算,

并与阶码部件协同完成对阶和规格化等功能。尾数的加、减由加法器完成,尾数乘除由高速乘除部件完成。寄存器

和积商寄存器本身具有移位功能,以便完成对阶和规格化等操作。

3. CPU 执行一段程序时,cache 完成存取的次数为3800次,主存完成存取的次数为200次,已知cache 存取周期为50ns , 主存为250ns ,求cache-主存系统的效率和平均访问时间。

【答案】cache 的命中率

cache-主存系统效率e 为

平均访问时间

4. 设变量h 放在寄存器代码。C 赋值语句是;

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

最后用存字(STR )指令将

寄存器,位移量为

然后用ADD 指令将

放在寄

中的结果写到存储器单元

此时寄存器作为基地址

数组A 的基值放在寄存器r3, 请将下面c 语句翻译成ARM 汇编语言

因ARM 也是字节寻址。3条ARM 汇编语言指令形式如下: