计算机组成原理部分作业答案.ppt

上传人:xt****7 文档编号:3718672 上传时间:2019-12-22 格式:PPT 页数:52 大小:2.15MB
返回 下载 相关 举报
计算机组成原理部分作业答案.ppt_第1页
第1页 / 共52页
计算机组成原理部分作业答案.ppt_第2页
第2页 / 共52页
计算机组成原理部分作业答案.ppt_第3页
第3页 / 共52页
点击查看更多>>
资源描述
习题课,补充例题与部分作业答案,2.6,第三章作业,3.3略。注意手算乘法求和时越位进位。3.6见教材P37。注意真值负数以负号(-)表示,解:部分积乘数说明0000001010+000000末位为0,加00000000000000101右移1位+001010末位为1,加X0010100001010010右移1位+000000末位为0,加00001010000101001右移1位+001010末位为1,加X0011000001100100右移1位+110110Y0=1,加-X修正11.11000100X*Y补=1.11000100X*Y=-0.00111100,3.18用补码一位乘法计算X=0.1010,Y=-0.0110的积X*Y。补码一位乘法,X补=00.1010,-X补=11.0110,Y补=1.1010,解:部分积乘数附加位说明000000110100+00000000,加0000000000000011010右移1位+11011001,加-X补110110111011001101右移1位+00101010,加X补000101000010100110右移1位+11011001,加-X补111000111100010011右移1位+00000011,加01111000100X*Y补=1.11000100,X*Y=-0.00111100,3.18用补码一位乘法计算X=0.1010,Y=-0.0110的积X*Y。布斯法,X=00.1010,-X=11.0110,Y=1.1010,3.19X=-0.10110,Y=0.11111,用加减交替法原码一位除计算X/Y的商及余数。,解:|X|=00.10110|Y|=00.11111-Y补=11.00001被除数(余数)商操作说明00.10110000000开始情况+11.00001+-Y补11.10111000000不够减,商上011.01110000000左移1位+00.11111+|Y|00.01101000001够减商上100.11010000010左移+11.00001+-Y补11.11011000010不够减,商上011.10110000100左移+00.11111+Y补00.10101000101够减商上101.01010001010左移,被除数(余数)商操作说明01.01010001010左移+11.00001+-Y补00.01011001011够减商上100.10110010110左移+11.00001+-Y补11.10111010110不够减,商上0+00.11111余数是负则恢复余数+Y补00.10110注:余数为正则不用恢复余数余数商符号为10=1,既是负号故商值为-0.10110余数为-0.0000010110,3.20用原码两位乘法求X*Y。已知X=0.1011,Y=0.1101。,方案选择,检查和纠正一位错,检查两位错。按照海明码校验位的条件:2r-1k+rk=8,可得r=5.25-1=168+5=13设海明码为:H13H1,数据位为D8D1校验位为P5P1.H13H12H11H10H9H8H7H6H5H4H3H2H1P5D8D7D6D5P4D4D3D2P3D1P2P1P1=D1D2D4D5D7P2=D1D3D4D6D7P3=D2D3D4D8P4=D5D6D7D8P5=D1D2D3D4D5D6D7D8P1P2P3P4,3.27设有8位有效信息,编制海明校验线路,说明编码方法,分析所选方案有怎样的检错与纠错能力。若8位信息是01101101,海明码是多少?,S1=P1D1D2D4D5D7S2=P2D1D3D4D6D7S3=P3D2D3D4D8S4=P4D5D6D7D8P5=D1D2D3D4D5D6D7D8P1P2P3P4若8位信息位是01101101,海明码如下:P1=10101=1P2=11111=1P3=0110=0P4=0110=0P5=101101101100=1H13H12H11H10H9H8H7H6H5H4H3H2H1P5D8D7D6D5P4D4D3D2P3D1P2P11011001100111,3.27设有8位有效信息,编制海明校验线路,说明编码方法,分析所选方案有怎样的检错与纠错能力。若8位信息是01101101,海明码是多少?,第四章作业,4.5有一个512K16的存储器,由64K1的2164RAM(芯片内是4个128128结构),问:(1)总共需要多少个RAM芯片?总共需要:(512K16)/(64K1)=128(2)采用分散刷新方式,单元刷新间隔不超过2ms,则刷新信号的周期是多少?刷新时,2164中4个128128矩阵同时刷新,所以每128行为单元的刷新次数,2ms内需要128个刷新周期,每个周期长:2ms/128=15.625s,4.6某机器中,已知地址空间为0000H1FFFH的ROM区域,现在再用RAM芯片(8K4)形成一个16K8的RAM区域,起始地址为2000H,假设RAM有CS和WE控制端。CPU地址总线为A15A0,数据总线为D7D0,控制信号为R/W,MREQ,要求画出逻辑图。解:1)地址空间分析:如果一个CPU的地址线是A15A0,总地址空间为216,十六进制表示:0000HFFFFH。ROM占用的地址空间为0000H1FFFH,变为2进制:00000000000000000001111111111111空间的范围是213,就是23210=8K的存储空间,CPU的地址线是D7D0,8根,所以,ROM的容量是8K8。,2)芯片数量和字位扩展:由于从RAM芯片容量小于RAM区容量,需要字扩展;由于RAM芯片数据线4位,小于RAM区字长8,需要位扩展。一个芯片的容量是8K4,RAM区的容量是16K8,所以共需要芯片:(16K8)/(8K4)=4片。扩展方法:将2个RAM芯片重叠,构成一组(2片)8K8容量的RAM芯片组,实现位扩展。将2组RAM芯片,译码选择每组芯片,构成16K8的RAM区,实现字扩展。,3)地址空间的分配芯片地址线是A12A0,总地址空间为216。RAM区的容量是16K8,RAM区的地址线是A13A0,占用地址用十六进制表示:2000H5FFFH=2000H3FFFH(8KB)+4000H5FFFH(8KB)译码最小单位确定,首先确定芯片的最小地址空间=A12A0,为了今后扩充芯片的灵活性,将剩余的地址线全部参加译码,CPU地址线是A15A0,减去芯片的地址线,剩余的地址线为A15、A14、A13,(如果剩余4根地址线,就采用4-16译码),采用3-8译码,所以将整个CPU的64KB(A15A0)地址空间平均分割为8个8KB空间(88KB=64KB)。这样,每个芯片占用的地址空间如下:ROM芯片:0000H1FFFH译码器输出:CS0#RAM(1#):2000H3FFFFH译码器输出:CS1#RAM(2#):4000H5FFFH译码器输出:CS2#空闲:6000HFFFFH译码器输出:CS3#CS7#,4)连线图,MREQ#A15A14A13A12A0CPUD7D0R/W#,OE#译码器,A15,A14,A13,CS#ROM8K8,CS0#,CS1#,CS2#,CS7#,4.12设某主存储器访问一次存储器的时间如下:传送地址1个时钟周期,读写4个时钟周期,数据传送1个时钟周期,采用下述3种主存结构读写16个字的数据块,各需要多少时钟周期?(1)单字宽主存,一次只能读写一个字;(2)4字宽主存,一次可读写4个字,但CPU与主存的数据传送宽度为1个字;(3)4体交叉存储器,每个存储体为单字宽。解:(1)顺序方式:单字宽主存,一次读/写1个字,只能采用串行方式进行读写,16个字所需时间为:(1+4+1)16=96;(2)单体多字:4字宽主存,一次可读写4字,16个字需读写4次,但最后一次读出还需要增加3个时钟周期才能将数据送到CPU(前三次CPU收到四个返回数据中第一个就开始发下一次的地址。因此,对于前三次,收到的后三个数据传送时间与后面传送地址时钟周期、读写时钟周期重叠,不计算在总时间内):所需时间=4*6+3=27;(3)多体交叉:4体交叉存储器,每个存储体为单字宽:每个体访问4次,最后再加上3个时钟传送数据。总共需要6*4+3=27个时钟周期。(详见下图),最后一次地址到达,模块三开始读写,模块二开始读写,模块一开始读写,模块四开始读写,模块一开始传输数据,模块一数据传输结束,模块二开始传输数据,模块一读写结束,模块二读写结束,模块三读写结束,模块四读写结束,模块二数据传输结束,模块三开始传输数据,模块三数据传输结束,模块四开始传输数据,模块四传输数据结束,第二十七时钟周期,第二十四时钟周期,第十九时钟周期,图多体交叉存储器最后一次读写时序,第五章作业,5.2基址寄存器的内容为2000H,变址寄存器内容03A0H,指令的地址码部分是3FH,当前正在执行的指令所在地址为2B00H,请求出变址编址(考虑基址)和相对寻址两种情况的访问有效地址。解:1)变址编址:EA=2000H+03A0H+003FH=23DFH2)相对寻址:EA=2B00H+3FH=2B3FH补充,如果指令地址码部分是:8FHEA=2B00H+FF8FH=2A8FH,5.3接上题。(1)设变址编址用于取指令,相对编址用于转移指令,存储器内存放的内容如下:地址内容003FH2300H2000H2400H203FH2500H233FH2600H23A0H2700H23DFH2800H2B00H063FH请写出从存储器中所取得的数据以及转移地址。,解:变址编址:操作数=2800H相对寻址:转移地址=2B3FH,5.3接上题。(2)若采用直接编址,请写出从存储器中取出的数。考虑基址寄存器:EA=2000H+03A0H操作数=(23A0H)=2700H不考虑基址寄存器:EA=03A0H操作数=(03A0H)=2300H,5.8已知Pentium微处理器各段寄存器的内容如下:DS=0800H,CS=1800H,SS=4000H,ES=3000H。又disp字段的内容为2000H。请计算:(1)执行MOV指令,且已知为直接寻址,请计算有效地址。(2)IP(指令指针)的内容为1440,请计算出下一条指令的地址(假设顺序执行)。(3)今将某寄存器内容直接送入堆栈,请计算出接收数据的存储器地址。解:(1)有效地址=DS*10H+DISP=8000H+2000H=A000H(2)下一条指令的地址=CS*10H+1440+“1”=19441H(3)栈顶=SS*10H+SP-2=40000H+0000H-2=3FFFEH,第六章作业,6.1CPU结构如下图所示,其中有一个累加寄存器AC、一个状态条件寄存器和其他4个寄存器,各部分之间的连线表示数据通路,箭头表示信息传送方向。要求:(1)标明图中a、b、c、d这4个寄存器的名称。(2)简述指令从主存取出到产生控制信号的数据通路。(3)简述数据在运算器和主存之间进行存/取访问的数据通路。,6.2设某计算机的运算控制器逻辑图6.6,控制信号见表6.1,指令格式如下:试写出下述三条指令的微操作信号。(1)JMP(无条件转移到(rs1)+disp)(2)load(从(rs1)+disp指示的内存单元取数,送rs保存)(3)store(把rs的内容送到(rs1)+disp指示的内存单元),)计算地址微指令rs1-GR,(rs1)-ALU,disp-ALU,“”ALU-PC,解:(1)JMP(无条件转移到(rs1)+disp指定的地址)首先确定微指令条数,取指微指令,必不可少,而且必须是第一条微指令。接下来,需要做(rs1)+disp-PC操作参考图6.6,需要使用ALU一次,故再需要一条微指令。微操作:rs1-GR,(rs1)-ALU,加法器左操作数disp-ALU加法器右操作数“”ALU-PC,1)取指微指令PC-ABADS=1M/IO#=1W/R#=0DB-IRPC+1,(2)load(从(rs1)+disp指示的内存单元取数,送rs保存)首先确定微指令条数,取指微指令,必不可少,而且必须是第一条微指令。接下来,需要做(rs1)+disp操作,然后根据计算结果访问存储器,取回的操作数还需要保存到寄存器rs中。参考图6.6,使用一次ALU需要一条微指令,访问存储器还需要一条微指令。必须先算地址,再访问存储器,最后保存结果。还需要计算地址微指令,访问存储器微指令,保存结果微指令。,1)取指微指令(略)2)计算地址微指令rs1-GR,(rs1)-ALU,disp-ALU,“”ALU-AR,3)访问存储器微指令AR-AB,ADS=1,M/IO#=1W/R#=0,DB-DR,4)保存结果微指令DR-ALU,rs-GR,“+”ALU-rs说明:ALU的左操作数是DR内容,ALU的右操作数没有,就等于送做加法就等于把DR-rs,(3)store(把rs的内容送到(rs1)+disp指示的内存单元)解:首先确定微指令条数,取指微指令,必不可少,而且必须是第一条微指令。接下来,需要做(rs1)+disp操作,然后根据计算结果访问存储器。参考图6.8,使用一次ALU需要一条微指令,访问存储器还需要一条微指令。必须先算地址,再访问存储器。但是写存储器时,必须保证数据要在DB之上,而到达DB只能通过DR,所以写存储器之前还要占用ALU一次,还需要一条微指令。还需要计算地址微指令,送操作数微指令,访问存储器微指令。,1)取指微指令(略),2)计算地址微指令rs1-GR,(rs1)-ALU,disp-ALU,“”ALU-AR,31,6.5某机有8条微指令I1I8,每条微指令所含的微命令控制信号如下表所示。aj分别代表10种不同性质的微命令信号,假设一条微指令的操作控制字段为8位,请安排微命令的控制字段格式,并将全部微指令代码化。,32,解:题中有10不同性质的微命令,但微指令的操作控制字段只有8位,不能采用直接控制法。选用字段直接编译法比较合适。将互斥的微命令安排在同一小段,b、i、j互斥,安排在同一小段内,e、f、h也互斥,也安排在一个小段内;其它微命令(a、c、d、g)因为相容,作为直接控制微命令。于是形成如下微指令控制字段格式.,33,将8条微指令代码化可以得到:I1:11100101acdgbeI2:10110010acdgfI3:00000111acdgbhI4:01000000acdgI5:01011001acdgieI6:10001111acdgjhI7:01100011acdghI8:10000111acdgbh,34,补充:微程序控制单元的设计举例,微程序控制器的操作控制信号由微指令产生。微程序控制单元的设计,主要任务是编写各条机器指令的微程序确定微程序的控制方式:根据设计要求,确定是采用水平微程序设计、还是垂直微程序设计?微指令是串行执行、还是并行执行?拟定微指令系统:确定控制中有哪些微指令?用什么样的格式表示这些微指令?比如,微指令字段的划分、编码方式的选择、初始微地址和后继微地址的形成方法等编制微程序:对微指令系统、微指令格式进行核对、审查、修改、优化之后,便可以编制机器指令的微程序微程序代码化:将修改完善的微程序转换成二进制代码写入控制存储器:最后将二进制代码按地址写入控制存储器,35,举例(一),例1、某计算机为双总线结构,所有数据传送都通过ALU,ALU具有下列功能,CPU结构如图所示。ALU六种功能:F=A;F=BF=A+1;F=B+1F=A-1;F=B-1写出转子程序指令(JSR)取指和执行周期的微操作。JSR指令占两个字,第一个字是操作码,第二个字是子程序的入口地址。返回地址保存在堆栈中,堆栈指针始终指向栈顶。在图中,Y为暂存器,PC为程序计数器,MAR为地址寄存器,MDR为数据缓冲寄存器,IR为指令寄存器。,解:转子程序指令的第一个为操作码、第二个为子程序的入口地址。PCB,F=B,FMAR,Read;读指令的第一个字MDRB,F=B,FIRPCB,F=B+1,FPCPCB,F=B,FMAR,Read;读指令的第二个字MDRB,F=B,FYPCB,F=B+1,FPCSPB,F=B-1,FSP,FMAR;保护断点并修改栈指针PCB,F=B,FMDR,WriteYA,F=A,FPC;子程序首地址送PC本计算机中,九组微操作不同一周期,可构成水平型微指令,37,举例(二),例二、图32为一微程序流程,每个方框代表一条微指令,分别用字符AP表示其执行的微操作,根据给定的微程序流程设计微指令的顺序控制字段(BCF和BAF),并为每条微指令分配一个地址。,解:程序有两个分支处,第一处(C)有4个分支,由机器指令操作码的I1I0两位决定后继地址,分别指向4条不同的指令;第二处(E)有2个分支,根据运算结果Z的值决定,分别指向2条不同指令,因此,微指令顺序控制部分中的测试字段应有2位来分别对应2处测试。又因为共有16条微指令,所以下址字段需要4位。,微地址分配的关键是带有分支的微指令。下址字段具有一定的约束条件,一般要选择测试条件所控制的那几位为0,目的是简化地址的修改逻辑。由于微指令C按机器指令码I1I0实现4路分支,所以微指令C的下址的约束条件可选择末两位为0。若C的下址选择为0100。后继的4条微指令地址就分别为0100、0101、0110、0111,末两位就是I1I0的值。Z按同样的办法分配,后继微地址选择1010、1011。,39,后继地址分配举例,余下的微指令地址没有约束条件,可以任意分配。但一般按微程序流程从小到大,把控制存储器中没有分配的微地址分配给不同的微指令,就得到全部微指令地址。,请注意区分微指令自己的微地址和它所指向的下一条微指令的微地址!,40,ADD指令的第一个字是操作码和寄存器地址,第二个字是立即数。JMP指令第一个字是操作码,第二个字是转移的直接地址。,补充:硬布线控制器设计举例,例:设计实现ADD和JMP指令的硬布线控制器指令系统,模型计算机的系统结构框图,三总线:主存总线,负责CPU与主存的信息传送IO总线,负责IO设备之间以及IO设备与CPU之间的信息传送DMA总线,直接主存访问总线,它负责高速外部设备与主存的信息传送,单、双、三总线结构,微机系统总线,模型计算机的系统结构框图,(1)ADD指令执行分为6个机器周期完成:M0:将当前指令地址送地址寄存器,程序计数器指向指令下一字地址PC-B、B-AR,PC+1;M1:完成从内存中取出指令送指令寄存器,并由指令译码器译码;M-R、B-IR,J1;(IR)=01010000ADDM2:将指令第二个字的地址送地址寄存器,且PC指向下一指令;PC-B、B-AR,PC+1;ADDM3:从内存取出指令的第二个字即立即数,并送运算单元ALU;M-R,B-DA1;DA1=00000110ADDM4:将另一个操作数R0的内容送运算单元ALU;R0-B,B-DA2;DA2=(R0)ADDM5:完成运算单元的加法操作并将结果存放在寄存器R0;ALUS3S2S1S0MCi(F=A+B),ALU-B,B-R0;,2、指令执行过程,(2)JMP指令执行分为4个机器周期完成,第一和第二个机器周期完成与ADD指令一样(该机器所有指令都相同)的操作,也就是取指令的操作。M0:PC-B,B-AR,PC+1;(取指令地址)M1:M-R、B-IR,J1;(IR)=10000000(取指令并译码)第三个机器周期M2实现将指令的第二个字地址送地址寄存器,且使程序计数器指向下一条指令地址;JMPM2:PCAR,PC+1PC;(取指令第二字地址)第四个机器周期M3完成从内存取出指令的第二个字即转移地址送PC,实现转移。JMPM3:M-R,B-PC;PC=00000100(取转移地址并执行转移),取指令公共操作:M0:PC-B#,B-AR,PC+1;M1:M-R,B-IR,;ADD指令:ADDM2:PC-B#,B-AR,PC+1;ADDM3:M-R#,B-DA1;ADDM4:R0-B#,B-DA2;ADDM5:ALUS3S2S1S0MCi(F=A加B),ALU-B#,B-R0;JMP指令:JMPM2:PC-B#,B-AR,PC+1;JMPM3:M-R#,B-PC#;,模型计算机的硬布线控制器的电路框图,51,五条指令的硬布线控制部件,指令流程图:一个方框代表一个CPU周期,菱形符号表示某种判别或测试,时间上依附于与它相邻的前面一个方框的CPU周期,不单独占用时间。“”表示公操作,如指令执行结束后,CPU对外设中断请求的处理等。,Q5Q4Q3Q2Q1Q0,CPEPLMERLIEILAEASUEULBLO,&,&,&,&,I7I6I5I4,CLA,ADD,STA,JMP,NOP,T0T1T2T3T4T5,CLK,CLR,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,&,1,1,T5T4T3T2T1T0,五条指令硬布线控制部件:,1,1,1,1,I7I6I5I4,IR,译码器,控制矩阵,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!