指令系统复习课堂PPT

上传人:鲁** 文档编号:590156386 上传时间:2024-09-12 格式:PPT 页数:57 大小:933.50KB
返回 下载 相关 举报
指令系统复习课堂PPT_第1页
第1页 / 共57页
指令系统复习课堂PPT_第2页
第2页 / 共57页
指令系统复习课堂PPT_第3页
第3页 / 共57页
指令系统复习课堂PPT_第4页
第4页 / 共57页
指令系统复习课堂PPT_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《指令系统复习课堂PPT》由会员分享,可在线阅读,更多相关《指令系统复习课堂PPT(57页珍藏版)》请在金锄头文库上搜索。

1、四、指令系统四、指令系统(一)指令格式(一)指令格式1.指令基本格式指令基本格式 操作码字段操作码字段 地址码字段地址码字段(1)操作码操作码 操作码反映机器做什么操作。操作码反映机器做什么操作。 操作码所占的二进制位数决定了一台计算机所能允许的指令条数。操作码所占的二进制位数决定了一台计算机所能允许的指令条数。 例如,操作码占用六位二进制码时,这台计算机最多允许有:例如,操作码占用六位二进制码时,这台计算机最多允许有: 2664 条指令条指令 操作码分两种:操作码分两种: 长度固定(固定长度操作码)长度固定(固定长度操作码) 格式如上图所示格式如上图所示 操作码集中放在指令字的一个字段中,操

2、作码集中放在指令字的一个字段中,便于硬件设计,指令译便于硬件设计,指令译码时间短;用于指令字长较长的情况、大中型、超小型、码时间短;用于指令字长较长的情况、大中型、超小型、RISC中。中。 长度可变(可变长度操作码)长度可变(可变长度操作码) 操作码分散在指令字的不同字段中,操作码分散在指令字的不同字段中,有利于压缩程序中操作码有利于压缩程序中操作码的平均长度;增加指令译码及分析难度,使控制器设计复杂;在字的平均长度;增加指令译码及分析难度,使控制器设计复杂;在字长较短的微型机中被广泛应用。长较短的微型机中被广泛应用。1(2) (2) 地址码地址码 指令中的地址码用来指出该指令的指令中的地址码

3、用来指出该指令的源操作数地址源操作数地址( (一个或两个一个或两个) )、 结果地址结果地址及及下一条指令的地址下一条指令的地址。 这里的地址可以是这里的地址可以是主存地址主存地址,也可以是,也可以是寄存器地址寄存器地址,甚至可以是,甚至可以是I/OI/O设备的地址设备的地址。 四地址四地址OP A1 A2 A3 A48 6 6 6 6A1 第一操作数地址第一操作数地址A2 第二操作数地址第二操作数地址A3 结果的地址结果的地址A4 下一条指令地址下一条指令地址(A1) OP (A2) A34 次访存次访存 ? (指地址字段均为(指地址字段均为 主存地址主存地址的情况:取指令一次,取操作数的情

4、况:取指令一次,取操作数两次,存结果一次)两次,存结果一次)直接寻址范围直接寻址范围 26 = 64设指令字长为设指令字长为 32 位位操作码固定为操作码固定为 8 位位若用若用PC代替代替A43地址指令地址指令注:此种格式现已不用注:此种格式现已不用2 三地址三地址8 8 8 8 OP A1 A2 A3(A1) OP (A2) A34 次访存次访存 ? 同上同上直接寻址范围直接寻址范围 28 = 256二地址二地址OP A1 A28 12 12(A1) OP (A2) A1(A1) OP (A2) A2或或4 次访存次访存 ? 同上同上一地址一地址 零地址零地址OP A18 24 无地址码无

5、地址码(ACC) OP (A1) ACC2 次访存次访存 ?(取指一次,?(取指一次, 取操作数一次)取操作数一次)直接寻址范围直接寻址范围 212 = 4 K直接寻址范围直接寻址范围 224 = 16 M NOP、HLT指令:指令:无地址码无地址码RET、IRET指令:指令:操操作数地址是隐含(隐作数地址是隐含(隐 含在堆栈指针中)。含在堆栈指针中)。注:现常用此几种格式,尤其是二地址、一地址指令。注:现常用此几种格式,尤其是二地址、一地址指令。32.扩展操作码技术扩展操作码技术OP A1 A2 A3000000011110A1A1A1A2A2A2A3A3A3A2A2A2A3A3A31111

6、11111111000000011110111111111111111111111111111111111111000000011111111111111111111111111111A3A3A30000000111104 位操作码位操作码8 位操作码位操作码12 位操作码位操作码16 位操作码位操作码最多最多15条三地址指令条三地址指令最多最多15条二地址指令条二地址指令最多最多15条一地址指令条一地址指令16条零地址指令条零地址指令初始初始OP、A1、A2、A3各占各占4位位操作码的位数随地址数的减少而增加操作码的位数随地址数的减少而增加注:扩展操作码指令格式注:扩展操作码指令格式4扩展方

7、法不惟一,扩展方法不惟一,如:如:三地址指令操作码三地址指令操作码每减少一种可最多构每减少一种可最多构成成24 种二地址指令种二地址指令二地址指令操作码二地址指令操作码每减少一种可最多构每减少一种可最多构成成24 种一地址指令种一地址指令24 的的 4 指的是要扩指的是要扩展成操作码的地址展成操作码的地址码字段的长度码字段的长度53.指令字长指令字长 指令字的长度取决于操作码的长度、操作数地址的长度和操作数指令字的长度取决于操作码的长度、操作数地址的长度和操作数地址的个数。地址的个数。为了充分利用存储空间,为了充分利用存储空间,指令字的长度也定为字节长度指令字的长度也定为字节长度的整数倍的整数

8、倍。早期计算机,指令字长早期计算机,指令字长 = 机器字长机器字长= 存储字长存储字长(2) 指令字长指令字长可变:可变:(1) 指令字长指令字长固定:固定:现代计算机,指令字长可变,按字节的倍数变化现代计算机,指令字长可变,按字节的倍数变化指令字长度等于机器字长度的指令,称为单字长指令;指令字长度等于机器字长度的指令,称为单字长指令;指令字长等于两个机器字长的指令,称为双字长指令;指令字长等于两个机器字长的指令,称为双字长指令;指令字长度只有半个机器字长度的指令,称为半字长指令。指令字长度只有半个机器字长度的指令,称为半字长指令。注:了解即可注:了解即可6例例1: 假设指令字长为假设指令字长

9、为16位,操作数的地址码为位,操作数的地址码为6位,指令有零地址、位,指令有零地址、一地址、二地址三种格式。一地址、二地址三种格式。 (1)设操作码固定,若零地址指令有设操作码固定,若零地址指令有M种,一地址指令有种,一地址指令有N种,则二种,则二地址指令最多有几种地址指令最多有几种? (2)采用扩展操作码技术,二地址指令最多有几种?采用扩展操作码技术,二地址指令最多有几种? 解:解: (1) 根据操作数地址码为根据操作数地址码为6位,则二地址指令中操作码的位数为:位,则二地址指令中操作码的位数为: 16-2*64。 4位操作码可有位操作码可有16种操作。种操作。 由于操作码固定,则除去了零地

10、址指令由于操作码固定,则除去了零地址指令M种,一地址指令种,一地址指令N种,剩种,剩下二地址指令最多有:下二地址指令最多有:16-M-N种。种。 000000011110A1A1A1A2A2A2A3A3A3A2A2A2A3A3A3111111111111000000000001111110(2) 采用扩展操作码技术,操作码位数可采用扩展操作码技术,操作码位数可随地址数的减少而增加。随地址数的减少而增加。 对于二地址指令,对于二地址指令,4位操作码,共位操作码,共16种编码,去掉一种编码种编码,去掉一种编码(如如1111)用于一地用于一地址指令扩展,最多二地址指令可有址指令扩展,最多二地址指令可

11、有15种种操作。操作。7(4) 采用扩展操作码技术,若二地址指令有采用扩展操作码技术,若二地址指令有P条,零地址指令有条,零地址指令有Q条,条,则一地址指令最多有几种则一地址指令最多有几种?000000011110A1A1A1A2A2A2A3A3A3A2A2A2A3A3A31111111111110000000000011111106位位 6位位解:解:1) 二地址指令共二地址指令共24 条,每减少一种,条,每减少一种,可扩展一地址指令可扩展一地址指令 26 条,故可扩展一地址条,故可扩展一地址指令指令: (24 P)26 条;条; 2) 一地址指令共一地址指令共 (24 P)26 条,每减少

12、条,每减少一条可扩展一条可扩展 26 条零地址指令,条零地址指令, 设一地址指令共设一地址指令共X种,种,则,零地址指令:则,零地址指令: Q = ( (24 P)26 X) 26 X = (24 P)26 Q2-6 解:二地址指令可扩展一地址指令解:二地址指令可扩展一地址指令: (24 P)26 一地址指令可扩展零地址指令一地址指令可扩展零地址指令: ( (24 P)26 Q ) 26 (3) 采用扩展操作码技术,若二地址指令有采用扩展操作码技术,若二地址指令有P条,一地址指令有条,一地址指令有Q条,条,则零地址指令最多有几种则零地址指令最多有几种?8(二)指令的寻址方式(二)指令的寻址方式

13、 存储器既可以存放数据又可以存放指令。因此当某个操作数或存储器既可以存放数据又可以存放指令。因此当某个操作数或某条指令存放在某个存储单元时,其某条指令存放在某个存储单元时,其存储单元的编号存储单元的编号,就是该操,就是该操作数或指令在作数或指令在存储器中的地址存储器中的地址。 寻址方式寻址方式 确定确定 本条指令本条指令 的的 操作数地址操作数地址 (数据寻址)(数据寻址) 下一条下一条 欲执行欲执行 指令指令 的的 指令地址指令地址 (指令寻址)(指令寻址) 寻址方式寻址方式 分分 指令寻址指令寻址 和和 数据寻址。数据寻址。91. 指令寻址指令寻址顺序顺序( PC ) + 1 PC跳跃跳跃

14、由转移指令实现由转移指令实现LDA 1000ADD 1001DEC 1200JMP 7LDA 2000SUB 2001INCSTA 2500LDA 1100.0123456789PC+1指令地址寻址方式指令地址寻址方式指令地址指令地址指令指令顺序寻址顺序寻址1顺序寻址顺序寻址2顺序寻址顺序寻址3跳跃寻址跳跃寻址7顺序寻址顺序寻址8通过程序计数器通过程序计数器PC加加1,自,自动形成下一条指令的地址。动形成下一条指令的地址。102. 数据寻址数据寻址 形式地址:形式地址: 指令字中的地址指令字中的地址 有效地址:有效地址: 操作数的真实地址操作数的真实地址 (用(用EA表示),表示),由寻址方式

15、和形式地址共同确定。由寻址方式和形式地址共同确定。约定约定 指令字长指令字长 = 存储字长存储字长 = 机器字长机器字长(1) 立即寻址立即寻址 指令执行阶段不访存指令执行阶段不访存 A 的位数限制了立即数的范围的位数限制了立即数的范围形式地址形式地址 A操作码操作码寻址特征寻址特征OP # A立即寻址特征立即寻址特征立即数立即数 可正可负,补码表示可正可负,补码表示形式地址形式地址 A 就是操作数就是操作数以一地址以一地址指令为例指令为例#号是立即寻址号是立即寻址特征的标记特征的标记 下面,要注意指令格式中有效地址下面,要注意指令格式中有效地址EA的表示的表示11(2) 直接寻址直接寻址EA

16、 = A操作数操作数主存主存寻址特征寻址特征OPAA 执行阶段访问一次存储器执行阶段访问一次存储器 A 的位数决定了该指令操作数的寻址范围的位数决定了该指令操作数的寻址范围 操作数的地址不易修改(必须修改操作数的地址不易修改(必须修改A)有效地址由形式地址直接给出有效地址由形式地址直接给出12(3) 隐含寻址隐含寻址操作数地址隐含在操作码中操作数地址隐含在操作码中ADDA操作数操作数主存主存寻址特征寻址特征AACC暂存暂存ALU另一个操作数另一个操作数隐含在隐含在 ACC 中中如如 8086MUL 指令指令被乘数隐含在被乘数隐含在 AX(16位)或位)或 AL(8位)中位)中MOVS 指令指令

17、源操作数的地址隐含在源操作数的地址隐含在 SI 中中目的操作数的地址隐含在目的操作数的地址隐含在 DI 中中 指令字中少了一个地址字段,可缩短指令字长指令字中少了一个地址字段,可缩短指令字长隐含在隐含在 ACC 中的操作数中的操作数13(4) 间接寻址间接寻址EA =(A)有效地址由形式地址间接提供有效地址由形式地址间接提供OPA寻址特征寻址特征AEA主存主存EAA1EA A1主存主存 EA10 执行指令阶段执行指令阶段 2 次访存次访存 可扩大寻址范围,若存储字可扩大寻址范围,若存储字 长长16位,则寻址范围可达位,则寻址范围可达216 便于编制程序便于编制程序OPA寻址特征寻址特征A一次间

18、址一次间址多次间址多次间址操作数操作数操作数操作数 多次访存:多次访存: 存储字首位是多次间址标志,存储字首位是多次间址标志,故寻址范围稍小,若存储字故寻址范围稍小,若存储字长长16位,则寻址范围为位,则寻址范围为215 两次访存,指令执行时间延长两次访存,指令执行时间延长14(5) 寄存器寻址寄存器寻址EA = Ri 执行阶段不访存,只访问寄存器,执行速度快执行阶段不访存,只访问寄存器,执行速度快OPRi寻址特征寻址特征 地址段只指明寄存器编号,寄存器个数有限,编码短,可地址段只指明寄存器编号,寄存器个数有限,编码短,可 缩短指令字长缩短指令字长操作数操作数R0RiRn寄存器寄存器有效地址即

19、为寄存器编号有效地址即为寄存器编号15EA = ( Ri )(6) 寄存器间接寻址寄存器间接寻址 有效地址在寄存器中,有效地址在寄存器中, 操作数在存储器中,执行阶段访存一次操作数在存储器中,执行阶段访存一次操作数操作数主存主存OPRi寻址特征寻址特征 便于编制循环程序便于编制循环程序地址地址R0RiRn寄存器寄存器有效地址在寄存器中有效地址在寄存器中 与间接寻址方式比较,执行阶段访存一次,寻址范围与寄存器与间接寻址方式比较,执行阶段访存一次,寻址范围与寄存器 长度有关。长度有关。16(7) 基址寻址基址寻址 采用专用寄存器作基址寄存器采用专用寄存器作基址寄存器EA = ( BR ) + AB

20、R 为基址寄存器(隐式的)为基址寄存器(隐式的)OPA操作数操作数主存主存寻址特征寻址特征ALUBR 可扩大寻址范围可扩大寻址范围 有利于多道程序有利于多道程序 BR 内容由操作系统或管理程序确定内容由操作系统或管理程序确定 在程序的执行过程中在程序的执行过程中 BR 内容不变,形式地址内容不变,形式地址 A 可变可变17 采用通用寄存器作基址寄存器采用通用寄存器作基址寄存器操作数操作数主存主存寻址特征寻址特征ALUOPR0AR0 作基址寄存器作基址寄存器 由用户指定哪个通用寄存器作为基址寄存器由用户指定哪个通用寄存器作为基址寄存器通用寄存器通用寄存器R0Rn-1R1 基址寄存器的内容由操作系

21、统确定基址寄存器的内容由操作系统确定 在程序的执行过程中在程序的执行过程中 R0 内容不变,形式地址内容不变,形式地址 A 可变可变18(8) 变址寻址变址寻址EA = ( IX ) +AOPA操作数操作数主存主存寻址特征寻址特征ALUIX 可扩大寻址范围可扩大寻址范围 便于处理数组问题便于处理数组问题 IX 的内容由用户给定的内容由用户给定 IX 为变址寄存器(专用)为变址寄存器(专用) 在程序的执行过程中在程序的执行过程中 IX 内容可变,形式地址内容可变,形式地址 A 不变不变通用寄存器也可以作为变址寄存器通用寄存器也可以作为变址寄存器 采用专用寄存器作变址寄存器采用专用寄存器作变址寄存

22、器19操作数操作数主存主存寻址特征寻址特征ALUOPR1AR1 作变址寄存器作变址寄存器通用寄存器通用寄存器R0Rn-1R1 采用通用寄存器作变址寄存器采用通用寄存器作变址寄存器 由用户指定哪个通用寄存器作为变址寄存器由用户指定哪个通用寄存器作为变址寄存器 基址寄存器的内容由用户确定基址寄存器的内容由用户确定 在程序的执行过程中在程序的执行过程中 R1 内容可变,形式地址内容可变,形式地址 A 不变不变20变址和基址寻址的异同:变址和基址寻址的异同: 同:可扩大寻址范围;有效地址形成过程形似。同:可扩大寻址范围;有效地址形成过程形似。 异:应用场合不同异:应用场合不同 基址寻址主要用于为程序或

23、数据分配存储空间,故基址寄存基址寻址主要用于为程序或数据分配存储空间,故基址寄存器的内容通常有操作系统或管理程序确定,在程序的执行过程中器的内容通常有操作系统或管理程序确定,在程序的执行过程中其值是不可变的,而指令字中的其值是不可变的,而指令字中的A是可变的;是可变的; 变址寻址,变址寄存器的内容由用户设定,在程序执行过程变址寻址,变址寄存器的内容由用户设定,在程序执行过程中其值可变,而指令字中的中其值可变,而指令字中的A不可变。主要用于处理数组、字符不可变。主要用于处理数组、字符串等成批数据。串等成批数据。21(9) 相对寻址相对寻址 EA = ( PC ) + A (PC是当前指令地址是当

24、前指令地址 )A 是操作数相对于当前指令的位移量(可正可负,补码)是操作数相对于当前指令的位移量(可正可负,补码) A 的位数决定操作数的寻址范围的位数决定操作数的寻址范围 程序浮动程序浮动广泛用于转移指令广泛用于转移指令操作数操作数寻址特征寻址特征ALUOPA相对距离相对距离 A1000PC 主存主存1000AOP 若若A为为8位,则指令的寻址位,则指令的寻址范围为:范围为:(PC)+127 (PC)-12822(10) 堆栈寻址堆栈寻址堆栈堆栈硬堆栈硬堆栈软堆栈软堆栈多个寄存器多个寄存器指定的主存空间指定的主存空间先进后出先进后出(一个入出口)(一个入出口)栈顶地址栈顶地址 由由 SP 指

25、出指出 11FFFH +12000H进栈进栈 (SP) 1 SP出栈出栈 (SP)+ 1 SP栈顶栈顶栈底栈底2000 HSP2000H1FFF HSP1FFFH栈顶栈顶栈底栈底进栈进栈出栈出栈 1FFF H栈顶栈顶 2000 H栈顶栈顶 可视为隐含寻址,因为操作数地址隐含在堆栈指针可视为隐含寻址,因为操作数地址隐含在堆栈指针SP中;中; 也可视为寄存器间接寻址(因为也可视为寄存器间接寻址(因为SP可视为寄存器)。可视为寄存器)。23例例2:设相对寻址的转移指令占两个字节,第一字节是操作码,第二字:设相对寻址的转移指令占两个字节,第一字节是操作码,第二字节是相对位移量,用补码表示。每当节是相对

26、位移量,用补码表示。每当CPU从存储器取出一个字节时,从存储器取出一个字节时,即自动完成即自动完成(PC)+1PC。 (1)设当前设当前PC值为值为3000H,试问转移后的目标地址范围是什么,试问转移后的目标地址范围是什么? (2)若当前若当前PC值为值为2000H,要求转移到,要求转移到201BH,则转移指令第二字节,则转移指令第二字节的内容是什么的内容是什么? (3)若当前若当前PC值为值为2000H,指令,指令 JMP *-9 的第二字节内容为多少?的第二字节内容为多少? (* 为相对寻址特征)为相对寻址特征)解:解:(1) 转移地址为:转移地址为:(PC)+ 指令中的地址码部分指令中的

27、地址码部分 指令中给出的转移位移量为:指令中给出的转移位移量为:-128 +127 (- 80H +7FH补码表示)补码表示) PC当前值为当前值为3000H,且,且CPU取出该指令后,修改为取出该指令后,修改为3002H, 因此最终的转移目标地址范围为因此最终的转移目标地址范围为 3081H2F82H, 即即 3002H+7FH 3002H-80H(2) 若若PC当前值为当前值为2000H,取出该指令后,取出该指令后PC值为值为2002H,故转移指令,故转移指令 第二字节应为:第二字节应为: 20l BH - 2002H19H。若指令占若指令占3个字节呢?个字节呢? (3) 根据根据 JMP

28、 *-9,要求转移到,要求转移到 2000H-9=1FF7H 处,因取出指令后处,因取出指令后PC已到已到2002,故指令第二字节内容为,故指令第二字节内容为 F5H(-11的补码表示)。的补码表示)。24例例4: 某机主存容量为某机主存容量为4M 16位,且存储字长等于指令字长,若该机位,且存储字长等于指令字长,若该机指令系统能完成指令系统能完成97种操作,操作码位数固定,且具有直接、间接、变种操作,操作码位数固定,且具有直接、间接、变址、基址、相对、立即等六种寻址方式。址、基址、相对、立即等六种寻址方式。 (1)画出一地址指令格式并指出各字段的作用。画出一地址指令格式并指出各字段的作用。

29、(2)该指令直接寻址的最大范围。该指令直接寻址的最大范围。 (3)一次间址和多次间址的寻址范围。一次间址和多次间址的寻址范围。 (4)立即数的范围立即数的范围(十进制数表示十进制数表示)。 (5)相对寻址的位移量相对寻址的位移量(十进制数表示十进制数表示)。 (6)上述六种寻址方式的指令哪一种执行时间最短?哪一种最长上述六种寻址方式的指令哪一种执行时间最短?哪一种最长?哪哪一种便于用户编制处理数组问题的程序一种便于用户编制处理数组问题的程序?哪一种便于程序浮动哪一种便于程序浮动?为什么为什么? (7)如何修改指令格式使指令的直接寻址范围可扩大到如何修改指令格式使指令的直接寻址范围可扩大到4M?

30、 (8)为使一条转移指令能转移到主存的任一位置,可采取什么措施为使一条转移指令能转移到主存的任一位置,可采取什么措施?请简要说明。请简要说明。25解:解: (1) 一地址指令格式一地址指令格式 OP 操作码字段,共操作码字段,共7位,可反映位,可反映97种操作;种操作; M 寻址方式特征字段,共寻址方式特征字段,共3位,可反映位,可反映6种寻址方式;种寻址方式; A形式地址字段,共形式地址字段,共16-7-36位。位。 (2)直接寻址的最大范围为直接寻址的最大范围为2664 (3)由于存储字长为由于存储字长为16位,故一次间址的寻址范围为位,故一次间址的寻址范围为216。 若多次间址,需用存储

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

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

33、令的格式改为双字指令。 其中其中OP 7位,位,M 3位,位,A1 6位,位,A2 16位,即指令的地址字段共位,即指令的地址字段共16+6=22位,位,则指令的直接寻址范围可扩大到则指令的直接寻址范围可扩大到4M。 15 9 8 6 5 027(8)为使一条转移指令能转移到主存的任一位置,寻址范围须达到为使一条转移指令能转移到主存的任一位置,寻址范围须达到4M,除了采用,除了采用(7)所示的格式外,所示的格式外, 还可配置还可配置22位的基址寄存器位的基址寄存器 或或 22位的变址寄存器,使位的变址寄存器,使 EA=(BR)+A (BR为为22位的基址寄存器位的基址寄存器) 或或 EA=(I

34、X)+A (IX为为22位的变址寄存器位的变址寄存器), 便可访问便可访问4M存储空间。存储空间。 还可以通过还可以通过16位的基址寄存器左移位的基址寄存器左移6位再和形式地址位再和形式地址A相加,也可相加,也可达到同样的效果。达到同样的效果。28例例8某机指令格式如下图所示:某机指令格式如下图所示: 图中图中I为间址特征位为间址特征位 (I=0,直接寻址;,直接寻址;I=1,一次间接寻址,一次间接寻址)。假设存储器部分单元有以下内容:假设存储器部分单元有以下内容:指出下列机器指令指出下列机器指令(十六进制表示十六进制表示)的有效地址。的有效地址。 (1)D7 (2) DF (3) DE (4

35、) D2OPIA0 3 4 5 7地址号(十六进制)地址号(十六进制)0001020304050607内容(十六进制)内容(十六进制)015E9D74A41504A0解:解:(1) 1101 0111 I=0,直接寻址,有效地址为:,直接寻址,有效地址为:111B(7H) (2) 1101 1111 I=1,间接寻址,形式地址为:,间接寻址,形式地址为:111B(7H) 有效地址为:有效地址为:A0H (3) 1101 1110 I=1,间接寻址,间接寻址, A=06H,EA=04H (4) 1101 0010 I=0,直接寻址,直接寻址,EA=02H29例例9某机指令格式如下图所示。图中某机

36、指令格式如下图所示。图中x为寻址特征位,且为寻址特征位,且 当当x0时,不变址;时,不变址; x1时,用变址寄存器时,用变址寄存器x1,进行变址,进行变址 x2时,用变址寄存器时,用变址寄存器x2进行变址进行变址 x3时,相对寻址。时,相对寻址。 设设(PC)=1234H,x1=0037H,x2=1122H,确定下列指令的有效地,确定下列指令的有效地址址(指令和地址均用十六进制表示指令和地址均用十六进制表示): (1)4420; (2)2244; (3)1322; (4)3521。OPXA0 5 6 7 8 15解:解:(1) 0100 0100 0010 0000 X=0,不变址,有效地址为

37、:,不变址,有效地址为:20H (2) 0010 0010 0100 0100 X=2,用,用X2进行变址,有效地址为:进行变址,有效地址为: (x2) + A = 1122H + 44H = 1166H (3) 0001 0011 0010 0010 X= 3,相对寻址,有效地址为:,相对寻址,有效地址为: (PC)+ A = 1234H + 22H = 1257H(4) 30例例10. 一种一地址指令的格式如下所示。一种一地址指令的格式如下所示。 其中其中I为间址特征,为间址特征,X为寻址为寻址模式,模式,A为形式地址。设为形式地址。设R为通用寄存器,也可作为变址寄存器。在为通用寄存器,也

38、可作为变址寄存器。在表中填入适当的寻址方式名称。表中填入适当的寻址方式名称。OPIXA直接寻址直接寻址相对寻址相对寻址变址寻址变址寻址寄存器直接寻址寄存器直接寻址间接寻址间接寻址先相对后先相对后间接间接寻址寻址先变址再先变址再间接间接寻址寻址寄存器间接寻址寄存器间接寻址3143. (11分分) 某计算机字长为某计算机字长为16位,主存地址空间大小为位,主存地址空间大小为128KB,按字,按字编址,采用单字长指令格式,指令各字段定义如下:编址,采用单字长指令格式,指令各字段定义如下: OP Ms Rs Md Rd 15 12 11 6 5 0源操作数源操作数目的操作数目的操作数 转移指令采用相对

39、寻址方式,相对偏移量用补码表示,寻转移指令采用相对寻址方式,相对偏移量用补码表示,寻址方式定义如下:址方式定义如下:Ms/Md寻址方式寻址方式助记符助记符含义含义000B寄存器直接寄存器直接Rn操作数操作数=(Rn)001B寄存器间接寄存器间接(Rn)操作数操作数=(Rn)010B寄存器间接、自增寄存器间接、自增(Rn)+操作数操作数=(Rn),(Rn)+1Rn011B相对相对D(Rn)转移目标地址转移目标地址=(PC)+(Rn)注:(注:(x)表示存储器地址)表示存储器地址x或寄存器或寄存器x的内容的内容 32请回答下列问题:请回答下列问题:(1)该指令系统最多可有多少条指令?该计算机最多有

40、多少个通用)该指令系统最多可有多少条指令?该计算机最多有多少个通用寄存器?存储器地址寄存器(寄存器?存储器地址寄存器(MAR)和存储器数据寄存器()和存储器数据寄存器(MDR)至少各需多少位?至少各需多少位?(2)转移指令的目标地址范围是多少?)转移指令的目标地址范围是多少?(3)若操作码)若操作码0010B表示加法操作(助记符为表示加法操作(助记符为add),寄存器),寄存器R4和和R5的编号分别为的编号分别为100B和和101B,R4的内容为的内容为1234H,R5的内容为的内容为5678H,地址,地址1234H中的内容为中的内容为5678H,地址,地址5678H中的内容为中的内容为123

41、4H,则汇,则汇编语句编语句“add (R4), (R5)+”(逗号前为源操作数,逗号后为目的操作(逗号前为源操作数,逗号后为目的操作数)对应的机器码是什么(用十六进制表示)?该指令执行后,哪些数)对应的机器码是什么(用十六进制表示)?该指令执行后,哪些寄存器和存储单元的内容会改变?改变后的内容是什么?寄存器和存储单元的内容会改变?改变后的内容是什么?33(1)该指令系统最多可有该指令系统最多可有 24= 16 条指令条指令 该计算机最多有该计算机最多有 23= 8 个通用寄存器个通用寄存器 存储器地址寄存器存储器地址寄存器 MAR 至少至少 16位(位(216= 64K,按字寻址),按字寻址

42、) 存储器数据寄存器存储器数据寄存器 MDR至少至少16位(机器字长为位(机器字长为16位)位)(2) PC:16位,通用寄存器:位,通用寄存器:16位位 转移指令的目标地址范围:转移指令的目标地址范围:0216-1 = 0 FFFFH(3) 汇编语句汇编语句“add (R4), (R5)+”对应的机器码:对应的机器码: 0010 001 100 010 101B = 2315H 哪些寄存器和存储单元的内容会改变哪些寄存器和存储单元的内容会改变: 寄存器寄存器R5,存储单元,存储单元 5678H 内容会改变;内容会改变; R5=5679H R5 = 5678H+1 = 5679H (5678H

43、)= 68ACH (R4)+(R5)=1234H+5678H = 68ACH 34练习一、唐朔飞习题集练习一、唐朔飞习题集(一)选择(一)选择1指令系统中采用不同寻址方式的目的主要是指令系统中采用不同寻址方式的目的主要是_ A可降低指令译码难度可降低指令译码难度 B缩短指令字长,扩大寻址空间,提高编程灵活性缩短指令字长,扩大寻址空间,提高编程灵活性 C实现程序控制实现程序控制答案:答案:B2. 零地址运算指令在指令格式中不给出操作数地址,它的操作数来自零地址运算指令在指令格式中不给出操作数地址,它的操作数来自_ A. 立即数和栈顶立即数和栈顶 B. 暂存器暂存器 C栈顶和次栈顶栈顶和次栈顶答案

44、:答案:C3. 在一地址指令中,为完成两个数的算术运算,除地址译码指明的一在一地址指令中,为完成两个数的算术运算,除地址译码指明的一个操作数外,另一个操作数常采用个操作数外,另一个操作数常采用_ A. 堆栈寻址方式堆栈寻址方式 B立即寻地址方式立即寻地址方式 C隐含寻址方式隐含寻址方式答案:答案:C4二地址指令中,操作数的物理位置可安排在二地址指令中,操作数的物理位置可安排在_。(本题是多项选择本题是多项选择 A两个主存单元两个主存单元 B两个寄存器两个寄存器 C一个主存单元和一个寄存器一个主存单元和一个寄存器 D栈顶和次栈顶栈顶和次栈顶答案:答案:A B C356寄存器间接寻址方式中,操作数

45、在寄存器间接寻址方式中,操作数在_中。中。 A. 通用寄存器通用寄存器 B. 堆栈堆栈 C. 主存单元主存单元答案:答案:C7变址寻址方式中,操作数的有效地址是变址寻址方式中,操作数的有效地址是_ A基址寄存器内容加上形式地址基址寄存器内容加上形式地址(位移量位移量) B程序计数器内容加上形式地址程序计数器内容加上形式地址 C变址寄存器内容加上形式地址变址寄存器内容加上形式地址答案:答案:C9采用基址寻址可扩大寻址范围,且采用基址寻址可扩大寻址范围,且_ 。 A基址寄存器内容由用户确定,在程序执行过程中不可变基址寄存器内容由用户确定,在程序执行过程中不可变 B基址寄存器内容由操作系统确定,在程

46、序执行过程中不可变基址寄存器内容由操作系统确定,在程序执行过程中不可变 C基址寄存器内容由操作系统确定,在程序执行过程中可变基址寄存器内容由操作系统确定,在程序执行过程中可变答案:答案:B10采用变址寻址可扩大寻址范围,且采用变址寻址可扩大寻址范围,且_。 A变址寄存器内容由用户确定,在程序执行过程中不可变变址寄存器内容由用户确定,在程序执行过程中不可变 B变址寄存器内容由操作系统确定,在程序执行过程中可变变址寄存器内容由操作系统确定,在程序执行过程中可变 C变址寄存器内容由用户确定,在程序执行过程中可变变址寄存器内容由用户确定,在程序执行过程中可变答案:答案:C3612堆栈寻址方式中,设堆栈

47、寻址方式中,设A为累加器,为累加器,SP为堆栈指示器,为堆栈指示器,Msp为为SP指指示的栈顶单元。如果进栈操作的动作顺序是示的栈顶单元。如果进栈操作的动作顺序是(A)Msp,(SP)-1 SP,那么出栈操作的动作顺序应为那么出栈操作的动作顺序应为_ A. (Msp) (A), (SP)+l SP B (SP)+1 SP,(Msp) A C. (SP)-1 SP, (Msp) A答案:答案:B入栈操作和出栈操作入栈操作和出栈操作是镜像的操作,栈指是镜像的操作,栈指针是相反的操作针是相反的操作14设变址寄存器为设变址寄存器为X,形式地址为,形式地址为D,某机具有先变址再间址的寻,某机具有先变址再

48、间址的寻址方式则这种寻址方式的有效地址为址方式则这种寻址方式的有效地址为_。 A. EA= (x) + D B. EA = (x) + (D) C. EA(x) + D)答案:答案:C13堆栈寻址方式中,设堆栈寻址方式中,设A为累加器,为累加器,SP为堆栈指示器,为堆栈指示器,Msp为为SP指示指示的栈顶单元。如果进栈操作的动作顺序是的栈顶单元。如果进栈操作的动作顺序是 (SP)-1 SP, (A)Msp,那,那么出栈操作的动作顺序应为么出栈操作的动作顺序应为_ A. (Msp) (A), (SP)+l SP B (SP)+1 SP,(Msp) A C. (SP)-1 SP, (Msp) A答

49、案:答案:A各寻址方式可以组合使用各寻址方式可以组合使用3715设变址寄存器为设变址寄存器为X,形式地址为,形式地址为D,某机具有先间址后变址的寻,某机具有先间址后变址的寻址方式,则这种寻址方式的有效地址为址方式,则这种寻址方式的有效地址为_ A. EA= (x) + D B. EA = (x) + (D) C. EA(x) + D)答案:答案:B18运算型指令的寻址和转移型指令的寻址不同点在于运算型指令的寻址和转移型指令的寻址不同点在于_ A. 前者取操作数,后者决定程序转移地址前者取操作数,后者决定程序转移地址 B前者是短指令,后者是长指令前者是短指令,后者是长指令 C后者是短指令,前者是

50、长指令后者是短指令,前者是长指令答案:答案:A19. 指令的寻址方式有顺序和跳跃两种,采用跳跃寻址方式可以实现指令的寻址方式有顺序和跳跃两种,采用跳跃寻址方式可以实现 A. 程序浮动程序浮动 B程序的无条件转移和浮动程序的无条件转移和浮动 C程序的条件转移和无条件转移程序的条件转移和无条件转移答案:答案:C程序浮动是数据寻址方式中程序浮动是数据寻址方式中相对寻址方式的特点。相对寻址方式的特点。23. 设相对寻址的转移指令占两个字节,第一字节是操作码,第二字设相对寻址的转移指令占两个字节,第一字节是操作码,第二字节是相对位移量节是相对位移量(可正可负可正可负),则转移的地址范围是,则转移的地址范

51、围是_。 A. 255 B256 C. 254答案:答案:B 补码表示:补码表示:-128 0 127 :2563821设相对寻址的转移指令占两个字节,第一字节是操作码,第二字设相对寻址的转移指令占两个字节,第一字节是操作码,第二字节是相对位移量节是相对位移量(用补码表示用补码表示),若,若CPU每当从存储器取出一个字节时,每当从存储器取出一个字节时,即自动完成即自动完成 (PC)+1PC,设当前,设当前PC的内容为的内容为2000H,要求转移到,要求转移到2008H地址,则该转移指令第二字节的内容应为地址,则该转移指令第二字节的内容应为_。 A08H B06H C. 0AH答案:答案:B 2

52、4直接、间接、立即三种方式指令执行速度,由快至慢的排序是直接、间接、立即三种方式指令执行速度,由快至慢的排序是_答案:立即、直接、间接答案:立即、直接、间接26为了缩短指令中地址码的位数,应采用为了缩短指令中地址码的位数,应采用_寻址。寻址。 A立即数立即数 B寄存器寄存器 C直接直接答案:答案:B28在指令格式设计中,采用扩展操作码的目的是在指令格式设计中,采用扩展操作码的目的是_。 A增加指令长度增加指令长度 B增加寻址空间增加寻址空间 C增加指令数量增加指令数量答案:答案:C29设机器字长为设机器字长为16位,存储器按字编址,对于单字长指令而言,读位,存储器按字编址,对于单字长指令而言,

53、读取该指令后,取该指令后,PC值自动加值自动加_ A 1 B2 C4答案:答案:A指令字长等于存储字长,故,指令字长等于存储字长,故,一个存储单元可存一条指令,一个存储单元可存一条指令,读一次存储器即可读取一条指读一次存储器即可读取一条指令,故在此令,故在此PC+1。3930设机器字长为设机器字长为16位,存储器按字节编址,位,存储器按字节编址,CPU读取一条单字长指读取一条单字长指令后,令后,PC值自动加值自动加_ A 1 B2 C4答案:答案:B在此需读两个存储单元才能取在此需读两个存储单元才能取出一条指令,故出一条指令,故PC+2 31 设机器字长为设机器字长为16位,存储器按字节编址,

54、设位,存储器按字节编址,设PC当前值为当前值为1000H,当读取一条双字长指令后,当读取一条双字长指令后,PC值为值为_ A. 1001H B1002H C1004H答案:答案:C34转移指令的主要操作是转移指令的主要操作是 _。 A改变程序计数器改变程序计数器PC的值的值 B改变地址寄存器的值改变地址寄存器的值 C改变程序计数器的值和堆栈指针改变程序计数器的值和堆栈指针SP的值的值答案:答案:A35. 子程序调用指令完整的功能是子程序调用指令完整的功能是_ A改变程序计数器改变程序计数器PC的值的值 B. 改变地址寄存器的值改变地址寄存器的值 C改变程序计数器的值和堆栈指针改变程序计数器的值

55、和堆栈指针SP的值的值答案:答案:C4038下列下列_是错误的。是错误的。 A为了充分利用存储器空间,指令的长度通常可取字节的整数倍为了充分利用存储器空间,指令的长度通常可取字节的整数倍 B一地址指令是固定长度的指令一地址指令是固定长度的指令 C单字长指令可加快取指令的速度单字长指令可加快取指令的速度答案答案: B40在一地址格式的指令中,下列在一地址格式的指令中,下列_是正确的是正确的 A仅有一个操作数,其地址由指令的地址码提供仅有一个操作数,其地址由指令的地址码提供 D可能有一个操作数,也可能有两个操作数可能有一个操作数,也可能有两个操作数 C一定有两个操作数,另一个是隐含的一定有两个操作

56、数,另一个是隐含的答案:答案:B41下列三种类型的指令,下列三种类型的指令,_执行时间最长。执行时间最长。 A. RR型型 B. RS型型 CSS型型答案:答案:C46在下列寻址方式中,在下列寻址方式中,_寻址方式需要先计算,再访问主存。寻址方式需要先计算,再访问主存。 A立即立即 B变址变址 C. 间接间接答案:答案:BRR:寄存器:寄存器-寄存器寄存器RS:寄存器:寄存器-存储器存储器SS:存储器:存储器-存储器存储器 计算地址计算地址41(二)综合(二)综合 5某机字长某机字长32位,位,CPU内有内有32个个32位的通用寄存器,设计一种能容位的通用寄存器,设计一种能容纳纳64种操作的指

57、令系统,设指令字长等于机器字长。种操作的指令系统,设指令字长等于机器字长。 (1)如果主存可直接或间接寻址,采用寄存器如果主存可直接或间接寻址,采用寄存器存储器型指令,能存储器型指令,能直接寻址的最大存储空间是多少直接寻址的最大存储空间是多少? 画出指令格式。画出指令格式。 (2)如果采用通用寄存器作为基址寄存器,则上述寄存器如果采用通用寄存器作为基址寄存器,则上述寄存器存储器存储器型指令的指令格式有何特点,画出指令格式并指出这类指令可访问多型指令的指令格式有何特点,画出指令格式并指出这类指令可访问多大的存储空间大的存储空间?解:解: (1) OP段:段:6位位 寻址模式:寻址模式:1位位 寄

58、存器段:寄存器段:5位位 形式地址:形式地址:20位,能直接寻址的存储空间为位,能直接寻址的存储空间为220。OPIRA 6 1 5 20OPIRBA 6 1 5 5 15(2) 增加增加B字段,用以指出哪个寄存器为基址寄存器。字段,用以指出哪个寄存器为基址寄存器。 因为通用寄存器为因为通用寄存器为32位,用它作基址寄存器后,有效地位,用它作基址寄存器后,有效地址等于基址寄存器内容加上形式地址,可得址等于基址寄存器内容加上形式地址,可得32垃的有效地址,垃的有效地址,故寻址范围可达故寻址范围可达232。4226. 设机器字长为设机器字长为12位,若主存容量位,若主存容量64K*12位,为使一条

59、位,为使一条12位长的转位长的转移指令能够转移到主存的任一单元,应选用何种寻址方式?说明理由。移指令能够转移到主存的任一单元,应选用何种寻址方式?说明理由。解:采用基址寻址,将解:采用基址寻址,将12位的基址寄存器左移位的基址寄存器左移4位,形成位,形成16位位基地址,可寻址基地址,可寻址64K空间。空间。33. 一条双字长的取数指一条双字长的取数指令(令(LDA)存于存储器的)存于存储器的100和和101单元,其中第一单元,其中第一个字为操作码和寻址特征个字为操作码和寻址特征M,第二个字为形式地址。,第二个字为形式地址。假设假设PC当前值为当前值为100,变,变址寄存器址寄存器XR的内容为的

60、内容为100,基址寄存器的内容为,基址寄存器的内容为200,存储器各单元的内,存储器各单元的内容如下图所示。写出在下容如下图所示。写出在下列寻址方式中,取数指令列寻址方式中,取数指令执行结束后,累加器执行结束后,累加器AC的内容。的内容。 LDALDAM M300300 800800 700700400400500500 200200 600600100100101101102102300300400400401401402402500500800800寻址方式寻址方式 AC内容内容直接寻址直接寻址 立即寻址立即寻址 间接寻址间接寻址 相对寻址相对寻址 变址寻址变址寻址 基址寻址基址寻址 80

61、0300600500 70020043【例例】某某16位机位机所使用的指令格式和寻址方式如下所示。所使用的指令格式和寻址方式如下所示。 该机有该机有两个两个20位基值寄存器,四个位基值寄存器,四个16位变址寄存器,十六个位变址寄存器,十六个16位通位通用寄存器用寄存器。指令格式中的。指令格式中的 S(源源),D(目标目标)都是通用寄存器,都是通用寄存器,M是主存是主存中的一个单元。三种指令的操作码分别是中的一个单元。三种指令的操作码分别是 MOV (OP)(A)H, STO (OP)(1B)H,LAD (OP)(3C)H。 MOV是传送指令,是传送指令,STA为为写数指令,写数指令,LDA为读

62、数指令。为读数指令。OP目标目标源源MOV S, D15 10 9 8 7 4 3 0 20位地址位地址 目标目标 OP LAD D,M 15 10 9 8 7 4 3 0 OP基址基址源源 变址变址位移量位移量 15 10 9 8 7 4 3 0 STO S, M44要求:(要求:(1)分析三种指令格式与寻址方式特点。)分析三种指令格式与寻址方式特点。(2)CPU完完成成哪哪一一种种操操作作所所花花时时间间最最短短?哪哪一一种种操操作作花花时时间间最最长长?第二种指令的执行时间有时会等于第三种指令的第二种指令的执行时间有时会等于第三种指令的 执行时间吗?执行时间吗?(3)下下列列情情况况下下

63、每每个个十十六六进进制制指指令令字字分分别别代代表表什什么么操操作作?其其中中如如果果有编码不正确,如何改正才能成为合法指令?有编码不正确,如何改正才能成为合法指令? (F0F1)H (3CD2)H (2856)H (6FD6)H (1C2)H解:解:(1) 第一种指令是单字长二地址指令,第一种指令是单字长二地址指令,RR型;型; 第二种指令是双字长二地址指令,第二种指令是双字长二地址指令,RS型,其中型,其中S采用基址寻址或采用基址寻址或变址寻址,变址寻址,R由源寄存器决定;由源寄存器决定; 第三种也是双字长二地址指令,第三种也是双字长二地址指令,RS型,其中型,其中R由目标寄存器决由目标寄

64、存器决定,定,S由由20位地址(直接寻址)决定。位地址(直接寻址)决定。(2) 第一种指令所花时间最短,因为是第一种指令所花时间最短,因为是RR型指令,不需要访问存储器。型指令,不需要访问存储器。45 第二种指令所花时间最长,因为是第二种指令所花时间最长,因为是RS型指令,需要访问存储器,同型指令,需要访问存储器,同时要进行寻址方式的变换运算(基值或变址),这也需要时间。时要进行寻址方式的变换运算(基值或变址),这也需要时间。 第三种指令虽然也访问存储器,但节省了第三种指令虽然也访问存储器,但节省了求有效地址运算的时间开求有效地址运算的时间开销。销。 第二种指令的执行时间不会等于第三种指令的执

65、行时间。第二种指令的执行时间不会等于第三种指令的执行时间。(3) 根据已知条件:根据已知条件: MOV(OP)001010,STO(OP)011011,LAD(OP)111100 (F0F1)H (3CD2)H = 111100, 00,1111,0001 (3CD2)H 20位地址位地址 目标目标 OP LAD D, M 15 10 9 8 7 4 3 0 该指令代表该指令代表LAD指令,编码正确,其含义是把主存指令,编码正确,其含义是把主存 (13CD2)H 地址单位元的内容取至地址单位元的内容取至15寄存器。寄存器。46(6FD6)H = 011011, 11, 1101, 0110OP

66、目标目标源源MOV S, D15 10 9 8 7 4 3 0根据已知条件:根据已知条件: MOV(OP)001010,STO(OP)011011,LAD(OP)111100 该指令是单字长指令,一定是该指令是单字长指令,一定是MOV指令,但编码错误,指令,但编码错误, 可改正为可改正为 001010,00,1101,0110 = (28D6)H47【例例】指令格式结构如下所示,试分析指令格式及寻址方式特点。指令格式结构如下所示,试分析指令格式及寻址方式特点。解:指令格式及寻址方式特点如下:解:指令格式及寻址方式特点如下: 双字长二地址指令;双字长二地址指令; 操作码操作码OP可指定可指定 2

67、6=64条指令;条指令; RS型指令,两个操作数一个在寄存器中(型指令,两个操作数一个在寄存器中(16个寄存个寄存 器之一),寄存器寻址方式;另一个在存储器中,变器之一),寄存器寻址方式;另一个在存储器中,变 址寻址方式;址寻址方式; 有效地址通过变址求得:有效地址通过变址求得:E=(变址寄存器)(变址寄存器)+ D,变,变 址寄存器可有址寄存器可有16个。个。48【例例】某计算机字长某计算机字长32位,主存容量为位,主存容量为64M字,采用单字长单地址指字,采用单字长单地址指令,共有令,共有40条指令,试采用直接、立即、变址、相对四种寻址方式设条指令,试采用直接、立即、变址、相对四种寻址方式

68、设计指令格式。计指令格式。解:解:40条指令需占用操作码字段(条指令需占用操作码字段(OP)6位;位;4种寻址方式,寻址模种寻址方式,寻址模式(式(X)2位;形式地址(位;形式地址(D)24位,其指令格式如下:位,其指令格式如下:寻址模式定义如下:寻址模式定义如下: X= 0 0 直接寻址直接寻址 有效地址有效地址 E=D(直接寻址为(直接寻址为 ? 个存储单元)个存储单元) X= 0 1 立即寻址立即寻址 D字段为操作数字段为操作数 X= 1 0 变址寻址变址寻址 有效地址有效地址 E= (RX)D (可寻址(可寻址 ? 个存储单元)个存储单元) X= 1 1 相对寻址相对寻址 有效地址有效

69、地址 E=(PC)D (可寻址(可寻址 ? 个存储单元)个存储单元)其中其中RX为变址寄存器(为变址寄存器(32位),位),PC为程序计数器(为程序计数器(32位),在变位),在变址和相对寻址时,址和相对寻址时,位移量位移量D可正可负可正可负。 OP X D31 26 25 24 23 0该题给的条该题给的条件较少,理件较少,理解即可。解即可。49练习二、历年考研题练习二、历年考研题1.某计算机字长某计算机字长16位,存储器按字编址,访存指令格式如下,其中位,存储器按字编址,访存指令格式如下,其中OP是操作码,是操作码,M定义寻址模式,定义寻址模式,A为形式地址,设为形式地址,设PC和和Rx分

70、别为程序分别为程序计数器和变址寄存器,字长计数器和变址寄存器,字长16位。问:位。问: (1) 该格式能定义多少种指令?该格式能定义多少种指令? (2) 各寻址方式的寻址范围为多少字?各寻址方式的寻址范围为多少字? (3) 写出各寻址方式的有效地址写出各寻址方式的有效地址EA的计算式。的计算式。AMOP15 11 10 8 7 0M值值寻址方式寻址方式0立即寻址立即寻址1直接寻址直接寻址2间接寻址间接寻址3变址寻址变址寻址4相对寻址相对寻址解:解: 寻址方式寻址方式寻址范围寻址范围EA立即寻址立即寻址1个字个字即操作数即操作数=A直接寻址直接寻址28个字个字A间接寻址间接寻址216个字个字(A

71、)变址寻址变址寻址216个字个字(Rx)+A相对寻址相对寻址28个字个字 (-128+127)(PC)+A(中科院计算所)中科院计算所)502. 已知基址寄存器的内容为已知基址寄存器的内容为1000H,变址寄存器的内容为,变址寄存器的内容为03A0H,指,指令的地址码部分为令的地址码部分为3FH,当前正在执行的指令的地址为,当前正在执行的指令的地址为2B00H,则在,则在考虑基址的前提下,采用变址寻址方式,访存的有效地址为考虑基址的前提下,采用变址寻址方式,访存的有效地址为_;采用相对寻址方式,访存的有效地址为采用相对寻址方式,访存的有效地址为_。 (中科院计算所)中科院计算所)解:解: 考虑

72、基址,则考虑基址,则 变址寻址访存的有效地址为:变址寻址访存的有效地址为: EA=(X)+ A +(BR) = 03A0H+3FH+1000H= 13DFH 考虑基址,相对寻址访存的有效地址为:考虑基址,相对寻址访存的有效地址为: EA=(PC)+ A +(BR) = 2B00H+3FH+03A0H=2EDFH513. 某机存储字长某机存储字长16位,采用一地址指令格式的指令系统,允许直接、位,采用一地址指令格式的指令系统,允许直接、间接、变址、基址寻址,且变址寄存器均为间接、变址、基址寻址,且变址寄存器均为16位,试回答:位,试回答:(1) 若采用单字指令,其能完成若采用单字指令,其能完成1

73、08种操作,画出指令格式,并指出直种操作,画出指令格式,并指出直 接寻址和一次间接寻址的寻址范围各为多少?接寻址和一次间接寻址的寻址范围各为多少?(2)若采用双字指令,操作码和寻址方式不变,指令可直接寻址的范围若采用双字指令,操作码和寻址方式不变,指令可直接寻址的范围又是多少?画出指令格式。又是多少?画出指令格式。(3)若存储字长不变,可采用什么方法访问容量为若存储字长不变,可采用什么方法访问容量为8MB的主存的任一的主存的任一地址单元,说明理由。地址单元,说明理由。 (哈工大)(哈工大)解:解:(3) 采用双字长指令,用其直接寻址方式。采用双字长指令,用其直接寻址方式。 因为其主存字长因为其

74、主存字长16位,各寄存器都为位,各寄存器都为16位,故间接、基址、位,故间接、基址、变址都寻不到。变址都寻不到。 双字长指令形式地址双字长指令形式地址 23位,故可寻址到位,故可寻址到8MB的任一位置。的任一位置。 524. 某指令系统字长某指令系统字长12位,每个操作数的地址码长位,每个操作数的地址码长3位,使提出一种位,使提出一种分配方案,使该指令系统由有分配方案,使该指令系统由有4条三地址指令,条三地址指令,8条二地址指令,条二地址指令,180条单地址指令。条单地址指令。 (上海交大(上海交大)5.某计算机的指令系统字长某计算机的指令系统字长16位,采用扩展操作码,操作数地址需位,采用扩

75、展操作码,操作数地址需要要4位。该组指令已有三地址指令位。该组指令已有三地址指令M条,二地址指令条,二地址指令N条,没有零地条,没有零地址指令,问系统最多还有多少条一地址指令。址指令,问系统最多还有多少条一地址指令。 (东北大学)(东北大学)答案:答案: 212-M*28-N*246. 条件转移指令执行时所依据的条件来自条件转移指令执行时所依据的条件来自_ A. 指令寄存器指令寄存器 B. 标志寄存器标志寄存器 C. 程序计数器程序计数器 D. 地址寄存器地址寄存器答案:答案:B53小结:小结: 1. 熟记各种寻址方式及特点:有效地址熟记各种寻址方式及特点:有效地址EA,寻址范,寻址范围围 2

76、. 类型类型 指令扩展指令扩展 指令格式设计指令格式设计 指令格式分析指令格式分析54(三)(三)CISC和和RISC的基本概念的基本概念RISC(Reduced Instruction Set Computer)CISC(Complex Instruction Set Computer)1. RISC 的主要特征的主要特征 选用使用频度较高的一些选用使用频度较高的一些 简单指令简单指令,复杂指令的功能由简单指令来,复杂指令的功能由简单指令来 组合组合 指令指令 长度固定、指令格式种类少、寻址方式少长度固定、指令格式种类少、寻址方式少 只有只有 LOAD / STORE 指令访存指令访存 采用

77、采用 流水技术,流水技术, 一个时钟周期一个时钟周期 内完成一条指令内完成一条指令 采用采用 组合逻辑组合逻辑 实现控制器实现控制器 CPU 中有中有多个多个 通用通用 寄存器寄存器 采用采用 优化优化 的的 编译编译 程序程序 552. CISC 的主要特征的主要特征 系统指令系统指令 复杂庞大复杂庞大,各种指令使用频度相差大,各种指令使用频度相差大 指令指令 长度不固定、指令格式种类多、寻址方式多长度不固定、指令格式种类多、寻址方式多 访存访存 指令指令 不受限制不受限制 大大多数指令需要多数指令需要 多个时钟周期多个时钟周期 执行完毕执行完毕 采用采用 微程序微程序 控制器控制器 CPU

78、 中设有中设有 专用寄存器专用寄存器 难以难以 用用 优化编译优化编译 生成高效的目的代码生成高效的目的代码 563. RISC和和CISC 的比较的比较 1) RISC更能更能 充分利用充分利用 VLSI 芯片芯片的面积的面积2) RISC 更能更能 提高计算机运算速度提高计算机运算速度指令数、指令格式、寻址方式少指令数、指令格式、寻址方式少,通用通用 寄存器多寄存器多,采用,采用 组合逻辑组合逻辑 ,便于实现便于实现 指令流水指令流水3) RISC 便于设计便于设计,可,可 降低成本降低成本,提高,提高 可靠性可靠性4) RISC 有利于编译程序代码优化有利于编译程序代码优化 5) RISC 不易不易 实现实现 指令系统兼容指令系统兼容 57

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号