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 汇编语言指令形式如下: