计算机组成与系统结构讲义

上传人:今*** 文档编号:105922287 上传时间:2019-10-14 格式:DOC 页数:18 大小:279.27KB
返回 下载 相关 举报
计算机组成与系统结构讲义_第1页
第1页 / 共18页
计算机组成与系统结构讲义_第2页
第2页 / 共18页
计算机组成与系统结构讲义_第3页
第3页 / 共18页
计算机组成与系统结构讲义_第4页
第4页 / 共18页
计算机组成与系统结构讲义_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《计算机组成与系统结构讲义》由会员分享,可在线阅读,更多相关《计算机组成与系统结构讲义(18页珍藏版)》请在金锄头文库上搜索。

1、 第一章(1) 兼容性:指硬件之间、软件之间或是硬软件组合系统之间的相互协调工作的程度。(2) 算术逻辑单元(ALU):能实现多组算术运算和逻辑运算的的组合逻辑电路。(3) CPI: 表示执行指令所需的时钟周期数。(4) MIPS:平均每秒执行多少百万条指令。5若有两个基准测试程序P1和P2在机器M1和M2上运行,假定M1和M2的价格分别是5000元和8000元,下表给出了P1和P2在M1和M2上所花的时间和指令条数。程序M1M2指令条数执行时间(ms)指令条数执行时间(ms)P1200106100001501065000P230010334201036请回答下列问题:(1) 对于P1,哪台机

2、器的速度快?快多少?对于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?为什么?

3、参考答案:(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为:10800M/(200106)=40。在M2上执行P1时的平均时钟周期数CPI为:51.2G/(150106)=40。(4) 考虑运行P1时M1和M2的性价比,因为该用户主要关心系统的响应

4、时间,所以性价比中的性能应考虑执行时间,其性能为执行时间的倒数。故性价比R为:R=1/(执行时间价格)R越大说明性价比越高,也即,“执行时间价格”的值越小,则性价比越高。因为105000 58000,所以,M2的性价比高。应选择M2。(5) P1和P2需要同等考虑,性能有多种方式:执行时间总和、算术平均、几何平均。若用算术平均方式,则:因为 (10+0.003)/25000 (5+0.006)/28000,所以M2的性价比高,应选择M2。若用几何平均方式,则:因为sqrt(100.003) 5000 sqrt(50.006) 8000,所以M1的性价比高,应选择M1。6若机器M1和M2具有相同

5、的指令集,其时钟频率分别为1GHz和1.5GHz。在指令集中有五种不同类型的指令AE。下表给出了在M1和M2上每类指令的平均时钟周期数CPI。机器ABCDEM112234M222456请回答下列问题:(1)M1和M2的峰值MIPS各是多少?(2)假定某程序P的指令序列中,五类指令具有完全相同的指令条数,则程序P在M1和M2上运行时,哪台机器更快?快多少?在M1和M2上执行程序P时的平均时钟周期数CPI各是多少?参考答案:(1)M1上可以选择一段都是A类指令组成的程序,其峰值MIPS为1000MIPS。M2上可以选择一段A和B类指令组成的程序,其峰值MIPS为1500/2=750MIPS。(2)

6、5类指令具有完全相同的指令条数,所以各占20%。在M1和M2上执行程序P时的平均时钟周期数CPI分别为: M1:20%(1+2+2+3+4)= 0.212 = 2.4M2:20%(2+2+4+5+6)= 0.219 = 3.8 假设程序P的指令条数为N,则在M1和M2上的执行时间分别为:M1:2.4 N1/1G = 2.4N (ns)M2:3.8N1/1.5G = 2.53 N (ns) M1执行P的速度更快,每条指令平均快0.13ns,也即M1比M2快0.13/2.53100%5%。(思考:如果说程序P在M1上执行比M2上快 (3.82.4)/3.8100%= 36.8%,那么,这个结论显然

7、是错误的。请问错在什么地方?) 第二章(1) 大端方式:将数据的最高有效字节MSB存放在低地址单元中,将最低有效字节LSB存放在高地址单元中,即数据的地址就是MSB所在的地址。(2) 小端方式:将数据最高有效字节MSB存放在高地址中,将最低有效字节LSB存放在低地址中,即数据的地址就是LSB所在的地址。 7假定一台32位字长的机器中带符号整数用补码表示,浮点数用IEEE 754标准表示,寄存器R1和R2的内容分别为R1:0000108BH,R2:8080108BH。不同指令对寄存器进行不同的操作,因而,不同指令执行时寄存器内容对应的真值不同。假定执行下列运算指令时,操作数为寄存器R1和R2的内

8、容,则R1和R2中操作数的真值分别为多少?(1) 无符号数加法指令(2) 带符号整数乘法指令(3) 单精度浮点数减法指令参考答案:R1 = 0000108BH = 0000 0000 0000 0000 0001 0000 1000 1011bR2= 8080108BH = 1000 0000 1000 0000 0001 0000 1000 1011b(1)对于无符号数加法指令,R1和R2中是操作数的无符号数表示,因此,其真值分别为R1:108BH, R2:8080108BH。(2)对于带符号整数乘法指令,R1和R2中是操作数的带符号整数补码表示,由最高位可知, R1为正数, R2为负数。R

9、1的真值为+108BH, R2的真值为(0111 1111 0111 1111 1110 1111 0111 0100b + 1b) = 7F7FEF75H。(3)对于单精度浮点数减法指令,R1和R2中是操作数的IEEE754单精度浮点数表示。在IEEE 754 标准中,单精度浮点数的位数为32位,其中包含1位符号位,8位阶码,23位尾数。由R1中的内容可知,其符号位为0,表示其为正数,阶码为0000 0000,尾数部分为000 0000 0001 0000 1000 1011,故其为非规格化浮点数,指数为126,尾数中没有隐藏的1,用十六进制表示尾数为+0.002116H,故R1表示的真值为

10、+0.002116H 10-126。由R2中的内容可知,其符号位为1,表示其为负数,阶码为0000 0001, 尾数部分为000 0000 0001 0000 1000 1011,故其为规格化浮点数,指数为1127 = 126,尾数中有隐藏的1,用十六进制表示尾数为1.002116H,故R2表示的真值为1.002116H 10-126符号阶码尾数尾数23位表示24位,52位表示23位,其中一位隐藏位。隐藏位在小数点之前 1位(s) 8位(e) 23位(f) 8假定机器M的字长为32位,用补码表示带符号整数。下表第一列给出了在机器M上执行的C语言程序中的关系表达式,请参照已有的表栏内容完成表中后

11、三栏内容的填写。关系表达式运算类型结果说明0 = 0U1 01 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)(1)带符号整数符号位1表示负数,0表示正

12、数。(2)无符号整数常在后加U或u。(3)结果1表示真,0表示假。(4)x=232-1=4 294 967 296-1=4294 967 295=-1,-1的补码表示为“11.1.” x=231=-2-31=-2 147 483 648,231表示为“100.0” 第三章(1) 算术逻辑部件ALU :能实现多组算术运算和逻辑运算的组合逻辑电路。(2) 先行(超前)进位加法器:通过“进位生成”和“进位传递”函数来使各进位独立,并行产生速度快,可用单级,两级或更多级先行进位方式。(3) 布斯乘法:一种补码相乘算法。可以将符号位和数值位结合在一起参加运算,直接得出用补码表示的乘积,且正数和负数同等对

13、待。(4) 阵列乘法器:基于移位与求和算法实现。每一行被乘数与乘数中的一位相乘,产生一组部分积。(5) 数据通路:数字系统中,各个子系统通过数据总线形成的数据传送路径。9. 已知x=10,y=-6,采用6位机器数表示。请按如下要求计算,并把结果还原成真值。(1) 求x+y补,x-y补。解:原码:符号位+数值位(符号位“0”正,“1”负)正数:原码、反码、补码一致负数:(1)反码:符号位不变,数值位按位取反。 (2)补码:符号位不变,数值位按位取反后加“1”。移码:与补码的符号位相反,用于表示阶码。(阶码即浮点数指数,用移码表示)(1) 解:10补=001010 -6=000110,故-6补=111010 二进制加法:0+0=0,1+0=1,0+1=1,1+1=10 x+y补=10补+-6补=001010+111010=1001100(超出的最高位去掉)=001100(+4) x-y补=10补+-(-6)补=001010+000110=010000(+16)用MBA(基4布斯)乘法计算xy补。解: 10补 = 110110,布斯乘法过程如下: P Y y-1 说明 0 0 0 0 0 0 1 1 1 0 1 0 0 设y-1 = 0,P0补 = 0 注释:初始化,Y-1补0 y0 y-1 = 00,P、Y直

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号