第二章中央处理器与指令系统精选文档.ppt

上传人:石*** 文档编号:45344946 上传时间:2022-09-23 格式:PPT 页数:60 大小:3.45MB
返回 下载 相关 举报
第二章中央处理器与指令系统精选文档.ppt_第1页
第1页 / 共60页
第二章中央处理器与指令系统精选文档.ppt_第2页
第2页 / 共60页
点击查看更多>>
资源描述

《第二章中央处理器与指令系统精选文档.ppt》由会员分享,可在线阅读,更多相关《第二章中央处理器与指令系统精选文档.ppt(60页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第二章中央处理器与指令系统本讲稿第一页,共六十页*2/60第二章第二章 CPU与指令系统与指令系统2.12.1 CPU基本概念基本概念2.22.2 指令的执行过程指令的执行过程2.32.3 指令的流水执行指令的流水执行2.42.4 指令系统指令系统本讲稿第二页,共六十页*3/602.1 CPU基本概念基本概念CPU的的基本功能基本功能 指令控制指令控制 操作控制操作控制 数据运算数据运算 异常和中断处理异常和中断处理CPU的的扩展功能扩展功能存储管理存储管理数据缓存数据缓存总线管理总线管理功耗管理功耗管理本讲稿第三页,共六十页*4/60CPU的基本构成:的基本构成:控制器,运算器,寄存器控制器

2、,运算器,寄存器 cache、MMU寄存器寄存器:用于(临时)存放各种信息。:用于(临时)存放各种信息。指令寄存器指令寄存器(IR):存放当前执行的指令,为指令译码器提供指):存放当前执行的指令,为指令译码器提供指 令信息。令信息。程序计数器程序计数器(PC):存放指令的地址,从存储器取指令时根据):存放指令的地址,从存储器取指令时根据PC 值进行。值进行。数据寄存器数据寄存器(DR):存放操作数和运算结果,以减少访问存储器):存放操作数和运算结果,以减少访问存储器 的次数。的次数。地址寄存器地址寄存器(AR):存放操作数的地址。):存放操作数的地址。状态寄存器状态寄存器(SR):存储运算中的

3、状态,作为控制程序的条件。):存储运算中的状态,作为控制程序的条件。数据通路:数据通路:寄存器与寄存器与ALU之间传递信息的线路。通常有之间传递信息的线路。通常有2 种建立方法种建立方法:用用数据总线数据总线(单总线,双总线,多总线)(单总线,双总线,多总线)用用专用通路专用通路(如(如MIPS)2.1 CPU基本概念基本概念本讲稿第四页,共六十页*5/60数据总线结构数据总线结构在各寄存器以及在各寄存器以及ALU之间建立之间建立一条或几条公共的数据总线,一条或几条公共的数据总线,寄存器间的数据传输通过这些寄存器间的数据传输通过这些总线完成。总线完成。一条总线可以连接多个部件,一条总线可以连接

4、多个部件,总线连接方式可以减少线路总线连接方式可以减少线路的数量。的数量。总线上可以有多个部件同时总线上可以有多个部件同时接收数据,但任一时刻只能接收数据,但任一时刻只能有一个部件向同一条总线发有一个部件向同一条总线发送数据。送数据。常用的是常用的是单总线结构单总线结构,即数据,即数据通路只用一条总线构成,一次传通路只用一条总线构成,一次传输一个数据。输一个数据。本讲稿第五页,共六十页*6/60周期概念周期概念指令周期指令周期:从一条指令的启动到下一条指令的启动的时间间隔。从一条指令的启动到下一条指令的启动的时间间隔。机器周期机器周期:指令周期中包含若干个指令周期中包含若干个基本操作步骤基本操

5、作步骤,如访问存储器和,如访问存储器和运算等。运算等。每个基本操作的时间每个基本操作的时间称为称为机器周期机器周期。机器周期基本上是根据存储器的速度及机器周期基本上是根据存储器的速度及ALU执行周期的基执行周期的基本时间确定的本时间确定的。时钟周期时钟周期:是计算机是计算机时钟主频的周期时钟主频的周期。一个机器周期可以包含一个机器周期可以包含若干个时钟周期若干个时钟周期。本讲稿第六页,共六十页*7/60采用单总线结构采用单总线结构:如如ADD R3,R1,R2(1)PCMAR(2)PC+1PCPCMAR一、一、运算指令运算指令的执行过程的执行过程2.2 指令的执行过程指令的执行过程本讲稿第七页

6、,共六十页*8/60单总线结构:单总线结构:如如ADD R3,R1,R2(1)PCMAR(2)PC+1PC(3)DBUSMDR(4)MDRIRMDRIR指令译码器一、运算指令的执行过程一、运算指令的执行过程2.2 指令的执行过程指令的执行过程本讲稿第八页,共六十页*9/60单总线结构:单总线结构:如如ADD R3,R1,R2(1)PCMAR(2)PC+1PC(3)DBUSMDR(4)MDRIR(5)R1YR1Y一、运算指令的执行过程一、运算指令的执行过程2.2 指令的执行过程指令的执行过程本讲稿第九页,共六十页*1060单总线结构:单总线结构:如如ADD R3,R1,R2(1)PCMAR(2)

7、PC+1PC(3)DBUSMDR(4)MDRIR(5)R1Y(6)R2+YZR2Z一、运算指令的执行过程一、运算指令的执行过程2.2 指令的执行过程指令的执行过程本讲稿第十页,共六十页*1160单总线结构:单总线结构:如如ADD R3,R1,R2(1)PCMAR(2)PC+1PC(3)DBUSMDR(4)MDRIR(5)R1Y(6)R2+YZ(7)ZR3R3状态寄存器状态寄存器一、运算指令的执行过程一、运算指令的执行过程2.2 指令的执行过程指令的执行过程本讲稿第十一页,共六十页*1260流水技术流水技术用于用于提高指令的执行速度和数据运算速度提高指令的执行速度和数据运算速度。流水工作方式流水

8、工作方式:将一个计算任务细分成若干个子任务将一个计算任务细分成若干个子任务每个子任务由专门的部件处理每个子任务由专门的部件处理多个计算任务依次进行并行处理多个计算任务依次进行并行处理流水周期 2.3 指令的流水执行指令的流水执行本讲稿第十二页,共六十页*1360计算机流水线中的计算任务可以是计算机流水线中的计算任务可以是一个算术逻辑运一个算术逻辑运算操作算操作,也可以是一条指令的执行也可以是一条指令的执行。指令级流水线指令级流水线是把一条指令的执行过程分成是把一条指令的执行过程分成多个子多个子过程过程,由各个部件进行,由各个部件进行轮流处理轮流处理后完成执行过程。后完成执行过程。不必等到上一条

9、指令的完成就可以开始下一条指不必等到上一条指令的完成就可以开始下一条指令的执行。令的执行。指令的流水线在高性能的微处理器中被普遍采用。指令的流水线在高性能的微处理器中被普遍采用。2.3 指令的流水执行指令的流水执行本讲稿第十三页,共六十页*1460指令的流水线指令的流水线指令流水线由一系列指令流水线由一系列串联的流水段串联的流水段组成。组成。每个流水段完成指令执行的一个操作步骤。每个流水段完成指令执行的一个操作步骤。各个流水段之间设有缓冲寄存器(各个流水段之间设有缓冲寄存器(流水寄存器流水寄存器),以暂时),以暂时保存上一个流水段对指令处理的结果。保存上一个流水段对指令处理的结果。流水线中的每

10、个流水线中的每个流水段流水段构成流水线的一级。构成流水线的一级。在专用通路结构的在专用通路结构的CPU中,通常采用中,通常采用5个流水段个流水段(5级流水级流水)取指(取指(IF)-Instruction Fetch译码(译码(ID)-Instruction Decode运算执行(运算执行(EX)-Execute访存(访存(MEM)-Memory写回(写回(WB)-Write Back本讲稿第十四页,共六十页*15601.吞吐率吞吐率(throughput)衡量指令流水线的一个重要指标衡量指令流水线的一个重要指标。单位时间内流水线能处理的任务数量单位时间内流水线能处理的任务数量与流水的与流水的

11、节拍时间节拍时间(流水周期)有关。(流水周期)有关。流水周期可定为各流水段处理时间的最大值,流水周期可定为各流水段处理时间的最大值,加上流水寄存器的延迟时间。加上流水寄存器的延迟时间。指令流水节拍指令流水节拍:是指令从一个流水段进入下一个流:是指令从一个流水段进入下一个流水段的间隔时间,又称为水段的间隔时间,又称为流水周期流水周期2.加速比加速比流水方式的工作速度与等效的顺序工作方式流水方式的工作速度与等效的顺序工作方式时间的比值时间的比值流水线的性能流水线的性能本讲稿第十五页,共六十页*1660时空图时空图-根据流水段来画根据流水段来画5级流水线在执行级流水线在执行8条指令时条指令时:建立时

12、间:建立时间:从从第一条指令第一条指令进入流水线到离开流水线的时间。进入流水线到离开流水线的时间。排空时间:排空时间:从从最后一条指令最后一条指令进入流水线到离开流水线的时间。进入流水线到离开流水线的时间。无流水时:无流水时:5个时个时间节拍处理间节拍处理1条指条指令。令。有流水时:有流水时:12个个时间节拍处理了时间节拍处理了8条指令条指令本讲稿第十六页,共六十页*1760由时空图可见:由时空图可见:对进入流水线的每条指令,其执行时间都没有缩短。对进入流水线的每条指令,其执行时间都没有缩短。指令流水通过指令之间的指令流水通过指令之间的重叠重叠来来提高吞吐率提高吞吐率。在流水线中,当任务饱满时

13、,任务源源不断地在流水线中,当任务饱满时,任务源源不断地输入流水线,不论有多少个流水段,输入流水线,不论有多少个流水段,每隔一个流每隔一个流水周期都能输出一个任务。水周期都能输出一个任务。在宏观上在宏观上提高了处理速率。提高了处理速率。流水线的作用流水线的作用本讲稿第十七页,共六十页*1860便于分析指令之间的关系便于分析指令之间的关系时空图时空图-根据指令序列来画根据指令序列来画本讲稿第十八页,共六十页*19601.资源相关(结构相关)资源相关(结构相关):流水执行的多条指令流水执行的多条指令同时使用同一个部件;同时使用同一个部件;由于硬件资源不够造成的,与硬件结构有关。由于硬件资源不够造成

14、的,与硬件结构有关。2.数据相关数据相关:流水线中指令之间的数据依赖关流水线中指令之间的数据依赖关流水执行的流水执行的多条指令访问多条指令访问相同相同的数据的数据,使得相关的指令不,使得相关的指令不能并行地执行;能并行地执行;RAW(写后读写后读)、WAR(读后写读后写)、WAW(写后写写后写)。3.控制相关控制相关转移指令引起的相关转移指令引起的相关在指令执行完成之前,无法确定那一条指令是后继指在指令执行完成之前,无法确定那一条指令是后继指令,使得后继指令不能进入流水线。令,使得后继指令不能进入流水线。指令流水线的相关性指令流水线的相关性本讲稿第十九页,共六十页*2060 Addd:双精度加

15、法指令双精度加法指令F2:浮点数寄存器浮点数寄存器指令流水线的资源相关指令流水线的资源相关本讲稿第二十页,共六十页*2160写后读(写后读(RAW)指令流水线的资源相关指令流水线的资源相关本讲稿第二十一页,共六十页*2260停顿停顿(硬件措施)(硬件措施)编译检测编译检测(软件措施)(软件措施)相关专用通路相关专用通路(硬件措施)(硬件措施)消除数据相关影响的方法消除数据相关影响的方法本讲稿第二十二页,共六十页*2360流水线的停顿:流水线的停顿:停顿停顿N N个节拍个节拍解决数据相关性的方法本讲稿第二十三页,共六十页*2460编译检测:编译检测:加入空操作(加入空操作(NOP)解决数据相关性

16、的方法本讲稿第二十四页,共六十页*2560相关专用通道相关专用通道在在ALU的输出端到它的输入端之间的输出端到它的输入端之间设置一条数据线路设置一条数据线路,使得,使得RAW相关时,相关时,上一条指令的结果能直接送到上一条指令的结果能直接送到ALU的输入端的输入端。使得使得下一条指令能够及时得到上一条指令的结果下一条指令能够及时得到上一条指令的结果,而不用到寄而不用到寄存器中去读取存器中去读取,从而,从而避免了流水线的停顿。避免了流水线的停顿。解决数据相关性的方法本讲稿第二十五页,共六十页*2660流水线分为IF、ID、EX、MEM、WB五个等长的时间阶段转移指令在第二个阶段被识别从而可确定如

17、何取下一条指令没有相关专用通路一个时钟周期内只能启动执行一条指令一个时钟周期内只能写回一条指令读操作数从指令译码时开始读到为止典型指令流水线的特点本讲稿第二十六页,共六十页*2760n 指令格式和指令编码指令格式和指令编码n 指令和数据的寻址方式指令和数据的寻址方式n 指令系统分类指令系统分类2.4 指令系统指令系统本讲稿第二十七页,共六十页*2860指令格式指令格式 instruction formatinstruction format 操作码操作码,地址码,地址码,条件码条件码,下一条指令的地址下一条指令的地址 一、操作码一、操作码 opcodeopcode固定长度操作码固定长度操作码:

18、便于译码,扩展性差:便于译码,扩展性差可变长度操作码可变长度操作码:能缩短指令平均长度:能缩短指令平均长度二、地址码二、地址码 addressing codeaddressing code零地址零地址指令,如指令,如NOP,CLR一地址一地址指令,如指令,如INC R1二地址二地址指令,如指令,如ADD R1,R2三地址三地址指令,如指令,如ADD R1,R2,R3指令格式和指令编码指令格式和指令编码本讲稿第二十八页,共六十页*2960三、指令长度三、指令长度固定长度固定长度:取指快、译码简单。:取指快、译码简单。单字长、双字长、多字长单字长、双字长、多字长可变长度可变长度:可提高编码效率:可

19、提高编码效率四、指令助记符四、指令助记符 助记符助记符 mnemonics如如add R1 伪指令伪指令 directive 累加器累加器 accumulator存放操作数和操作结果的一个寄存器存放操作数和操作结果的一个寄存器 通用寄存器通用寄存器 general purpose register存放操作数和操作结果的一组寄存器存放操作数和操作结果的一组寄存器指令格式和指令编码指令格式和指令编码本讲稿第二十九页,共六十页*3060存储器中存储器中既存储指令,又存储数据既存储指令,又存储数据。在存储器中寻找指令或数据的方法有多种:在存储器中寻找指令或数据的方法有多种:按地址寻找按地址寻找按内容寻

20、找按内容寻找按顺序寻找按顺序寻找在绝大多数计算机中都采用在绝大多数计算机中都采用按地址寻找的方式按地址寻找的方式,指,指令或数据的寻找问题变成了构成其地址的问题令或数据的寻找问题变成了构成其地址的问题在按地址寻找存储内容的计算机中,对指令的地址码进在按地址寻找存储内容的计算机中,对指令的地址码进行编码,以形成操作数,行编码,以形成操作数,寻找操作数在寄存器或存储寻找操作数在寄存器或存储器中地址的方式称为器中地址的方式称为寻址方式寻址方式。指令和数据的寻址方式指令和数据的寻址方式本讲稿第三十页,共六十页*31601.数据类型数据类型数值型数值型整型整型字节、字、双字字节、字、双字浮点数浮点数单精

21、度、双精度单精度、双精度字符型字符型ASCII数据类型在指令中的表数据类型在指令中的表达达操作码表达操作码表达地址码表达地址码表达数据编码表达数据编码表达指令和数据的寻址方式指令和数据的寻址方式本讲稿第三十一页,共六十页*32602.数据存储字节顺序数据存储字节顺序(Endianness)大数端大数端(Big Endian)最低字节存储在高地址最低字节存储在高地址小数端小数端(Little Endian)最低字节存储在低地址最低字节存储在低地址例例:数据数据000F4240:指令和数据的寻址方式指令和数据的寻址方式本讲稿第三十二页,共六十页*33603.数据对齐方式数据对齐方式(Alignme

22、nt)数据类型及其存储方式数据类型及其存储方式指数据的逻辑存储位置与物理访问位置的对齐方式指数据的逻辑存储位置与物理访问位置的对齐方式本讲稿第三十三页,共六十页*3460指令的寻址方式指令的寻址方式顺序执行顺序执行程序计数器程序计数器(PC)寻址寻址非顺序执行非顺序执行转移指令转移指令如如:jump$1000 bgt R1指令2PC指令3指令1指令和数据的寻址方式指令和数据的寻址方式本讲稿第三十四页,共六十页*3560addressing modes1.隐含方式隐含方式如如:“ADD ADR”中的累加器中的累加器2.立即数方式立即数方式如如:INT#33.寄存器方式寄存器方式如如:INC R1

23、操作数R1操作数寻址方式操作数寻址方式本讲稿第三十五页,共六十页*36604.直接寻址方式直接寻址方式如如:INC 1000操作数1000操作数寻址方式操作数寻址方式本讲稿第三十六页,共六十页*37605.间接寻址方式间接寻址方式寄存器间接,寄存器间接,如如:INC (R1)存储器间接,存储器间接,如如:INC (1000)A操作数A操作数R11000操作数寻址方式操作数寻址方式本讲稿第三十七页,共六十页*38606.相对寻址方式相对寻址方式 如如:INC 8(PC)操作数8操作数寻址方式操作数寻址方式本讲稿第三十八页,共六十页*39607.变址和基址寻址方式变址和基址寻址方式 如:如:INC

24、 8(R1)变址寻址变址寻址 indexed mode-便于数组访问便于数组访问基址寻址基址寻址 based mode-可扩大寻址范围,可实现程序浮动可扩大寻址范围,可实现程序浮动I操作数R18操作数寻址方式操作数寻址方式本讲稿第三十九页,共六十页*40608.复合寻址方式复合寻址方式如如:INC 8(PC+R1)INC (R1)(1000)R18操作数寻址方式操作数寻址方式本讲稿第四十页,共六十页*4160各种常见寻址方式的汇编指令表示各种常见寻址方式的汇编指令表示本讲稿第四十一页,共六十页*42604259一、指令集设计原则一、指令集设计原则完备性完备性:能够覆盖所需的各种功能:能够覆盖所

25、需的各种功能正交性正交性:无功能完全相同的指令:无功能完全相同的指令可扩充性可扩充性:保留一定余量的操作码空间以供以后:保留一定余量的操作码空间以供以后功能扩展。功能扩展。有效性有效性:利用该指令系统编写的程序能高效地运行。:利用该指令系统编写的程序能高效地运行。兼容性兼容性:机器指令的通用性。:机器指令的通用性。指令系统指令系统*本讲稿第四十二页,共六十页*4360常见指令类型常见指令类型数据传送:move,load,store算术运算:add,sub,mult,div,comp逻辑运算:and,or,neg,shift本讲稿第四十三页,共六十页*4460移位运算shiftData shif

26、t operations本讲稿第四十四页,共六十页*4560指令类型指令类型数据传送:数据传送: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系统指令:用于改变计算机系统的工作状态。系统指令:用于改变计算机系统的工作状态。本讲稿第四十五页,共六十页*4660程序流控制程序流控

27、制-转移指令转移指令条件转移 vs 无条件转移相对转移 vs 绝对转移状态寄存器SRNZVCPN:符号标志位:符号标志位 NegativeZ:全零标志位:全零标志位 ZreoV:溢出标志位:溢出标志位 OverflowC:进位:进位/借位标志位借位标志位 CarryP:奇偶标志位:奇偶标志位 Parity本讲稿第四十六页,共六十页*4760功能功能实现子程序调用实现子程序调用步骤步骤 将下一条指令的地址将下一条指令的地址(PC的值的值)存放在一个临时存储位置存放在一个临时存储位置 将子程序的起始地址装入将子程序的起始地址装入PC中中子程序返回指令子程序返回指令 将存放在临时存储位置的指令地址取

28、出将存放在临时存储位置的指令地址取出放回放回PC 程序流控制程序流控制-转子指令转子指令本讲稿第四十七页,共六十页*4860CISC和和RISC复杂指令系统计算机复杂指令系统计算机(CISC)Complex Instruction Set Computer指令系统复杂指令系统复杂:指令数目大于:指令数目大于200条,寻址方式多,指条,寻址方式多,指令格式多。令格式多。指令串行执行指令串行执行:执行步骤多,需要多个时钟周期。:执行步骤多,需要多个时钟周期。各种指令都可访问存储器各种指令都可访问存储器。有较多专用寄存器。有较多专用寄存器。编译程序难以进行高效的代码优化编译程序难以进行高效的代码优化

29、。本讲稿第四十八页,共六十页*4960精简指令系统计算机精简指令系统计算机(RISC)Reduced Instruction Set Computer简化简化的指令系统的指令系统以以寄存器寄存器-寄存器方式寄存器方式工作工作采用采用流水技术流水技术使用使用较多的通用寄存器较多的通用寄存器以减少访存以减少访存采用采用优化编译技术优化编译技术CISC和和RISC本讲稿第四十九页,共六十页*5060CISCComplex Instruction Set ComputerRISCReduced Instruction Set Computer指令种类和长指令种类和长度度种类多,长度可变种类多,长度可变

30、种类少,长度固定种类少,长度固定指令操作数指令操作数Memaddr,Reg,ImmReg寻址方式寻址方式多多少少访存指令访存指令无特别限制无特别限制只有只有Load/store指令允指令允许访问存储器许访问存储器流水设计流水设计难难容易容易硬件设计硬件设计复杂复杂简单简单编译器编译器简单简单复杂复杂典型代表典型代表MCS-51,Intel X86MIPS,PowerPC,ARM,MPS430,PIC的的MCUCISC和和RISC本讲稿第五十页,共六十页*5160采用采用RISCRISC设计思想的计算机产品设计思想的计算机产品HP公司的公司的Alpha系列、系列、PA-RISC系列系列IBM和和Motorola公司的公司的PowerPC系列系列SGI公司的公司的MIPS系列系列SUN公司的公司的SPARC系列系列嵌入式处理器:嵌入式处理器:ARM系列系列本讲稿第五十一页,共六十页*6060第二章第二章 CPU与指令系统与指令系统END本讲稿第六十页,共六十页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com