资源预览内容
第1页 / 共53页
第2页 / 共53页
第3页 / 共53页
第4页 / 共53页
第5页 / 共53页
第6页 / 共53页
第7页 / 共53页
第8页 / 共53页
第9页 / 共53页
第10页 / 共53页
亲,该文档总共53页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第四章 指令系统第四章 指令系统本章主要讨论本章主要讨论一般指令格式 常用寻址方式 面向用户指令类型一般指令格式 常用寻址方式 面向用户指令类型微指令按层次划分机器指令微指令按层次划分机器指令本章学习的重点宏指令本章学习的重点宏指令 指令系统指令系统一台计算机中所有指令的集合一台计算机中所有指令的集合4.1 指令系统的发展与性能指令系统的发展与性能指令系统的发展指令系统的发展50年代到60年代早期50年代到60年代早期电子管和晶体管电子管和晶体管 仅有十仅有十几到几十条定点加减逻辑运算几到几十条定点加减逻辑运算传送传送 转移指令转移指令 60年代中后期60年代中后期集成电路集成电路 一二百条一二百条乘除乘除浮点运算浮点运算字符串处理 系列机的兼容性字符串处理 系列机的兼容性 70年代末70年代末VLSIVLSI: : CISCCISC复杂指令系统复杂指令系统几百条指令 RICS几百条指令 RICS精简指令系统精简指令系统一百条左右一百条左右指令系统设计中的基本问题指令系统设计中的基本问题- 应该提供哪些(以及多少) 操作用LD/ST/INC/BRN 已经足够编制任何计算程 序但是并不实用这主要因为编出的程序太长!- 如何(以及多少) 操作数应该被指明大多数操作是双值运算(dyadic) (例如, A B + C)也有一些是单值运算(monadic) (例如, A B)- 如何将这些指令编码成一致的指令格式指令长度应该为基本数据地址宽度的倍数指令系统的性能指令系统的性能1 1完备性完备性满足程序编制的需要2满足程序编制的需要2高效性高效性存储空间小存储空间小执行速度快3执行速度快3规整形规整形对称性对称性均齐性均齐性指令和数据格式的一致性4指令和数据格式的一致性4兼容性兼容性机之间向上兼容系列机之间向上兼容指令系统体系结构指令系统体系结构Princeton (Von Neumann) 系 统结构系 统结构- 数据和指令存放在统一存储器 中数据和指令存放在统一存储器 中(“存储程序计算机存储程序计算机”- 程序程序当作当作数据数据- 存贮系统的利用存贮系统的利用- 单一的存储器接口单一的存储器接口Harvard 系统结构系统结构- 数据数据& 指令存放在不同的存储器中指令存放在不同的存储器中- 在某些高性能实现中具有优势在某些高性能实现中具有优势执行周期执行周期1)从程序存储系统中获得指令2)确定所需的动作和指令大小3)定位并获得操作数数据4)计算结果数值或状态5)在存储系统中存放结果1)从程序存储系统中获得指令2)确定所需的动作和指令大小3)定位并获得操作数数据4)计算结果数值或状态5)在存储系统中存放结果以备后用6)确定后续指令以备后用6)确定后续指令4.2 指令格式指令格式机器指令的基本组成机器指令的基本组成每一条指令必须包含要求每一条指令必须包含要求CPU完成某种任务的 相关信息完成某种任务的 相关信息这些信息包括这些信息包括操作码操作码Operation Code原操作数原操作数Source Operand Reference目的操作数目的操作数Result Operand Reference下条指令地址下条指令地址Next Instruction Reference指令基本格式指令基本格式操作码字段操作码字段Op地址码字段A地址码字段A一个一个或几个一个一个或几个 操作码操作码1) 位数确定位数确定指令字指令字.等长格式等长格式.变长格式变长格式2) 方式方式长度固定方式长度固定方式不固定方式不固定方式操作码采用方式码编码操作码采用方式码编码操作码分为几部分操作码分为几部分每部分表示一种操作每部分表示一种操作例.某机算逻指令例.某机算逻指令0 1 2 3 4 5 6 7 8 15 基本操作 进位 移位 回送 判跳 操作数基本操作 进位 移位 回送 判跳 操作数地址码按操作数物理位置来分类地址码按操作数物理位置来分类1) 存储器存储器存储器存储器SS型指令型指令2) 寄存器寄存器寄存器寄存器RR型指令型指令3) 寄存器寄存器存储器存储器RS型指令型指令指令中提供的地址数指令中提供的地址数存储单元地址码 寄存器编号存储单元地址码 寄存器编号地址码的确定地址码的确定1) 指令地址指令地址由程序计数器由程序计数器PC规定规定2) 数据地址数据地址由指令规定由指令规定指令提供地址的方式指令提供地址的方式显地址方式隐地址方式显地址方式隐地址方式:指令中明显指明地址指令中明显指明地址:地址隐含约定地址隐含约定,不出现在指令中不出现在指令中直接或间接给出直接或间接给出使用使用隐地址隐地址可以减少指令中的地址数可以减少指令中的地址数简化 地址结构简化 地址结构地址码按操作数来分类地址码按操作数来分类1) 零地址指令格式零地址指令格式: OP2) 一地址指令格式一地址指令格式OP(A1)A1或或(AC)OP(A) AC3) 二地址指令格式二地址指令格式(A1)OP(A2)A1或或(A1)OP(A2)A24) 三地址指令格式三地址指令格式(A1)OP(A2)A35) 多地址指令格式多地址指令格式操作数 地址操作数 地址(1)四地址结构指令(1)四地址结构指令格式格式Op A1 A2 A3 A4Op A1 A2 A3 A4结果 地址下条指 令地址结果 地址下条指 令地址 功能功能(A1)Op(A2) A3 (A4) (A1)Op(A2) A3 (A4) 下条指令下条指令 用指令计数器用指令计数器PCPC指示指令地址指示指令地址(2)三地址结构指令(2)三地址结构指令格式格式操作数 地址操作数 地址OpA1 A2 A3 OpA1 A2 A3 结果 地址下条指令地址结果 地址下条指令地址功能功能转移时转移时用转移 地址修改PC内容用转移 地址修改PC内容(A1)Op(A2) A3 (PC) + 1 PC(A1)Op(A2) A3 (PC) + 1 PC源源/目的目的(3)二地址结构指令(3)二地址结构指令格式格式OpA1 A2 OpA1 A2 目的目的/源源功能功能(A1)Op(A2) A2/A1 (PC) + 1 PC(A1)Op(A2) A2/A1 (PC) + 1 PC双操作数双操作数(4)一地址结构指令(4)一地址结构指令格式格式OpA1 OpA1 隐含约定隐含约定单操作数单操作数功能功能(A1)Op(AC) AC (PC) + 1 PC(A1)Op(AC) AC (PC) + 1 PCOp(A1) A1 (PC) + 1 PCOp(A1) A1 (PC) + 1 PC(5)零地址结构指令(5)零地址结构指令格式格式OpOp功能功能用于堆栈用于堆栈 (SP)Op(SP)+1) (SP)+1 (SP)+1 SP(SP)Op(SP)+1) (SP)+1 (SP)+1 SP例.ADD例.ADD执行前执行前低低SPSP10 2010 20 4646SPSP3030 4646执行后执行后高高低高低高4.2.2 指令字长度和扩展方法指令字长度和扩展方法1指令字长度指令字长度指令中二进制码的位数指令中二进制码的位数由操作码由操作码操作数地址长度操作数地址长度操作数的个数决定一般是字节长度的操作数的个数决定一般是字节长度的1248倍倍短短格式指令格式指令指令字长指令字长小小于机器的字长于机器的字长长长格式指令格式指令指令字长指令字长大大于机器的字长等长指令结构于机器的字长等长指令结构便于控制便于控制变长指令结构变长指令结构合理利用存储空间合理利用存储空间2指令操作码扩展方法指令操作码扩展方法1定长操作码定长操作码各指令的位置各指令的位置位数固定相同位数固定相同2 2扩展操作码扩展操作码各指令的位置各指令的位置位数不固定位数不固定根据需要变化根据需要变化关键在设置扩展标志关键在设置扩展标志例例. 指令字长指令字长16位位可含有3可含有32 21或0 个地址1或0 个地址每个地址占4位每个地址占4位 操作码地址码操作码地址码 15 12 11 8 7 4 3 00000 0000 XY ZXY Z1110 1110 X Y ZX Y Z.11111111 0000 0000 Y Z Y Z 1111 1111 1110 1110 Y ZY Z.三地址指令15条二地址指令15条三地址指令15条二地址指令15条1111 11111111 1111 0000 0000 Z Z 1111 11111111 1111 1110 1110 Z Z.一地址指令15条一地址指令15条1111 1111 11111111 1111 1111 0000 0000 1111 1111 11111111 1111 1111 11111111.零地址指令16条零地址指令16条4.3 寻址方式寻址方式1指令寻址方式指令寻址方式 2操作数寻址方式操作数寻址方式4.3.1 指令寻址方式指令寻址方式1 1顺序寻址方式主存储器顺序寻址方式主存储器 指令地址指令内容指令地址指令内容 10 LDA 100 11 SUB 102 12 STA 104 13 JMP 16 14 LDA 110 15 ADD 112 16 INC 17 STA 200 11+1PC2 2跳跃寻址方式主存储器跳跃寻址方式主存储器 指令地址指令内容指令地址指令内容 13 JMP 16 14 LDA 110 15 ADD 112 16 INC 17 STA 200 13PC4.3.2 操作数寻址方式4.3.2 操作数寻址方式寻址方式寻址方式又称编址方式又称编址方式指的是确定本条指令 的数据地址及下一条要执行的指令地址的方法指的是确定本条指令 的数据地址及下一条要执行的指令地址的方法不同的计算机有不同的寻址方式不同的计算机有不同的寻址方式但其基本原理 是相同的但其基本原理 是相同的有的计算机寻址种类较少有的计算机寻址种类较少因此在指令的 操作码中表示出寻址方式因此在指令的 操作码中表示出寻址方式而有的计算机采用多种寻 址方式而有的计算机采用多种寻 址方式此时在指令中专设一个字段此时在指令中专设一个字段表示一个操作 数的来源或去向表示一个操作 数的来源或去向指令字指令字OPMAM为寻址方式字段M为寻址方式字段M的 不同值代表了不同的寻 址方式M的 不同值代表了不同的寻 址方式例如M为3位二 进制码例如M为3位二 进制码则可表示 8种 寻址方式则可表示 8种 寻址方式具体的地址码则由A来表示具体的地址码则由A来表示1隐含寻址 方式隐含寻址 方式指令字中并不明显指出操作书地址例指令字中并不明显指出操作书地址例单地址指令单地址指令常以累加器常以累加器AC为被操作数明显指出的是第一个操作数的地址为
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号