唐朔飞 计算机组成原理习题答案_第1页
唐朔飞 计算机组成原理习题答案_第2页
唐朔飞 计算机组成原理习题答案_第3页
唐朔飞 计算机组成原理习题答案_第4页
唐朔飞 计算机组成原理习题答案_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第4 4章章 存储器存储器 11. 11. 一个一个8K8K8 8位的动态位的动态RAMRAM芯片,其内部结构芯片,其内部结构排列成排列成256256256256形式,存取周期为形式,存取周期为0.1s0.1s。试问采用。试问采用集中刷新、分散刷新和异步刷新三种方式的刷新间隔集中刷新、分散刷新和异步刷新三种方式的刷新间隔各为多少?各为多少? 解:采用分散刷新方式刷新间隔为解:采用分散刷新方式刷新间隔为:2ms:2ms,其中,其中刷新死时间为:刷新死时间为:2562560.1s=25.6s0.1s=25.6s 采用分散刷新方式刷新间隔为:采用分散刷新方式刷新间隔为: 256256(0.1s+0

2、.1s0.1s+0.1s)=51.2s=51.2s 采用异步刷新方式刷新间隔为采用异步刷新方式刷新间隔为:2ms:2msMREQW/R15. 15. 设设CPUCPU共有共有1616根地址线,根地址线,8 8根数据线,并用根数据线,并用(低电平有效)作访存控制信号,(低电平有效)作访存控制信号,作读写命令信号(高电平为读,低电平为写)。现作读写命令信号(高电平为读,低电平为写)。现有下列存储芯片:有下列存储芯片:ROMROM(2K2K8 8位,位,4K4K4 4位,位,8K8K8 8位),位),RAMRAM(1K1K4 4位,位,2K2K8 8位,位,4K4K8 8位),及位),及741387

3、4138译码器和其他门电路(门电路自定)。试从上译码器和其他门电路(门电路自定)。试从上述规格中选用合适芯片,画出述规格中选用合适芯片,画出CPUCPU和存储芯片的连接和存储芯片的连接图。要求:图。要求:(1 1)最小)最小4K4K地址为系统程序区,地址为系统程序区,409616383409616383地址地址范围为用户程序区。范围为用户程序区。(2 2)指出选用的存储芯片类型及数量。)指出选用的存储芯片类型及数量。(3 3)详细画出片选逻辑。)详细画出片选逻辑。解:(解:(1 1)地址空间分配图:)地址空间分配图: 系统程序区(系统程序区(ROMROM共共4KB4KB):):0000H-0F

4、FFH0000H-0FFFH 用户程序区(用户程序区(RAMRAM共共12KB12KB):):1000H-3FFFH1000H-3FFFH (2 2)选片:)选片: ROMROM:选择:选择4K4K4 4位芯片位芯片2 2片,位并联片,位并联 RAM RAM:选择:选择4K4K8 8位芯片位芯片3 3片,字串联片,字串联 (RAM1(RAM1地址范围为地址范围为:1000H-1FFFH,RAM2:1000H-1FFFH,RAM2地址范围为地址范围为2000H-2FFFH, RAM32000H-2FFFH, RAM3地址范围为地址范围为:3000H-3FFFH):3000H-3FFFH) (3

5、3)各芯片二进制地址分配如下:)各芯片二进制地址分配如下:A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0ROM1,200000000000000000000011111111111RAM100010000000000000001111111111111RAM200100000000000000010111111111111RAM300110000000000000011111111111111CPUCPU和存储器连接逻辑图及片选逻辑如下图所示:和存储器连接逻辑图及片选逻辑如下图所示: 20. 20. 欲传送的二进制代码为欲传送的二进制代码为100110110011

6、01,用奇校验来,用奇校验来确定其对应的汉明码,若在第确定其对应的汉明码,若在第6 6位出错,说明纠错过程。位出错,说明纠错过程。 解:欲传送的二进制代码为解:欲传送的二进制代码为10011011001101,有效信息位,有效信息位数为数为n=7n=7位,则汉明校验的校验位为位,则汉明校验的校验位为k k位,则:位,则:2 2k k=n+k+1=n+k+1,k=4k=4,进行奇校验设校验位为,进行奇校验设校验位为C1C2C3C4C1C2C3C4,汉,汉明码为明码为C1C2B7C3B6B5B4C4B3B2B1C1C2B7C3B6B5B4C4B3B2B1,C1=1B7B6B4B3B1=110111

7、=1C1=1B7B6B4B3B1=110111=1C2=1B7B5B4B2B1=110101=0C2=1B7B5B4B2B1=110101=0C3=1B6B5B4=1001=0C3=1B6B5B4=1001=0C4=1B3B2B1=1101=1C4=1B3B2B1=1101=1 故传送的汉明码为故传送的汉明码为1010001110110100011101,若第,若第6 6位位(B5)(B5)出出错,即接收的码字为错,即接收的码字为1010011110110100111101,则,则P1=1C1B7B6B4B3B1=11P1=1C1B7B6B4B3B1=1110111=010111=0P2=1C

8、2B7B5B4B2B1=10P2=1C2B7B5B4B2B1=1011101=111101=1P3=1C3B6B5B4=10011=1P3=1C3B6B5B4=10011=1P4=1C4B3B2B1=11101=0P4=1C4B3B2B1=11101=0P4P3P2P1=0110P4P3P2P1=0110说明第说明第6 6位出错,对第位出错,对第6 6位取反即完成位取反即完成纠错。纠错。 28. 28. 设主存容量为设主存容量为256K256K字,字,CacheCache容量为容量为2K2K字,字,块长为块长为4 4。 (1 1)设计)设计CacheCache地址格式,地址格式,CacheCa

9、che中可装入多少块中可装入多少块数据?数据? (2 2)在直接映射方式下,设计主存地址格式。)在直接映射方式下,设计主存地址格式。 (3 3)在四路组相联映射方式下,设计主存地址格)在四路组相联映射方式下,设计主存地址格式。式。 (4 4)在全相联映射方式下,设计主存地址格式。)在全相联映射方式下,设计主存地址格式。 (5 5)若存储字长为)若存储字长为3232位,存储器按字节寻址,写位,存储器按字节寻址,写出上述三种映射方式下主存的地址格式。出上述三种映射方式下主存的地址格式。 解:(解:(1 1)CacheCache容量为容量为2K2K字,块长为字,块长为4 4,CacheCache共共

10、有有2K/4=22K/4=21111/2/22 2=2=29 9=512=512块,块,CacheCache字地址字地址9 9位,字块内地位,字块内地址为址为2 2位,因此,位,因此,CacheCache地址格式设计如下:地址格式设计如下:Cache字块地址(字块地址(9位)位)字块内地址(字块内地址(2位)位) (2 2)主存容量为)主存容量为256K256K字字=2=21818字,主存地址共字,主存地址共1818位,位,共分共分256K/4=2256K/4=21616块,主存字块标记为块,主存字块标记为18-9-2=718-9-2=7位。位。 直接映射方式下主存地址格式如下:直接映射方式下

11、主存地址格式如下:主存字块标记(主存字块标记(7位)位)Cache字块地址(字块地址(9位)位)字块内地址(字块内地址(2位)位)主存字块标记(主存字块标记(9位)位)组地址(组地址(7位)位)字块内地址(字块内地址(2位)位) (3 3)根据四路组相联的条件,一组内共有)根据四路组相联的条件,一组内共有4 4块,块,得得CacheCache共分为共分为512/4=128=2512/4=128=27 7组,主存字块标记为组,主存字块标记为18-7-2=918-7-2=9位,主存地址格式设计如下:位,主存地址格式设计如下:(4 4)在全相联映射方式下,主存字块标记为)在全相联映射方式下,主存字块

12、标记为18-18-2=162=16位,其地址格式如下:位,其地址格式如下: 主存字块标记(主存字块标记(16位)位)字块内地址(字块内地址(2位)位) (5 5)若存储字长为)若存储字长为3232位,存储器按字节寻址,则位,存储器按字节寻址,则主存容量为主存容量为256K256K* *32/4=232/4=22121B B,CacheCache容量为容量为2K2K* *32/4=232/4=21414B B,块长为块长为4 4* *32/4=32B=232/4=32B=25 5B B,字块内地址为,字块内地址为5 5位,在直接映位,在直接映射方式下,主存字块标记为射方式下,主存字块标记为21-

13、9-5=721-9-5=7位,主存地址格位,主存地址格式为:式为:主存字块标记(主存字块标记(7位)位)Cache字块地址(字块地址(9位)位) 字块内地址(字块内地址(5位)位)主存字块标记(主存字块标记(9位)位)组地址(组地址(7位)位)字块内地址(字块内地址(5位)位)主存字块标记(主存字块标记(16位)位)字块内地址(字块内地址(5位)位)在四路组相联映射方式下,主存字块标记为在四路组相联映射方式下,主存字块标记为21-7-21-7-5=95=9位,主存地址格式为:位,主存地址格式为:在全相联映射方式下,主存字块标记为在全相联映射方式下,主存字块标记为21-5=1621-5=16位,

14、位,主存地址格式为:主存地址格式为: 32. 32. 设某机主存容量为设某机主存容量为4MB4MB,CacheCache容量为容量为16KB16KB,每字块有每字块有8 8个字,每字个字,每字3232位,设计一个四路组相联映射位,设计一个四路组相联映射(即(即CacheCache每组内共有每组内共有4 4个字块)的个字块)的CacheCache组织。组织。 (1 1)画出主存地址字段中各段的位数。)画出主存地址字段中各段的位数。 (2 2)设)设CacheCache的初态为空,的初态为空,CPUCPU依次从主存第依次从主存第0 0,1 1,2 2,8989号单元读出号单元读出9090个字(主存

15、一次读出一个字),个字(主存一次读出一个字),并重复按此次序读并重复按此次序读8 8次,问命中率是多少?次,问命中率是多少? (3 3)若)若CacheCache的速度是主存的的速度是主存的6 6倍,试问有倍,试问有CacheCache和无和无CacheCache相比,速度约提高多少倍?相比,速度约提高多少倍? 解:(解:(1 1)根据每字块有)根据每字块有8 8个字,每字个字,每字3232位(位(4 4字字节),得出主存地址字段中字块内地址为节),得出主存地址字段中字块内地址为3+2=53+2=5位。位。 根据根据CacheCache容量为容量为16KB=216KB=21414B B,字块大

16、小为,字块大小为8 8* *32/8=32=232/8=32=25 5B B,得,得CacheCache地址共地址共1414位,位,CacheCache共有共有2 214-514-5=2=29 9块。块。 根据四路组相联映射,根据四路组相联映射,CacheCache共分为共分为2 29 9/2/22 2=2=27 7组。组。根据主存容量为根据主存容量为4MB=24MB=22222B B,得主存地址共,得主存地址共2222位,主存字位,主存字块标记为块标记为22-7-5=1022-7-5=10位,故主存地址格式为:位,故主存地址格式为: 主存字块标记(主存字块标记(10位)位)组地址(组地址(7

17、位)位)字块内地址(字块内地址(5位)位) (2 2)由于每个字块中有)由于每个字块中有8 8个字,而且初态为空,因个字,而且初态为空,因此此CPUCPU读第读第0 0号单元时,未命中,必须访问主存,同时号单元时,未命中,必须访问主存,同时将该字所在的主存块调入将该字所在的主存块调入CacheCache第第0 0组中的任一块内,组中的任一块内,接着接着CPUCPU读第读第1717号单元时均命中。同理,号单元时均命中。同理,CPUCPU读第读第8 8,1616,8888号时均未命中。可见,号时均未命中。可见,CPUCPU在连续读在连续读9090个字个字中共有中共有1212次未命中,而后次未命中,

18、而后8 8次循环读次循环读9090个字全部命中,个字全部命中,命中率为:命中率为:984. 089012890 (3 3)设)设CacheCache的周期为的周期为t t,则主存周期为,则主存周期为6t6t,没有,没有CacheCache的访问时间为的访问时间为6t6t* *9090* *8 8,有,有CacheCache的访问时间为的访问时间为t t(9090* *8-128-12)+6t+6t* *1212,则有,则有CacheCache和无和无CacheCache相比,速度相比,速度提高的倍数为:提高的倍数为:54. 5112t6t )12890(890t6 38. 磁盘组有磁盘组有6片

19、磁盘,最外两侧盘面可以记录,存片磁盘,最外两侧盘面可以记录,存储区域内径储区域内径22cm,外径,外径33cm,道密度为,道密度为40道道/cm,内,内层密度为层密度为400位位/cm,转速,转速3600转转/分,问:分,问: (1)共有多少存储面可用?)共有多少存储面可用? (2)共有多少柱面?)共有多少柱面? (3)盘组总存储容量是多少?)盘组总存储容量是多少? (4)数据传输率是多少?)数据传输率是多少? 解:(解:(1)共有:)共有:62=12个存储面可用。个存储面可用。 (2)有效存储区域)有效存储区域=(33-22)/ 2 = 5.5cm (3)内层道周长)内层道周长= 22=69

20、.08cm 道容量道容量=400位位/cm69.08cm= 3454B 面容量面容量=3454B220道道=759,880B 盘组总容量盘组总容量=759,880B 12面面= 9,118,560B柱面数柱面数 = 40道道/cm 5.5= 220道道 (4)转速)转速 = 3600转转 / 60秒秒 = 60转转/秒秒 数据传输率数据传输率 = 3454B 60转转/秒秒 = 207,240 B/S 4.42 4.42 有一个有一个(7(7,4)4)码,生成多项式码,生成多项式x x3 3+x+1+x+1,写,写出代码出代码10011001的循环冗余校验码的循环冗余校验码 解:解: 代码为:

21、代码为:3( )10011M xx743k 3( )11011G xxx 由由(7(7,4)4)得:得: 生成多项式为:生成多项式为: 将代码左移将代码左移3 3位后再被生成多项式模位后再被生成多项式模2 2处,即:处,即:3( )1001000M xx3( )10010001101010( )10111011M xxG x 故故CRCCRC码为:码为:3( )( )1001000 1101001110M xxR x第第5 5章章 输入输出系统输入输出系统 32. 设磁盘存储器转速为设磁盘存储器转速为3000转转/分,分分,分8个扇区,每扇区个扇区,每扇区存储存储1K字节,主存与磁盘存储器数据

22、传送的宽度为字节,主存与磁盘存储器数据传送的宽度为16位位(即每次传送(即每次传送16位)。假设一条指令最长执行时间是位)。假设一条指令最长执行时间是25 s,是否可采用一条指令执行结束时响应,是否可采用一条指令执行结束时响应DMA请求的请求的方案,为什么?若不行,应采取什么方案?方案,为什么?若不行,应采取什么方案?29 29 结合结合DMADMA接口电路说明工作过程。看书接口电路说明工作过程。看书解:先算出磁盘传送速度,然后和指令执行速度进行比解:先算出磁盘传送速度,然后和指令执行速度进行比较得出结论。较得出结论。道容量道容量= 1K 8 8 位位= 8KB = 4K字字数传率数传率=4K

23、字字3000转转/分分=4K字字50转转/秒秒 =200K字字/秒秒 一个字的传送时间一个字的传送时间=1/200K=1/200K秒秒 5 5 s s (注:在(注:在此此1K=10241K=1024,来自数据块单位缩写。),来自数据块单位缩写。) 因为因为5 5 s25s25 s s,所以不能采用一条指令执行,所以不能采用一条指令执行结束响应结束响应DMADMA请求的方案,应采取每个请求的方案,应采取每个CPUCPU机器周期机器周期末查询及响应末查询及响应DMADMA请求的方案(通常安排请求的方案(通常安排CPUCPU机器周机器周期期=MM=MM存取周期)。存取周期)。第第6 6章章 计算机

24、的运算方法计算机的运算方法 9. 9. 当十六进制数当十六进制数9B9B和和FFFF分别表示为原码、补码、反码、分别表示为原码、补码、反码、移码和无符号数时,所对应的十进制数各为多少(设移码和无符号数时,所对应的十进制数各为多少(设机器数采用一位符号位)?机器数采用一位符号位)? 解:真值和机器数的对应关系如下:解:真值和机器数的对应关系如下:9BH原码补码反码移码无符号数对应十进制数-27-101-100+27155FFH原码补码反码移码无符号数对应十进制数-128-1-0+12825612. 12. 设浮点数格式为:阶码设浮点数格式为:阶码5 5位(含位(含1 1位阶符),尾数位阶符),尾

25、数1111位(含位(含1 1位数符)。写出位数符)。写出51/12851/128、-27/1024-27/1024、7.3757.375、- -86.586.5所对应的机器数。要求如下:所对应的机器数。要求如下: (1 1)阶码和尾数均为原码。)阶码和尾数均为原码。 (2 2)阶码和尾数均为补码。)阶码和尾数均为补码。 (3 3)阶码为移码,尾数为补码。)阶码为移码,尾数为补码。 解:据题意画出该浮点数的格式解:据题意画出该浮点数的格式 阶符阶符1位位阶码阶码4位位数符数符1位位尾数尾数10位位 将十进制数转换为二进制:将十进制数转换为二进制: x1= 51/128= 0.0110011B=

26、2x1= 51/128= 0.0110011B= 2-1-1 * * 0.110 011B 0.110 011Bx2= -2x2= -27 7/1024= -0.0000011011B = 2/1024= -0.0000011011B = 2-5-5* *(-0.11011B(-0.11011B)x3=7.375=111.011B=2x3=7.375=111.011B=23 3* *0.111011B0.111011Bx4=-86.5=-1010110.1B=2x4=-86.5=-1010110.1B=27 7* *(-0.10101101B)(-0.10101101B)则以上各数的浮点规格化

27、数为:则以上各数的浮点规格化数为:(1 1)x1x1浮浮=1=1,00010001;0.110 011 000 00.110 011 000 0 x2 x2浮浮=1=1,01010101;1.110 110 000 01.110 110 000 0 x3 x3浮浮=0=0,00110011;0.111 011 000 00.111 011 000 0 x4 x4浮浮=0=0,01110111;1.101 011 010 01.101 011 010 0(2 2)x1x1浮浮=1=1,11111111;0.110 011 000 00.110 011 000 0 x2 x2浮浮=1=1,1011

28、1011;1.001 010 000 01.001 010 000 0 x3 x3浮浮=0=0,00110011;0.111 011 000 00.111 011 000 0 x4 x4浮浮=0=0,01110111;1.010 100 110 01.010 100 110 0(3 3)x1x1浮浮=0=0,11111111;0.110 011 000 00.110 011 000 0 x2 x2浮浮=0=0,10111011;1.001 010 000 0 1.001 010 000 0 x3 x3浮浮=1=1,00110011;0.111 011 000 00.111 011 000 0

29、x4 x4浮浮=1=1,01110111;1.010 100 110 01.010 100 110 01616设机器数字长为设机器数字长为1616位,写出下列各种情况下它位,写出下列各种情况下它能表示的数的范围。设机器数采用一位符号位,答案能表示的数的范围。设机器数采用一位符号位,答案均用十进制表示。均用十进制表示。 (1 1)无符号数;)无符号数; (2 2)原码表示的定点小数。)原码表示的定点小数。 (3 3)补码表示的定点小数。)补码表示的定点小数。 (4 4)补码表示的定点整数。)补码表示的定点整数。 (5 5)原码表示的定点整数。)原码表示的定点整数。 (6 6)浮点数的格式为:阶码

30、)浮点数的格式为:阶码6 6位(含位(含1 1位阶符),位阶符),尾数尾数1010位(含位(含1 1位数符)。分别写出其正数和负数的位数符)。分别写出其正数和负数的表示范围。表示范围。 (7 7)浮点数格式同()浮点数格式同(6 6),机器数采用补码规格),机器数采用补码规格化形式,分别写出其对应的正数和负数的真值范围。化形式,分别写出其对应的正数和负数的真值范围。解:(解:(1)无符号整数:)无符号整数:0 216 - 1,即:,即:0 65535; 无符号小数:无符号小数:0 1 - 2-16 ,即:,即:0 0.99998; (2)原码定点小数:)原码定点小数:-1 + 2-151 -

31、2-15 ,即:,即:-0.999970.99997(3)补码定点小数:)补码定点小数:- 11 - 2-15 ,即:,即:-10.99997(4)补码定点整数:)补码定点整数:-215215 - 1 ,即:,即:-3276832767(5)原码定点整数:)原码定点整数:-215 + 1215 - 1,即:,即:-3276732767(6)据题意画出该浮点数格式,当阶码和尾数均采用)据题意画出该浮点数格式,当阶码和尾数均采用原码,非规格化数表示时:原码,非规格化数表示时:最大负数最大负数= 1,11 111;1.000 000 001 ,即,即 -2-9 2-31最小负数最小负数= 0,11

32、111;1.111 111 111,即,即 -(1-2-9) 231则负数表示范围为:则负数表示范围为:-(1-2-9) 231 -2-9 2-31最大正数最大正数= 0,11 111;0.111 111 111,即,即 (1-2-9) 231最小正数最小正数= 1,11 111;0.000 000 001,即,即 2-9 2-31则正数表示范围为:则正数表示范围为:2-9 2-31 (1-2-9) 231(7)当机器数采用补码规格化形式时,若不考虑隐藏)当机器数采用补码规格化形式时,若不考虑隐藏位,则位,则最大负数最大负数=1,00 000;1.011 111 111,即,即 -2-1 2-

33、32最小负数最小负数=0,11 111;1.000 000 000,即,即 -1 231则负数表示范围为:则负数表示范围为:-1 231 -2-1 2-32最大正数最大正数=0,11 111;0.111 111 111,即,即 (1-2-9) 231 最小正数最小正数=1,00 000;0.100 000 000,即,即 2-1 2-32则正数表示范围为:则正数表示范围为:2-1 2-32 (1-2-9) 23120. 用原码一位乘、两位乘和补码一位乘(用原码一位乘、两位乘和补码一位乘(Booth算算法)、两位乘计算法)、两位乘计算xy。 (1)x= 0.110 111,y= -0.101 1

34、10; (2)x= -0.010 111,y= -0.010 101; (3)x= 19,y= 35; (4)x= 0.110 11,y= -0.111 01。解:先将数据转换成所需的机器数,然后计算,最后解:先将数据转换成所需的机器数,然后计算,最后结果转换成真值。结果转换成真值。 (1)x原原=0.110111,y原原=1.101110, x*=0.110111, y*=0.101110 原码一位乘:原码一位乘: 部分积部分积乘数乘数y*说明说明0.000 000+0.000 000101 110部分积初值为部分积初值为0,乘数为,乘数为0加加0 0.000 000 0.000 000 +

35、0.110 111010 111右移一位右移一位乘数为乘数为1,加上,加上x* 0.110 111 0.011 011 +0.110 111101 011右移一位右移一位乘数为乘数为1,加上,加上x* 1.010 010 0.101 001 +0.110 111010 101右移一位右移一位乘数为乘数为1,加上,加上x* 1.100 000 0.110 000 +0.000 000001 010右移一位右移一位乘数为乘数为0,加上,加上0 0.110 000 0.011 000 +0.110 111000 101右移一位右移一位乘数为乘数为1,加上,加上x* 1.001 111 0.100 1

36、11100 010右移一位右移一位即即x x* *y y* *=0.100 111 100 010=0.100 111 100 010,z0=x0z0=x0 y0=0 y0=0 1=11=1,xxy y 原原=1.100 111 100 010=1.100 111 100 010,xyxy= -0. 100 111 100 010= -0. 100 111 100 010补码一位乘:补码一位乘:x补补=0.110111,-x补补=1.001001,y补补=1.010010部分积部分积乘数乘数Yn+1说明说明 00 . 000 000 00 . 000 000+11 . 001 0011 010

37、 0100 101 00100Ynyn+1=00,部分积右移,部分积右移1位位Ynyn+1=10,部分积加,部分积加-x补补 11 . 001 001右移右移1位位 11 . 100 100+00 . 110 1111 010 1001Ynyn+1=01,部分积加,部分积加x补补 00 . 011 011右移右移1位位 00 . 001 101 00 . 000 110+11 . 001 0011 101 0101 110 10100Ynyn+1=00,部分积右移,部分积右移1位位Ynyn+1=10,部分积加,部分积加-x补补 11 . 001 111右移右移1位位 11 . 100 111+

38、00 . 110 1111 111 0101Ynyn+1=01,部分积加,部分积加x补补 00 . 011 110 00 . 001 111+11 . 001 0010 111 1010右移右移1位位Ynyn+1=10,部分积加,部分积加-x补补 11 . 011 0000 111 10即即 xxy y 补补=1.011 000 011 110=1.011 000 011 110,xyxy= -0.100 111 100 010= -0.100 111 100 010第第7章章 指令系统指令系统15 一相对寻址的转移指令占一相对寻址的转移指令占3个字节,第一字节是个字节,第一字节是操作码,第二

39、、三字节为相对位移量,而且数据在存操作码,第二、三字节为相对位移量,而且数据在存储器中采用以高字节地址为字地址的存放方式。假设储器中采用以高字节地址为字地址的存放方式。假设PC当前值为当前值为4000H。试问当结果为。试问当结果为0,执行,执行“JZ * +35”和和JZ * -17”指令时,该指令的第二、第三字节的指令时,该指令的第二、第三字节的机器代码各为多少?机器代码各为多少?解:当结果为解:当结果为0,执行,执行“JZ * +35”时,指令的相对时,指令的相对位移量为位移量为35(D)=23H,该该指令的第二字节的机器代,该该指令的第二字节的机器代码为码为00H,第三字节的机器代码为,

40、第三字节的机器代码为23H 当结果为当结果为0,执行,执行“JZ * -17”时,指令的相对位时,指令的相对位移量为移量为-17(D)=EFH(补码补码),该该指令的第二字节的机,该该指令的第二字节的机器代码为器代码为FFH,第三字节的机器代码为,第三字节的机器代码为EFH16. 某机主存容量为某机主存容量为4M 16位,且存储字长等于指令字位,且存储字长等于指令字长,若该机指令系统可完成长,若该机指令系统可完成108种操作,操作码位数固种操作,操作码位数固定,且具有直接、间接、变址、基址、相对、立即等六定,且具有直接、间接、变址、基址、相对、立即等六种寻址方式,试回答:(种寻址方式,试回答:

41、(1)画出一地址指令格式并指)画出一地址指令格式并指出各字段的作用;出各字段的作用;(2)该指令直接寻址的最大范围;)该指令直接寻址的最大范围;(3)一次间址和多次间址的寻址范围;)一次间址和多次间址的寻址范围;(4)立即数的范围(十进制表示);)立即数的范围(十进制表示);(5)相对寻址的位移量(十进制表示);)相对寻址的位移量(十进制表示);(6)上述六种寻址方式的指令哪一种执行时间最短?)上述六种寻址方式的指令哪一种执行时间最短?哪一种最长?为什么?哪一种便于程序浮动?哪一种最哪一种最长?为什么?哪一种便于程序浮动?哪一种最适合处理数组问题?适合处理数组问题?(7)如何修改指令格式,使指

42、令的寻址范围可扩大到)如何修改指令格式,使指令的寻址范围可扩大到4M?(8)为使一条转移指令能转移到主存的任一位置,可)为使一条转移指令能转移到主存的任一位置,可采取什么措施?简要说明之。采取什么措施?简要说明之。解:(解:(1)单字长一地址指令格式:)单字长一地址指令格式:OP(7位)M(3位)A(6位)OP为操作码字段,共为操作码字段,共7位,可反映位,可反映108种操作;种操作;M为寻址方式字段,共为寻址方式字段,共3位,可反映位,可反映6种寻址操作;种寻址操作;A为地址码字段,共为地址码字段,共16-7-3=6位。位。(2)直接寻址的最大范围为)直接寻址的最大范围为26=64。(3)由

43、于存储字长为)由于存储字长为16位,故一次间址的寻址位,故一次间址的寻址范围为范围为216;若多次间址,需用存储字的最高位来;若多次间址,需用存储字的最高位来区别是否继续间接寻址,故寻址范围为区别是否继续间接寻址,故寻址范围为215。(4)立即数的范围为)立即数的范围为-3231(有符号数),(有符号数),或或063(无符号数)。(无符号数)。(5)相对寻址的位移量为)相对寻址的位移量为-3231。(6)上述六种寻址方式中,因立即数由指令直接)上述六种寻址方式中,因立即数由指令直接给出,故立即寻址的指令执行时间最短。间接寻址给出,故立即寻址的指令执行时间最短。间接寻址在指令的执行阶段要多次访存

44、在指令的执行阶段要多次访存(一次间接寻址要两一次间接寻址要两次访存,多次间接寻址要多次访存次访存,多次间接寻址要多次访存),故执行时间,故执行时间最长。变址寻址由于变址寄存器的内容由用户给定,最长。变址寻址由于变址寄存器的内容由用户给定,而且在程序的执行过程中允许用户修改,而其形式而且在程序的执行过程中允许用户修改,而其形式地址始终不变,故变址寻址的指令便于用户编制处地址始终不变,故变址寻址的指令便于用户编制处理数组问题的程序。相对寻址操作数的有效地址只理数组问题的程序。相对寻址操作数的有效地址只与当前指令地址相差一定的位移量,与直接寻址相与当前指令地址相差一定的位移量,与直接寻址相比,更有利

45、于程序浮动。比,更有利于程序浮动。(7)方案一:为使指令寻址范围可扩大到)方案一:为使指令寻址范围可扩大到4M,需,需要有效地址要有效地址22位,此时可将单字长一地址指令的格位,此时可将单字长一地址指令的格式改为双字长,如下图示:式改为双字长,如下图示:OP(7位)位)MOD(3位)位)A(高(高6位)位)A(低(低16位)位) 方案二:如果仍采用单字长指令(方案二:如果仍采用单字长指令(16位)格式,位)格式,为使指令寻址范围扩大到为使指令寻址范围扩大到4M,可通过段寻址方案实,可通过段寻址方案实现。安排如下:现。安排如下: 硬件设段寄存器硬件设段寄存器DS(16位),用来存放段地位),用来

46、存放段地址。在完成指令寻址方式所规定的寻址操作后,得址。在完成指令寻址方式所规定的寻址操作后,得有效地址有效地址EA(6位),再由硬件自动完成段寻址,位),再由硬件自动完成段寻址,最后得最后得22位物理地址。位物理地址。 即:物理地址即:物理地址=(DS) 26 + EA 注:段寻址方式由硬件隐含实现。在编程指定的寻址注:段寻址方式由硬件隐含实现。在编程指定的寻址过程完成、过程完成、EA产生之后由硬件自动完成,对用户是透产生之后由硬件自动完成,对用户是透明的。明的。 方案三:在采用单字长指令(方案三:在采用单字长指令(16位)格式时,位)格式时,还可通过页面寻址方案使指令寻址范围扩大到还可通过

47、页面寻址方案使指令寻址范围扩大到4M。安排如下:安排如下: 硬件设页面寄存器硬件设页面寄存器PR(16位),用来存放页位),用来存放页面地址。指令寻址方式中增设页面寻址。当需要使面地址。指令寻址方式中增设页面寻址。当需要使指令寻址范围扩大到指令寻址范围扩大到4M时,编程选择页面寻址方式,时,编程选择页面寻址方式,则:则:EA =(PR)A (有效地址(有效地址=页面地址页面地址“拼拼接接”6位形式地址),这样得到位形式地址),这样得到22位有效地址。位有效地址。(8)为使一条转移指令能转移到主存的任一位置,)为使一条转移指令能转移到主存的任一位置,寻址范围须达到寻址范围须达到4M,除了采用,除

48、了采用(7) 方案一中的双字方案一中的双字长一地址指令的格式外,还可配置长一地址指令的格式外,还可配置22位的基址寄存位的基址寄存器或器或22位的变址寄存器,使位的变址寄存器,使EA = (BR) + A (BR为为22位的基址寄存器位的基址寄存器)或或EA =(IX)+ A(IX为为22位的变位的变址寄存器址寄存器),便可访问,便可访问4M存储空间。还可以通过存储空间。还可以通过16位的基址寄存器左移位的基址寄存器左移6位再和形式地址位再和形式地址A相加,也可相加,也可达到同样的效果。达到同样的效果。 总之,不论采取何种方式,最终得到的实际总之,不论采取何种方式,最终得到的实际地址应是地址应

49、是22位。位。第第8章章 CPU的结构和功能的结构和功能12 在在5个功能段的指令流水线中,假设每段的执行时个功能段的指令流水线中,假设每段的执行时间分别是间分别是10ns、8ns、10ns、10ns和和7ns。对于完成。对于完成12条条指令的流水线而言,其加速比为多少?该流水线的实指令的流水线而言,其加速比为多少?该流水线的实际吞吐率为多少?际吞吐率为多少?解:解: 由题意可知,各段执行时间最多为由题意可知,各段执行时间最多为20ns,即:,即:10tns 603.75(1)116pnm tnmSm tntmn 712120.075ns(1)5 10(12 1) 10160 7.5 10ns75MIPSpnTm tnt 条指令/条指令/加速比:加速比:实际吞吐率:实际吞吐率:26. 设某机配有设某机配有A、B、C三台设备,其优先顺序按三台设备,其优先顺序按ABC降序排列,为改变中断处理次序,它们的降序排列,为改变中断处理次序,它

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论