1、第 5 章 指令系统5.1 基本内容摘要1、指令与指令系统 指令格式机器指令及其格式指令的地址码指令的操作码 寻址格式立即寻址 ; 寄存器寻址 ; 直接寻址 ;寄存器间接寻址 ; 存储器间接寻址 ; 基址寻址 ; 变址寻址 ;相对寻址 ; 隐含寻址2、两类指令系统 80X86 系列指令系统的指令编码格式 MIPS 处理器指令系统的指令格式3、指令流程 指令执行过程取指令、指令分析、指令操作执行等三个阶段: 三种周期指令周期 ; 机器周期 ; 时钟周期 典型 CPU 结构类型单总线结构 CPU专用通路结构 CPU 单总线结构 CPU 的指令流程 运算指令的执行过程访问存储器指令的执行过程控制指令
2、的执行过程 专用通路结构 CPU 的指令流程运算指令的执行过程访问存储器指令的执行过程控制指令的执行过程5. 2 知识点一、指令系统1、指令格式指令:指示计算机执行某种基本操作的命令机器指令:用二进制代码表示的计算机能识别并直接执行的指令指令系统:计算机所具有的各种指令的集合指令格式:计算机指令编码的格式,由操作码和操作数两部分(字段)组成:操作码OP 操作数操作数字段也称为“地址码”操作码指示指令的操作性质,用二进制代码表示,OP通过指令译码器进行解释。操作数(地址码)通常用于指示操作数的地址或指令地址。2、操作码OP的结构(1)操作码的位数n取决于操作的种类N2n N , 即nlog 2
3、N(2)操作码的结构可分为二种: 固定长度(规整型)的OP结构指操作码的位数和位置固定不变。其特点是有利于简化硬件的译码逻辑,但指令码各位的利用率较低。 可变长度(非规整型)的OP结构指操作码的位数不固定。其特点是指令码各位的利用率高,但硬件的实现较难。(3) 非规整型编码指令设计扩展操作码法。让地址码长度长的指令(如三地址指令)的操作码字段短些,操作数地址码长度短的指令(如一或零地址指令)的操作码字段长些。3、地址码结构根据一条指令中所包含的地址个数不同,分为三地址、二地址、一地址和零地址四种指令:(1)零地址指令: 该条指令运行时不需要操作数指令操作码隐含指定一个操作数(2)一地址指令:单
4、操作数指令,源与目的操作数为同一操作数一个操作数由指令的地址码 A 给出,另一个操作数是隐含的(3)二地址指令:指令给出两个操作数的地址,其中一个为目的操作数。(4)三地址指令A2 、A3 为两个源操作数的地址码,A1 为目的操作数地址码4、指令的寻址方式又称操作数的寻址方式,指形成操作数有效地址的方法。(1)三种操作数的来源:立即数: 指令中的地址码部分给出;寄存器操作数:指令所给出的某个寄存器的内容;内存单元操作数:指令所给出的某个内存单元的内容(2)主要的寻址方式有: 立即寻址操作数直接由指令中的地址码给出 。该方式适用于指定固定的常数。 寄存器寻址指令中的地址字段给出寄存器的编号,该寄
5、存器的内容就是操作数。 直接寻址指令中的地址字段直接给出内存的地址 X,该地址对应的内存单元的内容就是操作数。该寻址方式的寻址范围受指令的地址码位数所限制,通常只能访问低地址的内存空间。某些计算机指令中在数字前后加上一个符号 。 寄存器间接寻址指令中的地址字段给出寄存器的编号,该寄存器的内容是操作数的地址,该地址对应的内存单元的内容就是操作数。某些计算机指令中在寄存器名前后加上一个符号( ) 存储器间接寻址指令中的地址码字段 A 是存放操作数地址的存储单元的地址,即操作数地址的地址。 变址寻址指令中的地址码字段给出变址寄存器的编号和一个地址偏移量,该寄存器的内容与地址偏移量之和是操作数的地址,
6、该地址对应的内存单元的内容就是操作数。 基址寻址指令中的地址码字段给出基址寄存器的编号和一个地址偏移量,该寄存器的内容与地址偏移量之和是操作数的地址,该地址对应的内存单元的内容就是操作数。 相对寻址指令中的地址码字段给出一个地址偏移量,程序计数器 PC 内容与地址偏移量之和是操作数的地址,该地址对应的内存单元的内容就是操作数。 隐含寻址指令中不给出操作数,操作码隐含操作数,根据指令中操作码即可确定操作数的存储位置, 二、指令的编码格式1、CISC 和 RISC(1)CISC : 复杂指令系统计算机。 指令系统复杂,就是指令数目多、寻址方式多、指令格式多; 大多数指令需要多个时钟周期执行完成;
7、各种指令都可访问存储器; 采用微程序控制 难以生成高效的目标代码程序(2) RISC:精简指令系统计算机。 指令系统简化,指令数目少、指令长度固定,指令格式及寻址方式种类少; 只有少数指令可访问存储器,其余指令的操作均在寄存器之间进行; 流水线工作,多数指令在一个时钟周期执行完成; 采用组合电路控制器,不用或少用微程序; 采用优化编译技术2、80X86 的指令系统(1) 特点:CISC 型的指令系统; 变字长指令;不同指令的操作码和寻址方式不同,指令长度也不一致;每条指令由 16 个字节组成。(2)两操作数指令的编码格式为: 操作码 反映该指令的功能 ;类型 反映操作数的类型(字长等) ;寻址
8、方式 反映操作数的寻址方式,寄存器操作数的编码也在其间;操作数 操作数中的立即数、内存操作数中的位移量部分。实现“寄存器与寄存器,寄存器与存储器之间”操作的机器指令的编码格式可细化为: OPCODE 为操作码,表示 64 个不同的操作 D 位表示数据传送的方向: D=0,寄存器为源操作数,D=1,寄存器为目的操作数 ; W 位表示操作数是字还是字节:W=1,为字操作,W=0,为字节操作 ; REG 字段指明一个操作数,具体编码为: MOD 字段和 R/M 字段决定另一个操作数,具体编码为:3、MIPS 系列微处理器的指令系统(1)特点:RISC 型的指令系统;32 位字长的等字长指令;指令系统
9、简单。(2)指令格式寄存器型(R 型):该类型指令从寄存器堆中读取两个源操作数,计算结果写回寄存器堆;立即数型(I 型):使用一个 16 位的立即数作为一个源操作数;转移型(J 型): 使用一个 26 位的立即数作为跳转的目标地址;rs: 源操作数 1 的寄存器编号;rt: 源操作数 2 的寄存器编号;rd: 目的操作数的寄存器编号;shamt: 移位次数(移位指令) ;funct: 功能码,操作码的扩展,指定操作类型;immediate:立即数;target: 目标地址;三、指令流程1、指令的执行过程(1)CPU 执行指令的过程的三个阶段 取指阶段CPU 按 PC(存放待取指令在主存中的地址
10、)中的地址从主存中取出一个指令字节,PC中的内容就自动加 1,当一条指令的所有字节取出后,PC 中内容更新为下一条指令的地址。主存中取出的指令经 DR,存入指令寄存器 IR 中。 指令分析(译码)阶段将指令寄存器 IR 中指令送指令译码器 ID 译码、分析、识别,产生同该指令相对应的指令信号,经操作控制器(协同时序产生器) ,产生执行该指令所需要的满足一定时序关系的一组操作控制信号。 执行操作阶段完成指令规定的各种操作,形成稳定的运算结果,并将其存储起来。 (2)三种周期 指令周期:指 CPU 执行一条指令所需要的全部时间,包括取指令、译码和执行指令所需的时间。 机器周期(又称 CPU 周期)
11、: 指指令执行一个基本操作所需的时间 。一般一条指令的执行需要若干个基本操作阶段。 时钟周期(通常称为节拍脉冲或 T 周期):是 CPU 主频的周期,它是 CPU 处理操作的最基本单位。2、单总线结构 CPU(1)CPU 的组成 n 个通用寄存器 R0Rn-1 ; 算术逻辑部件 ALU: 状态寄存器 SR; 主存地址寄存器 MAR; 主存数据寄存器 MDR; CPU 同主存之间的地址、数据总线ABUS、 DBUS; 指令寄存器 IR; 指令译码器 ID; 操作控制器:根据 ID 送来的指令信号和时序产生器输出的时序信号,产生指令执行时所需要的操作控制信号 C0Ci-1 ; 总线 BUS:单总线
12、的数据通路。是寄存器与寄存器、寄存器与 ALU 之间传送信息的公共通路。 (2)控制信号CPU 中各部件输入和输出数据信号所需的控制信号: Rn 寄存器的数据输出控制信号 Rnout ; 总线上数据输入 Rn 寄存器的控制信号 Rnin:; IR 的数据输出控制信号 IRout; 总线上数据输入 IR 的控制信号 IRin; PC 的数据输出控制信号 PCout; 总线上数据输入 PC 的控制信号 PCin; 总线上数据输入 Y 寄存器的控制信号 Yin; PC 寄存器加 1 控制信号 PC+1; 总线上地址信息送入 MAR 控制信号 MARin; MDR 数据输出控制信号 MDRout; 总
13、线上数据送入 MDR 控制信号 MDRin; Z 寄存器数据输出控制信号 Zout; ALU 加法操作控制信号 ADD; 读主存信号 Read ; 写主存信号 Write ;3、单总线结构 CPU 的指令执行流程(1)取指和译码的执行流程所有指令的取指和译码的执行过程相同,其流程为: 取指令PCMAR ; 读存储器信号(read)PC+1PC 指令读入译码DBUSMDRIR (2) 指令执行阶段的执行流程执行阶段的执行流程与指令类型有关。 运算指令( ADD R3,R1,R2 ) 执行阶段的执行流程: 源操作数寄存器 R1 送 ALU 的输入寄存器 Y :R1Y 源操作数寄存器 R2 送 AL
14、U 的输入,同 Y 相加输出到 ALU 寄存器 ZR2+YZ 结果送指定寄存器 R3ZR3 读存储器指令( LOAD R1,MEM ) 执行阶段的执行流程: 计算操作数地址,读内存IR(地址段)MAR 读存储器信号(read ) ; DBUSMDR数据存如寄存器MDRR1 写存储器指令( STORE R1,MEM ) 执行阶段的执行流程: 计算操作数地址, 写入内存IR(地址段)MARR1MDR 写存储器信号(write ) 控制指令(BR offs)执行阶段的执行流程: 计算转移地址PCY,Y+IR(地址段 offs)Z 转移ZPC四、主要的术语及概念:指令、指令系统、机器指令、操作码、地址码、寻址方式、CISC、RISC 、直接寻址、寄存器间接寻址、存储器间接寻址、指令周期、机器(CPU)周期、时钟周期、取指周期、