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

2018年西安石油大学计算机学院808计算机综合之计算机组成原理考研仿真模拟五套题

  摘要

一、简答题

1. 说明总线结构对计算机系统性能的影响。

【答案】总线结构对计算机系统的性能影响有以下四点:

(1)简化了硬件的设计。从硬件的角度看,面向总线是由总线接口代替了专门的

由总线规范给出了传输线或信号的规定,并对存储器、设备和

的规定,所以,面向总线的微型计算机设计只要按照这些规定制作插件等,将它们连入总线即可工作,而不必考虑总线的详细操作。

(2)简化了系统结构。整个系统结构清晰,连线少,底板连线可以印刷化。

(3)系统扩充性好。一是规模扩充,二是功能扩充。规模扩充仅仅需要多插一些同类型的插件;功能扩充 仅仅需要按总线标准设计一些新插件,插件插入机器的位置往往没有严格的限制。这就使系统扩充既简单又快速可靠,而且也便于查错。

(4)系统更新性能好。存储器、接口等都是按总线规约挂到总线上的,故只要总线设计恰当,可以随时随着处理器芯片以及其他有关芯片的进展设计新的插件,对系统进行更新,且这种更新只需更新需要更新 的插件,其他插件和底板连线一般不需更改。

接口,如何挂在总线上都作了具体插件、存储器插件以及

二、综合应用题

2. 设有6个有序表A 、B 、C 、D 、E 、F , 分别含有10、35、40、50、60和200个数据元素,各表中元素按升序排列。要求通过5次两两合并,将6个表最终合并成1个升序表,并在最坏情况下比较的总次数达到最小。请回答下列问题。

(1)给出完整的合并过程,并求出最坏情况下比较的总次数。

(2)根据你的合并过程,描述个不等长升序表的合并策略,并说明理由。

【答案】(1)6个表的合并顺序如下图所示。

对应于合并过程的哈夫曼树

根据上图中的哈夫曼树,6个序列的合并过程为:

第1次合并:表A 与表B 合并,生成含45个元素的表AB ;

第2次合并:表AB 与表C 合并,生成含85个元素的表ABC ;

第3次合并:表D 与表E 合并,生成含110个元素的表DE ;

第4次合并:表ABC 与表DE 合并,生成含195个元素的表ABCDE ;

第5次合并:表ABCDE 与表F 合并,生成含395个元素的最终表。

由于合并两个长度分别为m 和n 的有序表,最坏情况下需要比较m+n-1次,故最坏情况下比较的总次数计算如下:

第1次合并:最多比较次数=10+35-1=44;

第2次合并:最多比较次数=45+40-1=84;

第3次合并:最多比较次数=50+60-1=109;

第4次合并:最多比较次数=85+110-1=194;

44+84+109+194+394=825。 第5次合并:最多比较次数=195+200-1=394; 比较的总次数最多为:

(2)各表的合并策略是:在对多个有序表进行两两合并时,若表长不同,则最坏情况下总的比较次数依赖于表的合并次序。可以借用哈夫曼树的构造思想,依次选择最短的两个表进行合并,可以获得最坏情况下最佳的合并效率。

解析:本题具有较强的综合性,主要考查了构造哈夫曼树的算法思想和过程、归并排序的过程等。

3. 假定在一个8位字长的计算机中运行下列C 程序段:

若编译器编译时将8个8位寄存器分别分配给变量x 、y 、m 、n 、zl 、z2、kl 和k2。请回答下列问题。(提示:带符号整数用补码表示)

(1)执行上述程序段后,寄存器Rl 、R5和R6的内容分别是什么?(用十六进制表示) (2)执行上述程序段后,变量m 和kl 的值分别是多少?(用十进制表示)

(3)上述程序段涉及带符号整数加/减、无符号整数加/减运算,这四种运算能否利用同一个加法器及辅助电路实现? 简述理由。

(4)计算机内部如何判断带符号整数加/减运算的结果是否发生溢出? 上述程序段中,哪些带

符号整数运算语句的执行结果会发生溢出?

【答案】(1)无符号整

(2)m 的机器数与x 的机器数相同为

示)时,其值为-1111010B=-112;

(3)四种运算可以利用同一个加法器及辅助电路实现,n 位加法器实现的是模无符号整数加法运算。对于无符号整数a 和b , a+b可以直接用加法器实现,而

带符号整数用补码表示,补码加减运算公实现;对于式为

:解释为带符号整数(用补码表示)时,数运算

其值为-1111010B=-412; 同理kl=(m-n )=(x-y )=90H=10010000B, 解释为带符号整数(用补码表

,所以四种运算都可在n 位加法器中实现。

(4)判断溢出的方法有3种:一位符号位、进位位和双符号位。上述程序段中只有intk2=m+n语句会发生溢出,因为2个带符号整数均为负数,它们相加之后,结果小于8位二进制所能表示的最小负数。

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

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

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

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

(4)若程序BP 执行过程中,共执行了100条指令,平均每条指令需进行

缺失率为5%,不考虑替换等开销,则BP 的CPU 执行时间是多少?

【答案】(1)因为CPU 主频为800MHz ,故CPU 的时钟周期为:

总线时钟频率为200MHz ,故总线的时钟周期为:

总线宽度为32bit=4B,故总线带宽为

存块。

(3)—次读突发传送总线事务包括一次地址传送和32B 数据传送:用1个总线时钟周期传输地址; 每隔40nS/8=5m启动一个体工作(各进行1次存取),第一个体读数据花费40m ,之后数据存取与数据传输重叠;用8个总线时钟周期传输数据。读突发传送总线事务时间

BP 的CPU 执行时间包括Cache 命中时的指令执行时间和Cache 缺失时带来的额外开销。(4)

即执行时间=指令条数*CPI*时钟周期*命中率+访存次数*缺失率*缺失损失。命中时的指令执行时

次访存,Cache (2)因为Cache 块大小为32B , 因此Cache 缺失时需要一个读突发传送总线事务读取一个贮