计算机组成原理第七章_第1页
计算机组成原理第七章_第2页
计算机组成原理第七章_第3页
计算机组成原理第七章_第4页
计算机组成原理第七章_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第 七七 章章 指令系统指令系统 * *7.17.1机器指令机器指令* *7.27.2操作数类型和操作类型操作数类型和操作类型* *7.37.3寻址方式寻址方式7.47.4指令格式举例指令格式举例* *7.57.5指令格式的设计指令格式的设计7.6RISC 7.6RISC 技术技术 从计算机的层次结构来说,计算机指令有微指令、机从计算机的层次结构来说,计算机指令有微指令、机器指令和宏指令之分。一台计算机中所有机器指令的集合器指令和宏指令之分。一台计算机中所有机器指令的集合称为这台计算机的称为这台计算机的指令系统。指令系统。 指令系统指令系统是计算机硬件的语言系统,因此也叫做是计算机硬件的语言

2、系统,因此也叫做机器机器语言语言。指令系统是软件和硬件的主要交界面。指令系统是软件和硬件的主要交界面。 指令系统表征了计算机的指令系统表征了计算机的基本功能基本功能。它决定。它决定了机器了机器硬件硬件所具有的所具有的能力能力,也决定,也决定指令的格式指令的格式和和机器的机器的硬件结构硬件结构。对指令系统的要求对指令系统的要求完备性完备性: : 指令齐全,编程方便指令齐全,编程方便高效性高效性:占内存少,运行省时:占内存少,运行省时规整性规整性:指令与运算规则统一:指令与运算规则统一兼容性兼容性:新旧机指令软件兼容:新旧机指令软件兼容当前的计算机指令系统,可分为当前的计算机指令系统,可分为 CI

3、SC CISC 和和RISC RISC 两类:两类: RISCRISC(Reduced Instruction Set ComputerReduced Instruction Set Computer), ,通常称通常称为精简指令系统的计算机,只有数目较少、格式与功能简单、为精简指令系统的计算机,只有数目较少、格式与功能简单、运行高效的指令。运行高效的指令。 CISC CISC (Complex Instruction Set ComputerComplex Instruction Set Computer), ,通常通常称为称为复杂复杂指令系统的计算机,其特点是:指令条数多,指令系统的计算机

4、,其特点是:指令条数多,格式多样,寻址方式复杂,每条指令的功能强,优点是格式多样,寻址方式复杂,每条指令的功能强,优点是汇编程序设计容易些,但计算机控制器的实现困难多,汇编程序设计容易些,但计算机控制器的实现困难多,很多指令被使用的机会并不多。很多指令被使用的机会并不多。指令字长指令字长指一条指令中包含的二进制码位数指一条指令中包含的二进制码位数。 指令字长选取原则:指令字长选取原则: (1) 长度尽可能短,以节省存储空间和提高处理速度长度尽可能短,以节省存储空间和提高处理速度 (2) 指令中各信息位利用率尽可能高。指令中各信息位利用率尽可能高。指令字长指令字长常见结构:常见结构: (1) 定

5、长指令字结构:定长指令字结构:指令系统的所有指令长度相指令系统的所有指令长度相等。等。特点特点:结构简单,通常取:结构简单,通常取:指令字长指令字长=机器字长机器字长。 (2) 变长指令字结构:变长指令字结构:各种指令长度不等,如半字各种指令长度不等,如半字长、单字长、双字长等等。长、单字长、双字长等等。特点特点:结构灵活,能充:结构灵活,能充分利用指令信息位,但指令的分析复杂。分利用指令信息位,但指令的分析复杂。 操作码字段操作码字段 地址码字段地址码字段 指令的一般格式:指令的一般格式:7.1 机器指令机器指令操作码操作码 :表示指令的表示指令的操作性质操作性质,即指令要,即指令要 完成的

6、功能。完成的功能。地址码地址码 :指出操作数的指出操作数的地址地址,即指令操,即指令操 作对象所在的位置。作对象所在的位置。 指令地址码字段的格式指令地址码字段的格式通常按给出的操作数地址通常按给出的操作数地址的的个数个数进行安排。常用的有以下格式。进行安排。常用的有以下格式。 1、三地址指令、三地址指令 操作码操作码 A1 A2 A3 (A1) OP (A2) A3 7.1.1 地址码字段()地址码字段() 指令中的三个地址,指令中的三个地址,既可以是内存地址,也可以是通既可以是内存地址,也可以是通用寄存器号用寄存器号,根据操作数所处位置有:,根据操作数所处位置有: 存储器存储器存储器型(存

7、储器型(SS型)指令型)指令寄存器寄存器寄存器型(寄存器型(RR型)指令型)指令存储器存储器寄存器型(寄存器型(SR型)指令型)指令 3、一地址指令、一地址指令 操作码操作码 A (ACC) OP (A) ACC 2、二地址指令、二地址指令 操作码操作码 A1 A2 (A1) OP (A2) A1 4、零地址指令、零地址指令 操作码操作码适用于适用于控制类指令控制类指令或堆栈结构计算机,或堆栈结构计算机, (SP) OP (SP+1) SP+1 为了表示不同功能的指令,指令格式中为每一为了表示不同功能的指令,指令格式中为每一条指令都要安排一个条指令都要安排一个唯一唯一的操作码。的操作码。 操作

8、码字段位数选取操作码字段位数选取原则原则:应能表示指令系统:应能表示指令系统中的中的全部指令全部指令。 7.1.2 操作码字段操作码字段常用操作码格式:常用操作码格式: 1、定长操作码、定长操作码指令系统中所有指令的操作码位数一致。指令系统中所有指令的操作码位数一致。 特点:特点:译码结构简单,译码时间短。译码结构简单,译码时间短。 常用于字长较长的大、中型机。常用于字长较长的大、中型机。2、可变长操作码、可变长操作码指令系统中各种指令的操作码位数不一致。指令系统中各种指令的操作码位数不一致。特点:特点:可充分利用指令信息位,有效地压缩操可充分利用指令信息位,有效地压缩操 作码的平均长度。作码

9、的平均长度。操作码的扩展方法操作码的扩展方法 思想:思想:当指令当指令总长度不变总长度不变,且多种地址码结构,且多种地址码结构混合使用时,可使用地址码个数较混合使用时,可使用地址码个数较少少的指令空出的的指令空出的地址码部分,来增加操作码的位数。地址码部分,来增加操作码的位数。举例举例:下图为可扩展操作码的扩展过程示意图 15 12 11 6 5 0 OP A1 A2 1111 000000 A1 1111 000001 A1 1111 111110 A1 1010位操作码位操作码 ?条?条一地址指令一地址指令 0000 A1 A2 0001 A1 A2 1110 A1 A2 4 4位操作码位

10、操作码 ?条?条二地址指令二地址指令 1111 111111 000000 1111 111111 000001 1111 111111 111111 1616位操作码位操作码 ?条?条零地址指令零地址指令总结:总结:二地址格式的指令操作码每减少一种,就可多构成二地址格式的指令操作码每减少一种,就可多构成2 2n n(n n为操作数地址码的长度)种一地址指令操作码,以为操作数地址码的长度)种一地址指令操作码,以此类推。此类推。例:例:假设指令字长为假设指令字长为16位,操作数地址码为位,操作数地址码为6位,指令有零位,指令有零地址、一地址、二地址三种格式地址、一地址、二地址三种格式(1)设操作

11、码)设操作码固定固定,若零地址指令有,若零地址指令有P种,一地址指令有种,一地址指令有Q种,则二地址指令最多有几种?种,则二地址指令最多有几种?(2)若采用扩展操作码技术,若二地址指令有)若采用扩展操作码技术,若二地址指令有X种,零地址种,零地址指令有指令有Y种,则一地址指令最多有几种?种,则一地址指令最多有几种?7.2.1 操作数类型操作数类型 地地 址:址:指令中为了获得操作数,可看作无符指令中为了获得操作数,可看作无符号整数。号整数。 数数 字:字:包括定点数、浮点数和十进制数。包括定点数、浮点数和十进制数。 字字 符:符:包括单字符、字符串和文本。包括单字符、字符串和文本。 逻辑数:逻

12、辑数:逻辑数形式上与数值数据无区别,但逻辑数形式上与数值数据无区别,但逻辑数逻辑数n位间无数值和位权关系,运算时按位进行。位间无数值和位权关系,运算时按位进行。7.2 操作数类型和操作类型操作数类型和操作类型1 1、数据传送、数据传送 指令格式指令格式:MOVMOV 目的操作数,源操目的操作数,源操作数作数 包括寄存器与寄存器、寄存器与存储单元、包括寄存器与寄存器、寄存器与存储单元、存储单元与存储单元。存储单元与存储单元。2 2、算术逻辑运算、算术逻辑运算 包括定点算术运算、浮点算术运算、逻辑运包括定点算术运算、浮点算术运算、逻辑运算。它的操作结果一般会影响标志寄存器中的状态算。它的操作结果一

13、般会影响标志寄存器中的状态标志位,如标志位,如ZFZF、CFCF、SFSF、OFOF、AFAF、PFPF等。等。7.2.2 操作类型(指令类型)操作类型(指令类型)4 4、程序转移、程序转移无条件转移无条件转移条件转移条件转移子程序调用与返回子程序调用与返回中断及中断指令中断及中断指令 3 3、移位操作、移位操作包括算术移位、逻辑移位和循环移位。包括算术移位、逻辑移位和循环移位。6 6、其它、其它包括停机指令、空操作指令、开包括停机指令、空操作指令、开/ /关中断指令关中断指令等。等。5 5、输入输出、输入输出 输入指令输入指令格式:格式:IN 累加器累加器, 端口端口 输出指令格式:输出指令

14、格式:OUT 端口端口 , 累加器累加器 对于对于I/OI/O独立编址的计算机,通常设有专门的独立编址的计算机,通常设有专门的I/OI/O指令,完成指令,完成CPUCPU和和I/OI/O间的数据传送。间的数据传送。 寻址方式寻址方式指的是确定本条指令的指的是确定本条指令的数据地址数据地址及下一及下一条要执行的条要执行的指令地址指令地址的方法。的方法。 不同的计算机系统不同的计算机系统, ,使用数目和功能不同的寻址使用数目和功能不同的寻址方式,其实现的复杂程度各不相同。通常需要在指令方式,其实现的复杂程度各不相同。通常需要在指令中为中为每一个操作数专设一个地址字段每一个操作数专设一个地址字段,用

15、来表示数据,用来表示数据的的来源或去向来源或去向的地址。的地址。7.3 寻址方式寻址方式指令的寻址方式反映了程序的运行轨迹。指令的寻址方式反映了程序的运行轨迹。 1、顺序寻址、顺序寻址通过程序计数器通过程序计数器PC加加1,自动形成下一条指,自动形成下一条指令的地址。令的地址。 2、跳跃寻址、跳跃寻址对应于程序转移执行的方式,下一条指令的对应于程序转移执行的方式,下一条指令的地址由地址由转移类指令直接指出转移类指令直接指出,而不是由,而不是由PC顺序顺序计数提供。计数提供。PC内容按转移地址重新设置。内容按转移地址重新设置。7.3.1 指令的寻址方式指令的寻址方式7.3.2 数据的寻址方式数据

16、的寻址方式现代的计算机中,数据寻址方式较多,指令字中必须设现代的计算机中,数据寻址方式较多,指令字中必须设置一个字段来指明属于哪一种寻址方式,称为或置一个字段来指明属于哪一种寻址方式,称为或“寻址特征寻址特征码码”。 形式地址形式地址:指令的地址码字段一般都不代表操作数的真实地:指令的地址码字段一般都不代表操作数的真实地址,称为形式地址,记作址,称为形式地址,记作A A。 有效地址有效地址:操作数的真实地址称为有效地址,记作:操作数的真实地址称为有效地址,记作EAEA,由寻,由寻址方式和形式地址共同确定。址方式和形式地址共同确定。 一般,指令的格式如下:一般,指令的格式如下: 操作码操作码 寻

17、址特征寻址特征 形式地址形式地址A1 1、立即数寻址、立即数寻址 所需的一个所需的一个操作数操作数在指令的地址码部分直接给出。在指令的地址码部分直接给出。 不需要计算有效地址,不用访存,无需寻址。不需要计算有效地址,不用访存,无需寻址。 立即数立即数OP#Av说明说明立即寻址只能作为双操作数指令的立即寻址只能作为双操作数指令的源操作数源操作数。例:例:MOV AX,1000H需思考:每种寻址方式中有效地址的计算方法、访存次数以及寻址范围。需思考:每种寻址方式中有效地址的计算方法、访存次数以及寻址范围。2 2、存储器直接寻址存储器直接寻址 操作数在操作数在存储器存储器中,指令地址字段直接给出操作

18、数在存中,指令地址字段直接给出操作数在存储器中的储器中的地址地址。v说明:说明:EA = A, 访存一次访存一次例:例:MOV AX, 1000H寻址范围:为寻址范围:为28OP寻址特征AData存储器存储器A8位位 指令的地址码字段给出的内容既不是操作数,也不指令的地址码字段给出的内容既不是操作数,也不是操作数的地址,而是是操作数的地址,而是操作数地址的地址操作数地址的地址。分为一次间分为一次间接或多次间接寻址。接或多次间接寻址。3 3、(存储器)间接寻址、(存储器)间接寻址 v说明说明EA = (A)例:例:MOV R1, (1000H) 需访存需访存两两次次 寻址范围为寻址范围为2nOP

19、间接寻址特征ADataEAM(存储字长为(存储字长为n位)位)EAA8位位4 4、隐含寻址、隐含寻址 隐含寻址是指指令字中不明显地给出操作数的地址,其操隐含寻址是指指令字中不明显地给出操作数的地址,其操作数地址通常隐含在累加器作数地址通常隐含在累加器ACC中。中。 这样累加器这样累加器ACC就成了另一个操作数的地址就成了另一个操作数的地址ADD寻址特征AData存储器存储器A特点:(特点:(ACC)+(A)ACC需访存一次,寻址范围为:需访存一次,寻址范围为:288位位5 5、寄存、寄存器(直接)寻址器(直接)寻址 指令地址码字段给出某一通用寄存器的地址,指令地址码字段给出某一通用寄存器的地址

20、,且所需的且所需的操作数就在这一寄存器中操作数就在这一寄存器中。OP寻址特征位寻址特征位Riv说明说明EA = Ri例:例:MOV AX, R1不需要访存不需要访存Data寄存器寄存器 Ri 指令地址码字段给出某一通用寄存器的地址,该寄存器中指令地址码字段给出某一通用寄存器的地址,该寄存器中存放的是存放的是操作数操作数在内存储器中所在单元的在内存储器中所在单元的地址地址。6 6、寄存器间接寻址、寄存器间接寻址OPDesRiA寄存器寄存器RiData存储器存储器Av 说明说明EA = (Ri)例:例:MOV AX, R1访存一次访存一次 操作数在存储器中,指令地址字段给出操作数在存储器中,指令地

21、址字段给出一基址寄存器一基址寄存器和一形式地址和一形式地址,基址寄存器的内容与形式地址之,基址寄存器的内容与形式地址之和和是操作是操作数的内存地址。数的内存地址。7 7、基址寻址、基址寻址 OP寻址特征寻址特征ARbN基址寄存器基址寄存器Rb+DataA+NM(存储字长为(存储字长为n位)位)AA+1 v 说明说明EA = (Rb)+A例:例:MOV AX, 1000HBX访存一次,寻址范围为访存一次,寻址范围为2n8 8、变址寻址、变址寻址 操作数在存储器中,指令地址字段给出操作数在存储器中,指令地址字段给出一变址寄存一变址寄存器和一形式地址器和一形式地址,变址寄存器的内容与形式地址之,变址

22、寄存器的内容与形式地址之和和是操是操作数的内存地址。作数的内存地址。OP变址寻址特征变址寻址特征ARxN变址寄存变址寄存器器Rx+DataA+NM(存储字长为(存储字长为n位)位)AA+1 v 说明说明EA = (Rx)+A例:例:MOV AX, 1000HDI访存一次,寻址范围为:访存一次,寻址范围为:2n 操作数的地址由程序计数器操作数的地址由程序计数器PCPC的内容和指令的形式地的内容和指令的形式地址(偏移量)相址(偏移量)相加加得到。得到。9 9、相对寻址、相对寻址 OP寻址特征寻址特征A(8位)位)N PC+v说明说明EA = (PC)+A例:例:JNE A主要用于转移类指令。主要用

23、于转移类指令。需访存一次,寻址范围需访存一次,寻址范围28DataA+N存储器存储器AA+1 堆栈是一种存储装置,它依据堆栈是一种存储装置,它依据“后进先出后进先出(LIFO)(LIFO)”的原的原则存储数据,目前通常使用存储器堆栈。则存储数据,目前通常使用存储器堆栈。 存储器堆栈是在主存中开辟一块区域,该区域一端固定,存储器堆栈是在主存中开辟一块区域,该区域一端固定,称为称为栈底栈底;一端是浮动的,称为;一端是浮动的,称为栈顶栈顶,栈顶是数据唯一的出,栈顶是数据唯一的出入口。入口。堆栈指针始终指向栈顶。堆栈指针始终指向栈顶。 1010、堆栈寻址、堆栈寻址 下图为常用的一种堆栈的结构:下图为常

24、用的一种堆栈的结构: 空栈情况空栈情况xx.x堆栈指示器堆栈指示器SPSPxx.x栈长栈底栈底/ /栈顶栈顶存储器存储器非空栈情况非空栈情况Ac堆栈指示器堆栈指示器SPSP栈底栈底存储器存储器AaAbAcacb栈顶栈顶压栈操作压栈操作(PUSH)(PUSH): SP SP-1,(SP) 数据。数据。出栈操作出栈操作(POP)(POP):(SP) 出栈。出栈。 SP SP+1,高址高址低址低址7.5 指令格式的设计指令格式的设计设计指令格式应考虑的设计指令格式应考虑的各种因素各种因素:1.操作类型,即指令条数操作类型,即指令条数2.数据类型:哪些数据参与操作数据类型:哪些数据参与操作3.指令格式

25、:确定指令字长、操作码位数、地址码指令格式:确定指令字长、操作码位数、地址码位数、地址个数,需几位寻址方式特征位位数、地址个数,需几位寻址方式特征位4.寻址方式:操作数具体有哪些寻址方式寻址方式:操作数具体有哪些寻址方式5.寄存器个数寄存器个数例:例:某机主存容量为某机主存容量为3232K K1616位,且指令字长、机器字长和存位,且指令字长、机器字长和存储字长相等,采用单字长一地址指令,共有储字长相等,采用单字长一地址指令,共有4242条。设计四种寻条。设计四种寻址方式(直接寻址、间接寻址、变址寻址、基址寻址)的指令址方式(直接寻址、间接寻址、变址寻址、基址寻址)的指令格式,说明指令字格式以

26、及每种寻址方式有效地址的计算方法格式,说明指令字格式以及每种寻址方式有效地址的计算方法及寻址范围。及寻址范围。解:解:因该机共42条指令,所以其操作码长度为6位,有四种寻址方式,则寻址特征位为2位,所以地址码长度为8位。直接寻址,EA=A,寻址范围256。间接寻址,EA=(A),寻址范围216。基址寻址,EA=A+(BR),寻址范围216。变址寻址,EA=A+(IX),寻址范围216。7.6 RISC 7.6 RISC 技术技术 由于历史的原因,计算机的指令系统为了适应程序的兼由于历史的原因,计算机的指令系统为了适应程序的兼容性、编程的简洁性和硬件系统功能的完善性,把以前用容性、编程的简洁性和硬件系统功能的完善性,把以前用软件可以实现的功能改为用软件可以实现的功能改为用指令指令实现,使得计算机指令系实现,使得计算机指令系统越来越复杂,这种计算机称为统越来越复杂,这种计算机称为“复杂指令系统计算机复杂指令系统计算机”,简称简称CISC。 CISC的指令系统一般包含的指令系统一般包含二到三百条指令二到三百条指令,但测试表,但测试表明,仅明,仅20%指令使用的频率超过指令使用的频率超过80%,80%指令的使用指令的使用频率不足频率不足20%。 RISC(精简指令系统计算机)(精简指令系统计算机)针对上述情况,作出针对上述情况,作出如下安排:如下安排: 指令系统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论