您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 软件工程 > 计算机组成原理课后习题答案(常国锋-武汉大学出版社)
第1章习题参考答案1.电子数字计算机和电子模拟计算机的区别在哪里?解:电子数字计算机中处理的信息是在时间上离散的数字量,运算的过程是不连续的;电子模拟计算机中处理的信息是连续变化的物理量,运算的过程是连续的。2.冯·诺依曼计算机的特点是什么?其中最主要的一点是什么?解:冯·诺依曼计算机的特点如下:①计算机(指硬件)应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成;②计算机内部采用二进制来表示指令和数据;③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作。第③点是最主要的一点。3.计算机的硬件是由哪些部件组成的?它们各有哪些功能?解:计算机的硬件应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成。它们各自的功能是:①输入设备:把人们编好的程序和原始数据送到计算机中去,并且将它们转换成计算机内部所能识别和接受的信息方式。②输出设备:将计算机的处理结果以人或其他设备所能接受的形式送出计算机。③存储器:用来存放程序和数据。④运算器:对信息进行处理和运算。⑤控制器:按照人们预先确定的操作步骤,控制整个计算机的各部件有条不紊地自动工作。4.什么叫总线?简述单总线结构的特点。解:总线是一组能为多个部件服务的公共信息传送线路,它能分时地发送与接收各部件的信息。单总线结构即各大部件都连接在单一的一组总线上,这个总线被称为系统总线。CPU与主存、CPU与外设之间可以直接进行信息交换,主存与外设、外设与外设之间也可以直接进行信息交换,而无须经过CPU的干预。5.简单描述计算机的层次结构,说明各层次的主要特点。解:现代计算机系统是一个硬件与软件组成的综合体,可以把它看成是按功能划分的多级层次结构。第0级为硬件组成的实体。第1级是微程序级。这级的机器语言是微指令集,程序员用微指令编写的微程序一般是直接由硬件执行的。第2级是传统机器级。这级的机器语言是该机的指令集,程序员用机器指令编写的程序可以由微程序进行解释。第3级是操作系统级。从操作系统的基本功能来看,一方面它要直接管理传统机器中的软硬件资源,另一方面它又是传统机器的延伸。第4级是汇编语言级。这级的机器语言是汇编语言,完成汇编语言翻译的程序叫做汇编程序。第5级是高级语言级。这级的机器语言就是各种高级语言,通常用编译程序来完成高级语言翻译的工作。第6级是应用语言级。这一级是为了使计算机满足某种用途而专门设计的,因此这一级语言就是各种面向问题的应用语言。6.计算机系统的主要技术指标有哪些?解:计算机系统的主要技术指标有:机器字长、数据通路宽度、主存容量和运算速度等。机器字长是指参与运算的数的基本位数,它是由加法器、寄存器的位数决定的。数据通路宽度是指数据总线一次所能并行传送信息的位数。主存容量是指主存储器所能存储的全部信息量。运算速度与机器的主频、执行什么样的操作、主存本身的速度等许多因素有关。第2章习题参考答案1.已知下列数的原码表示,分别写出它们的补码表示。[X]原=0.10100,[X]原=1.101112.已知下列数的补码表示,分别写出它们的真值。[X]补=0.10100,[X]补=1.101113.某机字长16位,简述下列几种情况下所能表示数值的范围。(1)无符号整数(2)用原码表示定点小数(3)用补码表示定点小数(4)用原码表示定点整数(5)用补码表示定点整数4.某机字长32位,试分别写出无符号整数和带符号整数(补码)的表示范围(用十进制数表示)。5.某浮点数字长12位,其中阶符1位,阶码数值3位,数符1位,尾数数值7位,阶码以2为底,阶码和尾数均用补码表示。它所能表示的最大正数是多少?最小规格化正数是多少?绝对值最大的负数是多少?6.一浮点数,其阶码部分为p位,尾数部分为g位,各包含一位符号位,均用补码表示;尾数基数r=2,该浮点数格式所能表示数的上限、下限及非零的最小正数是多少?写出表达式。7.试将(-0.1101)2用IEEE短浮点数格式表示出来。8.对下列ASCII码进行译码。1001001,0100001,1100001,11101111000101,1010000,1010111,01001009.以下列形式表示(5382)10(1)8421码(2)余3码(3)2421码(4)二进制数10.求有效信息位为01101110的海明校验码。第3章习题参考答案1.指令长度和机器字长有什么关系?半字长指令、单字长指令、双字长指令分别表示什么意思?解:指令长度与机器字长没有固定的关系,指令长度可以等于机器字长,也可以大于或小于机器字长。通常,把指令长度等于机器字长的指令称为单字长指令;指令长度等于半个机器字长的指令称为半字长指令;指令长度等于两个机器字长的指令称为双字长指令。2.零地址指令的操作数来自哪里?一地址指令中,另一个操作数的地址通常可采用什么寻址方式获得?各举一例说明。解:双操作数的零地址指令的操作数来自堆栈的栈顶和次栈顶。双操作数的一地址指令的另一个操作数通常可采用隐含寻址方式获得,即将另一操作数预先存放在累加器中。例如,前述零地址和一地址的加法指令。3.举例说明哪几种寻址方式除去取指令以外不访问存储器?哪几种寻址方式除去取指令外只需访问一次存储器?完成什么样的指令,包括取指令在内共访问4次存储器?解:除去取指令以外不访问存储器:立即寻址,寄存器寻址。除去取指令外只需访问一次存储器:直接寻址,寄存器间接寻址,变址寻址,基址寻址,相对寻址,页面寻址。二级间接寻址包括取指令在内共访问4次存储器。4.什么叫主程序和子程序?调用子程序时还可采用哪几种方法保存返回地址?画图说明调用子程序的过程。解:主程序就是指通常的程序,而子程序是一组可以公用的指令序列,只要知道子程序的入口地址就能调用它。保存返回地址的方法有多种:(1)用子程序的第一个字单元存放返回地址。转子指令把返回地址存放在子程序的第一个字单元中,子程序从第二个字单元开始执行。返回时将第一个字单元地址作为间接地址,采用间址方式返回主程序。(2)用寄存器存放返回地址。转子指令先把返回地址放到某一个寄存器中,再由子程序将寄存器中的内容转移到另一个安全的地方。(3)用堆栈保存返回地址。调用子程序的过程如下图所示,此时返回地址保存在堆栈中。5.某机为定长指令字结构,指令长度16位;每个操作数的地址码长6位,指令分为无操作数、单操作数和双操作数三类。若双操作数指令已有K种,无操作数指令已有L种,问单操作数指令最多可能有多少种?上述三类指令各自允许的最大指令条数是多少?6.设某机为定长指令字结构,指令长度12位,每个地址码占3位,试提出一种分配方案,使该指令系统包含:4条三地址指令,8条二地址指令,180条单地址指令。7.指令格式同上题,能否构成:三地址指令4条,单地址指令255条,零地址指令64条?为什么?8.指令中地址码的位数与直接访问的主存容量和最小寻址单位有什么关系?解:主存容量越大,所需的地址码位数就越长。对于相同容量来说,最小寻址单位越小,地址码的位数就越长。9.设某机字长32位,CPU有32个32位的通用寄存器,设计一个能容纳64种操作的单字长指令系统。(1)如果是存储器间接寻址方式的寄存器-存储器型指令,能直接寻址的最大主存空间是多少?(2)如果采用通用寄存器作为基址寄存器,能直接寻址的最大主存空间又是多少?解:因为计算机中共有64条指令,所以操作码占6位;32个通用寄存器,寄存器编号占5位;其余部分为地址码或标志位。(1)如果是存储器间接寻址方式的寄存器-存储器型指令,操作码6位,寄存器编号5位,间址标志1位,地址码20位,直接寻址的最大主存空间是220字。(2)如果采用通用寄存器作为基址寄存器,EA=(Rb)+A,能直接寻址的最大主存空间是232字。第4章习题参考答案1.设[x]补=x0.x1x2x3x4,其中xi取0或1,若要使x>-0.5,则x0、x1、x2、x3、x4的取值应满足什么条件?答:应满足的条件是:①x0=0;②当x0=1时,x1=1且x2、x3、x4不全为0。2.若32位定点小数的最高位为符号位,用补码表示,则所能表示的最大正数为1-2-31,最小正数为2-31,最大负数为-2-31,最小负数为-1;若32位定点整数的最高位为符号位,用原码表示,则所能表示的最大正数为231-1,最小正数为1,最大负数为-1,最小负数为-(231-1)。3.若机器字长为32位,在浮点数据表示时阶符占1位,阶码值占7位,数符占1位,尾数值占23位,阶码用移码表示,尾数用原码表示,则该浮点数格式所能表示的最大正数为(1-2-23)×2127,最小正数为2-151,最大负数为-2-151,最小负数为-(1-2-23)×2127。4.定点补码加减法运算中,产生溢出的条件是什么?溢出判断的方法有哪几种?如果是浮点加减运算,产生溢出的条件又是什么?答:定点补码加减运算中,产生溢出的条件是:定点补码加减运算结果超出了定点数的表示范围。溢出判断的方法有三种:①采用单符号位法;②采用进位判断法;③采用双符号位法,这种方法又称为“变形补码”或“模4补码”。浮点加减运算中,产生溢出的条件是:浮点加减运算结果中阶码超出了它的表示范围。5.已知X和Y,试用它们的变形补码计算出X-Y,并指出结果是否溢出。(只做(1))(1)X=0.11011,Y=-0.11111(2)X=0.10111,Y=0.11011(3)X=0.11011,Y=-0.10011(4)X=-0.10110,Y=-0.000016.分别用原码乘法和补码乘法计算X×Y。(只做(1))(1)X=0.11011,Y=-0.11111(2)X=-0.11010,Y=-0.01110原码乘法:补码乘法:7.分别用原码和补码加减交替法计算X÷Y。(只做(1))(1)X=0.10101,Y=0.11011(2)X=-0.10101,Y=0.11011(3)X=0.10001,Y=-0.10110(4)X=-0.10110,Y=-0.11011原码除法:补码除法:第五章习题参考答案1.如何区别存储器和寄存器?两者是一回事的说法对吗?答:存储器和寄存器不是一回事。存储器在CPU的外边,专门用来存放程序和数据,访问存储器的速度较慢。寄存器属于CPU的一部分,访问寄存器的速度很快。2.存储器的主要功能是什么?为什么要把存储系统分成若干个不同层次?主要有哪些层次?答:存储器的主要功能是用来保存程序和数据。存储系统是由几个容量、速度和价格各不相同的存储器用硬件、软件、硬件与软件相结合的方法连接起来的系统。把存储系统分成若干个不同层次的目的是为了解决存储容量、存取速度和价格之间的矛盾。由高速缓冲存储器、主存储器、辅助存储器构成的三级存储系统可以分为两个层次,其中高速缓存和主存间称为Cache-主存存储层次(Cache存储系统);主存和辅存间称为主存-辅存存储层次(虚拟存储系统)。3.说明存取周期和存取时间的区别。答:存取周期是指主存进行一次完整的读写操作所需的全部时间,即连续两次访问存储器操作之间所需要的最短时间。存取时间是指从启动一次存储器操作到完成该操作所经历的时间。存取周期一定大于存取时间。4.现有1024×1的存储芯片,若用它组成容量为16K×8的存储器。试求:(1)实现该存储器所需的芯片数量?(2)若将这些芯片分装在若干块板上,每块板的容量为4K×8,该存储器所需的地址线总位数是多少?其中几位用于选板?几位用于选片?几位用作片内地址?答:(1)需1024×1的芯片128片。(2)该存储器所需的地址线总位数是14位,其中2位用于选板,2位用于选片,10位用作片内地址。5.已知某机字长8位,现采用半导体存储器作主存,其地址线为16位,若使用1K×4的SRAM芯片组成该机所允许的最大主存空间,并采用存储模板结构形式。(1)若每块模板容量为4K×8,共需多少块存储模板?(2)画出一个模板内各芯片的连接逻辑图。答:(1)根据题干可知存储器容量为216=64KB,故共需16块存储模板。(2)一个模板内各芯片的连接逻辑图如下图所示。模板内各芯片的连接逻辑图6
本文标题:计算机组成原理课后习题答案(常国锋-武汉大学出版社)
链接地址:https://www.777doc.com/doc-5522618 .html