好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

第五章指令系统.ppt

21页
  • 卖家[上传人]:慢***
  • 文档编号:232554566
  • 上传时间:2021-12-31
  • 文档格式:PPT
  • 文档大小:138.50KB
  • / 21 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 计算机组成与系统结构第五章指令系统5.1 指令系统的发展5.2 指令格式5.3 数据表示5.4 寻址方式5.5 指令类型5.6指令系统的兼容性5.7 精简指令系统和复杂指令系统5.8 指令系统举例思考题计算机组成与系统结构5.1 指令系统的发展 计算机系统主要由硬件(hardware)和软件(software)两部分组成 硬件就是由中央处理机(CPU)、存储器以及外部设备等组成的实际装置 软件则是为便于用户使用计算机而编写的各种程序,最终转换成一系列机器指令后在计算机上执行 计算机的性能与它所设置的指令系统有很大的关系,而指令系统的设置又与机器的硬件结构密切相关通常性能较好的计算机都设置有功能齐全、通用性强、指令丰富的指令系统,但这需要复杂的硬件结构来支持 计算机组成与系统结构5.2 指令格式一、指令格式 计算机是通过执行指令来处理各种数据的为了指出数据的来源、操作结果的去向及所执行的操作,一条指令必须包含下列信息: (1) 操作码:具体说明了操作的性质及功能一台计算机可能有几十条至几百条指令,每一条指令都有一个相应的操作码,计算机通过识别该操作码来完成不同操作 (2) 操作数的地址:CPU通过该地址就可以取得所需的操作数。

      (3) 操作结果的存储地址:把对操作数的处理所产生的结果保存在该地址中,以便再次使用 (4) 下一条指令的地址:一般来说,当程序顺序执行时,下条指令的地址由程序计数器(PC)指出,仅当改变程序的运行顺序(如转移、调用子程序)时,下条指令的地址才由指令给出计算机组成与系统结构指令的格式(1)操作码:指示计算机所要执行的操作如:MOV , ADD.(2)操作数的地址码:指令操作的对象,可以是参与操作的操作数的本身,也可以是操作数的地址操作数的个数可以是0个,1个,2个或多个1、零地址指令 格式: OPCODE OPCODE操作码 指令中只有操作码,而没有操作数或没有操作数地址这种指令 有两种可能: (1) 无需任何操作数如空操作指令,停机指令等 (2) 所需的操作数是默认的 操作码码 操作数的地址码码计算机组成与系统结构2、一地址指令 格式: OPCODE A OPCODE操作码 A操作数的存储器地址或寄存器名 指令中只给出一个地址,该地址既是操作数的地址,又是操作结果的存储地址3、二地址指令 格式: OPCODE A1 A2 OPCODE操作码 A1第一个源操作数的存储器地址或寄存器地址。

      A2第二个源操作数和存放操作结果的存储器地址或 寄存器地址 这是最常见的指令格式,两个地址指出两个源操作数地址,其中一个还是存放结果的目的地址对两个源操作数进行操作码所规定的操作后,将结果存入目的地址 计算机组成与系统结构4、三地址指令: 格式: OPCODE A1 A2 A3 OPCODE操作码 A1第一个源操作数的存储器地址或寄存器地址 A2第二个源操作数的存储器地址或寄存器地址 A3操作结果的存储器地址或寄存器地址 其操作是对A1,A2指出的两个源操作数进行操作码(OPCODE)所指定的操作,结果存入A3中5、多地址指令 在某些性能较好的大、中型机甚至高档小型机中,往往设置一些功能很强的,用于处理成批数据的指令,如字符串处理指令,向量、矩阵运算指令等为了描述一批数据,指令中需要多个地址来指出数据存放的首地址、长度和下标等信息 以上所述的几种指令格式只是一般情况,并非所有的计算机都具有 计算机组成与系统结构二、指令操作码的扩展技术 指令操作码的长度决定了指令系统中完成不同操作的指令条数若某机器的操作码长度为K位,则它最多只能有2k条不同指令 指令操作码通常有两种编码格式: (1)固定格式:即操作码的长度固定,且集中放在指令字的一个 字段中。

      这种格式对于简化硬件设计,减少指令译码时间非常有 利,在字长较长的大、中型机和超级小型机以及RISC上广泛采 用 (2)可变格式:即操作码的长度可变,且分散地放在指令字的不 同字段中这种格式能够有效地压缩程序中操作码的平均长度, 在字长较短的微型机上广泛采用 计算机组成与系统结构扩展的方法:例如:设某机器的指令长度为16位,包括4位基本操作码字段和三个4位地址字段,其格式如图5.1所示 一种可供扩展的方法和步骤如下: (1) 15条三地址指令的操作码由4位基本操作码从00001110给出,剩下一个码点1111用于把操作码扩展到A1,即4位扩展到8位; (2) 15条二地址指令的操作码由8位操作码从1111000011111110给出,剩下一个码点11111111用于把操作码扩展到A2,即从8位扩展到12位; (3) 15条一地址指令的操作码由12位操作码从111111110000111111111110给出,剩下一个码点111111111111用于把操作码扩展到A3,即从12位扩展到16位; (4) 16条零地址指令的操作码由16位操作码从11111111111100001111111111111111给出。

      计算机组成与系统结构三 指令长度与字长的关系1、字长:是指计算机能直接处理的二进制数据的位数,它与计算机的功能和用途有很大的关系,是计算机的一个重要技术指标 首先,字长决定了计算机的运算精度,字长越长,计算机的运算精度越高,因此,高性能的计算机字长较长,而性能较差的计算机字长相对要短一些 其次,地址码长度决定了指令直接寻址能力,若为n位,则给出的n位直接地址寻址2n字节扩大寻址能力的方法,一是通过增加机器字长来增加地址码的长度;二是采用地址扩展技术,把存储空间分成若干个段,用基地址加位移量的方法来增加地址码的长度2、指令:长度主要取决于操作码的长度、操作数地址的长度和操作数地址的个数 各指令的长度不是固定的,但也不是任意的为了充分地利用存储空间,指令的长度通常为字节的整数倍 计算机组成与系统结构5.4 寻址方法 寻址方式是指寻找指令地址或操作数有效地址的方法 在程序执行过程中,操作数可能在运算部件的某个寄存器(寄存器寻址)中或存储器(存储器寻址)中,也可能就在指令(立即数)中一、寄存器寻址 是指操作数地址码放在寄存器中的寻址方式二、存储器寻址方式 是指从存储器中获得参与操作的操作数的过程。

      1、直接寻址:指令的地址码部分直接给出操作数所在的存储器的地址码计算机组成与系统结构2、基址寻址:是指操作数的地址由基址寄存器的内容和指令的地址码A相加得到,主要用于为程序或数据分配存储区3、变址寻址:指令地址码部分给出的地址A和指定的变址寄存器X的内容通过加法器相加,所得的和作为地址计算机组成与系统结构4、间接寻址:将存储器的地址码放在寄存器中或存储器的寻址方式5、相对寻址:把程序计数器PC的内容(即当前执行指令的地址)与指令的地址码部分给出的位移量(disp)之和作为操作数的地址或转移地址,称为相对寻址计算机组成与系统结构三、立即数寻址:所需的操作数由指令的地址码部分直接给出,就称为立即数(或直接数)寻址方式四、堆栈操作:计算机组成与系统结构5.5 指令类型一、指令的分类及功能1、算术逻辑运算指令2、移位操作指令 移位操作指令分为算术移位、逻辑移位和循环移位三种,可以将操作数左移或右移若干位; 都影响仅为标志计算机组成与系统结构3、浮点运算指令:单精度(32位)、双精度(64位)数据进行处理4、十进制运算指令:5、字符串处理指令:一般包括字符串传送、字符串比较、字符串查询、字符串转换等指令。

      6、数据传送指令:这类指令用以实现寄存器与寄存器,寄存器与存储器单元,存储器单元与存储器单元之间的数据传送7、转移类指令:按转移的性质,转移指令分为无条件转移、条件转移、过程调用与返回、陷阱(trap)等几种无条件转移与条件转移 调用指令与返回指令 陷阱(trap)与陷阱指令8、堆栈与堆栈操作指令9、输入输出指令10、特权指令11、其他指令计算机组成与系统结构二、子程序举例1、双字长加法指令 假设在寄存器R1,R2和R3,R4分别存放两个双字长操作数,其中R1,R3为高位加法运算可分为两种情况讨论:假设机器设置有ADD(加法指令)和ADC(加进位的加法指令),则执行下列两条指令后在R3、R4中得到运算结果 指令操作说明 xK: ADD R2,R4 ;低位相加,R4(R2)+(R4),并根据运算结果置进位位C K+1:ADC R1,R3 ;高位相加,并加进位位C,R3(R1)+(R3)+C(2) 假设机器仅设置ADD指令,而没有ADC指令,则应执行下列程序:指令操作说明 K: ADD R2,R4 ; 低位相加,R4(R2)+(R4),并根据运算结果置进位位C K+1: BCC K+3 ;如C=0,程序转移到K+3;如C=1,顺执行下一条指令 K+2: ADD #1,R1 ; R1(R1)+1 K+3: ADD R1,R3 ; 高位相加,R3(R1)+(R3) 计算机组成与系统结构5.6 指令系统的兼容性5.7 精简指令系统计算机(RISC)和复杂指令系统计算机(CISC) RISC是在继承CISC的成功技术并克服CISC的缺点的基础上产生并发展起来的,大部分RISC具有下述一些特点:优先选取使用频率最高的一些简单指令,以及一些很有用但不复杂的指令。

      避免复杂指令指令长度固定,指令格式种类少,寻址方式种类少指令之间各字段的划分比较一致,各字段的功能也比较规整只有取数/存数指令(load/store)访问存储器,其余指令的操作都在寄存器之间进行CPU中通用寄存器数量相当多算术逻辑运算指令的操作数都在通用寄存器中存取计算机组成与系统结构CISC是复杂指令系统计算机的英文缩写,其特点是:指令系统庞大,指令数目一般多达200-300条寻址方式多指令格式多指令字长不固定可访存指令不受限制各种指令使用频率相差很大各种指令执行时间相差很大大多数采用微程序控制器计算机组成与系统结构1、 某指令系统指令长16位,每个操作数的地址码长6位,指令分为无操作数、单操作数和双操作数三类若双操作数指令有K条,无操作数指令有L条,问单操作数指令最多可能有多少条?2、基址寄存器的内容为2000H(H表示十六进制),变址寄存器内容为03A0H,指令的地址码部分是3FH,当前正在执行的指令所在地址为2B00H,请求出变址编址(考虑基址)和相对编址两种情况的访存有效地址(即实际地址)3、接上题设变址编址用于取数指令,相对编址用于转移指令,存储器内存放的内容如下: (1) 请写出从存储器中所取的数据以及转移地址。

      (2) 若采取直接编址,请写出从存储器取出的数据思考题计算机组成与系统结构地址 内容003FH2300H2000H 2400H203FH 2500H233FH 2600H23A0H 2700H23DFH 2800H2B00H 063FH4、已知Pentium微处理器各段寄存器的内容如下:DS=0800H,CS=1800H,SS=4000H,ES=3000H又disp字段的内容为2000H请计算:(1) 执行MOV指令,且已知为直接寻址,请计算有效地址2) IP(指令指针)的内容为1440,请计算出下一条指令的地址(假设顺序执行)3) 今将某寄存器内容直接送入堆栈,请计算出接收数据的存储器地址5、讨论RISC和CISC在指令系统方面的主要区别计算机组成与系统结构6、在下面有关寻址方式的叙述中,选择正确答案填入( )内 根据操作数所在位置,指出其寻址方式:操作数在寄存器中,为(A)寻址方式;操作数地址在寄存器中称为(B)寻址方式;操作数在指令中,称为(C)寻址方式;操作数地址(主存)在指令中,为(D)寻址方式操作数的地址,为某一寄存器中的内容与位移量之和则可以是(E)、(F)、(G)寻址方式。

      供选择的答案: A、B、C、D、E、F、G: 直接 寄存器 寄存器间接 基址 变址 相对 堆栈 立即数。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.