《计算机组成原理》习题课:习题课1-7_第1页
《计算机组成原理》习题课:习题课1-7_第2页
《计算机组成原理》习题课:习题课1-7_第3页
《计算机组成原理》习题课:习题课1-7_第4页
《计算机组成原理》习题课:习题课1-7_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,物理机:计算机硬核的物理功能只是执行机器语言,称为机器语言物理机,即一台实际的机器。 虚拟机:通常是指通过配置软件扩充机器功能后,形成的一台计算机,实际硬件在物理功能上并不具备这种功能。它将提供给用户的功能抽象出来,使之脱离具体的物理机器,这有利于让用户摆脱真实机器细节的束缚。,2,3.10 设机器字长16位,阶码7位,含阶符1位;尾数9位,含数符1位(阶码底为2),若阶码和尾数均用补码表示,说明在尾数规格化和不规格化两种情况下,它所能表示的最大正数、非零最小正数、绝对值最大负数、绝对值最小负数各是多少?写出其机器数,并给出十进制真值。 若阶码用移码,尾数仍用补码,各值如何变化? 解:设阶

2、码部分共m+1位(6+1),含阶符1位;尾数部分共n+1位(8+1),含数符1位。补码规格化时:,3,补码非规格化:,阶码用移码,尾数用补码则规格化时(不考虑溢出情况),4,注:在考虑溢出的情况时,当阶码用的移码-2m,称为机器零,故非零最小正数(2-63)(2-1) 绝对值最小负数(2-63)-(2-1+ 2-8)。 非规格化时,在考虑溢出的情况时, 非零最小正数(2-63)(2-8)绝对值最小负数(2-63)(- 2-8)。 3.13用压缩十进制数串表示法表示下列十进制数: +66, -78,+254,-396,+1980,-1992 答: 066C 078D 254C 396D 0198

3、C 0112D,5,3.20 X=-0.10110, Y=0.11111用加减交替法原码一位除计算X/Y的商及余数。(要求被除数的绝对值小于除数,否则溢出) 解:|X|=00.10110 |Y|=00.11111 -Y补=11.00001 被除数(余数) 商 操作说明 0 0 . 1 0 1 1 0 0 0 0 0 0 0 开始情况 + 1 1 . 0 0 0 0 1 + -Y补 1 1 . 1 0 1 1 1 0 0 0 0 0 0 不够减,商上0 1 1 . 0 1 1 1 0 0 0 0 0 0 0 左移1位 + 0 0 . 1 1 1 1 1 + |Y| 0 0 . 0 1 1 0 1

4、 0 0 0 0 0 1 够减商上1 0 0 . 1 1 0 1 0 0 0 0 0 1 0 左移 + 1 1 . 0 0 0 0 1 + -Y补 1 1 . 1 1 0 1 1 0 0 0 0 1 0 不够减,商上0 1 1 . 1 0 1 1 0 0 0 0 1 0 0 左移 + 0 0 . 1 1 1 1 1 + Y补 0 0 . 1 0 1 0 1 0 0 0 1 0 1 够减商上1 0 1 . 0 1 0 1 0 0 0 1 0 1 0 左移,6,被除数(余数) 商 操作说明 0 1 . 0 1 0 1 0 0 0 1 0 1 0 左移 + 1 1 . 0 0 0 0 1 + -Y补

5、 0 0 . 0 1 0 1 1 0 0 1 0 1 1 够减商上1 0 0 . 1 0 1 1 0 0 1 0 1 1 0 左移 + 1 1 . 0 0 0 0 1 + -Y补 1 1 . 1 0 1 1 1 0 1 0 1 1 0 不够减,商上0 + 0 0 . 1 1 1 1 1 余数是负则恢复余数 + Y补 0 0 . 1 0 1 1 0 注:余数为正则不用恢复余数 余数 商 符号为 10=1 既是负号 故商值为 -0.10110 余数为-0.10110* 2-5 注: 操作过程是开始时减去除数,当余数为正时,商上1。求下一位商的办法,是余数左移1位,再减去除数;若当余数为负时,商上0

6、,求下一位商的办法,是余数左移1位,再加上除数。但最后一次时若余数是负数时则需恢复余数,为正时则不用。符号位单独处理。,7,3.31 设有16个信息位(k),如采用海明码校验,至少需要设置多少个校验位(r)?应放置在哪个位置上? 答:如采用查一位错方式,其公式为 2rk+r+1 故选取r=5位, 即P5 P4 P3 P2 P1 ,因为 32 16+5+1。它们放置在2i-1位置上,即海明码的H16 H8 H4 H2 H1 。 如采用检测与自动校正一位错,并能发现两位错方式,其公式为 2r-1k+r 故选取r=6位, 即P6 P5 P4 P3 P2 P1 ,因为 32 16+6。它们一般放置在2

7、i-1位置上,(注: P6只能放在海明码的最高位置上)即海明码的H22 H16 H8 H4 H2 H1 。,8,3.1A 某微机内存有单精度符点数为C2308000H,计算其真值。 解:计算该浮点数的真值过程如下 将其展开为二进制数,并区分出三个字段的编码为: 1 100 0010 0011 0000 1000 0000 0000 0000 字符 阶码 尾数 由于数符为1,该浮点数是一个负数。 阶码真值= 1000100 - 0111111= 0000 0101 尾数=1.0110 0001 0000 0000 0000 000 于是该浮点数的真值为: -1.01100001*2+101=-1

8、01100.001=-44.125,9,3.2A 已知X=+13,Y=+11,采用比较法的补码一位乘法计算 X*Y=? 解:X=+1101 X补=00 1101 -X补=11 0011 (双符号位) Y=+1011 Y补=0 1011 (单符号位) 部分和 Y0Y1Y2Y3Y4 Y5(附加位) 0 0 0 0 0 0 0 1 0 1 1 0 + -X补 1 1 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 0 0 1 1 0 1 0 1 1 移位,左边补添同符号 + 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 1 0 1 1 1 1 1 1 0 0

9、 1 1 0 1 0 1 移位,左边补添同符号 + X补 0 0 1 1 0 1 0 0 1 0 0 1 1 1 0 1 0 1 0 0 0 1 0 0 1 1 1 0 1 0 移位,左边补添同符号 + -X补 1 1 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 0 1 移位,左边补添同符号 + X补 0 0 1 1 0 1 0 0 1 0 0 0 1 1 1 1 0 1 X*Y补=00 1000 1111 X*Y=+10001111=+143,10,3.3A 利用定点补码加减交替法求X/Y=0.1000/-0.1010=? 解:以上

10、是在|X|Y|即不溢出的前提下,规则如下; (1)第一步如果被除数与除数同号,用被除数减去除数;若两数异号,用被除数加上除数。如果所得余数与除数同号上商1,若余数与除数异号,上商0,该商即为结果的符号位。 (2)求商的数值部分 如果上次上商1,将余数左移一位后减去除数;如果上次上商0,将余数左移一位后加上除数。然后判断本次操作后的余数,如果余数与除数同号上商1;若余数与除数异号上商0。如此重复执行 n-l次(设数值部分有n位)。 (3)商的最后一位一般采用恒置1的办法,井省略了最低位+1的操作,此时最大误差为士2-n。如果对商的精度要求较高则可按规则(2)再进行一次操作以求得商的第n位。当除不

11、尽时若商为负,要在商的最低一位加 1,使商从反码值转变成补码值(不包括余数时是如此,包括时则不必做);若商为正最低位不需要加1。,11,X补=00.1000 Y= - 0.1010 Y补=11.0110 -Y补=00.1010 被除数(余数) 商 操作说明 0 0 . 1 0 0 0 0 0 0 0 0 开始情况 + 1 1 . 0 1 1 0 被除数与除数异号,则+ Y补 1 1 . 1 1 1 0 0 0 0 0 1 余数与除数同号商Q上1 1 1 . 1 1 0 0 0 0 0 1 0 左移 + 0 0 . 1 0 1 0 因为Q上1,故+ -Y补 0 0 . 0 1 1 0 0 0 0

12、 1 0 余数与除数异号商Q上0 0 0 . 1 1 0 0 0 0 1 0 0 左移 + 1 1 . 0 1 1 0 因为Q上0,故+ Y补 0 0 . 0 0 1 0 0 0 1 0 0 余数与除数异号商Q上0 0 0 . 0 1 0 0 0 1 0 0 0 左移 + 1 1 . 0 1 1 0 因为Q上0,故+ Y补 1 1 . 1 0 1 0 0 1 0 0 1 余数与除数同号商Q上1 1 1 . 0 1 0 0 1 0 0 1 0 左移 + 0 0 . 1 0 1 0 因为Q上1,故+ -Y补 1 1 . 1 1 1 0 1 0 0 1 1 余数与除数同号商Q上1 商值=1.0011

13、补码 余数=1.1110*2-4 补码,X/Y=-0.1101+(-0.0010*2-4 )/(-0.1010),12,3 .4A 已知:X=+320 Y=-25,采用补码加减交替法求X/Y=?写出解题过程。 解:X=+01 0100 0000 Y=-11001 X原=00 0101000000=X补 Y原=11 1101 Y补=11 00111 -Y补=00 11001 X,Y双符号位 , 商Q为单符号 被除数X (余数r) 商Q 操作 0 0 0 1 0 1 0 0 0 0 0 0 0 X Y异号,做X+Y +Y补 1 1 0 0 1 1 1 1 1 1 0 0 0 1 0 0 0 0 0

14、 1 r Y同号 Q上1(商符) 下次做2r-Y 左移 1 1 0 0 0 1 0 0 0 0 0 1 0 末位补0 + -Y补 0 0 1 1 0 0 1 1 1 1 1 0 1 1 0 0 0 0 1 1 r Y同号 Q上1(商值) 下次做2r-Y 左移 1 1 1 0 1 1 0 0 0 0 1 1 0 末位补0 + -Y补 0 0 1 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 r Y异号 Q上0 下次做2r+Y 左移 0 0 1 1 1 1 0 0 0 1 1 0 0 末位补0 +Y补 1 1 0 0 1 1 1 0 0 0 0 1 0 1 0 0 1 1 0

15、 0 r Y异号 Q上0 下次做2r+Y 左移 0 0 0 1 0 1 0 0 1 1 0 0 0 末位补0 +Y补 1 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 1 0 0 1 r Y同号 Q上1 下次做2r-Y 左移 1 1 0 0 0 1 0 1 1 0 0 1 0 末位补0 + -Y补 0 0 1 1 0 0 1 1 1 1 1 0 1 1 1 1 0 0 1 1 r Y同号 Q上1 ,r X异号需纠余, + -Y补 0 0 1 1 0 0 1 X,Y异号,故-Y 0 0 1 0 1 0 0 1 1 0 0 1 1 商值为负,末位需加1 Q补= 1 10011+0 0

16、0001=1 10100 Q=-01100=-12 r补= 0 10100=r原 r=+10100=+20,13,3.5A 已知 X=+0.100100*2-101 Y=-0.100101*2+010 ,采用浮点补码乘法运算,求Z=X*Y=? 解:采用浮点乘法运算过程分为三个步骤:阶码相加,尾数相乘和对运算结果规格化。 X原=11101,00.100100 Y原=00010,11.100101 X补=11011,00.1001 Y补=00010,11.011011 1.阶码相加: EX= 1 1 0 1 1 + EY= 0 0 0 1 0 1 1 1 0 1 2.尾数相乘(采用补码移位乘法) X补 = 00.100100 -X补=11.011100 Y补 =1.011011,14,Y0Y1Y2Y3Y4Y5Y6Y7 (附加位) 0 0 0 0 0 0 0 0 1 0 1 1 0 1 1 0 -X 11 0 1 1 1 0 0 11 0 1 1 1 0 0 1 0 1 1 0 1 1 0 右移 11 1 0 1 1 1 0 0 1 0 1 1 0 1 1 加0并右移,高位补符

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论