最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

2022年大连理工大学软件工程专业《计算机组成原理》科目期末试卷A(有

IT圈 admin 38浏览 0评论

2024年1月10日发(作者:屈心宜)

2022年大连理工大学软件工程专业《计算机组成原理》科目期末试卷A(有答案)

一、选择题

1、假定主存地址为32位,按字节编址,主存和Cache之间采用直接映射方式,主存块大小为4个字,每字32位,采用写回(Write Back)方式,则能存放4K字数据的Cache的总容量的位数至少是( )。

A.146K B.147K C.148K D.158K

2、关于Cache的3种基本映射方式,下面叙述中错误的是( )。

的地址映射有全相联、直接和多路组相联3种基本映射方式

B.全相联映射方式,即主存单元与Cache单元随意对应,线路过于复杂,成本太高

C.多路组相联映射是全相联映射和直接映射的一种折中方案,有利于提高命中率

D.直接映射是全相联映射和组相联映射的一种折中方案,有利于提高命中率

3、计算机( )负责指令译码。

A.算术逻辑单元B.控制单元(或者操作码译码器)C.存储器电路D.输入/输出译码电路

4、CPU中的译码器要用( )。

A.地址译码人 B.指令译码 C.数据译码1 D.控制信号译码

5、将高级语言源程序转换为机器目标代码文件的程序是( )。

A.汇编程序 B.链接程序 C.编译程序 D.解释程序

6、按数据传送格式,总线常被划分为( )。

A.并行总线与串行总线

B.同步总线与异步总线

C.系统总线与外总线

D.存储总线与I /O总线

7、下列关于总线仲裁方式的说法中,正确的有( )。

I.独立请求方式响应时间最快,是以增加处理器开销和增加控制线数为代价的

II.计数器定时查询方式下,有,根总线请求(BR)线和一根设备地址线,若每次计数都从0开始,则设备号小的优先级高

III.链式查询方式对电路故障最敏感

IV.分布式仲裁控制逻辑分散在总线各部件中,不需要中央仲裁器

,IV B. I,III,IV C. I,II,IV ,III,IV

8、微程序控制器的速度比硬布线控制器慢,主要是因为( )。

A.增加了从磁盘存储器读取微指令的时间

B.增加了从主存储器读取微指令的时间

C.增加了从指令寄存器读取微指令的时间

D.增加了从控制存储器读取微指令的时问

9、在微程序控制器中,微程序的入口微地址是通过( )得到的。

A.程序计数器PC

B.前条微指令

+1

D.指令操作码映射

10、在采用中断I/0方式控制打印输出的情况下,CPU和打印控制接口中的I/O端口之间交换的信息不可能是( )。

A.打印字符 B.主存地址 C.设备状态 D.控制命令

11、设一个磁盘盘面共有200个磁道,盘面总存储容量60MB,磁盘旋转一周的时问为25ms,每个磁道有8个扇区,各扇区之间有一间隙,磁头通过每个间除需1.25ms。则磁盘通道所需最大传输率是( )。

A.10MB/s B.60MB/s C.83.3MB/s D.20MB/s

12、下列关于各种移位的说法中正确的是( )。

I.假设机器数采用反码表示,当机器数为负时,左移时最高数位丢0,结果出错;右移时最低数位丢0,影响精度

Ⅱ在算术移位的情况下,补码左移的前提条件是其原最高有效位与原符号位要相同

Ⅲ.在算术移位的情况下,双符号位的移位操作中只有低符号位需要参加移位操作( )

A. Ⅲ、Ⅱ B.只有Ⅱ C.只有Ⅲ D.全错

13、组成一个运算器需要多个部件,但下面所列( )不是组成运算器的部件。

A.通用寄存器组

B.数据总线

D.地址寄存器

14、在下列寻址中,( )寻址方式需要先运算再访问主存。

A.立即 B.变址 C.间接 D.直接

15、四地址指令OPA1A2A3A4的功能为(A1)OP(A2)一A3,且A4给出下一条指令地址,假设A1,A2,A3,A4都为主存储器地址,则完成上述指令需要访存( )次。

A.2 B.3 C.4 D.5

二、填空题

16、闪速存储器能提供高性能、低功耗、高可靠性以及_______能力,因此作为_______用于便携式电脑中。

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

18、按照总线仲裁电路的位置不同,可分为________仲裁和________仲裁。

19、广泛使用的_______和_______都是半导体随机读写存储器,它们共同的缺点是_______

20、计算机软件一般分为两大类:一类叫______,另一类叫______操作系统属于_______类。

21、条件转移、无条件转移、转子程序、返主程序、中断返回指令都属于_______类指令,这类指令在指令格式中所表示的地址不是_______的地址,而是_______的地址。

22、计算机软件一般分为两大类:一类叫________,另一类叫________操作系统属于________类。

23、计算机系统中,根据应用条件和硬件资源不同,数据传输方式可采用:_______传送、_______传送和_______、传送。

24、·计算机硬件包括_________、_________、_________适配器,输入/输出设备。

25、指令字长度有______、______、______三种形式。

三、名词解释题

26、硬件向量法:

27、并行传输:

28、下溢:

29、写回法:

四、简答题

30、什么是指令字长、机器字长和存储字长?

31、什么是多重中断?实现多重中断的必要条件是什么?

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

33、计算机硬件由哪些部分组成?

五、计算题

34、已知计算机的字长为32位,存储器的容量为1MR.如果按字节、半字、字、双字寻址,寻址范围各是多少?

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

1)机器的工作速度。

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

解:

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、假设指令流水线分为取指令(IF)、指令译码/读寄存器(ID)、执行/有效地址计算(EX)、存储器访问(MEM)、结果写回寄存器(WB)5个过程段。现有下列指令序列进入该流水线。

① ADD R1,R2,R;

② SUB R4,R1,R5;

③ AND R6,R1,R7;

④ OR R8,R1,R9;

⑤ XOR R10,R1,R11;

请回答以下问题:

1)如果处理器不对指令之间的数据相关进行特殊处理,而允许这些指令进入流水线,试问上述指令中哪些将从未准备好数据的R1寄存器中取到错误的数据?

2)假如采用将相关指令延迟到所需操作数被写回到寄存器后再执行的方式,以解决数据相关的问题,那么处理器执行该指令序列需占用多少个时钟周期?

38、假设某计算机的CPU主频为80MHz,CPI为4,并且平均每条指令访存1.5次,主存与Cache之间交换的块大小为16B,Cache的命中率为99%,存储器总线的宽度为32位。请回答以下问题:

1)该计算机的MIPS数是多少?平均每秒Cache缺失的次数是多少?在不考虑DMA传送的情况下,主存带宽至少达到多少才能满足CPU的访存要求?

2)假定在Cache缺失的情况下访问主存时,存在0.0005%的缺页率,则CPU平均每秒产生多少次缺页异常?若页面大小为4KB,每次缺页都需要访问磁盘,访问磁

盘时DMA传送采用周期挪用的方式,磁盘I/O接口的数据缓冲寄存器为32位,则磁盘1/0接口平均每秒发出的DMA请求次数至少是多少?

3)CPU 和DMA控制器同时要求使用总线传输数据时,哪个优先级更高?为什么?

4)为了提高性能,主存采用4体低位交叉存储模式,工作时每1/4个存储周期启动1个体,若每个体的存储周期为50ns,则该主存能够提供的最大带宽是多少?

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、D

3、B

4、B

5、C

6、A

7、B

8、D、

9、D

10、B

11、D

12、D

13、D

14、B

15、C

二、填空题

16、瞬时启动 固态盘

17、先行 阵列 流水线

18、集中式 分布式

19、SRAM DRAM 断电后不能保存信息

20、系统软件 应用软件 系统软件

21、程序控制类 操作数 下一条指令

22、系统软件 应用软件 系统软件

23、并行 串行 复用

24、运算器 存储器 控制器

25、单字长 半字长 双字长

三、名词解释题

26、硬件向量法:

硬件向量法就是利用硬件产生向量地址,再由向量地址找到中断服务程序的入口地址。

27、并行传输:

每个数据位都需要单独一条传输线,所有的数据位同时进行传输。(在采用并行传输方式的总线中,除了有传输数据的线路外,还可以具有传输地址和控制信号的线路,地址线用于选择存储单元和设备,控制线用于传递操作信号)

28、下溢:

指数的绝对值太小,以至小于数据编码所能表示的数据范围。

29、写回法:

cache命中时的一种更新策略,写cache时不写主存,而当cache数据被替换出去时才写回主存。

四、简答题

30、答:机器字长:CPU一次能处理数据的位数,通常与CPU的寄存器位数有关。

31、答:多重中断是指:当CPU执行某个中断服务程序的过程中,发生了更高级、更紧迫的事件,CPU暂停现行中断服务程序的执行,转去处理该事件的中断,处理完返回现行中断服务程序继续执行的过程。实现多重中断的必要条件是:在现行中断服务期间,中断允许触发器为1,即开中断。

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

33、答:中央处理器,存储器,输入输出设备组成;

五、计算题

34、解:首先1MB=8Mhit(为了在后面的计算中单位统一)按字节寻址时,寻址范围为:8Mbit/8bit=lMB。按半字寻址时,寻址范围为:8Mbit/16bit=512KB。按字寻址时,寻址范围为:8Mbit/32bit=256KB。按双字寻址时,寻址范围为:8Mbit/64bit=128KB。

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

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

36、解答:该题继承了上题中的相关信息,统考中首次引入此种设置,具体考察到程序的运行结果、Cache的大小和命中率的计算以及磁盘和TLB的相关计算,是一题比较综合的题型。

1)R2里装的是i的值,循环条件是i

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)由题中指令序列可见,ADD指令后的所有指令都用到ADD指令的计算结果。表列出了未采用特殊处理的流水线示意,表中ADD指令在WB段才将计算结果写入寄存器R,中,但SUB指令在其ID段就要从寄存器R1中读取该计算结果。同样AND指令、OR指令也将受到这种相关关系的影响。ADD指令只有到第5个时钟周期末尾才能结束对寄存器R的写操作,使XOR指令可以正常操作,因为它在第6个时钟周期才读寄存器R1的内容。

2)表是对上述指令进行延迟处理的流水线示意。由表可见,从第一条指令进入流水线到最后一条指令流出流水线,共需12个时钟周期。

38、解析:1)题目告知CPU的主频为80MHz,表示每秒包含80M个时钟周期。而CPI为4表明执行一条指令需要4个时钟周期,所以CPU平均每秒可以执行的指令数=80M/4=20M。由于MIPS的含义是每秒可执行百万条指令数,而“M”代表的就是106,即百万,因此MIPS为20。

由于平均每条指令访存1.5次,因此每秒平均访存次数为20M×1.5次=30M次,而 Cache的命中率为99%,所以访问30M次Cache不命中的次数为30M×(1-99%)=300K次。当Cache缺失时,CPU访问主存,主存与Cache之间以块为单位传送数据,块大小为16B,所以每秒CPU与主存需要交换数据的大小为16B×300K/s=4.8MB/s。所以,在不考虑DMA传送的情况下,主存带宽至少要达到4.8MB/s才能满足CPU的访存要求。

2)由于每秒平均需要访问主存300K次,而缺页率为0.0005%,因此平均每秒“缺页”异常次数=300K×0.0005%=1.5次。由于存储器总线带宽为32位,因此每传送32位数据,磁盘控制器就发出一次DMA请求,这样平均每秒磁盘DMA请求的次数至少为1.5次×4KB/4B=1.5K次=1536次。

3)CPU 和DMA控制器同时要求使用存储器总线时,DMA请求优先级更高,因为若DMA请求得不到及时响应,I/O传输数据就可能会丢失。

4)当采用4体低位交叉存储模式时,每1/4周期的时间内就可以传送4B数据。若每个体的存储周期为50ns,则4体低位交叉存储器模式能提供的最大带宽=4B/(50ns/4)=320MB/s.

39、解析: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=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)命中率的计算是本问题的关键。注意数组访问与数组在内存中的存储方式,以及命中率的定义。

2024年1月10日发(作者:屈心宜)

2022年大连理工大学软件工程专业《计算机组成原理》科目期末试卷A(有答案)

一、选择题

1、假定主存地址为32位,按字节编址,主存和Cache之间采用直接映射方式,主存块大小为4个字,每字32位,采用写回(Write Back)方式,则能存放4K字数据的Cache的总容量的位数至少是( )。

A.146K B.147K C.148K D.158K

2、关于Cache的3种基本映射方式,下面叙述中错误的是( )。

的地址映射有全相联、直接和多路组相联3种基本映射方式

B.全相联映射方式,即主存单元与Cache单元随意对应,线路过于复杂,成本太高

C.多路组相联映射是全相联映射和直接映射的一种折中方案,有利于提高命中率

D.直接映射是全相联映射和组相联映射的一种折中方案,有利于提高命中率

3、计算机( )负责指令译码。

A.算术逻辑单元B.控制单元(或者操作码译码器)C.存储器电路D.输入/输出译码电路

4、CPU中的译码器要用( )。

A.地址译码人 B.指令译码 C.数据译码1 D.控制信号译码

5、将高级语言源程序转换为机器目标代码文件的程序是( )。

A.汇编程序 B.链接程序 C.编译程序 D.解释程序

6、按数据传送格式,总线常被划分为( )。

A.并行总线与串行总线

B.同步总线与异步总线

C.系统总线与外总线

D.存储总线与I /O总线

7、下列关于总线仲裁方式的说法中,正确的有( )。

I.独立请求方式响应时间最快,是以增加处理器开销和增加控制线数为代价的

II.计数器定时查询方式下,有,根总线请求(BR)线和一根设备地址线,若每次计数都从0开始,则设备号小的优先级高

III.链式查询方式对电路故障最敏感

IV.分布式仲裁控制逻辑分散在总线各部件中,不需要中央仲裁器

,IV B. I,III,IV C. I,II,IV ,III,IV

8、微程序控制器的速度比硬布线控制器慢,主要是因为( )。

A.增加了从磁盘存储器读取微指令的时间

B.增加了从主存储器读取微指令的时间

C.增加了从指令寄存器读取微指令的时间

D.增加了从控制存储器读取微指令的时问

9、在微程序控制器中,微程序的入口微地址是通过( )得到的。

A.程序计数器PC

B.前条微指令

+1

D.指令操作码映射

10、在采用中断I/0方式控制打印输出的情况下,CPU和打印控制接口中的I/O端口之间交换的信息不可能是( )。

A.打印字符 B.主存地址 C.设备状态 D.控制命令

11、设一个磁盘盘面共有200个磁道,盘面总存储容量60MB,磁盘旋转一周的时问为25ms,每个磁道有8个扇区,各扇区之间有一间隙,磁头通过每个间除需1.25ms。则磁盘通道所需最大传输率是( )。

A.10MB/s B.60MB/s C.83.3MB/s D.20MB/s

12、下列关于各种移位的说法中正确的是( )。

I.假设机器数采用反码表示,当机器数为负时,左移时最高数位丢0,结果出错;右移时最低数位丢0,影响精度

Ⅱ在算术移位的情况下,补码左移的前提条件是其原最高有效位与原符号位要相同

Ⅲ.在算术移位的情况下,双符号位的移位操作中只有低符号位需要参加移位操作( )

A. Ⅲ、Ⅱ B.只有Ⅱ C.只有Ⅲ D.全错

13、组成一个运算器需要多个部件,但下面所列( )不是组成运算器的部件。

A.通用寄存器组

B.数据总线

D.地址寄存器

14、在下列寻址中,( )寻址方式需要先运算再访问主存。

A.立即 B.变址 C.间接 D.直接

15、四地址指令OPA1A2A3A4的功能为(A1)OP(A2)一A3,且A4给出下一条指令地址,假设A1,A2,A3,A4都为主存储器地址,则完成上述指令需要访存( )次。

A.2 B.3 C.4 D.5

二、填空题

16、闪速存储器能提供高性能、低功耗、高可靠性以及_______能力,因此作为_______用于便携式电脑中。

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

18、按照总线仲裁电路的位置不同,可分为________仲裁和________仲裁。

19、广泛使用的_______和_______都是半导体随机读写存储器,它们共同的缺点是_______

20、计算机软件一般分为两大类:一类叫______,另一类叫______操作系统属于_______类。

21、条件转移、无条件转移、转子程序、返主程序、中断返回指令都属于_______类指令,这类指令在指令格式中所表示的地址不是_______的地址,而是_______的地址。

22、计算机软件一般分为两大类:一类叫________,另一类叫________操作系统属于________类。

23、计算机系统中,根据应用条件和硬件资源不同,数据传输方式可采用:_______传送、_______传送和_______、传送。

24、·计算机硬件包括_________、_________、_________适配器,输入/输出设备。

25、指令字长度有______、______、______三种形式。

三、名词解释题

26、硬件向量法:

27、并行传输:

28、下溢:

29、写回法:

四、简答题

30、什么是指令字长、机器字长和存储字长?

31、什么是多重中断?实现多重中断的必要条件是什么?

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

33、计算机硬件由哪些部分组成?

五、计算题

34、已知计算机的字长为32位,存储器的容量为1MR.如果按字节、半字、字、双字寻址,寻址范围各是多少?

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

1)机器的工作速度。

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

解:

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、假设指令流水线分为取指令(IF)、指令译码/读寄存器(ID)、执行/有效地址计算(EX)、存储器访问(MEM)、结果写回寄存器(WB)5个过程段。现有下列指令序列进入该流水线。

① ADD R1,R2,R;

② SUB R4,R1,R5;

③ AND R6,R1,R7;

④ OR R8,R1,R9;

⑤ XOR R10,R1,R11;

请回答以下问题:

1)如果处理器不对指令之间的数据相关进行特殊处理,而允许这些指令进入流水线,试问上述指令中哪些将从未准备好数据的R1寄存器中取到错误的数据?

2)假如采用将相关指令延迟到所需操作数被写回到寄存器后再执行的方式,以解决数据相关的问题,那么处理器执行该指令序列需占用多少个时钟周期?

38、假设某计算机的CPU主频为80MHz,CPI为4,并且平均每条指令访存1.5次,主存与Cache之间交换的块大小为16B,Cache的命中率为99%,存储器总线的宽度为32位。请回答以下问题:

1)该计算机的MIPS数是多少?平均每秒Cache缺失的次数是多少?在不考虑DMA传送的情况下,主存带宽至少达到多少才能满足CPU的访存要求?

2)假定在Cache缺失的情况下访问主存时,存在0.0005%的缺页率,则CPU平均每秒产生多少次缺页异常?若页面大小为4KB,每次缺页都需要访问磁盘,访问磁

盘时DMA传送采用周期挪用的方式,磁盘I/O接口的数据缓冲寄存器为32位,则磁盘1/0接口平均每秒发出的DMA请求次数至少是多少?

3)CPU 和DMA控制器同时要求使用总线传输数据时,哪个优先级更高?为什么?

4)为了提高性能,主存采用4体低位交叉存储模式,工作时每1/4个存储周期启动1个体,若每个体的存储周期为50ns,则该主存能够提供的最大带宽是多少?

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、D

3、B

4、B

5、C

6、A

7、B

8、D、

9、D

10、B

11、D

12、D

13、D

14、B

15、C

二、填空题

16、瞬时启动 固态盘

17、先行 阵列 流水线

18、集中式 分布式

19、SRAM DRAM 断电后不能保存信息

20、系统软件 应用软件 系统软件

21、程序控制类 操作数 下一条指令

22、系统软件 应用软件 系统软件

23、并行 串行 复用

24、运算器 存储器 控制器

25、单字长 半字长 双字长

三、名词解释题

26、硬件向量法:

硬件向量法就是利用硬件产生向量地址,再由向量地址找到中断服务程序的入口地址。

27、并行传输:

每个数据位都需要单独一条传输线,所有的数据位同时进行传输。(在采用并行传输方式的总线中,除了有传输数据的线路外,还可以具有传输地址和控制信号的线路,地址线用于选择存储单元和设备,控制线用于传递操作信号)

28、下溢:

指数的绝对值太小,以至小于数据编码所能表示的数据范围。

29、写回法:

cache命中时的一种更新策略,写cache时不写主存,而当cache数据被替换出去时才写回主存。

四、简答题

30、答:机器字长:CPU一次能处理数据的位数,通常与CPU的寄存器位数有关。

31、答:多重中断是指:当CPU执行某个中断服务程序的过程中,发生了更高级、更紧迫的事件,CPU暂停现行中断服务程序的执行,转去处理该事件的中断,处理完返回现行中断服务程序继续执行的过程。实现多重中断的必要条件是:在现行中断服务期间,中断允许触发器为1,即开中断。

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

33、答:中央处理器,存储器,输入输出设备组成;

五、计算题

34、解:首先1MB=8Mhit(为了在后面的计算中单位统一)按字节寻址时,寻址范围为:8Mbit/8bit=lMB。按半字寻址时,寻址范围为:8Mbit/16bit=512KB。按字寻址时,寻址范围为:8Mbit/32bit=256KB。按双字寻址时,寻址范围为:8Mbit/64bit=128KB。

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

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

36、解答:该题继承了上题中的相关信息,统考中首次引入此种设置,具体考察到程序的运行结果、Cache的大小和命中率的计算以及磁盘和TLB的相关计算,是一题比较综合的题型。

1)R2里装的是i的值,循环条件是i

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)由题中指令序列可见,ADD指令后的所有指令都用到ADD指令的计算结果。表列出了未采用特殊处理的流水线示意,表中ADD指令在WB段才将计算结果写入寄存器R,中,但SUB指令在其ID段就要从寄存器R1中读取该计算结果。同样AND指令、OR指令也将受到这种相关关系的影响。ADD指令只有到第5个时钟周期末尾才能结束对寄存器R的写操作,使XOR指令可以正常操作,因为它在第6个时钟周期才读寄存器R1的内容。

2)表是对上述指令进行延迟处理的流水线示意。由表可见,从第一条指令进入流水线到最后一条指令流出流水线,共需12个时钟周期。

38、解析:1)题目告知CPU的主频为80MHz,表示每秒包含80M个时钟周期。而CPI为4表明执行一条指令需要4个时钟周期,所以CPU平均每秒可以执行的指令数=80M/4=20M。由于MIPS的含义是每秒可执行百万条指令数,而“M”代表的就是106,即百万,因此MIPS为20。

由于平均每条指令访存1.5次,因此每秒平均访存次数为20M×1.5次=30M次,而 Cache的命中率为99%,所以访问30M次Cache不命中的次数为30M×(1-99%)=300K次。当Cache缺失时,CPU访问主存,主存与Cache之间以块为单位传送数据,块大小为16B,所以每秒CPU与主存需要交换数据的大小为16B×300K/s=4.8MB/s。所以,在不考虑DMA传送的情况下,主存带宽至少要达到4.8MB/s才能满足CPU的访存要求。

2)由于每秒平均需要访问主存300K次,而缺页率为0.0005%,因此平均每秒“缺页”异常次数=300K×0.0005%=1.5次。由于存储器总线带宽为32位,因此每传送32位数据,磁盘控制器就发出一次DMA请求,这样平均每秒磁盘DMA请求的次数至少为1.5次×4KB/4B=1.5K次=1536次。

3)CPU 和DMA控制器同时要求使用存储器总线时,DMA请求优先级更高,因为若DMA请求得不到及时响应,I/O传输数据就可能会丢失。

4)当采用4体低位交叉存储模式时,每1/4周期的时间内就可以传送4B数据。若每个体的存储周期为50ns,则4体低位交叉存储器模式能提供的最大带宽=4B/(50ns/4)=320MB/s.

39、解析: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=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)命中率的计算是本问题的关键。注意数组访问与数组在内存中的存储方式,以及命中率的定义。

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论