计算机组成原理习题及答案.docx
《计算机组成原理习题及答案.docx》由会员分享,可在线阅读,更多相关《计算机组成原理习题及答案.docx(11页珍藏版)》请在冰豆网上搜索。
计算机组成原理习题及答案
计算机组成原理习题及答案
简答题
1.什么是存储程序原理?
按此原理,计算机应具有哪几大功能?
1.答:
存储程序原理是用户事先编号的程序先存入主存中,然后CPU在从主存中取出指令、运行指令。
按此原理,计算机应具有输入输出设备,即能把程序和数据通过输入输出设备送入主存中;还应具有存储设备,即内存能存储程序和数据;最后应具有控制器和运算器,即CPU能从主存中取出程序和数据,并按顺序一条一条取出、执行。
2.存储器与CPU连接时,应考虑哪些问题?
2.答:
应考虑
(1)合理选择存储芯片,要考虑芯片的类型和数量尽量使连线简单方便;
(2)地址线的连接,将CPU地址线的低位与存储芯片的地址线相连,以选择芯片中的某一单元,儿高位则在扩充存储芯片时用,用来选择存储芯片;(3)数据线的连接,CPU的数据线与存储芯片的数据线不一定相等,相等时可直接连接,不相等时要对存储芯片进行扩位,使其相等连接;(4)读/写控制线的连接,高电平为读,低电平为写;(5)片选线的连接,CPU的高位地址来产生片选信号。
3.什么叫地址重叠区,什么情况下会产生地址重叠区?
3.答:
存储系统中的某些存储单元有多个地址,这种现象叫地址重叠区。
原因是,存储系统是由多个芯片组成的,在产生片选信号时,如果只用部分高位地址来产生片选信号,则有一部分高位地址线没用,这样这部分地址线的值就不确定,可以为0也可以为1,所以存储芯片的地址空间也不确定了,出现了重复值,产生了地址重叠区。
4.什么叫“对准字”和“未对准字”,CPU对二者的访问有何不同?
4.答:
CPU访问的数据类型有字节,半字,字和双字。
若字长为32位,则字节8位,半字16位,字32位,双字64位。
对准字就是存储这四种数据类型时,字节的起始地址任意,半字的起始地址为2的倍数,字的起始地址为4的倍数,双字的起始地址为8的倍数。
未对准字就是四种数据类型在存储时都任意,无论从哪个存储单元开始都可以。
CPU访问对准字只要一个存储周期就行了,因为对准字都在同一行,能同时选中;访问未对准字需要多个存取周期,引文他们对应的存储单元可能不在同一行。
5.中断周期的前和后各是CPU的什么工作周期,如何工作?
5.答:
中断周期的前一周期是指令的执行周期,CPU根据指令的操作码,发出不同的操作指令完成指令的执行;中断周期的后一周期是取指周期,因为中断周期是指令周期的最后一个周期,若执行周期结束,有中断请求且符合中断执行的条件则进入中断周期,当中断周期结束时,就进入的下一条指令的取指周期,取指周期主要是根据程序计数器的值,从主存中把要执行的指令取到cpu中来分析、执行。
6.为什么要设置总线标准,你知道目前流行的总线标准有哪些?
6.答:
总线标准可视为系统与各模块、模块与模块之间的一个互连的标准界面。
如果没有总线标准,各个设备之间如果要传送数据,就必须相互了解特征、属性,计算机系统内有多种设备,每个设备的特征都各不想通过,相互之间传送数据都要有独立的数据线,这样数据线就很复杂,且设备的接口多。
使用了总线标准,每个设备就只有一个接口接向总线,而不需要了解其他设备的接口特点。
目前流行的总线标准有:
EISA\PCI\USB\AGP\RS232等等。
计算器
1.设某机有4个中断源A、B、C、D,其硬件排队优先次序为A>B>C>D,现要求将中断处理
次序改为D>A>C>B。
(1)写出每个中断源对应的屏蔽字
(2)按图时间轴给出的四个中断源的请求时刻,画出CPU执行程序的轨迹。
设每个中断源的中断服务程序时间均为20us。
1.答:
(1)在中断处理次序改为D>A>C>B后,每个中断源新的屏蔽字如下:
中断源屏蔽字
A1110
B0100
C0110
D1111
2.请写出数据10110100110的海明码,用4位校验位,采用偶校验。
根据海明码的定义有:
D11D10D9D8D7D6D5P4D4D3D2P3D1P2P1
10110100110
P1=D1⊕D2⊕D4⊕D5⊕D7⊕D9⊕D11
=0⊕1⊕0⊕0⊕0⊕1⊕1=1
P2=D1⊕D3VD4⊕D6⊕D7⊕D10⊕D11
=0⊕1⊕0⊕1⊕0⊕0⊕1=1
P3=D2⊕D3⊕D4⊕D8⊕D9⊕D10⊕D11
=1⊕1⊕0⊕1⊕1⊕0⊕1=1
P4=D5⊕D6⊕D7⊕D8⊕D9⊕D10⊕D11
=0⊕1⊕0⊕1⊕1⊕0⊕1=0
所以,数据10110100110的海明码为101101000111011
加上下划线为校验位。
3.CPU执行一段程序时,Cache完成存取次数为3800次,主存完成存取的次数为200次,已知Cache存取周期为50ns,主存为250ns,求Cache/主存系统的效率和平均访问时间。
3.解:
命中率H=3800/(3800+200)=0.95
平均访问时间为Ta=50*0.95+250*(1-0.95)=60ns
效率e=50/60*100%=83.33%
4.已知某8位机的主存采用半导体存储器,地址码为18位,若使用4K*4位RAM芯片组成该机所允许的最大主存空间,并选用模块条的形式,问:
(1)若每个模块条为32k*8位,共需几个模块条
(2)每个模块内共有多少片RAM芯片
(3)主存共需多少RAM芯片?
CPU如何选择各模块条?
4.地址线为18位的8位机主存容量为218*8=256KB
(1)共需8个模块板
(2)每个模块板内有16片RAM芯片
(3)主存共需128片RAM芯片,18根地址线分配如下:
A11---A0作为4K*4位芯片本身的地址线;
A14---A12作为模块板内片选地址,采用74LS138译码器,共8个输出,每个输出选择2片4K*4位的RAM芯片;
A17---A15作为模块板的地址,用74LS138译码器,每个输出选8个模块板中的任一块。
5.CPU执行一段程序时,Cache完成存取次数为5000次,主存完成存取的次数为200次,已知Cache存取周期为40,主存为160,求命中率,Cache/主存系统的效率和平均访问时间。
解:
①命中率H=Nc/(Nc+Nm)=5000/(5000+2000)=5000/5200=0.96
②主存慢于cache的倍率R=Tm/Tc=160ns/40ns=4
访问效率:
e=1/[r+(1-r)H]=1/[4+(1-4)×0.96]
=89.3℅//:
2分
③平均访问时间Ta=Tc/e=40/0.893=45ns
6.某磁盘存储器转速为3000rpm,共有4个记录盘面,道密度为5tpm,每道记录信息12288B,最小磁道直径为230mm,共有275道,求:
(1)磁盘存储器的存储容量
(2)最高位密度和最低位密度(3)磁盘数据传输率
(4)平均等待时间
(1)每道记录信息容量=12288B
每个记录面信息容量=12288B*275
4个记录面信息容量=12288B*275*4=13516800B
(2)最高位密度D1按最小磁道半径R1=115mm计算
D1=12288/(2*3.14*115)=17Bpm
最低位密度D2按最大磁道半径R2计算
R2=R1+(275/5)=115+55=170mm
D2=12288/(2*3.14*170)=11.5Bpm
(3)磁盘数据传输率C=Nr
N为每道信息容量12288B
r=3000rpm=50r/s
C=Nr=12288*50=614400Bps
(4)平均等待时间=(1/50)/2=1/100s=10ms
7.要求用128Kⅹ16的SRAM芯片组成512Kⅹ16随机存储器,用64Kⅹ16的EPROM芯片组成128Kⅹ16的只读存储器。
试问:
(1)数据寄存器多少位?
(2)地址寄存器多少位?
(3)两种芯片各需多少片?
(4)若EPROM的地址从00000H开始,RAM的地址从A0000H开始,写出各芯片的地址分配情况
(1)芯片都是*16的,数据寄存器的位数为16位
(2)存储器的总容量为512K+128K=640K,则需要220=1024K的地址才能把所有存储单元都能寻址。
地址寄存器是20位;
(3)128k*16组成512k*16,需要4片,64k*16组成128k*16,需要2片
(4)按照题目的要求,地址信号和地址分配如下:
A19A18A17A16A15---A0
00000---0EPROM1:
00000H—1FFFFH
00011---1
00100---0EPROM2:
20000H—3FFFFH
00111---1
01000---0EPROM3:
40000H—5FFFFH
01011---1
01100---0EPROM3:
60000H—7FFFFH
01111---1
10100---0RAM1:
A0000H—AFFFFH
10101---1
10110---0RAM2:
B0000H—BFFFFH
10111---1
8.CPU内有32个32位的通用寄存器,设计一种能容纳64种操作的指令系统。
假设指令字长等于机器字长,回答下列问题:
(1)如果主存可直接或间接寻址,采用寄存器-存储器型指令,能直接寻址的最大存储董建是多少?
画出指令格式并说出各字段的含义。
(2)在满足
(1)的前提下,如果采用通用寄存器作基址寄存器,则上述寄存器-存储器型指令的指令格式有何特点?
画出指令格式并指出这类指令可访问多大的存储空间?
寄存器是32位,则机器字长为32位,指令字长等于机器字长为32位
(1)指令格式为:
OP6
寄存器号R5
形式地址A21
64种操作,则操作码需要6位;32个寄存器,则寄存器号需要5位;剩下21位为形式地址。
直接寻址的最大空间为221=2M字
(2)满足
(1),采用寄存器-存储器型指令,寻址方式用基址寻址方式,则需要加上寄存器号,指令格式为:
OP6
寄存器号1R5
寄存器号2R5
形式地址A16
寄存器号1为第一操作数;寄存器号2和形式地址构成第二操作数,用的是基址寻址方式,寄存器为32位,按照基址寻址方式EA=(R)+A,则EA为32位,所以寻址空间为232=4G字
9.磁盘组有6片磁盘,最外两侧盘片可以记录,存储区域内径22cm,外径33cm,道密度为40道/cm,内层密度为400位/cm,转速为3600转/分。
(1)共有多少存储面可用?
(2)共有多少柱面
(3)盘组总存储容量是多少(4)数据传输率是多少?
(1)6片,最外两侧可以记录,则有12个存储面可用
(2)柱面即磁道面,(33-22)/2=5.5cm,磁道数为40道/cm*5.5cm=220道
则有220个柱面
(3)内径22cm,周长为3.14*22=69.08cm,内层密度为400位/cm,则一条磁道的容量为69.08*400=27632位=3454B
盘组总存储容量为:
3454*220*12=9MB
(4)数据传输率为每条磁道容量*转速,转速为3600转/分,即60转/秒
3454*60=200KB/S
10.将十进制数-0.625转换为IEEE短浮点数;采用IEEE754单精度浮点数格式表示一个数为45100000H,则该数的值是多少?
(1)-0.625=-0.101=-1.01*2-1
符号位=1
阶码=127-1=126
010*********
结果=BF200000H
(2)符号位1位,阶码8位(用移码表示,移码为127),尾数数值为23位,隐含1位,用原码表示,01000101000100000000000000000000
0,10001010,00100000000000000000000
此数为正数,阶码为138-127=11,尾数为1.001=1.125
数值为1.001*211=1001*28=9*256=2304
应用题
1.为某8位微机(地址总线为16位)设计一个12KB容量的存储器,要求EPROM区为8KB,从0000H开始,采用2716芯片(2K*8);RAM区为4KB,从2000H开始采用6116芯片(2K*8)。
求:
(1)对各芯片的地址分配;
(2)指出各芯片的片内选择地址线和芯片选择地址线;
(3)采用74LS138译码器,画出片选地址译码电路。
1.解:
(1)EPROM需要4片,从0000H开始;RAM需要2片从2000H开始,芯片都是2K*8的,则片内地址需要11根,从A0---A10地址分配如下:
A15A14A13A12A11A10---A0
000000---0EPROM1:
0000H-07FFH
000001---1
000010---0EPROM2:
0800H-0FFFH
000011---1
000100---0EPROM3:
1000H-07FFH
000101---1
000110---0EPROM4:
1800H-1FFFH
000111---1
001000---0RAM1:
2000H-07FFH
001001---1
001010---0RAM2:
2800H-2FFFH
001011---1
(2)用低位地址作为芯片的片内选择地址线,6个芯片都是2K*8的,片内地址需要11根,则从A0---A10,6个芯片需要3位地址才能实现片选,使用A11---A13.
(3)用74LS138译码器,A11--A13接CBA,/Y0---/Y5即可作为6个芯片的片选信号,电路图如下:
2.假设机器字长为16位,CPU内有32个通用寄存器,主存容量为128KB,且存储字长等于机器字长;指令长度为16位或32位,共有128条指令,设计指令格式,要求有直接、立即数、相对、基址、间接、变址六种寻址方式,画出指令格式,写出有效地址的计算方法、寻址空间、立即数的范围
2.解:
128条指令,需要操作码7位;主存容量为128KB,若能把所有主存空间都访问完需要17位地址线;机器字长为16位,则寄存器的位数也为16位,32个通用寄存器,寄存器号需要5位;六种寻址方式,需要寻址特征位3位,指令格式如下:
直接寻址:
指令字长16位,形式地址A为6位,EA=A,寻址空间为26=64B
OP7
寻址特征3
形式地址A6
立即数寻址:
指令字长16位,立即数A为6位,没有有效地址,A的范围为-32---+31
OP7
寻址特征3
立即数A6
相对寻址:
指令字长16位,形式地址A为6位,EA=(PC)+A,PC为17为,寻址空间为217=128KB
OP7
寻址特征3
形式地址A6
基址寻址:
指令长度为32位,寄存器号5位,形式地址A为17位,EA=(R)+EA,寄存器为16位,则EA为17位,寻址空间为217=128KB
OP7
寻址特征3
寄存器号R5
形式地址A17
间接寻址:
指令字长16位,形式地址A为6位,EA=(A),存储字长等于机器字长,则(A)为16位,寻址空间为216=64KB
OP7
寻址特征3
形式地址A6
变址寻址:
指令长度为32位,寄存器号5位,形式地址A为17位,EA=(R)+EA,寄存器为16位,则EA为17位,寻址空间为217=128KB
OP7
寻址特征3
寄存器号R5
形式地址A17
3.某计算机字长32位,有16个通用寄存器,主存容量为1M字,采用单字长二地址指令,共有64条指令,设计四种(寄存器,直接,变址,相对)寻址方式的指令格式,指出每种寻址方式的有效地址计算方法和寻址空间。
3.解:
字长为32位,采用单字长指令,则指令长度为32位,16个通用寄存器,需要寄存器号为4位,主存容量为1M字,若要访问到主存的任意空间,则有效地址位数为20位。
4种寻址方式,寻址特征需要2位,64条指令,操作码需要6位。
寄存器寻址:
指令字长为16位,不需要计算有效地址,不需要访存取操作数
OP6
寻址特征2
寄存器号R14
寄存器R24
直接寻址:
指令字长为32位,有效地址EA=A,A为20位,访存空间为220=1M
OP6
寻址特征2
寄存器号R14
形式地址A20
变址寻址寻址:
指令字长为32位,字长为32位,寄存器值也为32位,有效地址EA=(变址寄存器)+A,共为32位,可访存空间232=4G
OP6
寻址特征2
寄存器号R14
变址寄存器4
形式地址A16
相对寻址
OP6
寻址特征2
形式地址A8
寄存器寻址:
指令字长为16位,EA=(PC)+A,主存需地址线为20位,则PC为20位,所以EA也为20为,可访存空间为:
220=1M
4.用16k*1位的DRAM芯片构成64k*8位的存储器,地址范围是0000H--FFFFH,问:
(1)需要多少片,怎么构成,地址怎么分配,画出片选信号;
(2)设存储器读写周期均为0.5us,CPU在1us内至少要访存一次。
可以采取什么刷新方式?
两次刷新的时间间隔是多少?
对全部存储单元刷新一遍,所需实际刷新时间是多少?
4.解:
(1)需要32片。
先用16k*1位的用位扩展成16k*8位的,8片组成一组,这一组除了数据线不同之外,其余线的接法完全相同。
再用16k*8位的4组用扩展成64K*8位,这四组,用高位地址线形成片选线,其余线的接法完全相同。
16K需要14根,组内地址为A13--A0,每组的地址分配如下:
A15A14A13----A0
000----0DRAM1组:
0000H--3FFFH
001----1
010----0DRAM2组:
4000H--7FFFH
011----1
100----0DRAM3组:
8000H--BFFFH
101----1
110----0DRAM4组:
C000H--FFFFH
111----1
用访存控制信号,M=1,A15,A14作为74ls138译码器的CBA输入端,/Y4选择DARM1组,/Y5选择DRAM2组,/Y6选择DRAM3组,/Y7选择DRAM4组,片选产生电路图如下:
(2)64k*8位,216*23位=219位,可写成210*29行列形式,刷新是以行为单位的,即要刷新所有存储单元即要刷新1024行。
CPU在1us内至少要访存一次,不能采用集中刷新方式,可以采取分散刷新和异步刷新方式.
分散刷新:
刷一行,读写一次,1us时间内正好0.5us刷新,0.5us读写,两次刷新间隔为1us,1024行都刷新完需要1024us,即1.024ms。
2ms的其余时间为正常读写。
异步刷新:
2ms内要刷新1024行,则平均1.95us要刷新一行,两次刷新间隔为1.95us,所有行都刷新完需要2ms。
5.某机存储器容量为64K*16位,该机访存指令格如下
其中M为寻址模式:
0为直接寻址,1为基址寻址,2为相对寻址,3为立即寻址;I为
间址特征(I=1间址);X为变址特征(X=1变址),设PC为程序计数器,RX为变址寄存器,RB为基址寄存器,问
(1)该指令能定义多少种操作?
(2)立即寻址操作数的范围?
(3)写出每种寻址方式计算有效地址的表达式
(4)设基址寄存器为14位,在非变址直接基址寻址时,指令的寻址范围是多少?
(5)间接寻址时,寻址范围是多少?
若允许多重寻址,寻址范围又是多少?
5.解:
(1)该指令能定义16种操作
(2)立即寻址操作数的范围是-128—+127
(3)直接寻址EA=A基址寻址EA=(RB)+A
变址寻址EA=(RX)+A相对寻址EA=(PC)+A
间接寻址EA=((A))
(4)非变址直接基址寻址时EA=(RB)+A,RB为14位,故可寻址范围为214.
(5)间接寻址时,如不考虑多次间址,寻址范围为64K。
如果考虑多次间址,则需要最高1位作为多次间址标志,此时寻址范围为32K。
6.设cache的容量为8KB,主存的容量为512KB,每块有16B,请回答:
(1)采用直接映射方式,画出主存和cache的地址分配?
(2)cache采用4路组相联映射,画出主存和cache的地址分配?
(3)直接映射方式下,将主存的第513块调入cache,则cache的块号为什么?
组号是什么?
若送出的主存地址为04011H时是否命中?
6.
(1)cache为8KB/16B=512,则cache地址分配为
主存为512KB/16B=32K,则主存的地址分配为
cache采用4路组相联,则地址分配为
(3)513mod512=1,即第1号块,组号为512/512=1.