计算机组成原理课后习题及答案_唐朔飞7-8.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《计算机组成原理课后习题及答案_唐朔飞7-8.pptx》由会员分享,可在线阅读,更多相关《计算机组成原理课后习题及答案_唐朔飞7-8.pptx(60页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、指指 令令 系系 统统第第 七七 章章 6.某指令系统字长为某指令系统字长为16位位,地,地址码取址码取4位位,试提出一种方案,使该,试提出一种方案,使该指令系统有指令系统有8条条三地址指令、三地址指令、16条条二二地址指令、地址指令、100条一地址指令。条一地址指令。解:解:三地址指令格式三地址指令格式如下:如下:4 4 4 4 OP A OP A1 1 A A2 2 A A3 3 解题思路:以三地址指令格式为解题思路:以三地址指令格式为解题思路:以三地址指令格式为解题思路:以三地址指令格式为该指令系统的基本格式。以此格式为该指令系统的基本格式。以此格式为该指令系统的基本格式。以此格式为该指
2、令系统的基本格式。以此格式为基础,采用基础,采用基础,采用基础,采用扩展操作码扩展操作码扩展操作码扩展操作码技术,设计出技术,设计出技术,设计出技术,设计出题意所要求的地址码结构的指令。题意所要求的地址码结构的指令。题意所要求的地址码结构的指令。题意所要求的地址码结构的指令。指令操作码分配方案指令操作码分配方案指令操作码分配方案指令操作码分配方案如下:如下:如下:如下:4位位OP0000,A1,A2,A3;8条条三地址指令三地址指令0111,1000,0000,A2,A3;16条条二地址指令二地址指令1000,1111,1001,0000,0000,A3;100条条一地址指令一地址指令1001
3、,0110,0011,1001,0110,0100,冗余编码冗余编码1001,1111,1111,可用来扩充一、零地址指令条数可用来扩充一、零地址指令条数1010,冗余编码冗余编码1111,可用来扩充三、二、一、零地址指令条数可用来扩充三、二、一、零地址指令条数 指令操作码分配方案指令操作码分配方案指令操作码分配方案指令操作码分配方案 7.设指令字长为设指令字长为16位位,采用扩展,采用扩展操作码技术,每个操作数的地址为操作码技术,每个操作数的地址为6位位。如果定义了如果定义了13条条二地址指令,试问还二地址指令,试问还可安排多少条一地址指令?可安排多少条一地址指令?解:解:二地址指令格式二地
4、址指令格式如下:如下:4 6 6 OP A OP A1 1 A A2 2 设二地址指令格式为该指令系统的设二地址指令格式为该指令系统的设二地址指令格式为该指令系统的设二地址指令格式为该指令系统的基本格式,基本格式,基本格式,基本格式,4 4位位位位操作码共有操作码共有操作码共有操作码共有1616种种种种编码,编码,编码,编码,其中其中其中其中1313种种种种用来定义二地址指令,还剩用来定义二地址指令,还剩用来定义二地址指令,还剩用来定义二地址指令,还剩3 3种种种种可用作可用作可用作可用作扩展标志扩展标志扩展标志扩展标志。如不考虑零地址指。如不考虑零地址指。如不考虑零地址指。如不考虑零地址指令
5、,该指令系统最多还能安排:令,该指令系统最多还能安排:令,该指令系统最多还能安排:令,该指令系统最多还能安排:一地址指令条数一地址指令条数一地址指令条数一地址指令条数 =3=3226 6=192192条条条条 8.某机指令字长某机指令字长16位位,每个操作,每个操作数的地址码为数的地址码为6位,设操作码长度位,设操作码长度固固定定,指令分为零地址、一地址和二地,指令分为零地址、一地址和二地址址三种三种格式。若零地址指令有格式。若零地址指令有M种种,一地址指令有一地址指令有N种种,则二地址指令最,则二地址指令最多有几种?若操作码位数可变,则二多有几种?若操作码位数可变,则二地址指令最多允许有几种
6、?地址指令最多允许有几种?解:解:1)若采用定长操作码)若采用定长操作码时,二地址指令格式如下:时,二地址指令格式如下:4 6 6 OP OP A A1 1 A A2 2 此时,无论指令中有几个地址,此时,无论指令中有几个地址,此时,无论指令中有几个地址,此时,无论指令中有几个地址,指令格式都不变指令格式都不变指令格式都不变指令格式都不变。设二地址指令有设二地址指令有K种,则:种,则:K=24-M-N 当当M=1(最小值),(最小值),N=1(最小值)(最小值)时,二地址指令最多有:时,二地址指令最多有:Kmax=16-1-1=14种种 2)若采用变长操作码时,二)若采用变长操作码时,二地址指
7、令格式仍如地址指令格式仍如1)所示,但操作码)所示,但操作码长度可随地址码的个数而变。此时,长度可随地址码的个数而变。此时,K=24-(N/26+M/212);(N/26 +M/212 向上取向上取整)整)当当(N/26+M/212)1时,时,K最大,最大,则二地址指令最多有:则二地址指令最多有:Kmax=16-1=15种种(只留一种编(只留一种编码作扩展标志用。)码作扩展标志用。)讨论:讨论:此时,一地址指令条数为:此时,一地址指令条数为:N=(24-K)26-M/26;(M/26向上取整)。向上取整)。零地址指令条数为:零地址指令条数为:M=216-212K-26N;当当K最大时(最大时(
8、K=15),一地),一地址指令最多有:址指令最多有:Nmax=64-1=63种;种;零地址指令最多有:零地址指令最多有:Mmax=64种种 注意:注意:应首先根据题意画出应首先根据题意画出指令基本格式。指令基本格式。10.试比较试比较基址寻址基址寻址和和变址寻址变址寻址。解:比较如下:解:比较如下:1)都可有效地)都可有效地扩大扩大指令寻址指令寻址范围。范围。2)基址寻址时,基准地址由)基址寻址时,基准地址由基址寄存器给出,地址的基址寄存器给出,地址的改变改变反映在反映在位位移量移量A的取值上;变址寻址时,基准地的取值上;变址寻址时,基准地址由址由A给出,地址的改变反映在给出,地址的改变反映在
9、变址值变址值的自动修改的自动修改上,变址值由变址寄存器给上,变址值由变址寄存器给出。出。3)基址寄存器内容通常由)基址寄存器内容通常由系系统程序统程序设定,变址寄存器内容通常由设定,变址寄存器内容通常由用用户户设定。设定。4)基址寻址适用于程序的)基址寻址适用于程序的动动态重定位态重定位,变址寻址适用于,变址寻址适用于数组或字符数组或字符串处理串处理,适用场合,适用场合不同不同。11.画出画出先变址再间址先变址再间址及及先间址再变址先间址再变址的寻址过的寻址过程示意图。程示意图。解:解:1)先变址再间址先变址再间址寻址过程简单示意如寻址过程简单示意如下:下:EA=(IX)+A,(IX)+1IX
10、IXOP M A+1+1ALUIRIREA操作数操作数主存主存主存主存IX:变址寄存器,:变址寄存器,既可是专用寄存器,既可是专用寄存器,也可是通用寄存器之一。也可是通用寄存器之一。设一重间接设一重间接2)先间址再变址先间址再变址寻址过程简单示意如下:寻址过程简单示意如下:EA=(IX)+(A),(IX)+1IXIXIXOP M AOP M A+1+1ALUALUIRIREAEA操作数操作数操作数操作数主存主存主存主存IXIX:变址寄存器,:变址寄存器,:变址寄存器,:变址寄存器,既可是专用寄存器,既可是专用寄存器,既可是专用寄存器,既可是专用寄存器,也可是通用寄存器之一。也可是通用寄存器之一
11、。也可是通用寄存器之一。也可是通用寄存器之一。设一重间接设一重间接 注意:注意:1 1)英文缩写)英文缩写EAEA表示有效地址,表示有效地址,不能乱用。不能乱用。2 2)示意图中应标明)示意图中应标明EAEA(有效地(有效地址)的位置。址)的位置。12.画出画出“SUB R1”指令对操作数的寻址及减法指令对操作数的寻址及减法过程的流程图。设被减数和结果存于过程的流程图。设被减数和结果存于ACC中,中,表示表示间接寻址,间接寻址,R1寄存器的内容为寄存器的内容为2074H。解:解:SUB R1指令寻址及减法过程的流程指令寻址及减法过程的流程图:图:取指令(省)取指令(省)取指令(省)取指令(省)
12、寻址操作:寻址操作:寻址操作:寻址操作:寄存器间址寄存器间址寄存器间址寄存器间址EA=(R1)=2074HEA=(R1)=2074HEA EA MARMAR,读,读,读,读 M(EA)M(EA)MDRMDR(ACC)-(MDR)(ACC)-(MDR)ACCACC A A A A (公操作)(公操作)(公操作)(公操作)注:注:注:注:在没有指定数据通在没有指定数据通在没有指定数据通在没有指定数据通路的情况下,此流程只是一路的情况下,此流程只是一路的情况下,此流程只是一路的情况下,此流程只是一个粗略的示意。个粗略的示意。个粗略的示意。个粗略的示意。13.画出执行画出执行“ADD *-5”指令(指
13、令(*为相对寻址特征)为相对寻址特征)的信息流程图。设另一个操作数和结果存于的信息流程图。设另一个操作数和结果存于ACC中,中,并假设并假设(PC)=4000H。解:由于本题未指定数据通路结构,因此解:由于本题未指定数据通路结构,因此只能大概地排一下信息流程图,并且流程图中突出只能大概地排一下信息流程图,并且流程图中突出寻址过程寻址过程的实现。的实现。ADD *-5指令信息流程图如下:指令信息流程图如下:取指令(省)取指令(省)取指令(省)取指令(省)寻址计算:寻址计算:寻址计算:寻址计算:EA=(PC)-5EA=(PC)-5=4000H+FFFBH=4000H+FFFBH=3FFBH=3FF
14、BHEA EA MARMAR,读,读,读,读 M(EA)M(EA)MDRMDR(ACC)+(MDR)(ACC)+(MDR)ACCACC A A A A (公操作)(公操作)(公操作)(公操作)14.设设相对寻址相对寻址的转移指令占的转移指令占两个两个字节,第一个字节是操作码,第二个字节,第一个字节是操作码,第二个字节是字节是相对位移量相对位移量,用,用补码补码表示。假表示。假设当前转移指令第一字节所在的地址设当前转移指令第一字节所在的地址为为2000H,且,且CPU每取出一个字节便每取出一个字节便自自动完成(动完成(PC)+1PC的操作。试问当的操作。试问当执行执行“JMP *+8”和和“JM
15、P *-9”指令时,指令时,转移指令第二字节的内容各为多少?转移指令第二字节的内容各为多少?解:据题意,相对寻址的转解:据题意,相对寻址的转移指令格式如下:移指令格式如下:OPOPA A2000H2000H2001H2001H2002H2002H 当执行当执行JMP指令时,指令时,指令第二字指令第二字节的内容不变节的内容不变,PC的内容变为的内容变为2002H。此时转移指令第二字节内容各为:此时转移指令第二字节内容各为:A1=+8=0000 1000=08H A2=-9=1111 0111=F7H 其有效地址各为:其有效地址各为:EA1=(PC)+8=2002H+0008H =200AH EA
16、2=(PC)9=2002H+FFF7H =1FF9H 16.某机主存容量为某机主存容量为4M 16位位,且,且存储字长存储字长等于等于指令字长,若该机指令指令字长,若该机指令系统可完成系统可完成108种种操作,操作码位数操作,操作码位数固固定定,且具有直接、间接、变址、基址、,且具有直接、间接、变址、基址、相对、立即等相对、立即等六种寻址方式六种寻址方式,试回答,试回答以下问题。以下问题。(1)画出)画出一地址指令格式一地址指令格式并并指出各字段的作用。指出各字段的作用。(2)该指令)该指令直接寻址直接寻址的最大的最大范围。范围。(3)一次一次间接寻址和间接寻址和多次多次间间接寻址的寻址范围。
17、接寻址的寻址范围。(4)立即数立即数的范围(十进制的范围(十进制表示)。表示)。(5)相对寻址的)相对寻址的位移量位移量(十进(十进制表示)。制表示)。(6)上述六种寻址方式的)上述六种寻址方式的指令中哪一种执行时间指令中哪一种执行时间最短最短,哪一种,哪一种最长最长,为什么?哪一种便于,为什么?哪一种便于程序浮动程序浮动,哪一种最适合处理哪一种最适合处理数组数组问题?问题?(7)如何修改指令格式,)如何修改指令格式,使指令的寻址范围可扩大到使指令的寻址范围可扩大到4M?(8)为使一条转移指令能)为使一条转移指令能转移到主存的转移到主存的任一位置任一位置,可采取什么,可采取什么措施?简要说明之
18、。措施?简要说明之。解:解:(1)单字长一地址指令)单字长一地址指令格格式式:7 3 6 OP M A OP M A 各字段的作用:各字段的作用:各字段的作用:各字段的作用:OPOP操作码操作码操作码操作码字段,提供至少字段,提供至少字段,提供至少字段,提供至少108108种指令操作码;种指令操作码;种指令操作码;种指令操作码;MM寻址方式码寻址方式码寻址方式码寻址方式码字段,指出字段,指出字段,指出字段,指出6 6种种种种寻址方式;寻址方式;寻址方式;寻址方式;AA形式地址形式地址形式地址形式地址字段,给出寻址所字段,给出寻址所字段,给出寻址所字段,给出寻址所需的形式地址。需的形式地址。需的
19、形式地址。需的形式地址。(2)A为为6位,该指令直接寻址的位,该指令直接寻址的最大范围为最大范围为26=64字字;(3)一次间址的寻址范围为)一次间址的寻址范围为216=64K字字;多次间址的寻址范围为多次间址的寻址范围为215=32K字;字;(4)立即数的范围:若采用)立即数的范围:若采用补码表示为补码表示为1FH20H;十进制表示为;十进制表示为31-32;无符号数为;无符号数为063;(5)相对寻址的位移量范围相对寻址的位移量范围在采用补码表示时同立即数范围,为在采用补码表示时同立即数范围,为31-32;(6)六种寻址方式中,)六种寻址方式中,立即寻立即寻址址指令执行时间最短,因为此时不
20、需指令执行时间最短,因为此时不需寻址;寻址;间接寻址间接寻址指令执行时间最长,指令执行时间最长,因为寻址操作需访存一次到多次;因为寻址操作需访存一次到多次;相对寻址相对寻址便于程序浮动,因便于程序浮动,因为此时操作数位置可随程序存储区的为此时操作数位置可随程序存储区的变动而改变,总是相对于程序一段距变动而改变,总是相对于程序一段距离;离;变址寻址变址寻址最适合处理数组问最适合处理数组问题,因为此时变址值可题,因为此时变址值可自动修改而不自动修改而不需要修改程序。需要修改程序。(7)为使指令寻址范围可扩大)为使指令寻址范围可扩大到到4M,需要有效地址,需要有效地址22位,此时可位,此时可将单字长
21、一地址指令的格式改为将单字长一地址指令的格式改为双字双字长长,如下图示:,如下图示:7 3 6 OP M A OP M AA A 16 16 图中,指令的第一字图中,指令的第一字图中,指令的第一字图中,指令的第一字保持保持保持保持原来格原来格原来格原来格式不变,形式地址式不变,形式地址式不变,形式地址式不变,形式地址A A扩展扩展扩展扩展到第到第到第到第2 2个字。个字。个字。个字。这样,直接寻址时,这样,直接寻址时,这样,直接寻址时,这样,直接寻址时,EA=A=16+6=EA=A=16+6=2222位位位位,正好可访问,正好可访问,正好可访问,正好可访问4M4M地址空间。由于地址空间。由于地
22、址空间。由于地址空间。由于A A的扩展,变址、基址、相对、立即数的扩展,变址、基址、相对、立即数的扩展,变址、基址、相对、立即数的扩展,变址、基址、相对、立即数等寻址方式也扩展到等寻址方式也扩展到等寻址方式也扩展到等寻址方式也扩展到2222位。位。位。位。(8)如使一条转移指令能转移如使一条转移指令能转移到主存的到主存的任一位置任一位置,可采用上述双字,可采用上述双字长一地址指令,通过长一地址指令,通过选用合适的选用合适的寻址寻址方式完成。方式完成。(如选用直接寻址就可转(如选用直接寻址就可转移到主存移到主存任一位置任一位置,但选用相对寻址,但选用相对寻址则只能在则只能在2M范围内转移。)范围
23、内转移。)除此之外,(除此之外,(7)、()、(8)两)两题也可通过题也可通过段寻址方式段寻址方式达到扩大寻址达到扩大寻址空间的目的(空间的目的(此时不需修改指令格式此时不需修改指令格式)。总之,不论采取何种方式,最终得。总之,不论采取何种方式,最终得到的到的实际地址实际地址应是应是22位位。方案二:方案二:(7)如果仍采用单字长指令)如果仍采用单字长指令(16位)格式,位)格式,为使指令寻址范围扩为使指令寻址范围扩大到大到4M,可通过,可通过段寻址段寻址方案实现。安方案实现。安排如下:排如下:硬件设硬件设段寄存器段寄存器DS(16位),位),用来存放用来存放段地址段地址。在完成指令寻址方。在
24、完成指令寻址方式所规定的寻址操作后,得有效地址式所规定的寻址操作后,得有效地址EA(16位),再由硬件位),再由硬件自动自动完成段寻完成段寻址,最后得址,最后得22位物理地址位物理地址。物理地址物理地址=(DS)26+EA 注:注:段寻址方式由硬件隐含实现。段寻址方式由硬件隐含实现。在编程指定的寻址过程完成、在编程指定的寻址过程完成、EA产生产生之后由硬件自动完成,对用户是透明之后由硬件自动完成,对用户是透明的。的。方案三:方案三:(7)在采用单字长指令()在采用单字长指令(16位)位)格式时,还格式时,还可通过可通过页面寻址页面寻址方案使指令方案使指令寻址范围扩大到寻址范围扩大到4M。安排如
25、下:。安排如下:硬件设硬件设页面寄存器页面寄存器PR(16位),位),用来存放用来存放页面地址页面地址。指令寻址方式中增。指令寻址方式中增设页面寻址。当需要使指令寻址范围扩设页面寻址。当需要使指令寻址范围扩大到大到4M时,编程选择时,编程选择页面寻址页面寻址方式,则:方式,则:EA=(PR)A(有效地址(有效地址=页面地址页面地址“拼接拼接”6位形式位形式地址)地址)这样得到这样得到22位有效地址。位有效地址。通过基址寻址与段寻址获得实际地通过基址寻址与段寻址获得实际地址的区别:址的区别:1)基址寻址的基地址一般比)基址寻址的基地址一般比较长(较长(存储器地址位数),位移量比存储器地址位数),
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 课后 习题 答案 唐朔飞
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内