习题一1.第2级的一条指令能完成第一级的M条指令的计算量。
第一级的1条指令的计算量用第2级的1/M条指令能完成。
第1级的N条指令解释第2级的一条指令。
即第2级的一条指令执行时间为第1级的(N*1/M)倍。
以此类推。
第3级的一条指令执行时间为第2级的(N*1/M)倍。
为第1级的(N*1/M)2倍。
第4级的一条指令执行时间为第3级的(N*1/M)倍。
为第2级的(N*1/M)2倍。
为第1级的(N*1/M)3倍。
2.教材P2。
3.教材P6- P7。
4.教材P3。
教材P26。
5.教材P3。
教材P26。
6.教材P3。
教材P26。
7.教材P11- P12。
教材P26。
8.教材P22。
9.教材P21。
习题二1.教材P27。
教材P33- P34。
2.教材P30。
教材P29- P31。
3.教材P32- P33。
4.教材P35- P37。
阶值P=6,尾数m=48。
基r m=2 m’= m/log2 r m=48/1=48 最小阶值(非负阶)000000=0 0最大阶值2p-1 26-1=64-1=63尾数最小值(规格化数) r m—1 1/2尾数最大值1- r m—m’1- 2-48最小值r m0* r m—1 1/2最大值(r m2p-1)*(1- r m—m’)263*(1- 2-48)阶的个数2p 64数的总个数2p* r m m’ *(r m-1)/ r m 26*248*(2-1)/2= 253 阶值P=6,尾数m=48。
基r m=8 m’= m/log2 r m=48/3=16最小阶值(非负阶)000000=0 0最大阶值2p-1 26-1=64-1=63尾数最小值(规格化数) r m—1 1/8尾数最大值1- r m—m’1- 8-16最小值r m0* r m—1 1/8最大值(r m2p-1)*(1- r m—m’)863*(1- 8-16)阶的个数2p 64数的总个数2p* r m m’ *(r m-1)/ r m 26*816*(8-1)/8=7 *251 阶值P=6,尾数m=48。
基r m=16 m’= m/log2 r m=48/4=12最小阶值(非负阶)000000=0 0最大阶值2p-1 26-1=64-1=63尾数最小值(规格化数) r m—1 1/16尾数最大值1- r m—m’1- 16-12最小值r m0* r m—1 1/16最大值(r m2p-1)*(1- r m—m’)1663*(1- 16-12)阶的个数2p 64数的总个数2p* r m m’ *(r m-1)/ r m 26*1612*(16-1)/16=15 *2505.教材P35- P37。
阶值P=2,基r m=10 m’= m/log2 r m= m / log2 10=1向上取整,尾数m=4。
最小阶值(非负阶)00=0 0最大阶值2p-1 22-1=4-1=3尾数最小值(规格化数) r m—1 1/10尾数最大值1- r m—m’1- 10-1最小值r m0* r m—1 1/10最大值(r m2p-1)*(1- r m—m’)103*(1- 10-1)=900 阶的个数2p 4数的总个数2p* r m m’ *(r m-1)/ r m 22*101*(10-1)/10= 9*24=36 阶值P=2,基r m=4 m’= m/log2 r m= m / log2 4=2向上取整,尾数m=4。
最小阶值(非负阶)00=0 0最大阶值2p-1 22-1=4-1=3尾数最小值(规格化数) r m—1 1/4尾数最大值1- r m—m’1- 4-2最小值r m0* r m—1 1/4最大值(r m2p-1)*(1- r m—m’)43*(1- 4-2)=60阶的个数2p 4数的总个数2p* r m m’ *(r m-1)/ r m 22*42*(4-1)/4= 3*24=486.教材P39- P40。
地址内容0000 0000001 0010010 0010011 0100100 0100101 0110110 0110111 1001000 1001001 1011010 1011011 1101100 1101101 1111110 111 以上均为舍入法1111 111 截断法7.教材P42。
变址寻址适合在标量计算机中,通过循环程序对变址寄存器内容修改其变址值,来对向量或数组等数据结构中的元素进行访问和处理。
基址寻址则主要是对程序的逻辑地址空间到物理地址空间进行变换时使用的,以支持程序使用动态再定位的技术。
设计一种只用6位地址码就可以指向一个大地址空间中任意64个地址之一的寻址机构,意味着指令中为寻找该操作数的地址码只有6位,只能表示64中状态(即找到64个地址之一)。
要找到这64个地址之一在哪个大空间,就得采用其他办法来指明。
(航母+舰载机)隐含寻址。
用指令隐含指出某个专门的寄存器(变址寄存器或基址寄存器)中存放的基址值来给出大空间的区域。
物理地址=某个专门的寄存器中存放的基址值+指令中为寻找该操作数的地址码。
程序计数器。
程序计数器中的内容就是大空间的区域。
物理地址=程序计数器中的基址值+指令中为寻找该操作数的地址码。
8.教材P44- P46。
等长码:14条指令需要4位表示。
哈弗曼码:第一步:将所有指令的使用频度由小到大(自左向右)排序。
0.01 0.01 0.02 0.02 0.03 0.03 ……0.14 0.15 0.15第二步:每次选择其中最小的二个频度合并成一个频度。
再按该频度大小插入余下来未参与结合的频度值中。
第三步:组成哈弗曼树。
第四步:组成哈弗曼编码。
第五步:计算哈弗曼编码平均码长。
3.38位两种码长的扩展操作码:使用频度较高的0.11 …… 0.14 0.15 0.15这6种指令用3位,000,001,010,011,100,101。
把多余的2个三位码110,111中的高位11作为扩展出的2位(短码不可能成为长码的前缀)。
其余使用频度较低的0.01 0.01 0.02 0.02 0.03 0.03 ……0.04这8种指令再用用3位,11000,11001,11010,11011,11100,11101。
平均码长。
3.4位9.教材P47- P48。
图2.18指令字长为12位,每个地址码为3位。
三地址指令:操作码(3位)地址1(3位)地址2(3位)地址3(3位)三地址指令只有4条,余下的高2位10、11作为扩展成长操作码的标志。
单地址指令:操作码(9位)地址(3位)把100,101,110,111和余下的6位作为操作码,就可以组成4*26=256条单地址指令。
零地址指令:操作码(12位)如果单地址指令255条,则只余下111111111这个码作为扩展标志。
无法与低3位组成4位,不能满足表示16条零地址指令需要。
如果单地址指令254条,则余下111111111和111111110这2个码作为扩展标志。
可以与低3位组成4位,能满足表示16条零地址指令需要。
10.教材P47- P48。
指令字长为16位,每个地址码为6位。
双地址指令:操作码(4位)地址1(6位)地址2(6位)单地址指令:操作码(10位)地址(6位)双地址指令有X条,则可以用来表示可扩展的操作码有24—X种,再与剩余的6位组合。
即单地址指令最多可以有(24—X)*26种。
11.教材P44。
教材P49。
12.教材P44- P46。
⑴按哈弗曼码画图计算⑵按2-5扩展操作码计算⑶单字节指令操作码2位,寄存器-寄存器型,6位地址分配给寄存器,每个寄存器占3位。
允许可编址的通用寄存器个数为23个。
⑷短指令:操作码(2位)寄存器1(3位)寄存器2(3位)长指令:操作码(5位)寄存器1(3位)变址寄存器(3位)相对位移(5位)|————主存逻辑地址——————|⑸最大相对位移量为25个字节。
13.教材P55。
设计RISC机器的一般原则:精简指令的条数;简化指令的格式,让指令字等长,并让所有指令都在一个机器周期执行完;扩大机器中通用寄存器的个数,只让存、取两类指令可以访存,其他的指令一律只能对寄存器进行操作;指令的实现以组合电路硬联实现为主,少量指令可采用微程序解释;精心设计高质量的编译程序来优化支持高级语言程序的实现。
设计RISC机器的基本技术:按设计RISC机器的一般原则来精选和优化设计指令系统;逻辑上采用硬联组合电路为主,适当辅以微程序控制来实现;在CPU内设置大量的寄存器,并采用重叠寄存器组的窗口;指令采用重叠和流水的方式解释,并采用延迟转移;采用高速缓冲存储器Cache缓冲指令和数据。
14.教材P54。
教材P58。
习题三1.教材P64- P66。
通信的可靠性分析。
串行链接对通信的可靠性,主要表现于“总线可用”线及其有关电路的失效会造成系统整体瘫痪的问题。
一旦“总线可用”线出现断路或碰地,其高电平不能顺链往下传送,就会使后面的部件在要求使用总线时,其请求无法得到响应。
为了提高可靠性,可以对“总线可用”线及其有关电路,采用重复设置两套或多套来解决。
定时查询对通信的可靠性要比串行链接的高。
因为总线控制器通过计数,查询到某个出故障的部件时,故障部件不会给出“总线忙”信号。
这样,不会影响控制器继续计数,去查询下一个部件,所以整个总线系统的工作不会瘫痪。
独立请求对通信的可靠性同样要比串行链接的高。
因为某个部件在发生故障时不发总线请求,或即使发出总线请求,总线控制器也可以通过软件或硬件的措施,将发生故障的部件送来的请求屏蔽掉,使之不让其参与总线的分配。
所以,某个部件的故障不会导致整个总线系统的工作出于瘫痪状态。
2.教材P71- P73。
⑴由图表可知,1级最高。
3级次之。
4级再次之。
2级最低。
1→3→4→2⑵教材P73。
自画图。
3.教材P71- P73。
⑴图示如下:中断处理程序级别中断级屏蔽位1 2 3 4 51 1 1 1 1 12 0 1 1 0 03 0 0 1 0 04 0 1 1 1 15 0 1 1 0 1⑵教材P80。
自画图。
4.教材P76- P77。
字节多路通道每选择好一台设备后,设备与通道只传送一个字节就释放总线,通道以字节交叉的方式轮流为多台低速设备服务。
某台设备要想传送n个字节,就需要经过n次申请使用通道总线才行。
数组多路通道在每选择好一台设备后,要连续传送完固定K个字节的成组数据后,才释放总线,通道再去选择下一台设备,再传送该设备的K个字节。
如此,以成组方式轮流交叉的为多台高速设备服务。
某台设备要想传送n个字节,就需要经过n/K次申请使用通道总线才行。
选择通道每选择一台设备,就让该设备独占通道,将n个字节全部传送完后,才释放通道总线,再去选择下一台设备,再传送它的全部字节数据。
因此,每台设备为传送n个字节数据,只需一次申请使用通道总线。