计算机组成原理78

上传人:sx****84 文档编号:243399224 上传时间:2024-09-22 格式:PPT 页数:94 大小:1.83MB
返回 下载 相关 举报
计算机组成原理78_第1页
第1页 / 共94页
计算机组成原理78_第2页
第2页 / 共94页
计算机组成原理78_第3页
第3页 / 共94页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,*,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第章 指 令 系 统,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,7.2 操作数类型和操作种类,一、操作数类型,地址,数字,字符,逻辑数,无符号整数,定点数、浮点数、十进制数,ASCII,逻辑运算,二、数据在存储器中的存放方式,字地址,为,低字节,地址,字地址,为,高字节,地址,3,7,6,2,1,5,4,0,字地址,0,4,低字节,0,4,5,1,2,6,7,3,字地址,0,4,低字节,8,存储器中的数据存放(存储字长为,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,9,三、操作类型,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,10,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,11,(3) 调用和返回,CALL SUB1,.,.,CALL SUB2,.,CALL SUB2,RETURN,RETURN,主程序,地址,2000,2100,2101,子程序SUB1,2400,2500,2501,2560,2561,2700,主存空间分配,程序执行流程,子程序SUB2,7.2,.,12,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,13,7.3 寻 址 方 式,寻址方式,确定,本条指令,的,操作数地址,下一条,欲执行,指令,的,指令地址,指令寻址,数据寻址,寻址方式,14,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,15,二、数据寻址,形式地址,指令字中的地址,有效地址,操作数的真实地址,约定,指令字长 = 存储字长 = 机器字长,1. 立即寻址,指令执行阶段不访存,A,的位数限制了立即数的范围,形式地址 A,操作码,寻址特征,OP,#,A,立即寻址特征,立即数,可正可负,补码,形式地址 A 就是操作数,7.3,16,2. 直接寻址,EA = A,操作数,主存,寻址特征,LDA,A,A,ACC,执行阶段访问一次存储器,A,的位数决定了该指令操作数的寻址范围,操作数的地址不易修改(必须修改,A),有效地址由形式地址直接给出,7.3,17,3. 隐含寻址,操作数地址隐含在操作码中,ADD,A,操作数,主存,寻址特征,A,ACC,暂存,ALU,另一个操作数,隐含在 ACC 中,如 8086,MUL 指令,被乘数隐含在 AX(16位)或 AL(8位)中,MOVS 指令,源操作数的地址隐含在 SI 中,目的操作数的地址隐含在 DI 中,指令字中少了一个地址字段,可缩短指令字长,7.3,18,4. 间接寻址,EA =(A),有效地址由形式地址间接提供,OP,A,寻址特征,A,EA,主存,EA,A,1,EA,A,1,主存,EA,1,0,执行指令阶段 2 次访存,可扩大寻址范围,便于编制程序,OP,A,寻址特征,A,一次间址,多次间址,操作数,操作数,多次访存,7.3,19, ,子程序,主程序,80,81,201,202,调用子程序,调用子程序,间接寻址编程举例,(A) = 81,(A) = 202,间址特征,7.3,JMP, A,20,5. 寄存器寻址,EA = R,i,执行阶段不访存,只访问寄存器,执行速度快,OP,R,i,寻址特征,寄存器个数有限,可缩短指令字长,操作数,R,0,R,i,R,n,寄存器,有效地址即为寄存器编号,7.3,21,EA = ( R,i,),6. 寄存器间接寻址,有效地址在寄存器中, 操作数在存储器中,执行阶段访存,操作数,主存,OP,R,i,寻址特征,便于编制循环程序,地址,R,0,R,i,R,n,寄存器,有效地址在寄存器中,7.3,22,7. 基址寻址,(1) 采用专用寄存器作基址寄存器,EA = ( BR ) + A,BR 为基址寄存器,OP,A,操作数,主存,寻址特征,ALU,BR,可扩大寻址范围,有利于多道程序,BR,内容由操作系统或管理程序确定,在程序的执行过程中,BR,内容不变,形式地址,A,可变,7.3,23,(2),采用通用寄存器作基址寄存器,操作数,主存,寻址特征,ALU,OP,R,0,A,R,0,作基址寄存器,由用户指定哪个通用寄存器作为基址寄存器,通用寄存器,R,0,R,n,-1,R,1,基址寄存器的内容由操作系统确定,在程序的执行过程中,R,0,内容不变,形式地址,A,可变,7.3,24,8. 变址寻址,EA = ( IX ) +A,OP,A,操作数,主存,寻址特征,ALU,IX,可扩大寻址范围,便于处理数组问题,IX,的内容由用户给定,IX 为变址寄存器(专用),在程序的执行过程中,IX,内容可变,形式地址,A,不变,通用寄存器也可以作为变址寄存器,7.3,25,例,设数据块首地址为 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,26,9. 相对寻址,EA = ( PC ) + A,A 是相对于当前指令的位移量(可正可负,补码),A,的位数决定操作数的寻址范围,程序浮动,广泛用于转移指令,操作数,寻址特征,ALU,OP,A,相对距离 A,1000,PC,主存,1000,A,OP,7.3,27,(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,28,(2) 按字节寻址的相对寻址举例,OP,位移量,2000 H,2008 H,8,JMP,*,+ 8,OP,06 H,2000 H,2008 H,8,设 当前指令地址,PC = 2000H,转移后的目的地址为,2008H,因为 取出,JMP,*,+ 8,后,PC = 2002H,二字节指令,故,JMP,*,+ 8,指令 的第二字节为,2008H - 2002H = 06H,7.3,29,10. 堆栈寻址,(1) 堆栈的特点,堆栈,硬堆栈,软堆栈,多个寄存器,指定的存储空间,先进后出,(一个入出口),栈顶地址,由,SP,指出,1,1FFFH,+1,2000 H,进栈 (SP), 1 SP,出栈 (SP),+ 1 SP,栈顶,栈底,2000 H,SP,2000 H,1FFF H,SP,1FFFH,栈顶,栈底,进栈,出栈,1FFF H,栈顶,2000 H,栈顶,7.3,30,(2) 堆栈寻址举例,15,200H,ACC,SP,X,栈顶,200H,栈底,主存,15,1FFH,ACC,SP,15,栈顶,200H,栈底,主存,X,1FFH,PUSH,A 前,PUSH,A 后,POP,A 前,POP,A 后,Y,1FFH,ACC,SP,X,栈顶,200H,栈底,主存,15,1FFH,15,200H,ACC,SP,栈顶,200H,栈底,主存,X,15,7.3,31,(3) SP 的修改与主存编址方法有关, 按,字,编址,进栈,出栈,(SP), 1,SP,(SP),+ 1,SP, 按,字节,编址,存储字长,16,位,进栈,出栈,(SP), 2,SP,(SP),+ 2,SP,存储字长,32,位,进栈,出栈,(SP), 4,SP,(SP),+ 4,SP,7.3,32,7.4 指令格式举例,一、设计指令格式时应考虑的各种因素,1. 指令系统的,兼容性,(向上兼容),2. 其他因素,操作类型,数据类型,指令格式,包括指令个数及操作的难易程度,指令字长是否固定,寻址方式,寄存器个数,地址码位数、地址个数、寻址方式类型,操作码位数、是否采用扩展操作码技术,,确定哪些数据类型可参与操作,指令寻址、操作数寻址,寄存器的多少直接影响指令的执行时间,33,二、指令格式举例,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,采用扩展操作码技术,34,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,35,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,36,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,37,7.5 RISC 技 术,一、RISC 的产生和发展,80 20 规律,典型程序中 80% 的语句仅仅使,用处理机中 20% 的指令,执行频度高的简单指令,因复杂指令,的存在,执行速度无法提高,RISC(Reduced Instruction Set Computer),CISC(Complex Instruction Set Computer), RISC技术,能否用 20% 的简单指令组合不常用的,80% 的指令功能,?,38,二、RISC 的主要特征,选用使用频度较高的一些,简单指令,,,复杂指令的功能由简单指令来组合,指令,长度固定,、,指令格式种类少,、,寻址方式少,只有,LOAD / STORE,指令访存,采用,流水技术,一个时钟周期,内完成一条指令,采用,组合逻辑,实现控制器,CPU,中有,多个,通用,寄存器,采用,优化,的,编译,程序,7.5,39,三、CISC 的主要特征,系统指令,复杂庞大,,各种指令使用频度相差大,指令,长度不固定,、,指令格式种类多,、,寻址方式多,访存,指令,不受限制,大,多数指令需要,多个时钟周期,执行完毕,采用,微程序,控制器,CPU,中设有,专用寄存器,难以,用,优化编译,生成高效的目的代码,7.5,40,四、RISC和CISC 的比较,1. RISC更能,充分利用,VLSI 芯片,的面积,2.,RISC 更能,提高计算机运算速度,指令数,、,指令格式,、,寻址方式少,,,通用,寄存器多,,采用,组合逻辑,,,便于实现,指令流水,3. RISC,便于设计,,可,降低成本,,提高,可靠性,4.,RISC,有利于编译程序代码优化,5.,RISC,不易,实现,指令系统兼容,7.5,41,第章 CPU 的结构和功能,8.1 CPU 的结构,8.3 指令流水,8.2 指令周期,8.4 中断系统,42,8.1 CPU 的结构,一、 CPU 的功能,取指令,分析指令,执行指令,发出各种操作命令,控制程序输入及结果的输出,总线管理,处理异常情况和特殊请求,1. 控制器的功能,2. 运算器的功能,实现算术运算和逻辑运算,指令控制,操作控制,时间控制,数据加工,处理中断,43,二、CPU 结构框图,PC IR,指令控制,操作控制,时间控制,数据加工,处理中断,ALU 寄存器,中断系统,1. CPU 与系统总线,CU 时序电路,寄存器,ALU,中断,系统,CU,CPU,控制总线,数据总线,地址总线,8.1,44,2. CPU 的内部结构,8.1,算术和,布尔逻辑,取反,移位,状态标志,内部 数据总线,寄存器,CU,中断,系统,ALU,控制信号,C P U,45,1. 用户可见寄存器,(1) 通用寄存器,三、 CPU 的寄存器,存放操作数,可作,某种寻址方式所需的,专用寄存器,(2) 数据寄存器,存放操作数,(满足各种数据类型),两个寄存器拼接存放双倍字长数据,(3) 地址寄存器,存放地址,,其位数应满足最大的地址范围,用于特殊的寻址方式 段基值 栈指针,(4) 条件码寄存器,存放条件码,,可作程序分支的依据,如 正、负、零、溢出、进位等,8.1,46,2. 控制和状态寄存器,(1) 控制寄存器,PC,控制 CPU 操作,(2) 状态寄存器,状态寄存器,其中,MAR,、,MDR,、,IR,用户不可见,存放条件码,PSW 寄存器,存放程序状态字,PC,用户可见,3. 举例,Z8000 8086 MC 68000,MAR,M,MDR,IR,8.1,47,四、 控制单元 CU 和中断系统,1. CU 产生全部指令的微操作命令序列,组合逻辑设计,微程序设计,硬连线逻辑,存储逻辑,2. 中断系统,参见 第篇,五、ALU,参见 8.4 节,参见 第章,8.1,48,8.2 指 令 周 期,一、 指令周期的基本概念,1 . 指令周期,取出并执行一条指令所需的全部时间,完成一条指令,执行,取指、分析,取指阶段,取指周期,执行阶段,执行周期,(取指、分析),(执行指令),指令周期,取指周期,执行周期,49,2. 每条指令的指令周期不同,取指周期,指令周期,取指周期,执行周期,指令周期,NOP,ADD mem,MUL mem,8.2,取指周期,执行周期,指令周期,50,3. 具有间接寻址的指令周期,4. 带有中断周期的指令周期,取指周期,间址周期,指令周期,执行周期,取指周期,间址周期,指令周期,执行周期,中断周期,8.2,51,5. 指令周期流程,取指周期,执行周期,有间址吗?,有中断吗?,间址周期,中断周期,是,是,否,否,8.2,52,6. CPU 工作周期的标志,CPU 访存有四种性质,取,指令,取,地址,取,操作数,存,程序断点,取指周期,间址周期,执行周期,中断周期,FE,D,IND,D,INT,D,CLK,1,FE,1,IND,1,EX,1,INT,EX,D,CPU 的,4个工作周期,8.2,53,1. 取指周期数据流,二、 指令周期的数据流,MDR,CU,MAR,PC,IR,存储器,CPU,地址总线,数据总线,控制总线,IR,+1,8.2,54,2. 间址周期数据流,MDR,CU,MAR,CPU,地址总线,数据总线,控制总线,PC,IR,存储器,MDR,8.2,55,3. 执行周期数据流,4 . 中断周期数据流,不同指令的执行周期数据流不同,MDR,CU,MAR,CPU,地址总线,数据总线,控制总线,PC,存储器,8.2,56,8.3 指 令 流 水,一、如何提高机器速度,1.,提高访存速度,2.,提高 I/O 和主机之间的传送速度,提高整机处理能力,高速芯片,Cache,多体并行,I/O 处理机,DMA,多总线,通道,高速器件,改进系统结构,,,开发系统的并行性,中断,3.,提高运算器速度,高速芯片,改进算法,快速进位链,57,二、系统的并行性,时间上互相重叠,2. 并行性的等级,指令级(指令之间),(指令内部),过程级(程序、进程),两个或两个以上事件在,同一时刻,发生,两个或两个以上事件在,同一时间段,发生,并行,1. 并行的概念,粗粒度,软件实现,细粒度,硬件实现,并发,同时,8.3,58,取指令 3,执行指令 3,三、指令流水原理,2. 指令的二级流水,1. 指令的串行执行,取指令,取指令部件,完成,总有一个部件,空闲,指令预取,若,取指,和,执行,阶段时间上,完全重叠,指令周期,减半,速度提高 1 倍,执行指令,执行指令部件,完成,取指令 1,执行,指令 1,取,指令 2,执行,指令 2,取,指令 3,执行指令 3,取指令 2,执行指令 2,取指令 1,执行指令 1,8.3,59,必须等,上条,指令执行结束,才能确定,下条,指令的地址,,造成时间损失,3. 影响指令流水效率加倍的因素,(1),执行时间 取指时间,(2),条件转移指令,对指令流水的影响,解决办法,?,取指令,部件,指令部件,缓冲区,执行指令,部件,猜测法,8.3,60,4. 指令的六级流水,六级流水,14,个时间单位,串行执行,6,9 ,54,个时间单位,完成,一条指令,6,个时间单位,CO,FO,EI,WO,DI,FI,CO,FO,EI,WO,DI,FI,CO,FO,EI,WO,DI,FI,CO,FO,EI,WO,DI,FI,CO,FO,EI,WO,DI,FI,CO,FO,EI,WO,DI,FI,CO,FO,EI,WO,DI,FI,CO,FO,EI,WO,DI,FI,CO,FO,EI,WO,DI,FI,指令 1,指令 2,指令 3,指令 4,指令 5,指令 6,指令 7,指令 8,指令 9,1 2 3 4 5 6 7 8 9 10 11 12 13 14,t,8.3,61,指令 1 与指令 4 冲突,指令 2 与指令 5 冲突,指令1、指令3、指令 6 冲突,CO,FO,EI,WO,DI,FI,CO,FO,EI,WO,DI,FI,CO,FO,EI,WO,DI,FI,CO,FO,EI,WO,DI,FI,CO,FO,EI,WO,DI,FI,CO,FO,EI,WO,DI,FI,CO,FO,EI,WO,DI,FI,CO,FO,EI,WO,DI,FI,CO,FO,EI,WO,DI,FI,指令 1,指令 2,指令 3,指令 4,指令 5,指令 6,指令 7,指令 8,指令 9,1 2 3 4 5 6 7 8 9 10 11 12 13 14,t,三、影响指令流水线性能的因素,1. 结构相关,8.3,不同指令争用同一功能部件产生资源冲突,程序的相近指令之间出现某种关联,使指令流水出现停顿,影响流水线效率,解决办法,停顿,指令存储器和数据存储器分开,指令预取技术 (适用于访存周期短的情况),62,2. 数据相关,不同指令因重叠操作,可能改变操作数的 读/写 访问顺序,采用,旁路技术,解决办法,8.3,写后读相关(,RAW,),SUB,R,1,,R,2,,R,3,ADD R,4,,R,5,,,R,1,;(R,2,),(R,3,),R,1,;(R,5,)+(,R,1,) R,4,读后写相关(,WAR,),STA M,,R,2,ADD,R,2,,R,4,,R,5,;(,R,2,) M 存储单元,;(R,4,)+(R,5,),R,2,写后写相关(,WAW,),后推法,MUL,R,3,,R,2,,R,1,SUB,R,3,,R,4,,R,5,;(R,2,),(R,1,),R,3,;(R,4,) (R,5,),R,3,63,3. 控制相关,8.3,BNE,指令必须等,CPX,指令的结果,才能判断出,是转移,还是顺序执行,LDA # 0,LDX # 0,INX,CPX # N,BNE M,DIV # N,STA ANS,ADD X, D,M,由转移指令引起,64,3. 控制相关,8.3,WO,EI,FO,CO,DI,WO,EI,FO,DI,FI,FI,DI,FI,CO,FI,FO,CO,DI,FI,WO,EI,FO,CO,DI,FI,DI,FO,EI,WO,EI,FO,CO,FI,DI,CO,WO,DI,FI,CO,FI,指令 1,指令 2,指令 3,指令 4,指令 5,指令 6,指令 7,指令15,指令16,1 2 3 4 5 6 7 8 9 10 11 12 13 14,转移损失,t,设,指令3,是转移指令,65,四、流水线性能,1. 吞吐率,单位时间内,流水线所完成指令,或,输出结果,的,数量,8.3,最大吞吐率,实际吞吐率,连续处理,n,条指令的吞吐率为,设,m,段的流水线各段时间为,t,T,pmax,=,1,t,T,p,=,m,+ (,n,-,1,),n,t,t,66,2. 加速比,S,p,8.3,m,段的,流水线的速度,与等功能的,非流水线的速度,之比,设流水线各段时间为,t,完成,n,条指令在,m,段流水线上共需,T,=,m,+ (,n,-,1,),t,t,完成,n,条指令在等效的非流水线上共需,T,=,nm,t,S,p,=,m,+(,n,-,1,),nm,=,nm,m,+,n,-,1,t,t,t,则,67,由于流水线有,建立时间,和,排空时间,因此各功能段的,设备不可能,一直,处于,工作,状态,8.3,流水线中各功能段的,利用率,3. 效率,m,t,3,1,2,4,5,3,1,2,4,5,3,1,2,4,5,3,1,2,4,5, , , , ,n,-1,n,n,-1,n,n,-1,n,n,-1,n,T,时间,S,空间,空间,S,4,S,3,S,2,S,1,(,n,-,1,),t,68,8.3,m,(,m,+,n,-,1),t,=,mn,t,流水线各段处于工作时间的时空区,流水线中各段总的时空区,效率,=,3. 效率,m,t,3,1,2,4,5,3,1,2,4,5,3,1,2,4,5,3,1,2,4,5, , , , ,n,-1,n,n,-1,n,n,-1,n,n,-1,n,T,时间,S,空间,空间,S,4,S,3,S,2,S,1,(,n,-,1,),t,流水线中各功能段的,利用率,69,五、流水线的多发技术,1. 超标量技术,每个时钟周期内可,并发多条独立指令,不能调整,指令的,执行顺序,配置多个功能部件,通过编译优化技术,把可并行执行的指令搭配起来,8.3,IF ID,EX,WR,0 1 2 3,4 5,6 7 8,9 10 11 12 13,时钟,周期,指令序列,70,2. 超流水线技术,在,一个时钟周期,内,再分段,( 3 段),不能调整,指令的,执行顺序,在一个时钟周期内,一个功能部件使用多次,( 3 次),靠编译程序解决优化问题,流水线速度是原来速度的 3 倍,8.3,IF ID,EX WR,0,1,2,3 4 5,6 7,8,9,10 11 12 13,时钟周期,指令序列,71,3. 超长指令字技术,采用,多个处理部件,具有,多个操作码字段,的,超长指令字,(可达几百位),由编译程序,挖掘,出指令间,潜在,的,并行性,,,将,多条,能,并行操作,的指令组合成,一条,8.3,IF ID,EX WR,0 1 2 3 4 5 6 7 8 9 10 11 12 13,时钟周期,指令序列,72,六、流水线结构,1. 指令流水线结构,完成一条指令分,7 段,, 每段需一个时钟周期,若,流水线不出现断流,1,个时钟周期出,1,结果,不采用流水技术,7,个时钟周期出,1,结果,理想情况下,,7 级流水,的速度是不采用流水技术的,7 倍,地址形成部件,指令译码部件,取操作数部件,取指令部件,操作执行部件,回写结果部件,修改指令指针部件,锁存,锁存,锁存,锁存,锁存,锁存,8.3,73,2. 运算流水线,完成,浮点加减,运算 可分,对阶,、,尾数求和,、,规格化,三段,分段原则 每段,操作时间,尽量,一致,锁存器,对阶功能部件,第一段,尾数加部件,锁存器,第二段,规格化部件,锁存器,第三段,8.3,74,8.4 中断系统,一、概述,1. 引起中断的各种因素,(1) 人为设置的中断,(2) 程序性事故,如,转管指令,溢出、操作码不能识别、除法非法,(5) 外部事件,(4) I/O 设备,(3) 硬件故障,用,键盘中断,现行程序,转管指令,管理程序,75,2. 中断系统需解决的问题,(1) 各中断源,如何,向 CPU,提出请求,?,(2) 各中断源,同时,提出,请求,怎么办 ?,(5) 如何,寻找入口地址,?,(4) 如何,保护现场,?,(3) CPU 什么,条件,、什么,时间,、以什么,方式,响应中断,?,(6) 如何,恢复现场,,如何,返回,?,(7) 处理中断的过程中又,出现新的中断,怎么办 ?,硬件,软件,8.4,76,二、中断请求标记和中断判优逻辑,1. 中断请求标记,INTR,一个请求源,一个 INTR,中断请求标记触发器,多个INTR,组成,中断请求标记寄存器,INTR,分散,在各个中断源的,接口电路中,INTR,集中,在,CPU,的中断系统,内,1,2,3,4,5,n,掉电,过热,阶上溢,主存读写校验错,非法除法,键盘输入,打印机输出,8.4,77,2. 中断判优逻辑,分散,在各个中断源的,接口电路中 链式排队器,集中,在,CPU,内,(1) 硬件实现(排队器),1,1,1,&,1,&,1,&,参见 第五章,INTR,1,INTR,2,INTR,3,INTR,4,INTR,1,、,INTR,2,、,INTR,3,、,INTR,4,优先级,按,降序,排列,INTP,1,INTP,2,INTP,3,INTP,4,8.4,78,A,、B、C,优先级按,降序,排列,(2) 软件实现(程序查询),否,是否,A,请求?,是否,B,请求?,是否,C,请求?,转,A,的服务程序,入口地址,转,B,的服务程序,入口地址,转,C,的服务程序,入口地址,是,是,是,否,否,8.4,79,三、中断服务程序入口地址的寻找,1. 硬件向量法,入口地址,200,入口地址,300,入口地址,400,12 H,13 H,14 H,主存,12 H,13 H,14 H,JMP,200,JMP,300,JMP,400,主存,向量地址,形成部件,中断向量,排队器输出,向量地址,12H、13H、14H,入口地址,200、 300、 400,8.4,80,2. 软件查询法,M,JMP 1,#,SR,1,#,D = 1 转1,#,服务程序,SKP,DZ 2,#,JMP 2,#,SR,2,#,D = 0 跳,2,#,D = 1 转2,#,服务程序,SKP,DZ 8,#,JMP 8,#,SR,8,#,D = 0 跳,8,#,D = 1 转8,#,服务程序,八个中断源 1,2, 8 按,降序,排列,8.4,SKP,DZ 1,#,1,#,D = 0 跳,(D为完成触发器),中断识别程序,(入口地址,M,),地 址,说 明,指 令,81,四、中断响应,1. 响应中断的,条件,允许中断触发器,EINT = 1,2. 响应中断的,时间,指令执行周期结束时刻由CPU 发查询信号,CPU,中断查询,INTR,1,D,Q,INTR,2,D,Q,INTR,n,D,Q,中断源 1,中断源 2,中断源,n,至排队器,8.4,82,3. 中断隐指令,(1) 保护程序断点,(2) 寻找服务程序入口地址,(3) 硬件,关中断,向量地址,形成部件,INT,S,Q,R,EINT,S,Q,R,PC,1,&,1,排队器,断点存于,特定地址,( 0 号地址) 内,断点,进栈,INT 中断标记,EINT 允许中断,R,S,触发器,8.4,向量地址,PC,(硬件向量法),中断识别程序,入口地址,M,PC,(软件查询法),83,五、保护现场和恢复现场,1. 保护现场,2. 恢复现场,寄存器,内容,断点,保护现场,其它服务程序,恢复现场,中断返回,PUSH,视不同请求源而定,POP,中断服务程序,完成,中,断,服,务,程,序,中断隐指令,完成,中断服务程序,完成,8.4,IRET,84,1. 多重中断的概念,k,l,m,k,+1,l,+1,m,+1,第一次,中断,第二次,中断,第三次,中断,程序断点,k,+1 ,l,+1 ,m,+1,六、中断屏蔽技术,8.4,85,2. 实现多重中断的条件,B、C,A,中断,请求,主程序,(2),优先级别高,的中断源,有权中断优先级别低,的中断源,(1),提前,设置,开中断,指令,A,B,C,D,中断服务程序,( A、B、 C、 D 优先级按,降序,排列),D,8.4,86,&,3. 屏蔽技术,(1) 屏蔽触发器的作用,MASK = 0(未屏蔽),INTR 能被置 “1”,&,&,&,&,1,1,1,1,INTP,1,INTP,2,INTP,3,INTP,4,INTR,1,INTR,2,INTR,3,INTR,4,MASK,1,MASK,2,MASK,3,MASK,4,D,Q,1,D,INTR,MASK,Q,CPU,查询,MASK,i,= 1 (屏蔽),INTP,i,= 0 (不能被排队选中),8.4,87,(2) 屏蔽字,8.4,优先级,屏 蔽 字,1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1,0,1 1 1 1 1 1 1 1 1 1 1 1 1 1 1,0 0,1 1 1 1 1 1 1 1 1 1 1 1 1 1,0 0 0,1 1 1 1 1 1 1 1 1 1 1 1 1,0 0 0 0,1 1 1 1 1 1 1 1 1 1 1 1,0 0 0 0 0,1 1 1 1 1 1 1 1 1 1 1,0 0 0 0 0 0 0 0 0 0 0 0 0 0,1 1,0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,1,1,2,3,4,5,6,15,16,16个中断源 1,2,3 ,,16 按,降序,排列,88,(3) 屏蔽技术可改变处理优先等级,响应优先级,响应优先级,ABCD,降序排列,8.4,不可改变,处理优先级,可改变(通过重新设置屏蔽字),中断源,原屏蔽字,新屏蔽字,A,B,C,D,1 1 1 1,0 1 1 1,0 0 1 1,0 0 0 1,1 1 1 1,0 1 0 0,0 1 1 0,0 1 1 1,处理优先级,ADCB,降序排列,89,(3) 屏蔽技术可改变处理优先等级,8.4,服务程序,B处理完,C处理完,D处理完,A处理完,t,主程序,A程序,B程序,C程序,D程序,A、B、C、D,同时请求中断,CPU 执行程序轨迹(原屏蔽字),90,(3) 屏蔽技术可改变处理优先等级,(4) 屏蔽技术的其他作用,8.4,便于程序控制,可以,人为地屏蔽,某个中断源的请求,服务程序,D处理完,C处理完,B处理完,A处理完,t,主程序,A程序,B程序,C程序,D程序,A、B、C、D,同时请求中断,CPU 执行程序轨迹(新屏蔽字),91,8.4,(5) 新屏蔽字的设置,保护现场,置屏蔽字,开中断,中断服务,关中断,恢复现场,恢复屏蔽字,开中断,中断返回,置屏蔽字,恢复屏蔽字,关中断,开中断,92,(1) 断点进栈,(2) 断点存入“ 0 ” 地址,中断隐指令,完成,中断周期,命令存储器写,0 MAR,PC MDR,(MDR) 存入存储器,三次中断,三个断点都存入 “ 0 ” 地址,4. 多重中断的断点保护,断点 MDR,?,如何保证断点不丢失?,中断隐指令,完成,8.4,93,(3) 程序断点存入 “ 0 ” 地址的断点保护,0,5,JMP SERVE,SAVE,RETURN,STA SAVE,0 地址内容转存,其他服务内容,SERVE,LDA SAVE,JMP RETURN,存程序断点,5 为向量地址,保护现场,恢复现场,间址返回,存放 ACC 内容,转存 0 地址内容,开中断,ENI,LDA 0,STA RETURN,置屏蔽字,8.4,地 址,内 容,说 明,94,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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