计算机组成与系统结构课件指令

上传人:蔡****育 文档编号:298195426 上传时间:2022-05-25 格式:PPTX 页数:90 大小:3.97MB
返回 下载 相关 举报
计算机组成与系统结构课件指令_第1页
第1页 / 共90页
计算机组成与系统结构课件指令_第2页
第2页 / 共90页
计算机组成与系统结构课件指令_第3页
第3页 / 共90页
计算机组成与系统结构课件指令_第4页
第4页 / 共90页
计算机组成与系统结构课件指令_第5页
第5页 / 共90页
点击查看更多>>
资源描述

《计算机组成与系统结构课件指令》由会员分享,可在线阅读,更多相关《计算机组成与系统结构课件指令(90页珍藏版)》请在金锄头文库上搜索。

1、Ch5: Instruction Set指令系统指令系统第第1讲:指令系统的设计讲:指令系统的设计第第2讲:程序的机器级表示讲:程序的机器级表示第一页,共九十页。 ISA.2第一讲第一讲 指令系统设计指令系统设计u一条指令必须指定的信息一条指令必须指定的信息u指令中的地址码个数指令中的地址码个数u指令系统设计的基本原则指令系统设计的基本原则u指令类型指令类型u数据类型数据类型寄存器组织寄存器组织存储器组织存储器组织u操作数的寻址方式操作数的寻址方式立即立即 / / 寄存器寄存器 / / 寄存器间接寄存器间接 / / 直接直接 / / 间接间接 / / 堆栈堆栈 / / 偏移偏移u操作码的编码操

2、作码的编码定长编码法定长编码法变长扩展编码法变长扩展编码法u条件码和标志寄存器条件码和标志寄存器u指令设计风格指令设计风格 u指令系统举例指令系统举例主主 要要 内内 容容第二页,共九十页。 ISA.3Instruction Set Designinstruction setsoftwarehardware回顾:冯回顾:冯.诺依曼结构机器对指令规定:诺依曼结构机器对指令规定:u 用二进制表示,和数据一起存放在主存中用二进制表示,和数据一起存放在主存中u 由两部分组成:操作码和操作数(或其地址码)由两部分组成:操作码和操作数(或其地址码) Operation Code: defines the

3、operation type Operands: indicate operation source and destinationu指令系统处在软指令系统处在软/硬件交界面,能同时被硬件设计者和系统程序员看到硬件交界面,能同时被硬件设计者和系统程序员看到u硬件设计者角度:指令系统为硬件设计者角度:指令系统为CPU提供功能需求(易于硬件设计)提供功能需求(易于硬件设计)u系统程序员角度:通过指令系统来使用硬件,要求易于编写编译器)系统程序员角度:通过指令系统来使用硬件,要求易于编写编译器)u指令系统设计的好坏还决定了:计算机的性能和成本指令系统设计的好坏还决定了:计算机的性能和成本第三页,共九

4、十页。 ISA.4Instruction Set ArchitectureADDSUBTRACTANDORCOMPARE.0101001110100111000111010.Programmers ViewComputers ViewCPUMemoryI/OProgram(Instructions&Data)Princeton (Von Neumann) Architecture- 数据和指令存放在同一个存储器中数据和指令存放在同一个存储器中 - 存储空间利用率高存储空间利用率高 - 统一的访问接口统一的访问接口Harvard Architecture- 数据和指令存放在不同存储器数据和指令存

5、放在不同存储器 - 存储访问效率高存储访问效率高 - 有利于流水线执行有利于流水线执行 第四页,共九十页。 ISA.5一条指令须包含的信息一条指令须包含的信息一条指令必须一条指令必须明显明显或或隐含隐含地包含以下信息:地包含以下信息:操作码:指定操作类型操作码:指定操作类型u ( (操作码长度:固定可变操作码长度:固定可变) )源操作数参照:一个或多个源操作数所在的地址源操作数参照:一个或多个源操作数所在的地址u ( (操作数来源:主操作数来源:主( (虚虚) )存存/ /寄存器寄存器/ /I/OI/O端口端口/ /指令本身)指令本身)结果值参照:产生的结果存放何处结果值参照:产生的结果存放何

6、处u ( (结果地址:主结果地址:主( (虚虚) )存存/ /寄存器寄存器/ /I/OI/O端口端口) )下一条指令地址:下条指令存放何处下一条指令地址:下条指令存放何处u ( (下条指令地址下条指令地址 :主:主( (虚虚) )存存) )u ( (正常情况隐含在正常情况隐含在PCPC中,改变顺序时由指令给出)中,改变顺序时由指令给出)第五页,共九十页。 ISA.6地址码字段的个数地址码字段的个数据上述分析知据上述分析知, ,一条指令包含个一条指令包含个操作码操作码操作码操作码和多个和多个地址码地址码地址码地址码零地址指令零地址指令u(1) (1) 无需操作数如:空操作停机等无需操作数如:空操

7、作停机等u(2) (2) 所需操作数为默认的如:堆栈累加器等所需操作数为默认的如:堆栈累加器等u形式:形式:一地址指令一地址指令u其其地址既是操作数的地址,也是结果的地址地址既是操作数的地址,也是结果的地址u(1) (1) 单目运算:如:取反取负等单目运算:如:取反取负等u(2) (2) 双目运算:另一操作数为默认的如:累加器等双目运算:另一操作数为默认的如:累加器等u形式:形式:OPOPA1二地址指令(最常用)二地址指令(最常用)u分别存放双目运算中两个操作数,并将其中一个地址作为结果的地址。分别存放双目运算中两个操作数,并将其中一个地址作为结果的地址。 u形式:形式:三地址指令(三地址指令

8、(RISC风格)风格)u分别作为双目运算中两个源操作数的地址和一个结果的地址。分别作为双目运算中两个源操作数的地址和一个结果的地址。u形式:形式:多地址指令多地址指令u大中型机中用于成批数据处理的指令大中型机中用于成批数据处理的指令,如如:向量向量 / 矩阵等矩阵等A2A3OPA1A1OPA2第六页,共九十页。 ISA.7从指令执行周期看指令设计涉及的问题从指令执行周期看指令设计涉及的问题InstructionFetchInstructionDecodeOperandFetchExecuteResultStoreNextInstructionObtain instruction from pr

9、ogram storageDetermine required actions Locate and obtain operand dataCompute result value or statusDeposit results in storage for later useDetermine successor instruction指令地址、指令长度(定长指令地址、指令长度(定长/变长)变长)指令格式、操作码编码、操作数类型指令格式、操作码编码、操作数类型地址码格式、寻址方式、操作数格式和存放方式地址码格式、寻址方式、操作数格式和存放方式操作类型、标志或条件码操作类型、标志或条件码结果

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

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

12、一般通过对操作码的不同编码定义不同的含义,操作码相同时,再由功能码定义不同的含义相同时,再由功能码定义不同的含义!第八页,共九十页。 ISA.9Typical Operations(典型的操作典型的操作)Data MovementLoad (from memory)Store (to memory)memory-to-memory moveregister-to-register movepush, pop (to/from stack)Arithmeticinteger (binary + decimal) or FPAdd, Subtract, Multiply, Divideadc(带进

13、位加带进位加),sbb (带借位减带借位减)Logicalnot, and, or, set, clearShift(arithmatic,logic,rotate)left/right shiftExec-Seq controlJump, branchSubroutine Linkagecall, returnInterrupttrap, interrupt returnSynchronizationtest & set (atomic r-m-w)Stringsearch, translateinput (from I/O device)output (to I/O device)Inpu

14、t/OutputCPU control stop, sti(开中断开中断), break第九页,共九十页。 ISA.10操作数类型和存储方式操作数类型和存储方式操作数是指令处理的对象,其基本类型有:操作数是指令处理的对象,其基本类型有:地址地址 被看成无符号整数,用来参加运算,以确定主被看成无符号整数,用来参加运算,以确定主(虚虚)存地址存地址数值数据数值数据 定点数定点数(整数整数):一般用二进制补码表示:一般用二进制补码表示 浮点数浮点数(实数实数):大多数机器采用:大多数机器采用IEEE754标准标准 十进制数:一般用十进制数:一般用NBCD码表示,压缩码表示,压缩/非压缩非压缩位、位串

15、、字符和字符串位、位串、字符和字符串 用来表示文本、声音和图像等用来表示文本、声音和图像等4 bits is a nibble(一个十六进制数字)(一个十六进制数字)8 bits is a byte16 bits is a half-word 32 bits is a word逻辑逻辑(布尔布尔)数据数据 按位操作(按位操作(0-假假1-真)真)第十页,共九十页。 ISA.11Pentium & MIPS Data TypeuPentium基本类型:基本类型:字节、字字节、字(16位位)、双字、双字(32位位)、四字、四字(64位位) 整数:整数: 16位、位、32位、位、64位三种位三种2-

16、补码表示的整数补码表示的整数 18位压缩位压缩8421 BCD码表示的十进制整数码表示的十进制整数无符号整数(无符号整数(8、16或或32位)位)近指针:近指针:32位段内偏移(有效地址)位段内偏移(有效地址)浮点数浮点数:IEEE 754(80位扩展精度浮点数寄存器)位扩展精度浮点数寄存器)uMIPS基本类型:基本类型:字节、半字字节、半字(16位位)、字、字(32位位)、四字、四字(64位位) 整数:整数: 16位、位、32位、位、64位三种位三种2-补码表示的整数补码表示的整数无符号整数:(无符号整数:(16、32位)位)浮点数浮点数:IEEE 754(32位位/64位浮点数寄存器)位浮点数寄存器)第十一页,共九十页。 ISA.12Addressing Modes(寻址方式)(寻址方式)u什么是什么是“寻址方式寻址方式”? 操作数指定方式。即:用来指定操作数或操作数所在位置的方法操作数指定方式。即:用来指定操作数或操作数所在位置的方法u地址码编码由操作数的寻址方式决定地址码编码由操作数的寻址方式决定u地址码编码原则:地址码编码原则: 指令地址码尽量短指令地址码尽量短 操作数存放位

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 软件工程

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号