1. 首页
  2. 文档大全

第5章指令系统

上传者:2****5 2022-06-29 18:57:11上传 PPT文件 2.69MB
第5章指令系统_第1页 第5章指令系统_第2页 第5章指令系统_第3页

《第5章指令系统》由会员分享,可在线阅读,更多相关《第5章指令系统(101页珍藏版)》请在文档大全上搜索。

1、Ch5: Instruction Set指令系统指令系统第第1 1讲:指令系统的设计讲:指令系统的设计第第2 2讲:程序的机器级表示讲:程序的机器级表示2第一讲第一讲 指令系统设计指令系统设计u指令系统设计的基本原则指令系统设计的基本原则u指令类型和格式指令类型和格式u数据类型数据类型寄存器组织、存储器组织寄存器组织、存储器组织u操作数的寻址方式操作数的寻址方式立即立即 / 寄存器寄存器 / 寄存器间接寄存器间接 / 直接直接 / 间接间接 / 堆栈堆栈 / 偏移偏移u操作码的编码操作码的编码定长编码法、变长扩展编码法定长编码法、变长扩展编码法u条件码和标志寄存器条件码和标志寄存器u指令设计风

2、格指令设计风格 u指令系统举例指令系统举例主主 要要 内内 容容3Instruction Set Designinstruction setsoftwarehardware一个完善的指令系统应满足以下几个方面的要求:一个完善的指令系统应满足以下几个方面的要求:u完备性:指令系统提供的指令足够使用完备性:指令系统提供的指令足够使用u有效性:程序能够高效率运行有效性:程序能够高效率运行u规整性:对称性、匀齐性、一致性规整性:对称性、匀齐性、一致性u兼容性:相同的基本结构、共同的基本指令兼容性:相同的基本结构、共同的基本指令集集u可扩充性:操作码字段预留一定的空间可扩充性:操作码字段预留一定的空间u

3、指令系统处在软指令系统处在软/硬件交界面,同时被硬件设计者和系统程序员看到硬件交界面,同时被硬件设计者和系统程序员看到u硬件设计者角度:指令系统为硬件设计者角度:指令系统为CPU提供功能需求,要求易于硬件设计提供功能需求,要求易于硬件设计u系统程序员角度:通过指令系统来使用硬件,要求易于编写编译器系统程序员角度:通过指令系统来使用硬件,要求易于编写编译器u指令系统设计的好坏还决定了:计算机的性能和成本指令系统设计的好坏还决定了:计算机的性能和成本u伪指令伪指令u指令指令u微指令微指令4一条指令须包含的信息一条指令须包含的信息问题:一条指令必须问题:一条指令必须明显明显或或隐含隐含包含的信息有哪

4、些?包含的信息有哪些?u操作码:指定操作类型操作码:指定操作类型 (操作码长度:操作码长度:固定可变固定可变) )u源操作数参照:一个或多个源操作数所在的地址源操作数参照:一个或多个源操作数所在的地址 (操作数来源操作数来源:主:主( (虚虚) )存存/ /寄存器寄存器/ /I/OI/O端口端口/ /指令本身)指令本身)u结果值参照:产生的结果存放何处(目的操作数)结果值参照:产生的结果存放何处(目的操作数) (结果地址结果地址:主:主( (虚虚) )存存/ /寄存器寄存器/ /I/OI/O端口端口) )u下一条指令地址:下条指令存放何处下一条指令地址:下条指令存放何处 (下条指令地址下条指令

5、地址 :主:主( (虚虚) )存存) ) ( (正常情况隐含在正常情况隐含在PCPC中,改变顺序时由指令给出)中,改变顺序时由指令给出)回顾:冯回顾:冯.诺依曼结构机器对指令规定:诺依曼结构机器对指令规定:u 用二进制表示,和数据一起存放在主存中用二进制表示,和数据一起存放在主存中u 指令由两部分组成:操作码和操作数(或其地址码)指令由两部分组成:操作码和操作数(或其地址码) Operation Code: defines the operation type Operands: indicate operation source and destination5一条指令中应该有几个地址码字段

6、?一条指令中应该有几个地址码字段?零地址指令零地址指令 (1) (1) 无需操作数如:空操作停机等无需操作数如:空操作停机等 (2) (2) 所需操作数为默认的如:堆栈累加器等所需操作数为默认的如:堆栈累加器等 形式:形式:一地址指令一地址指令 其其地址既是操作数的地址,也是结果的地址地址既是操作数的地址,也是结果的地址 (1) (1) 单目运算:如:取反取负等单目运算:如:取反取负等 (2) (2) 双目运算:另一操作数为默认的如:累加器等双目运算:另一操作数为默认的如:累加器等 形式:形式:二地址指令(最常用)二地址指令(最常用) 分别存放双目运算中两个操作数,并将其中一个地址作为结果的地

7、址。分别存放双目运算中两个操作数,并将其中一个地址作为结果的地址。 形式:形式:三地址指令(三地址指令(RISC风格)风格) 分别作为双目运算中两个源操作数的地址和一个结果的地址。分别作为双目运算中两个源操作数的地址和一个结果的地址。 形式:形式:多地址指令多地址指令 大中型机中用于成批数据处理的指令大中型机中用于成批数据处理的指令,如如:向量向量 / 矩阵等(矩阵等(SIMD)OPOPA1A2A3OPA1A1OPA26从指令执行周期看指令设计涉及的问题从指令执行周期看指令设计涉及的问题InstructionFetchInstructionDecodeOperandFetchExecuteRe

8、sultStoreNextInstruction从存储器取指令从存储器取指令对指令译码,以确定将要做什么操作对指令译码,以确定将要做什么操作 计算操作数地址并取操作数计算操作数地址并取操作数进行相应计算,并得到标志位进行相应计算,并得到标志位将计算结果保存到目的地将计算结果保存到目的地计算下条指令地址(通常和取指令同时进行)计算下条指令地址(通常和取指令同时进行)指令地址、指令长度(定长指令地址、指令长度(定长/变长)变长)指令格式、操作码编码、操作数类型指令格式、操作码编码、操作数类型地址码、寻址方式、操作数格式和存放方式地址码、寻址方式、操作数格式和存放方式操作类型、标志或条件码操作类型、

9、标志或条件码结果数据位置(目的操作数)结果数据位置(目的操作数)下条指令地址(顺序下条指令地址(顺序 / 转移)转移)7指令格式的选择应遵循的几条基本原则指令格式的选择应遵循的几条基本原则u应尽量短应尽量短u要有足够的操作码位数要有足够的操作码位数u指令编码必须有唯一的解释,否则是不合法的指令指令编码必须有唯一的解释,否则是不合法的指令u指令字长应是字节的整数倍指令字长应是字节的整数倍u合理地选择地址字段的个数合理地选择地址字段的个数u指令尽量规整指令尽量规整与指令集设计相关的重要方面与指令集设计相关的重要方面u操作码的全部组成:操作码个数操作码的全部组成:操作码个数 / 种类种类 / 复杂度

10、复杂度 LD/ST/INC/BRN 四种指令已足够编制任何可计算程序,但程序会很长四种指令已足够编制任何可计算程序,但程序会很长u数据类型:对哪几种数据类型完成操作数据类型:对哪几种数据类型完成操作u指令格式:指令长度指令格式:指令长度 / 地址码个数地址码个数 / 各字段长度各字段长度u通用寄存器:个数通用寄存器:个数 / 功能功能 / 长度长度u寻址方式:操作数地址的指定方式寻址方式:操作数地址的指定方式u下条指令的地址如何确定:顺序,下条指令的地址如何确定:顺序,PC+1;条件转移;无条件转移;条件转移;无条件转移;指令格式的设计指令格式的设计一般通过对操作码进行不同的编码来定义不同的含

11、义,一般通过对操作码进行不同的编码来定义不同的含义,操作码相同时,再由功能码定义不同的含义操作码相同时,再由功能码定义不同的含义! !8操作类型操作类型u不同机器的指令系统是各不相同的不同机器的指令系统是各不相同的u从系统功能来考虑,一个较为完善的指令系统中常见的指从系统功能来考虑,一个较为完善的指令系统中常见的指令类型包括:令类型包括: 数据传送指令:数据传送指令:用于数据在寄存器、主存单元、栈顶和用于数据在寄存器、主存单元、栈顶和I/O之间进之间进行传送行传送 运算指令:运算指令:用于各种算术运算和逻辑运算用于各种算术运算和逻辑运算 字符串处理指令:字符串处理指令:用于字符串查找、扫描、转


文档来源:https://www.renrendoc.com/paper/212652258.html

文档标签:

下载地址