“计算机组成与系统结构”第5章 中央处理器(CPU).ppt
《“计算机组成与系统结构”第5章 中央处理器(CPU).ppt》由会员分享,可在线阅读,更多相关《“计算机组成与系统结构”第5章 中央处理器(CPU).ppt(277页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机组成与系统结构 上海交通大学 网络教育学院网络教育学院29 十二月 20222第1章 计算机系统概论第2章 运算方法和运算器第3章 存储系统第4章 指令系统第5章 中央处理器(CPU)第6章 总线系统第7章 输入输出(I/O)系统第8章 并行计算机系统网络教育学院29 十二月 20223第5章 中央处理器(CPU)5.1 CPU的功能和组成5.2 CPU的工作过程5.3 操作控制器5.4 CPU新技术5.5 CPU实例网络教育学院29 十二月 20224计算机的工作过程就是计算机执行程序的过程程序是一个指令序列明确告诉计算机应该执行什么操作在什么地方能够找到用来操作的数据一旦把程序装入主
2、存储器,计算机就可以自动执行取出指令和执行指令的任务专门用来完成此项工作的计算机部件称为中央处理器(Central Processing Unit,CPU)做成单片集成电路的CPU通常又称为微处理器(Microprocessor)陶瓷PGA封装的Intel 80486 DX2 CPU网络教育学院29 十二月 20225早期的CPU通常是为大型、特定的应用而定制的这种为特定应用而设计定制CPU的昂贵方法,已经让位于开发可大规模生产的通用处理器这种标准化趋势,大致开始于分立晶体管大型机(Mainframe)和小型机(Minicomputer)的年代随着集成电路(IC)的普及而大大加速集成电路可以把
3、日益复杂的CPU设计制造在很小的空间里CPU的小型化和标准化,大大增加了这些数字器件在现代生活中的应用范围远远超出了专用运算机器这一有限的应用现代微处理器已经随处可见从汽车到手机,甚至儿童玩具。网络教育学院29 十二月 202265.1 CPU的功能和组成5.1.1 CPU的基本功能5.1.2 CPU的基本组成5.1.3 CPU中的主要寄存器5.1.4 操作控制器和时序发生器网络教育学院29 十二月 20227作为控制并执行指令的部件,CPU对整个计算机系统的运行是至关重要的不仅要与计算机的其他功能部件进行信息交换还要控制这些功能部件的操作CPU工作过程编写程序,把程序同数据预先保存到主存储器
4、中计算机工作时,按顺序逐条取出指令,分析指令,执行指令自动转到下一条指令计算机一条一条地执行指令,实现预先设计的程序控制,直到程序规定的任务完成为止网络教育学院29 十二月 202285.1.1 CPU的基本功能1)程序控制 2)操作控制 3)时间控制 4)数据加工网络教育学院29 十二月 202291)程序控制 程序控制就是控制指令的执行顺序程序是指令的有序集合指令的相互顺序不能任意颠倒,必须严格按照程序规定的顺序执行保证计算机按一定顺序执行程序是CPU的首要任务网络教育学院29 十二月 2022102)操作控制 操作控制就是控制指令进行操作一条指令的功能往往由若干个操作信号的组合来实现CP
5、U管理并产生每条指令的操作信号把各种操作信号送往相应的部件从而控制这些部件按指令的要求进行操作网络教育学院29 十二月 2022113)时间控制 时间控制就是对各种操作实施定时控制各种指令的操作信号和指令的整个执行过程受到严格定时只有这样,计算机才能有条不紊地工作网络教育学院29 十二月 2022124)数据加工数据加工就是对数据进行算术和逻辑运算完成数据的加工处理,是CPU的根本任务网络教育学院29 十二月 2022135.1.2 CPU的基本组成传统上,CPU由控制器和运算器这两个主要部件组成新型CPU集成了一些原先置于CPU之外的分立功能部件如浮点处理器、高速缓存(Cache)等大大提高
6、CPU性能指标,也使得CPU的内部组成日益复杂化网络教育学院29 十二月 202214CPU主要组成部分的逻辑结构 CAI演示网络教育学院29 十二月 2022151控制器 控制器是整个计算机系统的指挥中心在控制器的指挥控制下,运算器、存储器和输入/输出设备等部件协同工作,构成一台完整的通用计算机控制器根据程序预定的指令执行顺序,从主存取出一条指令,按照该指令的功能,用硬件产生带有时序标志的一系列微操作控制信号控制计算机内各功能部件的操作协调和指挥整个计算机实现指令的功能网络教育学院29 十二月 202216控制器的组成程序计数器(PC)、指令寄存器(IR)、指令译码器(ID)、时序发生器、操
7、作控制器控制器的主要功能从主存中取出一条指令,并指出下一条指令在主存中的位置对指令进行译码,并产生相应的操作控制信号,以便启动规定的动作指挥并控制CPU、主存和输入/输出设备之间数据流动的方向网络教育学院29 十二月 2022172运算器运算器是计算机中用于实现数据加工处理功能的部件接受控制器的命令,完成对操作数据的加工处理任务其核心部件是算术逻辑单元ALU相对控制器而言,运算器接受控制器的命令而进行动作即运算器所进行的全部操作都是由控制器发出的控制信号来指挥的所以是执行部件网络教育学院29 十二月 202218运算器的组成算术逻辑单元(ALU)、累加寄存器(AC)、数据寄存器(DR)、程序状
8、态字寄存器(PSW)运算器主要功能执行所有的算术运算执行所有的逻辑运算,并进行逻辑测试网络教育学院29 十二月 2022195.1.3 CPU中的主要寄存器1.数据寄存器2.指令寄存器3.程序计数器4.地址寄存器5.累加寄存器6.程序状态字寄存器网络教育学院29 十二月 202220在CPU中至少要有六类寄存器指令寄存器(IR)、程序计数器(PC)、地址寄存器(AR)、数据寄存器(DR)、累加寄存器(AC)、程序状态字寄存器(PSW)这些寄存器用来暂存一个计算机字其数目可以根据需要进行扩充网络教育学院29 十二月 2022211.数据寄存器数据寄存器(Data Register,DR)又称数据
9、缓冲寄存器其主要功能是作为CPU和主存、外设之间信息传输的中转站用以弥补CPU和主存、外设之间操作速度上的差异数据寄存器用来暂时存放由主存储器读出的一条指令或一个数据字当向主存存入一条指令或一个数据字时,也将它们暂时存放在数据寄存器中数据寄存器的作用作为CPU和主存、外围设备之间信息传送的中转站弥补CPU和主存、外围设备之间在操作速度上的差异在单累加器结构的运算器中,数据寄存器还可兼作操作数寄存器网络教育学院29 十二月 2022222.指令寄存器指令寄存器(Instruction Register,IR)用来保存当前正在执行的一条指令当执行一条指令时,首先把该指令从主存读取到数据寄存器中然后
10、再传送至指令寄存器指令译码器(Instruction Decoder,ID)对操作码进行测试,识别出所要求的操作对指令寄存器的操作码部分进行译码,以产生指令所要求操作的控制电位,并将其送到微操作控制线路上在时序部件定时信号的作用下,产生具体的操作控制信号指令寄存器中操作码字段的输出就是指令译码器的输入操作码一经译码,即可向操作控制器发出具体操作的特定信号网络教育学院29 十二月 2022233.程序计数器程序计数器(Program Counter,PC)用来指出下一条指令在主存储器中的地址在程序执行之前,首先必须将程序的首地址,即程序第一条指令所在主存单元的地址送入PC因此PC的内容即是从主存
11、提取的第一条指令的地址当执行指令时,CPU能自动递增PC的内容,使其始终保存将要执行的下一条指令的主存地址,为取下一条指令做好准备若为单字长指令,则(PC)+1PC若为双字长指令,则(PC)+2PC,以此类推当遇到转移指令时,下一条指令的地址将由转移指令的地址码字段来指定程序计数器具有寄存信息和计数两种功能网络教育学院29 十二月 2022244.地址寄存器地址寄存器(Address Register,AR)用来保存CPU当前所访问的主存单元的地址由于在主存和CPU之间存在操作速度上的差异,必须使用地址寄存器来暂时保存主存的地址信息,直到主存的存取操作完成为止当CPU和主存进行信息交换时,都要
12、使用地址寄存器和数据寄存器如果把外围设备与主存单元进行统一编址,那么,当CPU和外围设备交换信息时,同样要使用地址寄存器和数据寄存器网络教育学院29 十二月 2022255.累加寄存器累加寄存器通常简称累加器(Accumulator,AC),是一个通用寄存器累加器的功能当运算器的算术逻辑单元ALU执行算术或逻辑运算时,为ALU提供一个工作区,可以为ALU暂时保存一个操作数或运算结果显然,运算器中至少要有一个累加寄存器网络教育学院29 十二月 2022266.程序状态字寄存器程序状态字(Program Status Word,PSW)用来表征当前运算的状态及程序的工作方式程序状态字寄存器用来保存
13、由算术/逻辑指令运行或测试的结果所建立起来的各种条件码内容如运算结果进/借位标志(C)、运算结果溢出标志(O)、运算结果为零标志(Z)、运算结果为负标志(N)、运算结果符号标志(S)等这些标志位通常用1位触发器来保存还用来保存中断和系统工作状态等信息以便CPU和系统及时了解机器运行状态和程序运行状态程序状态字寄存器是一个保存各种状态条件标志的寄存器网络教育学院29 十二月 2022275.1.4 操作控制器和时序发生器1微操作与数据通路2操作控制器3时序发生器网络教育学院29 十二月 2022281微操作与数据通路微操作(Microoperation)控制器在实现一条指令的功能时,总是把每一条
14、指令分解成时间上先后有序的一系列最基本、最简单、不可再分的操作控制动作这种最基本、最简单、不可再分的操作称为微操作网络教育学院29 十二月 202229数据通路(Data Path)通常把许多寄存器之间传输信息的通路称为数据通路控制信息从什么地方开始,中间经过哪个寄存器或多路开关,最后传送到哪个寄存器在数据通路中,微操作通过自身的控制作用和彼此之间的密切配合,使指令流、数据流等信息流按照预定的路径流动,以实现指令的功能每一条指令的功能决定了它所需要的一系列带时序的微操作信号网络教育学院29 十二月 2022302操作控制器控制器的基本功能是负责指令的读出、识别和解释,并指挥协调各功能部件执行指
15、令操作控制器是CPU中完成取指令和执行指令全过程的部件其主要功能是根据指令操作码和时序信号的要求,产生各种操作控制信号以便在各寄存器之间正确地建立数据通路,从而完成取指令和执行指令的控制网络教育学院29 十二月 202231根据设计方法不同,操作控制器可分为组合逻辑控制器和微程序控制器两种二者的区别在于其中的控制信号形成部件不同,进而反映出不同的设计原理和方法根据使用器件的不同,组合逻辑控制器又可进一步细分为硬连线控制器和门阵列控制器网络教育学院29 十二月 2022323时序发生器CPU中除了操作控制器外,还必须包括时序发生器由于计算机的高速工作,每一个动作的时间必须非常严格,不能有任何差错
16、时序发生器的作用对操作控制器产生的各种控制信号实施时间上的严格控制产生各功能部件所需要的定时控制信号网络教育学院29 十二月 2022335.2 CPU的工作过程5.2.1 指令的执行过程5.2.2 指令周期5.2.3 时序发生器5.2.4 控制方式网络教育学院29 十二月 202234CPU的基本工作是执行预先存储的指令序列(即程序)程序的执行过程实际上是不断地取出指令、分析指令、执行指令的过程CPU从存放程序的主存储器里取出一条指令译码并执行这条指令保存执行结果紧接着又去取指令,译码,执行指令如此周而复始,反复循环,使得计算机能够自动地工作除非遇到停机指令,否则这个循环将一直进行下去网络教
17、育学院29 十二月 2022355.2.1 指令的执行过程1取指令阶段2指令译码阶段3执行指令阶段4访存取数阶段5结果写回阶段网络教育学院29 十二月 202236几乎所有的冯诺伊曼型计算机的CPU,其工作都可以分为5个阶段取指令指令译码执行指令访存取数结果写回指令的执行过程网络教育学院29 十二月 2022371取指令阶段取指令(Instruction Fetch,IF)阶段是将一条指令从主存中取到指令寄存器的过程程序计数器PC中的数值,用来指示当前指令在主存中的位置当一条指令被取出后,PC中的数值将根据指令字长度而自动递增:若为单字长指令,则(PC)+1PC;若为双字长指令,则(PC)+2
18、PC,依此类推网络教育学院29 十二月 2022382指令译码阶段取出指令后,计算机立即进入指令译码(Instruction Decode,ID)阶段在指令译码阶段,指令译码器按照预定的指令格式,对取回的指令进行拆分和解释,识别区分出不同的指令类别以及各种获取操作数的方法网络教育学院29 十二月 202239在组合逻辑控制的计算机中,指令译码器对不同的指令操作码产生不同的控制电位,以形成不同的微操作序列在微程序控制的计算机中,指令译码器用指令操作码来找到执行该指令的微程序的入口,并从此入口开始执行在传统的设计里,CPU中负责指令译码的部分是无法改变的在众多运用微程序控制技术的新型CPU中,微程
19、序有时是可重写的,可以通过修改成品CPU来改变CPU的译码方式网络教育学院29 十二月 2022403执行指令阶段在取指令和指令译码阶段之后,接着进入执行指令(Execute,EX)阶段完成指令所规定的各种操作具体实现指令的功能网络教育学院29 十二月 202241为此,CPU的不同部分被连接起来,以执行所需的操作例如,如果要求完成一个加法运算,算术逻辑单元ALU将被连接到一组输入和一组输出输入端提供需要相加的数值输出端将含有最后的运算结果网络教育学院29 十二月 2022424访存取数阶段根据指令需要,有可能要访问主存,读取操作数,这样就进入了访存取数(Memory,MEM)阶段根据指令地址
20、码,得到操作数在主存中的地址从主存中读取该操作数用于运算网络教育学院29 十二月 2022435结果写回阶段作为最后一个阶段,结果写回(Writeback,WB)阶段把执行指令阶段的运行结果数据“写回”到某种存储形式:结果数据经常被写到CPU的内部寄存器中,以便被后续的指令快速地存取在有些情况下,结果数据也可被写入相对较慢、但较廉价且容量较大的主存许多指令还会改变程序状态字寄存器中标志位的状态标识不同的操作结果,可被用来影响程序的动作网络教育学院29 十二月 202244在指令执行完毕、结果数据写回之后,若无意外事件(如结果溢出等)发生,计算机就接着从程序计数器PC中取得下一条指令地址,开始新
21、一轮的循环,下一个指令周期将顺序取出下一条指令许多新型CPU可以同时取出、译码和执行多条指令,体现并行处理的特性网络教育学院29 十二月 2022455.2.2 指令周期1指令周期的基本概念2用指令流程图表示指令周期网络教育学院29 十二月 2022461指令周期的基本概念1)指令周期2)CPU周期3)时钟周期4)取出和执行任何一条指令所需的最短时间为2个CPU周期网络教育学院29 十二月 2022471)指令周期指令周期是CPU取出一条指令并执行该指令所需的时间指令周期的长短与指令的复杂程度有关网络教育学院29 十二月 2022482)CPU周期指令周期常常用若干个CPU周期数来表示由于CP
22、U内部的操作速度较快,而CPU访问一次主存所花的时间较长通常用从主存读取一条指令的最短时间来规定CPU周期CPU周期也称为机器周期网络教育学院29 十二月 2022493)时钟周期一个CPU周期包含若干个时钟周期时钟周期是处理操作的最基本时间单位,由机器的主频决定一个CPU周期的时间宽度由若干个时钟周期的总和来决定采用定长CPU周期的指令周期示意图网络教育学院29 十二月 2022504)取出和执行任何一条指令所需的最短时间为2个CPU周期任何一条指令的指令周期至少需要2个CPU周期,而复杂指令的指令周期则需要更多的CPU周期一条指令的取出阶段需要一个CPU周期时间一条指令的执行阶段需要至少一
23、个CPU周期时间由于指令的复杂度不同,其执行周期所需的CPU周期数也不尽相同网络教育学院29 十二月 202251【例5-1】现有一个由5条典型指令组成的程序,请分析每一条指令的指令周期。主存储器操作说明地址指令或数据内容020HCLA0AC,累加器AC清零021HADD 30H(AC)+(30H)AC,累加器AC的值与主存地址30H中的数据相加,结果存入累加器AC022HSTA 40H(AC)40H,把累加器AC的值存入主存地址40H023HNOP空操作,没有任何功能024HJMP 21H无条件转移到主存地址21H处开始执行030H操作数040H存放运算结果网络教育学院29 十二月 2022
24、52【解】CLA指令CLA指令是一条不访问主存的清零指令,需要2个CPU周期取指令阶段需要1个CPU周期执行指令阶段需要1个CPU周期在第1个CPU周期CPU从主存取出指令对程序计数器PC加1对指令操作码进行译码,以确定执行何种操作在第2个CPU周期CPU完成指令所要求的操作网络教育学院29 十二月 202253 ADD 30H指令ADD 30H指令是一条访问主存取数并执行加法的指令,其指令周期由3个CPU周期组成取指令阶段需要1个CPU周期执行指令阶段需要2个CPU周期在第1个CPU周期CPU从主存取出指令译码,以确定执行何种操作在第2个CPU周期CPU将指令的地址码(操作数地址)部分(30
25、H)送往地址寄存器完成地址译码在第3个CPU周期CPU从主存取出操作数执行加法操作网络教育学院29 十二月 202254 STA 40H指令STA 40H指令是一条访问主存的存数指令,其指令周期由3个CPU周期组成取指令阶段需要1个CPU周期执行指令阶段需要2个CPU周期在第1个CPU周期CPU从主存取出指令译码,以确定执行何种操作在第2个CPU周期CPU将指令的地址码(操作数地址)部分(40H)送往地址寄存器完成地址译码在第3个CPU周期CPU把累加寄存器的内容写入主存单元(40H)中网络教育学院29 十二月 202255 NOP指令NOP指令是一条空操作指令,没有任何功能,相当于CPU空转
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- “计算机组成与系统结构”第5章 中央处理器CPU 计算机 组成 系统 结构 中央处理器 CPU
限制150内