计算机组成原理第2版-ch07剖析.

上传人:今*** 文档编号:106692916 上传时间:2019-10-15 格式:PPT 页数:43 大小:1.71MB
返回 下载 相关 举报
计算机组成原理第2版-ch07剖析._第1页
第1页 / 共43页
计算机组成原理第2版-ch07剖析._第2页
第2页 / 共43页
计算机组成原理第2版-ch07剖析._第3页
第3页 / 共43页
计算机组成原理第2版-ch07剖析._第4页
第4页 / 共43页
计算机组成原理第2版-ch07剖析._第5页
第5页 / 共43页
点击查看更多>>
资源描述

《计算机组成原理第2版-ch07剖析.》由会员分享,可在线阅读,更多相关《计算机组成原理第2版-ch07剖析.(43页珍藏版)》请在金锄头文库上搜索。

1、第章 指 令 系 统,7.1 机 器 指 令,一、指令的一般格式,1. 操作码,反映机器做什么操作,(1) 长度固定,(2) 长度可变,用于指令字长较长的情况,,RISC,如 IBM 370,操作码 8 位,操作码分散在指令字的不同字段中,(3) 扩展操作码技术,操作码的位数随地址数的减少而增加,4 位操作码,8 位操作码,12 位操作码,16 位操作码,最多15条三地址指令,最多15条二地址指令,最多15条一地址指令,16条零地址指令,7.1,三地址指令操作码 每减少一种可多构成 24 种二地址指令,二地址指令操作码 每减少一种可多构成 24 种一地址指令,7.1,2. 地址码,(1) 四地

2、址,(2) 三地址,8 6 6 6 6,A1 第一操作数地址,A2 第二操作数地址,A3 结果的地址,A4 下一条指令地址,若 PC 代替 A4,8 8 8 8,4 次访存,4 次访存,寻址范围 26 = 64,寻址范围 28 = 256,若 A3 用 A1 或 A2 代替,7.1,(3) 二地址,8 12 12,或,4 次访存,若ACC 代替 A1(或A2),若结果存于 ACC,(4) 一地址,(5) 零地址,8 24,无地址码,2 次访存,寻址范围 212 = 4 K,寻址范围 224 = 16 M,3次访存,7.1,二、指令字长,指令字长决定于,操作码的长度,指令字长 = 存储字长,2.

3、 指令字长 可变,操作数地址的长度,操作数地址的个数,1. 指令字长 固定,按字节的倍数变化,7.1,小结,当用一些硬件资源代替指令字中的地址码字段后,当指令的地址字段为寄存器时,可扩大指令的寻址范围,可缩短指令字长,可减少访存次数,三地址 OP R1, R2, R3,二地址 OP R1, R2,一地址 OP R1,指令执行阶段不访存,可缩短指令字长,7.1,7.2 操作数类型和操作种类,一、操作数类型,无符号整数,定点数、浮点数、十进制数,ASCII,逻辑运算,二、数据在存储器中的存放方式,字地址 为 低字节 地址,字地址 为 高字节 地址,存储器中的数据存放(存储字长为 32 位),7.2

4、,三、操作类型,1. 数据传送,寄存器,寄存器,寄存器,寄存器,存储器,存储器,存储器,存储器,置“1”,清“0”,2. 算术逻辑操作,加、减、乘、除、增 1、减 1、求补、浮点运算、十进制运算,与、或、非、异或、位操作、位测试、位清除、位求反,如 8086,MOVE,STORE,LOAD,MOVE,PUSH,POP,例如,MOVE,MOVE,7.2,ADD SUB MUL DIV INC DEC CMP NEG AAA AAS AAM AAD AND OR NOT XOR TEST,3. 移位操作,算术移位,4. 转移,(1) 无条件转移 JMP,(2) 条件转移,结果为零转 (Z = 1)

5、 JZ,结果溢出转 (O = 1)JO,结果有进位转(C = 1)JC,跳过一条指令 SKP,循环移位(带进位和不带进位),如,逻辑移位,完成触发器,7.2,(3) 调用和返回 P309,CALL SUB1,CALL SUB2,CALL SUB2,RETURN,RETURN,7.2,IN AX, n,OUT DX, AL,OUT n, AX,OUT DX, AX,(4) 陷阱(Trap)与陷阱指令,意外事故的中断,设置供用户使用的陷阱指令,如 8086 INT TYPE 软中断,提供给用户使用的陷阱指令,完成系统调用,5. 输入输出,IN AL, DX,IN AX, DX,7.2,如,如,IN

6、 AL, n,OUT n, AL,7.3 寻 址 方 式,寻址方式,确定 本条指令 的 操作数地址 下一条 欲执行 指令 的 指令地址,寻址方式,7.3 寻 址 方 式,一、指令寻址,顺序,跳跃,由转移指令指出,二、数据寻址,形式地址,指令字中的地址,有效地址,操作数的真实地址,约定,指令字长 = 存储字长 = 机器字长,1. 立即寻址,指令执行阶段不访存,A 的位数限制了立即数的范围,可正可负 补码,形式地址 A 就是操作数,7.3,2. 直接寻址,EA = A,寻址特征,A,ACC,执行阶段访问一次存储器,A 的位数决定了该指令操作数的寻址范围,操作数的地址不易修改(必须修改A),有效地址

7、由形式地址直接给出,7.3,3. 隐含寻址,操作数地址隐含在操作码中,寻址特征,A,ACC,暂存,另一个操作数 隐含在 ACC 中,如 8086,MUL 指令,被乘数隐含在 AX(16位)或 AL(8位)中,MOVS 指令,源操作数的地址隐含在 SI 中,目的操作数的地址隐含在 DI 中,指令字中少了一个地址字段,可缩短指令字长,7.3,4. 间接寻址,EA =(A),有效地址由形式地址间接提供,寻址特征,A,EA,A1,EA,执行指令阶段 2 次访存,可扩大寻址范围,便于编制程序,寻址特征,A,一次间址,多次间址,操作数,操作数,多次访存,7.3, ,调用子程序,调用子程序,间接寻址编程举例

8、,(A) = 81,(A) = 202, 间址特征,7.3,JMP A,5. 寄存器寻址,EA = Ri,执行阶段不访存,只访问寄存器,执行速度快,寻址特征,寄存器个数有限,可缩短指令字长,有效地址即为寄存器编号,7.3,EA = ( Ri ),6. 寄存器间接寻址,有效地址在寄存器中, 操作数在存储器中,执行阶段访存,寻址特征,便于编制循环程序,有效地址在寄存器中,7.3,7. 基址寻址,(1) 采用专用寄存器作基址寄存器,EA = ( BR ) + A,BR 为基址寄存器,寻址特征,可扩大寻址范围,有利于多道程序,BR 内容由操作系统或管理程序确定,在程序的执行过程中 BR 内容不变,形式

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

10、( N -1 ),DIV # N,STA ANS,LDA # 0,LDX # 0,INX,CPX # N,BNE M,DIV # N,STA ANS,共 N + 2 条指令,共 8 条指令,ADD X, D,M,X 为变址寄存器,D 为形式地址,(X) 和 #N 比较,结果不为零则转,7.3,9. 相对寻址,EA = ( PC ) + A,A 是相对于当前指令的位移量(可正可负,补码),A 的位数决定操作数的寻址范围,程序浮动,广泛用于转移指令,操作数,寻址特征,相对距离 A,7.3,(1) 相对寻址举例,M 随程序所在存储空间的位置不同而不同,EA = ( M+3 ) 3 = M,7.3,(

11、2) 按字节寻址的相对寻址举例 P318例题,JMP * + 8,设 当前指令地址 PC = 2000H,转移后的目的地址为 2008H,因为 取出 JMP * + 8 后 PC = 2002H,二字节指令,故 JMP * + 8 指令 的第二字节为 2008H - 2002H = 06H,7.3,10. 堆栈寻址,(1) 堆栈的特点,堆栈,多个寄存器,指定的存储空间,先进后出(一个入出口),栈顶地址 由 SP 指出, 1,1FFFH,+1,2000 H,1FFF H,2000 H,7.3,(2) 堆栈寻址举例 P319例题,PUSH A 前,PUSH A 后,POP A 前,POP A 后,

12、7.3,(3) SP 的修改与主存编址方法有关, 按 字 编址,进栈,出栈, 按 字节 编址,存储字长 16 位,进栈,出栈,存储字长 32 位,进栈,出栈,7.3,7.4 指令格式举例,一、设计指令格式时应考虑的各种因素,1. 指令系统的 兼容性,(向上兼容),2. 其他因素,操作类型,数据类型,指令格式,包括指令个数及操作的难易程度,指令字长是否固定,寻址方式,寄存器个数,地址码位数、地址个数、寻址方式类型,操作码位数、是否采用扩展操作码技术,,确定哪些数据类型可参与操作,指令寻址、操作数寻址,寄存器的多少直接影响指令的执行时间,二、指令格式举例,1. PDP 8,指令字长固定 12 位,

13、7.4,采用扩展操作码技术,2. PDP 11,指令字长有 16 位、32 位、48 位三种,零地址 (16 位),一地址 (16 位),二地址 R R (16 位),二地址 R M (32 位),二地址 M M (48 位),扩展操作码技术,7.4,3. IBM 360,二地址 R R,7.4,4. Intel 8086,(1) 指令字长,(2) 地址格式,1 6 个字节,MOV WORD PTR0204, 0138H 6 字节,INC AX 1 字节,一地址,NOP 1 字节,CALL,零地址,寄存器 寄存器,寄存器 立即数,寄存器 存储器,ADD AX,BX 2 字节,ADD AX,30

14、48H 4 字节,ADD AX,3048H 3 字节,二地址,CALL,7.4,指令格式举例 P323-326 例题,7.5 RISC 技 术,一、RISC 的产生和发展 P326-329,80 20 规律,典型程序中 80% 的语句仅仅使 用处理机中 20% 的指令,执行频度高的简单指令,因复杂指令 的存在,执行速度无法提高,RISC(Reduced Instruction Set Computer),CISC(Complex Instruction Set Computer), RISC技术,二、RISC 的主要特征 P331-332,选用使用频度较高的一些 简单指令, 复杂指令的功能由简

15、单指令来组合,指令 长度固定、指令格式种类少、寻址方式少,只有 LOAD / STORE 指令访存,采用 流水技术 一个时钟周期 内完成一条指令,采用 组合逻辑 实现控制器,CPU 中有多个 通用 寄存器,采用 优化 的 编译 程序,7.5,三、CISC 的主要特征,系统指令 复杂庞大,各种指令使用频度相差大,指令 长度不固定、指令格式种类多、寻址方式多,访存 指令 不受限制,大多数指令需要 多个时钟周期 执行完毕,采用 微程序 控制器,CPU 中设有 专用寄存器,难以 用 优化编译 生成高效的目的代码,7.5,四、RISC和CISC 的比较,1. RISC更能 充分利用 VLSI 芯片的面积,2. RISC 更能 提高计算机运算速度,指令数、指令格式、寻址方式少, 通用 寄存器多,采用 组合逻辑 , 便于实现 指令流水,3. RISC 便于设计,可 降低成本,提高 可靠性,4. RISC 有利于编译程序代码优化,5. RISC 不易 实现 指令系统兼容,7.5,

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

最新文档


当前位置:首页 > 高等教育 > 大学课件

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