您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 计算机组成原理中央处理机.
计算机组成原理武汉科技大学计算机科学与技术学院第五章中央处理机本章内容5.1CPU的功能和组成5.2指令周期5.3时序产生器和控制方式5.4微程序控制器5.5硬连线控制器5.6流水CPU5.7RISCCPU中央处理器(CPU)——控制计算机自动取指令并执行传统CPU的构成——运算器、控制器现代CPU的构成——运算器、控制器和Cache5.1CPU的功能和组成5.1.1CPU的功能——指令控制、操作控制、时间控制、数据加工1.指令控制——控制程序中指令的执行顺序(首要任务)2.操作控制——形成执行指令所需的控制信号并送往相应部件3.时间控制——对操作控制信号加以时间上的约束4.数据加工——对数据进行算术、逻辑运算(根本任务)目录CPU运算器控制器是执行部件——接受控制器送来的命令,负责数据的加工处理:执行所有算术、逻辑运算及比较、测试等组成功能算术逻辑单元ALU、通用寄存器数据缓冲寄存器DR、状态条件寄存器PSW组成功能“决策机构”——协调和指挥整个系统的操作:(1)取出一条指令,并指出下一条指令的位置(2)对指令进行译码或测试,并产生相应的操作控制信号,以启动规定的动作(3)指挥并控制CPU、内存和输入/输出设备之间数据流动的方向程序计数器PC、指令寄存器IR指令译码器ID、时序产生器、操作控制器5.1.2CPU的基本组成--运算器+控制器+CachecacheCPU模型返回方框图硬布线控制器CPU中至少有六类寄存器1.数据缓冲寄存器(DR——DatabufferRegister)——暂存ALU的运算结果,或由数据存储器/外部接口读出的一个数据字其作用:(1)ALU运算结果和通用寄存器间传送时,作为时间上的缓冲(2)补偿CPU和内存、外设间速度上的差异2.指令寄存器(IR——InstructionRegister)——保存当前正在执行的一条指令指令由指令cache(简称指存)读出后→IR,其中的操作码字段送给指令译码器5.1.3CPU中的主要寄存器3.程序计数器(PC——ProgrammingCounter),也叫指令计数器——结构是寄存器+计数——保存将要执行的下一条指令的地址;自动加1计数(程序首地址;转移目标地址)4.数据地址寄存器(AR——AddressRegister)——保存当前CPU访问的数据存储器(数存)单元的地址5.通用寄存器(图5.1的模型中有4个:R0~R3)——ALU执行算术或逻辑运算时,为ALU提供一个工作区指令格式中要对寄存器号加以编址通用寄存器还可作地址指示器、变址寄存器、堆栈指示器等5.1.3CPU中的主要寄存器6.状态字寄存器(PSW)——保存算术、逻辑运算或测试结果建立的各种条件代码,以及中断和系统工作状态等条件码——进位标志(C),溢出标志(V),为零标志(Z),为负标志(N)等(通常,各标志位分别由1位触发器保存)5.1.3CPU中的主要寄存器数据通路——寄存器之间传送信息的通路操作控制器的功能——根据指令操作码和时序信号,产生各种操作控制信号,正确选择数据通路,从而完成对取指令和执行指令的控制按设计方法不同,操作控制器的分类:——时序逻辑型、存储逻辑型1.硬布线控制器——采用时序逻辑技术实现2.微程序控制器——采用存储逻辑实现(本书重点)时序产生器——对各种操作信号实施时间上的控制5.1.4操作控制器与时序产生器5.2指令周期1.指令周期——CPU取出并执行一条指令所需的时间2.机器周期(CPU周期)——由内存中读取一个指令字的最短时间3.T周期(节拍脉冲)——处理操作的最基本单位一个指令周期由若干个CPU周期组成一个CPU周期包含若干个T周期4.单周期、多周期5.2.1指令周期的基本概念目录指令周期T周期CPU周期CPU周期T1T2T3T4(取指令)(执行指令)取一条指令执行该指令指令周期六条典型指令组成的简单程序指令存储器八进制地址指令助记符说明100101102103104105106MOVR0,R1LADR1,6ADDR1,R2STOR2,(R3)JMP101ANDR1,R31.程序执行前(R0)=00,(R1)=10,(R2)=20,(R3)=302.传送指令MOV执行(R1)→R03.取数指令LAD从数存6号单元取数100→R14.加法指令ADD执行,结果存入R2(=120)5.存数指令STO用R3间接寻址120→(30)6.转移指令JMP改变程序执行顺序到101单元7.逻辑乘AND指令执行(R1)·(R3)→R3数据存储器八进制地址八进制数据说明56710…30701006677…40(120)执行LAD指令后,数存6号单元的数据100仍在执行STO指令后,数存30号单元的数据变为1205.2.2MOV指令的指令周期MOVR0,R1一个CPU周期一个CPU周期取指周期执行周期开始取指令PC+1对指令译码执行指令取下条指令PC+1——RR型指令,需两个CPU周期第1个CPU周期(取指令),CPU完成三件事:(1)从内存取出指令(2)PC加1,为取下一条指令做准备(3)对指令操作码进行译码或测试,以确定具体操作第2个CPU周期(执行指令):(R1)→R0MOVR0,R1指令的指令周期图示WR/RD101+1102101010MOVR0,R1说明5.2.3LAD指令的指令周期LADR1,6组成LAD指令周期的三个CPU周期:•第1个CPU周期为取指令阶段,和MOV指令相同•第2个CPU周期中将操作数的地址送往地址寄存器并完成地址译码•第3个CPU周期中从6号内存取出操作数100并送通用寄存器R1——RS型指令,指令周期需要3个CPU周期访问两次存储器——一次访问指存,一次访问数存一个CPU周期一个CPU周期取指周期执行周期开始取指令PC+1对指令译码送操作数地址取下条指令PC+1取出操作数装入通用寄存器一个CPU周期LADR1,6指令周期图示LADR1,6执行过程图示61001005.2.4ADD指令的指令周期ADDR1,R2ADD指令是RR型指令,指令周期只需两个CPU周期,与MOV类似一个CPU周期一个CPU周期取指周期执行周期开始取指令PC+1对指令译码执行加法运算取下条指令PC+1ADDR1,R2执行过程图示12020→1205.2.5STO指令的指令周期STOR2,(R3)——RS型指令指令周期需要3个CPU周期,其中执行周期为2个CPU周期一个CPU周期一个CPU周期取指周期执行周期开始取指令PC+1对指令译码送操作数地址取下条指令PC+1送操作数写数存一个CPU周期STOR2,(R3)执行过程图示301205.2.6JMP指令的指令周期JMP101指令周期为两个CPU周期第1个周期是取指令周期第2个周期为执行阶段:CPU把指令寄存器中的地址码部分101送到程序计数器——下一条指令将从101单元开始读出并执行JMP(无条件转移)指令JMP101执行过程图示106→1015.2.7用方框图表示指令周期方框——CPU周期,内容表示数据通路的操作或某种控制菱形符号——某种判别或测试,时间上不单独占用CPU周期,而依附于它前面一个方框的CPU周期符号“~”——代表一个公操作CPU模型~R1→DRDR→R0IR→ARR1+R2→DRDR→R2R3→ARIR→PCAR→ABUS(D)DBUS→DRDR→R1AR→ABUS(D)R2→DBUS~~~MOVLADADDSTOJMPRD(D)WE(D)~PC→ABUS(I)IBUS→IRPC+1译码RD(I)【例1】如图所示为双总线结构机器的数据通路,IR为指令寄存器,PC为程序计数器(具有自增功能),M为主存(受R/W信号控制),AR为地址寄存器,DR为数据缓冲寄存器,ALU由加、减控制信号决定完成何种操作,控制信号G控制的是一个门电路。另外,线上标注有小圈表示有控制信号,例中yi表示y寄存器的输入控制信号,R1O为寄存器R1的输出控制信号,未标字符的线为直通线,不受控制。画出下面两条指令的指令周期流程图,并列出相应的微操作控制信号序列1.“ADDR2,R0”指令完成(R0)+(R2)→R0功能操作,假设该指令的地址已放入PC中。2.“SUBR1,R3”指令完成(R3)-(R1)→R3的功能操作。【解】根据给定的数据通路图,“ADDR2,R0”的指令周期流程图如图包括取指令阶段和执行指令阶段右边标注了每个机器周期中用到的微操作控制信号序列PC→ARM→DRDR→IRR2→YR0→XY+X→R0PCO,G,ARiR/W=RDRO,G,IRi+,G,R0iR0O,G,XiR2O,G,Yi执行取指注:图中省去了“→”号左边各寄存器代码上应加的括号PC→ARM→DRDR→IRR3→YR1→XY-X→R3PCO,G,ARiR/W=RDRO,G,IRi-,G,R3iR1O,G,XiR3O,G,Yi“SUBR1,R3”的指令周期流程图与ADD指令不同的是:在执行指令阶段,微操作控制信号序列有所不同执行取指数据通路图5.3时序产生器和控制方式5.3.1时序信号的作用和体制1.作用——为计算机各部件的协调动作提供时间标志CPU中的控制器用时序信号指挥机器的工作操作控制器发出的各种信号是时间(时序信号)和空间(部件位置)的函数CPU通过时序信号/周期信息辨认从内存中取出的是指令(取指阶段)还是数据(执行阶段)——指令流与数据流的区分一个CPU周期中时钟脉冲对CPU的动作有严格的约束目录5.3时序产生器和控制方式5.3.1时序信号的作用和体制2.体制时序信号的基本体制是电位—脉冲制(以寄存器为例)D为电位输入端CP(ClockPulse)为脉冲输入端R,S为电位输入端有些部件只用电位信号目录硬布线控制器中,时序信号一般采用主状态周期-节拍电位-节拍脉冲三级体制节拍电位表示一个CPU周期的时间节拍脉冲节拍电位1主状态周期节拍电位2硬布线控制器中的时序信号采用节拍电位——节拍脉冲二级体制节拍电位表示一个CPU周期的时间节拍电位中包含若干个节拍脉冲;各节拍脉冲可以相等或不等微程序控制器中的时序信号微程序控制器中使用的时序信号产生器的组成5.3.2时序信号产生器启停控制逻辑节拍脉冲和读写时序译码逻辑环形脉冲发生器IORQMREQRDWET1T2T3T4IORQ°MREQ°RD°WE°T1°T2°T3°T4°MREQ'IORQ'RD'WE'时钟脉冲源CLK时钟脉冲源环形脉冲发生器节拍脉冲和读写时序译码逻辑启停控制逻辑启动停机硬连线控制器中:节拍电位信号由时序产生器本身产生微程序设计的计算机中:节拍电位信号由微程序控制器提供2.环形脉冲发生器作用:产生一组有序的间隔相等或不等的脉冲序列,以便通过译码电路来产生最后所需的节拍脉冲组成:环形计数器3.节拍脉冲和存储器读写时序环形脉冲发生器与译码逻辑电路4.启停控制逻辑1.时钟源作用:为环形脉冲发生器提供频率稳定且电平匹配的方波时钟脉冲信号组成:石英晶体振荡器和与非门组成的正反馈振荡电路5.3.2时序信号产生器——控制不同操作序列时序信号的方法常用方法——同步控制、异步控制、联合控制1.同步控制方式——任何情况下,指令执行时所需的机器周期数和时钟周期数都固定不变实现方案:①采用完全统一的机器周期执行各种不同的指令——所有指令周期具有相同的节拍电位和相同的节拍脉冲数②采用不定长的机器周期③中央控制和局部控制相结合中央控制——将大部分指令安排在固定的机器周期完成局部控制——少数复杂的指令采用另外的时序进行定时5.3.3控制方式(反映时序信号的定时方式)——每条指令、每个操作控制信号按需占用时间每条指令的指令周期可由数目不等的机器周期数组成;或者,控制器发出某一操作控制信号后,等待执行部件完成操作并发“回答”信号,再开始新的操作形成的操作控制序列没有固定的CPU周期数(节拍电位)或严格的时钟周期(节拍脉冲)与之同步2.异步控制方式方案1:大部分操作序列安排在固定的机器周期中;时间难以确定的操作以执行部件的“回答”作为本次操作的结束方案2:机器周期的节拍脉冲数固定,但各条指令周期的机器周期数不固定3.联
本文标题:计算机组成原理中央处理机.
链接地址:https://www.777doc.com/doc-2044093 .html