资源描述
计算机组成原理计算机组成原理第5章 中央处理器 5.1 CPU5.1 CPU的组成和功能的组成和功能5.7 5.7 流水流水CPU CPU 5.25.2 指令周期指令周期5.8 RISC CPU5.8 RISC CPU5.3 5.3 时序产生器和控制方式时序产生器和控制方式5.9 5.9 多媒体多媒体CPU CPU 5 5.4.4 微程序控制器微程序控制器 5.5 5.5 硬连线线控制器硬连线线控制器5.6 5.6 传统传统CPUCPU计算机组成原理第5章中央处理器5.1CPU的组成和功能15.1 CPU5.1 CPU的功能和组成的功能和组成5.1.1 CPU5.1.1 CPU的功能的功能5.1.2 CPU5.1.2 CPU的基本组成的基本组成5.1.3 CPU5.1.3 CPU中的主要寄存器中的主要寄存器5.1.4 5.1.4 操作控制器与时序产生器操作控制器与时序产生器中央处理器是控制计算机自动完成取出指令和执行指令中央处理器是控制计算机自动完成取出指令和执行指令任务的部件。它是计算机的核心部件,通常简称为任务的部件。它是计算机的核心部件,通常简称为CPU(CentralProcessingUnit)5.1CPU的功能和组成5.1.1CPU的功能25.1.1 CPU5.1.1 CPU的功能的功能 指令控制指令控制 保证机器按程序规定的顺序取出执行保证机器按程序规定的顺序取出执行 操作控制操作控制 CPUCPU产产生生每每条条指指令令对对应应的的操操作作信信号号,并并把把操操作作信信号号送送往往相应的部件,从而控制这些部件按指令的要求进行动作相应的部件,从而控制这些部件按指令的要求进行动作 时间控制时间控制 对各种操作的实施时间进行定时对各种操作的实施时间进行定时 数据加工数据加工 对数据进行算术运算和逻辑运算处理对数据进行算术运算和逻辑运算处理控控制制器器运运算算器器5.1.1CPU的功能指令控制操作控制时35.1.2 CPU5.1.2 CPU的基本组成的基本组成 控制器控制器:完成对整个计算机系统操作的完成对整个计算机系统操作的协调与指挥协调与指挥。(1)(1)取出一条指令,并指出下一条指令的地址;取出一条指令,并指出下一条指令的地址;(2)(2)指令译码,产生操作控制信号送往相应的部件;指令译码,产生操作控制信号送往相应的部件;(3)(3)指挥并控制指挥并控制CPUCPU、内存与、内存与I/OI/O设备之间数据流动的方向设备之间数据流动的方向 运运算算器器:是是数数据据加加工工处处理理部部件件,所所进进行行的的全全部部操操作作由由控控制器发出的控制信号指挥制器发出的控制信号指挥。(1)(1)执行所有的算术运算;执行所有的算术运算;(2)(2)执行所有的逻辑运算,并进行逻辑测试执行所有的逻辑运算,并进行逻辑测试CPU由由运算器运算器、cache和和控制器控制器三大部分组成。三大部分组成。5.1.2CPU的基本组成控制器:完成对整个计算机系统操4计算机组成原理第5章ppt课件5暂时存放由内存读出或暂时存放由内存读出或写入的指令或数据字写入的指令或数据字保存由算术和逻辑指令的保存由算术和逻辑指令的结果建立的各种条件码结果建立的各种条件码确定下一条确定下一条指令的地址指令的地址保存当前正在执保存当前正在执行的一条指令行的一条指令对对IR中的中的指指令操作码进令操作码进行译码分析行译码分析控制数据通路、启控制数据通路、启停部件操作停部件操作保存当前保存当前CPU所访问所访问的内存单元的地址的内存单元的地址暂时存放由内存读出或写入的指令或数据字保存由算术和逻辑指令的65.1.35.1.3CPUCPU中的主要寄存器中的主要寄存器 1.1.数据缓冲寄存器(数据缓冲寄存器(DRDR)暂时存放由内存读出或写入的指令或数据字暂时存放由内存读出或写入的指令或数据字2.2.指令寄存器(指令寄存器(IRIR)保存当前正在执行的一条指令保存当前正在执行的一条指令3.3.程序计数器(程序计数器(PCPC)确定下一条指令的地址确定下一条指令的地址4.4.地址寄存器(地址寄存器(ARAR)保存当前保存当前CPUCPU所访问的内存单元的地址所访问的内存单元的地址5.5.通用寄存器(通用寄存器(R0R0R3R3)6.6.状态条件寄存器(状态条件寄存器(PSWPSW)保存由算术和逻辑指令的结果建立的各种条件码保存由算术和逻辑指令的结果建立的各种条件码5.1.3CPU中的主要寄存器数据缓冲寄存器(DR)7playplay85.1.4 5.1.4 操作控制器与时序产生器操作控制器与时序产生器 操作控制器:操作控制器:在各寄存器之间建立在各寄存器之间建立数据通路数据通路。数据通路数据通路:寄存器之间传送信息的通路。寄存器之间传送信息的通路。操操作作控控制制器器的的功功能能:根根据据指指令令操操作作码码和和时时序序信信号号,产产生生各各种种操操作作控控制制信信号号,以以便便正正确确地地建建立立数数据据通通路路,从而完成取指令和执行指令的控制。从而完成取指令和执行指令的控制。根据设计方法不同,操作控制器可分为:根据设计方法不同,操作控制器可分为:1.硬布线控制器硬布线控制器2.微程序控制器微程序控制器时序产生器:时序产生器:产生计算机所需要的时序控制信号产生计算机所需要的时序控制信号采用采用时序逻辑时序逻辑技术来实现技术来实现采用采用存储逻辑存储逻辑来实现来实现5.1.4操作控制器与时序产生器操作控制器:在各寄存器之95.25.2 指令周期指令周期5.2.1 5.2.1 指令周期的基本概念指令周期的基本概念5.2.2 MOV5.2.2 MOV指令的指令周期指令的指令周期5.2.3 LAD5.2.3 LAD指令的指令周期指令的指令周期5.2.4 ADD5.2.4 ADD指令的指令周期指令的指令周期5.2.5 STO5.2.5 STO指令的指令周期指令的指令周期5.2.6 JMP5.2.6 JMP指令的指令周期指令的指令周期5.2.7 5.2.7 用方框图语言表示指令周期用方框图语言表示指令周期5.2指令周期5.2.1指令周期的基本概念105.2指令周期指令周期 指令的执行过程指令的执行过程取指令执行指令开始开始5.2指令周期指令的执行过程取指令执行指令开始115.2.1 5.2.1 指令周期的基本概念指令周期的基本概念 指令周期指令周期:CPUCPU取出并执行一条指令的时间。取出并执行一条指令的时间。取指时间执行指令时间取指时间执行指令时间 CPUCPU周周期期:CPUCPU从从内内存存读读取取一一条条指指令令字字所所需需的的最最短短时时间间,又又称机器周期(总线周期)称机器周期(总线周期)。时时钟钟周周期期:通通常常称称为为节节拍拍脉脉冲冲或或T T周周期期。一一个个CPUCPU周周期期包包含含若干个若干个T T周期。周期。(节拍的宽度取决于(节拍的宽度取决于CPUCPU完成一次基本的微操作的时间完成一次基本的微操作的时间 )相互关系相互关系:1 1个指令周期个指令周期=若干个若干个CPUCPU周期周期 1 1个个CPUCPU周期周期=若干若干T T周期周期 5.2.1指令周期的基本概念指令周期:取12101MOVR0,R1;(;(R1)R0102LADR1,6;(;(6)R1103ADDR1,R2;(;(R1)+(R2)R2104STOR2,(R3);(;(R2)(R3)105JMP101;101PC106ANDR1,R361005 5条典型指令构成的简单程序条典型指令构成的简单程序101MOVR0,R1;(R1)135.2.2 MOV5.2.2 MOV指令的指令周期指令的指令周期MOVR0,R15.2.2MOV指令的指令周期MOVR0,R114MOVMOV指令的指令周期指令的指令周期取指取指MOV指令的指令周期取指15MOVMOV指令的指令周期指令的指令周期执行执行playMOV指令的指令周期执行play165.2.3LADLAD指令的指令周期指令的指令周期一个CPU周期 一个CPU周期取指令阶段取指令阶段执行指令阶段执行指令阶段开始开始取指令取指令PC+1对指令对指令译码译码送操作送操作数地址数地址取下条指令取下条指令PC+1取出操取出操作数作数装入通用装入通用寄存器寄存器一个CPU周期LADR1,65.2.3LAD指令的指令周期一个CPU周期一个CPU周17LADLAD指令的指令周期指令的指令周期执行执行playLAD指令的指令周期执行play185.2.4ADDADD指令的指令周期指令的指令周期ADDR1,R25.2.4ADD指令的指令周期ADDR1,R219ADDADD指令的指令周期指令的指令周期执行执行playADD指令的指令周期执行play205.2.5STOSTO指令的指令周期指令的指令周期STOR2,(R3)5.2.5STO指令的指令周期STOR2,(R321playplay225.2.6 JMP5.2.6 JMP指令的指令周期指令的指令周期JMP1015.2.6JMP指令的指令周期JMP10123计算机组成原理第5章ppt课件24playplay255.2.75.2.7用方框图语言表示指令周期用方框图语言表示指令周期方方框框:代代表表一一个个CPUCPU周周期期,方方框框中中的的内内容容表表示示数数据据通通路路的的操操作或某种控制操作。作或某种控制操作。菱菱形形:通通常常用用来来表表示示某某种种判判别别或或测测试试。时时间间上上依依附附于于紧紧接接的前面一个的前面一个CPUCPU周期,而不单独占用一个周期,而不单独占用一个CPUCPU周期。周期。play1个CPU周期1个CPU周期1个CPU周期公操作公操作符号。表示一条指令已执行完毕,符号。表示一条指令已执行完毕,CPU取下一条指令或处理外设请求。取下一条指令或处理外设请求。ABUS:地址总线:地址总线DBUS:数据总线:数据总线IBUS:指令总线:指令总线5.2.7用方框图语言表示指令周期方框:代表一个CPU周26【例例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的的操操作作,画画出出其其指指令令期期流流程程图图,并并列列出相应的微操作控制信号序列。出相应的微操作控制信号序列。【例1】下图所示为双总线结构机器的数据通路,IR为指令寄存器27PCo,G,ARiPCARMDRDRIRR2YR0XY+XR0R/W=RDRo,G,IRiR2o,G,YiR0o,G,Xi+,G,R0i取指取指(1)加法)加法“ADDR2,R0”PCo,G,ARiPCARMDRDRIRR3YR1XYXR3R/W=RDRo,G,IRiR3o,G,YiR1o,G,Xi,G,R3i(2)减法)减法“SUBR1,R3”PCo,G,ARiPCARMDRDRIRR2YR0285.35.3 时序产生器和控制方式时序产生器和控制方式5.3.1 5.3.1 时序信号的作用和体制时序信号的作用和体制5.3.2 5.3.2 时序信号产生器时序信号产生器5.3.3 5.3.3 控制方式控制方式5.3时序产生器和控制方式5.3.1时序信号的作用29计算机组成原理第5章ppt课件305.3时序产生器和控制方式时序产生器和控制方式用用二二进进制制码码表表示示的的指指令令和和数数据据都都放放在在内内存存里里,那那么么CPU是怎样识别出它们是数据还是指令呢是怎样识别出它们是数据还是指令呢?从时间上来说从时间上来说:取指发生在指令周期的第一个取指发生在指令周期的第一个CPU周期周期;取数发生在后面几个取数发生在后面几个CPU周期,即周期,即“执行指令执行指令”阶段。阶段。从空间上来说从空间上来说:送指令寄存器送指令寄存器IR指令指令送送运算器运算器数据数据。思考思考5.3时序产生器和控制方式用二进制码表示的315.3.1时序信号的作用和体制时序信号的作用和体制 计算机的协调动作需要时间标志,而时间标志则用计算机的协调动作需要时间标志,而时间标志则用时序信号时序信号来体现。来体现。主主状状态态周周期期(指指令令周周期期):包包含含若若干干个个节节拍拍周周期期,可可以以用用一一个触发器的状态持续时间来表示。个触发器的状态持续时间来表示。节节拍拍电电位位(机机器器周周期期):表表示示一一个个CPU CPU 周周期期的的时时间间,包包含含若若干个节拍脉冲。干个节拍脉冲。节拍脉冲(时钟周期):节拍脉冲(时钟周期):表示较小的时间单位。表示较小的时间单位。硬布线控制器硬布线控制器 时序信号采用时序信号采用主状态周期主状态周期-节拍电位节拍电位-节拍脉冲节拍脉冲三级体制。三级体制。微程序控制器微程序控制器 时序信号一般采用时序信号一般采用节拍电位节拍电位-节拍脉冲节拍脉冲二级体制。二级体制。5.3.1时序信号的作用和体制计算机的协调动作需要时32节拍脉冲节拍电位1主状态周期主状态周期节拍电位2主状态周期主状态周期-节拍电位节拍电位-节拍脉冲节拍脉冲节拍脉冲节拍电位1主状态周期节拍电位2主状态周期-节拍电位-33 IORQ MREQ RD WE T1 T2 T3 T4 IORQ MREQ RD WE T1 T2 T3 T4MERQIORQRDWR 提提供供频频率率稳稳定定且且电电平平匹匹配配的方波时钟脉冲信号的方波时钟脉冲信号 由石英晶体振荡器组成由石英晶体振荡器组成产产生生一一组组有有序序的的间间隔隔相相等等或不等的脉冲序列或不等的脉冲序列启动停机5.3.2时序信号产生器 启停控制逻辑启停控制逻辑节拍脉冲和读写时序译码逻辑节拍脉冲和读写时序译码逻辑环形脉冲发生器环形脉冲发生器时钟脉冲源时钟脉冲源微程序控制器的时序信号产生器微程序控制器的时序信号产生器(节拍电位节拍电位-节拍脉冲节拍脉冲)译译码码产产生生原原始始的的节节拍拍脉冲和读写时序信号脉冲和读写时序信号控控制制节节拍拍脉脉冲冲和和读读写写时时序序信信号号的的发发送送。启启动动状状态态,输输出出CPU真正需要的节拍脉冲和读写时序信号真正需要的节拍脉冲和读写时序信号IORQMREQRDWE34CPUCPU周期周期CPUCPU周期周期节节拍拍脉脉冲冲信信号号CPU周期CPU周期节拍脉冲信号355.3.3控制方式 控制器的控制方式:控制器的控制方式:控制不同操作序列时序信号的方法。控制不同操作序列时序信号的方法。1.1.同步控制方式同步控制方式已定的指令在执行时所需的已定的指令在执行时所需的CPU周期(机器周期)数和周期(机器周期)数和时钟周期数都固定不变。时钟周期数都固定不变。2.2.异步控制方式异步控制方式控控制制器器发发出出某某一一操操作作控控制制信信号号后后,等等待待执执行行部部件件完完成成操操作后发作后发“回答回答”信号,再开始新的操作。信号,再开始新的操作。3.3.联合控制方式联合控制方式同步控制和异步控制相结合的方式。同步控制和异步控制相结合的方式。(1)(1)采用完全统一的机器周期执行采用完全统一的机器周期执行各种不同的指令。各种不同的指令。(2)(2)采用不定长机器周期。采用不定长机器周期。(3)(3)中央控制与局部控制结合。中央控制与局部控制结合。情况(情况(1 1):大部分操作序列安排在固定的机器周期中,对某些时间):大部分操作序列安排在固定的机器周期中,对某些时间难以确定的操作则以执行难以确定的操作则以执行“回答回答”信号作为本次操作的结束;信号作为本次操作的结束;情况(情况(2 2):机器周期的节拍脉冲数固定,但是各条指令周期的机器):机器周期的节拍脉冲数固定,但是各条指令周期的机器周期数不固定。周期数不固定。5.3.3控制方式控制器的控制方式:控制不同操作序列时序365.4微程序控制器微程序控制器利用利用软件方法软件方法(微程序设计技术微程序设计技术)来设计硬件)来设计硬件微程序控制的微程序控制的基本思想基本思想:把把操操作作控控制制信信号号编编成成“微微指指令令”,存存放放到到控控制存储器制存储器CM中。中。当当机机器器运运行行时时,逐逐条条读读出出微微指指令令,产产生生全全机机所需要的各种操作控制信号,启停相应部件。所需要的各种操作控制信号,启停相应部件。5.4微程序控制器利用软件方法(微程序设计技术)来设计硬375.4微程序控制器微程序控制器5.4.1 5.4.1 微程序控制原理微程序控制原理5.4.2 5.4.2 微程序设计技术微程序设计技术 5.4微程序控制器5.4.1微程序控制原理38控制器控制器运算器、存储器、外围设备运算器、存储器、外围设备(IO(IO设备设备)1 1 微命令和微操作微命令和微操作数字计算机可以分为:数字计算机可以分为:控制部件控制部件和和执行部件执行部件控制器IO设备主存运算器+WRReadyV控制线状态线控制部件与执行部件通过控制线和反馈信息进行联系。控制部件与执行部件通过控制线和反馈信息进行联系。微命令微命令微操作微操作微操作微操作微操作微操作1微命令和微操作数字计算机可以分为:控制部件和执行部件控395.4.1 5.4.1 微命令和微操作微命令和微操作微命令:微命令:控制部件通过控制线向执行部件发出的各种控制部件通过控制线向执行部件发出的各种控制命令。控制命令。微操作:微操作:执行部件接受微命令后所进行的操作。执行部件接受微命令后所进行的操作。微操作可分为微操作可分为相容性相容性和和相斥性相斥性两种。两种。在同时或同一个在同时或同一个CPUCPU周期周期内可以并行执行的微操作内可以并行执行的微操作不能在同时或同一个不能在同时或同一个CPUCPU周期内并行执行的微操作周期内并行执行的微操作ALU的的“+”、“”、“M”(传送)为互斥微操作。(传送)为互斥微操作。通常,只有通常,只有不同不同部件上的微操作,才可能相容!部件上的微操作,才可能相容!5.4.1微命令和微操作微命令:控制部件通过控制线向405.4.1 5.4.1 微命令和微操作微命令和微操作相斥性相斥性进位触发器进位触发器多路开关的多路开关的控制信号控制信号相斥性相斥性时钟输入时钟输入相容性相容性play5.4.1微命令和微操作相斥性进位触发器多路开关的控制信号412 2微指令和微程序微指令和微程序微微指指令令:在在一一个个CPUCPU周周期期中中,一一组组实实现现一一定定操操作作功功能的微命令的组合。能的微命令的组合。微微程程序序:实实现现一一条条机机器器指指令令功功能能的的许许多多条条微微指指令令组组成的序列。成的序列。指令系统所有指令;指令系统所有指令;指令微程序;指令微程序;微程序若干微指令;微程序若干微指令;微指令一组微命令;微指令一组微命令;微命令微命令微操作微操作2微指令和微程序微指令:在一个CPU周期中,一组实现一定42微指令的格式发出控制全机工作的控制信号。发出控制全机工作的控制信号。每一位表示一个微命令。每一位表示一个微命令。“1”“1”发出微命令;发出微命令;“0”“0”不发出微命令。不发出微命令。用来决定产生下一条用来决定产生下一条微指令的地址。微指令的地址。判别测试标志判别测试标志微命令信号都是节拍电位信号微命令信号都是节拍电位信号微指令的格式发出控制全机工作的控制信号。每一位表示一个43微程序举例微程序举例十进制加法十进制加法在在十十进进制制运运算算时时,当当相相加加二二数数之之和和大大于于9时时,便便产产生生进进位位。而而采采用用BCD码码后后,当当相相加加的的和和数数大大于于9时时,结结果果不不正正确确,必必须加须加6修正后才能得出正确的结果。修正后才能得出正确的结果。算法:算法:先将和数加先将和数加6,然后判别结果有无进位:,然后判别结果有无进位:当当Cy1,结果不变;当,结果不变;当Cy0,结果减,结果减6。取指取指判别测试,修改微判别测试,修改微地址寄存器内容地址寄存器内容abab6测试进位测试进位标志标志Cyab66第一条微指令的二进制编码:第一条微指令的二进制编码:第二条微指令的二进制编码:第二条微指令的二进制编码:第三条微指令的二进制编码:第三条微指令的二进制编码:微程序举例十进制加法在十进制运算时,当相加二数之和大44微程序控制器原理框图微程序控制器原理框图微微程程序序控控制制器器主主要要由由控控制制存存储储器器、微微指指令令寄寄存存器器和和地地址址转转移逻辑移逻辑三大部分组成。三大部分组成。只读存储器只读存储器存放实现全部指令系统的微程序。存放实现全部指令系统的微程序。控存的字长控存的字长=微指令字的长度微指令字的长度 。决定将要访问的下决定将要访问的下一条微指令的地址一条微指令的地址保存一条微指令的操作控制保存一条微指令的操作控制字段和判别测试字段的信息字段和判别测试字段的信息存放由控制存储器读出的一条微指令信息。存放由控制存储器读出的一条微指令信息。分为微地址寄存器和微命令寄存器两部分。分为微地址寄存器和微命令寄存器两部分。通过判别测试字段通过判别测试字段P和和执行部件的执行部件的“状态条状态条件件”反馈信息,修改反馈信息,修改微地址寄存器的内容微地址寄存器的内容微程序控制器原理框图微程序控制器主要由控制存储器、微指令45CPUCPU周期与微指令周期的关系周期与微指令周期的关系微指令周期微指令周期 =读出微指令的时间读出微指令的时间 +执行该条微指令的时间执行该条微指令的时间图图5.26CPU周期与微指令周期的关系周期与微指令周期的关系T4T3T2T1微指令CPU周期与微指令周期的关系微指令周期=读出微指令的46机器指令与微指令的关系机器指令与微指令的关系(1)一一条条机机器器指指令令对对应应一一个个微微程程序序,这这个个微微程程序序由若干条微指令序列组成。由若干条微指令序列组成。(2)从从指指令令与与微微指指令令、程程序序与与微微程程序序、地地址址与与微微地地址址的的对对应应关关系系看看,前前者者与与内内存存有有关关,后后者者与与控制存储器有关。控制存储器有关。(3)每一个每一个CPU周期对应一条微指令。周期对应一条微指令。机器指令与微指令的关系(1)一条机器指令对应一个微程序,47程序计数器程序计数器PC地址寄存器地址寄存器AR缓冲寄存器缓冲寄存器DR指令寄存器指令寄存器IR微地址寄存器微地址寄存器AR微指令寄存器微指令寄存器IR主存储器主存储器控制存储器控制存储器CM微命令微命令地址译码器地址译码器地址译码地址译码机器指令级机器指令级微指令级微指令级OP程序计数器PC地址寄存器AR缓冲寄存器DR指令寄存器IR微地485.4.2 5.4.2 微程序设计技术微程序设计技术 1.微命令编码微命令编码操作控制字段采用的表示方法操作控制字段采用的表示方法直接表示法直接表示法编码表示法编码表示法混合表示法混合表示法操作控制字段的每一位代表一个微命令!操作控制字段的每一位代表一个微命令!优点:简单、直观、微指令执行速度快。优点:简单、直观、微指令执行速度快。缺点:控存容量需求大。缺点:控存容量需求大。n位,最多代表位,最多代表2n-1个微命令。个微命令。优点:缩短了微指令字的长度。优点:缩短了微指令字的长度。缺点:字段需译码,才得到微命令信号缺点:字段需译码,才得到微命令信号字段1字段2 P字段下地址译码译码译码微命令微命令微命令微命令P1Pn直接表示和编码表直接表示和编码表示相结合示相结合5.4.2微程序设计技术1.微命令编码操作控制字段采492 2 微地址的形成方法微地址的形成方法计数器方式计数器方式多路转移方式多路转移方式微地址寄存器有计数器功能。微地址寄存器有计数器功能。顺序执行的微指令序列必须在控制存储顺序执行的微指令序列必须在控制存储器的连续单元中。器的连续单元中。微指令的微指令的P字段中,某位为字段中,某位为1,就要修,就要修改改“下地址下地址”字段,产生正确的下地址。字段,产生正确的下地址。P字段有字段有n位,可产生位,可产生2n路转移。路转移。2微地址的形成方法计数器方式微地址寄存器有计数器功能503 3 微指令格式微指令格式水平型微指令水平型微指令垂直型微指令垂直型微指令全水平型微指令全水平型微指令字段译码法水平型微指令字段译码法水平型微指令直接和译码相混合的水平型微直接和译码相混合的水平型微指令指令一次能定义并执行多个并行操作微命令的微指令一次能定义并执行多个并行操作微命令的微指令在一条微指令中只有在一条微指令中只有1-2个微操作命令,每条微指令功能简单个微操作命令,每条微指令功能简单类似机器指令的格式,例类似机器指令的格式,例RRRR传送型微指令:传送型微指令:只包含只包含1 1个简单操作个简单操作或建立或建立1 1条数据通路条数据通路。微操作码微操作码经经译码译码,得到微命令。,得到微命令。000源寄存器编址源寄存器编址目标寄存器编址目标寄存器编址其他其他151312873203微指令格式水平型微指令全水平型微指令一次能定义并执行51水平型和垂直型微指令的比较水水平平型型微微指指令令的的并并行行操操作作能能力力强强、效效率率高高、灵灵活活性强。性强。水平性微指令水平性微指令解释机器指令的解释机器指令的速度快。速度快。水平型微指令字长,微程序水平型微指令字长,微程序短短。水水平平型型微微指指令令与与机机器器指指令令的的格格式式差差别别大大,必必须须深深刻理解机器硬件实现,才能编出高效的微程序。刻理解机器硬件实现,才能编出高效的微程序。垂直型微指令的特点与水平型相反!垂直型微指令的特点与水平型相反!水平型和垂直型微指令的比较水平型微指令的并行操作能力强、效率525.5.4动态微程序设计用用可擦除可擦除ROM做控存,微程序可修改。做控存,微程序可修改。实现实现不同的不同的指令集!指令集!这叫这叫“仿真仿真”另一台计算机的指令系统。另一台计算机的指令系统。如如果果两两台台计计算算机机的的指指令令系系统统差差别别很很大大,“仿仿真真”并不总能行得通!并不总能行得通!5.5.4动态微程序设计用可擦除ROM做控存,微程序可修53微程序控制器微程序控制器利用利用软件方法软件方法(微程序设计技术微程序设计技术)来设计硬件)来设计硬件微程序控制的微程序控制的基本思想基本思想:把把操操作作控控制制信信号号编编成成“微微指指令令”,存存放放到到控控制存储器制存储器CM中。中。当当机机器器运运行行时时,逐逐条条读读出出微微指指令令,产产生生全全机机所需要的各种操作控制信号,启停相应部件。所需要的各种操作控制信号,启停相应部件。微程序控制器利用软件方法(微程序设计技术)来设计硬件545.6硬布线控制器电子计算机诞生后,控制器采用电子计算机诞生后,控制器采用硬布线硬布线实现。实现。基基本本思思想想:某某一一微微操操作作控控制制信信号号是是指指令令操操作作码码译译码码输输出出、时时序序信信号号和和状状态态条条件件信信号号的的逻逻辑辑函函数数,即即用用布布尔尔代代数数写写出出逻逻辑辑表表达达式式,然然后后用用门门电电路路和和触发器触发器等器件实现。等器件实现。非常复杂!非常复杂!增增加加一一条条指指令令,需需要要重重新新设设计计整整个个硬硬布布线线逻逻辑辑电电路。路。5.6硬布线控制器电子计算机诞生后,控制器采用硬布线实现55硬布线控制器的结构方框图硬布线控制器的结构方框图C=f(Im,Mi,Tk,Bj)硬布线,需要很硬布线,需要很强的数理逻辑电强的数理逻辑电路设计技术!路设计技术!图5.31硬布线控制器结构方框图逻辑网络的输入信号来源有三个:逻辑网络的输入信号来源有三个:(1)来自指令操码译码器的输出来自指令操码译码器的输出Im;(2)来自执行部件的反馈信息来自执行部件的反馈信息Bj;(3)来自时序产生器的时序信号,包括来自时序产生器的时序信号,包括节拍电位信号节拍电位信号M和节拍脉冲信号和节拍脉冲信号T。硬布线控制器的结构方框图C=f(Im,Mi,Tk565.7流水CPU5.7.1并行处理技术并行处理技术5.7.2流水流水CPU的结构的结构5.7.3流水线中的主要问题流水线中的主要问题5.7.4奔腾奔腾CPU5.7流水CPU5.7.1并行处理技术57并行性的两种含义同时性同时性两个或多个事件同时发生。两个或多个事件同时发生。并发性并发性两个或多个事件在两个或多个事件在同一时段内同一时段内先后先后发生。发生。事件事件1 1事件事件2 2事件事件1 1事件事件2 2t并行性的两种含义同时性事件1事件2事件1事件2t58并行处理的三种形式时间并行时间并行空间并行空间并行时间并行时间并行+空间并行空间并行流水流水CPUCPU是以时间并行性为原理构造的处理器是以时间并行性为原理构造的处理器并行处理的三种形式时间并行流水CPU是以时间并行性为原理构造59流水计算机的系统组成多体交叉存储器多体交叉存储器cache指令部件指令部件(指令指令I+k+1)(指令指令I+k)(指令指令I+2)(指令指令I+1)执行部件执行部件(指令指令I)存储系统存储系统流水流水CPUCPU取指令取指令指令译码指令译码计算操作数地址计算操作数地址取操作数取操作数FIFO指令队列指令队列运算流水线运算流水线用流水线实现用流水线实现用流水线实现用流水线实现流水计算机的系统组成多体交叉存储器cache指令部件(指令I60流水线的表示法连接图用方框表示过程段,箭头表示段间数据传送。用方框表示过程段,箭头表示段间数据传送。以指令流水线为例,以指令流水线为例,段间有缓冲寄存器,暂存前一段的结果;段间有缓冲寄存器,暂存前一段的结果;一个流水线由一系列串联的过程段组成。一个流水线由一系列串联的过程段组成。S2S3S4S1IFIDEXWB入入出出流水线的表示法连接图用方框表示过程段,箭头表示段间数据传61非流水的指令流水线8 8时钟后,完成时钟后,完成2 2条指令。条指令。I1I2I1I2I1I2I1I2空间空间IFIFIDIDEXEXWBWB时间时间12345678时空图时空图横轴表示时间,纵轴表示空间。横轴表示时间,纵轴表示空间。非流水的指令流水线8时钟后,完成2条指令。I1I2I1I2I62标量流水线标量流水线假设连续假设连续5条指令进入流水线条指令进入流水线I1I2I3I4I5I1I2I3I4I5I1I2I3I4I5I1I2I3I4I5空间空间IFIFIDIDEXEXWBWB时间时间123456788 8时钟后,完成时钟后,完成5 5条指令。条指令。装满时间装满时间排空时间排空时间S2S3S4S1IFIDEXWB入入出出标量流水线假设连续5条指令进入流水线I1I2I3I4I5I163什么是超标量流水处理器标量指标量指单个单个量;量;向量指向量指一组一组标量;标量;只有一套指令流水线的只有一套指令流水线的CPUCPU称为标量流水称为标量流水CPUCPU;有多套指令流水线的有多套指令流水线的CPUCPU称为称为超超标量流水标量流水CPUCPU。超标量流水计算机是时间并行与空间并行的结合。超标量流水计算机是时间并行与空间并行的结合。什么是超标量流水处理器标量指单个量;64超标量流水线CPU装满后,每个时钟完成装满后,每个时钟完成2 2条指令。条指令。I2I4I6I8I10空间空间IF1IF1时间时间12345678I1I3I5I7I9IF2IF2I2I4I6I8I10I1I3I5I7I9I2I4I6I8I10I1I3I5I7I9I2I4I6I8I10I1I3I5I7I9ID1ID1ID2ID2EX1EX1EX2EX2WB1WB1WB2WB2play超标量流水线CPU装满后,每个时钟完成2条指令。I2I4I665不同层次的流水线算术流水线算术流水线流水加法器、流水乘法器、流水浮点加法器。流水加法器、流水乘法器、流水浮点加法器。指令流水线指令流水线包包括括“取取指指”、“译译码码”、“取取操操作作数数”、“执行执行”、“写回写回”等过程段。等过程段。处理机流水线处理机流水线(宏流水线宏流水线)出出入入CPU1CPU2CPUm程序程序1程序程序2程序程序m不同层次的流水线算术流水线出入CPU1CPU2CPUm程序1665.8.3流水线中的主要问题流水过程中通常会出现以下三种相关冲突,使流水线断流。流水过程中通常会出现以下三种相关冲突,使流水线断流。资源相关资源相关数据相关数据相关 控制相关控制相关 多条指令在同一多条指令在同一CPU周期内争用同一个功能部件周期内争用同一个功能部件等待等待前面指令完成前面指令完成操作数操作数的的读或写读或写。由转移指令引起由转移指令引起5.8.3流水线中的主要问题流水过程中通常会出现以下三种相67资源相关多条指令在同一多条指令在同一CPUCPU周期内争用同一个段。周期内争用同一个段。I1和和I4同时访存同时访存资源相关多条指令在同一CPU周期内争用同一个段。I1和I4同68数据相关等待等待前面指令完成前面指令完成操作数操作数的的读或写读或写。ADDR1,R2,R3;(R2)(R3)R1SUBR4,R1,R5;(R1)(R5)R4ANDR6,R1,R7;(R1)(R7)R6T3读读R1T4读读R1T5写写R1写写R1之前,之前,读读R1,错!,错!写写R1之前,之前,读读R1,错,错!数据相关等待前面指令完成操作数的读或写。T3读R1T4读R169例例4(1):判断下面两条指令中的数据相关类型。:判断下面两条指令中的数据相关类型。ADDR1,R2,R3;(R2)(R3)R1SUBR4,R1,R5;(R1)(R5)R4正确:正确:写写R1,然后,然后读读R1。实际:实际:读读R1,然后,然后写写R1。这是这是写后读写后读(RAW)相关。相关。例4(1):判断下面两条指令中的数据相关类型。70例例4(2):判断下面两条指令中的数据相关类型。:判断下面两条指令中的数据相关类型。STAM(x),R3;(R3)M(x)ADDR3,R4,R5;(R4)(R5)R3正确:正确:读读R3,然后,然后写写R3。实际:实际:写写R3,然后,然后读读R3。这是这是读后写读后写(WAR)相关。相关。例4(2):判断下面两条指令中的数据相关类型。71例例4(3):判断下面两条指令中的数据相关类型。:判断下面两条指令中的数据相关类型。MULR3,R1,R2;(R1)(R2)R3ADDR3,R4,R5;(R4)(R5)R3正确:正确:写写R3,然后,然后写写R3。实际:实际:写写R3,然后,然后写写R3。这是这是写后写写后写(WAW)相关。相关。乘法时间远比加乘法时间远比加法时间长!法时间长!例4(3):判断下面两条指令中的数据相关类型。乘法时间远比加72控制相关紧跟转移指令的后续指令要不要执行?紧跟转移指令的后续指令要不要执行?确确定定要要转转移移时时,后后面面的的一一或或多多条条指指令令已已进进入流水线;入流水线;若若流流水水线线为为k段段,转转移移指指令令与与后后面面的的k-1条条指指令发生控制相关。令发生控制相关。控制相关紧跟转移指令的后续指令要不要执行?73延迟转移法如如果果转转移移指指令令之之后后的的指指令令最最终终要要执执行行,而而且且它它们们与转移指令的结果无关,则允许它们继续前进。与转移指令的结果无关,则允许它们继续前进。转移指令转移指令S1S2S3S4S5S6S7S8输入输入输出输出b5b4b3b2b1bb1b2转移的目标指令在转移的目标指令在b+5后送流水线后送流水线延迟:不是时间延迟,而是指指令延迟:不是时间延迟,而是指指令执行顺序上目标指令被推延了。执行顺序上目标指令被推延了。延迟转移法如果转移指令之后的指令最终要执行,而且它们与转移指74转移预测法设置两个指令队列设置两个指令队列(指令指令cache)。一个是转移不成功时顺序预取指令的队列;一个是转移不成功时顺序预取指令的队列;一个是转移成功时从目标地址预取指令的队列。一个是转移成功时从目标地址预取指令的队列。当当能能确确定定转转移移方方向向时时,直直接接从从相相应应队队列列中中取指令。取指令。转移预测法设置两个指令队列(指令cache)。75从从L开始取指令开始取指令到到AIB,等待,等待ALU送送CC判判CCAIBIBL:L+1:k:k+1:成功成功IBM370/165中的双指令队列中的双指令队列从L开始取指令判CCAIBIBL:L+1:k:k765.8RISCCPU第第一一台台RISC计计算算机机于于1981年年在在美美国国加加州州大大学学伯伯克利分校问世。克利分校问世。RISC机器的三个基本要素是:机器的三个基本要素是:一个有限的简单指令集;一个有限的简单指令集;CPU配备大量的通用寄存器;配备大量的通用寄存器;强调指令流水线的优化。强调指令流水线的优化。RISC的的目目标标不不是是简简单单的的缩缩减减指指令令系系统统,而而是是使使处处理理器器的的结结构构更更简简单单、更更合合理理、具具有有更更高高的的性性能和执行效率,并降低处理器的开发成本。能和执行效率,并降低处理器的开发成本。5.8RISCCPU第一台RISC计算机于1981年在77RISC机器的特点使用等长指令。使用等长指令。寻寻址址方方式式少少且且简简单单,一一般般为为23种种,绝绝不不出出现现存存储储器器间间接寻址方式。接寻址方式。只只有有取取数数、存存数数指指令令访访问问存存储储器器。指指令令中中最最多多出出现现RS型指令,绝不出现型指令,绝不出现SS型指令。型指令。指指令令集集中中的的指指令令数数目目一一般般少少于于100种种,指指令令格格式式一一般般少少于于4种。种。指令功能简单,控制器多采用硬布线控制器。指令功能简单,控制器多采用硬布线控制器。平均而言,所有指令的执行时间为一个时钟周期。平均而言,所有指令的执行时间为一个时钟周期。CPU中的寄存器数较多。中的寄存器数较多。支持指令流水并强调指令流水的优化使用。支持指令流水并强调指令流水的优化使用。RISC机器的特点使用等长指令。78本章小结本章小结 CPU是计算机的中央处理部件,具有指令控制、操作控制、时间控制、数据加工等基本功能。早期的CPU由运算器和控制器两大部分组成。随着高密度集成电路技术的发展,当今的CPU芯片变成运算器、cache和控制器三大部分。CPU至少要有如下六类寄存器:指令寄存器IR、程序计数器PC、地址寄存器AR、缓冲寄存器DR、通用寄存器、状态条件寄存器PSW。CPU从存储器取出一条指令并执行这条指令的时间和称为指令周期。由于各种指令的操作功能不同,各种指令的指令周期是不尽相同的。划分指令周期,是设计操作控制器的重要依据。时序信号产生器提供CPU周期(也称机器周期)所需的时序信号。微程序设计技术是利用软件方法设计操作控制器的一门技术,具有规整性、灵活性、可维护性等一系列优点,因而在计算机设计中得到了广泛应用,并取代了早期采用的硬布线控制器设计技术。本章小结CPU是计算机的中央处理部件,具有指令控制、操作79本章小结本章小结随着硬件技术的发展和对机器速度的要求,硬布线逻辑设计思想又得到了重视。硬布线控制器的基本思想是:某一微操作控制信号是指令操作码译码输出、时序信号和状态条件信号的逻辑函数,即用布尔代数写出逻辑表达式,然后用门电路和触发器等器件实现。不论微型机还是超级计算机,并行处理技术已成为计算机技术发展的主流。并行处理技术可贯穿于信息加工的各个步骤和阶段。概括起来,主要有三种形式:时间并行;空间并行;时间并行+空间并行。流水CPU是以时间并行性为原理构造的处理机,是一种非常经济而实用的并行技术。目前的高性能微处理机几乎无一例外地使用了流水技术。流水技术中的主要问题是资源相关、数据相关和控制相关,为此需要采取相应的技术对策,才能保证流水线畅通而不断流。本章小结随着硬件技术的发展和对机器速度的要求,硬布线逻辑设计80CPU结构如图所示,其中一个累加寄存器结构如图所示,其中一个累加寄存器AC,一个状态条件寄存器和其,一个状态条件寄存器和其它四它四个寄存器,各部分之间的连线表示数据通路,箭头表示信息传送方向。个寄存器,各部分之间的连线表示数据通路,箭头表示信息传送方向。要求:(要求:(1 1)标明图中四个寄存器的名称。标明图中四个寄存器的名称。(2 2)简述指令取指到操作控制器的数据通路。)简述指令取指到操作控制器的数据通路。PCDRIRAR取指阶段的数据通路:取指阶段的数据通路:PCAR主存主存缓冲寄存器缓冲寄存器DR指令寄存器指令寄存器IR操作控制器操作控制器CPU结构如图所示,其中一个累加寄存器AC,一个状态条件寄存81指指令令流流水水线线有有“取取指指”IF、“译译码码”ID、“执执行行”EX、“访访存存”MEM、“写回寄存器堆写回寄存器堆”WB五个过程段,共有五个过程段,共有20条指令连续输入此流水线。条指令连续输入此流水线。(1)画出流水处理的时空图,假设时钟周期为)画出流水处理的时空图,假设时钟周期为100ns。(2)求流水线的实际吞吐率(单位时间里执行完毕的指令数)。)求流水线的实际吞吐率(单位时间里执行完毕的指令数)。(3)求流水线的加速比。)求流水线的加速比。解解:(1)空间空间I1I2I3I4I5I1I2I3I4I5I1I2I3I4I5I1I2I3I4I5IFIFIDIDEXEXWBWB时间时间12345678I1I2I3I4I520202020192021209MEMMEM20条指令采用流水线总用时条指令采用流水线总用时24T=2400ns(2)吞吐率)吞吐率=20/2400ns=8.33106条条/s(3)加速比)加速比=非流水用时非流水用时/流水用时流水用时=20500ns/2400ns=4.17指令流水线有“取指”IF、“译码”ID、“执行”EX、“访存82例:运算器及其微控制信号如右图ALUSASB1616位位S SB BALUALUS SB BALUALU4个通用寄存器1616位位LDSLDSA ALDSLDSB BR RW WRARA0 0RARA1 1WAWA0 0WAWA1 1ResetReset1616位位读写控制功能读写控制功能写选择写选择读选择读选择例:运算器及其微控制信号如右图ALUSASB16位SBAL83例(续):微指令格式RA0RA1WA0WA1R W LDSALDSBSBALU SBALU Reset01234567891011SA打入信号打入信号SB清零信号清零信号转公操作信号转公操作信号SB打入信号打入信号ALUSASB1616位位S SB BALUALUS SB BALUALU4个通用寄存器1616位位LDSLDSA ALDSLDSB BR RW WRARA0 0RARA1 1WAWA0 0WAWA1 1ResetReset1616位位例(续):微指令格式RA0RA1WA0WA1RWL84解:解:ADD、SUB和和MOV的指令周期流程图的指令周期流程图取指令R3SAR2SBSASBR3R0SAR1SBSA+SBR1R2SA0SBSA+SBR3MOVSUBADDMOVR2,R3SUBR2,R3ADDR0,R178456123ALUSASB1616位位S SB BALUALUS SB BALUALU4个通用寄存器1616位位LDSLDSA ALDSLDSB BR RW WRARA0 0RARA1 1WAWA0 0WAWA1 1ResetReset1616位位RA0RA1WA0WA1R W LDSALDSBSBALU SBALU Reset01234567891011指令的微程序?指令的微程序?解:ADD、SUB和MOV的指令周期流程图取指令R385微指令的代码微指令的代码86
展开阅读全文