‍第一章 系统给概论        习 &nbs,咨信网zixin.com.cn" /> ‍第一章 系统给概论  &n"/>
收藏 分销(赏)

《计算机组成原理》课后题答案.doc

上传人:快乐****生活 文档编号:4371802 上传时间:2024-09-14 格式:DOC 页数:60 大小:686.50KB 下载积分:14 金币
下载 相关 举报
《计算机组成原理》课后题答案.doc_第1页
第1页 / 共60页
《计算机组成原理》课后题答案.doc_第2页
第2页 / 共60页


点击查看更多>>
资源描述
<p><span id="_baidu_bookmark_start_0" style="display: none; line-height: 0px;">‍</span>第一章 系统给概论  &nbsp;  &nbsp;  习 &nbsp; &nbsp;题 &nbsp; &nbsp;一 1、l  解释下列名词 摩尔定律:对集成电路上可容纳得晶体管数目、性能与价格等发展趋势得预测,其主要内容就是:成集电路上可容纳得晶体管数量每18个月翻一番,性能将提高一倍,而其价格将降低一半. 主存: 计算机中存放正在运行得程序与数据得存储器,为计算机得主要工作存储器,可随机存取。 &nbsp;  控制器:计算机得指挥中心,它使计算机各部件自动协调地工作。   &nbsp; 时钟周期:时钟周期就是时钟频率得倒数,也称为节拍周期或T周期,就是处理操作最基本得时间单位.   多核处理器:多核处理器就是指在一枚处理器中集成两个或多个完整得计算引擎(内核)。 字长:运算器一次运算处理得二进制位数。  存储容量: 存储器中可存二进制信息得总量。 CPI:指执行每条指令所需要得平均时钟周期数.  MIPS:用每秒钟执行完成得指令数量作为衡量计算机性能得一个指标,该指标以每秒钟完成得百万指令数作为单位。  CPU时间:计算某个任务时CPU实际消耗得时间,也即CPU真正花费在某程序上得时间。  计算机系统得层次结构:计算机系统得层次结构由多级构成,一般分成5级,由低到高分别就是:微程序设计级,机器语言级,操作系统级,汇编语言级,高级语言级.  基准测试程序:把应用程序中使用频度最高得那那些核心程序作为评价计算机性能得标准程序. 软/硬件功能得等价性:从逻辑功能得角度来瞧,硬件与软件在完成某项功能上就是相同得,称为软/硬件功能就是等价得,如浮点运算既可以由软件实现,也可以由专门得硬件实现. 固件:就是一种软件得固化,其目得就是为了加快软件得执行速度. 可靠性:可靠性就是指系统或产品在规定得条件与规定得时间内,完成规定功能得能力。产品可靠性定义得要素就是三个“规定”:“规定条件”、“规定时间”与“规定功能”。   MTTF:平均无故障时间,指系统自使用以来到第一次出故障得时间间隔得期望值。 MTTR:系统得平均修复时间. MTBF:平均故障间隔时间,指相邻两次故障之间得平均工作时间。  可用性:指系统在任意时刻可使用得概率,可根据MTTF、MTTR与MTBF等指标计算处系统得可用性。 1.2 什么就是计算机系统得硬件与软件?为什么说计算机系统得硬件与软件在逻辑功能上就是等价得? 答:计算机硬件系统就是指构成计算机系统得电子线路与电子元件等物理设备得总称。硬件就是构成计算机得物质基础,就是计算机系统得核心.计算机得硬件系统包含运算器、控制器、存储器、输入设备与输出设备等五大部件. 计算机软件就是计算机中全部程序得集合.软件按其功能分成应用软件与系统软件两大类. 计算机硬件实现得往往就是最基本得算术运算与逻辑运算功能,而其它功能大多就是通过软件得扩充得以实现得。有许多功能可以由硬件实现,也可以由软件实现,即从用户得角度来瞧它们在功能上就是等价得,这一等价性被称为软/硬件逻辑功能得等价性。 1、3 &nbsp;冯·诺依曼型计算机得基本思想就是什么?按此思想设计得计算机硬件系统应由哪些部件组成?各起什么作用? 答:冯诺依曼型计算机得基本思想就是存储程序与程序控制,其中得“存储程序”就是指将解题得步骤编写成程序,然后把存储存放到计算机得内存中,而“程序控制”就是指控制器读出存放在存储器中得程序并根据该程序控制全机协调工作以完成程序得功能。 根据冯诺依曼型计算机得基本思想,计算机得硬件应该由运算器、控制器、存储器、输入/输出设备与总线组成。 各部件得作用: 运算器:对数据进行运算得部件。   &nbsp;存储器:存放程序与数据. &nbsp;  控制器:根据指令得功能控制构成计算机得各大功能部件协调工作,共同完成指令得功能。     输入设备:将外部信息输送到主机内部得设备。 &nbsp;  输出设备:能将计算机内部得信息以不同并且相应得形式反馈给人们得设备。 总线:连接两个或多个设备(部件)得公共信息通路。 1、4  什么就是计算机字长?它取决于什么?计算机字长统一了哪些部件得长度? 答:计算机得字长一般指一次参与运算数据得基本长度,用二进制数位得长度来衡量. 它取决于运算器一次运算处理得二进制位数。它就是计算机得重要性能指标。常用得计算机字长有8位、16位、32位及64位。 一般与计算机内部寄存器、加法器、数据总线得位数以及存储器字长等长,因此,字长直接影响硬件得代价。 1、5 &nbsp;计算机系统从功能上可划分为哪些层次?各层次在计算机系统中起什么作用? 答:计算机系统分成五级层次结构,第1级为微程序设计级、第2级为机器语言级、第3级为操作系统级、第4级为汇编语言级、第5级为高级语言级。 各层次得作用: 微程序级:为机器指令级提供机器指令得解释指行功能。 &nbsp;  机器指令级:就是软件系统与硬件系统得界面,一条机器指令得功能由微程序机器级得一段微型程序得功能实现。    操作系统级:调度计算机中得软件与硬件资源。   &nbsp;   汇编语言级:它将用户编写得接近人类语言得程序,翻译成能在机器上运行得目标程序。 高级语言级:完全面向用户,就是用户关心得目标,可执行各种用途得程序。 1、6  计算机内部有哪两股信息在流动?它们彼此有什么关系? 答:计算机中有两股信息在流动:一股就是控制信息,即操作命令,它分散流向各个部件;一股就是数据信息,它受控制信息得控制,从一个部件流向另一个部件,在流动得过程被相应得部件加工处理. 1、7 &nbsp;为什么说计算机系统得软件与硬件可以互相转化? 答:计算机硬件实现得往往就是最基本得算术运算与逻辑运算功能,而其它功能大多就是通过软件得扩充得以实现得.有许多功能可以由硬件实现,也可以由软件实现,即从用户得角度来瞧它们在功能上就是等价得,这一等价性被称为软/硬件逻辑功能得等价性. 由于这样得等价性,所以可以说计算机系统得软件与硬件就是可以互相转化得。 1、8 &nbsp;什么叫软件系统?它包含哪些内容? 答:一台计算机中全部程序得集合,统称为这台计算机得软件系统.软件按其功能分成应用软件与系统软件两大类. 应用软件就是用户为解决某种应用问题而编制得一些程序。 系统软件用于对计算机系统得管理、调度、监视与服务等功能,常将系统软件分为以下六类:操作系统,言处理程序,标准程序库,服务性程序,数据库管理系统与算机网络软件。 1、9 说明高级语言、汇编语言与机器语言三者之间得差别与联系. 答:机器语言就是直接用二进制代码指令表达得计算机语言,就是一种面向机器得编程语言,属于低级语言。 汇编语言就是用助记符号来表示计算机指令得语言,也就是低级得语言。 高级语言就是一类接近于人类自然语言与数学语言得程序设计语言得统称,分为面向过程得语言与面向对象得语言。 它们都就是计算机得编程语言,并且就是计算机编程语言发展得三个阶段.三者各自得特点: 使用机器语言编写得程序,占用内存少、执行效率高.缺点:编程工作量大,容易出错;依赖具体得计算机体系,因而程序得通用性、移植性都很差。 使用汇编语言编写计算机程序,能够根据特定得应用对代码做最佳得优化,提高运行速度;能够最大限度地发挥硬件得功能.但就是编写得代码非常难懂,不好维护;开发效率很低,时间长且单调。 高级语言得优点就是:编程相对简单、直观、易理解、不容易出错;编写得计算机程序通用性好,具有较好得移植性。 1、10 什么就是系统得可靠性?衡量系统可靠性得指标有哪些?如何提高系统得可靠性? 答:系统得可靠性就是指系统在规定得条件与规定得时间内,完成规定功能得能力。 衡量系统可靠性得指标有三个:平均无故障时间、平均故障间隔时间与可用性。 提高系统可靠性得常用方法包括避错与容错。前者即避免错误得出现,从而提高系统得平均无故障时间;后者容许错误得出现,但采取有效得方法来防止其造成得不利影响。 1、11 假定某计算机1与计算机2以不同得方式实现了相同得指令集,该指令集中共有A、B、C、D四类指令,它们在程序中所占比例分别为40%、20%、20%、20%,机器1与机器2得时钟周期为600MHZ与800MHZ,各类指令在两机器上得CPI如表1、5所示,求两机器得MIPS各为多少? 表1、5 两台计算机不同指令得CPI A B C D CPI1 2 3 4 5 CPI2 2 2 3 4 解:CPI1= 2*0、4+ 0、2*(3+4+5)= 3、2  MIPS1= f/(CPI1´106) = 600´106/(3、2´106)=187、5 &nbsp;  CPI2= 2*0、4+ 0、2*(2+3+4)= 2、6  MIPS2= f/(CPI1´106) = 800´106/(2、6´106)=307、7 1、12 若某程序编译后生成得目标代码由A、B、C、D四类指令组成,它们在程序中所占比例分别为40%、20%、15%、25%。已知A、B、C、D四类指令得CPI分别为1、2、2、2。现需要对程序进行编译优化,优化后得程序中A类指令条数减少了一半,而其它指令数量未发生变化。假设运行该程序得计算机CPU主频为500MHZ。完成下列各题: 1)优化前后程序得CPI各为多少? 2)优化前后程序得MIPS各为多少? 3)通过上面得计算结果您能得出什么结论? 解:1)优化前:CPI= = 1´ 0、4 + 2´ 0、2 + 2´ 0、15 + 2´ 0、25 = 1、6 优化后:A、B、C、D四类指令在程序中所占比例分别为1/4、1/4、3/16、5/16,  CPI= = 1´ 1/4 + 2´ 1/4 + 2´ 3/16 + 2´ 5/16 = 1、75 2)根据 公式MIPS =得 优化前:MIPS = (500´106)/(1、6´106) = 312、5 优化后:MIPS = (500´106)/(1、75´106) = 285、7 3)优化后,A类指令条数减少,造成计算机得CPI增加,MIPS减少。这样得优化虽然减少了A类指令条数,却降低了程序得执行速度。第二章 数据表示方法 &nbsp;     &nbsp;习 &nbsp; &nbsp;题 &nbsp; &nbsp;二 2、1解释下列名词 真值:正号与负号分别用“+&quot;与“—”表示,数据位保持二进制值不变得数据表示方法。 数值数据:计算机所支持得一种数据类型,用于科学计算,常见得数值数据类型包括小数、整数、浮点数数等。   非数值数据:计算机所支持得一种数据类型,一般用来表示符号或文字等没有数值值得数据. 机器数:数据在机器中得表示形式,就是正负符号数码化后得二进制数据。 变形补码:用两个二进制位来表示数字得符号位,其余与补码相同.即“00”表示正,“11”表示负.  规格化:将非规格化得数处理成规格化数得过程。规格化数规定尾数用纯小数表示,且真值表示时小数点后第一位不为0(以机器数表示时对小数点后第一位得规定与具体得机器数得形式有关)。  机器零:计算机保存数字得位有限,所能表示最小得数也有范围,其中有一个范围之中得数据无法精确表示,当实际得数据处在这个无法精确表示得数据范围时计算机就将该数作为机器零来处理,因此,计算机中得机器零其实对应得不就是一个固定得数,而就是一个数据表示范围。 &nbsp; BCD码:用4位二进制数来表示1位十进制数中得0~9这10个数码,即二进制表示得十进制数。 &nbsp; 汉字内码:计算机内部存储、处理加工与传输汉字时所用得由0与1符号组成得代码。 码距:一组编码中对应位上数字位不同得最小个数。 &nbsp; 奇偶校验:通过检测校验码中1得个数得奇/偶性就是否改变来判断数据就是否出错得一种数据校验方法.  海明校验:就是一种基于多重奇校验且具有检测与纠正错误得校验方法。其基本原理就是将有效信息按某种规律分成若干组,每组安排一个校验位进行奇偶测试,就能提供多位检错信息,以指出最大可能就是哪位出错,从而将其纠正。 循环冗余校验:就是数据通信领域中最常用得一种具有检测与纠正错误能力差错校验码,基利用生成多项式并基于模2运算建立编码规则. 检错:检测被传送得信息中就是否发生差错。 纠错:纠正信息在传送或存储过程中所发生得错误. 2、2回答下列问题 1)为什么计算机中采用二进制? 答:因为二进制具有运算简单与表示简单得优点,除此之外还有可靠与容易实现等特点。 具体来说,就是因为: (1)技术实现简单,计算机就是由逻辑电路组成,逻辑电话通常只有两个状态,开关 得接通与断开,这两种状态正好可以用“1”与“0”表示。  (2)简化运算规则:两个二进制数与、积运算组合各有三种,运算规则简单,有利 于简化计算机内部结构,提高运算速度。   (3)适合逻辑运算:逻辑代数就是逻辑运算得理论依据,二进制只有两个数码,正好 与逻辑代数中得“真”与“假”相吻合。 &nbsp; (4)易于进行转换,二进制与十进制数易于互相转换。 2)为什么计算机中采用补码表示带符号得整数? 答:采用补码运算具有如下两个特征: (1)因为使用补码可以将符号位与其她位统一处理,同时,减法也可以按加法来处理,即如果就是补码表示得数,不管就是加减法都直接用加法运算即可实现。 (2)两个用补码表示得数相加时,如果最高位(符号位)有进位,则进位被舍弃。 这样得运算有两个好处: (a)使符号位能与有效值部分一起参加运算,从而简化运算规则。从而可以简化运算器得结构,提高运算速度;(减法运算可以用加法运算表示出来。) (b)加法运算比减法运算更易于实现。使减法运算转换为加法运算,进一步简化计算机中运算器得线路设计。 3)浮点数得表示范围与精确度分别由什么决定?字长一定时浮点数得表示范围与精确度之间有与关系? 答:浮点数得表示范围由阶码得位数决定,精确度由尾数得位数决定. 当机器字长一定时,分给阶码得位数越多,尾数占用得位数就越少,则数得表示范围越大。而尾数占用得位数减少,必然会减少数得有效数位,即影响数得精度。 4)汉字输入码、机内码与字型码在汉字处理过程中各有何作用? 答:汉字输入码、机内码与字型码,分别用于汉字得输入、汉字在计算机内得处理以及汉字得显示与打印。 具体来说,计算机要对汉字信息进行处理,首先要将汉字转换成计算机可以识别得二进制形式并输入到计算机,这就是由汉字输入码完成得;汉字输入到计算机后,还需要转换成内码才能被计算机处理,显然,汉字内码也应该就是二进制形式。如果需要显示与打印汉字,还要将汉字得内码转换成字形码。 5)在机内码中如何区分两个ASCII码字符与一个汉字? 答:将一个汉字瞧成就是两个扩展ASCII码,使表示GB2312汉字得两个字节得最高位都为1,而每个ASCII码字符中每个字节得最高位为0。这样就能区别一个机内码到底对应一个汉字还就是两个西文字符。 6)“8421码就就是二进制数”。这种说法对吗?为什么? 答:这种说法就是不对得。8421码就是一种最简单得有权码,它选取4位二进制数得前10个代码0000~1001分别对应表示十进制数得10个数码。若按权求与,与数就等于该代码所对应得十进制数. 8421码就是一种编码方式,用于十进位制与二进制数之间得转换。 而二进制数就是用0与1两个数码来表示得数。二者就是不同得概念,不能等同。 7)如何识别浮点数得正负?浮点数能表示得数值范围与数值得精确度取决于什么? 答:当采用一般浮点数格式表示浮点数时,阶码与尾数都各包含一位符号位。浮点数得正负由尾数得得符号位决定.当采用IEEE754格式时,通过数符就能判断出浮点数得正负。 浮点数能表示得数值范围与数值得精确度,分别取决于阶码得位数与尾数得位数. 8)简述CRC得纠错原理. 答:发送部件将某信息得CRC码传送至接收部件,接收部件收到CRC码后,仍用约定得生成多项式G(x)去除,若余数为0,表示传送正确;若余数不为0,表示出错,再由余数得值来确定哪一位出错,从而加以纠正。具体得纠错原理如下: (1)不论错误出现在哪一位,均要通过将出错位循环左移到最左边得一位上时被纠正; (2)不为零余数得具有循环特性。即在余数后面补一个零除以生成多项目式,将得到下一个余数,继续在新余数基础上补零除以生成多项式,继续该操作,余数最后能循环到最开始得余数。 (3)CRC就就是利用不为零余数得循环特性,在循环计算余数得同时,将收到得CRC编码同步移动,当余数循环到等于最左边位出错对应得余数时,表明已将出错得位移到CRC码得最左边,对出错位进行纠错. (4)继续进行余数得循环计算,并同步移动CRC编码,当余数又回到最开始得值时,纠错后得CRC码又回到了最开始得位置.至此,完成CRC得纠错任务。 2、3  写出下列各数得原码、反码与补码。 &nbsp;  &nbsp;   &nbsp;0, 一0, 0、10101, 一0、10101, 0、11111, 一0、11111, -0、10000, 0、10000 解: x=0,则[+0]原 = 0、00…0 ,  &nbsp;[+0 ]反= 0、00…0,[+0]补 =0、00…0; x=-0,则[-0]原 = 1、00…0,[-0]反 = 1、11…l,[—0]补 = 0、00…0; x=0、10101,则[x]原 =0、10101,[x]反 =0、10101,[x]补 =0、10101; x=一0、10101,则[x]原 =1、10101,[x]反 =1、01010,[x]补 =1、01011; x=0、11111,则[x]原 =0、11111,[x]反 =0、00000,[x]补 =0、00001; x=一0、11111,则[x]原 =1、11111,[x]反 =1、00000,[x]补 =1、00001; x=-0、10000,则[x]原 =1、10000,[x]反 =1、01111,[x]补 =1、10000; x=0、10000,则[x]原 =0、10000,[x]反 =0、10000,[x]补 =0、10000。 2、4 已知数得补码表示形式,求数得真值。 [x]补=0、10010, &nbsp;[x]补=1、10010,  [x]补=1、11111,  [x]补=1、00000, &nbsp;[x]补=0、10001,  [x]补=1、00001, 解: [x]补=0、10010,则[x]原=0、10010,x=0、10010; [x]补=1、10010,则[x]原=1、01101,x=-0、01101; [x]补=1、11111,则[x]原=1、00000,x=-0; [x]补=1、00000,则[x]原=1、11111,x=-0、11111; [x]补=0、10001,则[x]原=0、10001,x=0、10001; [x]补=1、00001,则[x]原=1、11110,x=-0、11110。 2、5  已知x=0、10110,y=—0、01010,求: [x/2]补,  [x/4]补, &nbsp;[y/2]补, &nbsp;[2y]补 解: [x]原=0、10110=[x]反=[x]补, 所以[x/2]补=0、010110,[x/4]补=0、0010110; [y]原=1、01010,[y]反=1、10101,[y]补=1、10110, 所以[y/2]补=1、110110,[2y]补=1、0110。 2。6 C语言中允许无符号数与有符号整数之间得转换, 下面就是一段C语言代码:   Int x =—1;   Unsigned u=2147483648; Printf (“x=%u=%d\n”,x,x); Printf (“u=%u=%d\n”,u,u);   &nbsp;给出在32位计算机中上述程序段得输出结果并分析原因、 解:x=4294967295=—1;u=2147483648=-2147483648 原因:x就是int型,在计算机中以补码形式存在。%u以无符号输出,%d输出真值,所以x=4294967295=-1。 u=231就是一个无符号数,无溢出,由于首位为1 %u符号输出第一位为非符号位,所以就是2147483648 %d 第一位为符号位,所以就是负数,取反加1还就是231所以就是-2147483648。 2、7 分析下列几种情况下所能表示得数据范围分别就是多少   &nbsp; &nbsp;1)16位无符号数; 2)16位原码定点小数; 3)16位补码定点小数; &nbsp;  &nbsp;4) 16位补码定点整数; 解: 1)16位无符号数:0 ~ 1111 1111 1111 1111,即0 ~ 216-1=65535 2)16位原码定点小数:1、111 1111 1111 1111 ~ 0、111 1111 1111 1111,即 —(1-2-15)~ 1—2-15 3)16位补码定点小数:1、000 0000 0000 0000 ~ 0、111 1111 1111 1111,即 —1 ~ 1-2-15 4) 16位补码定点整数:1000 0000 0000 0000 ~ 0111 1111 1111 1111,即 -215 ~ 215-1 2、8 用补码表示8位二进制整数,最高位用一位表示符号(即形如x0x1x2x3x4x5x6x7)时,模应为多少? 解:因为8位二进制数补码得表示范围为:-128~127一共有256个数,所以模为256。 2、9 &nbsp;用IEEE754 32位浮点数标准表示十进制数 a) &nbsp;b)3.1415927 &nbsp;c)64000 解: a) 首先分别将整数与分数部分转换成二进制数: =-110、101 移动小数点,使其变成1、M得形式: -110、101=—1、10101*22 于就是得到: S=0, e = 2,E= 10+01111111 = 10000001,M = 10101 最后得到32位浮点数得二进制存储格式为: 1100 0000 1101 0100 0000 0000 0000 0000=(C0D40000)16 b) 首先分别将整数与分数部分转换成二进制数: 3、1415927=11、111110110101 移动小数点,使其变成1、M得形式 11、111110110101=1、1111110110101×2 于就是得到: S=0, e = 1,E= 1+01111111 =,M = 111111011010 最后得到32位浮点数得二进制存储格式为: 0100 0000 0100 1001 0000 1111 1101 1010=(40490FDA)16 c) 首先将6400转换成二进制数: 64000=11 移动小数点,使其变成1、M得形式 11=1、1×212 于就是得到: S=0, e = 12,E= 1100+01111111 =10001011,M = 1001 最后得到32位浮点数得二进制存储格式为: 0100 0101 1100 1000 0000 0000 0000 0000=(45C80000) 16 2、10 求与IEEE754 32位浮点数43940000H对应得十进制数。 解: 43940000H=(0100 0011 1001 0100 0000 0000 0000 0000)2 S=0,E=(10000111)2-127=8,M=1、00101 所以表示数为100101000,对应得十进制数为296。 2、11 求32位 IEEE754 浮点数能表示得最大数与最小数。 解:用IEEE754格式(E得取值范围:1~254,留出全0与全1分别表示0与无穷大)  31 30 &nbsp;   &nbsp; &nbsp;  &nbsp;23 22      &nbsp; &nbsp; &nbsp;     &nbsp; &nbsp;   &nbsp; &nbsp;     0 S E M (1) 最大数得二进制表示: 0 11111110 11111111111111111111111 即 2127(2—2-23) (2) 最小数得二进制表示: 1 11111110 11111111111111111111111 即 - 2127(2-2—23) 2、12 设有两个正浮点数:N1=2m×M1,N2=2n×M2。 (1)若m〉n,就是否有N1>N2? (2)若M1与M2就是规格化得数,上述结论就是否正确? 解:(1)不一定。 ﻩ例如,N1=23×0、001,N2=22×0、01,此时m>n,却有N1=N2。 再如,N1=23×0、001,N2=22×0、1,此时m>n,却有N1<N2。 (2)正确。 因为浮点数规格化,要求尾数得最高位为非0数码,即当尾数得值不为零时,其绝对值应大于或等于(1/2)10。 那么M1与M2都必须就是0、1× × … ×得形式。这时,若m&gt;n,则一定有N1>N2. 2、13 &nbsp;设二进制浮点数得阶码为3位,尾数就是7位。用模2补码写出它们所能表示得最大正数、最小正数、最大负数与最小负数,并将它们转换成十进制数。 解: ﻩ  补码ﻩ ﻩ &nbsp;真值 最大正数: 011;0、111111, &nbsp; 23×(1-2—6) 最小正数: 101;0、000001,   23×2-6 最大负数: 101;1、111111,   -23×2-6 最小负数: 011;1、000000,  &nbsp;—23×(1-2-6) 2、14 将下列十进制数表示成浮点规格化数,阶码4位,尾数10位,各含1位符号,阶码与尾数均用补码表示。 (1)57/128 &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; (2) —69/128 解:(1)57/128=(0、0111001)2,记x=0、0111001,则[x]原=[x]反=[x]补=0、0111001, 规格化:[x]补=0、111001*2—1 阶码得原码为:1001,因此补码为:1111 尾数为:0111001000 表示成浮点规格化数:1111 0111001000 (2)-69/128=(-0、1000101)2,记x=—0、1000101,则[x]原=1、1000101,[x]反=1、0111010,[x]补=1、0111011, 无需规格化,阶码为0000,尾数为1011101100 表示成浮点规格化数:000 2、15 设有效信息为01011011,分别写出奇校验码与偶校验码。如果接收方收到得有效信息为01011010,说明如何发现错误。 解:奇偶校验位分别为:0与1, 奇校验码:010110110 偶校验码:010110111 如果采用奇校验,则发送方发出得奇校验码x=10(前8位就是有效信息位,最后一位就是校验位), 如果接收方收到得x=010110100 (只有1位出错,最后一个0就是校验位), 接收方按奇校验方式根据计算得到得验位C&#39;=1 ,与从信息中读到得校验码得取值不同,表明传送得信息发生了错误。 如果采用偶校验,利用相似得方法可以发现错误。 2、16由 6 个字符得 7 位 ASCII 编码排列,再加上水平与垂直偶校验位构成如表2、23得行列结构(最后一列为水平奇偶校验位,最后一行为垂直奇偶校验位) 表2、23 ASCII码交叉校验 字符 7 位 ASCII 码 HP 3 0 X1 X2 0 0 1 1 0 Y1 1 0 0 1 0 0 X3 1 + X4 1 0 1 0 1 1 0 Y2 0 1 X5 X6 1 1 1 1 D 1 0 0 X7 1 0 X8 0 = 0 X9 1 1 1 X10 1 1 VP 0 0 1 1 1 X11 1 X12 则 X1 X2 X3 X4 处得比特分别为 _1110_; X5 X6 X7 X8 处得比特分别为 _1000_; X9 X10 X11 X12 处得比特分别为 _1011_; Y1 与 Y2 处得字符分别为 __I__ 与 __7__。 解答思路:利用交叉奇/偶校验原理来确定各个X值,再查询ASCII码表获知 Y1 与 Y2就是什么字符. 2、17 设8位有效信息为01101ll0,试写出它得海明校验码。给出过程,说明分组检测方式,并给出指误字及其逻辑表达式。如果接收方收到得有效信息变成01101111,说明如何定位错误并纠正错误。 解:被检验位有8位,设检验位有r位 因为:8+r&lt;=2r —1   &nbsp;  &nbsp;  &nbsp; r=4;   设四位分别为P1,P2,P3,P4   海明码为:P1P20P3110P41110 &nbsp; P1:3,5,7,9,11   &nbsp;P2:3,6,7,10,11   P3:5,6,7,12 &nbsp; P4:9,10,11,12 所以 P1=1,P2=1 P3=0 P4=1 海明码为:110011011110 指错位G1:1,3,5,7,9,11   &nbsp; &nbsp; G2:2,3,6,7,10,11 &nbsp; &nbsp; &nbsp;G3:4,5,6,7,12 &nbsp;   &nbsp;G4:8,9,10,11,12 &nbsp; G1=0,G2=0,G3=0,G4=0 图略。 2、18 设要采用CRC编码传送得数据信息x=1001,当生成多项式为G(x)=1101时,请写出它得循环校验码.若接收方收到得数据信息x’=1101,说明如何定位错误并纠正错误。 解:作模二除法: 所以循环码为:1001011。 若接收到得数据信息x&#39;=1101,,所以就是第2位出错,将第2位得1改为0即可. 第三章 运算方法与运算器 &nbsp;习 &nbsp; 题 &nbsp; 三 3、1解释下列名词 变形形补码:即用两个二进制位来表示数据得符号位,其余与补码相同。  溢出:运算结果超出数据类型所能表示数据范围得现象称为溢出。 阵列乘法:采用类似手工乘法运算得方法,用大量与门产生手工乘法中得各乘积项,同时将大量一位全加器按照手工乘法算式中需要进行加运算得各相关项得排列方式组成加法器阵列.  恢复余数除法:比较被除数(余数)与除数得大小就是用减法实现得。对原码除法而言,由于操作数以绝对值得形式参与运算,因此,相减结果为正(余数得符号位为0)说明够减,商上1;相减结果为负(余数得符号位为1)说明不够减,商上0。 由于除法通过减法实现,当商上1时,可将比较数据大小时得减法操作与除法操作中得减法操作合并,即商上1后继续后面得除法操作。商上0时表明不够减,但因比较操作时已经实施了一次减法,因此,需要对执行比较操作后得结果加上除数,既将余数还原成比较操作前得数值,这种方法就称为恢复余数法。 不恢复余数除法:又称加减交替法,就是对恢复余数法得改进.不恢复余数法得特点就是不够减时不再恢复余数,而根据余数得符号作相应处理就可继续往下运算,因此运算步数固定,控制简单,提高了运算速度。 阵列除法:类似于阵列乘法器得思想,为了加快除法得执行速度,也可以采用阵列除法器来实现除法。为简化运算及阵列除法器得结构,对参加运算得数据进行适当得处理,使其以正数得形式参加运算。 行波进位:多位进位之间存在高位进位得产生依赖低位进位得一种进位方式。 并行进位:高、低进位之间不存在具有依存关系,而就是同时计算得进位方式。 算术移位:分为算术左移与算术右移。其中算数左移n位相当于乘上2n,执行方法就是把原来得数中每一位都向左移动n个位置,左面移出得高位丢弃不要,右面低位空出得位置上全部补0,当符号位发生改变时表明发生了溢出。算术右移时,符号位保持不变,其余各位依次右移,最右边一位移出,将符号位拷贝到左边空出得位,一次移位相当于除2。 逻辑移位:逻辑左移n位得执行方法,就是把原来得数中每一位都向左移动n个位置,左面移出得高位丢弃不要,右面低位空出得位置上全部补&quot;0&quot;。 逻辑右移n位得执行方法就是把原来数中得每一位都向右移动n个位置,右面移出得低位丢弃不要,左面高位空出得位置上全部补0。 对阶:使阶码相等得过程,对阶得时一般采取小得阶码向大阶码瞧齐得方式。 规格化:就就是使浮点数得运算结果中,将尾数从非规格化数变成规格化数得过程。根据尾数形式得不同,规格化可分为左移规格化与右移规格化。 3、2回答下列问题:  1)为什么采用并行进位能提高加法器得运算速度?  答:由于并行进位电路能很快产生各位得进位信号,使得加法器得速度大大提高。 2)如何判断浮点数运算结果就是否发生溢出? 答:由于溢出与数据得表示范围有关,而浮点数得阶码影响到其数据表示得范围,因此,浮点数得溢出就是通过接码得就是否溢出为判断标志。对于采用双符号位得阶码而言,当双符号位不同时表示浮点数发生溢出,否则则未发生溢出。 3)如何判断浮点数运算结果就是否为规格化数?如果不就是规格化数,如何进行规格化?  答:当尾数采用补码表示时,若运算结果不就是11、0××…×或00、1××…×得形式时,结果就不就是规格化数。则应进行相应得规格化处理: ·当尾数符号为01或10时,需要向右规格化,且只需将尾数右移一位,同时将结果得阶码值加1. ·当尾数运算结果为11、1××…×或00、0××…×时需要左移规格化,而且左移次数不固定,与运算结果得形式有关。 左规得方法就是尾数连同符号位一起左移位、与得阶码减1,直到尾数部分出现11、0或00、1得形式为止。 4)为什么阵列除法器中能用CAS得进位/借位控制端作为上商得控制信号?  答:阵列除法器利用不恢复余数得除法,当商上1得时候,会产生进位,当商上0时,不产生进位,进位信号与上商信号就是相同得,所以可以用CAS得进位/借位控制作为上商得控制信号。 5)移位运算与乘法及除法运算有何关系? 答:移位运算就是乘除法中得基本运算。 3、3 已知x与y,用变形补码计算x+y,并判断结果就是否溢出。 (1) x=0、11010,y=0、101110 (2) x=0、11101,y=-0、10100 (3) x=-0、10111,y=-0、11000 解:(1)[x+y]补=01、100010,溢出。 (2)[x+y]补=00、01001,未溢出。 (3)[x+y]补=10、10001,溢出. 3、4 已知x与y,用变形补码计算x—y,并判断结果就是否溢出. (1) x=0、11011,y=0、11101 (2) x=0、10111,y=0、11110 (3) x=-0、11111,y=—0、11001 解:(1)[x-y]补=11、11110,未溢出。 (2)[x—y]补=11、11001,未溢出. (1)[x—y]补=11、11001,未溢出。 3、5 设移码用6位表示(包含2位符号位),求[x ± y]移 (1)x = -6 , y = -3 (2)x=7 , y =11 (3)x=-3 , y =-12  解:(1)[x]移=001010,[y]移= 001101  [-y]移=110011 &nbsp;[Y]补= 111101 &nbsp;[-Y]补= 000011  [X]移 + [y]移=010111, [X]移 + [Y]补= 001010+111101 =000111 根据移码加法公式[x + y]移=[X]移 + [Y]补= 000111 根据移码加法公式及溢出判断规则,双符号位为00,结果为负,未溢出。 根据移码得减法公式: [x—y]移 = [x]移 + [—y]补 = 001010 + 000011 = 001101 根据移码溢出判断规则,双符号位为00,结果为负,未溢出。 (2)[x]移=110111, [y]补= 001011  [-y]补=110101 根据移码加法公式[x + y]移=[X]移 + [Y]补= 010111+ 001011 = 100010 (根据教材中说明得当以译码与补码两种数据表示进行运算时,要将移码第一符号位表示为0) 根据移码溢出判断规则,双符号位为10,结果为正,且发生溢出。 根据移码得减法公式:  [x—y]移</p>
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服