1、CPU的功能和组成指令周期时序产生器和控制方式,主要内容,什么是CPU?所谓中央处理器是控制计算机来自动完成取出指令和执行指令任务的部件。它是计算机的核心部件,通常简称为CPU。,CPU的功能和组成,CPU的功能 指令控制:就是保证机器按规定的顺序执行程序操作控制:CPU管理并产生由内存取出的每条指令的操作信号,并把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作。时间控制:对各种操作实施时间上的控制,称为时间控制。数据加工:所谓数据加工,就是对数据进行算术运算和逻辑运算处理。完成数据的加工处理,这是CPU的根本的任务。,CPU的功能和组成,(2),CPU的基本组成 中央处理器
2、由两个主要部分控制器和运算器组成。,CPU的功能和组成,控制器 由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成,它是发布命令的“决策机构”,即完成协调和指挥整个计算机系统的操作。控制器的主要功能有:从内存中取出一条指令,并指出下一条指令在内存中的位置。对指令进行译码或测试,并产生相应的控制信号。指挥并控制CPU,内存和I/O之间的数据流动的方向。,CPU的功能和组成,运算器 由算术逻辑单位(ALU)、累加寄存器、数据缓冲寄存器和状态条件寄存器组成,它是数据加工处理部件。相对控制器而言,运算器接受控制器的命令而进行动作,即运算器所进行的全部操作都是由控制器发出的控制信号来指挥的
3、,所以它是执行部件。运算器的主要功能:执行所有的算术运算。执行所有的逻辑运算。,CPU的功能和组成,CPU 结构框图,PC IR,ALU 寄存器,中断系统,1.CPU 与系统总线,CU 时序电路,寄存器组,1 通用寄存器(Ri)2 暂存器(R)3 指令寄存器(IR)4 程序计数器(PC)5 程序状态字寄存器(PSW)6 地址寄存器(MAR)7 数据寄存器(MDR)PSW:1 特征位:进位C、溢出V、零位Z、负位N、奇偶P2 编程设定位:(程序调试、中断相应、工作方式)程序跟踪位T、容许中断位I、工作方式字段。,I,T,P,N,Z,V,C,1.用户可见寄存器,(1)通用寄存器,三、CPU 的寄存
4、器=用户可见寄存器,存放操作数,可作 某种寻址方式所需的 专用寄存器,(2)暂存器,存放操作数,(3)地址寄存器,存放地址,其位数应满足最大的地址范围,用于特殊的寻址方式 段基值 栈指针,(4)PSW 为部分可见寄存器,存放条件码,可作程序分支的依据,如 正、负、零、溢出、进位等,2.控制和状态寄存器,(1)控制寄存器,PC,控制 CPU 操作,(2)状态寄存器,其中 MAR、MDR、IR 用户不可见,存放条件码=用户可见,PSW 寄存器,存放程序状态字,PC 用户可见,MAR,M,MDR,IR,CPU的功能和组成,CPU的主要寄存器,CPU的功能和组成,累加寄存器AC 累加寄存器AC通常简称
5、为累加器,它的功能是:当运算器的算术逻辑单元(ALU)执行全部算术和逻辑运算时,为ALU提供一个工作区。累加寄存器是暂时存放ALU运算的结果信息。显然,运算器中至少要有一个累加寄存器。,状态条件寄存器PSW状态条件寄存器保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,同时状态条件寄存器还保存中断和系统工作状态等信息,以便使CPU和系统能及时了解机器运行状态和程序运行状态。因此,状态条件寄存器是一个由各种状态条件标志拼凑而成的寄存器。,CPU的功能和组成,程序计数器PC 程序计数器中存放的是下一条指令在内存中的地址。,指令寄存器IR 指令寄存器用来保存当前正在执行的一条指令。,CP
6、U的功能和组成,地址寄存器MAR 地址寄存器用来保存当前CPU所访问的内存单元的地址。由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止。,缓冲寄存器MDR 缓冲寄存器用来暂时存放由内存储器读出的一条指令或一个数据字;反之,当向内存存入一条指令或一个数据字时,也暂时将它们存放在缓冲寄存器中。,操作控制器和时序产生器 数据通路:通常把许多寄存器之间传送信息的通路,称为“数据通路”。操作控制器:根据指令操作码和时序信号,产生各种操作信号,以便正确建立数据通路,从而完成取指令和执行指令的操作。时序产生器:因为计算机高速地进行工作,每一个动
7、作的时间是非常严格的,不能有任何差错。时序产生器的作用,就是对各种操作实施时间上的控制。,CPU的功能和组成,程序的执行过程:,指令周期,冯.诺依曼 结构的计算机执行程序的顺序:1.正确从程序首地址开始.2.正确分步执行每一条指令,并形成下条待执行指令的地址.3.正确并自动地连续执行指令,直到程序的最后一条指令.,读取指令指令地址送入主存地址寄存器读主存,读出内容送入指定的寄存器分析指令按指令规定内容执行指令不同指令的操作步骤数和具体操作内容差异很大检查有无中断请求若无,则转入下一条指令的执行过程,指令周期,形成下一条指令地址,指令的执行过程,指令执行过程,取指令分析指令(对指令译码)执行指令
8、,分析指令,指令周期的基本概念,指令周期,指令周期:CPU每取出并执行一条指令,都要完成一系列的操作,这一系列操作所需用的时间通常叫做一个指令周期。,机器周期:指令周期常常用若干个CPU周期数来表示,CPU周期也称为机器周期。,时钟周期:由于CPU内部的操作速度较快,而CPU访问一次内存所花的时间较长,因此通常用内存中读取一个指令字的最短时间来规定CPU周期。而一个CPU周期时间又包含有若干个时钟周期(通常称为节拍脉冲或T周期,它是处理操作的最基本单位)。这些时钟周期的总和则规定了一个CPU周期的时间宽度。,指令周期,指令周期,T周期,(取指令),(执行指令),相互关系:1个指令周期=若干个C
9、PU周期 1个CPU周期=若干T周期,指令周期,指令周期,取指周期,指令周期,间址周期,指令周期,执行周期许多类型主要是涉及到处理器内部的寄存器可能的操作有数据传输ALU控制指令的处理,指令周期,中断周期,指令周期,下面以一个简单的程序来具体认识每一条指令的指令周期和执行过程。,指令周期,CLA指令的指令周期,指令周期,一个CPU周期,一个CPU周期,取指令阶段,执行指令阶段,开始,取指令PC+1,对指令译码,执行指令,取下条指令PC+1,指令周期,算术逻辑单元,状态条件寄存器,程序记数器PC,地址寄存器AR,地址总线ABUS,数据总线DBUS,累加器AC,缓冲寄存器DR,CPU,ALU,指令
10、寄存器IR,指令译码器,操作控制器时序产生器,时钟,状态反馈,取指控制,执行控制,c,c,c,c,+1,000 020,20,21,22,23,24,30,31,40,CLA,ADD 30,STA 40,NOP,JMP 21,000 006,000 020,CLA,CLA,000 021,指令周期,算术逻辑单元,状态条件寄存器,程序记数器PC,地址寄存器AR,地址总线ABUS,数据总线DBUS,累加器AC,缓冲寄存器DR,CPU,ALU,指令寄存器IR,指令译码器,操作控制器时序产生器,时钟,状态反馈,取指控制,执行控制,c,c,c,c,+1,20,21,22,23,24,30,31,40,C
11、LA,ADD 30,STA 40,NOP,JMP 21,000 006,000 020,CLA,CLA,000 021,ADD指令的指令周期,指令周期,ADD指令的指令周期由三个CPU周期组成。第一个CPU周期为取指令阶段。第二个CPU周期中将操作数的地址送往地址寄存器并完成地址译码。在第三个CPU周期中从内存取出操作数并执行相加的操作。,指令周期,一个CPU周期,一个CPU周期,取指令阶段,执行指令阶段,开始,取指令PC+1,对指令译码,送操作数地址,取下条指令PC+1,取出操作数,执行加操作,一个CPU周期,指令周期,算术逻辑单元,状态条件寄存器,程序记数器PC,地址寄存器AR,地址总线A
12、BUS,数据总线DBUS,累加器AC,缓冲寄存器DR,CPU,ALU,指令寄存器IR,指令译码器,操作控制器时序产生器,时钟,状态反馈,取指控制,执行控制,c,c,c,c,+1,20,21,22,23,24,30,31,40,CLA,ADD 30,STA 40,NOP,JMP 21,000 006,000 021,ADD,ADD 30,000 021,000 022,000 030,000 006,0+6=6,000 006,STA指令的指令周期,指令周期,STA指令的指令周期由四个CPU周期组成。其中第一个CPU周期仍然是取指令阶段,其过程和CLA指令、ADD指令完全一样,不同的是此阶段中程
13、序计数器加1后变为023,因而为取第四条指令做好了准备。我们假定,第一个CPU周期后结束,“STA 40”指令已放入指令寄存器并完成译码测试。,指令周期,算术逻辑单元,状态条件寄存器,程序记数器PC,地址寄存器AR,地址总线ABUS,数据总线DBUS,累加器AC,缓冲寄存器DR,CPU,ALU,指令寄存器IR,指令译码器,操作控制器时序产生器,时钟,状态反馈,取指控制,执行控制,c,c,c,c,+1,20,21,22,23,24,30,40,CLA,ADD 30,STA 40,NOP,JMP 21,000 006,000 022,STA,STA 40,000 022,000 023,000 0
14、40,000 006,000 006,000 006,NOP指令和JMP指令的指令周期,指令周期,NOP指令是一条空指令,包含两个CPU周期,第一个周期取指令,第二个周期执行指令,因是空指令,所以操作控制器不发出任何控制信号。JMP指令由两个CPU周期组成,第一个周期是取指令周期,同其他指令。第二个周期为执行阶段,CPU把指令寄存器中的地址码部分21送到程序计数器,从而用新内容21代替PC原先的内容25,这样,下一条指令将不从25单元中读出,而从21电源开始读出并执行,从而改变了程序原先的执行顺序。,指令周期,算术逻辑单元,状态条件寄存器,程序记数器PC,地址寄存器AR,地址总线ABUS,数据
15、总线DBUS,累加器AC,缓冲寄存器DR,ALU,指令寄存器IR,指令译码器,操作控制器时序产生器,时钟,状态反馈,取指控制,执行控制,c,c,c,c,+1,20,21,22,23,24,30,40,CLA,ADD 30,STA 40,NOP,JMP 21,000 006,000 024,JMP 21,JMP 21,000 024,000 021,000 006,000 006,000 025,000 021,用方框图语言表示指令周期 在进行计算机设计时,可以采用方框图语言来表示一条指令的指令周期。一个方框代表一个CPU周期,方框中的内容表示数据通路的操作或某种控制。一个菱形符号代表某种判别或
16、测试,不过时间它依附于它前面一个方框的CPU周期,而不单独占用一个CPU周期。符号“”代表一个公操作。,指令周期,指令周期,PCAR ABUSDBUS DR IRPC+1,译码或测试,0 AC,IR AR,IR AR,IR PCPCAR,AR ABUSDBUS DRRDALUALUAC,AR ABUSACDRDRDBUS,CLA,ADD,STA,JMP,NOP,小结:各类信息的传送路径指令:M-DR-DBUS-IR地址:PC-ABUS-AR-(取决于寻址方式)数据:寄存器-寄存器 总线直接传送寄存器-存储器 Ri-DBUS-DR-M存储器-寄存器 M-DR-BUS-Ri,指令周期,例:如图所示为双总线结构机器的数据通路,控制信号G控制的是一个门电路。“ADD R2,R0”指令完成(R0)+(R2)R0功能操作。假设该指令的地址已放入 PC中。“SUB R1,R3”指令完成(R3)-(R1)R3的功能操作。,指令周期,指令周期,AR,M,A,B,ALU,IRi,IRo,PCi,PCi,ARi,DRi,DRo,R0i,R0o,R3i,R3o,Xi,Yi,A总线,B总线,G,+-,R/W,指
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1