您好,欢迎访问三七文档
CPU的功能和组成指令周期时序产生器和控制方式什么是CPU?所谓中央处理器是控制计算机来自动完成取出指令和执行指令任务的部件。它是计算机的核心部件,通常简称为CPU。CPU的主要功能是执行指令,控制并完成各种操作,包括运算操作、传送操作、输入输出操作等。为了实现这些功能,需要解决4个关键问题。◦CPU由哪些部件组成?◦各部件之间如何交换信息?◦CPU如何建立与外部的连接?◦CPU如何形成微命令序列来控制指令的执行?CPU的基本组成中央处理器由两个主要部分——控制器和运算器组成。6CPU具备以下四个方面的功能:指令控制:保证机器按顺序执行程序是CPU的首要任务。操作控制:CPU根据指令的要求,产生需要的操作信号。时间控制:对各种操作信号进行定时,即进行时间控制。数据加工:对数据进行算术运算和逻辑运算。完成数据的加工处理,是CPU的核心任务。一、CPU的功能取指令分析指令执行指令,发出各种操作命令控制程序输入及结果的输出总线管理处理异常情况和特殊请求1.控制器的功能2.运算器的功能实现算术运算和逻辑运算指令控制操作控制时间控制数据加工处理中断控制器由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成,它是发布命令的“决策机构”,即完成协调和指挥整个计算机系统的操作。控制器的主要功能有:1.从内存中取出一条指令,并指出下一条指令在内存中的位置。2.对指令进行译码或测试,并产生相应的控制信号。3.指挥并控制CPU,内存和I/O之间的数据流动的方向。9控制器的组成:指令部件◦程序计数器◦指令寄存器◦指令译码器时序部件◦脉冲源◦节拍信号发生器◦启停控制逻辑微操作信号发生器中断控制逻辑控制器的主要功能:从内存中取出一条指令,并指出下一条指令在内存中的位置对指令的操作码进行译码,并产生相应的操作控制信号。比如,一次内存读写操作,或一个算术逻辑运算操作等。指挥并控制CPU、内存以及输入输出设备之间的数据流动方向。运算器由算术逻辑单位(ALU)、累加寄存器、数据缓冲寄存器和状态条件寄存器组成,它是数据加工处理部件。相对控制器而言,运算器接受控制器的命令而进行动作,即运算器所进行的全部操作都是由控制器发出的控制信号来指挥的,所以它是执行部件。运算器的主要功能:1.执行所有的算术运算。2.执行所有的逻辑运算。CPU结构框图PCIR指令控制操作控制时间控制数据加工处理中断ALU寄存器中断系统1.CPU与系统总线CU时序电路寄存器ALU中断系统CUCPU控制总线数据总线地址总线CPU的寄存器1.寄存器用途:重要的设计出发点是使用完全通用的寄存器,还是指定各寄存器的用途。这影响指令集的设计。对指定寄存器的使用:①节省了位数;②又限制了程序员的灵活性。趋势是朝着指定寄存器使用的方向发展。2.寄存器数量:影响指令集的设计;寄存器越多,要求的操作数指定器的位数也越多。趋势:RISC中使用上百个寄存器。1通用寄存器(Ri)2暂存器(R)3指令寄存器(IR)4程序计数器(PC)5程序状态字寄存器(PSW)6地址寄存器(MAR)7数据寄存器(MDR)PSW:1特征位:进位C、溢出V、零位Z、负位N、奇偶P2编程设定位:(程序调试、中断相应、工作方式)程序跟踪位T、容许中断位I、工作方式字段。…ITPNZVC1.用户可见寄存器(1)通用寄存器三、CPU的寄存器==用户可见寄存器存放操作数可作某种寻址方式所需的专用寄存器(2)暂存器存放操作数(3)地址寄存器存放地址,其位数应满足最大的地址范围用于特殊的寻址方式段基值栈指针(4)PSW为部分可见寄存器存放条件码,可作程序分支的依据如正、负、零、溢出、进位等2.控制和状态寄存器(1)控制寄存器PC控制CPU操作(2)状态寄存器其中MAR、MDR、IR用户不可见存放条件码====用户可见PSW寄存器存放程序状态字PC用户可见MARMMDRIR算术逻辑单元状态条件寄存器程序计数器PC地址寄存器MAR地址总线ABUS数据总线DBUS累加器AC存储器I/OCPU指令寄存器IRALU指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制ccccc缓冲寄存器MDR1.累加寄存器AC累加寄存器AC通常简称为累加器,它的功能是:当运算器的算术逻辑单元(ALU)执行全部算术和逻辑运算时,为ALU提供一个工作区。累加寄存器是暂时存放ALU运算的结果信息。显然,运算器中至少要有一个累加寄存器。2.状态条件寄存器PSW状态条件寄存器保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,同时状态条件寄存器还保存中断和系统工作状态等信息,以便使CPU和系统能及时了解机器运行状态和程序运行状态。因此,状态条件寄存器是一个由各种状态条件标志拼凑而成的寄存器。3.程序计数器PC程序计数器中存放的是下一条指令在内存中的地址。4.指令寄存器IR指令寄存器用来保存当前正在执行的一条指令。5.地址寄存器MAR地址寄存器用来保存当前CPU所访问的内存单元的地址。由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止。6.缓冲寄存器MDR缓冲寄存器用来暂时存放由内存储器读出的一条指令或一个数据字;反之,当向内存存入一条指令或一个数据字时,也暂时将它们存放在缓冲寄存器中。20微操作信号发生器:控制器的核心部件,其功能是根据指令操作码、状态信息和时序信号,产生各种微操作控制信号,以便正确地建立数据通路,从而完成取指令和执行指令的任务。根据产生微操作控制信号的不同方式,控制器分为组合逻辑型、存储逻辑型以及组合逻辑与存储逻辑结合型三种。采用组合逻辑实现的控制器称为组合逻辑控制器,采用存储逻辑实现的控制器称为微程序控制器。时序部件:脉冲源、节拍信号发生器和启停控制逻辑构成。微操作控制信号有严格的时间要求,绝不能出现任何差错。时序部件的作用是对各种操作实施时间上的控制。21CPU内部各部件之间需要传送信息,例如操作数由寄存器送到ALU进行运算,ALU将运算结果送入寄存器存放,等等。把CPU内部各部件之间传送数据的通路称为数据通路。22指令和数据都放在内存里。从形式上看,它们都是二进制代码,CPU是怎么准确地判别出是指令还是数据的?这要从指令周期说起。程序的执行过程:冯.诺依曼结构的计算机执行程序的顺序:1.正确从程序首地址开始.2.正确分步执行每一条指令,并形成下条待执行指令的地址.3.正确并自动地连续执行指令,直到程序的最后一条指令.—读取指令指令地址送入主存地址寄存器读主存,读出内容送入指定的寄存器—分析指令—按指令规定内容执行指令不同指令的操作步骤数和具体操作内容差异很大—检查有无中断请求若无,则转入下一条指令的执行过程形成下一条指令地址•指令的执行过程◦取指令◦分析指令(对指令译码)◦执行指令开始取指令执行指令分析指令这个过程所需要的时间称为一个指令周期指令周期的基本概念1.指令周期:CPU每取出并执行一条指令,都要完成一系列的操作,这一系列操作所需用的时间通常叫做一个指令周期。2.机器周期:指令周期常常用若干个CPU周期数来表示,CPU周期也称为机器周期。3.时钟周期:由于CPU内部的操作速度较快,而CPU访问一次内存所花的时间较长,因此通常用内存中读取一个指令字的最短时间来规定CPU周期。而一个CPU周期时间又包含有若干个时钟周期(通常称为节拍脉冲或T周期,它是处理操作的最基本单位)。这些时钟周期的总和则规定了一个CPU周期的时间宽度。指令周期T周期CPU周期CPU周期T1T2T3T4(取指令)(执行指令)相互关系:1个指令周期=若干个CPU周期1个CPU周期=若干T周期第5章控制器逻辑取指周期是否间址执行周期有无中断间址周期中断周期是否无有第5章控制器逻辑1.取指周期(FetchingCycle)取指周期包含了如下的微操作:◦①程序计数器PC的内容被装入地址寄存器MAR。◦②向存储器发出读信号。◦③MAR中的地址经地址译码,驱动所指向的单元,从中读出数据送存储器的数据寄存器MDR中。◦④将MDR中内容送指令寄存器IR中。◦⑤指令的操作码送CU译码或测试。◦⑥程序计数器内容加1,为取下一条指令做好准备。任何一条指令都是从取指令开始,所以取指令称为公共操作。第5章控制器逻辑2.间址周期(ExecutionCycle)间接访内指令是采用间址方式取操作数的指令。这种指令比直接访存指令要多一个间址周期,用于获取操作数的有效地址。具体操作如下。第5章控制器逻辑①将指令中的形式地址送MAR。②向存储器发送读信号。③从MAR所指向的存储单元中保存的数据(有效地址)读到MDR中。④将有效地址送指令寄存器中的地址字段。第5章控制器逻辑3.执行周期(executecycle)任何指令都含有执行周期。但是不同的指令的执行周期所进行的操作是不同的。下面介绍几种典型指令的执行周期中的操作。下面以一个简单的程序来具体认识每一条指令的指令周期和执行过程。内存地址内存内容助记符所完成的操作020250000CLA将累加器的内容请零021030030ADD30(A)+(30)A022021040STA40(A)(40)023000000NOP024140021JMP2121→PC030000006031040存和数单元CLA指令的指令周期非访内指令需要两个CPU周期。在第一个CPU周期,即取指令阶段,CPU完成三件事:(1)从内存取出指令;(2)对程序计数器PC加1,以便为取下一条指令做好准备;(3)对指令操作码进行译码或测试,以便确定进行什么操作。在第二个CPU周期,即执行指令阶段,将累加器A的内容清零。一个CPU周期一个CPU周期取指令阶段执行指令阶段开始取指令PC+1对指令译码执行指令取下条指令PC+1算术逻辑单元状态条件寄存器程序记数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+10000202021222324303140CLAADD30STA40NOPJMP21000006000020CLACLA000021算术逻辑单元状态条件寄存器程序记数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+12021222324303140CLAADD30STA40NOPJMP21000006000020CLACLA000021ADD指令的指令周期ADD指令的指令周期由三个CPU周期组成。第一个CPU周期为取指令阶段。第二个CPU周期中将操作数的地址送往地址寄存器并完成地址译码。在第三个CPU周期中从内存取出操作数并执行相加的操作。一个CPU周期一个CPU周期取指令阶段执行指令阶段开始取指令PC+1对指令译码送操作数地址取下条指令PC+1取出操作数执行加操作一个CPU周期算术逻辑单元状态条件寄存器程序记数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+12021222324303140CLAADD30STA40NOPJMP21000006000021ADDADD300000210000220000300000060+6=6000006STA指令的指令周期STA:把A寄存器的内容写入到指定的内存单元。指令的指令周期由四个CPU周期组成。其中第一个CPU周期仍然是取指令阶段,其过程和CLA指令、ADD指令完全一样,不同的是此阶段中程序计数器加1后变为023,因而为取第四条指令做好了准备。我们假定,第一个CPU周期后结束,“STA40”指令已放入指令寄存器并完成译码测试。算术逻辑单元状态条件寄存器程序记数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器
本文标题:CPU的结构和功能
链接地址:https://www.777doc.com/doc-4067557 .html