您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 计算机组成原理 第四版课后习题答案(完整版)
第一章1.比较数字计算机和模拟计算机的特点。解:模拟计算机的特点:数值由连续量来表示,运算过程是连续的;数字计算机的特点:数值由数字量(离散量)来表示,运算按位进行。两者主要区别见P1表1.1。2.数字计算机如何分类?分类的依据是什么?解:分类:数字计算机分为专用计算机和通用计算机。通用计算机又分为巨型机、大型机、中型机、小型机、微型机和单片机六类。分类依据:专用和通用是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。通用机的分类依据主要是体积、简易性、功率损耗、性能指标、数据存储容量、指令系统规模和机器价格等因素。3.数字计算机有那些主要应用?(略)4.冯.诺依曼型计算机的主要设计思想是什么?它包括哪些主要组成部分?解:冯.诺依曼型计算机的主要设计思想是:存储程序和程序控制。存储程序:将解题的程序(指令序列)存放到存储器中;程序控制:控制器顺序执行存储的程序,按指令功能控制全机协调地完成运算任务。主要组成部分有:控制器、运算器、存储器、输入设备、输出设备。5.什么是存储容量?什么是单元地址?什么是数据字?什么是指令字?解:存储容量:指存储器可以容纳的二进制信息的数量,通常用单位KB、MB、GB来度量,存储容量越大,表示计算机所能存储的信息量越多,反映了计算机存储空间的大小。单元地址:单元地址简称地址,在存储器中每个存储单元都有唯一的地址编号,称为单元地址。数据字:若某计算机字是运算操作的对象即代表要处理的数据,则称数据字。指令字:若某计算机字代表一条指令或指令的一部分,则称指令字。6.什么是指令?什么是程序?解:指令:计算机所执行的每一个基本的操作。程序:解算某一问题的一串指令序列称为该问题的计算程序,简称程序。7.指令和数据均存放在内存中,计算机如何区分它们是指令还是数据?解:一般来讲,在取指周期中从存储器读出的信息即指令信息;而在执行周期中从存储器中读出的信息即为数据信息。8.什么是内存?什么是外存?什么是CPU?什么是适配器?简述其功能。解:内存:一般由半导体存储器构成,装在底版上,可直接和CPU交换信息的存储器称为内存储器,简称内存。用来存放经常使用的程序和数据。外存:为了扩大存储容量,又不使成本有很大的提高,在计算机中还配备了存储容量更大的磁盘存储器和光盘存储器,称为外存储器,简称外存。外存可存储大量的信息,计算机需要使用时,再调入内存。CPU:包括运算器和控制器。基本功能为:指令控制、操作控制、时间控制、数据加工。适配器:连接主机和外设的部件,起一个转换器的作用,以使主机和外设协调工作。9.计算机的系统软件包括哪几类?说明它们的用途。解:系统软件包括:(1)服务程序:诊断、排错等(2)语言程序:汇编、编译、解释等(3)操作系统(4)数据库管理系统用途:用来简化程序设计,简化使用方法,提高计算机的使用效率,发挥和扩大计算机的功能及用途。10.说明软件发展的演变过程。(略)11.现代计算机系统如何进行多级划分?这种分级观点对计算机设计会产生什么影响?解:多级划分图见P16图1.6。可分为:微程序设计级、一般机器级、操作系统级、汇编语言级和高级语言级。用这种分级的观点来设计计算机,对保证产生一个良好的系统结构是有很大帮助的。12.为什么软件能够转化为硬件?硬件能够转化为软件?实现这种转化的媒介是什么?(略)13.计算机应用与应用计算机在概念上等价吗?用学科角度和计算机系统的层次结构来寿命你的观点。(略)第二章1.写出下列各数的原码、反码、补码、移码表示(用8位二进制数)。其中MSB是最高位(又是符号位)LSB是最低位。如果是小数,小数点在MSB之后;如果是整数,小数点在LSB之后。(1)-35/64(2)23/128(3)-127(4)用小数表示-1(5)用整数表示-1解:(1)先把十进制数-35/64写成二进制小数:(-35/64)10=(-100011/1000000)2=(-100011×2-110)2=(-0.100011)2令x=-0.100011B∴[x]原=1.1000110(注意位数为8位)[x]反=1.0111001[x]补=1.0111010[x]移=0.0111010(2)先把十进制数23/128写成二进制小数:(23/128)10=(10111/10000000)2=(10111×2-111)2=(0.0001011)2令x=0.0001011B∴[x]原=0.0001011[x]反=0.0001011[x]补=0.0001011[x]移=1.0001011(3)先把十进制数-127写成二进制小数:(-127)10=(-1111111)2令x=-1111111B∴[x]原=1.1111111[x]反=1.0000000[x]补=1.0000001[x]移=1.0000001(4)令x=-1.000000B∴原码、反码无法表示[x]补=1.0000000[x]移=0.0000000(5)令Y=-1=-0000001B∴[Y]原=10000001[Y]反=11111110[Y]补=11111111[Y]移=011111112.设[X]补=a0,a1,a2…a6,其中ai取0或1,若要x>-0.5,求a0,a1,a2,…,a6的取值。解:a0=1,a1=0,a2,…,a6=1…1。3.有一个字长为32位的浮点数,阶码10位(包括1位阶符),用移码表示;尾数22位(包括1位尾符)用补码表示,基数R=2。请写出:(1)最大数的二进制表示;(2)最小数的二进制表示;(3)规格化数所能表示的数的范围;(4)最接近于零的正规格化数与负规格化数。解:(1)11111111110111111111111111111111(2)11111111111000000000000000000000(3)11111111110111111111111111111111~01111111111000000000000000000000(4)00000000000000000000000000000001~000000000011111111111111111111114.将下列十进制数表示成浮点规格化数,阶码3位,用补码表示;尾数9位,用补码表示。(1)27/64(2)-27/64解:(1)27/64=11011B×=0.011011B=0.11011B×浮点规格化数:11110110110000(2)-27/64=-11011B×=-0.011011B=-0.11011B×浮点规格化数:111110010100005.已知X和Y,用变形补码计算X+Y,同时指出运算结果是否溢出。(1)X=0.11011Y=0.00011(2)X=0.11011Y=-0.10101(3)X=-0.10110Y=-0.00001解:(1)先写出x和y的变形补码再计算它们的和[x]补=00.11011[y]补=00.00011[x+y]补=[x]补+[y]补=00.11011+00.00011=0.11110∴x+y=0.1111B无溢出。(2)先写出x和y的变形补码再计算它们的和[x]补=00.11011[y]补=11.01011[x+y]补=[x]补+[y]补=00.11011+11.01011=00.00110∴x+y=0.0011B无溢出。(3)先写出x和y的变形补码再计算它们的和[x]补=11.01010[y]补=11.11111[x+y]补=[x]补+[y]补=11.01010+11.11111=11.01001∴x+y=-0.10111B无溢出6.已知X和Y,用变形补码计算X-Y,同时指出运算结果是否溢出。(1)X=0.11011Y=-0.11111(2)X=0.10111Y=0.11011(3)X=0.11011Y=-0.10011解:(1)先写出x和y的变形补码,再计算它们的差[x]补=00.11011[y]补=11.00001[-y]补=00.11111[x-y]补=[x]补+[-y]补=00.11011+00.11111=01.11010∵运算结果双符号不相等∴为正溢出X-Y=+1.1101B(2)先写出x和y的变形补码,再计算它们的差[x]补=00.10111[y]补=00.11011[-y]补=11.00101[x-y]补=00.10111+11.00101=11.11100∴x-y=-0.001B无溢出(3)先写出x和y的变形补码,再计算它们的差[x]补=00.11011[y]补=11.01101[-y]补=00.10011[x-y]补=[x]补+[-y]补=00.11011+00.10011=01.01110∵运算结果双符号不相等∴为正溢出X-Y=+1.0111B7.用原码阵列乘法器、补码阵列乘法器分别计算X×Y。(1)X=0.11011Y=-0.11111(2)X=-0.11111Y=-0.11011解:(1)用原码阵列乘法器计算:[x]补=0.11011[y]补=1.00001(0)11011×)(1)00001----------------------------------(0)11011(0)00000(0)00000(0)00000(0)00000(0)(1)(1)(0)(1)(1)-----------------------------------------(1)0010111011[x×y]补=1.0010111011∴x×y=-0.11010001018.用原码阵列除法器计算X÷Y。(1)X=0.11000Y=-0.11111(2)X=-0.01011Y=0.11001解:(1)[x]原=[x]补=0.11000[-∣y∣]补=1.00001被除数X0.11000+[-∣y∣]补1.00001----------------------余数为负1.11001→q0=0左移1.10010+[|y|]补0.11111----------------------余数为正0.10001→q1=1左移1.00010+[-|y|]补1.00001----------------------余数为正0.00011→q2=1左移0.00110+[-|y|]补1.00001----------------------余数为负1.00111→q3=0左移0.01110+[|y|]补0.11111----------------------余数为负1.01101→q4=0左移0.11010+[|y|]补0.11111----------------------余数为负1.11001→q5=0+[|y|]补0.11111----------------------余数0.11000故[x÷y]原=1.11000即x÷y=-0.11000B余数为0.11000B×9.设阶为5位(包括2位阶符),尾数为8位(包括2位数符),阶码、尾数均用补码表示,完成下列取值的[X+Y],[X-Y]运算:(1)X=×0.100101Y=×(-0.011110)(2)X=×(-0.010110)Y=×(0.010110)解:(1)将y规格化得:y=×(-0.111100)[x]浮=1101,00.100101[y]浮=1101,11.000100[-y]浮=1101,00.111100①对阶[ΔE]补=[Ex]补+[-Ey]补=1101+0011=0000∴Ex=Ey②尾数相加相加相减00.10010100.100101+11.000100+00.111100--------------------------11.10100101.100001[x+y]浮=1101,11.101001左规[x+y]浮=1100,11.010010∴x+y=×(-0.101110)[x-y]浮=1101,01.100001右规[x-y]浮=1110,00.1100001舍入处理得[x-y]浮=1110,00.110001∴x-y=×0.110001(2)[x]浮=1011,11.101010[y]浮=1100,00.01011
本文标题:计算机组成原理 第四版课后习题答案(完整版)
链接地址:https://www.777doc.com/doc-6336880 .html