欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    计算机组成习题-答案~(清华大学出版社~).doc

    • 资源ID:641765       资源大小:1.29MB        全文页数:76页
    • 资源格式: DOC        下载积分:12金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机组成习题-答案~(清华大学出版社~).doc

    -_第第 1 1 章章 习习 题题 答答 案案5若有两个基准测试程序 P1 和 P2 在机器 M1 和 M2 上运行,假定 M1 和 M2 的价格分别是 5000 元和 8000 元,下表给出了 P1 和 P2 在 M1 和 M2 上所花的时间和指令条数。M1M2程序指令条数执行时间(ms)指令条数执行时间(ms)P1200×10610000150×1065000P2300×1033420×1036请回答下列问题: (1)对于 P1,哪台机器的速度快?快多少?对于 P2 呢? (2)在 M1 上执行 P1 和 P2 的速度分别是多少 MIPS?在 M2 上的执行速度又各是多少?从执行速 度来看,对于 P2,哪台机器的速度快?快多少? (3)假定 M1 和 M2 的时钟频率各是 800MHz 和 1.2GHz,则在 M1 和 M2 上执行 P1 时的平均时钟 周期数 CPI 各是多少? (4)如果某个用户需要大量使用程序 P1,并且该用户主要关心系统的响应时间而不是吞吐率,那 么,该用户需要大批购进机器时,应该选择 M1 还是 M2?为什么?(提示:从性价比上考虑)(5)如果另一个用户也需要购进大批机器,但该用户使用 P1 和 P2 一样多,主要关心的也是响应时 间,那么,应该选择 M1 还是 M2?为什么? 参考答案: (1) 对于 P1,M2 比 M1 快一倍;对于 P2,M1 比 M2 快一倍。 (2) 对于 M1,P1 的速度为:200M/10=20MIPS;P2 为 300k/0.003=100MIPS。 对于 M2,P1 的速度为:150M/5=30MIPS;P2 为 420k/0.006=70MIPS。 从执行速度来看,对于 P2,因为 100/70=1.43 倍,所以 M1 比 M2 快 0.43 倍。 (3) 在 M1 上执行 P1 时的平均时钟周期数 CPI 为:10×800M/(200×106)=40。 在 M2 上执行 P1 时的平均时钟周期数 CPI 为:5×1.2G/(150×106)=40。 (4) 考虑运行 P1 时 M1 和 M2 的性价比,因为该用户主要关心系统的响应时间,所以性价比中的性 能应考虑执行时间,其性能为执行时间的倒数。故性价比 R 为: R=1/(执行时间×价格) R 越大说明性价比越高,也即,“执行时间×价格”的值越小,则性价比越高。 因为 10×5000 > 5×8000,所以,M2 的性价比高。应选择 M2。 (5) P1 和 P2 需要同等考虑,性能有多种方式:执行时间总和、算术平均、几何平均。 若用算术平均方式,则:因为 (10+0.003)/2×5000 > (5+0.006)/2×8000,所以 M2 的性价比高, 应选择 M2。 若用几何平均方式,则:因为 sqrt(10×0.003) ×5000 2147483647 12147483647U > 2147483647 12147483647 > (int) 2147483648U1 > 2(unsigned) 1 > 2无符号整数有符号整数无符号整数有符号整数无符号整数有符号整数有符号整数无符号整数11010 111000B = 000B111B (1) 000B(0)0111B (2311) > 1000B (231)0111B (2311) 1000B (231)111B (1) > 1110B (2)111B (2321) > 1110B (2322)9以下是一个 C 语言程序,用来计算一个数组 a 中每个元素的和。当参数 len 为 0 时,返回值应该是 0,但是在机器上执行时,却发生了存储器访问异常。请问这是什么原因造成的,并说明程序应该 如何修改。1float sum_elements(float a, unsigned len) 2 3int i; 4float result = 0; 5 6for(i = 0; i > 24); int func2(unsigned word) return ( (int) word > 24; 假设在一个假设在一个 32 位机器上执行这些函数,该机器使用二进制补码表示带符号整数。无符号数采用逻辑位机器上执行这些函数,该机器使用二进制补码表示带符号整数。无符号数采用逻辑-_移位,带符号整数采用算术移位。请填写下表,并说明函数移位,带符号整数采用算术移位。请填写下表,并说明函数 func1 和和 func2 的功能。的功能。Wfunc1(w)func2(w)机器数机器数值值机器数机器数值值机器数机器数值值0000 007FH1270000 007FH+1270000 007FH+1270000 0080H1280000 0080H+128FFFF FF80H1280000 00FFH2550000 00FFH+255FFFF FFFFH10000 0100H2560000 0000H00000 0000H0函数函数 func1 的功能是把无符号数高的功能是把无符号数高 24 位清零(左移位清零(左移 24 位再逻辑右移位再逻辑右移 24 位)位) ,结果一定是正的有符,结果一定是正的有符 号数;而函数号数;而函数 func2 的功能是把无符号数的高的功能是把无符号数的高 24 位都变成和第位都变成和第 25 位一样,因为左移位一样,因为左移 24 位后进行算术右位后进行算术右 移,高移,高 24 位补符号位(即第位补符号位(即第 25 位)位) 。4填写下表,注意对比无符号数和带符号整数的乘法结果,以及截断操作前、后的结果。填写下表,注意对比无符号数和带符号整数的乘法结果,以及截断操作前、后的结果。xyx×y(截断前)(截断前)x×y(截断后)(截断后) 模式模式 机器数机器数值值机器数机器数值值机器数机器数值值机器数机器数值值无符号数无符号数11060102001100121004二进制补码二进制补码1102010+211110041004无符号数无符号数0011111700011171117二进制补码二进制补码001+1111111111111111无符号数无符号数11171117110001490011二进制补码二进制补码11111111000001+1001+15以下是两段以下是两段 C 语言代码,函数语言代码,函数 arith( )是直接用是直接用 C 语言写的,而语言写的,而 optarith( )是对是对 arith( )函数以某个确函数以某个确 定的定的 M 和和 N 编译生成的机器代码反编译生成的。根据编译生成的机器代码反编译生成的。根据 optarith( ),可以推断函数,可以推断函数 arith( ) 中中 M 和和 N 的值各是多少?的值各是多少? #define M #define N int arith(int x, int y) int result = 0 ; result = x*M + y/N; return result; int optarith ( int x, int y) int t = x; x >2; return x+y;参考答案:参考答案: 可以看出可以看出 x*M 和和“int t = x; x >2;”两句对应,功能主要由第二句两句对应,功能主要由第二句“y 右移右移 2 位位”实现,它实现了实现,它实现了 y 除以除以 4 的功能,因此的功能,因此 N 是是 4。而第一句。而第一句“if ( y >2=1 而而1/4=0,两者不等;调整后,两者不等;调整后 1+3=2,2>>2=0,两者相等。,两者相等。思考:能否把思考:能否把 if ( y 0,则,则 q 0 = 1 商的数值部分为:商的数值部分为:00001。所以,。所以,X/Y原原=00001 (最高位为符号位最高位为符号位),余数为,余数为 0100。 (5) 将将 10 和和6 分别表示成补码形式为:分别表示成补码形式为:10 补补 = 0 1010 , 6 补补 = 1 1010,计算过程如下:,计算过程如下: 先对被除数进行符号扩展,先对被除数进行符号扩展,10 补补=00000 01010,6 补补 = 0 0110余数寄存器余数寄存器 R 余数余数/商寄存器商寄存器 Q 说说 明明 0 0 0 0 0 0 1 0 1 0 开始开始 R0 = X+ 1 1 0 1 0 R1=X +Y 1 1 0 1 0 0 1 0 1 0 R1与与Y同号,则同号,则 q5 =1 1 0 1 0 0 1 0 1 0 1 2R1(R 和和 Q 同时左移,空出一位上商同时左移,空出一位上商 1) +0 0 1 1 0 R2 = 2R1+Y 1 1 0 1 0 1 0 1 0 1 R2与与Y同号,则同号,则 q4= 1, 1 0 1 0 1 0 1 0 1 1 2R2(R 和和 Q 同时左移,空出一位上商同时左移,空出一位上商 1) + 0 0 1 1 0 R3 = 2R2 +-Y 1 1 0 1 1 0 1 0 1 1 R3与与Y同号,则同号,则 q3 = 1 1 0 1 1 0 1 0 1 1 1 2R3(R 和和 Q 同时左移,空出一位上商同时左移,空出一位上商 1) + 0 0 1 1 0 R4 = 2R3 +Y 1 1 1 0 0 1 0 1 1 1 R4与与Y同号,则同号,则 q 2 = 11 1 0 0 1 0 1 1 1 1 2R4 (R 和和 Q 同时左移,空出一位上商同时左移,空出一位上商 0) + 0 0 1 1 0 R5= 2R4 +-Y 1 1 1 1 1 0 1 1 1 1 R5与与Y同号,则同号,则 q1= 1, 1 1 1 1 0 1 1 1 1 1 2R5 (R 和和 Q 同时左移,空出一位上商同时左移,空出一位上商 1) + 0 0 1 1 0 R6= 2R5 +Y 0 0 1 0 0 1 1 1 1 0 R6与与Y异号,则异号,则 q 0 = 0,Q 左移,空出一位上左移,空出一位上 商商 1 + 0 0 0 0 0 + 1 商为负数,末位加商为负数,末位加 1;余数不需要修正;余数不需要修正 0 0 1 0 0 1 1 1 1 1 所以,所以,X/Y 补补=11111,余数为,余数为 00100。 即:即:X/Y= 0001B = 1,余数为,余数为 0100B = 4 将各数代入公式将各数代入公式“除数除数×商商+余数余数= 被除数被除数”进行验证,得:进行验证,得:(6)×(1) +4= 10。10若一次加法需要若一次加法需要 1ns,一次移位需要,一次移位需要 0.5ns。请分别计算用一位乘法、两位乘法、基于。请分别计算用一位乘法、两位乘法、基于 CRA 的阵列的阵列-_乘法、基于乘法、基于 CSA 的阵列乘法四种方式计算两个的阵列乘法四种方式计算两个 8 位无符号二进制数乘积时所需的时间。位无符号二进制数乘积时所需的时间。 参考答案:参考答案: 一位乘法:一位乘法:8 次右移,次右移,8 次加法,共计次加法,共计 12ns; 二位乘法:二位乘法:4 次右移,次右移,4 次加法,共计次加法,共计 6ns; 基于基于 CRA 的阵列乘法:每一级部分积不仅依赖于上一级部分积,还依赖于上一级最终的进位,而的阵列乘法:每一级部分积不仅依赖于上一级部分积,还依赖于上一级最终的进位,而 每一级进位又是串行进行的,所以最长的路径总共经过了每一级进位又是串行进行的,所以最长的路径总共经过了 8+2×(81)=22 次全加器,共计约次全加器,共计约 22ns; 基于基于 CSA 的阵列乘法:本级进位和本级和同时传送到下一级,同级部分积之间不相互依赖,只进行的阵列乘法:本级进位和本级和同时传送到下一级,同级部分积之间不相互依赖,只进行 O(N)次加法运算,因此,共计约)次加法运算,因此,共计约 8ns。11在在 IEEE 754 浮点数运算中,当结果的尾数出现什么形式时需要进行左规,什么形式时需要进行右浮点数运算中,当结果的尾数出现什么形式时需要进行左规,什么形式时需要进行右 规?如何进行左规,如何进行右规?规?如何进行左规,如何进行右规?参考答案:参考答案: (1) 对于结果为对于结果为±±1x . .xxx 的情况,需要进行右规。右规时,尾数右移一位,阶码加的情况,需要进行右规。右规时,尾数右移一位,阶码加 1。右规操作。右规操作 可以表示为:可以表示为:M bM b ×2 -1,EbEb+1。右规时注意以下两点:。右规时注意以下两点: a) 尾数右移时,最高位尾数右移时,最高位“1”被移到小数点前一位作为隐藏位,最后一位移出时,要考虑舍入。被移到小数点前一位作为隐藏位,最后一位移出时,要考虑舍入。 b) 阶码加阶码加 1 时,直接在末位加时,直接在末位加 1。 (2) 对于结果为对于结果为±±0.0001xx 的情况,需要进行左规。左规时,数值位逐次左移,阶码逐次减的情况,需要进行左规。左规时,数值位逐次左移,阶码逐次减 1,直到将第一位,直到将第一位“1”移到小数点左边。假定移到小数点左边。假定 k 为结果中为结果中“±”“±”和左边第一个和左边第一个 1 之间连续之间连续 0 的个数,的个数, 则左规操作可以表示为:则左规操作可以表示为:M bM b ×2k,EbEbk。左规时注意以下两点:。左规时注意以下两点: a) 尾数左移时数值部分最左尾数左移时数值部分最左 k 个个 0 被移出,因此,相对来说,小数点右移了被移出,因此,相对来说,小数点右移了 k 位。因为进行尾数相位。因为进行尾数相 加时,默认小数点位置在第一个数值位(即:隐藏位)之后,所以小数点右移加时,默认小数点位置在第一个数值位(即:隐藏位)之后,所以小数点右移 k 位后被移到了第位后被移到了第 一位一位 1 后面,这个后面,这个 1 就是隐藏位。就是隐藏位。 b) 执行执行 EbEbk 时,每次都在末位减时,每次都在末位减 1,一共减,一共减 k 次。次。12在在 IEEE 754 浮点数运算中,如何判断浮点运算的结果是否溢出?浮点数运算中,如何判断浮点运算的结果是否溢出? 参考答案:参考答案: 浮点运算结果是否溢出,并不以尾数溢出来判断,而主要看阶码是否溢出。尾数溢出时,可通过右浮点运算结果是否溢出,并不以尾数溢出来判断,而主要看阶码是否溢出。尾数溢出时,可通过右 规操作进行纠正。阶码上溢时,说明结果的数值太大,无法表示;阶码下溢时,说明结果数值太小,规操作进行纠正。阶码上溢时,说明结果的数值太大,无法表示;阶码下溢时,说明结果数值太小, 可以把结果近似为可以把结果近似为 0。 在进行对阶、规格化、舍入和浮点数的乘在进行对阶、规格化、舍入和浮点数的乘/除运算等过程中,都需要对阶码进行加、减运算,可能会除运算等过程中,都需要对阶码进行加、减运算,可能会 发生阶码上溢或阶码下溢,因此,必须对阶码进行溢出判断。发生阶码上溢或阶码下溢,因此,必须对阶码进行溢出判断。 (有关对阶码进行溢出判断的方法可参见教材中相关章节。(有关对阶码进行溢出判断的方法可参见教材中相关章节。 )13假设浮点数格式为:阶码是假设浮点数格式为:阶码是 4 位移码,偏置常数为位移码,偏置常数为 8,尾数是,尾数是 6 位补码(采用双符号位)位补码(采用双符号位) ,用浮点运,用浮点运 算规则分别计算在不采用任何附加位和采用算规则分别计算在不采用任何附加位和采用 2 位附加位(保护位、舍入位)两种情况下的值。位附加位(保护位、舍入位)两种情况下的值。 (假(假 定对阶和右规时采用就近舍入到偶数方式)定对阶和右规时采用就近舍入到偶数方式) (1)(15/16) ×27 +(2/16) ×25 (2)(15/16) ×27(2/16) ×25 (3)(15/16) ×25 +(2/16) ×27 (4)(15/16) ×25(2/16) ×27 参考答案(假定采用隐藏位):参考答案(假定采用隐藏位): X= (15/16) ×27 = 0.111100B ×27= (1.111000)2 × 26 Y1= (2/16) ×25 = 0.001000B ×25= (1.000000)2 × 22Y2= (2/16) ×25 = 0.001000B ×25= (1.000000)2 × 22K= (15/16) ×25 = 0.111100B ×25= (1.111000)2 × 24 J1= (2/16) ×27 = 0.001000B ×27= (1.000000)2 × 24-_J2= (2/16) ×27 = 0.001000B ×27= (1.000000)2 × 24 根据题目所给的各种位数,可以得到在机器中表示为:根据题目所给的各种位数,可以得到在机器中表示为:X浮浮 = 00 1110 (1)111000 Y1浮浮 = 00 1010 (1)000000 Y2浮浮 = 11 1010 (1)000000K浮浮 = 00 1100 (1)111000 J1浮浮 = 00 1100 (1)000000 J2浮浮 = 11 1100 (1)000000所以,所以,E x = 1110,Mx = 00 (1). 111000 ,E y1 = 1010,My = 00(1).000000,E y2 = 1010,My = 11(1). 000000 Ek = 1100,MK = 00 (1). 111000 ,E J1 = 1100,MJ1 = 00(1).000000,E J2 = 1100,MJ2 = 11(1).000000尾数尾数 M 中小数点前面有三位,前两位为数符,表示双符号,第三位加了括号,是隐藏位中小数点前面有三位,前两位为数符,表示双符号,第三位加了括号,是隐藏位“1” 。 没有附加位时的计算:没有附加位时的计算:(1)X+Y1 E补补 = E x移移 + E y1移移补补 (mod 2n) = 1110 + 0110 = 0100 E = 4,根据对阶规则可知需要对,根据对阶规则可知需要对 y1 进行对阶,结果为:进行对阶,结果为:E y1 = E x = 1110,My 1= 000.000100 尾数相加:尾数相加:Mb = Mx + My1 = 001. 111000+ 000.000100 = 001.111100,两位符号相等,数值部分最,两位符号相等,数值部分最 高位为高位为 1,不需要进行规格化,所以最后结果为:,不需要进行规格化,所以最后结果为:E=1110,M=00(1).111100, 即即(31/32) ×27(2)X+Y2 E补补 = E x移移 + E y2移移补补 (mod 2n) = 1110 + 0110 = 0100; E = 4,根据对阶规则可知需要对,根据对阶规则可知需要对 y2 进行对阶,结果为:进行对阶,结果为:E y2 = E x = 1110,My2= 111.111100 尾数相加:尾数相加:Mb = Mx + My2 = 001. 111000+ 111.111100=001.110100,两位符号相等,数值部分最高,两位符号相等,数值部分最高 为为 1,不需要进行规格化,所以最后结果为:,不需要进行规格化,所以最后结果为:E=1110,M=00(1).110100, 即即(29/32) ×27(3)K+J1 E补补 = E K移移 + E J1移移补补 (mod 2n) = 1100 + 0100 = 0000; E = 0,根据对阶规则可知不需要进行对阶。,根据对阶规则可知不需要进行对阶。 尾数相加:尾数相加:Mb = MK + MJ1 = 001. 111000+ 001.000000= 010.111000,两位符号不等,说明尾数溢,两位符号不等,说明尾数溢 出,需要进行右规,最后结果为:出,需要进行右规,最后结果为:E=1101,M=00(1).011100, 即即(23/32) ×26(4)K+J2 E补补 = E K移移 + E J2移移补补 (mod 2n) = 1100 + 0100 = 0000; E = 0,根据对阶规则可知不需要进行对阶。,根据对阶规则可知不需要进行对阶。 尾数相加:尾数相加:Mb = MK + MJ2 = 00 1. 111000+ 111.000000 = 000.111000,两位符号相等,数值部分最,两位符号相等,数值部分最 高位为高位为 0,需要进行左规,所以最后结果为:,需要进行左规,所以最后结果为:E=1011,M=00(1).110000, 即即(7/8) ×24 如果有两位附加位精度上会有提高,在对阶的时候要注意小数点后就不是如果有两位附加位精度上会有提高,在对阶的时候要注意小数点后就不是 6 位,而是位,而是 8 位,最位,最 后两位为保护位和舍入位。但是由于本题后两位为保护位和舍入位。但是由于本题 6 位尾数已经足够,再加位尾数已经足够,再加 2 位附加位,其结果是一样位附加位,其结果是一样 的。的。14采用采用 IEEE 754 单精度浮点数格式计算下列表达式的值。单精度浮点数格式计算下列表达式的值。 (1)0.75+( 65.25)(2)0.75( 65.25) 参考答案:参考答案: x = 0.75 = 0.110.0B = (1.10.0)2 × 2-1 y = 65.25 = 1000001.01000.0B = (1.00000101.0) 2 × 26用用 IEEE 754 标准单精度格式表示为:标准单精度格式表示为:x浮浮 = 0 01111110 10.0 y浮浮 = 1 10000101 000001010.0所以,所以,E x = 01111110,Mx = 0 (1). 1.0 ,E y = 10000101,My = 1(1).000001010.0尾数尾数 Mx和和 My中小数点前面有两位,第一位为数符,第二位加了括号,是隐藏位中小数点前面有两位,第一位为数符,第二位加了括号,是隐藏位“1” 。 以下是计算机中进行浮点数加减运算的过程(假定保留以下是计算机中进行浮点数加减运算的过程(假定保留 2 位附加位:保护位和舍入位)位附加位:保护位和舍入位)-_(1)0.75+ ( 65.25) 对阶:对阶: E补补 = E x移移 + E y移移补补 (mod 2n) = 0111 1110 + 0111 1011 = 1111 1001 E = 7,根据对阶规则可知需要对,根据对阶规则可知需要对 x 进行对阶,结果为:进行对阶,结果为:Ex = E y = 10000101,Mx = 00.000000110.000 x 的尾数的尾数 Mx右移右移 7 位,符号不变,数值高位补位,符号不变,数值高位补 0,隐藏位右移到小数点后面,最后移出的,隐藏位右移到小数点后面,最后移出的 2 位位 保留保留 尾数相加:尾数相加:Mb = Mx + My = 00. .000000110.000+ 11. .000001010 .000 (注意小数点在隐藏位(注意小数点在隐藏位 后)后) 根据原码加根据原码加/减法运算规则,得:减法运算规则,得:00.000000110.000+ 11.000001010.000 = 11.000000100000 上式尾数中最左边第一位是符号位,其余都是数值部分,尾数后面两位是附加位(加粗)上式尾数中最左边第一位是符号位,其余都是数值部分,尾数后面两位是附加位(加粗) 。 规格化:根据所得尾数的形式,数值部分最高位为规格化:根据所得尾数的形式,数值部分最高位为 1,所以不需要进行规格化。,所以不需要进行规格化。 舍入:把结果的尾数舍入:把结果的尾数 Mb中最后两位附加位舍入掉,从本例来看,不管采用什么舍入法,结中最后两位附加位舍入掉,从本例来看,不管采用什么舍入法,结 果都一样,都是把最后两个果都一样,都是把最后两个 0 去掉,得:去掉,得:Mb = 11.0000001000 溢出判断:在上述阶码计算和调整过程中,没有发生溢出判断:在上述阶码计算和调整过程中,没有发生“阶码上溢阶码上溢”和和“阶码下溢阶码下溢”的问题。的问题。 因此,阶码因此,阶码 Eb = 10000101。 最后结果为最后结果为 Eb = 10000101,Mb = 1(1).000000100,即:,即: 64.5。 (2) 0.75( 65.25) 对阶:对阶: E补补 = E x移移 + E y移移补补 (mod 2n) = 0111 1110 + 0111 1011 = 1111 1001 E = -7,根据对阶规则可知需要对,根据对阶规则可知需要对 x 进行对阶,结果为:进行对阶,结果为:Ex = E y = 10000110,Mx = 00.000000110.000 x 的尾数的尾数 Mx右移一位,符号不变,数值高位补右移一位,符号不变,数值高位补 0,隐藏位右移到小数点后面,最后移出的位保,隐藏位右移到小数点后面,最后移出的位保 留留 尾数相加:尾数相加:Mb = Mx My = 00. .000000110.000 11. .000001010.000 (注意小数点在隐藏位(注意小数点在隐藏位 后)后) 根据原码加根据原码加/减法运算规则,得:减法运算规则,得:00.000000110.000 11.000001010.000=01.00001000000 上式尾数中最左边第一位是符号位,其余都是数值部分,尾数后面两位是附加位(加粗)上式尾数中最左边第一位是符号位,其余都是数值部分,尾数后面两位是附加位(加粗) 。 规格化:根据所得尾数的形式,数值部分最高位为规格化:根据所得尾数的形式,数值部分最高位为 1,不需要进行规格化。,不需要进行规格化。 舍入:把结果的尾数舍入:把结果的尾数 Mb中最后两位附加位舍入掉,从本例来看,不管采用什么舍入法,结中最后两位附加位舍入掉,从本例来看,不管采用什么舍入法,结 果都一样,都是把最后两个果都一样,都是把最后两个 0 去掉,得:去掉,得:Mb = 01.000010000 溢出判断:在上述阶码计算和调整过程中,没有发生溢出判断:在上述阶码计算和调整过程中,没有发生“阶码上溢阶码上溢”和和“阶码下溢阶码下溢”的问题。的问题。 因此,阶码因此,阶码 Eb = 10000101。 最后结果为最后结果为 Eb = 10000101,Mb = 0(1).000010000,即:,即:+66。思考题:对阶时发生什么情况,就可以不再继续进行计算?思考题:对阶时发生什么情况,就可以不再继续进行计算?15假定十进制数用假定十进制数用 8421 NBCD 码表示,采用十进制加法运算计算下列表达式的值,并讨论在十进制码表示,采用十进制加法运算计算下列表达式的值,并讨论在十进制 BCD 码加法运算中如何判断溢出。码加法运算中如何判断溢出。 (1)234+567 (2)548+729 参考答案:参考答案: (1)234+5670010 0011 0100 + 0101 0110 0111 0111 1001 1011 + 0110-_0111 1010 0001 + 0110 0000 1000 0000 0001 结果为:结果为: (801)10 (2)548+7290000 0101 0100 1000 + 0000 0111 0010 1001 0000 1100 0111 0001 + 0000 0110 0000 0110 0001 0010 0111 0111 结果为:结果为: (1277)10 在第(在第(2)题中,如果是采用)题中,如果是采用 12 位数表示加数位数表示加数 548 和和 729,则能看出最后得到的答案是,则能看出最后得到的答案是 1100 0111 0111,这时就是,这时就是 BCD 码加法溢出了。所以我们在判断的时候不能仅仅看码加法溢出了。所以我们在判断的时候不能仅仅看 BCD 码最高位是不是码最高位是不是 丢失,而要看结果的最高丢失,而要看结果的最高 4 位是不是大于位是不是大于 9,如果大于,如果大于 9,就可以认为是溢出了。,就可以认为是溢出了。16假定十进制数用假定十进制数用 8421 NBCD 码表示,十进制运算码表示,十进制运算 673356 可以采用可以采用 673 加上加上(356)的模的模 10 补码实补码实 现。画出实现上述操作的现。画出实现上述操作的 3 位十进制数的位十进制数的 BCD 码减法运算线路,列出线路中所有的输入变量和输码减法运算线路,列出线路中所有的输入变量和输 出变量。出变量。 参考答案:参考答案: (356) 10补补 = 0110 0100 01000110 0111 0011 + 0110 0100 0100 1100 1011 0111 + 0110 0110 0000 0011 0001 0111 最高位产生进位,因此,结果为正数:最高位产生进位,因此,结果为正数:0011 0001 0111,故结果为:,故结果为:(+317)10 电路图分为两部分,一个是求出模电路图分为两部分,一个是求出模 10 补码,另一个是计算以及判断输出结果的电路图(参见教材图补码,另一个是计算以及判断输出结果的电路图(参见教材图 3.33) 。 求模求模 10 补码的电路图(补码的电路图(RTL 级)如下:级)如下:+A10.0B10.0ADDER+A11.0B11.0ADDERAdd011' h333 -Add112' h001 -jianshu11.0temp11.0计算电路图(计算电路图(RTL 级)如下:级)如下:-_+A4.0B4.0ADDER+A4.0B4.0ADDER+A4.0B4.0ADDER+A4.0B4.0ADDER+A3.0B3.0ADDER+A3.0B3.0ADDER+A3.0B3.0ADDER+A4.0B4.0ADDER+A3.0B3.0ADDER+A4.0B4.0ADDER+A3.0B3.0ADDER+A3.0B3.0ADDER+A3.0B3.0ADDER+A3.0B3.0ADDER+A4.0B4.0ADDER8×x 且且 x > y,显然显然,满足该条件的满足该条件的 x 和和 y 有许多,例如,有许多,例如,x=4,y=3、x=5,y=4 等等。等等。 对于以下的访问地址序列:对于以下的访问地址序列:0,1,4,8,cache1 缺失缺失 4 次,而次,而 cache2 缺失缺失 3 次;次; 对于以下的访问地址序列:对于以下的访问地址序列:0,2,4,8,12,cache1 缺失缺失 5 次,而次,而 cache2 缺失缺失 4 次;次; 对于以下的访问地址序列:对于以下的访问地址序列:0,3,4,8,12,16,20,cache1 缺失缺失 7 次,而次,而 cache2 缺失缺失 6 次;次; 如此等等,可以找出很多。如此等等,可以找出很多。20. 提高关联度通常会降低缺失率,但并不总是这样。请给出一个地址访问序列,使得采用提高关联度通常会降低缺失率,但并不总是这样。请给出一个地址访问序列,使得采用LRU替换算替换算 法的法的2-路组相联映射路组相联映射cache比具有同样大小的直接映射比具有同样大小的直接映射cache的缺失率更高。的缺失率更高。 参考答案:参考答案: 2-路组相联路组相联 cache 的组数是直接映射的组数是直接映射 cache 的行数的一半,所以,可以找到一个地址序列的行数的一半,所以,可以找到一个地址序列 A、B、C,使得:,使得:A 映射到某一个映射到某一个 cache 行,行,B 和和 C 同时映射到另一个同时映射到另一个 cache 行,并且行,并且 A、B、C 映射到同一个映射到同一个 cache 组。这样,如果访存的地址序列为组。这样,如果访存的地址序列为 A、B、C、A、B、C、A、B、C ,则对,则对 于直接映射于直接映射 cache,其命中情况为:,其命中情况为:miss/miss/miss /hit/miss/miss /hit/miss/miss/ 命中率可达命中率可达 33.3%。对于组相联对于组相联 cache,因为,因为 A、B、C 映射到同一个组,每组只有映射到同一个组,每组只有 2 行,采用行,采用 LRU 替换算法,所以,替换算法,所以, 每个地址处的数据刚调出每个地址处的数据刚调出 cache 就又被访问到,每次都是就又被访问到,每次都是 miss,命中率为,命中率为 0。 例如:假定直接映射例如:假定直接映射 cache 为为 4 行行×1 字字/行,同样大小的行,同样大小的 2-路组相联路组相联 cache 为为 2 组组×2 行行/组组×1 字字/行行 当访问序列为:当访问序列为:0、2、4、0、2、4、0、2、4、 (局部块大小为(局部块大小为 3)时,则出现

    注意事项

    本文(计算机组成习题-答案~(清华大学出版社~).doc)为本站会员(小**)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开