2022年南京邮电大学网络工程专业《计算机组成原理》科目期末试卷B(有答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2022年南京邮电大学网络工程专业《计算机组成原理》科目期末试卷
B(有答案)
一、选择题
1、下面关于计算机Cache的论述中,正确的是()。
A.Cache是一种介于主存和辅存之间的存储器,用于主存和辅存之间的缓冲存储
B.如果访问Cache不命中,则用从内存中取到的字节代替Cache中最近访问过的字节
C.Cache的命中率必须很高,一般要达到90%以上
D.Cache中的信息必须与主存中的信息时刻保持一致
2、Cache用组相联映射,一块大小为128B,Cache共64块,4块分一组,主存有4096块,主存地址共需()位。
A.19
B.18
C.17
D.16
3、在计算机系统中,表明系统运行状态的部件是()。
A.程序计数器
B.指令寄存器
C.程序状态字
D.累加寄存器
4、下列关于配备32位微处理器的计算机的说法中,正确的是()。
该机器的通用寄存器一般为32位
Ⅱ.该机器的地址总线宽度为32位
Ⅲ.该机器能支持64位操作系统
IV.一般来说,64位微处理器的性能比32位微处理器的高
A.I、Ⅱ
B.I、Ⅲ
C.I、Ⅳ
D.I、IⅡ、Ⅳ
5、计算机硬件能够直接执行的是()。
1.机器语言程序IⅡ.汇编语言程序Ⅲ.硬件描述语言程序入
A.仅I
B.仅I、Ⅱ
C.仅I、Ⅲ
D. I、Ⅱ 、Ⅲ
6、在异步通信方式中,一个总线传输周期的过程是()。
A.先传送数据,再传送地址
B.先传送地址,再传送数据
C.只传输数据
D.无法确定
7、某同步总线的时钟频率为100MHz,宽度为32位,地址/数据线复用,每传输一个地
址或数据占用一个时钟周期。
若该总线支持突发(猝发)传输方式,则一次“主存写”总
线事务传输128位数据所需要的时间至少是()。
A.20ns
B.40ns
C.50ns
D.80ns
8、某计算机主存地址空间大小为256MB,按字节编址。
虚拟地址空间大小为4GB,采用页式存储管理,页面大小为4KB,TLB(快表)采用全相联映射,有4个页表项,内容见下图
对虚拟地址03FFF180H进行虚实地址变换的结果是()。
A.015 3180H
B.003 5180H
C.TLB缺失
D.缺页
9、在微程序控制器中,微程序的入口微地址是通过()得到的。
A.程序计数器PC
B.前条微指令
C.PC+1
D.指令操作码映射
10、各种外部设备均通过()电路,才能连接到系统总线上。
A.外设
B.内存
C.中断
D.接口
11、下列选项中,用于设备和设备控制器(I/O接口)之间互连的接口标准是()。
A.PCI
B
C.AGP
D.PCI-Express
12、float类型(即IEEE754标准中的单精度浮点数格式)能表示的最大整数是()。
A.2126-2103
B.2127-2104
C.2127-2105
D.2128-2104
13、组成一个运算器需要多个部件,但下面所列()不是组成运算器的部件。
A.通用寄存器组
B.数据总线
C.ALU
D.地址寄存器
14、下列关于一地址指令的说法正确的是()。
A.只有一个操作数
B.一定有两个操作数,其中一个是隐含的,完成功能(A)OP(ACC)
C.如果有两个操作数,则两个操作数相同,完成功能(A)OP(A)
D.可能有两个操作数,也可能只有一个操作数
15、假设某指令的一个操作数采用变址寻址方式,变址寄存器中的值为007CH,地址007CH中的内容为0124H,指令中给出的形式地址为B000H,地址B000H中的内容为C000H,则该操作数的有效地址为()。
A.B124H
B.Cl24H
C.B07CH
D.CO7CH
二、填空题
16、闪速存储器能提供高性能、低功耗、高可靠性以及_______能力,因此作为_______用于便携式电脑中。
17、寻址方式按操作数的物理位置不同,多使用________型和________型,前者比后者执行速度快。
18、DMA控制器访采用以下三种方法:________、________、________
19、多媒体CPU是带有_______技术的处理器,它是一种多媒体扩展结构技术,特别适合于_______处理。
20、主存储器容量通常以KB表示,其中K=______;硬盘容量通常以GB表示,其中
G=______
21、运算器的两个主要功能是:_______,_______
22、一位十进制数,用BCD码表示需要________位二进制码,用ASCII码表示需要
________位二进制码。
23、主存储器的性能指标主要是存储容量、存取时间、_______和_______
24、流水CPU中的主要问题是_________相关,_________相关和_________相关;为此需要采用相应的技术对策,才能保证流水畅通而不断流。
25、计算机系统中,根据应用条件和硬件资源不同,数据传输方式可采用______传送、______传送、______传送。
三、名词解释题
26、向量地址:
27、串行传输:
28、运算器:
29、组相联映象:
四、简答题
30、什么是刷新存储器?其存储容量与什么因素有关?
31、在什么条件和什么时间,CPU可以响应I/0的中断请求?
32、在计算机中,CPU管理外围设备有几种方式?
33、基本的DMA控制器的主要部件有哪些?
五、计算题
34、设有一个64K×8位的RAM芯片,试问该芯片共有多少个基本单元电路(简称存储基元)?欲设计一种具有上述同样多存储基元的芯片,要求对芯片字长的选择应满足地址线和数据线的总和为最小,试确定这种芯片的地址线和数据线,并说明有几种解答。
35、用一个时钟频率为40MHz的处理器执行标准测试程序,它所包含的混合指令数和响应所需的时钟周期见表。
试求出有效的CPI、MIPS速率和程序的执行时间(假设有N条指令)。
36、假设对于上题中的计算机M和程序P的机器代码,M采用页式,虚拟存储管理:P开始执行时,(R1)=(R2)=0,(R6)=1000,其机器代码已调入主存但不
在Cache中:数组A未调入主存,且所有数组元素在同一页,并存储在磁盘同一个
扇区。
请回答下列问题并说明理由。
1)P执行结束时,R2的内容是多少?
2)M的指令Cache和数据Cache分离。
若指令Cache共有16行,Cache和主存交
换的块大小为32字节,则其数据区的容量是多少?若仅考虑程序段P的执行,则指
令Cache的命中率为多少?
3)P在执行过程中,哪条指令的执行可能发生溢出异常?哪条指令的执行可能产
生缺页,异常?对于数组A的访问,需要读磁盘和TLB至少各多少次?
六、综合题
37、采用微程序控制器的某计算机在微程序级采用两级流水线,即取第i+1条微指令与执行第i条微指令同时进行。
假设微指令的执行时间需要40ns,试问:
1)若控制存储器选用读出时间为30ns的ROM,在这种情况下微周期为多少?并画出微指令执行时序图。
2)若控制存储器选用读出时间为50ns的ROM,在这种情况下微周期为多少?并画出微指令执行时序图。
38、某16位机器所使用的指令格式和寻址方式如图所示,该机器有两个20位基址
寄存器,4个16位变址寄存器,16个16位通用寄存器。
指令汇编格式中的S(源)、D(目标)都是通用寄存器,M是主存的一个单元,3种指令的操作码分别是MOV (OP)=(A)H、STA(OP)=(1B)H、LDA(OP)=(3C)H。
其中,MOV是传送指令,STA为写数指令,LDA为读数指令。
1)试分析3种指令的指令格式和寻址方式特点。
2)处理器完成哪一种操作所花时间最短?完成哪一种操作所花时间最长?第2种指令的执行时间有时会等于第3种指令的执行时间吗?
3)下列情况中,每个十六进制指令字分别代表什么操作?简述此指令的作用。
①(FOFl)H/(3CD2)H:②(2856)H
39、某计算机的主存地址空间大小为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的数据访问命中率各是多少?哪个程序的执行时间更短?
参考答案
一、选择题
1、C
2、A
3、C
4、C
5、A
6、B
7、C
8、A
9、D
10、D
11、B
12、D
13、D
14、D
15、C
二、填空题
16、瞬时启动固态盘
17、RR RS
18、停止CPU访问周期挪用 DMA和CPU交替访内
19、MMX 图像数据
20、210 230
21、算术运算逻辑运算
22、4 7
23、存储周期存储器带宽
24、资源数据控制
25、并行串行复用
三、名词解释题
26、向量地址:
中断方式中由硬件产生向量地址,可由向量地址找到入口地址。
27、串行传输:
是指数据的传输在一条线路上按位进行。
(只需一条数据传输线,线路的成本低,适合于长距离的数据传输)
28、运算器:
计算机中完成运算功能的部件,由ALU和寄存器构成。
29、组相联映象:
cache的一种地址映象方式,将存储空间分成若干组,各组之间用直接映象,组内各块之间用全相联映象。
四、简答题
30、答:为了不断提供刷新图像的信号,必须把一顿图像信息存储在刷新存储器,也叫视频存储器。
其存储容量由图像灰度级决定。
分辨率越高,灰度级越多,刷新存储器容量越大
31、答:CPU响应I/0中断请求的条件和时间是:当中断允许状态为1(EINT=1),且至少有一个中断请求被查到,则在一条指令执行完时,响应中断。
32、答:CPU管理外围设备有五种方式:(1)程序查询方式(2)程序中断方式(3)直接内存访问(DMA)方式(4)通道方式(5)外围处理机方式
33、答:逻辑结构包括时序和控制逻辑;内部计数器、寄存器组、程序命令控制逻辑;优先级编码逻辑;地址、数据缓冲器组等部分。
五、计算题
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、解:CPI即执行一条指令所需的时钟周期数。
本标准测试程序共包含4种指令,那么CPl就是这4种指令的数学期望,故
CPl=1×60%+2×18%+4×12%+8×10%=2.24
MIPS即每秒执行百万条指令数。
已知处理器的时钟频率为40MHz,即每秒包含40M个时钟周期,故
MIPS=40/CPl=40/2.24≈17.9
程序执行时间自然就等于程序包含的指令数×CP1x时钟周期的长度,
故程序执行时间=N×2.24×1/40MHz=5.6N×10-8s
36、解答:该题继承了上题中的相关信息,统考中首次引入此种设置,具体考察
到程序的运行结果、Cache的大小和命中率的计算以及磁盘和TLB的相关计算,是
一题比较综合的题型。
1)R2里装的是i的值,循环条件是i<N(1000),即当i自增到不满足这个条件时跳出循环,程序结束,所以此时i的值为1000。
2)Cache共有16行,每块32B,所以Cache数据区的容量为16x32B=512B。
P共有6条指令,占24B,小于主存块大小(32B),其起始地址为08048100H,对应
一块的开始位置,由此可知所有指令都在一个主存块内。
读取第一条指令时会发生Cache缺失,故将P所在的主存块调入Cache某一行,以后每次读取指令时,都能
在指令Cache中命中。
因此在1000次循环中,只会发生1次指令访问缺失,所以指令Cache的命中率为:(1000×6-1)/(1000×6)=99.98%。
3)指令4为加法指令,即对应sum+=A[i],当数组A中元素的值过大时,则会导
致这条加法指令发生溢出异常:而指令2、5虽然都是加法指令,但它们分别为数
组地址的计算指令和存储变量i的寄存器进行自增的指令,而i最大到达1000,所以
它们都不会产生溢出异常。
只有访存指令可能产生缺页异常,即指令3可能产生缺
页异常。
因为数组A在磁盘的一页上,而一开始数组并不在主存中,第一次访问数组时会导
致访盘,把A调入内存,而以后数组A的元素都在内存中,则不会导致访盘,所以
该程序,共访盘一次。
每访问一次内存数据就会查TLB一次,共访问数组1000次,所以此时又访问TLB1000次,还要考虑到第一次访问数组A,即访问A[0]时,会多
访问一次TLB(第一次访问A[0]会先查一次TLB,然后产生缺页,处理完缺页中断后,会重新访问A[0].此时又查TLB),所以访问TLB的次数一共是1001次。
六、综合题
37、解析:在执行本条微指令的同时,预取下一条微指令。
因为这两个操作是在
两个完全不同的部件中执行的,所以这种重叠是完全可行的。
取微指令的时间与执行微指令的时间哪个长,就以它作为微周期
1)若控制存储器选用读出时间为30ns的ROM,微指令执行时序图如图a所示。
因为取第i+1条微指令与执行第i条微指令同时进行,所以取微指令的读出时间为
30ns,而微指令的执行时间需要40ns。
这种情况下微周期取最长的时间,即40ns。
2)若控制存储器选用读出时间为50ns的ROM,微指令执行时序图如图b所示。
这种情况下微周期需取50ns。
38、解析:
1)第一种指令是单字长二地址指令,属于RR型。
第二种指令是双字长二地址指令,属于RS型,其中S采用基址寻址或变址寻址,R
由源寄存器决定。
第三种也是双字长二地址指令,属于RS型,其中R由目标寄存器决定,S由20位地
址(直接寻址)决定。
2)处理器完成第一种指令所花的时间最短,因为是RR型指令,不需要访问存储器。
第二种指令所花的时间最长,因为是RS型指令,需要访问存储器,同时要进行寻
址方式的变换运算(基址或变址),这也要时间。
第二种指令的执行时间不会等于第三种指令,因为第三种指令虽然也访问存储器,但是节省了求有效地址的时间开销。
3)根据已知条件:MOV(OP)=001010:STA(OP)=011011;LDA(OP)=111100,将指令的十六进制格式转换成二进制代码且比较后可知:
①由于(FOF1)H/(3CD2)H前面六位为111100,因此该指令代表LDA指令。
完整的二进制代码为111100001111000100111100110]0010,前面111100代表操作码,00代表横线的内容,1111代表目标寄存器,含义是把主存(13CD2)H地址单元的内容送至15号寄存器。
②由于(2856)H前面6位为001010,因此该指令代表MOV指令。
完整的二进制代码为0010100001010110,其中后面的0l01和0110分别代表目标寄存器和源寄存器,含义是把6号源寄存器的内容传送至5号目标寄存器。
39、解析:1)Cache结构如下。
此处的行即为块(Block)。
直接映射下,每块的Cache结构一般分为4个部分,其中,V:1位,表示所在的块是否有效。
…:表示用于Cache一致性维护和替换算法的控制位。
TAG:地址转换标记。
如果不计算“…”部分,则Cache的大小由V、Tag和Data(数据)3部分组成。
在直接映射中,可以将地址分为如下3个部分:
本题中,总的寻址位数为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=010*********B按
直接映射方式,地址分为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)命中率的计算是本问题的关键。
注意数组访问与数组在内存中的存储方式,以及命中率的定义。