搜索
您的当前位置:首页正文

2021年西南石油大学计算机应用技术专业《计算机组成原理》科目期末试卷B(有答案)

来源:意榕旅游网
2021年西南石油大学计算机应用技术专业《计算机组成原理》科目期

末试卷B(有答案)

一、选择题

1、下列关于页式虚拟存储器的论述,正确的是( )。 A.根据程序的模块性,确定页面大小 B.可以将程序放置在页面内的任意位置

C.可以从逻辑上极大地扩充内存容量,并且使内存分配方便、利用率高 D.将正在运行的程序全部装入内存

2、关于LRU算法,以下论述正确的是( )。

A.LRU算法替换掉那些在Cache中驻留时间最长且未被引用的块 B.LRU算法替换掉那些在Cache中驻留时间最短且未被引用的块 C.LRU算法替换掉那些在Cache中驻留时间最长且仍在引用的块 D.LRU算法替换掉那些在Cache中驻留时间最短且仍在引用的块 3、下列说法正确的是( )。

A.当机器采用补码表示时,0有两种编码方式 B.当机器采用原码表示时,0有两种编码方式 C.当机器采用反码表示时,0有一种编码方式 D.无论机器数采用何种码表示,0都有两种编码方式

4、假设有7位信息码010101,则低位增设偶校验位后的代码和低位增设奇校验位后的代码分别为( )。

A.01101010 01101010 B.0101010 01101011

C.01101011 01101010 D.01101011 01101011

5、某数采用IEEE754标准中的单精度浮点数格式表示为C6400000H,则该数的值是( )。

A.-1.5×213 B.-1.5×212 C.-0.5×213 D.-0.5×212

6、假设某存储器总线采用同步通信方式,时钟频率为50MHz,每个总线事务以突发方式传输8个字,以支持块长为8个字的Cache行读和Cache行写,每字4B.对于读操作,方式顺序是1个时钟周期接收地址,3个时钟周期等待存储器读数,8个时钟周期用于传输8个字。请问若全部访问都为读操作,该存储器的数据传输速率为( )。 A.114.3MB/s B.126.0MB/s C.133.3MB/s D.144.3MB/s

7、某机器I/O设备采用异步串行传送方式传送字符信息,字符信息格式为1位起始位、8位数据位、1位校验位和1位停止位。若要求每秒传送640个字符,那么该设备的有效数据传输率应为( )。

A.640b/s B.640B/s C.6400B/s D.6400b/s 8、完整的计算机系统应该包括( )。 A.运算器、存储器、控制器 B.外部设备和主机 C.主机和应用程序

D.主机、外部设备、配套的软件系统

9、在计算机系统中,作为硬件与应用软件之间的界面是( )。 A.操作系统 B.编译程序 C.指令系统 D.以上都不是

10、微指令操作控制字段的每一位代表一个控制信号,这种微程序的控制方式叫作( ) A.字段直接编码 B.字段间接编码 C.混合编码 D.直接编码

11、某计算机采用微程序控制器,共有32条指令,公共的取指令微程序包含2条微指令,各指令对应的微程序平均由4条微指令组成,采用断定法(下地址字,段法)确定下条微指令地址,则微指令中下地址字段的位数至少是( )。 A.5 B.6 C.8 D.9

12、用二地址指令来完成算术运算时,其结果一般存放在( )。 A.其中一个地址码提供的地址中 B.栈顶

C.累加器(ACC)中 D.以上都不对

13、设指令由取指、分析、执行3个子部件完成,每个子部件的工作周期均为At,采用常规标量流水线处理器。若连续执行l0条指令,则需要的时间为( )。 A.8∆t B.10∆t C.12∆t D.14∆t 14、计算机的外部设备指( ) A.输入/输出设备 B.外存储器

C.输入/输出设备和外存储器

D.以上均不正确

15、下列选项中,能引起外部中断的事件是( )。

A.键盘输入 B.除数为0 C.浮点运算下溢 D.访存缺贞

二、填空题

16、CPU能直接访问_______和_______,但不能直接访问磁盘和光盘。

17、由于存储器芯片的容量有限,所以往往需要在______和______两方面进行扩充才能满足实际需求。

18、主存储器的性能指标主要是_______、_______存储周期和存储器带宽。 19、不同机器有不同的_________RISC指令系统是_________指令系统的改进。 20、存储_______并按_______顺序执行,这是冯·诺依曼型计算机的工作原理。 21、计算机系统中,根据应用条件和硬件资源不同,数据传输方式可采用______传送、______传送、______传送。

22、当今的CPU芯片除了包括定点运算器和控制器外,还包括_______、_______运算器和_______管理等部件。

23、一位十进制数,用BCD码表示需要________位二进制码,用ASCII码表示需要________位二进制码。

24、为了运算器的高速性,采用了________进位,________乘除法,________等并行技术措施。

25、汉字的________、________、________是计算机用于汉字输入、内部处理、输出三种不同用途的编码。

三、名词解释题

26、数据:

27、双重分组跳跃进位:

28、PROM:

29、消息传输方式:

四、简答题

30、在什么条件下,I/0设备可以向CPU提出中断请求?

31、什么是堆栈?说明堆栈指针SP的作用。

32、半导体存储器芯片的译码驱动方式有几种?

33、比较水平微指令与垂直微指令的优缺点。

五、计算题

34、设有一个64K×8位的RAM芯片,试问该芯片共有多少个基本单元电路(简称存储基元)?欲设计一种具有上述同样多存储基元的芯片,要求对芯片字长的选择应满足地址线和数据线的总和为最小,试确定这种芯片的地址线和数据线,并说明有几种解答。

35、设有主频24MHz的CPU,平均每条指令的执行时间为两个机器周期,每个机器周期由两个时钟周期组成,试求: 1)机器的工作速度。

2)假如每个指令周期中有一个是访存周期,需插入两个时钟周期的等待时间,求机器的工作速度。

解:

36、假定硬盘传输数据以32位的字为单位,传输速率为IMB/s。CPU的时钟频率为50MHz

1)采用程序查询的输入/输出方式,假设查询操作需要100个时钟周期,求CPU为I/O查询所花费的时间比率,假定进行足够的查询以避免数据丢失。

2)采用中断方法进行控制,每次传输的开销(包括中断处理)为100个时钟周期。求CPU为传输硬盘数据花费的时间比重。

3)采用DMA控制器进行输入/输出操作,假定DMA的启动操作需要1000个时钟周期,DMA完成时处理中断需要500个时钟周期。如果平均传输的数据长度为4KB,问在硬盘工作时处理器将用多少时间比重进行输入/输出操作,忽略DMA申请使用总线的影响。

六、综合题

37、在信号处理和科学的应用中,转置矩阵的行和列是一个很重要的问题。从局部性的角度来看,它也很有趣,因为它的引用模式既是以行为主的,也是以列为主的,例如,考虑下面的转置函数:

1.Tped ef int array a[2][2]; 2.

3 .void transposel(array dst,array src) 4.{

5. int i,j;

6.for(i=0;i<2;1++){ 7. for(j=0;j<2;j++){ 8. dst[j] [i]=src[i] [j]; 9. } 10. } 11. }

假设在一台具有如下属性的机器上运行这段代码: sizeof(int)==4。

src数组从地址0开始,dst数组从地址16开始(十进制)。

只有一个L1数据高速缓存,它是直接映射的、直写、写分配,块大小为8个字节。

这个高速缓存总的大小为16个数据字节,一开始是空的。 对src和dst数组的访问分别是读和写不命中的唯一来源。 问题如下:

1)对每个row和col,指明对src[row][col]和dstfrow][col]的访问是命中(h)还是不命中(m),例如,读src[0][0]会不命中,写dst[0][0]也不命中,并将结果填至下列表格中。

2)对于一个大小为32数据字节的高速缓存,指明src和dst的访问命中情况,并将结果填至下列表格中。

38、某16位计算机中,带符号整数用补码表示,数据Cache和指令Cache分离。表5-6给出了指令系统中部分指令格式,其中Rs和Rd表示寄存器,mem表示存储单元地址,(x)表示寄存器x或存储单元x的内容。

该计算机采用5段流水方式执行指令,各流水段分别是取指IF、译码/读寄存器ID、执行/计算有效地址EX、访问存储器M、结果写回寄存器WB,流水线采用“按序发射,按序完成”方式,没有采用转发技术处理数据相关,并且同一寄存器的读和写操作不能在同一个时钟周期内进行。请回答下列问题。

1)若int型变量x的值为-513,存放在寄存器RI中,则执行指令\"SHRRI”后,R1的内容是多少?要求用十六进制表示。

2)若某个时间段中,有连续的4条指令进入流水线,在其执行过程中没有发生任何指令段阻塞,则执行这4条指令所需的时钟周期数为多少?

3)若高级语言程序中某赋值语句为x=a+b.x、a和b均为int型变量,它们的存储单元地址分别为[x]、[a]和[b]。该语句对应的指令序列如下,其在指令流水线中的执行过程见表

这4条指令执行过程中,13的ID段和14的IF段被阻塞的原因各是什么?

4)若高级语言程序中某赋值语句为x=2*x+a,x和a均为unsigned int型变量,它们的存储单元地址分别表示为[xJ、[a]。执行这条语句至少需要多少个时钟周期?要求模仿表画出这条语句对应的指令序列及其在流水线中的执行过程示意图。

39、图是从实时角度观察到的中断嵌段。试问:这个中断系统可实现几重中断?请分析图中的中断过程。

参考答案

一、选择题

1、C 2、A 3、B 4、B 5、A 6、C 7、B 8、D 9、A 10、D、 11、C 12、A 13、C 14、C 15、A

二、填空题

16、cache 主存

17、存取时间 存储周期 存储器带宽

18、存储容量 存取时间 19、指令系统 CISC 20、程序 地址 21、并行 串行 复用 22、cache 浮点 存储 23、4 7

24、先行 阵列 流水线 25、输入编码 内码 字模码

三、名词解释题

26、数据:

编码形式的各种信息,在计算机中作为程序的操作对象。 27、双重分组跳跃进位:

n位全加器分成若干大组,大组内又分成若干小组,大组中小组的最高进位同时产生,大组与大组间的进位串行传送。 28、PROM:

可编程的ROM,可以被用户编程一次。 29、消息传输方式:

总线的信息传输方式之一,将总线需要传送的数据信息、地址信息,和控制信息等组合成一个固定的数据结构以猝发方式进行传输。

四、简答题

30、答:I/0设备向CPU提出中断请求的条件是:I/0接口中的设备工作完成状态为1(D=1),中断屏蔽码为0(MASK=0),且CPU查询中断时,中断请求触发器状态为1(INTR=1)。

31、答:是一种按先进后出的顺序进行存取的数据结构或存储区域。Sp是用来存放最后进堆栈的位置的寄存器;

32、答:半导体存储器芯片的译码驱动方式有两种:线选法和重合法。线选法:地址译码信号只选中同一个字的所有位,结构简单,费器材;重合法:地址分行、列两部分译码,行、列译码线的交叉点即为所选单元。这种方法通过行、列译码信号的重合来选址,也称矩阵译码。可大大节省器材用量,是最常用的译码驱动方式。

33、答:(1)水平型微指令并行操作能力强、效率高、灵活性强,垂直型微指令则较差。(2)水平型微指令执行一条指令的时间短,垂直型微指令执行时间长。(3)由水平型微指令解释指令的微程序,具有微指令字比较长,但微程序短的特点,而垂直型微指令正好相反。(4)水平型微指令用户难以掌握,而垂直型微指令与指令比较相似,相对来说比较容易掌握

五、计算题

34、解析:存储基元总数=64K×8位=512K位=219位。

思路:如要满足地址线和数据线总和最小,应尽量把存储元安排在字向,因为地址位数和字数成2的幂的关系,可较好地压缩线数。

设地址线根数为a,数据线根数为b,则片容量为2a×b=219;b=219-a。 若a=19,b=l,总和=19+1=20; 若a=18,b=2,总和=18+2=20; 若a=17,b=4,总和=17+4=21; 若a=16,b=8,总和=16+8=24;

由上可看出,片字数越少,片字长越长,引脚数越多。片字数、片位数均按2的幂变化。

通过证明也是能得出结论的,我们要最小化a+b=a+219-4。

令F(a)=a+b=a+219-4,对a求导后,得到1-ln2×a×29。

在1≤a≤l8时,F是单调递减函数,所以在这个区间最小值为F(18)=20,剩下F(19)=20。

所以得出结论:如果满足地址线和数据线的总和为最小,这种芯片的引脚分配方案有两种:地址线=19根,数据线=1根;地址线=18根,数据线=2根。

35、1)主频为24MHz的意思是每秒中包含24M个时钟周期,又因为执行一条指令需要4个时钟周期,故机器每秒可以执行的指令数为24M/4=6M条(600万条)。

2)插入两个时钟周期,即执行每条指令需要6个时钟周期,故机器每秒可以执行的指令数为24M/6=4M条,即400万条。

36、解析:本题考查计算机的性能指标和I/O方式。先计算每次传输过程的平均时间,然后根据程序查询、中断和DMA方式的特点计算外设I/O的时间占整个CPU时间的百分比。

1)采用程序查询的输入/输出方式,硬盘查询的速率为1MB/4B=250k(每秒查询次数)。

查询的时钟周期数为250k×100=25 000k. 占用的CPU时间比率为25 000k/50M=50%。

2)采用中断方法进行控制,每传送一个字需要的时问为(32bit/8)÷1MB/s=4𝜇s.

CPU 时钟周期为1/50MHz=0.02μs. 得到时间比重为100×0.02/4=50%。

3)采用DMA控制器进行输入/输出操作,平均传输的数据长度为4KB.传送的时间为4KB÷1MB/s=4ms在DMA传输的过程中,CPU不需要进行操作,所以CPU为传输硬盘数据花费的时间比重为0.02×1500/(4000+0.02×1 500)=0.74%.

六、综合题

37、解析:

1)解决这个问题的关键是想象出如图所示的关系图。

注意:每个高速缓存行只包含数组的一个行,高速缓存正好只够保存一个数组,而且对王所有isrc和dst的行i都映射到同一个高速缓存行(0%2=0,1%2=1,2%2=0,3%2=1)。

因为高速缓存不够太,不足以容纳这两个数组,所以对一个数组的引用总是驱逐出另一个数组的有用的行。具体过程如下:

dst[j] [i]=src[i] [j]语包先访问 src[i][i]再将其存储到dst[j] [i]

说明如下:

①访问src[0][0],不命中,将src[0]调入高速缓存的Line0。

②访问dst[0][0],不命中,将dst[0]调入高速缓存的Line0,换出src[0]。 ③访问src[0][1],不命中,将src[0]调入高速缓存的Line0,换出dst[0]。 ④……

2)当高速缓存为32B时,它足够大,能容纳这两个数组。因此所有不命中都是开始时的不命中。关系如图所示。

38、解析:

1)x的值为-513,可求得[x]原=1000 0010 0000 0001B,除符号位外,各位取反加1.可以求得[x]补=1111 11011111 1111B.转换成十六进制表示为:FDFFH。可以得到,指令执行前R1中存放的内容为:FDFFH。执行指令“SHR R1\",表示将寄存器RI的内容算术右移1位,右移1位之后的结果为:1111 111011111111B,将其转换成十六进制表示为:FEFFH,所以,执行指令“SHRRI”后,R1的内容是FEFFH。

2)除了第1条指令需要5个时钟周期输出结果外,后面的3条指令都只需要一个时钟周期就可以输出结果,所以至少需要5+(4-1)x1=8个时钟周期。 3)各条指令语句的含义如下:

I1 LOAD R1,[a] //将[a]单元中的内容取出,送入寄存器R1中 I2 LOAD R2,[b] //将[b]单元中的内容取出,送入寄存器R2中 I3 ADD R1,R2 //将R1和R2单元中的内容取出,送入寄存器R2中 I4 STORE R2,[x] //将寄存器R2单元中的内容取出,送入[x]中

很明显,指令I 3需要指令I 1与指令I 2的数据,所以存在数据相关,指令I 3必须等到指令I 1、I2的结果分别写回寄存器RI和R2,才能执行读寄存器操作,所以I 3的ID段被阻塞。另外,由于指令I3在ID段被阻塞,导致指令I4不能完成取指令操作,因此指令14的IF段被阻塞。

4)该条语句对应的指令序列有两种情况,因为2x操作有加法(对应第一种)和左移(对,应第二种)两种方法实现

对应的执行过程示意图见表

综上所述,执行这条语句至少需要17个时钟周期。

39、解析:该中断系统可以实现5重中断。中断优先级的顺序是,优先权1最高,而现行程序运行于最低优先权(不妨设优先权为6)。图7-21中出现了4重中断,其中断过程如下:现行程序运行到T1时刻,响应优先权4的中断源的中断请求并进行中断服务。到T3时刻,优先权4的中断服务还未结束,但又出现了优先权3的中断源的中断请求,暂停优先权4的中断服务,而响应优先权3的中断。到T4时刻,又被优先权2的中断源所中断,直至T6时刻,返回优先权3的中断服务。到T7时刻,优先权1的中断源发出中断请求并被响应,到T8时刻优先权1中断服务完毕,返回优先权3的服务程序。到T10时刻优先权3中断服务结束,返回优先权4的中断服务。到T11时刻优先权4的中断服务结束,最后返回现行程序。在图中,优先权3的中断服务程序被中断2次,而优先权5的中断请求没有发生。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top