第20讲——第7章 指令系统(73-75)_第1页
第20讲——第7章 指令系统(73-75)_第2页
第20讲——第7章 指令系统(73-75)_第3页
第20讲——第7章 指令系统(73-75)_第4页
第20讲——第7章 指令系统(73-75)_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机组成原理(yunl)第20讲第7章 指令系统(7.3-7.5)主讲人:李淑芝共四十七页第七章 指 令 系 统7.1 机器指令 7.2 操作数类型和操作类型 7.3 寻址方式 7.4 指令格式举例 7.5 RISC 技术 本课学习(xux)共四十七页教学(jio xu)目标:让学生熟悉并掌握数据寻址方式,了解一般指令格式的设计方法;对RISC有个初步的认识,掌握RISC的主要特征和优点。重点:各种数据寻址方式中数据有效地址EA的计算、设计指令格式应考虑的各种因素;RISC的主要特征和与CISC比较的优点。难点:“混合型”数据寻址方式中数据有效地址EA的计算问题。 教学要求共四十七页复习(f

2、x)旧课数据(shj)存放在存储器中,系统怎么样将存储器中的数据(shj)取到运算器中进行定点或浮点运算?运算结果又怎样保存呢? 共四十七页引入新课构成程序的指令本质上是怎样的软件成份?它们如何与硬件(yn jin)配合? 共四十七页7.3 寻 址 方 式寻址方式(fngsh) 确定 本条(bn tio)指令 的 操作数地址及下一条 欲执行 指令 的 指令地址指令寻址数据寻址寻址方式共四十七页7.3.1 指令(zhlng)寻址顺序(shnx)( PC ) + 1 PC跳跃由转移指令指出LDA 1000ADD 1001DEC 1200JMP 7LDA 2000SUB 2001INCSTA 250

3、0LDA 1100.0123456789PC+1指令地址寻址方式指令地址指令顺序寻址1顺序寻址2顺序寻址3跳跃寻址7顺序寻址87.3 寻 址 方 式共四十七页7.3.2 数据(shj)寻址 形式(xngsh)地址 指令字中的地址 有效地址 操作数的真实地址 约定 指令字长 = 存储字长 = 机器字长(1)立即寻址 指令执行阶段不访存 A 的位数限制了立即数的范围形式地址 A操作码寻址特征OP # A立即寻址特征立即数 可正可负 补码形式地址 A 就是操作数7.3 寻 址 方 式共四十七页(2)直接(zhji)寻址EA = A操作数主存寻址特征(tzhng)LDAAAACC 执行阶段访问一次存储

4、器 A 的位数决定了该指令操作数的寻址范围 操作数的地址不易修改(必须修改A)有效地址由形式地址直接给出7.3.2 数据寻址 7.3 寻 址 方 式共四十七页(3)隐含(yn hn)寻址操作数地址(dzh)隐含在操作码中ADDA操作数主存寻址特征AACC暂存ALU另一个操作数隐含在 ACC 中如 8086MUL 指令被乘数隐含在 AX(16位)或 AL(8位)中MOVS 指令源操作数的地址隐含在 SI 中目的操作数的地址隐含在 DI 中 指令字中少了一个地址字段,可缩短指令字长共四十七页(4)间接(jin ji)寻址EA =(A)有效地址由形式地址间接(jin ji)提供OPA寻址特征AEA主

5、存EAA1EA A1主存 EA10 执行指令阶段 2 次访存 可扩大寻址范围 便于编制程序OPA寻址特征A一次间址多次间址操作数操作数多次访存共四十七页 子程序主程序8081201202转 子程序转 子程序间接(jin ji)寻址编程举例(A) = 81(A) = 202 间址特征(tzhng)JMP A 共四十七页(5)寄存器寻址EA = Ri 执行(zhxng)阶段不访存,只访问寄存器,执行(zhxng)速度快OPRi寻址特征(tzhng) 寄存器个数有限,可缩短指令字长操作数R0RiRn寄存器有效地址即为寄存器编号共四十七页EA = ( Ri )(6)寄存器间接(jin ji)寻址 有效

6、地址(dzh)在寄存器中, 操作数在存储器中,执行阶段访存操作数主存OPRi寻址特征 便于编制循环程序地址R0RiRn寄存器有效地址在寄存器中问题2:间接寻址和寄存器间接寻址有什么异同?共四十七页(7)基址(j zh)寻址采用(ciyng)专用寄存器作基址寄存器EA = ( BR ) + ABR 为基址寄存器OPA操作数主存寻址特征ALUBR 可扩大寻址范围 便于程序搬家 BR 内容由操作系统或管理程序确定 在程序的执行过程中 BR 内容不变,形式地址 A 可变共四十七页采用(ciyng)通用寄存器作基址寄存器操作数主存寻址特征(tzhng)ALUOPR0AR0 作基址寄存器 由用户指定哪个通

7、用寄存器作为基址寄存器通用寄存器R0Rn-1R1 基址寄存器的内容由操作系统确定 在程序的执行过程中 R0 内容不变,形式地址 A 可变(7)基址寻址共四十七页(8)变址寻址EA = ( IX ) +AOPA操作数主存寻址特征(tzhng)ALUIX 可扩大(kud)寻址范围 便于处理数组问题 IX 的内容由用户给定 IX 为变址寄存器(专用) 在程序的执行过程中 IX 内容可变,形式地址 A 不变通用寄存器也可以作为变址寄存器问题3:基址寻址和变址寻址有什么本质区别?共四十七页例 设数据(shj)块首地址为 D,求 N 个数的平均值直接(zhji)寻址变址寻址LDA DADD D + 1AD

8、D D + 2ADD D + ( N -1 )DIV # NSTA ANSLDA # 0LDX # 0INXCPX # NBNE MDIV # NSTA ANS共 N + 2 条指令共 8 条指令ADD X, DMX 为变址寄存器D 为形式地址(X) 和 #N 比较(X) +1 X结果不为零则转共四十七页(9)相对(xingdu)寻址 EA = ( PC ) + AA 是相对于当前指令的位移(wiy)量(可正可负,补码) A 的位数决定操作数的寻址范围 程序浮动 广泛用于转移指令操作数寻址特征ALUOPA相对距离 A1000PC主存1000AOP共四十七页 相对(xingdu)寻址举例M 随程

9、序所在存储空间的位置(wi zhi)不同而不同EA = ( M+3 ) 3 = M 3*LDA # 0LDX # 0ADD X, DINXCPX # NBNE MDIV # NSTA ANSMM+1M+2M+3而指令 BNE 与 指令 ADD X, D 相对位移量不变 3* 指令 BNE操作数的有效地址为 3* 相对寻址特征*共四十七页OP位移量2000 H2008 H8JMP * + 8OP06 H2000 H2008 H8设 当前指令(zhlng)地址 PC = 2000H转移后的目的(md)地址为 2008H因为 取出 JMP * + 8 后 PC = 2002H二字节指令故 JMP *

10、 + 8 指令 的第二字节为 2008H - 2002H = 6H按字节寻址的相对寻址举例共四十七页例7.2 设相对寻址的转移指令占3个字节,第一字节为操作码,第二、三字节为相对位移量(补码表示),而且数据在存储器中采用以低字节地址为字地址的存放方式。每当CPU从存储器取出一个(y )字节时,即自动完成(PC)+1-PC。 (1)若PC当前值为240(十进制),要求转移到290(十进制),则转移指令的第二、三字节的机器代码是什么? (2)若PC当前值为240(十进制),要求转移到200(十进制),则转移指令的第二、三字节的机器代码是什么?解:(1)PC当前值为240,该指令取出后PC值为243

11、,要求转移到290,即相对位移量为290-243=47,转换成补码为2FH。由于数据在存储器中采用以低字节地址(dzh)为字地址(dzh)的存放方式,故该转移指令的第二字节为2FH,第三字节为00H。 (2)PC当前值为240,该指令取出后PC值为243,要求转移到200,即相对位移量为200-243=-43,转换成补码为D5H。由于数据在存储器中采用以低字节地址为字地址的存放方式,故该转移指令的第二字节为D5H,第三字节为FFH。 共四十七页全国硕士(shush)研究生入学考试题:某机器字长16位,主存按字节编址,转移指令采用相对寻址,由两个字节组成,第一字节为操作码字段,第二字节为相对位移

12、量字段。假定取指令时,每取一个字节PC自动加1。若某转移指令所在(suzi)主存地址为2000H,相对位移量字段的内容为06H,则该转移指令成功转以后的目标地址是:A.2006H B.2007H C.2008H D.2009H答案:C共四十七页(10)堆栈(duzhn)寻址堆栈(duzhn)的特点堆栈硬堆栈软堆栈多个寄存器指定的存储空间先进后出(一个入出口)栈顶地址 由 SP 指出 11FFFH +12000 H进栈 (SP) 1 SP出栈 (SP)+ 1 SP栈顶栈底2000 HSP2000 H1FFF HSP1FFFH栈顶栈底进栈出栈 1FFF H栈顶 2000 H栈顶也称串联堆栈也称存储

13、器堆栈问题4:存储器堆栈与硬堆栈比有什么优缺点? 共四十七页堆栈(duzhn)寻址举例15200HACCSPX栈顶200H栈底主存151FFHACCSP15栈顶200H栈底主存X1FFHPUSH A 前PUSH A 后POP A 前POP A 后Y1FFHACCSPX栈顶200H栈底主存151FFH15200HACCSP栈顶200H栈底主存X15共四十七页SP 的修改(xigi)与主存编址方法有关 按 字 编址进栈出栈(SP) 1 SP(SP)+ 1 SP 按 字节(z ji) 编址存储字长 16 位进栈出栈(SP) 2 SP(SP)+ 2 SP存储字长 32 位进栈出栈(SP) 4 SP(S

14、P)+ 4 SP共四十七页例7.3 一条双字长直接寻址的子程序调用指令,其第一个字为操作码和寻址特征,第二个字为地址码5000H。假设PC当前值为2000H,SP的内容为0100H,栈顶内容为2746H,存储器按字节编址,而且进栈操作是先执行(SP)- -SP,后存入数据。试回答下列几种(j zhn)情况下,PC、SP及栈顶内容各为多少? (1)CALL指令被读取前。 (2)CALL指令被执行后。 (3)子程序返回后。解:(1)CALL指令(zhlng)被读取前,PC=2000H,SP=0100H,栈顶内容为2746H。 (2) CALL指令被执行后,由于存储器按字节编址,CALL指令共占4个

15、字节,故程序断点2004H进栈,此时SP=(SP)-2=00FEH,栈顶内容为2004H,PC被更新为子程序入口地址5000H。 (3)子程序返回后,程序断点出栈,PC=2004H,SP被修改为0100H,栈顶内容为2746H。 共四十七页7.4 指令(zhlng)格式举例7.4.1 设计指令(zhlng)格式时应考虑的各种因素(1)指令系统的兼容性(向上兼容)(2)其他因素操作类型数据类型指令格式包括指令个数及操作的难易程度指令字长、操作码位数寻址方式寄存器个数地址码位数、地址个数寻址方式、是否采用扩展操作码确定哪些数据类型可参与操作 指令寻址、操作数寻址 寄存器的多少影响指令的执行时间 共

16、四十七页7.4.2 指令格式(g shi)举例(1)PDP 8指令(zhlng)字长固定 12 位操作码 间 页 地址码访存类指令0235411寄存器类指令 1 1 1 辅助操作码02311I/O 类指令 1 1 0 设备 操作码02311987.4 指令格式举例共四十七页(2)PDP 11源地址OP4 6 6 16 16目的地址存储器地址1存储器地址2OP10 6 16目的地址存储器地址目的地址4 6 6源地址OP 10 6目的地址OP CODE16OP CODE指令(zhlng)字长有 16 位、32 位、48 位三种零地址(dzh) (16 位)一地址 (16 位)二地址 R R (16

17、 位)二地址 R M (32 位)二地址 M M (48 位)扩展操作码技术共四十七页(3)IBM 360OPR1R2 RR格式8 4 4OPR1XBD RX格式8 4 4 4 12OPR1R3BD RS格式8 4 4 4 12OPBDI SI格式8 8 4 12OPB1D1LB2D2 SS格式8 8 4 12 4 12二地址 R R基址加变址寻址二地址 R M三地址 R M基址寻址二地址 M M基址寻址基址寻址立即数 M共四十七页(4)Intel 8086指令(zhlng)字长地址(dzh)格式1 6 个字节MOV WORD PTR0204, 0138H 6 字节INC AX 1 字节一地址

18、NOP 1 字节CALL段内调用 3 字节零地址 5 字节段间调用寄存器 寄存器寄存器 立即数寄存器 存储器ADD AX,BX 2 字节ADD AX,3048H 4 字节ADD AX,3048H 3 字节二地址CALL共四十七页7.5 RISC 技 术 7.5.1 RISC 的产生(chnshng)和发展 80 20 规律(gul) 典型程序中 80% 的语句仅仅使 用处理机中 20% 的指令 执行频度高的简单指令,因复杂指令 的存在,执行速度无法提高RISC(Reduced Instruction Set Computer)CISC(Complex Instruction Set Compu

19、ter) RISC技术 能否用 20% 的简单指令组合不常用的 80% 的指令功能?共四十七页7.5.2 RISC 的主要(zhyo)特征 选用使用频率(pnl)较高的一些 简单指令 复杂指令的功能由简单指令来组合 指令 长度固定 只有 LOAD / STORE 指令访存 流水技术 一个时钟周期 内完成一条指令 组合逻辑 实现控制器 多个 通用 寄存器 采用 优化 的 编译 程序 7.5 RISC 技 术 共四十七页7.5.3 RISC 和CISC的比较(bjio) 与CISC机相比,RISC机的主要优点可归纳如下: 充分利用VLSI芯片的面积。 提高(t go)计算机运算速度。 便于设计,可

20、降低成本,提高可靠性。 有效支持高级语言程序。 7.5 RISC 技 术 共四十七页7.5.3 RISC 和CISC的比较(bjio) 7.5 RISC 技 术 RISC机能提高运算速度主要反映在以下5个方面:RISC机的指令数、指令格式和寻址方式(fngsh)种类较少,而且指令的编码很有规律,因此RISC的指令译码比CISC的指令译码快。RISC机内通用寄存器多,减少了访存次数,可加快运行速度。RISC机采用寄存器窗口重叠技术。RISC机采用组合逻辑控制,比采用微程序控制的CISC机的延迟小,缩短了CPU的周期。RISC机选用精简指令系统,适合于流水线工作。共四十七页课堂(ktng)练习题:

21、1. 在指令(zhlng)的地址字段中,直接指出操作数本 身的寻址方式,称为_。 A. 隐含寻址 B. 立即寻址 C. 寄存器寻址 D. 直接寻址 答案:B 2. 设变址寄存器为X,形式地址为D,(X) 表示寄存器X的内容,这种寻址方式的有 效地址为_。 A. EA=(X)+D B. EA=(X)+(D) C.EA=(X)+D) D. EA=(X)+(D) 答案:A共四十七页3. 堆栈寻址方式中,设A为累加器,SP为堆 栈指示器,MSP为SP指示的栈顶单元。如 果进栈操作的动作顺序是(A)MSP, (SP)-1SP。那么(n me)出栈操作的动作顺序应 为_。 A.(MSP)A,(SP)+1S

22、P B.(SP)+1SP,(MSP)A C.(SP-1)SP,(MSP)A D.(MSP)A, (SP)-1SP 答案:B课堂(ktng)练习题:共四十七页4.某机指令格式如图所示:图中X为寻址特征位,且X=0时,不变址;X=1时,用变址寄存器X1进行变址;X=2时,用变址寄存器X2进行变址;X=3时,相对寻址。设(PC)=1234H,(X1)=0037H, (X2)=1122H,请确定下列(xili)指令的有效地址(均用十六进制表示,H表示十六进制)(1)4420H (2)2244H (3)1322H (4)3521H (5)6723H答案: (1)0020H (2)1166H (3)125

23、6H (4)0058H (5)1257H 课堂(ktng)练习题:共四十七页5. RISC机器一定是A._CPU,但后者 不一定是RISC机器,奔腾机属于B._ 机器。 答案:A.流水 B.CISC 6. 寄存器间接寻址方式中,操作数处在_。 A.通用寄存器 B.程序计数器 C.堆栈(duzhn) D.主存单元 答案:D课堂(ktng)练习题:共四十七页7.指令格式如下所示,其中OP为操作码,试分析指令格式特点(tdin):解:(1)操作数字段OP可以指定64种基本操作(2)单字长(16位)= 地址指令(3)源寄存器和目标寄存器都是通用寄存器(各指定16个),所以是RR型指令,两个操作数均在通用寄存器中(4)这种指令结构常用于算术/逻辑运算类运算指令,执行速度最快课堂(ktng)练习题:共四十七页8. 下面描述RISC机器基本概念中,正确的表 述是_。 A.RISC机器不一定是流水(lishu)CPU B.RISC机器一定是流水CPU C.RISC机器有复杂的指令系统 D.其CPU配备很少的通用寄存器 答案:B9. 堆栈是一种特殊的数据寻址方式,它采用 A._原理。按结构不同,分为B._堆栈 和C._堆栈。 答案:A.先进后出 B.寄存器 C.存储器课堂(ktng)练习题:共四十七页10.指令格式如下所示,其中(

温馨提示

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

评论

0/150

提交评论