《计算机组成原理习题及答案.docx》由会员分享,可在线阅读,更多相关《计算机组成原理习题及答案.docx(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、_简答题1.什么是存储程序原理?按此原理,计算机应具有哪几大功能?1.答:存储程序原理是用户事先编号的程序先存入主存中,然后CPU在从主存中取出指令、运行指令。按此原理,计算机应具有输入输出设备,即能把程序和数据通过输入输出设备送入主存中;还应具有存储设备,即内存能存储程序和数据;最后应具有控制器和运算器,即CPU能从主存中取出程序和数据,并按顺序一条一条取出、执行。2.存储器与CPU连接时,应考虑哪些问题?2.答:应考虑(1)合理选择存储芯片,要考虑芯片的类型和数量尽量使连线简单方便;(2)地址线的连接,将CPU地址线的低位与存储芯片的地址线相连,以选择芯片中的某一单元,儿高位则在扩充存储芯
2、片时用,用来选择存储芯片;(3)数据线的连接,CPU的数据线与存储芯片的数据线不一定相等,相等时可直接连接,不相等时要对存储芯片进行扩位,使其相等连接;(4)读/写控制线的连接,高电平为读,低电平为写;(5)片选线的连接,CPU的高位地址来产生片选信号。3.什么叫地址重叠区,什么情况下会产生地址重叠区?3.答:存储系统中的某些存储单元有多个地址,这种现象叫地址重叠区。原因是,存储系统是由多个芯片组成的,在产生片选信号时,如果只用部分高位地址来产生片选信号,则有一部分高位地址线没用,这样这部分地址线的值就不确定,可以为0也可以为1,所以存储芯片的地址空间也不确定了,出现了重复值,产生了地址重叠区
3、。4.什么叫“对准字”和“未对准字”,CPU对二者的访问有何不同?4.答:CPU访问的数据类型有字节,半字,字和双字。若字长为32位,则字节8位,半字16位,字32位,双字64位。对准字就是存储这四种数据类型时,字节的起始地址任意,半字的起始地址为2的倍数,字的起始地址为4的倍数,双字的起始地址为8的倍数。未对准字就是四种数据类型在存储时都任意,无论从哪个存储单元开始都可以。CPU访问对准字只要一个存储周期就行了,因为对准字都在同一行,能同时选中;访问未对准字需要多个存取周期,引文他们对应的存储单元可能不在同一行。5.中断周期的前和后各是CPU的什么工作周期,如何工作?5.答:中断周期的前一周
4、期是指令的执行周期,CPU根据指令的操作码,发出不同的操作指令完成指令的执行;中断周期的后一周期是取指周期,因为中断周期是指令周期的最后一个周期,若执行周期结束,有中断请求且符合中断执行的条件则进入中断周期,当中断周期结束时,就进入的下一条指令的取指周期,取指周期主要是根据程序计数器的值,从主存中把要执行的指令取到cpu中来分析、执行。6.为什么要设置总线标准,你知道目前流行的总线标准有哪些?6.答:总线标准可视为系统与各模块、模块与模块之间的一个互连的标准界面。如果没有总线标准,各个设备之间如果要传送数据,就必须相互了解特征、属性,计算机系统内有多种设备,每个设备的特征都各不想通过,相互之间
5、传送数据都要有独立的数据线,这样数据线就很复杂,且设备的接口多。使用了总线标准,每个设备就只有一个接口接向总线,而不需要了解其他设备的接口特点。目前流行的总线标准有:EISAPCIUSBAGPRS232等等。计算器1.设某机有4个中断源A、B、C、D,其硬件排队优先次序为ABCD,现要求将中断处理次序改为DACB。(1)写出每个中断源对应的屏蔽字(2)按图时间轴给出的四个中断源的请求时刻,画出CPU执行程序的轨迹。设每个中断源的中断服务程序时间均为20us。1.答:(1)在中断处理次序改为DACB后,每个中断源新的屏蔽字如下:中断源屏蔽字A 1 1 1 0B 0 1 0 0C 0 1 1 0D
6、 1 1 1 12.请写出数据10110100110的海明码,用4位校验位,采用偶校验。根据海明码的定义有:D11 D10 D9 D8 D7 D6 D5 P4 D4 D3 D2 P3 D1 P2 P11 0 1 1 0 1 0 0 1 1 0P1=D1D2D4D5D7D9D11=0100011=1P2=D1D3VD4D6D7D10D11=0101001=1P3=D2D3D4D8D9D10D11=1101101=1P4=D5D6D7D8D9D10D11=0101101=0所以,数据10110100110的海明码为1 0 1 1 0 1 0 0 0 1 1 1 0 1 1加上下划线为校验位。3.C
7、PU执行一段程序时,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芯片
8、?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/
9、主存系统的效率和平均访问时间。解:命中率H=Nc/(Nc+Nm)=5000/(5000+2000)=5000/5200=0.96主存慢于cache的倍率R=Tm/Tc=160ns/40ns=4访问效率:()+()./:2分平均访问时间.n6某磁盘存储器转速为3000 rpm,共有4个记录盘面,道密度为5 tpm,每道记录信息12288 B,最小磁道直径为230 mm,共有275道,求:(1)磁盘存储器的存储容量(2)最高位密度和最低位密度(3)磁盘数据传输率(4)平均等待时间(1)每道记录信息容量=12288B每个记录面信息容量=12288B*2754个记录面信息容量=12288B*275*4
10、=13516800B(2)最高位密度D1按最小磁道半径R1=115mm计算D1=12288/(2*3.14*115)=17 Bpm最低位密度D2按最大磁道半径R2计算R2=R1+(275/5)=115+55=170mmD2=12288/(2*3.14*170)=11.5 Bpm(3)磁盘数据传输率C=NrN为每道信息容量12288Br=3000 rpm=50r/sC=Nr=12288*50=614400Bps(4)平均等待时间=(1/50)/2=1/100 s=10ms7要求用128K16的SRAM芯片组成512K16随机存储器,用64K16的EPROM芯片组成128K16的只读存储器。试问:
11、(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)按照题目的要求,地址信号和地址分配如下:A19 A18 A17 A16 A15-A00 0 0 0 0-0 EPROM1:00000H1FFFFH0 0
12、 0 1 1-10 0 1 0 0-0 EPROM2:20000H3FFFFH0 0 1 1 1-10 1 0 0 0-0 EPROM3:40000H5FFFFH0 1 0 1 1-10 1 1 0 0-0 EPROM3:60000H7FFFFH0 1 1 1 1-11 0 1 0 0-0 RAM1:A0000HAFFFFH1 0 1 0 1-11 0 1 1 0-0 RAM2:B0000HBFFFFH1 0 1 1 1-18CPU内有32个32位的通用寄存器,设计一种能容纳64种操作的指令系统。假设指令字长等于机器字长,回答下列问题:(1)如果主存可直接或间接寻址,采用寄存器-存储器型指令,
13、能直接寻址的最大存储董建是多少?画出指令格式并说出各字段的含义。(2)在满足(1)的前提下,如果采用通用寄存器作基址寄存器,则上述寄存器-存储器型指令的指令格式有何特点?画出指令格式并指出这类指令可访问多大的存储空间?寄存器是32位,则机器字长为32位,指令字长等于机器字长为32位(1)指令格式为:OP 6寄存器号R 5形式地址A 2164种操作,则操作码需要6位;32个寄存器,则寄存器号需要5位;剩下21位为形式地址。直接寻址的最大空间为221=2M字(2)满足(1),采用寄存器-存储器型指令,寻址方式用基址寻址方式,则需要加上寄存器号,指令格式为:OP 6寄存器号1R 5寄存器号2R 5形
14、式地址A 16寄存器号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)内径
15、22cm,周长为3.14*22=69.08cm,内层密度为400位/cm,则一条磁道的容量为69.08*400=27632位=3454B盘组总存储容量为:3454*220*12=9MB(4)数据传输率为每条磁道容量*转速,转速为3600转/分,即60转/秒3454*60=200KB/S10.将十进制数-0.625转换为IEEE短浮点数;采用IEEE754单精度浮点数格式表示一个数为45100000H,则该数的值是多少?(1)-0.625=-0.101=-1.01*2-1符号位=1阶码=127-1=1261,01111110,01000000000000000000000结果=BF200000H
16、(2)符号位1位,阶码8位(用移码表示,移码为127),尾数数值为23位,隐含1位,用原码表示,0100 0101 0001 0000 0000 0000 0000 00000,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)对各芯片
17、的地址分配;(2)指出各芯片的片内选择地址线和芯片选择地址线;(3)采用74LS138译码器,画出片选地址译码电路。1.解:(1)EPROM需要4片,从0000H开始;RAM需要2片从2000H开始,芯片都是2K*8的,则片内地址需要11根,从A0-A10地址分配如下:A15 A14 A13 A12 A11 A10-A00 0 0 0 0 0-0 EPROM1:0000H-07FFH0 0 0 0 0 1-10 0 0 0 1 0-0 EPROM2:0800H-0FFFH0 0 0 0 1 1-10 0 0 1 0 0-0 EPROM3:1000H-07FFH0 0 0 1 0 1-10 0
18、0 1 1 0-0 EPROM4:1800H-1FFFH0 0 0 1 1 1-10 0 1 0 0 0-0 RAM1:2000H-07FFH0 0 1 0 0 1-10 0 1 0 1 0-0 RAM2:2800H-2FFFH0 0 1 0 1 1-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,且存
19、储字长等于机器字长;指令长度为16位或32位,共有128条指令,设计指令格式,要求有直接、立即数、相对、基址、间接、变址六种寻址方式,画出指令格式,写出有效地址的计算方法、寻址空间、立即数的范围2.解:128条指令,需要操作码7位;主存容量为128KB,若能把所有主存空间都访问完需要17位地址线;机器字长为16位,则寄存器的位数也为16位,32个通用寄存器,寄存器号需要5位;六种寻址方式,需要寻址特征位3位,指令格式如下:直接寻址:指令字长16位,形式地址A为6位,EA=A,寻址空间为26=64BOP 7寻址特征3形式地址A 6立即数寻址:指令字长16位,立即数A为6位,没有有效地址,A的范围
20、为-32-+31OP 7寻址特征3立即数A 6相对寻址:指令字长16位,形式地址A为6位,EA=(PC)+A,PC为17为,寻址空间为217=128KBOP 7寻址特征3形式地址A 6基址寻址:指令长度为32位,寄存器号5位,形式地址A为17位,EA=(R)+EA,寄存器为16位,则EA为17位,寻址空间为217=128KBOP 7寻址特征3寄存器号R 5形式地址A 17间接寻址:指令字长16位,形式地址A为6位,EA=(A),存储字长等于机器字长,则(A)为16位,寻址空间为216=64KBOP 7寻址特征3形式地址A 6变址寻址:指令长度为32位,寄存器号5位,形式地址A为17位,EA=(
21、R)+EA,寄存器为16位,则EA为17位,寻址空间为217=128KBOP 7寻址特征3寄存器号R 5形式地址A 173.某计算机字长32位,有16个通用寄存器,主存容量为1M字,采用单字长二地址指令,共有64条指令,设计四种(寄存器,直接,变址,相对)寻址方式的指令格式,指出每种寻址方式的有效地址计算方法和寻址空间。3.解:字长为32位,采用单字长指令,则指令长度为32位,16个通用寄存器,需要寄存器号为4位,主存容量为1M字,若要访问到主存的任意空间,则有效地址位数为20位。4种寻址方式,寻址特征需要2位,64条指令,操作码需要6位。寄存器寻址:指令字长为16位,不需要计算有效地址,不需
22、要访存取操作数OP 6寻址特征2寄存器号R1 4寄存器R2 4直接寻址:指令字长为32位,有效地址EA=A,A为20位,访存空间为220=1MOP 6寻址特征2寄存器号R1 4形式地址A 20变址寻址寻址:指令字长为32位,字长为32位,寄存器值也为32位,有效地址EA=(变址寄存器)+A,共为32位,可访存空间232=4GOP 6寻址特征2寄存器号R1 4变址寄存器4形式地址A 16相对寻址OP 6寻址特征2形式地址A 8寄存器寻址:指令字长为16位,EA=(PC)+A,主存需地址线为20位,则PC为20位,所以EA也为20为,可访存空间为:220=1M4.用16k*1位的DRAM芯片构成6
23、4k*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,每组的地址分配如下:A15 A14 A13-A0
24、0 0 0-0 DRAM1组:0000H-3FFFH0 0 1-10 1 0-0 DRAM2组:4000H-7FFFH0 1 1-11 0 0-0 DRAM3组:8000H-BFFFH1 0 1-11 1 0-0 DRAM4组:C000H-FFFFH1 1 1-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在
25、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为变址寄存器,R
26、B为基址寄存器,问(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。如果
27、考虑多次间址,则需要最高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)513mod 512=1,即第1号块,组号为512/512=1._