《计算机组成原理作业.pptx》由会员分享,可在线阅读,更多相关《计算机组成原理作业.pptx(31页珍藏版)》请在课桌文档上搜索。
1、计算机组成原理作业,第三章,3.5 设某机器字长8位,有两个数的石榴进制表示为9CH和FFH。试问:若它们分别表示为下列格式的机器数,其对应的十进制真值是多少?无符号整数 9CH=10011100B=128+16+8+4=156 FFH=11111111B=128+64+32+16+8+4+2+1=28-1=255原码表示的定点整数 9CH=10011100B=(16+8+4)=28 FFH=11111111B=(128+64+32+16+8+4+2+1)=(27-1)=127原码表示的定点小数 9CH=10011100B=0.0011100=(2-3+2-4+2-5)=0.21875 FFH
2、=11111111B=1111111=(2-1+2-2+2-3+2-4+2-5+2-6+2-7)=(1-2-7)补码表示的定点整数 9CH=10011100B=1100100=(64+32+4)=100 FFH=11111111B=(0000000+1)=0000001=1补码表示的定点小数 9CH=10011100B=0.1100100=(2-1+2-2+2-5)=0.78125 FFH=11111111B=(0.000000+1)=0.0000001=2-7=0.0078125,3.8 设某浮点数格式为:字长12位,阶码6位,用移码表示;尾数8位,用补码表示。阶码在前,尾数在后(包括数符)
3、,则按照此格式,求解以下问题。(1)已知X=25/64,Y=2.875求X、Y的规格化的浮点数表示形式。解:X=25/64=(11001/1000000)=0.110012-1,则:X浮=0,11111;1.1100100;Y=2.875=10.111B=0.10111210 则:Y浮=1,00010;0.1011100(2)已知Z的浮点数以十六进制表示为9F4H,则求Z的十进制真值。解:9F4H=100111110100 则阶码Z移=100111,则Z补=000111 尾数Z原=1.10100 故:Z=0.1010027=1010000B=(64+16)=80,第四章,4.28 设主存容量为
4、256K字,Cache容量为2K字,块长为4。(1)设计Cache地址格式,Cache中可装入多少块数据?(2)在直接映射方式下,设计主存地址格式。(3)在四路组相联映射方式下,设计主存地址格式。(4)在全相联映射方式下,设计主存地址格式。(5)若存储字长为32位,存储器按字节寻址,写出上述三种映射方式下主存的地址格式。,解:(1)主存256K字,则主存地址长度18位 Cache2K字,则Cache地址11位 块长4,则块内地址2位;Cache共有2K/4=512块,则Cache块地址9位 则Cache地址格式为:9位 2位 共11位(2)直接映射方式下主存地址格式:7位 9位 2位 总长18
5、位(3)四路组相联映射方式下主存地址格式:,共18位(4)全相联映射方式下主存地址格式 16位 2位 共18位(5)存储字长32位,即4B,则块长为16B 主存256K字为256K4B=1MB,20位地址,主存有1MB16B=128K个块 Cache2K字为2K4B=8KB,Cache有8KB16B=512个块,9位 7位 2位,直接映射方式主存地址格式 7位 9位 4位 共20位四路组相联映射方式主存地址格式 9位 7位 4位 共20位全相联映射方式主存地址格式 16位 4位 共20位,4.29 假设CPU执行某段程序时共访问Cache命中4800次,访问主存200次。已知Cache的存储周
6、期为30ns,主存的存取周期是150ns,求Cache的命中率及Cache-主存系统的平均访问时间和效率,试问该系统的性能提高了多少倍?解:Cache命中率=4800(4800+200)=96%平均访问时间=300.96+1500.04=34.8ns效率e=(3034.8)100%=86.2%性能提高了15034.8-1=3.3倍,4.32 设某机主存容量为4MB,Cache容量为16KB,每块有8个字,每字32位。设计一个四路组相连映射的Cache组织。(1)画出主存地址字段中各段的位数。设Cache的初态为空,CPU依次从主存第0,1,2,89号单元读出90个字(主存依次读出一个字),并重
7、复按此次序读8次,问命中率是多少?(2)若Cache的速度是主存速度的6倍,试问有Cache和无Cache相比,速度约提高多少倍?,解:(1)根据题意:每字块有8个字,每个字32位故主存地址字段中字块内地址字段为5位(25=32),字块大小为832b=32B=25B所以16KB的CACHE共有214B/25B=29块,即C=9。根据四路组相联映象2r=4得r=2 故q=c-r=9-2=7主存容量为4MB=222B,主存地址字段中主存字块标记位数为22-7-5=10位。主存地址字段各段格式为:主存字块标记(10位)组地址(7位)字块内地址(5位)(2)CACHE开始空,CPU访问0单元时肯定不命
8、中,会读取内存,并将内存所在块(0-7号单元)调入CACHE,CPU以后访问1-7号单元会命中,而访问8号单元又不命中,再替换.,所以,CPU在访问0-89号单元时会不命中8,16,87共12个单元。故命中率=(908-12)/(908)100%=98.4%(3)设主存存取周期为6t,CACHE存取周期为t,没有CACHE的访问时间为6t800,有CACHE的访问时间为t(720-12)+6 t12则速度提高倍数=(6t720)/(t(720-12)+6 t12)=6.5约提高了6.5-1=5.54倍,4.15 设CPU共有16根地址线,并用#MREQ(低电平有效)作访存控制信号,R/W#作读
9、/写命令信号(高电平读,低电平写)。现有这些存储芯片:ROM(2K8位,4K4位,8K8位),RAM(1K4位,2K8位,4K8位)及74LS138译码器和其它门电路。试从上述规格中选用合适的芯片,画出CPU和存储芯片的连接电路。要求如下:(1)最小4K地址为系统程序区,4096-16383地址范围为用户程序区。(2)指出选用的存储芯片类型及数量。(3)详细画出片选逻辑。解:(2)ROM 4K4位2片,位扩展;RAM 共12K8位容量,需要3片 4K8位芯片,字扩展;(3)地址范围ROM地址范围:0000H0FFFHRAM地址范围:1000H3FFFH,其中:RAM1地址范围1000H1FFF
10、H RAM2地址范围2000H2FFFH RAM3地址范围3000H3FFFH以上地址用A15A14A13A2A1A0展开,得到用于译码器连接用的高位地址A15=0,接译码器使能端,而138译码器的CBA接A14A13A12ROM 的A14A13A12=000 片选接138译码器Y0#RAM1的A14A13A12=001 片选接138译码器Y1#RAM2的A14A13A12=010 片选接138译码器Y2#RAM3的A14A13A12=011 片选接138译码器Y3#电路图略,4.17 写出1100对应的汉明码 汉明码:01111004.18 已知接收到的汉明码(按配偶原则配置)为110010
11、0,检查此代码是否有错?第几位错?解:所接收代码有错,错在第6位,正确的为01104.19 已知接收到下列汉明码,分别写出它们所对应的欲传送代码。(1)1100000(按偶性配置)答案:第3位有错,欲传送代码为1000(2)0011001(按奇性配置)答案:第7位有错,欲传送代码为1000,4.16 CPU假设同上题,现有8片8K8位的RAM芯片与CPU相连。(1)用74LS138译码器画出CPU和存储芯片的连接电路。(2)写出每片RAM的地址范围。(3)如果运行时发现不论往哪片RAM写入数据,以A000H为起始地址的存储芯片都有与其相同的数据,分析故障原因。解:(1)8片8K8位的RAM芯片
12、,由于每片地址线直接接A12A11.A0,故A15A14A13接128译码器CBA端,8片RAM字扩展,片选分别接Y7#.Y0#(2)每片地址范围如下:RAM0 0000H-1FFFH RAM1 2000H-3FFFH RAM2 4000H-5FFFH RAM3 6000H-7FFFHRAM4 8000H-9FFFH RAM5 A000H-BFFFH RAM2 C000H-DFFFH RAM3 E000H-FFFFH(3)原因:Y5#连接的芯片片选接地。后果是只能使用一半的RAM,P228页 5.2 有一个64K16位的存储器,由16K1位的DRAM芯片(芯片内是128128结构)构成,存储器
13、读/写周期为500ns。(1)需要多少片DRAM芯片?(2)采用异步刷新方式,如果单元刷新间隔不超过2ms,则刷新信号周期是多少?(3)如果采用集中刷新方式,存储器刷新一遍最少需要多少时间?,解:(1)设需要X片,则X=(6416)(161)=64,需要64片,采用字位扩展。扩展方法:将64个芯片分成4个组,每个组16片,组内位扩展(16K16位),组间字扩展(64K16位)。(2)由于芯片是128128结构,存储器以行位单位进行刷新,且刷新间隔2ms,所异步刷新在2ms内需要刷新128次,则,刷新信号周期为2ms128=15.625s(3)采用集中刷新方式,则集中刷新128行,存储器存取周期
14、500ns,则存储器全部刷新一遍需要500ns128=64s,P228页:5.3 某机字长16位,CPU地址总线18位,数据线16位,存储器按字编址,CPU的控制信号线有:MREQ#(存储器访问请求,低电平有效),R/W#(读写控制,低电平为写信号,高电平为读信号)。试问:(1)该机可以配备的最大主存容量为21816=256K16位。(2)该机主存采用64K1位的DRAM芯片(内部为4个128128阵列)构成最大主存空间,则共需(256K64K)(161)=64个芯片;若采用异步刷新方式,单元刷新间隔2ms,则刷新信号的周期为2ms128=15.625s。(3)若该机配备2K16位的Cache
15、,每块8B,采用2路组相联映射方式,试写出对主存地址各个字段的划分(标出各个字段的位数);若主存地址为462EH,则该地址可映射到Cache的哪一组?(4)若该机已有8K16位的ROM存储器,地址处于存储器的最高端,现在再用若干个16K8位的SRAM芯片形成128K16位的RAM存储区域,其实地址为00000H,假设SRAM芯片有CS#和WE#信号控制端;试写出RAM和ROM的地址范围,并画出SRAM、ROM与CPU的连接图,标明SRAM芯片个数、译码器的输入输出线、地址线、数据线、控制线及其连接。,解:(3)主存地址总位数256K=18位,每块大小8B,由于存储字长16位,所以8B=416,
16、则块内地址2位;Cache共有2K4=29个块,由于是2路组相联,则共分292=28个组,故组地址8位,则字块标记为18-8-2=8位。8位 8位 2位主存地址462EH=000100011000101110B,组地址为10001011B=139,即映射到Cache的第139组。,(4)解:RAM总容量128K16,SRAM芯片容量16K8,故需要进行字位扩展,共需要(128K16K)(168)=16片,共分8个组,每个组2个芯片。组内位扩展,组间字扩展。设ROM起始地址为X,因为最后一个单元地址为220-1,容量为8K=213 故:(220-1)-X+1=213 则,X=(220-1)-(2
17、13-1),地址为低位13个0,高位7个1 设设RAM最后地址为Y,因为第一个单元地址为0,容量为128K=217 故:Y-0+1=217 则,Y=217-1,地址为低位17个1,高位3个0A19A18A17A16 A15A14A13A12 A11A10A9A8 A7A6A5A4 A3A2A1A0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 RAM0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ROM1 1 1 1 1 1 1 1 1 1 1 1
18、1 1 1 1 1 1 1 1图略,5.5 某计算机的存储系统由Cache、主存和用于虚拟存储器的磁盘组成。CPU总是从Cache中获取数据。若所访问的字在Cache中,则存取它只需要20ns,将所访问的字从主存装入Cache需要60ns,而将它从磁盘装入主存则需要1200ns。假定Cache的命中率为90%,主存命中率为60%,计算该系统访问一个字的平均存取时间。,解:已知被访问字在Cache命中率为90%,则不在Cache而在主存命中率为(1-0.9)0.6=0.06不在Cache也不在主存中命中率为(1-0.9)0.4=0.04故系统访问一个字的平均存取时间=200.9+(20+60)0
19、.06+(20+60+1200)0.04=48.026S,5.8 计算机主存容量为256K字,Cache位8K字。主存与Cache之间采用组相联映射的方式,Cache的每组有4个行,每行有64个字。假设开始时Cache为空,CPU按顺序从主存地址为0,1、2、3、8447的单元执行“取”操作(不命中时采用将主存中含有该字的块送入Cache后,再从Cache中把需要的字读出送CPU的方法),然后重复执行20次。设Cache存取时间为主存时间的1/10,。替换使用LRU算法,计算上述操作总的存取时间和不使用Cache相比,速度提高多少倍?,解:根据已知条件,此采用4路组相连映射方式,且每个块为64
20、个字。则,主存共有256K64=214个块,Cache有8K64=27=128个块,4路组相连映射方式下Cache共分274=25=32个组。开始Cache空,当CPU访问0号单元时未命中,故将0到63号单元都调入Cache第1组的4块中任意一块,则随后访问的1-63号单元都命中。依次类推,随后的64,642,643,,64131单元共132个单元未命中,随后重复的20次都命中。则命中率=(8448-132)+844820)(844821)=99.97%设主存存取时间为10T,则CAche存取时间就为T,则不使用Cache总的存取时间为88482110T=1858080T;使用Cache后访问
21、时间=(884821-132)T+13210T=186996T则速度提高倍数=1858080186996-1=8.93,5.12 设主存容量为3个页面,进程对页面的需求序列为3,4,2,6,4,3,7,4,3,6,3,4,8,4,6,试用列表求分别采用FIFO和LRU+FIFO替换策略时的命中率。当主存容量增加到4个页面时,两种替换策略的命中率又是多少?,解:(1)3页面采用FIFO替换算法时:访问流3 4 2 6 4 3 7 4 3 6 3 4 8 4 61页 3 3 3 6 6 6 6 4 4 4 4 4 8 8 8 2页 4 4 4 4 3 3 3 3 6 6 6 6 4 4 3页 2
22、2 2 2 7 7 7 7 3 3 3 3 6共命中3次,则命中率为315=20%,解:(2)3页面采用LRU+FIFO替换算法时:访问流3 4 2 6 4 3 7 4 3 6 3 4 8 4 61页 3 3 3 6 6 6 7 7 7 6 6 6 8 8 8 2页 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3页 2 2 2 3 3 3 3 3 3 3 3 3 6共命中6次,则命中率为615=40%,解:(3)4页面采用FIFO替换算法时:访问流3 4 2 6 4 3 7 4 3 6 3 4 8 4 61页 3 3 3 3 3 3 7 7 7 7 7 7 7 7 6 2页 4 4
23、 4 4 4 4 4 3 3 3 3 3 3 3 3页 2 2 2 2 2 2 2 2 2 4 4 4 44页 6 6 6 6 6 6 6 6 6 8 8 8 共命中6次,则命中率为615=40%,软工第六章作业,6.2 已知 X=0.a1a2a3a4a5a6(ai为0或1),讨论下列几种情况时ai各取何值。(1)x=1/2 答案:a1=1,a2到a6不全为0(2)X=1/8 答案:a1到a3不全位0(3)1/4=X1/16 答案:a1必须为0,若a2=0,则当a3=0,则a4=1,a5、a6不全为0;当a3=1,则a4到a6随意。若a2=1,则当a3到a6为0 6.12 设浮点数格式为:阶码
24、5位(含1位符号位),尾数11位(含1位符号位),写出51/128,-86.5所对应的机器数。解:设X=51/128=0.0110011,Y=-86.5=-1010110.1(1)阶码和尾数都为原码 X原=1,0001;0.1100110000 Y原=0,0111;1.1010110100(2)阶码和尾数都为补码 X补=1,1111;0.1100110000 Y补=0,0111;1.0101001100(3)阶码为移码,尾数为补码 X移补=0,1111;0.1100110000 Y移补=1,0111;1.0101001100,6.17 设机器数字长8位(含1位符号位),对下列各机器数进行算术左
25、移一位、两位,算术右移一位、两位,讨论结果是否正确。解:移位后数据如下,验证转换为十进制数,左移是乘2,右移是除2,软工第六章作业,6.19 设机器数字长为8位(含1位符号位),用补码运算规则计算下列各题。(1)A=9/64,B=-13/32 求A+B 解:A=0.001001,B=-0.01101 A补=0.0010010,B补=1.1001100 则,A+B补=A补+B=0.001001+1.100110=1.101111 故:A+B=-0.010001(2)A=19/32,B=-17/128 求A-B解:A=0.10011,B=-0.0010001 A补=0.1001100,B补=1.1
26、101111,-B补=0.0010001 则,A-B补=A补+-B=0.10011+0.0010001=0.1011101 故:A-B=0.1011101,6.27 假设阶码取3位,尾数取6位(均不包含符号位),计算下列各题:(1)25(11/16)+24(-9/16)解:设X=25(11/16)=250.1011;X浮=00,101;00.101100 设Y=25(11/16)=250.1011;Y浮=00,100;11.011100对阶 因为,阶差=00,101+11,100=00,001所以对阶后,Y浮=00,101;11.1011100求和 X+Y补=00,101;00.011010左
27、规 X+Y补=00,100;00.110100 X+Y=+0.110124=+1101,6.27 假设阶码取3位,尾数取6位(均不包含符号位),计算下列各题:(2)2-3(13/16)-2-4(-5/8)解:设X=2-3(13/16)=2-30.1101;X浮=11,101;00.110100 设Y=2-4(-5/8)=2-4(-0.101000);Y浮=11,100;11.011000对阶 因为,阶差=11,101+00,100=00,001所以对阶后,Y浮=11,101;11.101100求和 X-Y尾补=X尾补+-Y尾补=00.110100+00.0101000=01.00100右规 X
28、-Y补=11,110;00.100100 X-Y=-0.10012-2=2-2(9/16),补充:,设X=0.1101,Y=-0.0110 求:解:X补=0.1101-X补=1.0011 2X补=0.110121 补=0,01;0.1101-2X补=-0.110121 补=0,01;1.0011 X/2补=0.01101-X/2补=-0.01101补=1.10011Y补=1.1010-Y补=0.0110 2Y补=-0.011021 补=-0.1100补=1.0100-2Y补=0.110121 补=0,01;0.1101 Y/2补=-0.0011补=1.1101-Y/2补=0.0011补=0.0
29、011-Y/4补=0.00011补=0.00011X移=1.1101 Y移=0.1010 2X/2补=0.1101,软工第七章作业,7.16 某机主机容量4M16位,且存储字长等于指令字长,若该机指令系统完成108种操作,操作码位数固定,且具有直接、间接、变址、基址、相对、立即等六种寻址方式,试回答以下问题:(1)画出一地址指令格式并指出各字段作用。(2)该指令直接寻址的最大范围。(3)一次间接寻址和多次间接寻址的寻址范围。(4)立即数的范围(十进制表示)。(5)相对寻址的位移量(十进制表示)(6)上述六种寻址方式的指令中哪一种执行时间最短,哪一种最长,为什么?哪一种便于程序浮动,哪一种最适合
30、处理数组问题?(7)如何修改指令格式使得寻址范围扩大到4M?(8)为了使一条转移指令能转移到主存任一位置,可采用什么措施?,解:(1)一地址指令格式为:OP 操作码字段,7位,可反映97种操作;M 寻址方式字段,3位,可反映6种寻址方式;A 形式地址字段,共16-7-3=6位。(2)直接寻址最大范围为26=64(3)由于存储字长16位,故一次寻址范围为216 若多次寻址,需要存储字的最高位来区别是否继续访问间接寻址,所以只有15位用来寻址,故寻址范围为215。(4)立即数的范围对有符号数是-32到+31,对无符号数是0到63。(5)相对寻址位移量是-32到+31。(6)立即数执行时间最短,间接
31、寻址执行时间最长,相对寻址有利于程序浮动,变址寻址的指令便于用户编址处理数组问题的程序。(7)要寻址达到4M,则地址需要22位。故可将指令改为双字长指令。即6+16=22(8)寻址4M的措施:双字长指令格式 采用一字长指令格式,采用基址寻址或变址寻址,基址寄存器及变址寄存器为22位可采用16位基址寄存器左移6位再和6位形式地址相加也可得到22位地址,从而寻址4M空间。,7.19 CPU内有32个32位的通用寄存器,设计一种能容纳64种操作的指令系统。假设指令字长等一机器字长,试回答一下问题:(1)如果主存可直接或间接寻址,采用“寄存器-存储器”型指令,能直接寻址的最大寻址空间是多少?画出指令格式并说明各段的意义。(2)在满足(1)的前提下,如果采用通用寄存器作基址寄存器,则上述寄存器-存储器型指令的指令格式有何特点?画出指令格式并指出这类指令可访问多大的存储空间?,参考答案:(1)31 26 25 21 20 19 1 0形式地址A为20位,可直接寻址220字。(2)采用基址寻址,指令格式为:31 26 25 21 20 19 18 14 13 0这种指令格式可以直接寻址64KB(214)内存,间接寻址232空间。,
链接地址:https://www.desk33.com/p-380113.html