计算机组成原理ch7

上传人:sx****84 文档编号:243445312 上传时间:2024-09-23 格式:PPT 页数:42 大小:1,002KB
返回 下载 相关 举报
计算机组成原理ch7_第1页
第1页 / 共42页
计算机组成原理ch7_第2页
第2页 / 共42页
计算机组成原理ch7_第3页
第3页 / 共42页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,*,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,第章 指 令 系 统,7.1 机器指令,7.2 操作数类型和操作类型,7.3 寻址方式,7.4 指令格式举例,7.5,RISC,技术,1,7.1 机 器 指 令,一、指令的一般格式,操作码字段,地址码字段,1. 操作码,反映机器做什么操作,(1),长度固定,(2),长度可变,用于指令字长较长的情况,,RISC,如,IBM 370,操作码 8 位,操作码分散在指令字的不同字段中,2,(3) 扩展操作码技术,操作码的位数随地址数的减少而增加,OP,A,1,A,2,A,3,0000,0001,1110,A,1,A,1,A,1,A,2,A,2,A,2,A,3,A,3,A,3,A,2,A,2,A,2,A,3,A,3,A,3,1111,1111,1111,0000,0001,1110,1111,1111,1111,1111,1111,1111,1111,1111,1111,0000,0001,1111,1111,1111,1111,1111,1111,1111,A,3,A,3,A,3,0000,0001,1110,4 位操作码,8 位操作码,12 位操作码,16 位操作码,最多15条三地址指令,最多15条二地址指令,最多15条一地址指令,16条零地址指令,7.1,3,(3) 扩展操作码技术,操作码的位数随地址数的减少而增加,OP,A,1,A,2,A,3,0000,0001,1110,A,1,A,1,A,1,A,2,A,2,A,2,A,3,A,3,A,3,A,2,A,2,A,2,A,3,A,3,A,3,1111,1111,1111,0000,0001,1110,1111,1111,1111,1111,1111,1111,1111,1111,1111,0000,0001,1111,1111,1111,1111,1111,1111,1111,A,3,A,3,A,3,0000,0001,1110,4 位操作码,8 位操作码,12 位操作码,16 位操作码,三地址指令操作码,每减少一种可多构成,2,4,种二地址指令,二地址指令操作码,每减少一种可多构成,2,4,种一地址指令,7.1,4,2. 地址码,(1) 四地址,(2) 三地址,OP,A,1,A,2,A,3,A,4,8 6 6 6 6,A,1,第一操作数地址,A,2,第二操作数地址,A,3,结果的地址,A,4,下一条指令地址,若,PC,代替,A,4,(,A,1,) OP (A,2,) A,3,8 8 8 8,OP,A,1,A,2,A,3,(,A,1,) OP (A,2,) A,3,4 次访存,4 次访存,寻址范围,2,6,= 64,寻址范围,2,8,= 256,若,A,3,用,A,1,或,A,2,代替,7.1,设指令字长为 32 位,操作码固定为 8 位,5,(3) 二地址,OP,A,1,A,2,8 12 12,(,A,1,) OP (A,2,) A,1,(,A,1,) OP (A,2,) A,2,或,4 次访存,若,ACC,代替,A,1,(,或,A,2,),若结果存于,ACC,(4) 一地址,(5) 零地址,OP,A,1,8 24,无地址码,(,ACC) OP (A,1,) ACC,2 次访存,寻址范围,2,12,= 4,K,寻址范围,2,24,= 16,M,3,次访存,7.1,6,二、指令字长,指令字长决定于,操作码的长度,指令字长 = 存储字长,2. 指令字长,可变,操作数地址的长度,操作数地址的个数,1. 指令字长,固定,按字节的倍数变化,7.1,7,小结,当用一些硬件资源代替指令字中的地址码字段后,当指令的地址字段为寄存器时,可扩大指令的寻址范围,可缩短指令字长,可减少访存次数,三地址,OP R,1,R,2, R,3,二地址,OP R,1, R,2,一地址,OP R,1,指令执行阶段不访存,可缩短指令字长,7.1,8,7.2 操作数类型和操作种类,一、操作数类型,地址,数字,字符,逻辑数,无符号整数,定点数、浮点数、十进制数,ASCII,逻辑运算,二、数据在存储器中的存放方式,字地址,为,低字节,地址,字地址,为,高字节,地址,3,7,6,2,1,5,4,0,字地址,0,4,低字节,0,4,5,1,2,6,7,3,字地址,0,4,低字节,9,存储器中的数据存放(存储字长为,32,位),地址(十进制),0,4,8,12,16,20,24,28,32,36,双字,双字(地址32),双字,双字(地址24),半字(地址20),半字(地址22),半字(地址16),半字(地址18),字节(地址 8),字节(地址 9),字节(地址10),字节(地址11),字(地址 4),字(地址 0),字节(地址14),字节(地址15),字节(地址13),字节(地址12),边界对准,地址(十进制),0,4,8,字节( 地址7),字节( 地址6),字( 地址2),半字( 地址10),半字( 地址8),半字( 地址0),字( 地址4),边界未对准,7.2,10,三、操作类型,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,11,3. 移位操作,算术移位,4. 转移,(1) 无条件转移,JMP,(2) 条件转移,结果为零转 (,Z = 1),JZ,结果溢出转 (,O = 1),JO,结果有进位转(,C = 1),JC,跳过一条指令,SKP,循环移位(带进位和不带进位),如,300,305,306,307,SKP DZ D = 0,则跳,逻辑移位,完成触发器,7.2,12,(3) 调用和返回,CALL SUB1,.,.,.,CALL SUB2,.,CALL SUB2,RETURN,RETURN,主程序,地址,2000,2100,2101,子程序SUB1,2400,2500,2501,2560,2561,2700,主存空间分配,程序执行流程,子程序SUB2,7.2,.,13,IN AX,n,OUT DX, AL,OUT,n, AX,OUT DX, AX,(4) 陷阱(,Trap),与陷阱指令,意外事故的中断,设置供用户使用的陷阱指令,如 8086,INT TYPE,软中断,提供给用户使用的陷阱指令,完成系统调用,5. 输入输出,一般不提供给用户直接使用,在出现事故时,由,CPU,自动产生并执行(隐指令),IN AL, DX,IN AX, DX,入 端口地址,CPU,的寄存器,出,CPU,的寄存器 端口地址,7.2,如,如,IN AL,n,OUT,n, AL,14,7.3 寻 址 方 式,寻址方式,确定,本条指令,的,操作数地址,下一条,欲执行,指令,的,指令地址,指令寻址,数据寻址,寻址方式,15,7.3 寻 址 方 式,一、指令寻址,顺序,( PC ) + 1 PC,跳跃,由转移指令指出,LDA 1000,ADD 1001,DEC 1200,JMP 7,LDA 2000,SUB 2001,INC,STA 2500,LDA 1100,.,0,1,2,3,4,5,6,7,8,9,PC,+1,指令地址寻址方式,指令地址,指令,顺序寻址,1,顺序寻址,2,顺序寻址,3,跳跃寻址,7,顺序寻址,8,16,二、数据寻址,形式地址,指令字中的地址,有效地址,操作数的真实地址,约定,指令字长 = 存储字长 = 机器字长,1. 立即寻址,指令执行阶段不访存,A,的位数限制了立即数的范围,形式地址,A,操作码,寻址特征,OP,#,A,立即寻址特征,立即数,可正可负,补码,形式地址,A,就是操作数,7.3,17,2. 直接寻址,EA = A,操作数,主存,寻址特征,LDA,A,A,ACC,执行阶段访问一次存储器,A,的位数决定了该指令操作数的寻址范围,操作数的地址不易修改(必须修改,A),有效地址由形式地址直接给出,7.3,18,3. 隐含寻址,操作数地址隐含在操作码中,ADD,A,操作数,主存,寻址特征,A,ACC,暂存,ALU,另一个操作数,隐含在,ACC,中,如 8086,MUL,指令,被乘数隐含在,AX(16,位)或,AL(8,位)中,MOVS,指令,源操作数的地址隐含在,SI,中,目的操作数的地址隐含在,DI,中,指令字中少了一个地址字段,可缩短指令字长,7.3,19,4. 间接寻址,EA =(A),有效地址由形式地址间接提供,OP,A,寻址特征,A,EA,主存,EA,A,1,EA,A,1,主存,EA,1,0,执行指令阶段 2 次访存,可扩大寻址范围,便于编制程序,OP,A,寻址特征,A,一次间址,多次间址,操作数,操作数,多次访存,7.3,20, ,子程序,主程序,80,81,201,202,调用子程序,调用子程序,间接寻址编程举例,(,A) = 81,(,A) = 202,间址特征,7.3,JMP, A,21,5. 寄存器寻址,EA = R,i,执行阶段不访存,只访问寄存器,执行速度快,OP,R,i,寻址特征,寄存器个数有限,可缩短指令字长,操作数,R,0,R,i,R,n,寄存器,有效地址即为寄存器编号,7.3,22,EA = ( R,i,),6. 寄存器间接寻址,有效地址在寄存器中, 操作数在存储器中,执行阶段访存,操作数,主存,OP,R,i,寻址特征,便于编制循环程序,地址,R,0,R,i,R,n,寄存器,有效地址在寄存器中,7.3,23,7. 基址寻址,(1) 采用专用寄存器作基址寄存器,EA = ( BR ) + A,BR,为基址寄存器,OP,A,操作数,主存,寻址特征,ALU,BR,可扩大寻址范围,有利于多道程序,BR,内容由操作系统或管理程序确定,在程序的执行过程中,BR,内容不变,形式地址,A,可变,7.3,24,(2),采用通用寄存器作基址寄存器,操作数,主存,寻址特征,ALU,OP,R,0,A,R,0,作基址寄存器,由用户指定哪个通用寄存器作为基址寄存器,通用寄存器,R,0,R,n,-1,R,1,基址寄存器的内容由操作系统确定,在程序的执行过程中,R,0,内容不变,形式地址,A,可变,7.3,25,8. 变址寻址,EA = ( IX ) +A,OP,A,操作数,主存,寻址特征,ALU,IX,可扩大寻址范围,便于处理数组问题,IX,的内容由用户给定,IX,为变址寄存器(专用),在程序的执行过程中,IX,内容可变,形式地址,A,不变,通用寄存器也可以作为变址寄存器,7.3,26,例,设数据块首地址为,D,,求,N,个数的平均值,直接寻址,变址寻址,LDA D,ADD D + 1,ADD D + 2,ADD D + ( 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,比较,(X) +1 X,结果不为零则转,7.3,27,9. 相对寻址,EA = ( PC ) + A,A,是相对于当前指令的位移量(可正可负,补码),A,的位数决定操作数的寻址范围,程序浮动,广泛用于转移指令,操作数,寻址特征,ALU,OP,A,相对距离,A,1000,PC,主存,1000,A,OP,7.3,28,(1) 相对寻址举例,M,随程序所在存储空间的位置不同而不同,EA = ( M+3 ), 3 = M,3,*,LDA # 0,LDX # 0,ADD X, D,INX,CPX # N,BNE,M,DIV # N,STA ANS,M,M+1,M+2,M+3,而指令,BNE,与,指令,ADD X, D,相对位移量不变,3,*,指令,BNE,操作数的有效地址为,3,*,相对寻址特征,*,7.3,29,(2) 按字节寻址的相对寻址举例,OP,位移量,2000,H,2008,H,8,JMP,*,+ 8,OP,06,H,2000,H,2008,H,8,设 当前指令地址,PC = 2000H,转移后的目的地址为,2008,H,因为 取出,JMP,*,+ 8,后,PC = 2002H,二字节指令,故,JMP,*,+ 8,指令 的第二字节为,2008,H - 2002H = 06H,7.3,30,10. 堆栈寻址,(1) 堆栈的特点,堆栈,硬堆栈,软堆栈,多个寄存器,指定的存储空间,先进后出,(一个入出口),栈顶地址,由,SP,指出,1,1FFFH,+1,2000,H,进栈 (,SP), 1 SP,出栈 (,SP),+ 1 SP,栈顶,栈底,2000,H,SP,2000,H,1,FFF H,SP,1FFFH,栈顶,栈底,进栈,出栈,1,FFF H,栈顶,2000,H,栈顶,7.3,31,(2) 堆栈寻址举例,15,200,H,ACC,SP,X,栈顶,200,H,栈底,主存,15,1FFH,ACC,SP,15,栈顶,200,H,栈底,主存,X,1FFH,PUSH,A,前,PUSH,A,后,POP,A,前,POP,A,后,Y,1FFH,ACC,SP,X,栈顶,200,H,栈底,主存,15,1FFH,15,200,H,ACC,SP,栈顶,200,H,栈底,主存,X,15,7.3,32,(3),SP,的修改与主存编址方法有关, 按,字,编址,进栈,出栈,(,SP), 1,SP,(,SP),+ 1,SP, 按,字节,编址,存储字长,16,位,进栈,出栈,(,SP), 2,SP,(,SP),+ 2,SP,存储字长,32,位,进栈,出栈,(,SP), 4,SP,(,SP),+ 4,SP,7.3,33,7.4 指令格式举例,一、设计指令格式时应考虑的各种因素,1. 指令系统的,兼容性,(向上兼容),2. 其他因素,操作类型,数据类型,指令格式,包括指令个数及操作的难易程度,指令字长是否固定,寻址方式,寄存器个数,地址码位数、地址个数、寻址方式类型,操作码位数、是否采用扩展操作码技术,,确定哪些数据类型可参与操作,指令寻址、操作数寻址,寄存器的多少直接影响指令的执行时间,34,二、指令格式举例,1.,PDP, 8,指令字长固定 12 位,操作码,间,页 地址码,访存类指令,0,2,3,5,4,11,寄存器类指令,1 1 1 辅助操作码,0,2,3,11,I/O,类指令,1 1 0 设备 操作码,0,2,3,11,9,8,7.4,采用扩展操作码技术,35,2.,PDP ,11,源地址,OP,4 6 6 16 16,目的地址,存储器地址1,存储器地址2,OP,10 6 16,目的地址,存储器地址,目的地址,4 6 6,源地址,OP,10 6,目的地址,OP-,CODE,16,OP-,CODE,指令字长有 16 位、32 位、48 位三种,零地址 (16 位),一地址 (16 位),二地址,R R (,16 位),二地址,R M (,32 位),二地址,M M (,48 位),扩展操作码技术,7.4,36,3.,IBM 360,OP,R,1,R,2,RR,格式,8 4 4,OP,R,1,X,B,D,RX,格式,8 4 4 4 12,OP,R,1,R,3,B,D,RS,格式,8 4 4 4 12,OP,B,D,I,SI,格式,8 8 4 12,二地址,R R,基址加变址寻址,二地址,R M,三地址,R M,基址寻址,二地址,M M,基址寻址,基址寻址,立即数,M,7.4,OP,B,1,D,1,L,B,2,D,2,SS,格式,8,8,4,12,4,12,37,4.,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,7.4,38,7.5,RISC,技 术,一、,RISC,的产生和发展,80 20 规律,典型程序中 80% 的语句仅仅使,用处理机中 20% 的指令,执行频度高的简单指令,因复杂指令,的存在,执行速度无法提高,RISC(Reduced Instruction Set Computer),CISC(Complex Instruction Set Computer),RISC,技术,能否用 20% 的简单指令组合不常用的,80% 的指令功能,?,39,二、,RISC,的主要特征,选用使用频度较高的一些,简单指令,,,复杂指令的功能由简单指令来组合,指令,长度固定,、,指令格式种类少,、,寻址方式少,只有,LOAD / STORE,指令访存,采用,流水技术,一个时钟周期,内完成一条指令,采用,组合逻辑,实现控制器,CPU,中有,多个,通用,寄存器,采用,优化,的,编译,程序,7.5,40,三、,CISC,的主要特征,系统指令,复杂庞大,,各种指令使用频度相差大,指令,长度不固定,、,指令格式种类多,、,寻址方式多,访存,指令,不受限制,大,多数指令需要,多个时钟周期,执行完毕,采用,微程序,控制器,CPU,中设有,专用寄存器,难以,用,优化编译,生成高效的目的代码,7.5,41,四、,RISC,和,CISC,的比较,1. RISC,更能,充分利用,VLSI,芯片,的面积,2.,RISC,更能,提高计算机运算速度,指令数,、,指令格式,、,寻址方式少,,,通用,寄存器多,,采用,组合逻辑,,,便于实现,指令流水,3. RISC,便于设计,,可,降低成本,,提高,可靠性,4.,RISC,有利于编译程序代码优化,5.,RISC,不易,实现,指令系统兼容,7.5,42,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!