计算机组成原理作业答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章习题
2.设机器字长为8位(含一位字符位在),写出对应下列各真值的原码、反码和补码:-1011010B,-87,168
解:
反码:正数的反码与原码相同;负数的反码符号位不变,数值部分各位取反。
补码:正数的反码与原码相同;负数的补码符号位不变,数值部分各位取反后再加1。
由于8位有符号的数表示围:-128~127,所以168溢出。
4.已知X=-66,Y=99。设机器字长为8位,用补码运算规则计算X+Y 和X-Y。
解:[X]原=1,100 0010 [X]补=1,011 1110
[Y]原=0,110 0011 [Y]补=0,110 0011 [-Y]补=1,001 1101 [X+Y]补=[X]补+[Y]补=1,011 1110 + 0,110 0011=00,010 0001
[X-Y]补=[X]补+[-Y]补=1,011 1110 + 1,001 1101=10,101 1011(溢出)
5.已知X=19,Y=35,用布思算法计算X⨯Y和X⨯(-Y)。
解:
无符号数乘法的规则:Q0=1:A<-A+M,然后C,A,Q右移
Q0=0:C,A,Q直接右移
其中,C为进位标识符;辅助寄存器A的初始值为0;乘积的高n位存放在辅助寄存器A中,乘积的低n位存放在寄存器Q中;移位时C 标识符用0扩充。
[X]原=010011
[Y]原=100011
⨯⨯
有符号数乘法的规则:Q0Q-1=01:A<-A+M,A,Q,Q-1算术右移
Q0Q-1=10:A<-A-M,A,Q,Q-1算术右移
Q0Q-1=00或11:A,Q,Q-1算术右移
其中,辅助寄存器A,Q-1的初始值为0;乘积的高n位存放在辅助寄存器A中,乘积的低n位存放在寄存器Q中;移位使用算术移位,高位采用符合扩展。
[X]补=0,010011
[-X]补=1,101101
[-Y]补=1,011101
X⨯⨯
结果为:11,1B=-665
6.使用IEEE 754标准格式表示浮点数:-5,-1.5,1/16,-6,384,1/32。
解:最高位表示尾符;后续k位表示阶码,在原数基础上加偏移值
2k-1-1;尾数为纯小数表示时,小数点后面的值。
⨯10
⨯0
1/16=2-4=1.0⨯2-100
⨯10
⨯1000
1/32=2-5=-1.0⨯2-101
10.求有效信息位为0110 1110的汉明码校验码。
解:海明码C i排放在第2i位,数据位依次从低到高的顺序填在剩余的空格里。其中,H3,H5,H7,H9,H11二进制编码的最低位都包含1,可以确定C1;H3,H6,H7,H10,H11二进制编码的倒数第2位都包含1,可以确定C2;其余类推。
113⊕5⊕7⊕9⊕11⊕⊕⊕⊕C 2=H2=H 3⊕H 6⊕H 7⊕H 10⊕H 11=0⊕1⊕1⊕1⊕1=0 C 3=H 4=H 5⊕H 6⊕H 7⊕H 12=1⊕1⊕1⊕0=1 C 4=H 8=H 9⊕H 10⊕H 11⊕H 12=0⊕1⊕1⊕0=0 汉明码为:0101
第五章习题
4.一个容量为16K ⨯32位的存储器,其地址线和数据线的总和是多少?用下列存储芯片时,各需要多少片?
1K ⨯4位,2K ⨯8位,4K ⨯4位,16K ⨯1位,4K ⨯8位,8K ⨯8位 解: 由于214=16K ,地址线为14位;32位的字宽需要32根数据线。所以地址线和数据线的总和为46位。 组成16K ⨯32位的存储器需要以下芯片: 1K ⨯4位的片数:163214K K ⨯⨯位位=128 2K ⨯8位的片数:163228K K ⨯⨯位位=32 4K ⨯4位的片数:163244K K ⨯⨯位位=32 16K ⨯1位的片数:1632161K K ⨯⨯位位=32 4K ⨯8位的片数:163248K K ⨯⨯位位=16 8K ⨯8位的片数:163288K K ⨯⨯位位=8
5.现有1024⨯1的存储芯片,若用它组成容量为16K ⨯8的存储器,则
(1)实现该存储器所需的芯片数量多少?
(2)若将这些芯片分装在若干块板上,每块板的容量为4K ⨯8,该存储器所需的地址线总数是多少?几位用于片选?几位用作片地址? (3)画出各芯片的连接逻辑图。 解:
(1)所需的芯片数:16810241K ⨯⨯位位=128
(2)由于214=16K ,地址线为14位;存储器所需的块板数16848K K ⨯⨯位位=4,需要2位用于片选,14-2=12位用于片地址。 (3)
7.设某主机主存容量为4MB ,Cache 容量为16KB ,每块包含8个字,每字32位,设计一个4路组相连映射(即Cache 每组共有4个块)的Cache 组织,要求:
(1)画出主存地址字段中各段的位数。
(2)设Cache 的初态为空,CPU 依次从主存第0,1,2,…99号单元读出100个字(主存一次读出一个字),并重复按此次序读8次,问命中率是多少?
(3)若Cache 的速度是主存的6倍,试问有Cache 和无Cache 相比,速度提高多少倍? 解:
(1)每块的大小:8字⨯32位/8位=32B ,所以页地址用5位表示; Cache 中每组有四个块,需要2位表示;
Cache 的块数为16KB/32B=512块,每组包含4块,所以总共有128组,需7位表示;
主存的页数:4MB=222,存地址为22位,剩余的8位。
前三位段用于主存页的标记;后三个位段表示Cache 的地址。 (2)第一次访问时,100个字都不能命中;由于它们能同时存放在Cache 中,以后的7次访问都能命中。命中率为:7⨯100/8⨯100=87.5% (3) 设访问Cache 的时间为t ,则访问主存的时间为6t 。 无Cache 时,访问的时间为800⨯6t=4800t
有Cache 时,访问的时间为100⨯6t+700⨯t=1300t 速度提高的倍数为:4800t/1300t=3.69
Cache 组号 组内页号 页内地址
5位 2位 7位 8位