第 5 篇 指令系统n2.ppt

  1. 1、本文档共100页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 5 章 指令系统 本章学习内容 指令系统的设计方法 指令格式 寻址方式 CISC和RISC的概念 5.1 机器指令 指令:控制计算机执行某种操作的命令。 机器语言:计算机硬件实体直接表示控制信息的语言。 机器语言程序:用机器语言编制的程序。 机器语言是计算机硬件能直接理解并执行的语言,任何用其它语言编制的程序,都必须经过 “翻译”,翻译为机器语言程序,才能在机器中正确的运行。 一条指令就是机器语言的一个语句,用来说明机器硬件应完成的操作。 指令系统(指令集):一台计算机所能执行的全部指令的集合。 机器语言是面向机器的:不同的计算机系统,具有不同的指令,每一计算机系统都具有自己的指令系统。 指令系统必须是完备的:即任何运算都可以用指令系统中的指令编程实现。 指令系统是计算机体系结构的核心;是计算机系统硬件、软件的主要界面。它既是计算机硬件设计的主要依据,又是计算机软件设计的基石。所以一台计算机指令系统的优劣,直接影响着计算机系统的性能。 5.1.1 指令格式 指令字(指令代码):表示一条指令的一串二进制代码。 指令格式的设计内容: 确定的指令字长度 划分指令字字段并加以定义 5.1.2 指令的组成与指令长度 一条指令中应包含的信息: ① 操作码:表示指令的操作特性和功能。 ② 操作数的地址:指示操作数或操作数所在的地址。 ③ 存放操作结果的地址。 ④ 下一条指令的地址。 指令的基本格式: 各字段的指定方法: 显式指定:在指令字中明显地指定。 隐含指定:由设计者用约定的方法指定。 指令操作码均采用显式指定。 下一条指令的地址多采用隐含指定。 信息的存储结构不同,指定的地址也不一样,地址的结构也不同。 指令长度 指令字长度:一个指令字所包含的二进制信息的位数。 定长指令:机器的指令系统中所有指令的长度都是一样的。 可变长指令:各指令的长度可以不同。 字长与指令长通常等于字符长度的整倍数。 为了合理地安排存储空间,并使指令能表达较丰富的内容,采用可变长指令将更加灵活有效。 单字长指令:指令长度等于机器字长。 双字长指令:指令长度等于两个机器字长。 另外还有更多倍字长的指令、半字长指令等。 短指令占存储空间少,有利于提高指令执行速度,因此通常把最常用指令(如算术逻辑运算指令、数据传送指令等)设计成短指令格式。 5.1.3 指令的地址结构 CPU可直接访问的存储结构 ① 主存储器:访存时要给出存储器单元地址 ② CPU寄存器:包括通用寄存器和专用寄存器。 ③ I/O接口寄存器:包括数据寄存器和状态寄存器。 ④ 堆栈 堆栈 堆栈:一种按后进先出(LIFO)或先进后出(FILO)原则进行存取信息的一组存储器单元的有序集合。 堆栈通常是主存的一个特定区域,它可以是固定的区域,也可以是浮动的区域,由软件定义。 堆栈区域中数据的个数和内容是动态变化的。 堆栈结构通常是一端固定,一端浮动的。 栈底:第一个存入(称为压入)数据的堆栈单元。栈底单元是固定的。 栈顶:最后压入数据的堆栈单元,栈顶单元是浮动的。 堆栈操作总是按地址自动增量和自动减量方式在栈顶进行。 堆栈指示器或堆栈指针SP:用于记录并跟踪栈顶单元的地址的寄存器。即SP总是指向栈顶单元。 堆栈有两种生成方式: 自底向上生成方式:栈底占最高地址,栈顶为较低地址,压入数据时,按由高地址向低地址顺序进行,弹出数据(即取出数据)时,由低地址向高地址顺序进行。 自顶向下生成方式:与自底向上生成方式顺序相反。 堆栈的生成方式 自底向上生成堆栈的工作过程 指令的地址结构 指令的地址结构需考虑的问题:需要多少地址信息及如何给出地址。 1.四地址指令 四地址指令格式: A1:第一源操作数的存储器地址或寄存器地址; A2:第二源操作数的存储器地址或寄存器地址; A3:存放操作结果的存储器地址或寄存器地址; A4:指示下一条要执行指令的地址。 四地址指令的功能:(A1)OP(A2)→A3;A4指示下条指令地址 四地址指令直观明了,程序的执行流向明确,不存在转移指令。但指令长度太长,因此在实际机器中基本不用。 2.三地址指令 程序在执行过程中大多数情况是按指令序列依次执行的,只有在执行转移指令时,程序的执行顺序才被改变。为了压缩指令长度,下一条指令地址采用隐含的方法给出。 通常用一个程序计数器 PC 来跟踪程序的执行并指示将要执行的指令地址。每执行一条指令,PC自动增量,增量值取决于执行指令的长度。 当程序出现转移时,用专门的转移指令将转移地址直接送入PC。 在三地址指令中不明显地指示下条指令地址。 三地址指令格式: A1:第一源操作数的存储器地址或寄存器地址; A2:第二源操作数的存储器地址或寄存器地址; A3:存放操作结果的存储器地址或寄存器地址; 三地址指令功能为: (A1)OP(A2)→A

文档评论(0)

00625 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档