软件工程--05指令系统

上传人:re****.1 文档编号:568738961 上传时间:2024-07-26 格式:PPT 页数:47 大小:1.44MB
返回 下载 相关 举报
软件工程--05指令系统_第1页
第1页 / 共47页
软件工程--05指令系统_第2页
第2页 / 共47页
软件工程--05指令系统_第3页
第3页 / 共47页
软件工程--05指令系统_第4页
第4页 / 共47页
软件工程--05指令系统_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《软件工程--05指令系统》由会员分享,可在线阅读,更多相关《软件工程--05指令系统(47页珍藏版)》请在金锄头文库上搜索。

1、第五章第五章 指指 令令 系系 统统n 机器指令机器指令 n 操作数类型和操作类型操作数类型和操作类型 n 寻址方式寻址方式 n 指令格式举例指令格式举例 n RISC 技术技术 5.1 指令格式设计指令格式设计一、指令系统的发展一、指令系统的发展指令系统指令系统一台计算机中所有机器指令的集合一台计算机中所有机器指令的集合是表征一台计算机性能的重要因素,其是表征一台计算机性能的重要因素,其格式与功能格式与功能不仅直接影响到不仅直接影响到机器的机器的硬件结构硬件结构,也直接影响到,也直接影响到系统软件系统软件,影响到机器的,影响到机器的适用范围适用范围分立元件分立元件十几至几十条指令十几至几十条

2、指令集成电路集成电路一、二百条一、二百条VLSIVLSI几百条几百条复杂指令系统计算机复杂指令系统计算机(CISC)精简指令系统计算机(精简指令系统计算机(RISC)Complex Instruction Set Complex Instruction Set ComputerComputerReduced Reduced 二、指令的一般格式二、指令的一般格式 操作码字段操作码字段 地址码字段地址码字段1. 操作码操作码反映机器做什么操作反映机器做什么操作(1) 长度固定长度固定(2) 长度可变长度可变用于指令字长较长的情况用于指令字长较长的情况,RISC如如 IBM 370操作码操作码 8

3、位位操作码分散在指令字的不同字段中操作码分散在指令字的不同字段中2. 地址码地址码(1) 四地址四地址(2) 三地址三地址OP A1 A2 A3 A48 6 6 6 6A1 第一操作数地址第一操作数地址A2 第二操作数地址第二操作数地址A3 结果的地址结果的地址A4 下一条指令地址下一条指令地址若若 PC 代替代替 A4(A1) OP (A2) A38 8 8 8 OP A1 A2 A3(A1) OP (A2) A34 次访存次访存4 次访存次访存寻址范围寻址范围 26 = 64寻址范围寻址范围 28 = 256若若 A3 用用 A1 或或 A2 代替代替设指令字长为设指令字长为 32 位位操

4、作码固定为操作码固定为 8 位位(3) 二地址二地址OP A1 A28 12 12(A1) OP (A2) A1(A1) OP (A2) A2或或4 次访存次访存若若ACC 代替代替 A1(或或A2)?若结果存于若结果存于 ACC (4) 一地址一地址(5) 零地址零地址OP A18 24无地址码无地址码(ACC) OP (A1) ACC2 次访存次访存寻址范围寻址范围 212 = 4 K寻址范围寻址范围 224 = 16 M 3次访存次访存小结小结 当用一些硬件资源代替指令字中的地址码字段后当用一些硬件资源代替指令字中的地址码字段后 当指令的地址字段为寄存器时当指令的地址字段为寄存器时 可扩

5、大指令的寻址范围可扩大指令的寻址范围 可缩短指令字长可缩短指令字长 可减少访存次数可减少访存次数 三地址三地址 OP R1, R2, R3 二地址二地址 OP R1, R2 一地址一地址 OP R1 指令执行阶段不访存指令执行阶段不访存 可缩短指令字长可缩短指令字长三、指令格式设计原则三、指令格式设计原则p应尽量短应尽量短p要有足够的操作码位数要有足够的操作码位数p指令编码必须有唯一的解释,否则是不合法的指令指令编码必须有唯一的解释,否则是不合法的指令p指令字长应是字节的整数倍指令字长应是字节的整数倍p合理地选择地址字段的个数合理地选择地址字段的个数p指令尽量规整指令尽量规整5.2 5.2 指

6、令系统设计指令系统设计p完整性或完备性完整性或完备性p兼容性兼容性p均匀性均匀性p可扩充性可扩充性 应遵循的几条基本原则应遵循的几条基本原则一、基本设计问题一、基本设计问题p操作码的全部组成:操作码个数操作码的全部组成:操作码个数/ /种类种类/ /复杂度复杂度 LD/ST/INC/BRN LD/ST/INC/BRN 四种指令已足够编制任何可计算程序,四种指令已足够编制任何可计算程序, 但程序会很长但程序会很长p数据类型:对哪几种数据类型完成操作数据类型:对哪几种数据类型完成操作p指令格式:指令长度指令格式:指令长度/ /地址码个数地址码个数/ /各字段长度各字段长度p通用寄存器:个数通用寄存

7、器:个数/ /功能功能/ /长度长度p寻址方式:操作数地址的指定方式寻址方式:操作数地址的指定方式p下条指令的地址如何确定:顺序,下条指令的地址如何确定:顺序,PC+1PC+1;条件转移;条件转移; 无条件转移;无条件转移;二、操作数类型二、操作数类型p地址地址p数字数字p位、位串、字符和字符串位、位串、字符和字符串p逻辑数逻辑数无符号整数无符号整数定点数、浮点数、十进制数定点数、浮点数、十进制数ASCII逻辑运算逻辑运算三、寻址方式三、寻址方式p确定确定 本条指令本条指令 的的 操作数地址操作数地址指令寻址指令寻址数据寻址数据寻址p下一条下一条 欲执行欲执行 指令指令 的的 指令地址指令地址

8、指令的寻址指令的寻址简单简单正常:正常:PC增值增值跳转跳转 ( jump / branch / call / return ):同操作数的寻址:同操作数的寻址操作数的寻址操作数的寻址复杂复杂操作数来源:寄存器操作数来源:寄存器 / 外设端口外设端口 / 主主(虚虚)存存 / 栈顶栈顶操作数结构:位操作数结构:位 / 字节字节 / 半字半字 / 字字 / 一维表一维表 / 二维表二维表 数据寻址数据寻址 形式地址形式地址A 指令字中的地址指令字中的地址 有效地址有效地址EA 操作数的真实地址操作数的真实地址 约定约定 指令字长指令字长 = 存储字长存储字长 = 机器字长机器字长1. 立即寻址立

9、即寻址 指令执行阶段不访存指令执行阶段不访存 A 的位数限制了立即数的范围的位数限制了立即数的范围形式地址形式地址 A操作码操作码寻址特征寻址特征OP # A立即寻址特征立即寻址特征立即数立即数 可正可负可正可负 补码补码形式地址形式地址 A 就是操作数就是操作数2. 直接寻址直接寻址EA = A操作数操作数主存主存寻址特征寻址特征LDAAAACC 执行阶段访问一次存储器执行阶段访问一次存储器 A 的位数决定了该指令操作数的寻址范围的位数决定了该指令操作数的寻址范围 操作数的地址不易修改(必须修改操作数的地址不易修改(必须修改A)有效地址由形式地址直接给出有效地址由形式地址直接给出3. 隐含寻

10、址隐含寻址操作数地址隐含在操作码中操作数地址隐含在操作码中ADDA操作数操作数主存主存寻址特征寻址特征AACC暂存暂存ALU另一个操作数另一个操作数隐含在隐含在 ACC 中中如如 8086MUL 指令指令被乘数隐含在被乘数隐含在 AX(16位)或位)或 AL(8位)中位)中MOVS 指令指令源操作数的地址隐含在源操作数的地址隐含在 SI 中中目的操作数的地址隐含在目的操作数的地址隐含在 DI 中中 指令字中少了一个地址字段,可缩短指令字长指令字中少了一个地址字段,可缩短指令字长4. 间接寻址间接寻址EA =(A)有效地址由形式地址间接提供有效地址由形式地址间接提供OPA寻址特征寻址特征AEA主

11、存主存EAA1EA A1主存主存 EA10 执行指令阶段执行指令阶段 2 次访存次访存 可扩大寻址范围可扩大寻址范围 便于编制程序便于编制程序OPA寻址特征寻址特征A一次间址一次间址多次间址多次间址操作数操作数操作数操作数多次访存多次访存 子程序子程序主程序主程序8081201202转转 子程序子程序转转 子程序子程序间接寻址编程举例间接寻址编程举例(A) = 81(A) = 202 间址特征间址特征JMP A 5. 寄存器寻址寄存器寻址EA = Ri 执行阶段不访存,只访问寄存器,执行速度快执行阶段不访存,只访问寄存器,执行速度快OPRi寻址特征寻址特征 寄存器个数有限,可缩短指令字长寄存器

12、个数有限,可缩短指令字长操作数操作数R0RiRn寄存器寄存器有效地址即为寄存器编号有效地址即为寄存器编号EA = ( Ri )6. 寄存器间接寻址寄存器间接寻址 有效地址在寄存器中,有效地址在寄存器中, 操作数在存储器中,执行阶段访存操作数在存储器中,执行阶段访存操作数操作数主存主存OPRi寻址特征寻址特征 便于编制循环程序便于编制循环程序地址地址R0RiRn寄存器寄存器有效地址在寄存器中有效地址在寄存器中7. 基址寻址基址寻址(1) 采用专用寄存器作基址寄存器采用专用寄存器作基址寄存器EA = ( BR ) + ABR 为基址寄存器为基址寄存器OPA操作数操作数主存主存寻址特征寻址特征ALU

13、BR 可扩大寻址范围可扩大寻址范围 便于程序搬家便于程序搬家 BR 内容由操作系统或管理程序确定内容由操作系统或管理程序确定 在程序的执行过程中在程序的执行过程中 BR 内容不变,形式地址内容不变,形式地址 A 可变可变(2) 采用通用寄存器作基址寄存器采用通用寄存器作基址寄存器操作数操作数主存主存寻址特征寻址特征ALUOPR0AR0 作基址寄存器作基址寄存器 由用户指定哪个通用寄存器作为基址寄存器由用户指定哪个通用寄存器作为基址寄存器通用寄存器通用寄存器R0Rn-1R1 基址寄存器的内容由操作系统确定基址寄存器的内容由操作系统确定 在程序的执行过程中在程序的执行过程中 R0 内容不变,形式地

14、址内容不变,形式地址 A 可变可变8. 变址寻址变址寻址EA = ( IX ) +AOPA操作数操作数主存主存寻址特征寻址特征ALUIX 可扩大寻址范围可扩大寻址范围 便于处理数组问题便于处理数组问题 IX 的内容由用户给定的内容由用户给定 IX 为变址寄存器(专用)为变址寄存器(专用) 在程序的执行过程中在程序的执行过程中 IX 内容可变,形式地址内容可变,形式地址 A 不变不变通用寄存器也可以作为变址寄存器通用寄存器也可以作为变址寄存器例例 设数据块首地址为设数据块首地址为 D,求求 N 个数的平均值个数的平均值直接寻址直接寻址变址寻址变址寻址LDA DADD D + 1ADD D + 2

15、ADD D + ( N -1 )DIV # NSTA ANSLDA # 0LDX # 0INXCPX # NBNE MDIV # NSTA ANS共共 N + 2 条指令条指令共共 8 条指令条指令ADD X, DMX 为变址寄存器为变址寄存器D 为形式地址为形式地址(X) 和和 #N 比较比较(X) +1 X结果不为零则转结果不为零则转9. 相对寻址相对寻址 EA = ( PC ) + AA 是相对于当前指令的位移量(可正可负,补码)是相对于当前指令的位移量(可正可负,补码) A 的位数决定操作数的寻址范围的位数决定操作数的寻址范围 程序浮动程序浮动 广泛用于转移指令广泛用于转移指令操作数操

16、作数寻址特征寻址特征ALUOPA相对距离相对距离 A1000PC主存主存1000AOP (1) 相对寻址举例相对寻址举例M 随程序所在存储空间的位置不同而不同随程序所在存储空间的位置不同而不同EA = ( M+3 ) 3 = M 3*LDA # 0LDX # 0ADD X, DINXCPX # NBNE MDIV # NSTA ANSMM+1M+2M+3而指令而指令 BNE 与与 指令指令 ADD X, D 相对位移量不变相对位移量不变 3* 指令指令 BNE转移的有效地址为转移的有效地址为 3* 相对寻址特征相对寻址特征*(2) 按字节寻址的相对寻址举例按字节寻址的相对寻址举例OP位移量位移

17、量2000 H2008 H8JMP * + 8OP06 H2000 H2008 H8设设 当前指令地址当前指令地址 PC = 2000H转移后的目的地址为转移后的目的地址为 2008H因为因为 取出取出 JMP * + 8 后后 PC = 2002H二字节指令二字节指令故故 JMP * + 8 指令指令 的第二字节为的第二字节为 2008H - 2002H = 6H10. 堆栈寻址堆栈寻址(1) 堆栈的特点堆栈的特点堆栈堆栈硬堆栈硬堆栈软堆栈软堆栈多个寄存器多个寄存器指定的存储空间指定的存储空间先进后出先进后出(一个入出口)(一个入出口) 栈顶地址栈顶地址 由由 SP 指出指出 11FFFH

18、+12000 H进栈进栈 (SP) 1 SP出栈出栈 (SP)+ 1 SP栈顶栈顶栈底栈底2000 HSP2000 H1FFF HSP1FFFH栈顶栈顶栈底栈底进栈进栈出栈出栈 1FFF H 2000 H栈顶栈顶栈顶栈顶(2) 堆栈寻址举例堆栈寻址举例15200HACCSPX栈顶栈顶200H栈底栈底主存主存151FFHACCSP15栈顶栈顶200H栈底栈底主存主存X1FFHPUSH A 前前PUSH A 后后POP A 前前POP A 后后Y1FFHACCSPX栈顶栈顶200H栈底栈底主存主存151FFH15200HACCSP栈顶栈顶200H栈底栈底主存主存X15(3) SP 的修改与主存编址

19、方法有关的修改与主存编址方法有关 按按 字字 编址编址进栈进栈出栈出栈(SP) 1 SP(SP)+ 1 SP 按按 字节字节 编址编址存储字长存储字长 16 位位进栈进栈出栈出栈(SP) 2 SP(SP)+ 2 SP存储字长存储字长 32 位位进栈进栈出栈出栈(SP) 4 SP(SP)+ 4 SP四、操作类型四、操作类型1. 数据传送数据传送源源目的目的寄存器寄存器寄存器寄存器寄存器寄存器寄存器寄存器存储器存储器存储器存储器存储器存储器存储器存储器置置“1”,清,清“0”2. 算术逻辑操作算术逻辑操作加、减、乘、除、增加、减、乘、除、增 1、减、减 1、求补、浮点运算、十进制运算、求补、浮点运

20、算、十进制运算与、或、非、异或、位操作、位测试、位清除、位求反与、或、非、异或、位操作、位测试、位清除、位求反如如 8086MOVESTORELOADMOVEPUSHPOP例如例如MOVEMOVEADD SUB MUL DIV INC DEC CMP NEG AAA AAS AAM AAD AND OR NOT XOR TEST3. 移位操作移位操作算术移位算术移位4. 转移转移(1) 无条件转移无条件转移 JMP(2) 条件转移条件转移结果为零转结果为零转 (Z = 1) JZ结果溢出转结果溢出转 (O = 1)JO结果有进位转(结果有进位转(C = 1)JC跳过一条指令跳过一条指令 SKP

21、循环移位(带进位和不带进位)循环移位(带进位和不带进位)如如300305306307SKP DZ D = 0 则跳则跳逻辑移位逻辑移位完成触发器完成触发器(3) 调用和返回调用和返回CALL SUB1. .CALL SUB2.CALL SUB2RETURNRETURN.主程序主程序地址地址200021002101子程序子程序SUB1240025002501256025612700主存空间分配主存空间分配程序执行流程程序执行流程子程序子程序SUB2IN AX, nOUT DX, ALOUT n, AXOUT DX, AX(4) 陷阱(陷阱(Trap)与陷阱指令与陷阱指令意外事故的中断意外事故的中

22、断 设置供用户使用的陷阱指令设置供用户使用的陷阱指令如如 8086 INT TYPE 软中断软中断提供给用户使用的陷阱指令,完成系统调用提供给用户使用的陷阱指令,完成系统调用5. 输入输出输入输出 一般不提供给用户直接使用一般不提供给用户直接使用 在出现事故时,由在出现事故时,由 CPU 自动产生并执行(隐指令)自动产生并执行(隐指令)IN AL, DXIN AX, DX入入 端口地址端口地址 CPU 的寄存器的寄存器出出 CPU 的寄存器的寄存器 端口地址端口地址如如如如IN AL, nOUT n, AL五、操作码编码五、操作码编码u 操作码的编码有两种方式操作码的编码有两种方式 - Fix

23、ed Length Opcodes (定长操作码法定长操作码法) - Expanding Opcodes (扩展操作码编法扩展操作码编法)u 指令字长指令字长 代码长度更重要时:采用变长指令字、变长操作码代码长度更重要时:采用变长指令字、变长操作码 性能更重要时:采用定长指令字、定长操作码性能更重要时:采用定长指令字、定长操作码 为什么?为什么?问题:是否可以有定长指令字、变长操作码?定长操作码、问题:是否可以有定长指令字、变长操作码?定长操作码、 变长指令字呢?变长指令字呢? 实际上,指令长度是否可变与操作码长度是否可变没有绝对关实际上,指令长度是否可变与操作码长度是否可变没有绝对关系,但通

24、常是系,但通常是 “定长操作码、但不一定是定长指令字定长操作码、但不一定是定长指令字”、 “变长操变长操作码、一般是变长指令字作码、一般是变长指令字”。1.1.定长编码定长编码p 基本思想:指令的操作码部分采用固定长度的编码基本思想:指令的操作码部分采用固定长度的编码 如:假设操作码固定为如:假设操作码固定为6位,则系统最多可表示位,则系统最多可表示64种指令种指令p特点:译码方便,但有信息冗余特点:译码方便,但有信息冗余p举例举例 IBM360/370采用采用:位定长操作码,最多可有位定长操作码,最多可有256条指令条指令只提供了只提供了183条指令,有条指令,有73种编码为冗余信息种编码为

25、冗余信息机器字长机器字长32位,按字节编址位,按字节编址有有16个个32位通用寄存器,基址器位通用寄存器,基址器B和变址器和变址器X可用其中任意可用其中任意一个一个2.2.扩展编码扩展编码p基本思想基本思想 将操作码的编码长度分成几种固定长的格式。被大多数将操作码的编码长度分成几种固定长的格式。被大多数指令集采用。指令集采用。PDP-11是典型的变长操作码机器是典型的变长操作码机器p种类种类等长扩展法:等长扩展法:4-8-12;3-6-9;. 不等长扩展法不等长扩展法 ? 条二地址指令条二地址指令 31例例1: 扩展操作码技术扩展操作码技术操作码的位数随地址数的减少而增加操作码的位数随地址数的

26、减少而增加OP A1 A2 A3000000011110A1A1A1A2A2A2A3A3A3A2A2A2A3A3A3111111111111000000011110111111111111111111111111111111111111000000011111111111111111111111111111A3A3A30000000111104 位操作码位操作码8 位操作码位操作码12 位操作码位操作码16 位操作码位操作码15条三地址指令条三地址指令15条二地址指令条二地址指令15条一地址指令条一地址指令16条零地址指令条零地址指令 固定格式最多固定格式最多几条指令?几条指令?4 4 4 4

27、 4 4 4 4 14条三地址指令条三地址指令例例2 设某指令系统指令字是设某指令系统指令字是16位,每个地址码为位,每个地址码为6位。若二地址位。若二地址指令指令15条,一地址指令条,一地址指令34条,则剩下零地址指令最多有多少条,则剩下零地址指令最多有多少条?条?解解:操作码按短到长进行扩展编码操作码按短到长进行扩展编码 二地址指令二地址指令: (0000 1110) 一地址指令一地址指令: 11110 (00000 11111); 11111 (00000 00001) 零地址指令零地址指令: 11111 (00010 11111) (000000 111111) 故零地址指令最多有故零

28、地址指令最多有 30x26=15x27 种种六、指令设计风格六、指令设计风格p 按操作数位置指定风格来分按操作数位置指定风格来分累加器型累加器型堆栈型堆栈型其中一个操作数(源操作数其中一个操作数(源操作数1 1)和目的操作数总在累加器中)和目的操作数总在累加器中总是将栈顶两个操作数进行运算,指令无需指定操作数地址总是将栈顶两个操作数进行运算,指令无需指定操作数地址操作数可以是寄存器或存储器数据操作数可以是寄存器或存储器数据通用寄存器型通用寄存器型 75年开始,寄存器型占主导地位年开始,寄存器型占主导地位 寄存器速度快,使用大量通用寄存器可减少访存操作寄存器速度快,使用大量通用寄存器可减少访存操

29、作 表达式编译时与顺序无关(相对于表达式编译时与顺序无关(相对于Stack)六、指令设计风格六、指令设计风格p 按操作数位置指定风格来分按操作数位置指定风格来分累加器型累加器型装入装入/存储型存储型堆栈型堆栈型其中一个操作数(源操作数其中一个操作数(源操作数1 1)和目的操作数总在累加器中)和目的操作数总在累加器中总是将栈顶两个操作数进行运算,指令无需指定操作数地址总是将栈顶两个操作数进行运算,指令无需指定操作数地址操作数可以是寄存器或存储器数据操作数可以是寄存器或存储器数据运算操作数只能是寄存器数据,只有运算操作数只能是寄存器数据,只有load/storeload/store能访问存储器能访

30、问存储器通用寄存器型通用寄存器型早期早期CISC设计风格的主要特点设计风格的主要特点 (1) 指令系统复杂指令系统复杂 指令多指令多 / 寻址方式多寻址方式多 / 指令格式多指令格式多 (2) 指令周期长指令周期长 绝大多数指令需要多个时钟周期才能完成绝大多数指令需要多个时钟周期才能完成 (3) 各种指令都能访问存储器各种指令都能访问存储器 除了专门的存储器读写指令外,除了专门的存储器读写指令外, 运算指令也能访问存储器运算指令也能访问存储器 (4) 采用微程序控制采用微程序控制 (5) 有专用寄存器有专用寄存器 (6) 难以进行编译优化来生成高效目标代码难以进行编译优化来生成高效目标代码p按

31、指令格式的复杂度来分按指令格式的复杂度来分复杂指令集计算机复杂指令集计算机CISC (Complex Instruction Set Computer)精简指令集计算机精简指令集计算机RISC (Reduce Instruction Set Computer)CISCCISC的缺陷的缺陷 日趋庞大的指令系统不但使计算机的日趋庞大的指令系统不但使计算机的研制周期变长研制周期变长,而且而且难以保证设计的正确性,难以调试和维护,难以保证设计的正确性,难以调试和维护,并且因指并且因指令操作复杂而令操作复杂而增加机器周期增加机器周期,从而,从而降低了系统性能。降低了系统性能。386386耗资耗资1.51

32、.5亿,开发时间长达三年,正确性很难保证,难以亿,开发时间长达三年,正确性很难保证,难以维护,很快淘汰。维护,很快淘汰。IBM1975IBM1975年投资年投资1010亿美元研制的高速机器亿美元研制的高速机器FSFS机,最后以机,最后以“结构结构复杂不宜构成高速计算机复杂不宜构成高速计算机”的结论宣告失败。的结论宣告失败。对对CISCCISC进行测试,发现一个事实:进行测试,发现一个事实:在程序中各种指令出现的频率悬殊很大,最常使用的是一些在程序中各种指令出现的频率悬殊很大,最常使用的是一些简简单指令,这些指令占程序的单指令,这些指令占程序的80%80%,但只占指令系统的,但只占指令系统的20

33、%20%。而且。而且在微程序控制的计算机中,在微程序控制的计算机中,占指令总数占指令总数20%20%的复杂指令占用了的复杂指令占用了控制存储器容量的控制存储器容量的80%80%。Top 10 80x86 Instructions简单指令占主要部分,简单指令占主要部分,使用频率高!使用频率高! 1975 1975年年IBMIBM公司开始研究指令系统的合理性问题,公司开始研究指令系统的合理性问题,John CocksJohn Cocks提出提出精简指令系统计算机精简指令系统计算机 RISCRISC 。RISCRISC设计风格的主要特点设计风格的主要特点(1) (1) 简化的指令系统简化的指令系统

34、指令少指令少 / / 寻址方式少寻址方式少 / / 指令格式少指令格式少 / / 指令长度一致指令长度一致(2) (2) 以以RRRR方式工作方式工作 只有只有Load/StoreLoad/Store指令访问存储器,其余指令都只访问寄存器指令访问存储器,其余指令都只访问寄存器(3) (3) 指令周期短指令周期短 以流水线方式工作,以流水线方式工作, 因而除因而除Load/StoreLoad/Store指令外,其他简单指令外,其他简单 指令都只需一个或一个不到的时钟周期就可完成。指令都只需一个或一个不到的时钟周期就可完成。(4) (4) 采用大量通用寄存器,以减少访存次数采用大量通用寄存器,以减

35、少访存次数(5) (5) 采用组合逻辑电路控制,不用或少用微程序控制采用组合逻辑电路控制,不用或少用微程序控制(6) (6) 采用优化的编译系统,力求有效地支持高级语言程序采用优化的编译系统,力求有效地支持高级语言程序u19821982年美国加州伯克利大学的年美国加州伯克利大学的RISCRISC,斯坦福斯坦福大学的大学的MIPSMIPS,IBMIBM公司的公司的IBM801IBM801相继宣告完成,相继宣告完成,这些机器被称为这些机器被称为第一代第一代RISCRISC机机。u8282年以来新的指令集大多采用年以来新的指令集大多采用RISCRISC体系结构体系结构uIntel x86Intel

36、x86因为因为“兼容兼容”的需要,保留了的需要,保留了CISCCISC的风格,同时也借鉴了的风格,同时也借鉴了RISCRISC思想思想 5.3 指令系统实例(指令系统实例( Intel 8086 )(1) 指令字长指令字长(2) 地址格式地址格式1 6 个字节个字节MOV WORD PTR0204, 0138H 6 字节字节INC AX 1 字节字节一地址一地址NOP 1 字节字节CALL段内调用段内调用 3 字节字节零地址零地址 5 字节字节段间调用段间调用寄存器寄存器 寄存器寄存器寄存器寄存器 立即数立即数寄存器寄存器 存储器存储器ADD AX,BX 2 字节字节ADD AX,3048H 4 字节字节ADD AX,3048H 3 字节字节二地址二地址CALL自学自学MIPSMIPS汇编语言和机器语言汇编语言和机器语言习题:习题:3、4、6、7、5.4 程序的机器级表示程序的机器级表示

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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