![计算机组成与结构课件 第3章 寻址方式与指令系统_第1页](http://file4.renrendoc.com/view15/M00/2D/09/wKhkGWeOyi6AYxxHAAF83AbybZE768.jpg)
![计算机组成与结构课件 第3章 寻址方式与指令系统_第2页](http://file4.renrendoc.com/view15/M00/2D/09/wKhkGWeOyi6AYxxHAAF83AbybZE7682.jpg)
![计算机组成与结构课件 第3章 寻址方式与指令系统_第3页](http://file4.renrendoc.com/view15/M00/2D/09/wKhkGWeOyi6AYxxHAAF83AbybZE7683.jpg)
![计算机组成与结构课件 第3章 寻址方式与指令系统_第4页](http://file4.renrendoc.com/view15/M00/2D/09/wKhkGWeOyi6AYxxHAAF83AbybZE7684.jpg)
![计算机组成与结构课件 第3章 寻址方式与指令系统_第5页](http://file4.renrendoc.com/view15/M00/2D/09/wKhkGWeOyi6AYxxHAAF83AbybZE7685.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章寻址方式与指令系统第3章寻址方式与指令系统主要内容:3.1指令格式与指令系统设计3.2寻址方式3.3指令类型3.4CISC与RISC3.1指令格式与指令系统设计
3.1.1指令格式3.1.2指令字长
3.1.3指令的地址码
3.1.4指令的操作码3.1.5指令系统设计3.1.1机器指令格式指令:是指计算机执行某种操作的命令。指令系统:一台计算机所能执行的各种指令的总和。指令基本格式如下图:操作码说明操作的性质及功能地址码描述指令的操作对象,由地址码可以给出操作数或操作数的地址,及操作结果的存放地址OPAddr操作码字段θ地址码字段D3.1.1机器指令格式1.操作码:指示操作的类型,即要求计算机执行的操作,如加、减、乘、除等。2.操作数或操作数地址:指令中应给出参与运算的数据或指出这些数据的存放位置3.存放运算结果的地址:运算完成后所得结果的存放位置。4.后继指令地址:在一个由指令序列构成的程序中,执行完一条指令后,需要指出下一条要执行指令的存放位置。在一条指令中应包含一个操作码和一个或多个地址码。操作码θ操作数1地址操作数2地址运算结果地址后继指令地址3.1.2指令字长指令字长是指一个指令所包含的二进制代码的位数。指令长度=操作码的长度+地址码的长度
1.变字长指令优点:指令字长因功能而异,结构灵活,合理利用存储空间,广泛被复杂指令系统CISC采用缺点:控制复杂2.定字长指令特点:所有指令字长度均相同,且不变。优点:指令执行速度快,结构简单,便于控制,广泛被精简指令系统RISC使用思考:CPU怎么知道这条指令有多少字节?3.1.3指令的地址码指令中的地址:共4个两个操作数的地址、运行结果的地址、后继指令地址指令提供地址的方式:显地址方式:指令中明显指明地址。隐地址方式:地址隐含约定,不出现在指令中。直接或间接给出思考:1.操作数隐含约定在哪?2.为什么要隐含约定?
使用隐地址可以减少指令中的地址数,简化地址结构。
寄存器、堆栈。3.1.3指令的地址码1.三地址指令格式指令功能:(A1)OP(A2)→A3 (PC)+
1→PC【例】“加”操作(X)+(Y)→Z,使用三地址指令时,可使用下面指令:ADDX,Y,Z;OPA1操作码操作数1地址A2A3操作数2地址结果存放地址隐含后继指令地址3.1.3指令的地址码2.二地址指令格式指令功能:(A1)OP(A2)→A1 (PC)+1→PC 【例】“加”操作(X)+(Y)→Z,使用二地址指令时,可使用下面指令:ADDX,Y;MOVZ,X;OPA1操作码目的操作数地址A2源操作数地址隐含后继指令地址和运算结果地址3.1.3指令的地址码3.一地址指令格式(1)只有目的操作数的单操作数指令指令功能:OP(A)→A (PC)+1→PC(2)隐含约定目的地址的双操作数指令指令功能:(A)OP(AC)→AC (PC)+1→PCOPA操作码地址码隐含后继指令地址和、源操作数地址和运算结果地址3.1.3指令的地址码4.零地址指令格式(1)不需要操作数的指令 例如:停机指令和空操作指令。(2)单操作数指令 隐含约定操作数在累加器AC中。指令功能:OP(AC)→AC(3)双操作数指令 操作数事先存放在堆栈中,由堆栈指针SP隐含指出。
例如:push表示(AC)→SP,而pop表示(SP)→ACOP操作码
3.1.4指令的操作码1.定长操作码,变长指令码操作码的长度及位置固定,放在指令字的第一个字段中,其余字段均为地址码常用于指令字较长,或是采用可变长指令格式的情况2.变长操作码、定长指令码操作码长度不定(可扩展),但指令字长固定3.单功能型或复合型操作码前者只表示一种操作,优点是能快速识别并执行。后者可表示多种操作例3-1设某机器指令长度为16位,包括1个操作码字段和3个地址码字段,每个字段长度均为4位。现在要求扩展为15条三地址指令、15条二地址指令、15条一地址指令及16条零地址指令。试给出扩展操作码的方案。该指令格式如下:OPA1操作码字段地址码字段A2A3地址码字段地址码字展方案的示意图OPA1A2A3151211874300000……1110A2……A2A1……A1A1A3……A31111……11110000……11101111……1111A1A3……A31111……1111A2……A20000……1110A1A3……A31111……11111111……11111111……1111A10000……111115条三地址指令15条二地址指令15条一地址指令16条零地址指令3.1.5指令系统的设计
1.指令系统的设计原则(1)完备性:功能完善(2)正交性:不同含义的字段在编时互相独立,互不相干(3)有效性:占空间少,执行速度快 (4)规整性:格式一致、整齐,便于存取和处理(5)兼容性(6)可扩展性
2.指令系统的设计步骤(1)根据应用,初拟出指令的分类和具体的指令;(2)试编出用该指令系统设计的各种高级语言的编译程序;(3)各种算法编写大量测试程序进行模拟测试,看指令系统的操作码和寻址方式效能是否比较高。(4)将程序中高频出现的指令串复合改成一条强功能新指令,即改用硬件方式实现;而将频度很低的指令的操作改成用基本的指令组成的指令串来完成,即用软件方式实现。3.2.1指令的寻址方式所谓寻址方式就是寻找指令或操作数的有效地址的方法或途径。从硬件角度,它决定了硬件结构的设计;从软件角度,它决定了编译系统和汇编程序的设计方法。1.顺序寻址方式指令寻址——找出下一条将要执行的指令在存储器中的地址。
存储器指令n……指令n+1指令n+2……指令n+m……指令寄存器PC+1nn+12.跳跃寻址方式 该方式可以实现程序转移或构成循环程序,从而能缩短程序长度,或将某些程序作为公共程序引用。存储器指令n……转移地址(m)指令n+1……指令m指令寄存器PC+1nm3.2.2操作数的寻址方式1.立即寻址2.存储器直接寻址3.寄存器直接寻址
4.存储器间接寻址5.寄存器间接寻址6.变址寻址7.基址寻址8.相对寻址9.页面寻址10.堆栈寻址操作数寻址方式概述操作数可能存放的位置(1)直接包含在指令中,指令中给出操作数的值(2)在CPU的某个寄存器中,指令中给出寄存器号(3)在某主存单元中,指令中给出主存单元地址码(4)在堆栈中,由栈顶指针SP提供地址(隐)(5)在某个I/O接口的寄存器中几个概念形式地址:表示指令中的地址码不能直接用来访问主存。有效地址:对形式地址进行一定计算后得到的存放操作数的内存实际地址。1.立即寻址OP立即数……M操作码θ立即数S在指令中直接给出操作数。定长格式:变长格式:基本指令
立即数S主要用来提供常数、设置初值等。操作数在指令中,其长度固定、有限。操作数在基本指令之后,其长度可变。2.存储器直接寻址(直接寻址)OPEA……M操作数主存…………EA在指令中直接给出操作数的主存地址。操作数地址操作数M优点:较为简单,无需作寻址计算。操作码θ主存地址A
格式操作数S=(EA)例3-2设指令中的地址码EA为2001H,主存部份地址及相应存储内容关系如下表所示:地址存储内容2000H3BA0H2001H1200H2002H2A01H请问,如果按直接寻址,则所读取的操作是什么?1200H3.寄存器直接寻址(寄存器寻址)OPRx……寻址方式字段操作数Rx优点:可以有效缩短指令长度;指令的运行速度快;由指令给出操作数的寄存器号。操作码θ寄存器号R格式寄存器号操作数R操作数S=(R)例3-3设指令中所给的寄存器号为001,CPU各寄存器的内容如下表所示:寄存器号存储内容R02101HR12A01HR23BA0HR31200H请问,如果按寄存器寻址,则所读取的操作是什么?2A01H4.存储器间接寻址(间接寻址)在指令中给出操作数内存地址的内存地址。
OPA……MEA主存…………A操作数……EA优点:较为灵活,便于编程;可用较短的地址码来访问较大的存储空间。缺点:指令执行的速度较慢格式操作码θ间接地址AEA=(A),操作数S=((A))间址单元地址操作数地址MM操作数例3-4设指令中的地址码EA为2001H,主存部份地址及相应存储内容关系如下表所示:地址存储内容2000H3BA0H2001H2003H2002H2A01H2003H1200H请问,如果按间接寻址,则所读取的操作是什么?1200H5.寄存器间接寻址OPRx……M主存…………Rx操作数……EAEA在指令中给出操作数内存地址的寄存器号。
格式操作码θ间接地址RxEA=(R),操作数S=((R))寄存器号操作数地址RM操作数例3-5寄存器号寄存内容主存地址存储内容R02101H2000H3BA0HR12002H2001H2002HR23BA0H2002H2A01HR31200H2003H1200H请问,如果按寄存器间接寻址,则所读取的操作是什么?2A01H设指令中所给的寄存器号为001,CPU各寄存器及相关主存单元的内容如下表所示:寄存器号操作数地址RM操作数R内容加1(1)自增型寄存器间址(2)自减型寄存器间址操作数S=-(R)寄存器号R内容先减1,减后的结果为操作数地址RM操作数操作数S=(R)+两种特殊的寄存器间接寻址6.变址寻址OPD……M主存…………Rx操作数……EA变址值Rx+EA=(Rx)+D格式操作码θRXD变址量(可变)形式地址(不变)指令给出寄存器号和形式地址,寄存器内容(变址量)与形式地址之和为有效地址。面向用户,用于字符串、数组等操作,D为首地址。例3-6设指令中所给的寄存器号为001,形式地址为2000H,各寄存器及相关主存单元的存储内容所下表所示:寄存器号寄存内容主存地址存储内容R02101H2000H3BA0HR10002H2001H2002HR23BA0H2002H2A01HR31200H2003H1200H请问,如果按变址寻址,则所读出的操作数是什么?2A01H7.基址寻址OPD……M主存…………Rb操作数……EA基址值Rb+格式基址寄存器号指令给出一个寄存器号和一个形式地址(也称位移量),寄存器内容与位移量之和为有效地址。操作码θRb
D位移量EA=(Rb)+D基准地址(可变)位移量(不变)面向系统,解决程序在主存中的重定位问题。实例演示设指令中所给的寄存器号为001,形式地址为0010H,各寄存器及相关主存单元的存储内容所下表所示:寄存器号寄存内容主存地址存储内容R02101H2000H3BA0HR12000H…………R23BA0H2010H2A01HR31200H…………请问,如果按基址寻址,则所读出的操作数是什么?2A01H8.相对寻址(基址寻址的特例)OPD……M主存现行指令……PC操作数……EA现行指令地址A+……A格式指令给出位移量,程序计数器PC内容与位移量之和为有效地址。位移量操作码θPC
D或隐含指定EA=(PC)+DD的取值可为正负,因此有效地址就相对当前指令位置上下浮动,给编程带来方便。9.页面寻址格式指令给出位移量D,PC的高位部分与D拼接,形成有效地址。位移量操作码θPC
D或隐含指定操作数S=((PC)H,D)例.M为64KB,划分为256页,每页256B。页号页内地址PC0165H7C.........017CHS页面寻址指令位移量例3-7假设主存空间分页存储,PC高字节代表页号,某指令的形式地址为10H,各寄存器及相关主存单元的存储内容所下表所示:寄存器号寄存内容主存地址存储内容PC2004H2000H3BA0HR12000H…………R23BA0H2010H2A01HR31200H…………请问,如果按页面寻址,则所读出的操作数是什么?2A01H10.堆栈寻址入栈:SP=SP-1出栈:SP=SP+13.3指令类型3.3.1数据传送类指令3.3.2输入/输出指令3.3.3算术运算指令3.3.4逻辑运算指令3.3.5移位操作指令(略)3.3.6程序控制指令3.3.7串操作类指令(略)3.3.8其他指令(略)设计时的考虑因素:(1)规定传送范围例.DJS-100系列:80X86:IBM370:RMRM,RRRM,RR,MM解释:传送就是复制.主存中数据复制,还可以被多次使用.堆栈指针下移,视为数据不再存在.数据传送类指令MOV、XCHG、PUSH/POP
(2)指明传送单位MOVB
8MOVAX,BX
MOVW
16MOVL
32MOVAL,BL
MOVEAX,EBX
81632(3)设置寻址方式VAX-11机:X086机:思考:CPU怎么知道一条指令的寻址方式?各种信息主机外设信息:数据命令状态输入输出指令=主机对外设的访问=对外设接口寄存器的访问输入/输出指令设计时的考虑因素:I/O指令的功能扩展主机对外设的寻址方式I/O指令设置方式统一编址,使用传送指令独立端口,使用专用指令IN或OUT例如假设采用通用的传送指令实现I/O操作,I/O接口包含3个寄存器且通过数据总线与CPU相连接。各寄存器的地址和内容分别如下表所示:寄存器寄存地址存储内容数据寄存器FF00HA0H命令字寄存器FF01H01H状态字寄存器FF02H0FH试指出以下指令可能的含义或执行结果:MOVFF01H,R0MOVR1,FF02HMOVR2,FF00HMOVFF00H,R3
设置时需考虑操作数类型、符号、进制等;算术逻辑运算指令
加ADD,减SUB,加1INC,减1DEC,求补NEG,比较CMP,乘MUL,除DIV等
运算结束后设置相应状态标志。逻辑运算指令利用逻辑“与”实现位测试:例如,若要测试AL3,则可设置屏蔽字为“08H”。执行TESTAL,08H利用逻辑“与”实现位分离:例如,若要分离出AL3~0,则可设置屏蔽字为“0FH”。执行ANDAL,0FH利用逻辑“与”实现位清除:例如,若要清除AL3,则可设置屏蔽字为“F7H”。执行ANDAL,F7H利用逻辑“或”实现位设置:例如,若要设置AL4=1,则可设置屏蔽字为“10H”执行ORAL,10H利用逻辑“异或”实现位修改:例如,若要得AL的反码,则可设置屏幕字为“7FH”执行XORAL,7FH包含:逻辑与、逻辑或、逻辑非、逻辑异或应用:可实现位测试、位清除、位设置、位修改等操作例如:设目的操作数AL=“11101011”(1)转移指令程序控制指令(2)转子指令与返回指令转子:操作码子程序入口无条件转移条件转移循环:操作码转移地址:操作码转移地址转移条件:转移条件为循环计数值返回:操作码返回地址同一条返回指令应能提供多个不同的返回地址。返回地址的存取:用堆栈存放返回地址。(3)软中断指令程序自陷指令表示不同的功能调用…调试程序………早期,主要用于程序的调试。现在,常用于系统功能调用。以INTn
的形式出现在程序中。(4)转移条件:根据程序状态字的标志位决定转移。进位位C—若有进位,则C=1(JC),否则C=0(JNC);正负位N—若结果为负数,则N=1(JS),否则N=0(JNS);溢出位V—若有溢出发生,则V=1(JO),否则V=0(JNO);奇偶位P—代码中有奇数个“1”时,P=1(JP),否则P=0(JNP);零标志Z—若结果为“0”,则Z=1(JZ),否则Z=0(JNZ)。3.4CISC和RISC3.5.1按CISC方向发展与改进指令系统CISC(即ComplexInstructionSetComputer,复杂指令系统计算机)3.5.2按RISC方向发展与改进指令系统RISC(即ReducedInstructionSetComputing,精简指令系统计算机)3.5.3Intel80x86指令集的发展(自学)3.4.1按CISC方向发展与改进指令系统基本思路:增加新指令,减少目标程序占用的存储空间,减少程序执行中的访存次数,缩短指令的执行时间,以提高程序的运行速度。具体方案:1.面向目标程序优化实现改进2.面向高级语言优化实现改进3.面向操作系统实现改进面向目标程序优化实现改进CISC方法1:通过对大量已有机器语言程序及其执行情况进行统计各种指令和指令串的使用频度来加以分析和改进。例如:取消低频指令,用新指令替代高频指令串等。方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- PDIC-NN-生命科学试剂-MCE-4874
- ent-Corey-PG-lactone-diol-生命科学试剂-MCE-9112
- 10-Chloroestra-1-4-diene-3-17-dione-10-CIEsra-生命科学试剂-MCE-1585
- 2025年度级建造师资格证书注册与建筑产业互联网服务合同
- 二零二五年度花店知识产权保护合作协议
- 二零二五年度智能化小区物业保洁人员劳动合同
- 科技教育与学生实践基地的未来发展
- 提高电动工具使用效率保障员工操作安全
- 提高商业学校实验室安全管理的措施与方法
- 三人合作经营企业合同协议书2025
- 房地产工程管理 -中建八局机电工程质量通病治理办法
- GB/T 6403.4-2008零件倒圆与倒角
- GB/T 2518-2019连续热镀锌和锌合金镀层钢板及钢带
- 企业合规管理-课件
- 火电厂安全工作规程
- GB∕T 33047.1-2016 塑料 聚合物热重法(TG) 第1部分:通则
- 电力业务许可证豁免证明
- 特发性肺纤维化IPF
- FIDIC国际合同条款中英文对照.doc
- 建筑工程资料归档立卷分类表(全)
- 个人劳动仲裁申请书
评论
0/150
提交评论