《计算机原理》模拟试卷3
考试形式:闭卷 考试时间:120分钟
站点:_________ 姓名: 学号: 成绩:
一、名词解释: (3分×5)
1.保留断点
2.Cache
3.微程序
4.CPU周期
5.总线
二、是非题: (2分×10)
1. 立即寻址方式是:从主存中取出指令后,可立即获得操作数地址。 ( )
2.相联存储器是按内容指定方式进行寻址的存储器。 ( )
3.程序访问的局部性理论是引入Cache的理论依据。 ( )
4.进栈操作时,SP寄存器的内容送地址总线。 ( )
5.静态RAM是非易失性器件,所以不需刷新。 ( )
6.控制存储器是用来存放微程序的存储器,它应该比主存储器速度快。 ( )
7.程序中断需保护断点和现场,两者都是通过程序保护的。 ( )
8.多路型DMA控制器以字节交叉方式通过DMA控制器进行数据传送。 ( )
9. 集中式总线仲裁方式中,独立请求方式响应速度最快 ( )
10. T时钟是计算机操作的最小单位。 ( )
三、填空题:(1分´10)
1.浮点数规格化时,尾数若向左移一位,阶码应_______,为_____规操作;尾数若向右移一位,阶码应________,为____规操作。
2. 设A、B两数用变型补码做加法,操作结果为10.0011,则运算结果的符号为______,运算结果产生________。
3. 微程序控制器比组合逻辑控制器慢的原因主要是由于增加了从________中读取微指令的时间。
4. CPU在中断响应周期由硬件电路完成如下操作:_______________、______________和_____________________。
四、选择题: (2分´10)
1. 单地址指令中,为了完成两个数的算术运算,除地址码指明的一个操作数外,另一个操作数常采用_____获得。
A. 隐含寻址方式 B. 基址寻址方式
C. 堆栈寻址方式 D. 间接寻址方式
2. ______存储器不可以断电,否则会使数据丢失。
A. 磁盘 B. ROM
C. RAM D. 光盘
3. 设采用奇校验,在传送过程中出现差错的那组信息是______。
A.01001100 B. 10010001
C. 01111110 D. 11000111
4 . 页式虚拟存储器页表长度取决于______。
A.虚存的页数 B. 主存的页数
C.Cache的容量 D. 虚存与主存容量之比
5. 在定点二进制运算器中,减法运算一般是采用____实现的?
A. 补码运算的二进制加法器
B. 补码运算的二进制减法器
C. 补码运算的十进制加法器
D. 原码运算的二进制减法器
6. 微程序控制器中,机器指令与微指令的关系是_____。
A 每条机器指令由一段用微指令编成的微程序来解释执行。
B 一条微指令由若干条机器指令组成。
C 每条机器指令由一条微指令来执行。
D 一段机器指令组成的程序可由一条微指令来执行
7. 采用串行接口进行7位ASCII码传送,停止位为2位并带1位奇校验位,当波特率为9600时,字符传送速率为______。
A 960字符/s B 873字符/s C 1067字符/s D 480字符/s
8. DMA控制器的总线请求被响应的条件是____。
A CPU开中断且指令周期结束 B CPU不正在为中断服务
C 当前指令周期结束 D CPU正在占用总线且总线周期结束
9.一般机器周期的时间是根据从_____来规定的。
A 主存中读取一个数据字的最长时间
B 主存中读取一个指令字的最短时间
C 主存中写入一个数据字的平均时间
D 主存中读取一个数据字的平均时间
10. 异步控制常用于____的主要控制方式。
A 微型机CPU控制中
B 组合逻辑控制CPU中
C 微程序控制器中
D 访问主存和外设时
五、设:X=-0.00000100010B , Y=0.0001011B, 取阶码4位,尾数8位(各含1位符号
位),阶码和尾数均用补码表示,请完成X+Y运算。(写出运算步骤) (10分)
六、 用2K×4位的存储器芯片组成8KB的SRAM存储器。设CPU的地址总线为A15-A0,存储器使能控制信号为MREQ’,读/写控制信号为R/W’ 。8KBSRAM占有的地址空间为6000H-7FFFH。 (15分)
(1) 存储器数据寄存器应为___________位;
(2) 存储器地址寄存器应为___________位;
(3) 请画出存储器的组成逻辑图。
七、在某计算机系统中:
(1) 中断采用菊花链控制电路,若一条链路上有2个设备(1#和2#)同时向主机提出中断请求,试问主机共能收到几个中断请求?
(2) 若1#设备优先级高于2#设备,请分析主机收到中断请求的情况(什么情况下该收到什么设备的中断请求);
(3) 具体指出程序中断方式工作时,哪一段时间体现了主机与设备是并行工作的;
(4) 若CPU允许中断,无总线请求,那么最高优先级的设备其中断响应的最长延时时间为多少? (10分)
一、 选择题
1 EEPROM是指(D )。
A 读写存储器 B 只读存储器
C 闪速存储器 D 电擦除可编程只读存储器
2 常用的虚拟存储系统由( B )两级存储器组成,其中辅存是大容量的磁表面存储器。
A cache-主存 B 主存-辅存 C cache-辅存 D 通用寄存器-cache
3 某计算机字长32位,其存储容量为256MB,若按单字编址,它的寻址范围是( D )。
A 64MB B 32MB C 32M D 64M
4 主存贮器和CPU之间增加cache的目的是( A )。
A 解决CPU和主存之间的速度匹配问题
B 扩大主存贮器容量
C 扩大CPU中通用寄存器的数量
D 既扩大主存贮器容量,又扩大CPU中通用寄存器的数量
5 某DRAM芯片,其存储容量为512K×8位,该芯片的地址线和数据线的数目是( D )。512 * 1024 B
A 8,512 B 512,8 C 18,8 D 19,8
6 交叉存储器实质上是一种多模块存储器,它用( A )方式执行多个独立的读写操作。
A 流水 B 资源重复 C 顺序 D 资源共享
7 某微型计算机系统,其操作系统保存在硬磁盘上,其内存储器应该采用(C )
A RAM B ROM C RAM和ROM D CCD
8 某SRAM芯片,其容量为1M×8位,除电源和接地端外,控制端有E和R/W#,该芯片的管脚引出线数目是( D )。
A 20 B 28 C 30 D 32
9 双端口存储器所以能进行高速读/写操作,是因为采用( D )。
A 高速芯片 B 新型器件
C 流水技术 D 两套相互独立的读写电路
10 存储单元是指(B )。
A 存放1个二进制信息位的存储元
B 存放1个机器字的所有存储元集合
C 存放1个字节的所有存储元集合
D 存放2个字节的所有存储元集合
二、 填空题
1 双端口存储器和多模块交叉存储器属于并行存储器结构,其中前者采用(空间 )并行技术,后者采用( 时间 )并行技术。
2 广泛使用的(SRAM )和(DRAM )都是半导体随机读写存储器。前者的速度比后者快,但集成度不如后者高。
3 反映主存速度指标的三个术语是存取时间、(存储周期 )和(存储器带宽 )。
4 某计算机字长32位,其存储容量为64MB,若按字编址,它的存储系统的地址线至少需要( 24 )条。
5 某四模块交叉存储器,每个模块的存储容量为128K×64位,存储周期为200ns,则数据总线的宽度为( 64 ),总线传送周期的最大值为( 50 )ns。若总线传送周期取该最大值,则CPU连续读取4个字所需的时间为(350 )ns。
200/4 = 50 200 + (4-1) * 50 = 350
6 对存储器的要求是容量大、速度快、成本低,为了解决这三方面的矛盾,计算机采用多级存储体系结构,即( Cache )、( 主存 )、(辅存 )。
7 一个组相联映射的Cache,有128块,每组4块,主存共有16384块,每块64个字,则主存地址共(20 )位,其中主存字块标记应为( 9 )位,组地址应为( 5 )位。
三、 简答题
1 简要总结一下,采用哪几种技术手段可以加快存储系统的访问速度?
2 存储系统中加入cache存储器的目的是什么?有哪些地址映射方式,各有什么特点?
四、 综合题
1 用定量分析方法证明多模块交叉存储器带宽大于顺序存储器带宽。
2 某计算机系统中,CPU可输出20条地址线(A19~A0),8条数据线(D7~D0)和1条控制线(WE#),主存储器按字节编址,由容量为8KB的ROM和32KB的RAM构成,拟采用8K × 4位的ROM芯片2片,32K × 2位的RAM芯片4片。
要求:ROM的地址范围为18000H~19FFFH,RAM的地址范围为98000H~9FFFFH,画出CPU与主存储器的连接图。
3 设存储器容量为64M字,字长为64位,模块数m=8,分别用顺序和交叉方式进行组织。存储周期T=100ns,数据总线宽度为64位,总线传送周期t=50ns。
求:顺序存储器和交叉存储器的带宽各是多少?
4 某机器采用四体交叉存储器,今执行一段小循环程序,此程序放在存储器的连续地址单元中。假设每条指令的执行时间相等,而且不需要到存储器存取数据,请问在下面两种情况中(执行的指令数相等),程序运行的时间是否相等?
(1) 循环程序由6条指令组成,重复执行80次。
(2) 循环程序由8条指令组成,重复执行60次。
5 某计算机系统的内存储器由cache和主存构成,cache的存取周期为45ns,主存的存取周期为200ns。已知在一段给定的时间内,CPU共访问内存4500次,其中340次访问主存。问:
(1)cache命中率是多少?
(2)CPU访问内存的平均时间是多少ns?
(3)cache-主存系统的效率是多少?
6 某计算机的存储系统由cache、主存和磁盘构成。cache的访问时间为15ns;如果被访问的单元在主存中但不在cache中,需要用60ns的时间将其装入cache,然后再进行访问;如果被访问的单元不在主存中,则需要10ms的时间将其从磁盘中读入主存,然后再装入cache中并开始访问。若cache的命中率为90%,主存的命中率为60%,求该系统中访问一个字的平均时间。
7 某计算机的存储器系统采用L1、L2 Cache和主存3级分层结构,访问第一级命中率95%,访问第二级时命中率50%,其余50%访问主存,所有访问均在第一级Cache中命中。假定访问L1 Cache需要1个时钟周期,访问L2 Cache和主存分别需要10个和100个时钟周期。问:平均需要多少个时钟周期?
8 某计算机存储器按字节寻址,设主存容量为512KB,Cache容量为16KB,每块有16个字,每字32位。
⑴若Cache采用直接映射方式,请给出主存地址字段中各段的位数。
⑵若Cache采用四路组相联映射,请给出主存地址字段中各段的位数。
9 主存储器容量为64KB,字节寻址,块(行)的大小为8B。假设采用直接映射方式的cache(划分为32行)。问:
(1) 存储器地址如何划分成标记、行号、字节号?
(2) 如下4种地址的内容将存入cache哪些行?
1111H,0C334H,0D01DH,0AAAAH
(3) 假设地址0001101000011010B的字节内容存入cache,那么与它同存一行的其他字节的地址各是什么?
单项选择题:
1. 下列__B___项是针对一个MIPS计算机体系结构的改变?
A. 仅提高系统时钟频率,不做其他改变
B. 额外增加一个16位的通用整数寄存器
C. 增加一个指令缓冲器
D. 额外增加一个流水线阶段
2. 下列__C___项是针对一个MIPS计算机实现的改变
A. 将指令位宽从32位扩展到64位
B. 去掉延迟槽
C. 从数据通路中去掉部分转发功能
D. 额外增加一个16位的通用整数寄存器
3. 下面__A___项关于流水寄存器的描述是正确的?
A. 增加流水线的阶段通常会导致控制和数据冒险
B. 流水线阶段越多,系统性能越高
C. 流水线寄存器开销对流水线的最大阶段数没有影响
D. 改变流水线的阶段数通常要求更改指令集结构
4. CPU片上cache分别采用独立的指令cache和数据cache的目的是_D____。
A. 降低内存访问错失率
B. 解决控制冒险(控制相关冲突)
C. 解决数据冒险(数据相关冲突)
D. 解决结构冒险(资源相关冲突)
5. IEEE754单精度浮点数X=(-1)S ´ (1.M)´ 2E-127能表示的最大正整数是__A___。
A. 2128-2104
B. 2127-2104
C. 2127-2103
D. 2126-2103
6. 当执行一条指令时,先把它从指令cache存储器读出,然后再传送至___A_____。
A. IR寄存器
B. AC寄存器
C. PC寄存器
D. SP寄存器
7. 假定用若干个2 K×4位的芯片组成一个8 K×8位的存储器,则地址0B12H所在芯片的最小地址是__B____。
A. 0000H
B. 0800H
C. 1000H
D. 1800H
8. 一个经典流水线实现包括IF,ID,EX,MEM及WB五个阶段。采用转发技术后,下面__D___组指令仍然存在数据冲突。
A. add r3,r1,r2;add r3,r4,r5;
B. add r1, r2, r3; sub r4, r1, r5;
C. add r1, r2, r3; st $15, 100(r1)
D. ld r1, 100(r2); sub r4, r1, r5;
综合应用题
1.(8分)给定一个内存系统及位宽一个字(32比特)的总线,该内存系统的参数如下表所示:
将地址送到内存所需时间 | 1时钟周期 |
行周期时间 | 10时钟周期 |
列访问时间 | 4时钟周期 |
从内存返回一个字所需时间 | 1时钟周期 |
(1) 请计算从内存取一个字所需要的时钟周期数。
16时钟周期
(2) 请计算从内存取8个字所需要的时钟周期数。假定内存访问地址采用顺序方式组织,并且所要读取的8个字位于两块上,其中每块由4个字组成,每块中的字在同一行,但两块位于不同的行。
顺序组织方式,读取一个块上的4个字需要的时间是4*16=64,读出2个块上的共8个字需要的时间是64*2=128时钟周期。
(3) 请计算从内存取8个字所需要的时钟周期数。假定内存访问地址采用4模块交叉方式组织,并且所要读取的8个字位于两块上,其中每块由4个字组成,每块中的字位于不同的存储器模块,这两块也位于不同的行。
交叉组织方式,读取第一个块(4个位于不同模块的字)所需的时间是16+3*1=19时钟周期。读取2个块(8个字)所需的时间是16+7*1=23时钟周期。
2.(5分)MIPS指令集提供条件指令,比如,可以利用beq指令实现条件分支。我们也可以实现其他类型的条件指令,条件数据传送就是这样一种指令。
假定MIPS指令集中的一条新指令为:cmove $r1, $r2, $r3
它的功能可以描述为:
if (r3==0) then
r1=r2;
else
无操作
也就是说,当r3为零时,这条指令将r2的值赋给r1。
假定cmove指令用于替换下列指令序列:
bne $r3, $r0, skip
move r1=r2;
skip: ….
假定程序中20%的条件分支是以上述形式出现,那么这样一个分支指令序列可以用一条件数据传送指令cmove来替换。假定cmove指令和数据传送指令move具有相同的平均CPI(每条指令的时钟周期数),那么条件数据传送指令cmove的效果就是消除了条件分支所要求的时间。考虑下表中给定的数据,请给出这种替换可以带来的程序加速比。
指令类别 | 频率 | 平均CPI |
算术 | 43% | 1.0 |
数据传送 | 40% | 1.4 |
条件分支 | 15% | 1.8 |
其他 | 2% | 1.3 |
加速比=(43%*1.0+40%*1.4+15%*1.8 +2%*1.3)/(43%*1.0+40%*1.4+15%*((80%*1.8)+(20%+1.4)) +2%*1.3)=2.6936/1.76072=1.5
3.(10分)一个经典MIPS体系结构的实现包括IF(取指), ID(指令译码及寄存器读取), EX(执行或有效地址计算), MEM(访问内存存取数据), 以及WB(将结果写回到寄存器)五个阶段。每个阶段的时间延迟如下表所示:
组件 | 时间延迟 |
IF | 160ps |
ID | 100ps |
EX | 220ps |
MEM | 180ps |
WB | 90ps |
(1) 假定一个非流水线实现,并且假定所有上表中未明确列出的时间延迟均可忽略不计,请计算下列各条指令的时间延迟:
addi (功能描述:R[rd]= R[rs]+ R[rt]): 160+100+220+90=570
bne (功能描述:if R[rs]!= R[rt], PC=PC+4+BranchAddr),: 160+100=480或者 160+100+220=700
jr (功能描述:PC= R[rs]), : 160+100=260
lw (功能描述:R[rt]=M[R[rs]+SignExtImm]),: 160+100+220+180+90=750
st (功能描述:M[R[rs]+SignExtImm]= R[rt]): 160+100+220+180=660
(2) 假定一个如上表所示的具有5个阶段的经典流水线实现,请计算下列各条指令的时间延迟:
addi (功能描述:R[rd]= R[rs]+ R[rt]): 220*5=1100
bne (功能描述:if R[rs]!= R[rt], PC=PC+4+BranchAddr), : 220*5=1100
jr (功能描述:PC= R[rs]), : 220*5=1100
lw (功能描述:R[rt]=M[R[rs]+SignExtImm]), : 220*5=1100
st (功能描述:M[R[rs]+SignExtImm]= R[rt]) : 220*5=1100