第2章-中央处理器与指令系统分析课件

上传人:文**** 文档编号:241599842 上传时间:2024-07-08 格式:PPT 页数:64 大小:871.68KB
返回 下载 相关 举报
第2章-中央处理器与指令系统分析课件_第1页
第1页 / 共64页
第2章-中央处理器与指令系统分析课件_第2页
第2页 / 共64页
第2章-中央处理器与指令系统分析课件_第3页
第3页 / 共64页
点击查看更多>>
资源描述
第第2章章 CPU与指令系统与指令系统2.1 基本概念基本概念2.2 指令周期指令周期2.3 指令的执行过程指令的执行过程2.4 指令的流水执行指令的流水执行2.5 指令和数据的寻址方式指令和数据的寻址方式2.6 指令系统分类指令系统分类第2章 CPU与指令系统2.1 基本概念12.1 CPU基本概念基本概念CPU的的基本功能基本功能 指令控制指令控制 操作控制操作控制 数据运算数据运算 异常和中断处理异常和中断处理CPU的的扩展功能扩展功能存储管理存储管理数据缓存数据缓存总线管理总线管理功耗管理功耗管理2.1 CPU基本概念CPU的基本功能CPU的扩展功能22.1 CPU基本概念基本概念CPU的基本构成:的基本构成:控制器,运算器,寄存器控制器,运算器,寄存器,cache、MMU寄存器寄存器:用于(临时)存放各种信息。:用于(临时)存放各种信息。指令寄存器指令寄存器(IR):存放当前执行的指令,为指令译码器提供指令信息。):存放当前执行的指令,为指令译码器提供指令信息。程序计数器程序计数器(PC):存放指令的地址,从存储器取指令时根据):存放指令的地址,从存储器取指令时根据PC值进行。值进行。数据寄存器数据寄存器(DR):存放操作数和运算结果,以减少访问存储器的次数。):存放操作数和运算结果,以减少访问存储器的次数。地址寄存器地址寄存器(AR):存放操作数的地址。):存放操作数的地址。状态寄存器状态寄存器(SR):存储运算中的状态,作为控制程序的条件。):存储运算中的状态,作为控制程序的条件。数据通路:数据通路:寄存器与寄存器与ALU之间传递信息的线路。通常有之间传递信息的线路。通常有2种建立方法种建立方法:用用数据总线数据总线(单总线,双总线,多总线)(单总线,双总线,多总线)用用专用通路专用通路(如(如MIPS)2.1 CPU基本概念CPU的基本构成:3数据总线结构在各寄存器以及在各寄存器以及ALU之间之间建立一条或几条公共的数建立一条或几条公共的数据总线,寄存器间的数据据总线,寄存器间的数据传输通过这些总线完成。传输通过这些总线完成。一条总线可以连接多个部一条总线可以连接多个部件,件,总线连接方式可以减总线连接方式可以减少线路的数量。少线路的数量。总线上可以有多个部件同总线上可以有多个部件同时接收数据,但任一时刻时接收数据,但任一时刻只能有一个部件向同一条只能有一个部件向同一条总线发送数据。总线发送数据。常用的是常用的是单总线结构单总线结构,即,即数据通路只用一条总线构数据通路只用一条总线构成,一次传输一个数据。成,一次传输一个数据。数据总线结构在各寄存器以及ALU之间建立一条或几条公共的数据4专用通路结构在各寄存器与在各寄存器与ALU之间根据指令执行过程中的操作和数据流向来之间根据指令执行过程中的操作和数据流向来安排功能部件并安排功能部件并建立相应的数据传输通路建立相应的数据传输通路。每条数据传输通路都是每条数据传输通路都是专用的,不共享使用专用的,不共享使用。在数据传输和操作中可以做到在数据传输和操作中可以做到互不相关互不相关,控制比较简单控制比较简单,各寄存,各寄存器之间的数据传输可以并行进行,从而达到器之间的数据传输可以并行进行,从而达到较高的性能较高的性能。专用通路结构在各寄存器与ALU之间根据指令执行过程中的操作和5时间概念指令周期指令周期是从一条指令的启动到下一条指令的启动的是从一条指令的启动到下一条指令的启动的时间间隔。时间间隔。机器周期机器周期指令周期中包含若干个指令周期中包含若干个基本操作步骤基本操作步骤,如访,如访问存储器和运算等。问存储器和运算等。每个基本操作的时间每个基本操作的时间称称为机器周期。为机器周期。时钟周期时钟周期是计算机是计算机时钟主频的周期时钟主频的周期。一个机器周期可以包含若干个时钟周期一个机器周期可以包含若干个时钟周期时间概念指令周期62.2 指令的执行过程指令的执行过程例:运算指令的执行过程例:运算指令的执行过程采用专用通路结构采用专用通路结构:如:如add$1,$2,$3(1)取指令取指令。IR=MemoryPC instruction fetchPC=PC+42.2 指令的执行过程例:运算指令的执行过程采用专用通路结7一、运算指令的执行过程一、运算指令的执行过程专用通路结构:专用通路结构:如如add$1,$2,$3(2)指令译码及读取操作数指令译码及读取操作数。A=RIR25:21B=RIR20:16Instruction decodeOperand fetch一、运算指令的执行过程专用通路结构:如add$1,$2,8一、运算指令的执行过程一、运算指令的执行过程专用通路结构专用通路结构:如:如add$1,$2,$3(3)执行执行。ALUoutput=A+B execution一、运算指令的执行过程专用通路结构:如add$1,$2,9一、运算指令的执行过程一、运算指令的执行过程专用通路结构:专用通路结构:如如add$1,$2,$3(4)写回写回。RIR15:11=ALUoutput write back一、运算指令的执行过程专用通路结构:如add$1,$2,10一、运算指令的执行过程一、运算指令的执行过程采用单总线结构采用单总线结构:如如ADD R3,R1,R2(1)PCMAR(2)PC+1PCPCMAR一、运算指令的执行过程采用单总线结构:PCMAR11一、运算指令的执行过程一、运算指令的执行过程单总线结构:如ADD R3,R1,R2(1)PCMAR(2)PC+1PC(3)DBUSMDR(4)MDRIRMDRIR指令译码器一、运算指令的执行过程单总线结构:MDRIR指令译码器12一、运算指令的执行过程一、运算指令的执行过程单总线结构:如ADD R3,R1,R2(1)PCMAR(2)PC+1PC(3)DBUSMDR(4)MDRIR(5)R1YR1Y一、运算指令的执行过程单总线结构:R1Y13一、运算指令的执行过程一、运算指令的执行过程单总线结构:如ADD R3,R1,R2(1)PCMAR(2)PC+1PC(3)DBUSMDR(4)MDRIR(5)R1Y(6)R2+YZR2Z一、运算指令的执行过程单总线结构:R2Z14一、运算指令的执行过程一、运算指令的执行过程单总线结构:如ADD R3,R1,R2(1)PCMAR(2)PC+1PC(3)DBUSMDR(4)MDRIR(5)R1Y(6)R2+YZ(7)ZR3R3状态寄存器状态寄存器一、运算指令的执行过程单总线结构:R3状态寄存器152.4 指令的流水执行流水技术流水技术用于用于提高指令的执行速度和数据运算速度提高指令的执行速度和数据运算速度。流水工作方式流水工作方式将一个计算任务细分成若干个子任务将一个计算任务细分成若干个子任务每个子任务由专门的部件处理每个子任务由专门的部件处理多个计算任务依次进行并行处理多个计算任务依次进行并行处理流水周期 2.4 指令的流水执行流水技术用于提高指令的执行速度和数据运162.4 指令的流水执行计算机流水线中的计算任务可以是计算机流水线中的计算任务可以是可以是一个可以是一个算术逻辑运算操作算术逻辑运算操作,也可以是一条指令的执行也可以是一条指令的执行。指令级流水线指令级流水线是把一条指令的执行过程分成是把一条指令的执行过程分成多多个子过程个子过程,由各个部件进行,由各个部件进行轮流处理轮流处理后完成执后完成执行过程。行过程。不必等到上一条指令的完成就可以开始下一条不必等到上一条指令的完成就可以开始下一条指令的执行。指令的执行。指令的流水线在高性能的微处理器中被普遍采指令的流水线在高性能的微处理器中被普遍采用。用。2.4 指令的流水执行计算机流水线中的计算任务可以是可以是一17指令的流水线指令流水线由一系列指令流水线由一系列串联的流水段串联的流水段组成。组成。每个流水段完成指令执行的一个操作步骤。每个流水段完成指令执行的一个操作步骤。各个流水段之间设有缓冲寄存器(各个流水段之间设有缓冲寄存器(流水寄存器流水寄存器),),以暂时保存上一个流水段对指令处理的结果。以暂时保存上一个流水段对指令处理的结果。流水线中的每个流水线中的每个流水段流水段构成流水线的一级。构成流水线的一级。在专用通路结构的在专用通路结构的CPU中,通常采用中,通常采用5个流水段个流水段(5级流水级流水)取指(取指(IF)-Instruction Fetch译码(译码(ID)-Instruction Decode运算执行(运算执行(EX)-Execute访存(访存(MEM)-Memory写回(写回(WB)-Write Back指令的流水线指令流水线由一系列串联的流水段组成。18流水线的性能1.吞吐率吞吐率衡量指令流水线的一个重要指标衡量指令流水线的一个重要指标。单位时间内流水线能处理的任务数量单位时间内流水线能处理的任务数量与流水的与流水的节拍时间节拍时间(流水周期)有关。(流水周期)有关。可将流水周期定为各流水段处理时间的最可将流水周期定为各流水段处理时间的最大值,加上流水寄存器的延迟时间。大值,加上流水寄存器的延迟时间。2.加速比加速比流水方式的工作速度与等效的顺序工作方流水方式的工作速度与等效的顺序工作方式时间的比值式时间的比值流水线的性能吞吐率19时空图时空图-根据流水段来画根据流水段来画5级流水线在执行级流水线在执行8条指令时条指令时:建立时间:建立时间:从从第一条指令第一条指令进入流水线到离开流水线的时间。进入流水线到离开流水线的时间。排空时间:排空时间:从从最后一条指令最后一条指令进入流水线到离开流水线的时间。进入流水线到离开流水线的时间。无流水时:无流水时:5个个时间节拍处理时间节拍处理1条指令。条指令。有流水时:有流水时:12个时间节拍处个时间节拍处理了理了8条指令条指令时空图-根据流水段来画5级流水线在执行8条指令时:建立时间:20流水线的作用流水线的作用由时空图可见:由时空图可见:对进入流水线的每条指令,其执行时间都没对进入流水线的每条指令,其执行时间都没有缩短。有缩短。指令流水通过指令之间的指令流水通过指令之间的重叠重叠来来提高吞吐率提高吞吐率。在流水线中,当任务饱满时,任务源源不断在流水线中,当任务饱满时,任务源源不断地输入流水线,不论有多少个流水段,地输入流水线,不论有多少个流水段,每隔每隔一个流水周期都能输出一个任务。一个流水周期都能输出一个任务。从而在宏观上从而在宏观上提高了处理速率。提高了处理速率。流水线的作用由时空图可见:21时空图时空图-根据指令序列来画(根据指令序列来画(常用常用)便于分析指令之间的关系便于分析指令之间的关系时空图-根据指令序列来画(常用)便于分析指令之间的关系22指令流水线的相关性指令流水线的相关性1.资源相关(结构相关)资源相关(结构相关)流水执行的多条指令流水执行的多条指令同时使用同一个部件同时使用同一个部件。由于硬件资源不够造成的,与硬件结构有关。由于硬件资源不够造成的,与硬件结构有关。2.数据相关数据相关流水执行的流水执行的多条指令访问相同的数据多条指令访问相同的数据,使得相关的,使得相关的指令不能并行地执行。指令不能并行地执行。RAW(读后写)(读后写)WAR(读后写)(读后写)WAW(写后写)(写后写)3.控制相关控制相关转移指令引起的相关转移指令引起的相关无法确定那一条指令是后继指令,使得后继指令不无法确定那一条指令是后继指令,使得后继指令不能进入流水线。能进入流水线。指令流水线的相关性1.资源相关(结构相关)23指令流水线的资源相关指令流水线的资源相关Addd:双精度加法指令双精度加法指令F2:浮点数寄存器浮点数寄存器指令流水线的资源相关Addd:双精度加法指令24指令流水线的数据相关指令流水线的数据相关写后读(写后读(RAW)指令流水线的数据相关写后读(RAW)25消除数据相关影响的方法停顿停顿(硬件措施)(硬件措施)编译检测编译检测(软件措施)(软件措施)相关专用通路相关专用通路(硬件措施)(硬件措施)消除数据相关影响的方法停顿(硬件措施)26解决数据相关性的方法流水线的停顿:流水线的停顿:停顿停顿N N个节拍个节拍解决数据相关性的方法流水线的停顿:停顿N个节拍27解决数据相关性的方法编译检测:编译检测:加入空操作(加入空操作(NOP)解决数据相关性的方法编译检测:加入空操作(NOP)28解决数据相关性的方法相关专用通道相关专用通道在在ALU的输出端到它的输入端之间的输出端到它的输入端之间设置一条数据线路设置一条数据线路,使得,使得RAW相关时,相关时,上一条指令的结果能直接送到上一条指令的结果能直接送到ALU的输入端的输入端。使得使得下一条指令能够及时得到上一条指令的结果下一条指令能够及时得到上一条指令的结果,而不用到而不用到寄存器中去读取寄存器中去读取,从而,从而避免了流水线的停顿。避免了流水线的停顿。解决数据相关性的方法相关专用通道29典型指令流水线的特点流水线分为IF、ID、EX、MEM、WB五个等长的时间阶段转移指令在第二个阶段被识别从而可确定如何取下一条指令没有相关专用通路一个时钟周期内只能启动执行一条指令一个时钟周期内只能写回一条指令读操作数从指令译码时开始读到为止典型指令流水线的特点流水线分为IF、ID、EX、MEM、WB312.5 2.5 指令系统指令系统指令系统指令系统n 指令格式和指令编码指令格式和指令编码n 指令和数据的寻址方式指令和数据的寻址方式n 指令系统指令系统2.5 指令系统 指令格式和指令编码322.5.1 指令格式和指令编码指令格式和指令编码指令格式指令格式 instruction formatinstruction format 操作码操作码,地址码,地址码,条件码条件码,下一条指令的地址下一条指令的地址 一、操作码一、操作码 opcodeopcode固定长度操作码固定长度操作码:便于译码,扩展性差:便于译码,扩展性差可变长度操作码可变长度操作码:能缩短指令平均长度:能缩短指令平均长度二、地址码二、地址码 addressing codeaddressing code零地址零地址指令,如指令,如NOP,CLR一地址一地址指令,如指令,如INC R1二地址二地址指令,如指令,如ADD R1,R2三地址三地址指令,如指令,如ADD R1,R2,R32.5.1 指令格式和指令编码指令格式 instructio33指令格式和指令编码指令格式和指令编码三、指令长度三、指令长度固定长度固定长度:取指快、译码简单。:取指快、译码简单。单字长、双字长、多字长单字长、双字长、多字长可变长度可变长度:可提高编码效率:可提高编码效率四、指令助记符四、指令助记符助记符助记符 mnemonics如如add、r1伪指令伪指令 directive累加器累加器 accumulator存放操作数和操作结果的一个寄存器存放操作数和操作结果的一个寄存器通用寄存器通用寄存器 general purpose register存放操作数和操作结果的一组寄存器存放操作数和操作结果的一组寄存器指令格式和指令编码三、指令长度34指令和数据的寻址方式指令和数据的寻址方式存储器中存储器中既存储指令,又存储数据既存储指令,又存储数据。在存储器中寻找指令或数据的方法有多种:在存储器中寻找指令或数据的方法有多种:按地址寻找按地址寻找按内容寻找按内容寻找按顺序寻找按顺序寻找在绝大多数计算机中都采用在绝大多数计算机中都采用按地址寻找的方式按地址寻找的方式,指令,指令或数据的寻找问题变成了构成其地址的问题或数据的寻找问题变成了构成其地址的问题在按地址寻找存储内容的计算机中,对指令的地址码在按地址寻找存储内容的计算机中,对指令的地址码进行编码,以形成操作数,进行编码,以形成操作数,寻找操作数在寄存器或存寻找操作数在寄存器或存储器中地址的方式称为储器中地址的方式称为寻址方式寻址方式。指令和数据的寻址方式存储器中既存储指令,又存储数据。35指令和数据的寻址方式指令和数据的寻址方式1.数据类型数据类型数值型数值型整型整型字节、字、双字字节、字、双字浮点数浮点数单精度、双精度单精度、双精度字符型字符型ASCII数据类型在指令中的数据类型在指令中的表达表达操作码表达操作码表达地址码表达地址码表达数据编码表达数据编码表达指令和数据的寻址方式1.数据类型数据类型在指令中的表达36指令和数据的寻址方式指令和数据的寻址方式2.数据存储字节顺序数据存储字节顺序(Endianness)大数端大数端(Big Endian)最低字节存储在高地址最低字节存储在高地址小数端小数端(Little Endian)最低字节存储在低地址最低字节存储在低地址例例:数据数据000F4240:指令和数据的寻址方式2.数据存储字节顺序(Endianne37数据类型及其存储方式数据类型及其存储方式3.数据对齐方式数据对齐方式(Alignment)数据类型及其存储方式3.数据对齐方式(Alignment38指令和数据的寻址方式指令和数据的寻址方式指令的寻址方式指令的寻址方式顺序执行顺序执行程序计数器程序计数器(PC)寻址寻址非顺序执行非顺序执行转移指令转移指令如如:jump$1000 bgt R1指令2PC指令3指令1指令和数据的寻址方式指令的寻址方式指令2PC指令3指令139操作数寻址方式操作数寻址方式addressing modes1.隐含方式隐含方式如如“ADD ADR”中的累加器中的累加器2.立即数方式立即数方式如如INT#33.寄存器方式寄存器方式如如INC R1操作数R1操作数寻址方式addressing modes1.隐含40操作数寻址方式操作数寻址方式(续)(续)4.直接寻址直接寻址如如INC 1000操作数1000操作数寻址方式(续)4.直接寻址操作数100041操作数寻址方式操作数寻址方式(续)(续)5.间接寻址间接寻址寄存器间接,寄存器间接,如如INC(R1)存储器间接,存储器间接,如如INC(1000)A操作数A操作数R11000操作数寻址方式(续)5.间接寻址寄存器间接,如42操作数寻址方式操作数寻址方式(续)(续)6.相对寻址相对寻址如如INC 8(PC)操作数8操作数寻址方式(续)6.相对寻址如INC 8(PC)437.变址和基址寻址变址和基址寻址如如INC 8(R1)变址寻址变址寻址 indexed mode-便于数组访问便于数组访问基址寻址基址寻址 based mode-可扩大寻址范围,可实现程序浮动可扩大寻址范围,可实现程序浮动I操作数R187.变址和基址寻址如INC 8(R1)变址寻址 i448.复合寻址复合寻址如如:INC 8(PC+R1)INC(R1)(1000)R188.复合寻址如:INC 8(PC+R1)INC(45各种常见寻址方式的汇编指令表示各种常见寻址方式的汇编指令表示46指令系统指令系统一、指令集设计原则一、指令集设计原则完备性完备性:能够覆盖所需的各种功能:能够覆盖所需的各种功能正交性正交性:无功能完全相同的指令:无功能完全相同的指令可扩充性可扩充性:保留一定余量的操作码空间以供:保留一定余量的操作码空间以供以后功能扩展。以后功能扩展。有效性有效性:利用该指令系统编写的程序能高效:利用该指令系统编写的程序能高效地运行。地运行。兼容性兼容性:机器指令的通用性。:机器指令的通用性。指令系统一、指令集设计原则47常见指令类型常见指令类型数据传送:move,load,store算术运算:add,sub,mult,div,comp逻辑运算:and,or,neg,shift常见指令类型数据传送:move,load,store48移位运算shiftData shift operations移位运算shiftData shift operations49指令类型指令类型数据传送:数据传送:move,load,store算术运算:算术运算:add,sub,mult,div,comp逻辑运算:逻辑运算:and,or,neg,shift程序控制:程序控制:jump,branch,jsr,ret,int输入输出:输入输出:in,out堆栈操作:堆栈操作:push,pop字符串:如字符串:如alpha中中CMPBGE,INSWH等等多媒体指令:多媒体指令:DSP系统指令:如奔腾机中系统指令:如奔腾机中指令类型数据传送:move,load,store50程序流控制-转移指令条件转移 vs 无条件转移相对转移 vs 绝对转移状态寄存器SRN ZV CPN:符号标志位:符号标志位 NegativeZ:全零标志位:全零标志位 ZreoV:溢出标志位:溢出标志位 OverflowC:进位:进位/借位标志位借位标志位 CarryP:奇偶标志位:奇偶标志位 Parity程序流控制-转移指令条件转移 vs 无条件转移NZVCPN:51程序流控制-转子指令功能功能实现子程序调用实现子程序调用步骤步骤 将下一条指令的地址将下一条指令的地址(PC的值的值)存放在一个临存放在一个临时存储位置时存储位置 将子程序的起始地址装入将子程序的起始地址装入PC中中子程序返回指令子程序返回指令 将存放在临时存储位置的指令地址取出将存放在临时存储位置的指令地址取出放回放回PC 程序流控制-转子指令功能52CISC和RISC复杂指令系统计算机复杂指令系统计算机(CISC)Complex Instruction Set Computer指令系统复杂指令系统复杂:指令数目大于:指令数目大于200条,寻址方式多,条,寻址方式多,指令格式多。指令格式多。指令串行执行指令串行执行:执行步骤多,需要多个时钟周期。:执行步骤多,需要多个时钟周期。各种指令都可访问存储器各种指令都可访问存储器。有较多专用寄存器。有较多专用寄存器。编译程序难以进行高效的代码优化编译程序难以进行高效的代码优化。CISC和RISC复杂指令系统计算机(CISC)53CISC和RISC精简指令系统计算机精简指令系统计算机(RISC)Reduced Instruction Set Computer简化简化的指令系统的指令系统以以寄存器寄存器-寄存器方式寄存器方式工作工作采用采用流水技术流水技术使用使用较多的通用寄存器较多的通用寄存器以减少访存以减少访存采用采用优化编译技术优化编译技术CISC和RISC精简指令系统计算机(RISC)54CISCComplex Instruction Set ComputerRISCReduced Instruction Set Computer指令种类和长指令种类和长度度种类多,长度可变种类多,长度可变种类少,长度固定种类少,长度固定指令操作数指令操作数Memaddr,Reg,ImmReg寻址方式寻址方式多多少少访存指令访存指令无特别限制无特别限制只有只有Load/store指令指令允许访问存储器允许访问存储器流水设计流水设计难难容易容易硬件设计硬件设计复杂复杂简单简单编译器编译器简单简单复杂复杂典型代表典型代表MCS-51,Intel X86MIPS,PowerPC,ARM,MPS430,PIC的的MCUCISCRISC指令种类和长度种类多,长度可变种类少,长度固55采用采用RISC设计思想的计算机产品设计思想的计算机产品HP公司的公司的Alpha系列、系列、PA-RISC系列系列IBM和和Motorola公司的公司的PowerPC系列系列SGI公司的公司的MIPS系列系列SUN公司的公司的SPARC系列系列嵌入式处理器:嵌入式处理器:ARM系列系列采用RISC设计思想的计算机产品HP公司的Alpha系列、P56
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


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

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


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