清华计算机组成原理习题课课件习题课1-7

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

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

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

资源描述

2020/2/10计算机组成原理1•物理机:计算机硬核的物理功能只是执行机器语言,称为机器语言物理机,即一台实际的机器。•虚拟机:通常是指通过配置软件扩充机器功能后,形成的一台计算机,实际硬件在物理功能上并不具备这种功能。它将提供给用户的功能抽象出来,使之脱离具体的物理机器,这有利于让用户摆脱真实机器细节的束缚。2020/2/10计算机组成原理2•3.10设机器字长16位,阶码7位,含阶符1位;尾数9位,含数符1位(阶码底为2),若阶码和尾数均用补码表示,说明在尾数规格化和不规格化两种情况下,它所能表示的最大正数、非零最小正数、绝对值最大负数、绝对值最小负数各是多少?写出其机器数,并给出十进制真值。•若阶码用移码,尾数仍用补码,各值如何变化?•解:设阶码部分共m+1位(6+1),含阶符1位;尾数部分共n+1位(8+1),含数符1位。补码规格化时:典型值浮点数代码真值非零最小正数10---0,0.10---0(2的-2m方)(2-1),(2-64)(2-1)最大正数01---1,0.11---1(2的2m方-1)(1-2-n),(263)(1-2-8)绝对值最小负数10---0,1.011--1(2的-2m方)[-(2-1+2-n)],(2-64)[-(2-1+2-8)]绝对值最大负数01---1,1.00---0(2的2m方-1)(-1),(263)(-1)2020/2/10计算机组成原理3•补码非规格化:典型值浮点数代码真值非零最小正数10---0,0.00---1(2的-2m方)(2-n),(2-64)(2-8)最大正数01---1,0.11---1(2的2m方-1)(1-2-n),(263)(1-2-8)绝对值最小负数10---0,1.111--1(2的-2m方)(-2-n),(2-64)(-2-8)绝对值最大负数01---1,1.00---0(2的2m方-1)(-1),(263)(-1)阶码用移码,尾数用补码则规格化时(不考虑溢出情况)典型值浮点数代码真值非零最小正数00---0,0.10---0(2的-2m方)(2-n),(2-64)(2-1)最大正数11---1,0.11---1(2的2m方-1)(1-2-n),(263)(1-2-8)绝对值最小负数00---0,1.011--1(2的-2m方)(-2-n),(2-64)[-(2-1+2-8)]绝对值最大负数11---1,1.00---0(2的2m方-1)(-1),(263)(-1)2020/2/10计算机组成原理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答:066C078D254C396D0198C0112D2020/2/10计算机组成原理5•3.20X=-0.10110,Y=0.11111用加减交替法原码一位除计算X/Y的商及余数。(要求被除数的绝对值小于除数,否则溢出)解:|X|=00.10110|Y|=00.11111[-Y]补=11.00001被除数(余数)商操作说明00.10110000000开始情况+11.00001+[-Y]补11.10111000000不够减,商上011.01110000000左移1位+00.11111+|Y|00.01101000001够减商上100.11010000010左移+11.00001+[-Y]补11.11011000010不够减,商上011.10110000100左移+00.11111+[Y]补00.10101000101够减商上101.01010001010左移2020/2/10计算机组成原理6•被除数(余数)商操作说明01.01010001010左移+11.00001+[-Y]补00.01011001011够减商上100.10110010110左移+11.00001+[-Y]补11.10111010110不够减,商上0+00.11111余数是负则恢复余数+[Y]补00.10110注:余数为正则不用恢复余数余数商符号为1⊕0=1既是负号故商值为-0.10110余数为-0.10110*2-5•注:操作过程是开始时减去除数,当余数为正时,商上1。求下一位商的办法,是余数左移1位,再减去除数;若当余数为负时,商上0,求下一位商的办法,是余数左移1位,再加上除数。但最后一次时若余数是负数时则需恢复余数,为正时则不用。符号位单独处理。2020/2/10计算机组成原理7•3.31设有16个信息位(k),如采用海明码校验,至少需要设置多少个校验位(r)?应放置在哪个位置上?•答:如采用查一位错方式,其公式为•2r≥k+r+1•故选取r=5位,即P5P4P3P2P1,因为32≥16+5+1。它们放置在2i-1位置上,即海明码的H16H8H4H2H1。•如采用检测与自动校正一位错,并能发现两位错方式,其公式为•2r-1≥k+r•故选取r=6位,即P6P5P4P3P2P1,因为32≥16+6。它们一般放置在2i-1位置上,(注:P6只能放在海明码的最高位置上)即海明码的H22H16H8H4H2H1。2020/2/10计算机组成原理8•3.1A某微机内存有单精度符点数为C2308000H,计算其真值。解:计算该浮点数的真值过程如下将其展开为二进制数,并区分出三个字段的编码为:11000010001100001000000000000000字符阶码尾数由于数符为1,该浮点数是一个负数。阶码真值=1000100-0111111=00000101尾数=1.01100001000000000000000于是该浮点数的真值为:-1.01100001*2+101=-101100.001=-44.1252020/2/10计算机组成原理9•3.2A已知X=+13,Y=+11,采用比较法的补码一位乘法计算X*Y=?解:X=+1101[X]补=001101[-X]补=110011(双符号位)Y=+1011[Y]补=01011(单符号位)部分和Y0Y1Y2Y3Y4Y5(附加位)000000010110+[-X]补110011110011010110111001101011移位,左边补添同符号+0000000111001101011111100110101移位,左边补添同符号+[X]补001101001001110101000100111010移位,左边补添同符号+[-X]补110011110111111010111011111101移位,左边补添同符号+[X]补001101001000111101[X*Y]补=0010001111X*Y=+10001111=+1432020/2/10计算机组成原理10•3.3A利用定点补码加减交替法求X/Y=0.1000/-0.1010=?解:以上是在|X||Y|即不溢出的前提下,规则如下;(1)第一步如果被除数与除数同号,用被除数减去除数;若两数异号,用被除数加上除数。如果所得余数与除数同号上商1,若余数与除数异号,上商0,该商即为结果的符号位。(2)求商的数值部分如果上次上商1,将余数左移一位后减去除数;如果上次上商0,将余数左移一位后加上除数。然后判断本次操作后的余数,如果余数与除数同号上商1;若余数与除数异号上商0。如此重复执行n-l次(设数值部分有n位)。(3)商的最后一位一般采用恒置1的办法,井省略了最低位+1的操作,此时最大误差为士2-n。如果对商的精度要求较高则可按规则(2)再进行一次操作以求得商的第n位。当除不尽时若商为负,要在商的最低一位加1,使商从反码值转变成补码值(不包括余数时是如此,包括时则不必做);若商为正最低位不需要加1。2020/2/10计算机组成原理11•X补=00.1000Y=-0.1010Y补=11.0110[-Y]补=00.1010被除数(余数)商操作说明00.100000000开始情况+11.0110被除数与除数异号,则+[Y]补11.111000001余数与除数同号商Q上111.110000010左移+00.1010因为Q上1,故+[-Y]补00.011000010余数与除数异号商Q上000.110000100左移+11.0110因为Q上0,故+[Y]补00.001000100余数与除数异号商Q上000.010001000左移+11.0110因为Q上0,故+[Y]补11.101001001余数与除数同号商Q上111.010010010左移+00.1010因为Q上1,故+[-Y]补11.111010011余数与除数同号商Q上1商值=1.0011补码余数=1.1110*2-4补码,X/Y=-0.1101+(-0.0010*2-4)/(-0.1010)2020/2/10计算机组成原理12•3.4A已知:X=+320Y=-25,采用补码加减交替法求X/Y=?写出解题过程。解:X=+0101000000Y=-11001[X]原=000101000000=[X]补[Y]原=111101[Y]补=1100111[-Y]补=0011001X,Y双符号位,商Q为单符号被除数X(余数r)商Q操作0001010000000XY异号,做X+Y+[Y]补11001111110001000001rY同号Q上1(商符)下次做2r-Y左移1100010000010末位补0+[-Y]补00110011111011000011rY同号Q上1(商值)下次做2r-Y左移1110110000110末位补0+[-Y]补00110010001111000110rY异号Q上0下次做2r+Y左移0011110001100末位补0+[Y]补11001110000101001100rY异号Q上0下次做2r+Y左移0001010011000末位补0+[Y]补11001111110001011001rY同号Q上1下次做2r-Y左移1100010110010末位补0+[-Y]补00110011111011110011rY同号Q上1,rX异号需纠余,+[-Y]补0011001X,Y异号,故-Y0010100110011商值为负,末位需加1[Q]补=110011+000001=110100Q=-01100=-12[r]补=010100=[r]原r=+10100=+202020/2/10计算机组成原理13•3.5A已知X=+0.100100*2-101Y=-0.100101*2+010,采用浮点补码乘法运算,求Z=X*Y=?解:采用浮点乘法运算过程分为三个步骤:阶码相加,尾数相乘和对运算结果规格化。[X]’原=11101,00.100100[Y]’原=00010,11.100101[X]’补=11011,00.1001[Y]’补=00010,11.0110111.阶码相加:EX=11011+EY=00010111012.尾数相乘(采用补码移位乘法)[X]补=00.100100[-X]补=11.011100[Y]补=1.0110112020/2/10计算机组成原理14•Y0Y1Y2Y3Y4Y5Y6Y7(附加位)•0000000010110110•-X11011100•1101110010110110•右移1110111001011011加0并右移,高位补符号位+0右移1111011100101101加X并右移•+X001001000001101100101101•右移0000110110010110加-X•-X11011100•1110100110010110•右移1111010011001011加0并右移•+0右移1111101001100101加X并右移•+X00100100•0001111001100101•右移0000111100110010-Y•-X11011100•1110101100110010Y的

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

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

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

×
保存成功