计算机组成原理 习题答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1.4冯诺依曼型计算机的主要设计思想是什么?它包括哪些主要组成部分?冯诺依曼计算机的主要设计思想是:存储程序并按地址顺序执行。冯诺依曼计算机主要包括:存储器、运算器、控制器、输入和输出五部分组成。1.5什么是存储容量?什么是单元地址?什么是数据字?什么是指令字?存储容量存储器所能保存二进制数据的总数,常用单位为KB、MB等。单元地址用于识别存储器中每个存储单元的编号,即单元地址。数据字表示计算机所要处理数据的计算机字,称为数据字。指令字表示一条指令的计算机字,称为指令字。1.6什么是指令?什么是程序?指令:由操作码和操作数两部分构成,能够表示计算机中的一个基本操作的代码或二进制串。程序:用于求解某一问题的一串指令序列,称为该问题的计算程序,简称为程序。1.7指令和数据均存放在内存中,计算机如何区分它们是指令还是数据?计算机对指令和数据的区分是依靠指令的执行阶段来决定的;在取指阶段,从存储器中读取的均是CPU要执行的指令;在执行阶段,从存储器中读取的一定是指令执行所需要的操作数;1.8什么是内存?什么是外存?什么是CPU?什么是适配器?简述其功能。内存:用于存放系统当前运行所需要的程序和数据的半导体存储器,称为内存储器,简称内存;外存:用于存放程序和数据,但不能被CPU直接访问的大容量存储器,称为外存储器,简称为外存;外存一般包括磁盘存储器和光盘存储器。CPU:运算器和控制器合称为中央处理器,简称CPU。适配器:主机和不同速度的外设之间的一种部件,用于主机和外设之间的信息转换。2.1用8位编码表示下列各整数的原码、反码、补码。真值原码反码补码-35-0100011101000111101110011011101127+1111111011111110111111101111111-127-1111111111111111000000010000001-1-00000011000000111111110111111112.2设[X]补=a7.a6a5···a0,其中ai取0或1,若要X-0.5,求a0a1a2···a6的取值。①若a7=0,则X为正数,显然a6···a0取任何值,X均大于-0.5。②若a7=1,则X为负数,[X]移=0.a6a5···a0∵-0.5D=-0.100000B,则[-0.5D]移=0.100000∴若要X-0.5,即等价于[X]移[-0.5D]移即0.a6a5···a00.100000,因此必须是a5···a2不全为0结论:如果a7=0,a6···a0取任何值均可;如果a7=1,必须满足a6=1且a5···a0不全为0。2.3有一个字长为32位的浮点数,符号位1位;阶码8位,用移码表示;尾数23位,用补码表示;基数为2。请写出:(1)最大数的二进制表示(2)最小数的二进制表示(3)规格化数所能表示的数的范围。(1)最大值(最大正数)机器数形式:01111111111111111111111111111111真值:(1-2-23)*2127二进制表示:x=(1-0.00000000000000000000001)*21111111(2)最小值(最小负数)机器数形式:11111111100000000000000000000000真值:-1*2127二进制表示:x=-1*21111111(3)规格化数表示范围最大正数:01111111111111111111111111111111即x=(1-2-23)*2127最小正数:00000000010000000000000000000000即x=2-1*2-128最大负数:10000000001111111111111111111111即x=-(2-1+2-23)*2-128最小负数:11111111100000000000000000000000即x=-1*2127所以规格化数的正数范围为:2-129~(1-2-23)*2127,负数范围为:-2127~-(2-1+2-23)*2-1282.4将下列十进制数表示成IEEE754标准的32位浮点规格化数。(1)27/64(2)-27/64(1)27/64=27×(1/64)=(00011011)2*2-6=0.011011B=1.1011×2-2e=-2,则E=e+127=125∴规格化数为符号位阶码(8)尾数(23)00111110110110000000000000000000(2)-27/64=-0.011011B=-1.1011×2-2∴规格化数为符号位阶码(8)尾数(23)101111101101100000000000000000002.5已知x和y,用变形补码计算x+y,同时指出结果是否溢出。(1)x=11011y=00011(2)x=11011y=-10101(3)x=-10110y=-00001(1)[x]补=0011011,[y]补=0000011∴[x+y]补=0011110,未溢出(2)[x]补=0011011,[y]补=1101011∴[x+y]补=0000110,未溢出(3)[x]补=1101010,[y]补=1111111∴[x+y]补=1101001,未溢出2.6已知x和y,用变形补码计算x-y,同时指出结果是否溢出。(1)x=11011y=-11111(2)x=10111y=11011(3)x=11011y=-10011(1)[x]补=0011011,[-y]补=0011111∴[x-y]补=0111010,溢出(上溢)(2)[x]补=0010111,[y]补=0011011,[-y]补=1100101∴[x-y]补=1111100,未溢出(3)[x]补=0011011,[y]补=1101101,[-y]补=0010011∴[x-y]补=0101110,溢出(上溢)2.7用原码阵列乘法器、补码阵列乘法器分别计算x×y。(1)x=11011y=-11111(2)x=-11111y=-11011(1)输入数据的原码:[x]原=011011[y]原=111111符号位单独运算:0⊕1=1算前求补器输出:|x|=11011|y|=10011乘法阵列:|x|×|y|=1101000101加上乘积符号位1,得[x×y]原=11101000101即x×y=-1101000101(2)x=-11111y=-11011输入数据的原码:[x]原=111111[y]原=111011符号位单独运算1⊕1=0算前求补器输出:|x|=11111|y|=11011乘法阵列:|x|×|y|=1101000101加上乘积符号位0,得[x×y]原=01101000101即x×y=11010001013.1设有一个具有20位地址和32位字长的存储器,问:(1)该存储器能存储多少个字节的信息?存储容量=存储单元个数×每单元字节数=(2)如果存储器由512K×8位SRAM芯片组成,需要多少片?由512K×8位的芯片构成1M×32位的存储器,需要做字位扩展;其中,位扩展——需要4片基本芯片构成512K×32位的存储组;字扩展——需要2组存储组构成1M×32位的存储器;因此共需要2×4=8片(3)需要多少为地址作芯片选择?字扩展时使用了2组存储组,因此只需1位地址做芯片选择,每次同时选择4片位扩展的基本芯片。3.2已知某64位机主存采用半导体存储器,其地址码为26位,若使用256K×16位的DRAM芯片组成该机所允许的最大主存空间,并选用模块板结构形式,问:(1)若每个模块板为1024K×64位,共需几个模块板?(2)每个模块板内共有多少DRAM芯片?(3)主存共需多少DRAM芯片?CPU如何选择各模块板?主存共需64×16=1024块由高位地址选模块,A0~A19用于地址线,A20~A25用于译码控制。3.3用16K×8位的DRAM芯片构成64K×32位存储器,问:(1)画出该存储器的组成逻辑框图。由16K×8位的芯片构成64K×32位的存储器,共需16片基本芯片,其中每4片构成一个存储组,存储器共由4个存储组构成;因此,4个存储组的片选信号应由最高两位地址A14和A15产生;该存储器的组成逻辑框图如下:64个模块264*264*2620261616*2*264*281020(2)设存储器读/写周期为0.5us,CPU在1us内至少要访问一次。试问:采用哪种刷新方式比较合理?两次刷新的最大时间间隔是多少?对全部存储单元刷新一遍所需的实际刷新时间是多少?由于16K×8位的DRAM芯片内部用128×(128×8)的矩阵构成若采用集中刷新,则有128行×0.5us=64us的死时间,不合适;若采用分散刷新,则每访存一次需要1us,也不合适;所以采用异步式刷新方式。刷新时,由于每次刷新存储矩阵的1行因此,刷新间隔为:2ms/128=0.015625ms=15.625us,如果取15.6us作为实际的刷新间隔,则刷新一遍实际所用时间为:15.6us×128=1996.8us=1.9968ms3.4(3)采用异步刷新方式,如单元刷新间隔不超过8ms,则刷新信号周期是多少?刷新信号周期:存储芯片刷新一行的时间间隔;128K×8的DRAM芯片,行地址为9位,因此,共29=512行;异步刷新方式:在一个刷新周期分散地刷新所有行;则刷新信号周期=8ms/512=15.5us3.6用32K×8位的EPROM芯片组成128K×16位的只读存储器,试问:(1)数据寄存器多少位?因为系统数据总线为16位,所以数据寄存器16位(2)地址寄存器多少位?因为存储器容量为128K,需系统地址总线17位,所以地址寄存器17位(3)共需多少个EPROM芯片?所需芯片总数:(128K/32K)×(16/8)=8片CS3CS2CS0CS1A13~A0D0~D7/WE3.9CPU执行一段程序时,cache完成存取的次数为2420次,主存完成存取的次数为80次,已知cache存储周期为40ns,主存存储周期为240ns,求cache/主存系统的效率和平均访问时间。命中率:h=Nc/(Nc+Nm)=2420/(2420+80)=0.968主存与Cache的速度倍率:r=tm/tc=240ns/40ns=6访问效率:e=1/(r+(1-r)h)=1/(6+(1-6)×0.968)=86.2%平均访问时间:ta=tc/e=40ns/0.862=46.4ns3.10已知cache存储周期40ns,主存存储周期200ns,cache/主存系统平均访问时间为50ns,求cache的命中率是多少?由ta=htc+(1-h)tm,可得4-1ASCII码是7位,如果设计主存单元字长为32位,指令字长为12位,是否合理?为什么?答:不合理。一般,存储字长和指令字长最好均是字节的整数倍,以便于从内存单元中存取和有效地利用存储空间。因此,将指令字长设计为16位比较合适。4-2.假设某计算机指令长度为20位,具有双操作数,单操作,无操作数三类指令形式,每个操作数地址规定用六位表示。若现已设计出m条双操作数指令,n条无操作数指令,问:(1)若操作码字段固定为8位,则最多可设计出多少条单操作数指令?答:单操作数指令条数:28-m-n条(2)若操作码字段长度可变,则最多可设计出多少条单操作数指令?答:设单操作数指令条数为k条,则[(28-m)×26–k]×26≥n,即k≤(28-m)×26–n/264-6一种单地址指令格式如下所示,R变址寄存器,R1基址寄存器,PC程序计数器,填写下列寻址方式寻址方式IX有效地址E直接寻址000E=D相对寻址001E=(PC)+D变址寻址010E=(R)+D基址寻址011E=(R1)+D间接寻址100E=(D)基址间接寻址111E=((R1)+D)%75.932004020050mcmatttth4-9某机字长为32位,CPU中有16个32位通用寄存器,设计一种能容纳64种操作的指令系统,如果采用通用寄存器作为基址寄存器,则RS型指令的最

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功