科目期末试卷A(有答案)
一、选择题
1、根据存储内容来进行存取的存储器称为( )。 A.双端口存储器B.相联存储器C.交叉存储器D.串行存储器
2、有效容量为128KB的Cache,每块16B,8路组相联。字节地址为1234567H的单元调入该Cache,其tag应为( )。
A.1234H B.2468H C.048DH D.12345H
3、并行加法器中,每位全和的形成除与本位相加两数数值位有关外,还与( )有 A.低位数值大小 B.低位数的全和 C.高位数值大小 D.低位数送来的进位
4、串行运算器结构简单,其运算规律是( )。 A.由低位到高位先行进行进位运算 B.由低位到高位先行进行借位运算 C.由低位到高位逐位运算 D.由高位到低位逐位运算 5、有如下C语言程序段:( )
short si=-32767;unsigned short usi=si;执行上述两条语句后,usi的值为 A.-32767 B.32767 C.32768 D.32769
6、控制总线主要用来传送( )。 I.存储器和1/O设备的地址码 II.所有存储器和I/O设备的时序信号 III.所有存储器和1/O设备的控制信号 IV.来自I/O设备和存储器的响应信号
A.II、III B. I,III,IV C. III,IV D.II,III. IV 7、在( )结构中,外部设备可以和主存储器单元统一编址。 A.单总线 B.双总线 C.三总线 D.以上都可以
8、假设基准程序A在某计算机上的运行时间为100s,其中90s为CPU时间,其余为/O时间。若CPU速度提高50%,V/O速度不变,则运行基准程序A所耗费的时间是( )。 A.55s B.60s C.65 s D.70s 9、完整的计算机系统应该包括( )。 A.运算器、存储器、控制器 B.外部设备和主机 C.主机和应用程序
D.主机、外部设备、配套的软件系统
10、微程序控制器的速度比硬布线控制器慢,主要是因为( )。 A.增加了从磁盘存储器读取微指令的时间 B.增加了从主存储器读取微指令的时间 C.增加了从指令寄存器读取微指令的时间 D.增加了从控制存储器读取微指令的时问
11、下面是段MIPS指令序列:
add $a3, $s1, $s0 #R[$t3] ←R[$s1] +R($s0] add $t2, $s0, $s3 #R[$t2]←R[$s0] +R [$s3] Lw $t1,0($t2) #R[$t1] ←M[R[$t2] +0] add $t1, $t1, $t2 #R[$t1] ←R[$t1]+R[$t2] 以上:指令序列中,指令之间发生数据相关?( ) A.1和2,2和3 B.1和2,2和4
C.1和3,2和3,2和4,3和4 D.1和2,2和3,2和4,3和4
12、下列寻址方式中,最适合按下标顺序访问一维数组的是( )。 A.相对寻址 B.寄存器寻址 C.直接寻址 D.变址寻址
13、下列关于各种寻址方式获取操作数快慢的说法中,正确的是( )。 I.立即寻址快于堆栈寻址 Ⅱ.堆栈寻址快于寄存器寻址 Ⅲ.寄存器一次间接寻址快于变址寻址 Ⅳ.变址寻址快于一次间接寻址
A. I、IV B.Ⅱ、Ⅲ C.I、Ⅲ、IV D.Ⅲ、Ⅳ
14、下列关于中断I/O方式和DMA方式比较的叙述中,错误的是( ) A.中断I/O方式请求的是CPU处理时间,DMA方式请求的是总线使用权 B.中断响应发生在一条指令执行结束后,DMA响应发生在一个总线事务完成后
C.中断I/O方式下数据传送通过软件完成,DMA方式下数据传送由硬件完成 D.中断I/O方式适用于所有外部设备,DMA方式仅适用于快速外部设备 15、下列选项中,能引起外部中断的事件是( )。
A.键盘输入 B.除数为0 C.浮点运算下溢 D.访存缺贞
二、填空题
16、一个定点数由_______和_______两部分组成。 17、RISC的中文含义是______,CISC的中文含义是______
18、汉字的_______、_______ 、_______是计算机用于汉字输入、内部处理、输出三种不同用途的编码。
19、通道是一个特殊功能的______,它有自己的______专门负责数据输入输出的传输控制。 20、中断处理过程可以嵌套进行,_________的设备可以中断_________的中断服务程序。 21、总线同步定时协议中,事件出现在总线的时刻由________信号确定,总线周期的长度是________的。
22、并行I/O接口_______和串行I/O接口_______是两个目前最具权威性和发展前景的标准接
23、广泛使用的_______和_______都是半导体随机读写存储器,它们共同的缺点是_______ 24、微程序设计技术是利用________方法设计________的一门技术。 25、目前的CPU包括________、 ________和cache、
三、名词解释题
26、寄存器:
27、微操作:
28、RAM:
29、气泡式喷墨打印机:
四、简答题
30、指令和数据均存放在内存中,计算机如何从时间和空间上区分它们是指令还是数据。
31、计算机指令中一般包含哪些字段?各有什么作用?
32、什么叫指令?什么叫微指令?二者有什么关系?
33、Cache做在CPU芯片内有什么好处?将指令Cache和数据Cache分开又有什么好处?
五、计算题
34、一个直接映射的Cache有128个字块,主机内存包含16K个字块,每个块有16个字,访问Cache的时间是10ms,填充一个Cache字块的时间是200ms,Cache的初始状态为空。
1)如果按字寻址,请定义主存地址字段格式,给出各字段的位宽; 2)CPU从主存中依次读取位置16~210的字,循环读取10次,则访问Cache的命中率是多少?
3)10次循环中,CPU平均每次循环读取的时间是多少?
35、某计算机采用5级指令流水线,如果每级执行时间是2ns,求理想情况下该流水线的加速比和吞吐率。
36、设主存容量为lMB,Cache容量为l6KB,每字块有16个字,每字32位,且按字节编址。
1)若Cache采用直接映射,试求主存地址字段中各段的位数。 2)若Cache采用4路组相联映射,试求主存地址字段中各段的位数。
六、综合题
37、假设指令流水线分取指(FI)、译码(ID)、执行(EX)、回写(WR)4个过程段,共有10条指令连续输入此流水线。
1)画出指令周期流程。 2)画出非流水线时空图。 3)画出流水线时空图。
4)假设时钟周期为100ns,求流水线的实际吞吐率。 5)求该流水处理器的加速比。
38、某计算机的主存地址空间大小为256MB,按字节编址。指令Cache和数据Cache分离,均有8个Cache行,每个Cache行大小为64B,数据Cache采用直接映射方式。现有两个功能相同的程序A和B,其伪代码如下所示: 假定
int类型数据用32位补码表示,程序编译时,i、j、sum均分配在寄存器中,数组a按行优先方式存放,其首地址为320(+进制)。请回答下列问题,要求说明理由或给出计算过程。
1)若不考虑用于Cache一致性维护和替换算法的控制位,则数据Cache的总容量为多少?
2)数组元素a[0][31]和a[1][1]各自所在的主存块对应的Cache行号分别是多少(Cache行号从0开始)?
3)程序A和B的数据访问命中率各是多少?哪个程序的执行时间更短?
39、若某计算机有5级中断,中断响应优先级为1>2>3>4>5,而中断处理优先级为1>4>5>2>3,要求:
1)设计各级中断服务程序的中断屏蔽位(假设1为屏蔽,0为开放)。
2)若在运行用户程序时,同时出现第2、4级中断请求,而在处理第2级中断过程中,又同时出现1、3、5级中断请求,试画出此时CPU运行过程示意图。
参考答案
一、选择题
1、B 2、C 3、D 4、C 5、D 6、D 7、A 8、D 9、D 10、D、 11、D 12、D 13、C 14、D 15、A
二、填空题
16、符号位 数值域
17、精简指令系统计算机复杂指令系统计算机
18、输入编码(或输入码) 内码(或机内码) 字模码 19、处理器 指令和程序 20、优先级高 优先级低 21、总线时钟 固定 22、SCSI IEEE1394
23、SRAM DRAM 断电后不能保存信息 24、软件 操作控制器 25、控制器 运算器
三、名词解释题
26、寄存器:
是运算器中若干个临时存放数据的部件,由触发器构成,用于存储最频繁使 27、微操作:
在微程序控制器中,执行部件接受微指令后所进行的操作。 28、RAM:
随机访问存储器,能够快速方便的访问地址中的内容,访问的速度与存储位置无关。 29、气泡式喷墨打印机:
一种非击打式打印设备,喷头通过电加热,使墨水在蒸气的作用下从喷头射到纸上。
四、简答题
30、答:时间上讲,取指令事件发生在“取指周期”,取数据事件发生在“执行周期”。从空间上讲,从内存读出的指令流流向控制器(指令寄存器)。从内存读出的数据流流向运算器(通用寄存器)。
31、答:包含地址码和操作吗;操作码表示操作的类型;地址码一半表示操作数和操作结果的存储位置
32、答:指令,即指机器指令。每一条指令可以完成一个独立的算术运算或逻辑运算操作。控制部件通过控制线向执行部件发出各种控制命令,通常把这种控制命令叫做微命令,而一组实现一定操作功能的微命令的组合,构成一条微指令。许多条微指令组成的序列构成了微程序,微程序则完成对指令的解释执行。
33、答:Cache做在CPU芯片内主要有下面几个好处:
1)可提高外部总线的利用率。因为Cache在CPU芯片内,CPU访问Cache时不必占用外部总线。
2)Cache不占用外部总线就意味着外部总线可更多地支持I/0设备与主存的信息传输,增强了系统的整体效率。
3)可提高存取速度。因为Cache与CPU之间的数据通路大大缩短,故存取速度得以提高。
将指令Cache和数据Cache分开有如下好处:
1)可支持超前控制和流水线控制,有利于这类控制方式下指令预取操作的完成。 2)指令Cache可用ROM实现,以提高指令存取的可靠性。
3)数据Cache对不同数据类型的支持更为灵活,既可支持整数(例32位),也可支持浮点数据(如64位)。
五、计算题
34、解析:
1)按字寻址,每个块有16个字,故字块内地址为4位。Cache有128个字块,故Cache字块地址为8位。主存包含16K个字块,故主存地址总共14位。则主存字块标记位数为14-8-位。
4=2
2)Cache中每个块16个字,故16~210位置的字,按照直接映射可分别放入Cache的第1~13块。由于Cache的初始状态为空,循环读取10次时,第一次循环第16、32、48、64、…、208位置的字均末命中,共13次,其他位置均命中,后面9次循环每个字都命中。故Cache的命中率为1-13/(195×10)=99.3%。 3)第一次循环需要填充Cache13次,访问Cache 195-13=182次,总时间为200ns×13+10ns×182=4420ms。其余9次循环只需访问Cache195次,总时间为195×10ns×9=17550ns。故平均访问时间为(17550ns+4420ns)/10=2197ns。
35、44.解析:流水线的加速比指采用流水线技术时指令的执行速度与等效的不采用流水线技术的指令执行速度之比,理想情况加速比等于流水线的级数。吞吐率指每秒钟能处理的指令数量。本题中计算机采用5级指令流水线,所以理想情况下加速比等于5。现在每完成一条指令的时间是2ns,则最大吞吐率等于1/2ns=5×108。
36、解析:
1)若Cache采用直接映射。由于每个字块含有16个字(64B),且按字节编址,因此字块内的位数(块内地址位数)为6位。另外,由于Cache中含有256个块(16KB/16×4B),因此字块地址位数为8位。主存容量1MB,说明总位数为20位,因此主存字块标记位数为20-6-8=6位。主存的地址格式如下:
2)若Cache采用4路组相联映射。同理,块内地址位数为6位。由于采用4路组相联映射,即每组4块,因此一共有64组,即组号需要6位。很容易得到主存字块标记位数为20-6-6=8位。主存的地址格式如下:
六、综合题
37、解析:
1)指令周期包括FI、ID、EX和WR这4个子过程,则指令周期流程如图a所示。 2)非流水线时空图如图b所示。假设一个时间单位为一个时钟周期,则每隔4个时钟周期才有一个输出结果。
3)流水线时空图如图c所示。由图c可见,第一条指令出结果需要4个时钟周期。当流水线满载时,以后每一个时钟周期可以出一个结果,即执行完一条指令。 4)由图c所示的10条指令进入流水线的时空图可见,在13个时钟周期结束时,CPU执行完10条指令,故实际吞吐率为10条指令/(100ns×13)=0.77×107条指令/s。
5)在流水处理器中,当任务饱满时,指令不断输入流水线,不论是几级流水线,每隔个时钟周期都输出一个结果。对于本题4级流水线而言,处理10条指令所需的时钟周期数=4+(10-1)=13,而非流水线处理10条指令需4×10=40个时钟周期,所以该流水处理器的加速比为40/13=3.08
38、解析:1)Cache结构如下。
V … Tag Data 此处的行即为块(Block)。直接映射下,每块的Cache结构一般分为4个部分,其中,V:1位,表示所在的块是否有效。
…:表示用于Cache一致性维护和替换算法的控制位。 TAG:地址转换标记。
如果不计算“…”部分,则Cache的大小由V、Tag和Data(数据)3部分组成。在直接映射中,可以将地址分为如下3个部分:
Tag 快索引 块内 本题中,总的寻址位数为28位(228=256M):块内位为6位(25-64),5~0位;块索引为3位(23=8),8~6位。因此,Tag=28-6-3=19位,即27~9位。
每行(块)的大小=V+Tag+数据=1+19+64×8位。 数据Cache有8行,总容量为(1+19+64×8)×8/8=532B。
2)由于数组在存储器中按行优先方式存放,因此每个数组元素占4B。数组首地址为320,因此可知:
a[0][31]在存储器中的地址为320+31×4=444=0001 10111100B
a[l][1]在存储器中的地址为320+(256+1)×4=1348=010101000100B按直接映射方式,地址分为3部分,块索引在地址的8~6位,因此两地址所对应的块索引分别为6(110B)、5(101B)。
3)数组a中每个数据只用了一次,如果程序没有命中,则从主存中读入一块,大小64B,相当于16个整数。对于程序A,如果是按行连续存放的,那么从主存读入一块到Cache(一次失配)后,随后的15次便都Cache命中,读一次管16次,因此命中率为
[(216-212)/216]×100%=93.75%
程序B随列访问数组a,由于Cache的容量太小,读入的数据块留不到下次用便又被替换,因此每次都失败,命中率为0%。
另一种算法是,由于数组a一行的数据量为1KB>64B,因此访问第0行时,每个元素都不命中,由于数组有256列,数据Cache仅有8行,故访问数组后续列元素仍然不命中,于是程序B的数据访问命中率为0%。
由于从Cache 读数据比从内存读数据快很多,因此程序A的执行时间更短。 分析:
1)V、Tag、Data是每个Cache块(行)的必要组成。为了提高效率或者实行替换算法,每个块还需要一些控制位,这些位根据不同的设计要求而定。
2)本题中计算两个数组元素的地址是关键。
3)命中率的计算是本问题的关键。注意数组访问与数组在内存中的存储方式,以及命中率的定义。
39、解析:
1)中断屏蔽是用来改变中断处理优先级的,因此这里应该是使中断屏蔽位实现中断处理优先级为1>4>5>2>3。也就是说,1级中断的处理优先级最高,说明1级中断对其他所有中断都屏蔽,其屏蔽字为全1:3级中断的处理优先级最低,所以除了3级中断本身之外,对其他中断全都开放,其屏蔽字为00100。以此类推,得到所有各级中断的中断服务程序中设置的中断屏蔽字见下表。
2)CPU运行程序的执行过程如下图所示。
具体过程说明如下:在运行用户程序时,同时出现2、4级中断请求,因为用户程序对所有中断都开放,所以,在中断响应优先级排队电路中,有2、4两级中断进行排队判优,根据中断响应优先级2>4,因此先响应2级中断。在CPU执行2级中断服务程序过程中,首先保护现场、保护旧屏蔽字、设置新的屏蔽字01100,然后,在具体中断处理前先开中断。一旦开中断,则马上响应4级中断,因为2级中断屏蔽字中对4级中断的屏蔽位是0,即对4级中断是开放的。在执行4级中断结束后,回到2级中断服务程序执行:在具体处理2级中断过程中,同时发生了1、3、5级中断请求,因为2级中断对1、5级中断开放,对3级中断屏蔽,所以只有1和5两级中断进行排队判优,根据中断响应优先级1>5,所以先响应1级中断。因为1级中断处理优先,级最高,所以在其处理过程中不会响应任何新的中断请求,直到1级中断处理结束,然后返回2级中断:因为2级中断对5级中断开放,所以在2级中断服务程序中执行一条指令后,义转去执行5级中断服务程序,执行完后回到2级中断,在2级中断服务程序执行过程中,虽然3级中断有请求,但是,因为2级中断对3级中断不开放,所以,3级中断一直得不到相应。直到2级中断处理完回到用户程序,才能响应并处理3级中断。
因篇幅问题不能全部显示,请点此查看更多更全内容