《计算机组成原理复习题54753(9页).doc》由会员分享,可在线阅读,更多相关《计算机组成原理复习题54753(9页).doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-计算机组成原理复习题54753-第 8 页1.3说明高级语言、汇编语言和机器语言的差别及其联系。答:高级语言使用时程序员不需要了解实际应用的机型、内部的具体组成及其指令系统,只用掌握这类高级语言的语法和语义,便可直接用这种高级语言来编程。汇编语言使用时程序员不用使用繁杂的01二进制代码来编写程序,提高了程序的可读性,但是不同型号计算机的汇编语言是不尽相同的,所以用汇编语言必须懂得计算机原理和计算机结构。机器语言是可以机器直接运行的语言,但因为二进制码对人来说能以记住,没有很专业的计算机知识,和熟练的计算机编程技巧,是没办法直接用机器语言编程的。使用高级语言编程时,其使用需要将高级语言程序写翻
2、译成汇编语言,汇编语言再通过翻译,翻译成机器语言,只有翻译为机器语言才能在机器上直接运行。1.6画出计算机硬件组成框图,说明各部件的作用及计算机硬件的主要性能指标。输入设备存储器运算器输出设备控制器答: 控制线 反馈线 数据线1.11指令和数据都存于存储器中,计算机如何区分它们?答:计算机区分指令和数据有以下2种方法:1.通过不同的时间段来区分指令和数据,即在取指令阶段取出的是指令,在执行指令阶段取出的是数据。2.通过地址来源区分,由PC提供存储单元地址的取出的是指令,由指令地址码部分提供存储单元地址的取出的是操作数。3.2总线如何分类?什么是系统总线?系统总线又分为几类,它们各有何作用,是单
3、向的,还是双向的,它们与机器字长、存储字长、存储单元有何关系?答:总线的分类有多种方式,可以按照数据传送方式进行划分,可分为并行传输总线和串行传输总线,也可以按照总线的使用范围进行划分。系统总线是指CPU、主存、I/O设备各大部件之间的信息传输线。系统总线分为数据总线、地址总线和控制总线。数据总线主要用来传输各功能部件之间的信息,它是双向传输总线,其位数与机器字长、存储字长有关,如果数据总线宽度为8位,指令字长为16位,那么CPU在取指阶段必须两次访问主存。地址总线是用来指出数据总线上的源数据或目的数据在主存单元的地址或I/O设备的地址,其是单向传输总线,地址线的位数与存储单元的个数有关,如果
4、地址线为20根,那么存储单元的个数为2的20次方。控制总线是用来发出各种控制信号的传输线,从任一控制线而言,它的传输时单向的,但就控制总线总体而言,其实双向的,因为它的控制信号有出有入,如中断请求、总线请求。3.4为什么要设置总线判优控制?常见的集中式总线控制有几种,各有何特点,哪种方式响应时间最快,哪种方式对电路故障最敏感? 答:为了将总线中的任何操作由总线控制器同意管理,同时能够更高效的处理总线要执行的操作,所以设置了总线判优控制。常见的集中式总线控制有三种分别是链式查询、计时器定时查询和独立请求方式。链式查询的特点是只需很少的几根线就可以实现优先次序控制,但是其对电路故障很敏感,且优先级
5、较低的设备可能很难获取到请求。计时器定时查询的特点是对电路故障不如链式查询敏感,但增加了控制线,控制较为复杂。独立请求方式的特点是响应速度快,优先次序控制灵活,但控制线最多,总线控制更加复杂。3.5名词解释:总线宽度、总线带宽、总线复用、总线的主设备、总线的从设备、总线的传输周期、总线的通信控制。答:总线宽度:通常指数据总线的根数。总线带宽:即总线上每秒传输的最大字节数。总线复用:一条信号线上分时传送两种信号,如分时传送地址信号和数据信号。总线的主设备:对总线有控制权的设备。总线的从设备:响应从主设备发来的总线控制的设备。总线的传输周期:即完成一次完整的数据传输操作时间。总线的通信控制:主要解
6、决通信双方如何获知传输开始和传输结束,以及通信双方如何协调如何配合。3.14设总线的时钟频率为8MHz,一个总线周期等于一个时钟周期。如果一个总线周期中并行传送16位数据,试问总线的带宽是多少?答:8*(16/8)=16MBps3.16在异步串行传送系统中,字符格式为:1个起始位、8个数据位、1个校验位、2个终止位。若要求每秒传送120个字符,试求传送的波特率和比特率。答:波特率:(1+8+1+2)*120 = 1440bps=1440波特比特率:1440*(8/12)=960bps4.6某机字长为32位,其存储容量是64KB,按字编址其寻址范围是多少?若主存以字节编址,试画出主存字地址和字节
7、地址的分配情况。答:存储容量为64KB时,按字节编址的寻址范围是64KB,那么按字编址其寻址范围是64*(8/32)=16K字字地址 HB-字节地址LB012345676553265533655346553504655324.7一个容量为16K32位的存储器,其地址线和数据线的总和是多少?当选用下列不同规格的存储芯片时,各需要多少片?1K4位,2K8位,4K4位,16K1位,4K8位,8K8位。答:其地址总线一共有14根,数据总线一共有32根,总和为46根。当使用下列不同规格的存储芯片时,1K4位需要128个;2K8位需要32个;4K4位需要32个;16K1位需要32个;4K8位需要16个;8
8、K8位需要8个。4.8试比较静态RAM和动态RAM。答:静态RAM用触发器存储信息,各要不断电,信息就不会丢失,不需要刷新,但静态RAM集成度低,功耗大。动态RAM用电容存储信息,为了保持信息必须每隔12ms就要对高电平电容重新充电,称为刷新,因此必须含有刷新电路,在电路上较复杂,但动态RAM集成度高,且价格便宜。4.9什么叫刷新?为什么要刷新?说明刷新有几种方法。答:刷新原因由于存储单元被访问是随机的,有可能某些存储单元长期得不到访问,不进行存储器的读/写操作,其存储单元内的原信息会因为电容的泄露将慢慢消失,为此需要采用定时刷新的方法对动态RAM的全部基本单元进行一次刷新,一般为2ms。常用
9、的刷新方法有三种集中式、分散式、异步式。 集中式:在最大时间内,集中安排一段时间进行刷新。分散式:在每个读/写周期之后插入一个,不存在停止读/写操作时间。异步式:是集中式和分散式的折衷,每刷新一行只停止一个存取周期。4.11一个8K8位的动态RAM芯片,其内部结构排列成256256形式,存取周期为0.1s。试问采用集中刷新、分散刷新及异步刷新三种方式的刷新间隔各为多少?答:设RAM的刷新最大间隔时间为2ms,则异步刷新的刷新间隔为2ms/256=7.8125us集中刷新的刷新间隔为0.1us分散刷新的刷新间隔为 0.1*2 =0.2us4.14某8位微型计算机地址码为18位,若使用4K4位的R
10、AM芯片组成模块板结构的存储器,试问:(1)该机所允许的最大主存空间是多少?(2)若每个模块板为32K8位,共需几个模块板?(3)每个模块板内共有几片RAM芯片?(4)共有多少片RAM?(5)CPU如何选择各模块板?答:(1):最大主存空间为2的18次方乘以8,即为256K*8位(2):若每块模块板为32K*8位,共需要256/32=8块(3):每块模块板内共有(32/4)*(8/4)=16块(4):共有8*16=128片RAM(5):CPU通过最高3位选板,通过中间3位选片。片地址是3位是因为其字扩展是八倍,所以是3位。以下为地址格式:模块板地址(占3位)片地址(占3位)片内地址(占12位)
11、4.17写出1100的海明码。答:根据1100,得n=4.由海明不等式得需要添加3位校验位,则各位安排如下:C1,C2,1,C4,1,0,0按配奇原则配置,则C1=0,C2=1,C4=1;则新配置的海明码为0111100.4.20欲传送的二进制代码为1001101,用奇校验来确定其对应的海明码,若在第6位出错,说明纠错过程。答:由海明不等式知需要添加4位校验位,则各位安排如下:C1,C2,1,C4,0,0,1,C8,1,0,1按配奇原则配置,则C1=0,C2=1,C4=1,C8=0;则其新配的海明码为01110010101.若在第六位出错,则收到的海明码为01110110101;确认其分组为:
12、P1:1,3,5,7,9,11;P2:2,3,6,7,10,11;P3:4,5,6,7;P4:8,9,10,11;因为其每位亦或的结果分别为0,1,1,0,则得到P4P3P2P1=0110.第六位出错,故正确的二进制代码为01110010101;欲传送的信息为1001101.4.32设某机主存容量为4MB,cache容量为16KB,每字块有8个字,每字32位,设计一个四路组相联映射的cache组织。(1)画出主存地址字段中各段的尾数;(2)设cache的初态为空,CPU依次从主存第0、1、2、89号单元读出90个字(主存一次读出字),并重复按此次序读8次,问命中率是多少?(3)若cache的速
13、度是主存速度的6倍,试问有cache和无chache相比,速度约提高多少倍?答:(1)根据每个字块有8个字,每个字32位,得出主存地址字段中字块内地址字段为5位,其中3位为字地址,2位为字节地址。根据Cache容量为16KB=214B,字块大小为25B,得Cache共有29块,故c=9.根据四路相联映射2r=4,得r=2,则q=c-r=9-2=7位。根据主存容量位4MB=222B,得出主存地址字段中主存字块标记为22-7-5=10位。主存地址字段各段格式如下:主存字块标记(10位)组地址(7位)字块内地址(5位)(2)由于每个字块中有8个字,而且初态为空,所以CPU读第0号单元时,未命中,必须
14、访问主存,同时将该字所在的主存块调入Cache第0组中的任一块内,接着CPU读第17号单元时均命中。同理,CPU读第8,16,88号时均未命中。得CPU在连续读90个字中共有12次未命中,而后8次循环读90个字全部命中,命中率为:(90*8-12)/(90*8)=0.984.(3)根据题意,设主存存取周期为6t,Cache的存取周期为t,没有Cache的访问时间为6t*720,有Cache的访问时间为t(720-12)+6t*12,则有Cache和没有Cache相比,速度提高的倍数为(6t*720)/(t*(720-12)+6t*12)-1=5.54.6.16设机器字长为16位,写出下列各种情
15、况下它所能表示的数的范围。设机器数采用1位符号位,答案均用十进制数表示。(1)无符号数。(2)原码表示的定点小数、整数。(3)补码表示的定点小数、整数。(4)浮点数格式:阶码6位,尾数10位。分别写出正数和负数的表示范围。答:(1)无符号整数:0 216 - 1,即:0 65535; 无符号小数:0 1 2-16 ,即:0 0.99998; (2)原码定点小数:-1 + 2-151 - 2-15 ,即:-0.999970.99997 (3)补码定点小数:- 11 - 2-15 ,即:-10.99997 (4)补码定点整数:-215215 - 1 ,即:-3276832767 6.19设机器数字
16、长为8位,用补码运算规则计算(1)A=9/64,B=-13/32,求A+B(2)A=19/32,B=-17/128,求A-B。答:(1)由A=9/64可得其真值为0.0010010BB=-13/32可得其真值为1.0110100B则A补=0.0010010,B补=1.1001100BA+B补=0.0010010+1.1001100=1.1011110A+B=-17/64(2)由A=19/32可得其真值为0.1001100BB= -17/128可得其真值为-0.0010001BA补=0.1001100,B补=1.1101111 ,(-B)补=0.0010001A-B补= 0.1001100 +
17、0.0010001= 0.1011101A-B=0.1011101B =93/1286.20用补码一位乘计算(1)x=0.110111,y=-0.101110.答:X补=0.110111 Y补=1.010010 (-X)补=1.001001部分积乘数00.00000001001000.000000+00.110111001001 00.011011100100 00.000110+00.110111111001 00.011110111100 00.001111+11.001001011110 11.011000011110故乘积X*Y补=1.011000011110则X*Y=-0.10011
18、11000106.21用原码加减交替法和补码加减交替法计算xy(1)x=0.100111,y=0.101011答:X原=0.100111 X*=0.100111Y原=0.101011 Y*=0.101011 -Y*补=1.010101原码加减交替法:被除数(余数)商0.100111+1.0101010.0000001.1111001.111000+0.10101100 0.1000111.000110+1.0101010101 0.0110110.110110+1.010101011011 0.0010110.010110+1.01010101110111 1.1010111.010110+0
19、.1010110111001110 0.0000010.000010+1.010101011101011101 1.010111+0.10101101110100.000010因最后为0显示为不够除,所以要恢复余数商的符号位由除数和被除数可得为0故xy原=0.111010X补=0.100111 Y补=0.101011 -Y补=1.010101补码加减交替法:被除数(余数)商0.100111+1.0101010.0000001.1111001.111000+0.10101100 0.1000111.000110+1.0101010101 0.0110110.110110+1.0101010110
20、11 0.0010110.010110+1.01010101110111 1.1010111.010110+0.1010110111001110 0.0000010.000010+1.010101011101011101 1.010111+0.10101101110100.000010因最后为0显示为不够除,所以要恢复余数故xy补=0.111010xy=0.1110106.26按机器补码浮点运算步骤计算x+y补(1)x=2-0110.101100,y=2-010(-0.011100)答:x=2-011*0.101100,y=2-010*(-0.011100) x补=1,101;0.101100
21、, y补=1,110;1.100100 因为x的阶码比y的阶码小,所以x补=1,110;0.010110x补+y补=1,110;(0.010110+11.100100)= 1,110;11.111010x补-y补=1,110;(0.010110+00.011100)= 1,110;00.110010x+y补=11,110;11.111010 = 11,011;11.010000 (尾数左规3次,阶码减3) x-y补=11,110;00.110010 则:x+y=2-101(-0.110 000) x-y =2-0100.110 0106.28如何判断定点和浮点补码加减运算结果是否溢出,如何判断
22、原码和补码定点除法运算结果是否溢出?答:浮点加减法运算,当阶码符号为“01”时,需作出溢出处理。定点加减法运算,利用两位符号位,当两个符号位不同时,表示溢出。原码定点除法运算若商的第一位为“1”则表示溢出原码定点除法运算若商的第一位为“1”则表示溢出7.8某机指令字长16位,每个操作数的地址码为6位,设操作码长度固定,指令分为零地址、一地址和二地址三种格式。若零地址指令有M种,一地址指令有N种,则二地址指令最多有几种?若操作码位数可变,则二地址指令最多允许有几种?答:(1)根据操作数地址码为6位,则二进制指令中操作码的位数为16-6-6=4。这4位操作码可能有24=16中操作。由于操作码固定,
23、则除去零地址和一地址剩下的二地址指令最多有16-M-N种。(2)若操作码位数可变,则二地址、一地址和零地址的操作码长度分别为4位、10位和16位。则二地址指令最多允许有24-1种,留一位编码做扩张标志码使用。8.1CPU有哪些功能?画出其结构框图并简要说明每个部件的作用。答:CPU主要有取指令,分析指令和执行指令的作用。8.4设CPU内有这些部件:PC、IR、SP、AC、MAR、MDR和CU。试画出完成间接寻址的取数指令“LDAX”(将主存某地址单元的内容取至AC中)的数据流。答; PCMAR,M(MAR)MDR,(MDR)IR,PC+1PC,Ad(IR)MAR,M(MAR)MDR,MDRAd
24、(IR),Ad(IR)MAR,M(MAR)MDR,MDRAC9.1设CPU内有这些部件:PC、IR、AC、MAR、MDR和CU。(1)写出取值周期的全部微操作。(2)写出减法指令SUBX、取数指令LDAX、存数指令STAX(X均为主存地址)在执行阶段所需的全部微操作。答:(1)PCMAR,M(MAR)MDR,(MDR)IR,OP(IR)CU,(PC)+1PC。(2)减法指令SUB XAd(IR)MAR,1R,M(MAR)MDR,(ACC)-(MDR)ACC取数指令LDA XAd(IR)MAR,1R,M(MAR) MDR,MDRACC存数指令STA XAd(IR)MAR,1W,ACCMDR,MD
25、RM(MAR)9.3什么是指令周期、机器周期和时钟周期?三者有什么关系?答:CPU每取出并执行一条指令所需的全部时间叫指令周期;机器周期是确定指令执行过程的的一个基准时间,在此时间内所有指令的操作都能结束,通常安排机器周期长度等于访存周期;时钟周期是指计算机机器主振电路产生的脉冲信号的频率周期,它是计算机运行时最基本的时序单位,对应完成一个微操作所需时间,通常时钟周期等于计算机主频的倒数。10.10微指令的操作控制有几种编码方式?各有何特点?哪一种控制速度最快?答:1,直接编码方式;2,字段直接编码方式;3,字段间接编码方式;4,混合编码方式;5,其它直接编码方式最快,因为只要将其从控存中读出
26、就可直接由控制字段发送命令,但是会造成控存容量极大。1011什么是垂直型微指令?什么是水平型微指令?各有何特点?答:垂直型微指令是采用类似机器指令操作码的方式,在微指令字中,设置微操作码字段,由微操作码规定微指令的功能。通常一条微指令有1-2个微命令。水平型微指令是一次能定义执行多个并行操作的微命令。10.12能否说水平型微指令就是直接编码的微指令,为什么?答:不能说水平型微指令就是直接编码的微指令,因为符合水平型微指令特征的微指令都属于水平型微指令,常见的有:直接编码、字段直接编码、字段间接编码,及混合编码等。直接编码的微指令只是最典型的一种。10.13微指令的地址有几种形成方式?各有何特点?答:有四种形成方式:(1)(CMAR)+1CMAR:后续地址是连续的,为顺序地址,所以对微指令采用地址直接加一形成后续微指令地址。(2)微指令的下地址字段:由下地址字段直接给出。(3)指令寄存器:由操作码经微地址形成部件形成。(4)微程序入口地址:由硬件电路产生。