1、计算机组成原理 第二、三章习题,2014-5-6,计算机组成原理,2,2014-5-6,第3章 P111 第1题,1、设有一个具有20位地址和32位字长的存储器,问: (1)该存储器能存储多少字节的信息? 存储容量 = 存储单元个数每单元字节数 = 220(32 bit 8 bit)=4M (2)如果存储器由512K8位SRAM芯片组成,需要多少片? 需要做存储芯片的字位扩展,所需芯片数d=22032/512K8=8片 位扩展:4片512K8位芯片构成512K32位的存储组; 字扩展:2组512K32位存储组构成1M32位的存储器。 (3)需要多少位地址做芯片选择? 字扩展的是2个存储组,因此
2、,需1位地址做片选。,计算机组成原理,3,2014-5-6,第3章 P111 第3题,3、用16K8位的DRAM芯片构成64K32位存储器,要求: (1)画出该存储器的组成逻辑框图。 由16K8位的芯片进行字位扩展构成64K32位存储器,共需芯片数d= 64K32/16K8=16片; 位扩展:由4片16K8位芯片构成16K32位存储组; 字扩展:由4组16K32位存储组构成64K32位存储器; 因此,4个存储组的片选信号应由最高两位地址A14和A15产生; 该存储器的组成逻辑框图如下:,计算机组成原理,4,2014-5-6,第3章 P111 第3题,/CS,/WE,位 扩 展,计算机组成原理,
3、5,2014-5-6,字 扩 展,/WE,A13A0,D31D0,/MREQ,A14,A15,计算机组成原理,6,2014-5-6,第3章 P111 第5题,5、要求用256K16位SRAM芯片设计1024K32位的存储器。SRAM芯片的两个控制端:当CS有效时,该片选中。当W/R=1时执行读操作,当W/R=0时执行写操作。,解:所需芯片数 d= 1024K32/256K16=8片 (1)位扩展:2片256K16位芯片构成256K32位存储组; 地址线、片选、读写信号共用,数据线分高16位、低16位,如图示。,位扩展,计算机组成原理,7,2014-5-6,第3章 P111 第5题,(2)字扩展
4、:4组256K32位存储组构成1024K32位存储器,因容量由256K增大到1024K,共需地址线20条。原有地址线A17A0、读写信号、32位数据线共用,最高两位地址线A18和A19经2-4译码器输出产生4个存储组的片选信号,如图所示。,字扩展,计算机组成原理,8,2014-5-6,第3章 P111 第6题,6、用32K8位的E2PROM芯片组成128K16位的只读存储器,试问: (1)数据寄存器多少位? 因为系统数据总线为16位,所以数据寄存器16位 (2)地址寄存器多少位? 因为存储器容量为128K,需系统地址总线17位, 所以地址寄存器17位 (3)共需多少个E2PROM芯片? 所需芯
5、片总数: (128K/32K)(16/8)=8片,计算机组成原理,9,2014-5-6,第3章 P111 第6题,(4)画出此存储器的组成框图。,计算机组成原理,10,2014-5-6,第3章 P111 第7题,7、某机器中,已知配有一个地址空间为0000H3FFFH的ROM区域。现在再用一个RAM芯片(8K8)形成40K16位的RAM区域,起始地址为6000H。假设RAM芯片有CS和WE信号控制端。CPU的地址总线为A15A0,数据总线为D15D0,控制信号为R/W(读/写),MREQ(访存),要求:,(1)画出地址译码方案 RAM区域共需芯片数d=40K16/8K8=10片,其中位扩展:2
6、片8K8位芯片构成8K16位的存储组,字扩展:5组8K16位的存储组构成40K16位存储器。(2) 将ROM与RAM同CPU连接(略)。,位扩展,计算机组成原理,11,2014-5-6,使能端,/WE,A12A0,D15D0,3-8译码器,/G1,B,A,/Y0,/Y1,/Y2,/Y3,A13,A14,A15,C,/Y4,/Y5,/Y6,/Y7,第3章 P111 第7题,字扩展,计算机组成原理,12,2014-5-6,第3章 P112 第8题,8、设存储器容量为64M,字长为64位,模块数m=8,分别用顺序和交叉方式进行组织。存储周期T=100ns,数据总线宽度为64位,总线传送周期=50ns
7、。求:顺序存储器和交叉存储器的带宽各是多少? 解: 顺序存储器和交叉存储器连续读出m=8个字的数据信息量为:q = 864 = 512位 顺序存储器所需要的时间为:t1 = mT =8100ns =800ns =810-7s 故顺序存储器的带宽为:W1= q/t1 = 512/(810-7) = 64107bit/s 交叉存储器所需要的时间为t2 = T+ (m-1)= 100ns + (8-1)50ns = 450ns =4.510-7s 故交叉存储器的带宽为W1= q/t2 = 512/(4.510-7) = 113.8107bit/s,计算机组成原理,13,2014-5-6,第3章 P1
8、12 第9题,9、CPU执行一段程序时,cache完成存取的次数为2420次,主存完成存取的次数为80次,已知cache存储周期为40ns,主存存储周期为240ns,求cache/主存系统的效率和平均访问时间。 命中率:h = Nc/(Nc+Nm) = 2420/(2420+80) = 0.968 主存与Cache的速度倍率:r = tm/tc = 240ns/40ns = 6 访问效率:e = 1/(r+(1-r)h) = 1/(6+(1-6)0.968) = 86.2% 平均访问时间:ta = tc/e = 40ns/0.862 = 46.4ns,计算机组成原理,14,2014-5-6,第
9、三章 P112 第11题,11、某机器采用四体交叉存储器,今执行一段小循环程序,此程序放在存储器的连续地址单元中。假设每条指令的执行时间相等,而且不需要到存储器存取数据,请问在下面两种情况中(执行的指令数相等),程序运行的时间是否相等? 解:设总线传送周期为,取指周期T,执行指令时间为t,则: (1)循环程序由6条指令组成,重复执行80次; 程序运行时间为:ta=(T+(6-1)+6t) 80 (2)循环程序由8条指令组成,重复执行60次。 程序运行时间为:ta=(T+(8-1)+8t) 60,计算机组成原理,15,2014-5-6,第3章 P112 第13题,13、一个组相联Cache由64
10、个行组成,每组4行。主存储器包含4K个块,每块128字。请表示内存地址的格式。 组相联映射下的主存地址格式如下:块大小2w=128字=27,故w=7 Cache有64行,每组4行,则组数2d=64/4=16=24 ,故d=4 主存块数2s=4K=212,故s=12 标记位有s-d=12-4=8位,7位,4位,8位,计算机组成原理,16,2014-5-6,第3章 P112 第14题,14、某机主存容量1MB,字长1B,块大小16B,Cache容量64KB,若Cache采用直接映射方式,请给出2个不同标记的内存地址,它们映射到同一个Cache行。 直接映射下的主存地址格式如下:块大小2w=16B,
11、故w=4 Cache容量64KB,每块16B,行数2r=4K=212,故r=12 主存容量1MB=220=2s+w,故s+w =20,则s=20-w=16故标记位s-r=16-12= 4 两个满足题目要求的主存地址:0000 1001 0000 1110 00000001 1001 0000 1110 0000,4位,12位,4位,计算机组成原理,17,2014-5-6,第3章 P112 第15题,15、假设主存容量16M32位,Cache容量64K32位,主存与Cache之间以每块432位大小传送数据,请确定直接映射方式的有关参数,并画出主存地址格式。 直接映射下的主存地址格式如下:块大小2
12、w=4,故w=2 Cache容量64KB,块大小为4,则行数为2r=64K/4=16K=214,故r=14 主存16MB,块大小为4,则块数2s=16M/4=4M=222,故s=22 标记位s-r=22-14= 8位,2位,14位,8位,计算机组成原理,18,2014-5-6,第3章 P112 第19题,19、某虚拟存储器采用页式存储管理,使用LRU页面替换算法。若每次访问在一个时间单位内完成,页面访问的序列如下:1,8,1,7,8,2,7,2,1,8,3,8,2,1,3,1,7,1,3,7。已知主存只允许存放4个页面,初始状态时4个页面是全空的,则页面失效次数是? LRU(近期最少使用) :
13、每页设计数器,每命中1次,该页计数器清零,其他各页计数器加1,需要替换时,将计数值最大的页换出。,计算机组成原理,19,2014-5-6,计算机组成原理,20,2014-5-6,第3章 P112 第21题,21、设某系统采用页式虚拟存储管理,页表放在主存中。 (1)如果一次内存访问使用50ns,访问一次主存需用多少时间? 若页表放在主存中,则要实现一次主存访问需两次访问主存,一次是访问页表,确定所存取页面的物理地址,第二次才根据该地址存取页面数据。故访问主存时间为50ns2=100ns (2)如果增加TLB,忽略查找TLB表项占用时间,并且75%的页表访问命中TLB,内存的有效访问时间是多少?
14、 50ns75%+100ns (1-75%)=62.5ns,计算机组成原理,21,2014-5-6,第3章 P112 第24题,24、在一个分页虚存系统中,用户虚地址空间为32页,页长1KB,主存物理空间为16KB。已知用户程序有10页长,若虚页0、1、2、3已经被分别调入到主存8、7、4、10页中,请问虚地址0AC5和1AC5(十六进制)对应的物理地址是多少 解:页长1KB,所以页内地址为10位。 主存物理空间:16页,页面号015,共14位地址码(其中页面号4位,页内地址10位) 用户虚空间:32页,页面号为031,共15位地址码(其中页面号5位,页内地址10位) 0AC5H=0000 1
15、010 1100 0101B,页面号为2,已被调入主存页4,物理地址页面号为4,页内地址与虚地址的页内地址相同,故01 0010 1100 0101=12C5H 1AC5=0001 1010 1100 0101B,页面号为6,未被调入主存页,故无物理地址,发生缺页中断。,计算机组成原理,22,2014-5-6,计算机组成原理,第2章 P62 第1题,1、写出下列各整数的原码、反码、补码表示(用8位二进制数),计算机组成原理,23,2014-5-6,计算机组成原理,第2章 P62 第2题,2、设x补=a7.a6a5a4a3a2a1a0,其中ai取0或1,若要x-0.5,求a0,a1,a2,a3,
16、a4,a5,a6的取值解:(1)若a7 = 0,则x0,肯定满足x-0.5,此时a0a6可取任意值(2)若a7 = 1,则x-0.5D=-0.1B=1.1原,则a6必须取1,且a5a0中至少有一个不为0。,计算机组成原理,24,2014-5-6,计算机组成原理,第2章 P62 第3题,3、有1个字长为32位的浮点数,符号位1位,阶码8位,用移码表示;尾数23位,用补码表示;基数为2。请写出:(1)最大数的二进制表示;(2)最小数的二进制表示;(3)规格化数所能表示的数的范围。 解:设E=e+128,机器数格式如下,真值为:x=(-1)S (0.M) 2E-128最大正数:真值x=(1-2-23
17、) 2255-128= =(1-2-23) 2127二进制表示:(1-0.0000 0000 0000 0000 0000 001) 2111 1111 最小负数:真值x=- 12127二进制表示:-1 2111 1111,计算机组成原理,25,2014-5-6,计算机组成原理,第2章 P63 第3题,解:(3)规格化表示范围:值为:x=(-1)S (0.M) 2E-128最大正数:(1-2-23) 2127 最小正数:2-12-128 最大负数: (2-1+2-23) 2-128 最小负数:-12127 规格化正数表示范围:2-129 (1-2-23) 2127 规格化负数表示范围: -21
18、27 (2-1+2-23) 2-128,计算机组成原理,26,2014-5-6,计算机组成原理,第2章 P63 第4题,4、将下列十进制数表示成IEEE754标准的32位浮点数规格化数(1)27/64; (2)-27/64 (备注:X真值=(-1)S(1.M)2E-127 ) 解:(1)27/64D=0.011011B=1.10112-2 ,故S=0,E=-2+127=125,M=1011,规格化数:(2)-27/64D=-0.011011B=-1.10112-2 ,故S=1,E=-2+127=125,M=1011,规格化数:,计算机组成原理,27,2014-5-6,计算机组成原理,附 录,十
19、进制分数如何转换为二进制小数:,计算机组成原理,28,2014-5-6,计算机组成原理,附 录(续),十进制分数如何转换为二进制小数:,计算机组成原理,29,2014-5-6,计算机组成原理,附 录(续),十进制分数如何转换为二进制小数:,计算机组成原理,30,2014-5-6,第2章 P63 第5题,5、已知x和y,用变形补码计算xy,同时指出结果是否溢出。 (1) x=0.11011 y=0.00011 x补00.11011 ,y补00.00011 x+y补00.11110,未溢出 x+y = +0.11110, y补 00.00011,x补 00.11011,00.11110,计算机组成
20、原理,31,2014-5-6,第2章 P63 第5题,(2) x=0.11011 y=0.10101 x补00.11011 ,y补11.01011x+y补 00.00110 ,未溢出 x+y = +0.00110, y补 11.01011,x补 00.11011,00.00110,计算机组成原理,32,2014-5-6,第2章 P63 第5题,(3) x=0.10110 y=0.00001 x补11.01010 ,y补11.11111x+y补 11.01001 ,未溢出 x+y = - 0.10111, y补 11.11111,x补 11.01010,11.01001,计算机组成原理,33,2
21、014-5-6,第2章 P63 第6题,6、已知x和y,用变形补码计算xy,同时指出结果是否溢出。 (1) x=0.11011 y=0.11111 x补00.11011,y补=11.00001, y补 00.11111x-y溢出(上溢),x补 00.11011, y补 00.11111,01.11010,计算机组成原理,34,2014-5-6,第2章 P63 第6题,(2) x=0.10111 y=0.11011 x补00.10111,y补=00.11011,-y补 11.00101x-y补 11.11100 ,未溢出x-y = - 0.00100,x补 00.10111, y补 11.001
22、01,11.11100,计算机组成原理,35,2014-5-6,第2章 P63 第6题,(3) x=0.11011 y=0.10011 x补=00.11011, y补=11.01101,-y补= 00.10011x-y补溢出(上溢),x补 00.11011, y补 00.10011,01.01110,计算机组成原理,36,2014-5-6,第2章 P63 第7题,7、用原码阵列乘法器、补码阵列乘法器分别计算xy。(1) x11011 y11111(原码阵列乘法器)x原0 11011 y原1 11111 符号位单独运算: 011 算前求补器输出: |x|=11011 |y|=11111 乘法阵列
23、:|x| |y| 1 1 0 1 0 0 0 1 0 1 算后求补器输出为1101000101,加上符号位1,得:xy原 1 1101000101 xy = (- 1101000101)2=(-837)10十进制乘法验证:27 (-31)=-837,1 1 0 1 11 1 0 1 11 1 0 1 11 1 0 1 1 1 1 0 1 1,1 1 0 1 0 0 0 1 0 1, 1 1 1 1 1,1 1 0 1 1,计算机组成原理,37,2014-5-6,第2章 P63 第7题,7、用原码阵列乘法器、补码阵列乘法器分别计算xy。(1) x11011 y11111 (补码阵列乘法器)x补0
24、 11011 y补1 00001 符号位单独运算: 011 算前求补器输出: |x|=11011 |y|=11111 乘法阵列:|x| |y| 1 1 0 1 0 0 0 1 0 1 乘积符号为1,算后求补器输出为0010111011,得:xy补 1 0010111011 xy = (- 1101000101)2=(-837)10十进制乘法验证:27 (-31)=-837,1 1 0 1 11 1 0 1 11 1 0 1 11 1 0 1 1 1 1 0 1 1,1 1 0 1 0 0 0 1 0 1, 1 1 1 1 1,1 1 0 1 1,计算机组成原理,38,2014-5-6,第2章
25、P63 第7题,(2) x11111 y11011(原码阵列乘法器)x原 1 11111 y原 1 11011 符号位单独考虑:110 算前求补器输出:|x|= 11111 |y|= 11011 乘法阵列:|x| |y| 1 1 0 1 0 0 0 1 0 1 算后求补器输出为1101000101,加上符号位0,得:xy原 0 1101000101 xy = (+1101000101)2=(837)10十进制乘法验证:(-27) (-31)=837,1 1 1 1 11 1 1 1 10 0 0 0 01 1 1 1 1 1 1 1 1 1,1 1 0 1 0 0 0 1 0 1, 1 1 0
26、 1 1,1 1 1 1 1,计算机组成原理,39,2014-5-6,第2章 P63 第7题,(2) x11111 y11011(补码阵列乘法器) x补 1 00001 y补 1 00101 符号位单独考虑:110 算前求补器输出:|x|= 11111 |y|= 11011 乘法阵列:|x| |y| 1 1 0 1 0 0 0 1 0 1 乘积符号为0,算后求补器输出为1101000101,得:xy补 0 1101000101 xy = (+ 1101000101)2=(+837)10十进制乘法验证:(-27) (-31)=837,1 1 1 1 11 1 1 1 10 0 0 0 01 1
27、1 1 1 1 1 1 1 1,1 1 0 1 0 0 0 1 0 1, 1 1 0 1 1,1 1 1 1 1,计算机组成原理,40,2014-5-6,第2章 P63 第8题,练习P63页第8题计算xy (先乘个比例因子变成小数)(2):x=-01011 y=11001 解:将x和y都乘以2-5,则 x=-0.01011, y=0.11001 x补=0.01011 y补=0.11001 -y补=1.00111,0.01011 + 1.00111 = 1.10010 0 商1 + 1.11100111 0.00001101 0 商1 + 1.1111001110.000000001 0 商1
28、所以,商-0.0111 余数0.00000000125 =0.0001,计算机组成原理,41,2014-5-6,第2章 P63 第8题,0.11000 + 1.000011.11001 0,商1 + 1.1100001 小数点左移2位0.0000011 0,商1 + 1.11100001 小数点左移3位1.11100111 0,商0 + 0.000011111 小数点左移4位1.111101101 0,商0 + 0.0000011111 小数点左移5位1.1111111001 0,商0 + 0.0000011111 余数为负 恢复余数0.0000011000 所以x/y=-0.11000 余数
29、=0.0000011000*25 =0.11000 若最后一步所得余数为负(即最后一次商0),而又要得到正确余数,则应纠正余数,增加一次+ |Y|但不移位的操作。,练习P63页8(1):x=11000 y=11111 解:将x和y都乘以2-5,则x=0. 11000, y=-0.11111x补=0.11000 y补=0.11111 -y补=1.00001,计算机组成原理,42,2014-5-6,第2章 P63 第9题,9-1、x=2-0110.100101,y=2-010(-0.011110),求x+y 设尾数、阶码均使用双符号位的补码表示x浮 11 101,00.100101 y浮 11 1
30、10,11.100010 1)求阶差并对阶EExEyEx补Ey补11 101 00 01011 111 修改后的x表示为:x浮 11 110,0.010010(1) 2)尾数求和:MS= Mx+My =11 . 1101 00 (1) 3)规格化处理:执行2次左规处理, MS= 11 . 0 1 0 0 1 0 (0), ES= 11 1004)舍入处理:采用就近舍入法,则舍去0 5)判溢出:阶码符号位为11,不溢出 故得最终结果为 xy2100(0.101110),00. 0 1 0 0 1 0, 11. 1 0 0 0 1 0,11 . 1 1 0 1 0 0,计算机组成原理,43,201
31、4-5-6,第2章 P63 第9题,9-1、x=2-0110.100101,y=2-010(-0.011110),求x-y 设尾数阶码均使用双符号位的补码表示x浮 11 101,00.100101 y浮 11 110,11.100010 1)求阶差并对阶EExEyEx补Ey补11 101 00 01011 111 修改后的x表示为:x浮 11 110,0.010010 (1) 2)尾数求差: MS= Mx My =00. 110000 (1) 3)规格化处理:不需规格化 4)舍入处理:采用就近舍入法,则进位,Ms=00.110001 5)判溢出:阶码符号位为11,不溢出 故得最终结果为 x-y
32、20100. 110001,00. 0 1 0 0 1 0, 00. 0 1 1 1 1 0,00. 1 1 0 0 0 0,My补,Mx补,计算机组成原理,44,2014-5-6,第2章 P63 第9题,9-2、x=2-101(-0.010110)、y=2-1000.010110 ,求x+y 设尾数、阶码均使用双符号位的补码表示x浮11 011,11.101010 y浮11 100 ,00.010110 1)求阶差并对阶EExEyEx补Ey补11 011 00 10011 111即E为1,x的阶码小,应使Mx右移1位,Ex加1,x浮 11 100,1.110101 (0) 2)尾数求和:MS
33、= Mx+My =00. 0 0 1 0 1 1 (0) 3)规格化处理:执行2次左规处理, MS= 00 . 1 0 1 1 0 0 (0),ES= 11 010 4)舍入处理:采用就近舍入法处理,则舍去0 5)判溢出:阶码符号位为00,不溢出 故得最终结果为 xy2110(0.101100),11. 1 1 0 1 0 1 (0), 00. 0 1 0 1 1 0,00. 0 0 1 0 1 1 (0),计算机组成原理,45,2014-5-6,第2章 P63 第9题,9-2、 x=2-101(-0.010110) y=2-1000.010110 ,求x-y 设尾数阶码均使用双符号位的补码表
34、示x浮11 011,11.101010 y浮11 100 ,00.010110 1)求阶差并对阶EExEyEx补Ey补11 011 00 10011 111即E为1,x的阶码小,应使Mx右移1位,Ex加1,x浮 11 100,1.110101 (0) 2)尾数求差MS= Mx-My =11. 0 1 1 1 1 1 (0) 3)规格化处理:不需规格化 4)舍入处理:采用就近舍入法,则舍去0 5)判溢出:阶码符号位为11,不溢出 故得最终结果为 xy 2100(0.100001),11 . 1 1 0 1 0 1, 11. 1 0 1 0 1 0,11. 0 1 1 1 1 1,My补,Mx补,
35、计算机组成原理,46,2014-5-6,第2章 运算方法和运算器,补码:8位二进制数,共表示256个数(整数) 0 0000 0000 +1 0000 0001 +127 0111 1111 -1 1111 1111 -127 1000 0001 -128 1000 0000(规定该数表示绝对值最大的负数, 即这里的1有两个含义,一、表负数;二表示最大负数在该位上的数码为1),计算机组成原理,计算机组成原理,47,2014-5-6,第2章 运算方法和运算器,补码:8位 256个(小数) 0 0.000 0000 +2-7 0.000 0001 +1-2-7 0.111 1111 -2-7 1.
36、111 1111 - (1-2-7) 1.000 0001 -1 1.000 0000(规定表示绝对值最大负数,1有两个含义:一表负数;二表最大负数在该位上的数码为1),计算机组成原理,计算机组成原理,48,2014-5-6,1.单选题(6 5=30) (1)完整的计算机系统应包括_。 A.运算器、存储器、控制器 B.主机和实用程序 C.配套的硬件设备和软件系统 D.外部设备和主机 (2)已知y=+0.10001,则 y补为_。A. 1.10001 B. 0.01111 C. 1.01111 D. 0.10001 (3)根据传送信息的种类不同,系统总线分为_。A. 地址线和数据线 B. 地址线
37、、数据线和控制线C. 数据线和控制线 D. 地址线、数据线和响应线 (4)按照IEEE754标准规定的32位浮点数(41A4C000)16对应的十进制数是_。A. 4.59375 B. -20.59375 C. -4.59375 D. 20.59375 (5)一个组相联Cache由64块(行)组成,每组4块(行),主存储器包含4K个块,每块128字,则主存地址格式中标记字段的位数为_位。A7 B. 4 C. 8 D. 6,第2、3章小测验,计算机组成原理,49,2014-5-6,2.填空(8 3=24) (1)已知 X=0.1101,Y=-0.0110,则Y补为_,X+Y补为_,是否溢出_ 。
38、 (2)在Cache-主存层次中,常用的地址映射方法有_,全相联映射和组相联映射三种。 (3)计算机系统中的存储器分为内存和外存,在CPU执行程序时,必须将指令存放在_中。 3.计算(15 +15+16=46) (1)用2K4位RAM芯片组成4K8的随机存储器,问;(a)需多少芯片,画出连接图;(b)存储器的地址寄存器(MAR)和数据寄存器(MDR)分别多少位? (2)某计算机将浮点运算过程分为阶码比较、对阶、尾数加减3个段,若各段的执行时间均为2ns,则 (a)串行执行4次浮点运算所需的时间是多少? (b)流水执行4次浮点运算所需的时间是多少? (3)将(a)27/64、(b)-27/64转换为浮点数,阶码和尾数均为补码表示,基数为2,格式如下 :,第2、3章小测验,计算机组成原理,50,2014-5-6,第2、3章小测验参考答案,1.单选题C D B D C 2.填空1.1010 0.0111 否直接映射 内存 3.计算 (1) 4, 12, 8 (2) 24ns, 12ns (3)1111 0110110000,1111 1001010000,