1、 第五章第五章 中央处理器中央处理器 计算机组成原理计算机组成原理第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 传统传统CPUCPU5.1 CPU5.1 CPU的功能和组成的功能和组成 5.1.1 CPU5.1.1 CPU的功能的功能 5.1.2 CPU
2、5.1.2 CPU的基本组成的基本组成 5.1.3 CPU5.1.3 CPU中的主要寄存器中的主要寄存器 5.1.4 5.1.4 操作控制器与时序产生器操作控制器与时序产生器 中央处理器是控制计算机自动完成取出指令和执行指令中央处理器是控制计算机自动完成取出指令和执行指令任务的部件。它是计算机的核心部件,通常简称为任务的部件。它是计算机的核心部件,通常简称为CPU(Central Processing Unit)5.1.1 CPU5.1.1 CPU的功能的功能 指令控制指令控制 保证机器按程序规定的顺序取出执行保证机器按程序规定的顺序取出执行 操作控制操作控制 CPUCPU产生每条指令对应的操
3、作信号,并把操作信号送往产生每条指令对应的操作信号,并把操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作相应的部件,从而控制这些部件按指令的要求进行动作 时间控制时间控制 对各种操作的实施时间进行定时对各种操作的实施时间进行定时 数据加工数据加工 对数据进行算术运算和逻辑运算处理对数据进行算术运算和逻辑运算处理控控制制器器运运算算器器5.1.2 CPU5.1.2 CPU的基本组成的基本组成 控制器控制器:完成对整个计算机系统操作的完成对整个计算机系统操作的协调与指挥协调与指挥。(1)(1)取出一条指令,并指出下一条指令的地址;取出一条指令,并指出下一条指令的地址;(2)(2)指令译
4、码,产生操作控制信号送往相应的部件;指令译码,产生操作控制信号送往相应的部件;(3)(3)指挥并控制指挥并控制CPUCPU、内存与、内存与I/OI/O设备之间数据流动的方向设备之间数据流动的方向 运算器运算器:是数据加工处理部件,所进行的全部操作由是数据加工处理部件,所进行的全部操作由控制器发出的控制信号指挥控制器发出的控制信号指挥。(1)(1)执行所有的算术运算;执行所有的算术运算;(2)(2)执行所有的逻辑运算,并进行逻辑测试执行所有的逻辑运算,并进行逻辑测试CPU由由运算器运算器、cache和和控制器控制器三大部分组成。三大部分组成。暂时存放由内存读出或暂时存放由内存读出或写入的指令或数
5、据字写入的指令或数据字保存由算术和逻辑指令的保存由算术和逻辑指令的结果建立的各种条件码结果建立的各种条件码确定下一条确定下一条指令的地址指令的地址保存当前正在执保存当前正在执行的一条指令行的一条指令对对IR中的中的指指令操作码进令操作码进行译码分析行译码分析控制数据通路、启控制数据通路、启停部件操作停部件操作保存当前保存当前CPU所访问所访问的内存单元的地址的内存单元的地址5.1.35.1.3CPUCPU中的主要寄存器中的主要寄存器 1.1.数据缓冲寄存器(数据缓冲寄存器(DRDR)暂时存放由内存读出或写入的指令或数据字暂时存放由内存读出或写入的指令或数据字2.2.指令寄存器(指令寄存器(IR
6、IR)保存当前正在执行的一条指令保存当前正在执行的一条指令3.3.程序计数器(程序计数器(PCPC)确定下一条指令的地址确定下一条指令的地址4.4.地址寄存器(地址寄存器(ARAR)保存当前保存当前CPUCPU所访问的内存单元的地址所访问的内存单元的地址5.5.通用寄存器(通用寄存器(R0R0R3R3)6.6.状态条件寄存器(状态条件寄存器(PSWPSW)保存由算术和逻辑指令的结果建立的各种条件码保存由算术和逻辑指令的结果建立的各种条件码play5.1.4 5.1.4 操作控制器与时序产生器操作控制器与时序产生器 操作控制器:操作控制器:在各寄存器之间建立在各寄存器之间建立数据通路数据通路。数
7、据通路数据通路:寄存器之间传送信息的通路。寄存器之间传送信息的通路。操作控制器的功能操作控制器的功能:根据指令操作码和时序信号,根据指令操作码和时序信号,产生各种操作控制信号,以便正确地建立数据通产生各种操作控制信号,以便正确地建立数据通路,从而完成取指令和执行指令的控制。路,从而完成取指令和执行指令的控制。根据设计方法不同,操作控制器可分为:根据设计方法不同,操作控制器可分为:1.硬布线控制器硬布线控制器2.微程序控制器微程序控制器时序产生器:时序产生器:产生计算机所需要的时序控制信号产生计算机所需要的时序控制信号采用采用时序逻辑时序逻辑技术来实现技术来实现 采用采用存储逻辑存储逻辑来实现来
8、实现 5.25.2 指令周期指令周期 5.2.15.2.1 指令周期的基本概念指令周期的基本概念 5.2.25.2.2 MOV MOV指令的指令周期指令的指令周期 5.2.35.2.3 LAD LAD指令的指令周期指令的指令周期 5.2.45.2.4 ADD ADD指令的指令周期指令的指令周期 5.2.55.2.5 STO STO指令的指令周期指令的指令周期 5.2.65.2.6 JMP JMP指令的指令周期指令的指令周期 5.2.75.2.7 用方框图语言表示指令周期用方框图语言表示指令周期5.2 指令周期指令周期 指令的执行过程指令的执行过程取指令执行指令开始开始5.2.1 5.2.1 指
9、令周期的基本概念指令周期的基本概念 指令周期指令周期:CPUCPU取出并执行一条指令的时间。取出并执行一条指令的时间。取指时间执行指令时间取指时间执行指令时间 CPU CPU周期周期:CPUCPU从内存读取一条指令字所需的最短时间,又从内存读取一条指令字所需的最短时间,又称机器周期(总线周期)称机器周期(总线周期)。时钟周期时钟周期:通常称为通常称为节拍脉冲节拍脉冲或或T T周期周期。一个。一个CPUCPU周期包含周期包含若干个若干个T T周期。周期。(节拍的宽度取决于(节拍的宽度取决于CPUCPU完成一次基本的微操作的时间完成一次基本的微操作的时间 )相互关系相互关系:1 1个指令周期个指令
10、周期 =若干个若干个CPUCPU周期周期 1 1个个CPUCPU周期周期 =若干若干T T周期周期 101MOVR0,R1;(;(R1)R0102LADR1,6;(;(6)R1103ADDR1,R2;(;(R1)+(R2)R2104STOR2,(R3);(;(R2)(R3)105JMP101;101PC106ANDR1,R3 61005 5条典型指令构成的简单程序条典型指令构成的简单程序5.2.2 MOV5.2.2 MOV指令的指令周期指令的指令周期MOV R0,R1MOVMOV指令的指令周期指令的指令周期取指取指 MOVMOV指令的指令周期指令的指令周期执行执行 play5.2.3 LADL
11、AD指令的指令周期指令的指令周期一个CPU周期 一个CPU周期取指令阶段取指令阶段执行指令阶段执行指令阶段开始开始取指令取指令PC+1对指令对指令译码译码送操作送操作数地址数地址取下条指令取下条指令PC+1取出操取出操作数作数装入通用装入通用寄存器寄存器一个CPU周期LADR1,6LADLAD指令的指令周期指令的指令周期执行执行 play5.2.4 ADDADD指令的指令周期指令的指令周期ADD R1,R2ADDADD指令的指令周期指令的指令周期执行执行 play5.2.5 STOSTO指令的指令周期指令的指令周期STOR2,(R3)play5.2.65.2.6 JMP JMP指令的指令周期指
12、令的指令周期JMP101play5.2.75.2.7用方框图语言表示指令周期用方框图语言表示指令周期 方框方框:代表一个:代表一个CPUCPU周期,方框中的内容表示数据通路的操周期,方框中的内容表示数据通路的操作或某种控制操作。作或某种控制操作。菱形菱形:通常用来表示某种判别或测试。时间上依附于紧接通常用来表示某种判别或测试。时间上依附于紧接的前面一个的前面一个CPUCPU周期,而不单独占用一个周期,而不单独占用一个CPUCPU周期。周期。play1个CPU周期1个CPU周期1个CPU周期公操作公操作符号。表示一条指令已执行完毕,符号。表示一条指令已执行完毕,CPU取下一条指令或处理外设请求。
13、取下一条指令或处理外设请求。ABUS:地址总线:地址总线DBUS:数据总线:数据总线IBUS:指令总线:指令总线【例【例1】下图所示为双总线结构机器的数据通路,】下图所示为双总线结构机器的数据通路,IR为指令寄存器,为指令寄存器,PC为程为程序计数器序计数器(具有自增功能具有自增功能),M为主存为主存(受受R/W信号控制信号控制),AR为地址寄存器,为地址寄存器,DR为数据缓冲寄存器,为数据缓冲寄存器,ALU由加、减控制信号决定完成何种操作,控制由加、减控制信号决定完成何种操作,控制信号信号G控制的是一个门电路。另外,线上标注有小圈表示有控制信号,例控制的是一个门电路。另外,线上标注有小圈表示
14、有控制信号,例中中yi表示表示y寄存器的输入控制信号,寄存器的输入控制信号,R1o为寄存器为寄存器R1的输出控制信号,未标的输出控制信号,未标字符的线为直通线,不受控制。字符的线为直通线,不受控制。(1)“ADDR2,R0”指令完成指令完成(R0)+(R2)R0的功能,画出其指令周期流程图的功能,画出其指令周期流程图(设指令地址已放入(设指令地址已放入PC中),并列出相应的微操作控制信号序列。中),并列出相应的微操作控制信号序列。(2)“SUBR1,R3”指令完成指令完成(R3)-(R1)R3的操作,画出其指令期流程图,并列的操作,画出其指令期流程图,并列出相应的微操作控制信号序列。出相应的微
15、操作控制信号序列。PCo,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”5.35.3 时序产生器和控制方式时序产生器和控制方式 5.3.15.3.1 时序信号的作用和体制时序信号的作用和体制 5.3.25.3.2 时序信号产生器时序信号产生器 5.3.35.3.3 控制方式控制方式5.3 时序产生器和控制
16、方式时序产生器和控制方式 用二进制码表示的指令和数据都放在内存里,那么用二进制码表示的指令和数据都放在内存里,那么CPU是怎样识别出它们是数据还是指令呢是怎样识别出它们是数据还是指令呢?从时间上来说从时间上来说:取指发生在指令周期的第一个取指发生在指令周期的第一个CPU周期周期;取数发生在后面几个取数发生在后面几个CPU周期,即周期,即“执行指令执行指令”阶段。阶段。从空间上来说从空间上来说:送指令寄存器送指令寄存器IR指令指令 送送运算器运算器数据数据。思考思考5.3.1时序信号的作用和体制时序信号的作用和体制 计算机的协调动作需要时间标志,而时间标志则用计算机的协调动作需要时间标志,而时间
17、标志则用时序信号时序信号来体现。来体现。主状态周期(指令周期):主状态周期(指令周期):包含若干个节拍周期,可以用一包含若干个节拍周期,可以用一个触发器的状态持续时间来表示。个触发器的状态持续时间来表示。节拍电位(机器周期):节拍电位(机器周期):表示一个表示一个CPU CPU 周期的时间,包含若周期的时间,包含若干个节拍脉冲。干个节拍脉冲。节拍脉冲(时钟周期):节拍脉冲(时钟周期):表示较小的时间单位。表示较小的时间单位。硬布线控制器硬布线控制器 时序信号采用时序信号采用主状态周期主状态周期-节拍电位节拍电位-节拍脉冲节拍脉冲三级体制。三级体制。微程序控制器微程序控制器 时序信号一般采用时序
18、信号一般采用节拍电位节拍电位-节拍脉冲节拍脉冲二级体制。二级体制。节拍脉冲节拍电位1主状态周期主状态周期节拍电位2主状态周期主状态周期-节拍电位节拍电位-节拍脉冲节拍脉冲 IORQ MREQ RD WE T1 T2 T3 T4 IORQ MREQ RD WE T1 T2 T3 T4MERQIORQRDWR 提供频率稳定且电平匹配提供频率稳定且电平匹配的方波时钟脉冲信号的方波时钟脉冲信号 由石英晶体振荡器组成由石英晶体振荡器组成产生一组有序的间隔相等产生一组有序的间隔相等或不等的脉冲序列或不等的脉冲序列启动停机5.3.2时序信号产生器 启停控制逻辑启停控制逻辑节拍脉冲和读写时序译码逻辑节拍脉冲和
19、读写时序译码逻辑环形脉冲发生器环形脉冲发生器时钟脉冲源时钟脉冲源微程序控制器的时序信号产生器微程序控制器的时序信号产生器(节拍电位节拍电位-节拍脉冲节拍脉冲)译码产生原始的节拍译码产生原始的节拍脉冲和读写时序信号脉冲和读写时序信号控制节拍脉冲和读写时序信号的发送。启动状态,输控制节拍脉冲和读写时序信号的发送。启动状态,输出出CPU真正需要的节拍脉冲和读写时序信号真正需要的节拍脉冲和读写时序信号CPUCPU周期周期CPUCPU周期周期节节拍拍脉脉冲冲信信号号环环形形脉脉冲冲发发生生器器节拍脉冲译节拍脉冲译码逻辑码逻辑启停控启停控制逻辑制逻辑启停控制逻辑启停控制逻辑 QQDRDS功能表功能表CQQ
20、D边沿触发的边沿触发的D D触发器触发器功能表功能表RD SD Q1 10 11 00 0保持原状态0 11 0不定状态RS RS 触发器触发器S置位端置位端R复位端复位端S=1Q=1R=1Q=0Q启停控制逻辑启停控制逻辑 运行标志运行标志触发触发器器Cr 当计算机启动时,一当计算机启动时,一定要从第定要从第1个节拍脉冲个节拍脉冲前沿开始工作。前沿开始工作。停机时一定要在第停机时一定要在第4个节拍脉冲结束后关个节拍脉冲结束后关闭时序产生器。闭时序产生器。play5.3.3控制方式 控制器的控制方式:控制器的控制方式:控制不同操作序列时序信号的方法。控制不同操作序列时序信号的方法。1.1.同步控
21、制方式同步控制方式已定的指令在执行时所需的已定的指令在执行时所需的CPU周期(机器周期)数和周期(机器周期)数和时钟周期数都固定不变。时钟周期数都固定不变。2.2.异步控制方式异步控制方式控制器发出某一操作控制信号后,等待执行部件完成操控制器发出某一操作控制信号后,等待执行部件完成操作后发作后发“回答回答”信号,再开始新的操作。信号,再开始新的操作。3.3.联合控制方式联合控制方式 同步控制和异步控制相结合的方式。同步控制和异步控制相结合的方式。(1)(1)采用完全统一的机器周期执行采用完全统一的机器周期执行各种不同的指令。各种不同的指令。(2)(2)采用不定长机器周期。采用不定长机器周期。(
22、3)(3)中央控制与局部控制结合。中央控制与局部控制结合。情况(情况(1 1):大部分操作序列安排在固定的机器周期中,对某些时间):大部分操作序列安排在固定的机器周期中,对某些时间难以确定的操作则以执行难以确定的操作则以执行“回答回答”信号作为本次操作的结束;信号作为本次操作的结束;情况(情况(2 2):机器周期的节拍脉冲数固定,但是各条指令周期的机器):机器周期的节拍脉冲数固定,但是各条指令周期的机器周期数不固定。周期数不固定。5.4 微程序控制器微程序控制器 利用利用软件方法软件方法(微程序设计技术微程序设计技术)来设计硬件)来设计硬件 微程序控制的微程序控制的基本思想基本思想:把操作控制
23、信号编成把操作控制信号编成“微指令微指令”,存放到控,存放到控制存储器制存储器CM中。中。当机器运行时,逐条读出微指令,产生全机当机器运行时,逐条读出微指令,产生全机所需要的各种操作控制信号,启停相应部件。所需要的各种操作控制信号,启停相应部件。5.4 微程序控制器微程序控制器 5.4.1 5.4.1 微程序控制原理微程序控制原理 5.4.2 5.4.2 微程序设计技术微程序设计技术 控制器控制器运算器、存储器、外围设备运算器、存储器、外围设备(IO(IO设备设备)1 1 微命令和微操作微命令和微操作 数字计算机可以分为:数字计算机可以分为:控制部件控制部件和和执行部件执行部件控制器IO设备主
24、存运算器+WRReadyV控制线状态线控制部件与执行部件通过控制线和反馈信息进行联系。控制部件与执行部件通过控制线和反馈信息进行联系。微命令微命令微操作微操作微操作微操作微操作微操作5.4.1 5.4.1 微命令和微操作微命令和微操作 微命令:微命令:控制部件通过控制线向执行部件发出的各种控制部件通过控制线向执行部件发出的各种控制命令。控制命令。微操作:微操作:执行部件接受微命令后所进行的操作。执行部件接受微命令后所进行的操作。微操作可分为微操作可分为相容性相容性和和相斥性相斥性两种。两种。在同时或同一个在同时或同一个CPUCPU周期周期内可以并行执行的微操作内可以并行执行的微操作不能在同时或
25、同一个不能在同时或同一个CPUCPU周期内并行执行的微操作周期内并行执行的微操作 ALU的的“+”、“”、“M”(传送)为互斥微操(传送)为互斥微操作。作。通常,只有通常,只有不同不同部件上的微操作,才可能相容!部件上的微操作,才可能相容!5.4.1 5.4.1 微命令和微操作微命令和微操作相斥性相斥性进位触发器进位触发器多路开关的多路开关的控制信号控制信号相斥性相斥性时钟输入时钟输入相容性相容性play2 2微指令和微程序微指令和微程序 微指令微指令:在一个在一个CPUCPU周期中,一组实现一定操作功周期中,一组实现一定操作功能的微命令的组合。能的微命令的组合。微程序微程序:实现一条机器指令
26、功能的许多条微指令组:实现一条机器指令功能的许多条微指令组成的序列。成的序列。指令系统所有指令;指令系统所有指令;指令微程序;指令微程序;微程序若干微指令;微程序若干微指令;微指令一组微命令;微指令一组微命令;微命令微命令微操作微操作nn22n2n21111微程序微程序指令指令微程序微程序指令指令微指令微指令微指令微指令完成一组微操作完成一组微操作)微命令微命令、微命令、微命令(微命令(微命令微指令微指令微程序微程序指令指令程序程序微指令的格式发出控制全机工作的控制信号。发出控制全机工作的控制信号。每一位表示一个微命令。每一位表示一个微命令。“1”1”发出微命令;发出微命令;“0”0”不发出微
27、命令。不发出微命令。用来决定产生下一条用来决定产生下一条微指令的地址。微指令的地址。判别测试标志判别测试标志微命令信号都是节拍电位信号微命令信号都是节拍电位信号微程序举例微程序举例十进制加法十进制加法 在十进制运算时在十进制运算时,当相加二数之和大于当相加二数之和大于9时时,便产生进位。便产生进位。而采用而采用BCD码后,当相加的和数大于码后,当相加的和数大于9时,结果不正确,时,结果不正确,必须加必须加6修正后才能得出正确的结果。修正后才能得出正确的结果。010 100 100 100 00000001001算法:算法:先将和数加先将和数加6,然后判别结果有无进位:,然后判别结果有无进位:当
28、当Cy1,结果不变;当,结果不变;当Cy0,结果减,结果减6。取指取指判别测试,修改微判别测试,修改微地址寄存器内容地址寄存器内容abab6测试进位测试进位标志标志Cyab66第一条微指令的二进制编码:第一条微指令的二进制编码:000 000 000 000 11111100000第二条微指令的二进制编码:第二条微指令的二进制编码:第三条微指令的二进制编码:第三条微指令的二进制编码:010 001 001 100 00000010000微程序控制器原理框图微程序控制器原理框图 微程序控制器主要由微程序控制器主要由控制存储器控制存储器、微指令寄存器微指令寄存器和和地址转地址转移逻辑移逻辑三大部分
29、组成。三大部分组成。只读存储器只读存储器 存放实现全部指令系统的微程序。存放实现全部指令系统的微程序。控存的字长控存的字长=微指令字的长度微指令字的长度 。决定将要访问的下决定将要访问的下一条微指令的地址一条微指令的地址 保存一条微指令的操作控制保存一条微指令的操作控制字段和判别测试字段的信息字段和判别测试字段的信息 存放由控制存储器读出的一条微指令信息。存放由控制存储器读出的一条微指令信息。分为微地址寄存器和微命令寄存器两部分。分为微地址寄存器和微命令寄存器两部分。通过判别测试字段通过判别测试字段P和和执行部件的执行部件的“状态条状态条件件”反馈信息,修改反馈信息,修改微地址寄存器的内容微地
30、址寄存器的内容 CPUCPU周期与微指令周期的关系周期与微指令周期的关系 微指令周期微指令周期 =读出微指令的时间读出微指令的时间 +执行该条微指令的时间执行该条微指令的时间 图图5.26 CPU周期与微指令周期的关系周期与微指令周期的关系T4T3T2T1微指令机器指令与微指令的关系机器指令与微指令的关系 (1)一条机器指令对应一个微程序,这个微程序一条机器指令对应一个微程序,这个微程序由若干条微指令序列组成。由若干条微指令序列组成。(2)从指令与微指令、程序与微程序、地址与微从指令与微指令、程序与微程序、地址与微地址的对应关系看,前者与内存有关,后者与地址的对应关系看,前者与内存有关,后者与
31、控制存储器有关。控制存储器有关。(3)每一个每一个CPU周期对应一条微指令。周期对应一条微指令。程序计数器程序计数器PC地址寄存器地址寄存器AR缓冲寄存器缓冲寄存器DR指令寄存器指令寄存器IR微地址寄存器微地址寄存器AR微指令寄存器微指令寄存器IR主存储器主存储器控制存储器控制存储器CM微命令微命令地址译码器地址译码器地址译码地址译码机器指令级机器指令级微指令级微指令级OP5.4.2 5.4.2 微程序设计技术微程序设计技术 1.微命令编码微命令编码操作控制字段采用的表示方法操作控制字段采用的表示方法 直接表示法直接表示法 编码表示法编码表示法 混合表示法混合表示法操作控制字段的每一位代表一个
32、微命令!操作控制字段的每一位代表一个微命令!优点:简单、直观、微指令执行速度快。优点:简单、直观、微指令执行速度快。缺点:控存容量需求大。缺点:控存容量需求大。n位,最多代表位,最多代表2n-1个微命令。个微命令。优点:缩短了微指令字的长度。优点:缩短了微指令字的长度。缺点:字段需译码,才得到微命令信号缺点:字段需译码,才得到微命令信号字段1字段2 P字段下地址译码译码译码微命令微命令微命令微命令P1Pn直接表示和编码表直接表示和编码表示相结合示相结合2 2 微地址的形成方法微地址的形成方法 计数器方式计数器方式 多路转移方式多路转移方式 微地址寄存器有计数器功能。微地址寄存器有计数器功能。顺
33、序执行的微指令序列必须在控制存储顺序执行的微指令序列必须在控制存储器的连续单元中。器的连续单元中。微指令的微指令的P字段中,某位为字段中,某位为1,就要修,就要修改改“下地址下地址”字段,产生正确的下地址。字段,产生正确的下地址。P字段有字段有n位,可产生位,可产生2n路转移。路转移。3 3 微指令格式微指令格式水平型微指令水平型微指令垂直型微指令垂直型微指令控制字段判别测试字段下地址字段全水平型微指令全水平型微指令字段译码法水平型微指令字段译码法水平型微指令直接和译码相混合的水平型微直接和译码相混合的水平型微指令指令一次能定义并执行多个并行操作微命令的微指令一次能定义并执行多个并行操作微命令
34、的微指令在一条微指令中只有在一条微指令中只有1-2个微操作命令,每条微指令功能简单个微操作命令,每条微指令功能简单类似机器指令的格式,例类似机器指令的格式,例RRRR传送型微指令:传送型微指令:只包含只包含1 1个简单操作个简单操作或建立或建立1 1条数据通路条数据通路。微操作码微操作码经经译码译码,得到微命令。,得到微命令。000源寄存器编址源寄存器编址目标寄存器编址目标寄存器编址其他其他15131287320水平型和垂直型微指令的比较 水平型微指令的水平型微指令的并行并行操作能力强、效率高、灵活操作能力强、效率高、灵活性强。性强。水平性微指令水平性微指令解释机器指令的解释机器指令的速度快。
35、速度快。水平型微指令字长,微程序水平型微指令字长,微程序短短。水平型微指令与机器指令的格式差别大,必须深水平型微指令与机器指令的格式差别大,必须深刻理解机器硬件实现,才能编出高效的微程序。刻理解机器硬件实现,才能编出高效的微程序。垂直型微指令的特点与水平型相反!垂直型微指令的特点与水平型相反!5.5.4 动态微程序设计 用用可擦除可擦除ROM做控存,微程序可修改。做控存,微程序可修改。实现实现不同的不同的指令集!指令集!这叫这叫“仿真仿真”另一台计算机的指令系统。另一台计算机的指令系统。如果两台计算机的指令系统差别很大,如果两台计算机的指令系统差别很大,“仿真仿真”并不总能行得通!并不总能行得
36、通!微程序控制器微程序控制器 利用利用软件方法软件方法(微程序设计技术微程序设计技术)来设计硬件)来设计硬件 微程序控制的微程序控制的基本思想基本思想:把操作控制信号编成把操作控制信号编成“微指令微指令”,存放到控,存放到控制存储器制存储器CM中。中。当机器运行时,逐条读出微指令,产生全机当机器运行时,逐条读出微指令,产生全机所需要的各种操作控制信号,启停相应部件。所需要的各种操作控制信号,启停相应部件。5.6 硬布线控制器 电子计算机诞生后,控制器采用电子计算机诞生后,控制器采用硬布线硬布线实现。实现。基本思想:基本思想:某一微操作控制信号是指令操作码译某一微操作控制信号是指令操作码译码输出
37、、时序信号和状态条件信号的逻辑函数,码输出、时序信号和状态条件信号的逻辑函数,即用布尔代数写出即用布尔代数写出逻辑表达式逻辑表达式,然后用,然后用门电路和门电路和触发器触发器等器件实现。等器件实现。非常复杂!非常复杂!增加一条指令,需要重新设计整个硬布线逻辑电增加一条指令,需要重新设计整个硬布线逻辑电路。路。硬布线控制器的结构方框图硬布线控制器的结构方框图C=f(Im,Mi,Tk,Bj)immjkinIBTMC)(硬布线,需要很硬布线,需要很强的数理逻辑电强的数理逻辑电路设计技术!路设计技术!图5.31 硬布线控制器结构方框图逻辑网络的输入信号来源有三个:逻辑网络的输入信号来源有三个:(1)来
38、自指令操码译码器的输出来自指令操码译码器的输出Im;(2)来自执行部件的反馈信息来自执行部件的反馈信息Bj;(3)来自时序产生器的时序信号,包括来自时序产生器的时序信号,包括节拍电位信号节拍电位信号M和节拍脉冲信号和节拍脉冲信号T。5.7 流水CPU 5.7.1 并行处理技术并行处理技术 5.7.2 流水流水CPU的结构的结构 5.7.3 流水线中的主要问题流水线中的主要问题 5.7.4 奔腾奔腾CPU并行性的两种含义 同时性同时性 两个或多个事件同时发生。两个或多个事件同时发生。并发性并发性 两个或多个事件在两个或多个事件在同一时段内同一时段内先后先后发生。发生。事件事件1 1事件事件2 2
39、事件事件1 1事件事件2 2t并行处理的三种形式 时间并行时间并行 空间并行空间并行 时间并行时间并行+空间并行空间并行流水流水CPUCPU是以时间并行性为原理构造的处理器是以时间并行性为原理构造的处理器流水计算机的系统组成多体交叉存储器多体交叉存储器cache指令部件指令部件(指令指令I+k+1)(指令指令I+k)(指令指令I+2)(指令指令I+1)执行部件执行部件(指令指令I)存储系统存储系统流水流水CPUCPU取指令取指令指令译码指令译码计算操作数地址计算操作数地址取操作数取操作数FIFO指令队列指令队列运算流水线运算流水线用流水线实现用流水线实现用流水线实现用流水线实现流水线的表示法连
40、接图 用方框表示过程段,箭头表示段间数据传送。用方框表示过程段,箭头表示段间数据传送。以指令流水线为例,以指令流水线为例,段间有缓冲寄存器,暂存前一段的结果;段间有缓冲寄存器,暂存前一段的结果;一个流水线由一系列串联的过程段组成。一个流水线由一系列串联的过程段组成。S2S3S4S1IFIDEXWB入入出出非流水的指令流水线8 8时钟后,完成时钟后,完成2 2条指令。条指令。I1I2I1I2I1I2I1I2空间空间IFIFIDIDEXEXWBWB时间时间12345678时空图时空图横轴表示时间,纵轴表示空间。横轴表示时间,纵轴表示空间。标量流水线标量流水线 假设连续假设连续5条指令进入流水线条指
41、令进入流水线I1I2I3I4I5I1I2I3I4I5I1I2I3I4I5I1I2I3I4I5空间空间IFIFIDIDEXEXWBWB时间时间123456788 8时钟后,完成时钟后,完成5 5条指令。条指令。装满时间装满时间排空时间排空时间S2S3S4S1IFIDEXWB入入出出什么是超标量流水处理器 标量指标量指单个单个量;量;向量指向量指一组一组标量;标量;只有一套指令流水线的只有一套指令流水线的CPUCPU称为标量流水称为标量流水CPUCPU;有多套指令流水线的有多套指令流水线的CPUCPU称为称为超超标量流水标量流水CPUCPU。超标量流水计算机是时间并行与空间并行的结合。超标量流水计
42、算机是时间并行与空间并行的结合。超标量流水线CPU装满后,每个时钟完成装满后,每个时钟完成2 2条指令。条指令。I2I4I6I8I10空间空间IF1IF1时间时间12345678I1I3I5I7I9IF2IF2I2I4I6I8I10I1I3I5I7I9I2I4I6I8I10I1I3I5I7I9I2I4I6I8I10I1I3I5I7I9ID1ID1ID2ID2EX1EX1EX2EX2WB1WB1WB2WB2play不同层次的流水线算术流水线算术流水线流水加法器、流水乘法器、流水浮点加法器。流水加法器、流水乘法器、流水浮点加法器。指令流水线指令流水线包括包括“取指取指”、“译码译码”、“取操作数取
43、操作数”、“执行执行”、“写回写回”等过程段。等过程段。处理机流水线处理机流水线(宏流水线宏流水线)出出入入CPU1CPU2CPUm程序程序1程序程序2程序程序m5.8.3 流水线中的主要问题 流水过程中通常会出现以下三种相关冲突,使流水线断流。流水过程中通常会出现以下三种相关冲突,使流水线断流。资源相关资源相关 数据相关数据相关 控制相关控制相关 多条指令在同一多条指令在同一CPU周期内争用同一个功能部件周期内争用同一个功能部件等待等待前面指令完成前面指令完成操作数操作数的的读或写读或写。由转移指令引起由转移指令引起 资源相关 多条指令在同一多条指令在同一CPUCPU周期内争用同一个段。周期
44、内争用同一个段。时钟时钟12345678I1IFIDEXMEMWBI2IFIDEXMEMWBI3IFIDEXMEMWBI4IFIDEXMEMWBI5IFIDEXMEMI1和和I4同时访存同时访存数据相关等待等待前面指令完成前面指令完成操作数操作数的的读或写读或写。ADDR1,R2,R3;(R2)(R3)R1 SUBR4,R1,R5;(R1)(R5)R4 ANDR6,R1,R7;(R1)(R7)R6时钟时钟12345678ADDIFIDEXMEMWBSUBIFIDEXMEMWBANDIFIDEXMEMWBT3读读R1T4读读R1T5写写R1 写写R1之前,之前,读读R1,错!,错!写写R1之前,
45、之前,读读R1,错,错!例例4(1):判断下面两条指令中的数据相关类型。:判断下面两条指令中的数据相关类型。ADDR1,R2,R3;(R2)(R3)R1 SUBR4,R1,R5;(R1)(R5)R4正确:正确:写写R1,然后,然后读读R1。实际:实际:读读R1,然后,然后写写R1。这是这是写后读写后读(RAW)相关。相关。时钟时钟T5T5,写,写时钟时钟T3T3,读,读例例4(2):判断下面两条指令中的数据相关类型。:判断下面两条指令中的数据相关类型。STAM(x),R3;(R3)M(x)ADDR3,R4,R5;(R4)(R5)R3正确:正确:读读R3,然后,然后写写R3。实际:实际:写写R3
46、,然后,然后读读R3。这是这是读后写读后写(WAR)相关。相关。时钟时钟T5T5,写,写时钟时钟T3T3,读,读例例4(3):判断下面两条指令中的数据相关类型。:判断下面两条指令中的数据相关类型。MULR3,R1,R2;(R1)(R2)R3 ADDR3,R4,R5;(R4)(R5)R3正确:正确:写写R3,然后,然后写写R3。实际:实际:写写R3,然后,然后写写R3。这是这是写后写写后写(WAW)相关。相关。乘法时间远比加乘法时间远比加法时间长!法时间长!控制相关 紧跟转移指令的后续指令要不要执行?紧跟转移指令的后续指令要不要执行?确定确定要转移时,要转移时,后面的后面的一或多条指令已进一或多
47、条指令已进入流水线;入流水线;若流水线为若流水线为k段,转移指令与后面的段,转移指令与后面的k-1条条指令发生控制相关。指令发生控制相关。延迟转移法 如果转移指令之后的指令最终要执行,而且它们如果转移指令之后的指令最终要执行,而且它们与转移指令的结果无关,则允许它们继续前进。与转移指令的结果无关,则允许它们继续前进。转移指令转移指令S1S2S3S4S5S6S7S8输入输入输出输出b5b4b3b2b1bb1b2转移的目标指令在转移的目标指令在b+5后送流水线后送流水线延迟:不是时间延迟,而是指指令延迟:不是时间延迟,而是指指令执行顺序上目标指令被推延了。执行顺序上目标指令被推延了。转移预测法 设
48、置两个指令队列设置两个指令队列(指令指令cache)。一个是转移不成功时顺序预取指令的队列;一个是转移不成功时顺序预取指令的队列;一个是转移成功时从目标地址预取指令的队列。一个是转移成功时从目标地址预取指令的队列。当能确定转移方向时,直接从相应队列中当能确定转移方向时,直接从相应队列中取指令。取指令。从从L开始取指令开始取指令到到AIB,等待,等待ALU送送CC判判CCAIBIBL:L+1:k:k+1:成功成功IBM370/165中的双指令队列中的双指令队列5.8RISCCPU 第一台第一台RISC计算机于计算机于1981年在美国加州大学伯年在美国加州大学伯克利分校问世。克利分校问世。RISC
49、机器的三个基本要素是:机器的三个基本要素是:一个有限的简单指令集;一个有限的简单指令集;CPU配备大量的通用寄存器;配备大量的通用寄存器;强调指令流水线的优化。强调指令流水线的优化。RISC的目标不是简单的缩减指令系统,而是使的目标不是简单的缩减指令系统,而是使处理器的结构更简单、更合理、具有更高的性处理器的结构更简单、更合理、具有更高的性能和执行效率,并降低处理器的开发成本。能和执行效率,并降低处理器的开发成本。RISC机器的特点 使用等长指令。使用等长指令。寻址方式少且简单,一般为寻址方式少且简单,一般为23种,绝不出现存储器间种,绝不出现存储器间接寻址方式。接寻址方式。只有取数、存数指令
50、访问存储器。指令中最多出现只有取数、存数指令访问存储器。指令中最多出现RS型指令,绝不出现型指令,绝不出现SS型指令。型指令。指令集中的指令数目一般少于指令集中的指令数目一般少于100种,指令格式一般少种,指令格式一般少于于4种。种。指令功能简单,控制器多采用硬布线控制器。指令功能简单,控制器多采用硬布线控制器。平均而言,所有指令的执行时间为一个时钟周期。平均而言,所有指令的执行时间为一个时钟周期。CPU中的寄存器数较多。中的寄存器数较多。支持指令流水并强调指令流水的优化使用。支持指令流水并强调指令流水的优化使用。本章小结本章小结 CPU是计算机的中央处理部件,具有指令控制、操作控制、时间控制