第五章中央处理器第5章中央处理器5.1CPU的组成和功能5.7流水CPU5.2指令周期5.8RISCCPU5.3时序产生器和控制方式5.9多媒体CPU5.4微程序控制器5.5硬连线线控制器5.6传统CPU☆☆☆☆☆☆☆5.1CPU的功能和组成•5.1.1CPU的功能•5.1.2CPU的基本组成•5.1.3CPU中的主要寄存器•5.1.4操作控制器与时序产生器中央处理器是控制计算机自动完成取出指令和执行指令任务的部件。它是计算机的核心部件,通常简称为CPU(CentralProcessingUnit)5.1.1CPU的功能★指令控制保证机器按程序规定的顺序取出执行★操作控制CPU产生每条指令对应的操作信号,并把操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作★时间控制对各种操作的实施时间进行定时★数据加工对数据进行算术运算和逻辑运算处理控制器运算器5.1.2CPU的基本组成•控制器:完成对整个计算机系统操作的协调与指挥。(1)取出一条指令,并指出下一条指令的地址;(2)指令译码,产生操作控制信号送往相应的部件;(3)指挥并控制CPU、内存与I/O设备之间数据流动的方向•运算器:是数据加工处理部件,所进行的全部操作由控制器发出的控制信号指挥。(1)执行所有的算术运算;(2)执行所有的逻辑运算,并进行逻辑测试CPU由运算器、cache和控制器三大部分组成。暂时存放由内存读出或写入的指令或数据字保存由算术和逻辑指令的结果建立的各种条件码确定下一条指令的地址保存当前正在执行的一条指令对IR中的指令操作码进行译码分析控制数据通路、启停部件操作保存当前CPU所访问的内存单元的地址5.1.3CPU中的主要寄存器1.数据缓冲寄存器(DR)暂时存放由内存读出或写入的指令或数据字2.指令寄存器(IR)保存当前正在执行的一条指令3.程序计数器(PC)确定下一条指令的地址4.地址寄存器(AR)保存当前CPU所访问的内存单元的地址5.通用寄存器(R0~R3)6.状态条件寄存器(PSW)保存由算术和逻辑指令的结果建立的各种条件码play5.1.4操作控制器与时序产生器•操作控制器:在各寄存器之间建立数据通路。•数据通路:寄存器之间传送信息的通路。•操作控制器的功能:根据指令操作码和时序信号,产生各种操作控制信号,以便正确地建立数据通路,从而完成取指令和执行指令的控制。•根据设计方法不同,操作控制器可分为:1.硬布线控制器2.微程序控制器•时序产生器:产生计算机所需要的时序控制信号采用时序逻辑技术来实现采用存储逻辑来实现5.2指令周期•5.2.1指令周期的基本概念•5.2.2MOV指令的指令周期•5.2.3LAD指令的指令周期•5.2.4ADD指令的指令周期•5.2.5STO指令的指令周期•5.2.6JMP指令的指令周期•5.2.7用方框图语言表示指令周期5.2指令周期•指令的执行过程取指令执行指令开始5.2.1指令周期的基本概念◆指令周期:CPU取出并执行一条指令的时间。取指时间+执行指令时间◆CPU周期:CPU从内存读取一条指令字所需的最短时间,又称机器周期(总线周期)。◆时钟周期:通常称为节拍脉冲或T周期。一个CPU周期包含若干个T周期。(节拍的宽度取决于CPU完成一次基本的微操作的时间)相互关系:1个指令周期=若干个CPU周期1个CPU周期=若干T周期101MOVR0,R1;(R1)→R0102LADR1,6;(6)→R1103ADDR1,R2;(R1)+(R2)→R2104STOR2,(R3);(R2)→(R3)105JMP101;101→PC106ANDR1,R3……61005条典型指令构成的简单程序5.2.2MOV指令的指令周期MOVR0,R1MOV指令的指令周期——取指MOV指令的指令周期——执行play5.2.3LAD指令的指令周期一个CPU周期一个CPU周期取指令阶段执行指令阶段开始取指令PC+1对指令译码送操作数地址取下条指令PC+1取出操作数装入通用寄存器一个CPU周期LADR1,6LAD指令的指令周期——执行play5.2.4ADD指令的指令周期ADDR1,R2ADD指令的指令周期——执行play5.2.5STO指令的指令周期STOR2,(R3)play5.2.6JMP指令的指令周期JMP101play5.2.7用方框图语言表示指令周期•方框:代表一个CPU周期,方框中的内容表示数据通路的操作或某种控制操作。•菱形:通常用来表示某种判别或测试。时间上依附于紧接的前面一个CPU周期,而不单独占用一个CPU周期。play1个CPU周期1个CPU周期1个CPU周期公操作符号。表示一条指令已执行完毕,CPU取下一条指令或处理外设请求。ABUS:地址总线DBUS:数据总线IBUS:指令总线【例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的操作,画出其指令期流程图,并列出相应的微操作控制信号序列。PCo,G,ARiPC→ARM→DRDR→IRR2→YR0→XY+X→R0R/W=RDRo,G,IRiR2o,G,YiR0o,G,Xi+,G,R0i取指(1)加法“ADDR2,R0”PCo,G,ARiPC→ARM→DRDR→IRR3→YR1→XY-X→R3R/W=RDRo,G,IRiR3o,G,YiR1o,G,Xi-,G,R3i(2)减法“SUBR1,R3”5.3时序产生器和控制方式•5.3.1时序信号的作用和体制•5.3.2时序信号产生器•5.3.3控制方式5.3时序产生器和控制方式用二进制码表示的指令和数据都放在内存里,那么CPU是怎样识别出它们是数据还是指令呢?从时间上来说:◆取指发生在指令周期的第一个CPU周期;◆取数发生在后面几个CPU周期,即“执行指令”阶段。从空间上来说:◆送指令寄存器IR—指令◆送运算器—数据。[思考]5.3.1时序信号的作用和体制计算机的协调动作需要时间标志,而时间标志则用时序信号来体现。•主状态周期(指令周期):包含若干个节拍周期,可以用一个触发器的状态持续时间来表示。•节拍电位(机器周期):表示一个CPU周期的时间,包含若干个节拍脉冲。•节拍脉冲(时钟周期):表示较小的时间单位。◆硬布线控制器时序信号采用主状态周期-节拍电位-节拍脉冲三级体制。◆微程序控制器时序信号一般采用节拍电位-节拍脉冲二级体制。节拍脉冲节拍电位1主状态周期节拍电位2主状态周期-节拍电位-节拍脉冲IORQMREQRDWET1T2T3T4IORQ°MREQ°RD°WE°T1°T2°T3°T4°MERQ’IORQ’RD’WR’Φ▲提供频率稳定且电平匹配的方波时钟脉冲信号▲由石英晶体振荡器组成产生一组有序的间隔相等或不等的脉冲序列启动停机5.3.2时序信号产生器启停控制逻辑节拍脉冲和读写时序译码逻辑环形脉冲发生器时钟脉冲源微程序控制器的时序信号产生器(节拍电位-节拍脉冲)译码产生原始的节拍脉冲和读写时序信号控制节拍脉冲和读写时序信号的发送。启动状态,输出CPU真正需要的节拍脉冲和读写时序信号CPU周期CPU周期节拍脉冲信号5.3.3控制方式控制器的控制方式:控制不同操作序列时序信号的方法。1.同步控制方式已定的指令在执行时所需的CPU周期(机器周期)数和时钟周期数都固定不变。2.异步控制方式控制器发出某一操作控制信号后,等待执行部件完成操作后发“回答”信号,再开始新的操作。3.联合控制方式同步控制和异步控制相结合的方式。(1)采用完全统一的机器周期执行各种不同的指令。(2)采用不定长机器周期。(3)中央控制与局部控制结合。情况(1):大部分操作序列安排在固定的机器周期中,对某些时间难以确定的操作则以执行“回答”信号作为本次操作的结束;情况(2):机器周期的节拍脉冲数固定,但是各条指令周期的机器周期数不固定。5.4微程序控制器利用软件方法(微程序设计技术)来设计硬件微程序控制的基本思想:*把操作控制信号编成“微指令”,存放到控制存储器CM中。*当机器运行时,逐条读出微指令,产生全机所需要的各种操作控制信号,启停相应部件。5.4微程序控制器•5.4.1微程序控制原理•5.4.2微程序设计技术–控制器–运算器、存储器、外围设备(IO设备)1微命令和微操作数字计算机可以分为:控制部件和执行部件控制器IO设备主存运算器+﹣WRReadyV控制线状态线控制部件与执行部件通过控制线和反馈信息进行联系。微命令微操作微操作微操作5.4.1微命令和微操作▲微命令:控制部件通过控制线向执行部件发出的各种控制命令。▲微操作:执行部件接受微命令后所进行的操作。▲微操作可分为相容性和相斥性两种。在同时或同一个CPU周期内可以并行执行的微操作不能在同时或同一个CPU周期内并行执行的微操作◆ALU的“+”、“﹣”、“M”(传送)为互斥微操作。◆通常,只有不同部件上的微操作,才可能相容!5.4.1微命令和微操作相斥性进位触发器多路开关的控制信号相斥性时钟输入相容性play2微指令和微程序微指令:在一个CPU周期中,一组实现一定操作功能的微命令的组合。微程序:实现一条机器指令功能的许多条微指令组成的序列。指令系统=所有指令;指令=微程序;微程序=若干微指令;微指令=一组微命令;微命令→微操作nn22n2n21111微程序指令微程序指令微指令微指令完成一组微操作)微命令、、微命令(微命令微指令微程序指令程序微指令的格式*发出控制全机工作的控制信号。*每一位表示一个微命令。*“1”—发出微命令;“0”—不发出微命令。用来决定产生下一条微指令的地址。判别测试标志微命令信号都是节拍电位信号′′′微程序举例——十进制加法•在十进制运算时,当相加二数之和大于9时,便产生进位。而采用BCD码后,当相加的和数大于9时,结果不正确,必须加6修正后才能得出正确的结果。01010010010000000001001•算法:先将和数加6,然后判别结果有无进位:当Cy=1,结果不变;当Cy=0,结果减6。取指判别测试,修改微地址寄存器内容a+ba+b+6测试进位标志Cya+b+6-6第一条微指令的二进制编码:00000000000011111100000第二条微指令的二进制编码:第三条微指令的二进制编码:01000100110000000010000微程序控制器原理框图•微程序控制器主要由控制存储器、微指令寄存器和地址转移逻辑三大部分组成。◆只读存储器◆存放实现全部指令系统的微程序。◆控存的字长=微指令字的长度。决定将要访问的下一条微指令的地址保存一条微指令的操作控制字段和判别测试字段的信息存放由控制存储器读出的一条微指令信息。分为微地址寄存器和微命令寄存器两部分。通过判别测试字段P和执行部件的“状态条件”反馈信息,修改微地址寄存器的内容CPU周期与微指令周期的关系微指令周期=读出微指令的时间+执行该条微指令的时间图5.26CPU周期与微指令周期的关系T4T3T2T1微指令机器指令与微指令的关系•(1)一条机器指令对应一个微程序,这个微程序由若干条微指令序列组成。•(2)从指令与微指令、程序与微程序、地址与微地址的对应关系看,前者与内存有关,后者与控制存储器有关。•(3)每一个CPU周期对应一条微指令。程序计数器PC地址寄存器AR缓冲寄存器DR指令寄存器IR微地址寄存器μAR微指令寄存器μIR主存储器控制存储器CM微命令地址译码器地址译码机器指令级微指令级OP5.4.2微程序设计技术