《计算机组成原理——第五章.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理——第五章.ppt(177页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机组成原理计算机组成原理第5章 中央处理器 5.1 5.1 CPUCPU的组成和功能的组成和功能5.5.8 8 流水流水CPUCPU5.25.2 指令周期指令周期5.9 5.9 RISC CPURISC CPU5.3 5.3 时序产生器和控制方式时序产生器和控制方式5.5.10 10 多媒体多媒体CPUCPU5 5.4.4 微程序控制器微程序控制器5 5.1.11 CPU1 CPU性能评价性能评价5.5 5.5 微程序设计技术微程序设计技术5.6 5.6 硬布线控制器硬布线控制器5.75.7 传统传统CPUCPU5.1CPU的功能和组成的功能和组成 当当代代主主流流计计算算机机所所遵遵循循
2、的的仍仍然然是是冯冯.诺诺依依曼曼的的“存储程序、程序控制存储程序、程序控制”思想思想 程程序序告告诉诉计计算算机机:应应该该逐逐步步执执行行什什么么操操作作;在什么地方找到用来操作的数据,结果存到何处在什么地方找到用来操作的数据,结果存到何处等等 中中央央处处理理器器是是控控制制计计算算机机自自动动完完成成取取出出指指令令和和执执行行指指令令任任务务的的部部件件。它它是是计计算算机机的的核核心心部部件件,通通常简称为常简称为CPU(CentralProcessingUnit)一、一、CPU的功能的功能 指令控制指令控制 保证机器按程序规定的顺序取出执行保证机器按程序规定的顺序取出执行 操作控
3、制操作控制 CPUCPU产产生生每每条条指指令令所所对对应应的的操操作作信信号号,并并把把各各种种操操作作信信号号送送往往相相应应的的部部件件,从从而而控控制制这这些些部部件件按按指指令令的的要求进行动作要求进行动作 时间控制时间控制 对各种操作的实施时间进行定时对各种操作的实施时间进行定时 数据加工数据加工 对数据进行算术运算和逻辑运算处理对数据进行算术运算和逻辑运算处理5.1CPU的功能和组成的功能和组成PCIRACCU时钟时钟ALU M D R M A R控制信号控制信号标志标志控制控制信号信号C0C1C2C3C4取指周期取指周期 ADD X M D RPC M A RIRCUPCIRA
4、CCU时钟时钟ALU M D R M A R控制信号控制信号标志标志控制控制信号信号C1C2C3ADD X 间址周期间址周期 M A R M D RIRPCC0PCIRACCU时钟时钟ALU M D R M A R控制信号控制信号标志标志控制控制信号信号C1C2C5ADD X 执行周期执行周期C7C6C8 M A RACALU M D R M D R控制控制信号信号ACSDOUT地址有效地址有效地址失效地址失效片选失效片选失效数据有效数据有效数据稳定数据稳定高阻高阻静态静态 RAM 读读 时序时序 tAtCOtOHAtOTDtRC片选有效片选有效二、二、CPU的基本组成的基本组成 控制器控制器
5、:完成对整个计算机系统操作的完成对整个计算机系统操作的协调与指挥协调与指挥。(1)(1)控控制制机机器器从从内内存存中中取取出出一一条条指指令令,并并指指出出下下一一条指令在内存中的位置;条指令在内存中的位置;(2)(2)对对指指令令进进行行译译码码,并并产产生生相相应应的的操操作作控控制制信信号号,送往相应的部件,启动规定的动作;送往相应的部件,启动规定的动作;(3)(3)指指挥挥并并控控制制CPUCPU、内内存存与与输输入入/输输出出(I/OI/O)设设备备之间数据之间数据流动的方向流动的方向。5.1CPU的功能和组成的功能和组成二、二、CPU的基本组成的基本组成5.1CPU的功能和组成的
6、功能和组成 控制器控制器:完成对整个计算机系统操作的完成对整个计算机系统操作的协调与指挥协调与指挥。u取指令取指令u分析指令分析指令u执行指令,发出各种操作命令执行指令,发出各种操作命令u控制程序输入及结果的输出控制程序输入及结果的输出u总线管理总线管理u处理异常情况和特殊请求处理异常情况和特殊请求 运运算算器器:数数据据加加工工处处理理部部件件,所所进进行行的的全全部部操操作作由控制器发出的控制信号指挥由控制器发出的控制信号指挥 (1)(1)执行所有的算术运算;执行所有的算术运算;(2)(2)执行所有的逻辑运算,并进行逻辑测试执行所有的逻辑运算,并进行逻辑测试二、二、CPU的基本组成的基本组
7、成5.1CPU的功能和组成的功能和组成算术逻辑单元算术逻辑单元状态条件寄存器状态条件寄存器程序计数器程序计数器PC地址寄存器地址寄存器AR地址总线地址总线ABUS数据总线数据总线DBUS累加器累加器AC存储器存储器 I/OCPUALU指令寄存器指令寄存器IR指令译码器指令译码器操作控制器操作控制器时序产生器时序产生器时钟时钟状态状态反馈反馈取取指指控制控制执行执行控制控制ccccc缓冲寄存器缓冲寄存器DRCPUCPU的基本模型的基本模型 即即指指令令地地址址寄寄存存器器。存存放放当当前前正正在在执执行行的的指指令令地地址址或或下下一一条指令地址。条指令地址。指指 令令 地地 址址 形形 成成:
8、(PC)+(PC)+1 1-PCPC。或或:转移指令修改其内转移指令修改其内容容用以存放当前正用以存放当前正在执行的指令在执行的指令对指令寄存器中对指令寄存器中的操作码进行分的操作码进行分析解释,产生相析解释,产生相应的控制信号。应的控制信号。脉冲源产生一定频率的脉冲信号作脉冲源产生一定频率的脉冲信号作为整个机器的时钟脉冲,是机器周为整个机器的时钟脉冲,是机器周期和工作脉冲的基准信号。期和工作脉冲的基准信号。根据当前正在执行的指令的需根据当前正在执行的指令的需要,产生相应的时序控制信号要,产生相应的时序控制信号三、三、CPUCPU中的主要寄存器中的主要寄存器 1.1.数据缓冲寄存器(数据缓冲寄
9、存器(DRDR)暂时存放由内存读出或写入的指令或数据字暂时存放由内存读出或写入的指令或数据字2.2.指令寄存器(指令寄存器(IRIR)保存当前正在执行的一条指令保存当前正在执行的一条指令3.3.程序计数器(程序计数器(PCPC)确定下一条指令的地址确定下一条指令的地址4.4.地址寄存器(地址寄存器(ARAR)保存当前保存当前CPUCPU所访问的内存单元的地址所访问的内存单元的地址5.5.累加寄存器(累加寄存器(ACAC)最常使用的最常使用的一个通用寄存器一个通用寄存器6.6.状态条件寄存器(状态条件寄存器(PSWPSW)保存由算术和逻辑指令的结果建立的各种条件码保存由算术和逻辑指令的结果建立的
10、各种条件码5.1CPU的功能和组成的功能和组成四、操作控制器与时序产生器四、操作控制器与时序产生器 操操作作控控制制器器在在各各寄寄存存器器之之间间建建立立数数据据通通路路(传传送送信息的通路)信息的通路)功功能能:就就是是根根据据指指令令操操作作码码和和时时序序信信号号,产产生生各各种种操操作作控控制制信信号号,以以便便正正确确地地建建立立数数据据通通路路,从而完成取指令和执行指令的控制从而完成取指令和执行指令的控制1.硬布线控制器硬布线控制器2.微程序控制器微程序控制器时时序序产产生生器器产产生生并并发发出出计计算算机机所所需需要要的的时时序序控控制制信号信号5.1CPU的功能和组成的功能
11、和组成5.2指令周期指令周期读取指令读取指令指令地址送入主存地址寄存器指令地址送入主存地址寄存器读主存,读出内容送入指定的寄存器读主存,读出内容送入指定的寄存器分析指令分析指令按指令规定内容执行指令按指令规定内容执行指令不同指令的操作步骤数不同指令的操作步骤数和具体操作内容差异很大和具体操作内容差异很大检查有无中断请求检查有无中断请求若无,则转入下一条指令的执行过程若无,则转入下一条指令的执行过程形形成成下下一一条条指指令令地地址址 指令的执行过程指令的执行过程取指令执行指令一、指令周期的基本概念一、指令周期的基本概念 指指令令周周期期:CPUCPU从从内内存存取取出出一一条条指指令令并并执执
12、行行完这条指令的时间总和完这条指令的时间总和 CPUCPU周周期期:又又称称机机器器周周期期(总总线线周周期期),CPUCPU访访问问内内存存所所花花的的时时间间较较长长,因因此此用用CPUCPU从从内内存存读读取取一一条条指指令字的所需的最短时间来定义令字的所需的最短时间来定义 时时钟钟周周期期:通通常常称称为为节节拍拍脉脉冲冲或或T T周周期期。一一个个CPUCPU周期包含若干个时钟周期周期包含若干个时钟周期T T 相互关系相互关系:1 1个指令周期个指令周期 =若干个若干个CPUCPU周期周期 1 1个个CPUCPU周期周期 =若干若干T T周期周期 取指时间执行指令时间取指时间执行指令
13、时间指令周期指令周期 CPU CPU周期周期 时钟周期时钟周期020 020 CLACLA;累加器清;累加器清0 0021 021 ADD 30ADD 30;(ACAC)+(3030)ACAC022 022 STA 40STA 40;(ACAC)(40)(40)023 023 NOPNOP;空操作空操作024 024 JMP 21JMP 21;21 21 PC PC 030 000 006030 000 006;数据数据 040 040 存和数存和数;数据数据5 5条典型指令构成的简单程序条典型指令构成的简单程序二、指令的执行过程二、指令的执行过程 一个一个CPU周期周期一个一个CPU周期周期
14、取取指令阶段指令阶段执行指令阶段执行指令阶段开始开始取取指令指令PC+1对指令对指令译码译码执行指令执行指令取下条指取下条指令令PC+11、CLA指令的指令周期指令的指令周期取出取出CLA指令指令算术逻辑单元算术逻辑单元状态条件寄存器状态条件寄存器程序计数器程序计数器PC地址寄存器地址寄存器AR地址总线地址总线ABUS数据总线数据总线DBUS累加器累加器AC缓冲寄存器缓冲寄存器DRCPUALU指令寄存器指令寄存器IR指令译码器指令译码器操作控制器操作控制器时序产生器时序产生器时钟时钟状态状态反馈反馈取取指指控制控制执行执行控制控制cccc+1000 0202021222324303140CLA
15、ADD 30STA 40NOPJMP 21000 006000 020CLACLA000 021算术逻辑单元算术逻辑单元状态条件寄存器状态条件寄存器程序计数器程序计数器PC地址寄存器地址寄存器AR地址总线地址总线ABUS数据总线数据总线DBUS累加器累加器AC缓冲寄存器缓冲寄存器DRCPUALU指令寄存器指令寄存器IR指令译码器指令译码器操作控制器操作控制器时序产生器时序产生器时钟时钟状态状态反馈反馈取取指指控制控制执行执行控制控制cccc+12021222324303140CLAADD 30STA 40NOPJMP 21000 006000 020CLACLA000 021000 000执行
16、执行CLA指令指令2、ADD指令的指令周期 一个CPU周期 一个CPU周期取取指令阶段指令阶段执行指令阶段执行指令阶段开始开始取取指令指令PC+1对指令对指令译码译码送送操作操作数地址数地址取下条指取下条指令令PC+1取出操取出操作数作数执行加执行加操作操作一个CPU周期算术逻辑单元算术逻辑单元状态条件寄存器状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器指令译码器操作控制器操作控制器时序产生器时序产生器时钟状态反馈取指控制执行控制cccc+12021222324303140CLAADD 30STA 40NO
17、PJMP 21000 006000 021ADDADD 30000 021000 022000 030000 0060+6=6000 006取出并执行取出并执行ADD指令指令3、STA指令的指令周期指令的指令周期算术逻辑单元算术逻辑单元状态条件寄存器状态条件寄存器程序计数器程序计数器PC地址寄存器地址寄存器AR地址总线地址总线ABUS数据总线数据总线DBUS累加器累加器AC缓冲寄存器缓冲寄存器DRCPUALU指令寄存指令寄存器器IR指令译码器指令译码器操作控制器操作控制器时序产生器时序产生器时钟时钟状态状态反馈反馈取取指指控制控制执行执行控制控制cccc+120212223243040CLAA
18、DD 30STA 40NOPJMP 21000 006000 022STASTA 40000 022000 023000 040000 006000 006000 006取出并执行取出并执行STA指令指令4、NOP指令和指令和JMP指令的指令周期指令的指令周期算术逻辑单元算术逻辑单元状态条件寄存器状态条件寄存器程序计数器程序计数器PC地址寄存器地址寄存器AR地址总线地址总线ABUS数据总线数据总线DBUS累加器累加器AC缓冲寄存器缓冲寄存器DRALU指令寄存器指令寄存器IR指令译码器指令译码器操作控制器操作控制器时序产生器时序产生器时钟时钟状态状态反馈反馈取取指指控制控制执行执行控制控制ccc
19、c+120212223243040CLAADD 30STA 40NOPJMP 21000 006000 024JMP 21JMP 21000 024000 021000 006000 006000 025000 021取出并执行取出并执行JMP指令指令公操作:一条指公操作:一条指令执行完毕。令执行完毕。公操作公操作例:如图所示为双总线结构机器的数据通路图例:如图所示为双总线结构机器的数据通路图IRPCARMDRR0R1R2R3XYALUGA总线总线B总线总线IRIRi iIRIRo oPCPCi iPCPCo oARARi iR/WR/WDRDRi iDRDRo oR0R0i iR0R0o o
20、R3R3i iR3R3o oX Xi iY Yi iG GADDR2,R0;(;(R0)()(R2)R0要求:(要求:(1)画出指令周期流程图,设该指令的地址已画出指令周期流程图,设该指令的地址已放入放入PC中。中。(2)列出相应的微操作控制信号序列。)列出相应的微操作控制信号序列。ADDR2,R0;(;(R0)()(R2)R0PCARMDRDRIRR2YR0XXYR0IRPCARMDRR0R1R2R3XYALUGA总线总线B总线总线IRIRi iIRIRo oPCPCi iPCPCo oARARi iR/WR/WDRDRi iDRDRo oR0R0i iR0R0o oR3R3i iR3R3o
21、 oX Xi iY Yi iG GPCARMDRDRIRR2YR0XXYR0IRPCARMDRR0R1R2R3XYALUGA总线总线B总线总线IRIRi iIRIRo oPCPCi iPCPCo oARARi iR/WR/WDRDRi iDRDRo oR0R0i iR0R0o oR3R3i iR3R3o oX Xi iY Yi iG GPCARMDRDRIRR2YR0XXYR0IRPCARMDRR0R1R2R3XYALUGA总线总线B总线总线IRIRi iIRIRo oPCPCi iPCPCo oARARi iR/WR/WDRDRi iDRDRo oR0R0i iR0R0o oR3R3i iR
22、3R3o oX Xi iY Yi iG GIRPCARMDRR0R1R2R3XYALUGA总线总线B总线总线IRIRi iIRIRo oPCPCi iPCPCo oARARi iR/WR/WDRDRi iDRDRo oR0R0i iR0R0o oR3R3i iR3R3o oX Xi iY Yi iG GPCARMDRDRIRR2YR0XXYR0IRPCARMDRR0R1R2R3XYALUGA总线总线B总线总线IRIRi iIRIRo oPCPCi iPCPCo oARARi iR/WR/WDRDRi iDRDRo oR0R0i iR0R0o oR3R3i iR3R3o oX Xi iY Yi
23、iG GIRPCARMDRR0R1R2R3XYALUGA总线总线B总线总线IRIRi iIRIRo oPCPCi iPCPCo oARARi iR/WR/WDRDRi iDRDRo oR0R0i iR0R0o oR3R3i iR3R3o oX Xi iY Yi iG GPCARMDRDRIRR2YR0XXYR0IRPCARMDRR0R1R2R3XYALUGA总线总线B总线总线IRIRi iIRIRo oPCPCi iPCPCo oARARi iR/WR/WDRDRi iDRDRo oR0R0i iR0R0o oR3R3i iR3R3o oX Xi iY Yi iG GIRPCARMDRR0R1
24、R2R3XYALUGA总线总线B总线总线IRIRi iIRIRo oPCPCi iPCPCo oARARi iR/WR/WDRDRi iDRDRo oR0R0i iR0R0o oR3R3i iR3R3o oX Xi iY Yi iG GPCARMDRDRIRR2YR0XXYR0IRPCARMDRR0R1R2R3XYALUGA总线总线B总线总线IRIRi iIRIRo oPCPCi iPCPCo oARARi iR/WR/WDRDRi iDRDRo oR0R0i iR0R0o oR3R3i iR3R3o oX Xi iY Yi iG GIRPCARMDRR0R1R2R3XYALUGA总线总线B总
25、线总线IRIRi iIRIRo oPCPCi iPCPCo oARARi iR/WR/WDRDRi iDRDRo oR0R0i iR0R0o oR3R3i iR3R3o oX Xi iY Yi iG GPCARMDRDRIRR2YR0XXYR0IRPCARMDRR0R1R2R3XYALUGA总线总线B总线总线IRIRi iIRIRo oPCPCi iPCPCo oARARi iR/WR/WDRDRi iDRDRo oR0R0i iR0R0o oR3R3i iR3R3o oX Xi iY Yi iG GIRPCARMDRR0R1R2R3XYALUGA总线总线B总线总线IRIRi iIRIRo o
26、PCPCi iPCPCo oARARi iR/WR/WDRDRi iDRDRo oR0R0i iR0R0o oR3R3i iR3R3o oX Xi iY Yi iG GPCARMDRDRIRR2YR0XXYR05、工作原理工作原理例:例:CPUCPU结构如图所示,其中包括一个累加寄存器结构如图所示,其中包括一个累加寄存器ACAC、一个状、一个状态寄存器和其他四个寄存器,各部分之间的连线表示数据通态寄存器和其他四个寄存器,各部分之间的连线表示数据通路,箭头表示信息传送方向。路,箭头表示信息传送方向。标明图中四个寄存器的名标明图中四个寄存器的名称。称。简述取指令的数据通路。简述取指令的数据通路。简
27、述完成指令简述完成指令LDA XLDA X的数的数据通路据通路(X(X为内存地址,为内存地址,LDALDA功能为功能为(X)(X)(AC)(AC)。简述完成指令简述完成指令ADD YADD Y的数的数据通路据通路(Y(Y为内存地址,为内存地址,ADDADD功能为功能为(AC)(AC)(Y)(Y)(AC)(AC)。简述完成指令简述完成指令STA ZSTA Z的数的数据通路据通路(Z(Z为内存地址,为内存地址,STASTA功能为功能为(AC)(AC)(Z)(Z)。MDRMARPCIRMDRMARPCIR5.3时序产生器和控制方式时序产生器和控制方式 用用二二进进制制码码表表示示的的指指令令和和数数
28、据据都都放放在在内内存存里里,那那么么CPU是怎样识别出它们是数据还是指令呢是怎样识别出它们是数据还是指令呢?从时间上来说从时间上来说:取指令事件发生在指令周期的第一取指令事件发生在指令周期的第一个个CPU周期中,即发生在周期中,即发生在“取指令取指令”阶段,而取数据阶段,而取数据事件发生在指令周期的后面几个事件发生在指令周期的后面几个CPU周期中,即发生周期中,即发生在在“执行指令执行指令”阶段。阶段。从空间上来说从空间上来说:如果取出的代码是指令,那么一定如果取出的代码是指令,那么一定经经DR送往指令寄存器送往指令寄存器IR,如果取出的代码是数据,那如果取出的代码是数据,那么一定送往么一定
29、送往运算器运算器。时间控制对计算机来说是非常重要的!时间控制对计算机来说是非常重要的!一、时序信号的作用和体制一、时序信号的作用和体制 计计算算机机的的协协调调动动作作需需要要时时间间标标志志,而而且且需需要要采采用用多多级时序体制。而时间标志则用级时序体制。而时间标志则用时序信号时序信号来体现。来体现。硬硬布布线线控控制制器器中中,时时序序信信号号往往往往采采用用主主状状态态周周期期-节节拍电位拍电位-节拍脉冲节拍脉冲三级体制。三级体制。主主状状态态周周期期(指指令令周周期期):包包含含若若干干个个节节拍拍周周期期,可可以用一个触发器的状态持续时间来表示以用一个触发器的状态持续时间来表示节节
30、拍拍电电位位(机机器器周周期期):表表示示一一个个CPU周周期期的的时时间间,包含若干个节拍脉冲包含若干个节拍脉冲节拍脉冲(时钟周期):节拍脉冲(时钟周期):表示较小的时间单位表示较小的时间单位 微微程程序序控控制制器器中中,时时序序信信号号则则一一般般采采用用节节拍拍电电位位-节节拍脉冲拍脉冲二级体制。二级体制。节拍脉冲节拍电位1主状态周期主状态周期节拍电位2主状态周期主状态周期-节拍电位节拍电位-节拍脉冲节拍脉冲数据准备好后,以电位的方式送触发器数据准备好后,以电位的方式送触发器控制信号来到后,用一个脉冲信号把数据装入触发器控制信号来到后,用一个脉冲信号把数据装入触发器数据:电位数据:电位
31、控制信号:脉冲控制信号:脉冲节拍电位节拍电位-节拍脉冲节拍脉冲 IORQ MREQ RD WE T1 T2 T3 T4 IORQ MREQ RD WE T1 T2 T3 T4MERQIORQRDWR提提供供频频率率稳稳定定且且电电平平匹匹配配的方波时钟脉冲信号的方波时钟脉冲信号由石英晶体振荡器组成由石英晶体振荡器组成产产生生一一组组有有序序的的间间隔隔相相等或不等的脉冲序列等或不等的脉冲序列启动停机二、时序信号产生器 启停控制逻辑启停控制逻辑节拍脉冲和读写时序译码逻辑节拍脉冲和读写时序译码逻辑环形脉冲发生器环形脉冲发生器时钟脉冲源时钟脉冲源三、控制方式 控制不同操作序列时序信号的方法控制不同操
32、作序列时序信号的方法1.1.同步控制方式同步控制方式已定的指令在执行时所需的已定的指令在执行时所需的CPU周期(机器周期)周期(机器周期)数和时钟周期数都固定不变。例如采用完全统一的机数和时钟周期数都固定不变。例如采用完全统一的机器周期执行各种不同的指令器周期执行各种不同的指令2.2.异步控制方式异步控制方式控控制制器器发发出出某某一一操操作作控控制制信信号号后后,等等待待执执行行部部件件完完成操作后发成操作后发“回答回答”信号,再开始新的操作信号,再开始新的操作3.3.联合控制方式联合控制方式同步控制和异步控制相结合的方式同步控制和异步控制相结合的方式CPU周期周期取指周期取指周期CPU周期
33、周期取源数取源数CPU周期周期取目标数取目标数CPU周期周期执行周期执行周期P0P1P2W0W1完全同步控制方式W0W1Wi第第N条指令条指令结束应答结束应答W0W1Wj第第N+1条指令条指令结束应答结束应答启动启动下一条下一条W0W1Wk第第N+2条指令条指令结束应答结束应答异步控制方式启动启动下一条下一条i、j、k不一定相等不一定相等一一般般采采用用两两条条定定时时控控制制线线:“请请求求”线线和和“回回答答”线线演示演示 控制器的功能就是按控制器的功能就是按每条指令的要求产每条指令的要求产生所需的控制信号生所需的控制信号。因此在设计控制器时要。因此在设计控制器时要求系统设计师提供一个完整
34、的无二义性的指求系统设计师提供一个完整的无二义性的指令系统说明书。令系统说明书。产生控制信号一般有微程序控制和硬布产生控制信号一般有微程序控制和硬布线控制两种方法。线控制两种方法。5.4微程序控制器的基本工作原理微程序控制器的基本工作原理PCIRACCU时钟时钟ALU M D R M A R控制信号控制信号标志标志控制控制信号信号C0C1C2C3C4取指周期取指周期以以 ADD X 为例为例 M D RPC M A RIRCU1.不采用不采用 CPU 内部总线的方式内部总线的方式5.4微程序控制器的基本工作原理微程序控制器的基本工作原理一一、控控制制信信号号举举例例一、控制信号举例一、控制信号
35、举例1.不采用不采用 CPU 内部总线的方式内部总线的方式PCIRACCU时钟时钟ALU M D R M A R控制信号控制信号标志标志控制控制信号信号C1C2C3C5ADD X 间址周期间址周期 M D R M A R M D RIRPCIRACCU时钟时钟ALU M D R M A R控制信号控制信号标志标志控制控制信号信号一、控制信号举例一、控制信号举例1.不采用不采用 CPU 内部总线的方式内部总线的方式C1C2C5ADD X 执行周期执行周期C7C6C8 M A RACALU M D R M D R控制控制信号信号MDRMDRCU(1)ADD X 取指周期取指周期 PC CU 发读命
36、令发读命令 1 R MDR OP(IR)(PC)+1 PCIRPCMARAC YALUZ控制信号控制信号IRiIRiPCOPCOMARiMARiMDROMDRO 数据线数据线数据线数据线控制信号控制信号CPU 内内 部部 总总 线线时钟时钟2.采用采用 CPU 内部总线方式内部总线方式地址线地址线地址线地址线MARMDRIRCUIRPCPCMDRMARCUIR(2)ADD X 间址周期间址周期 MDR 1 R MDR有效地址有效地址 Ad(IR)MDROMDRO 数据线数据线数据线数据线时钟时钟CUIRPCMARMDRACYALUZ控制信号控制信号控制信号控制信号CPU 内内 部部 总总 线线
37、MDRIRMARi MARi地址线地址线地址线地址线MARIRiIRiMARMDRIRMDRMDRMDROMDROMDROMDROMDRO形式地址形式地址 MAR 时钟时钟CUIRPCMARMDRACYALUZ控制信号控制信号CPU 内内 部部 总总 线线MDROMDRO(3)ADD X 执行周期执行周期 1 R MDR Z AC(AC)+(Y)MDR控制信号控制信号MARMDR地址线地址线 地址线地址线 数据线数据线数据线数据线MARMDRYMDRMDRMDROMDROMDROMDROMDROMDROMDROYiYi YALUACACOACO ALUiALUiALUALUACZZZZOZO
38、ACiACiACACACACMARi MARiALUAC一、控制信号举例一、控制信号举例例:一条加法指令例:一条加法指令的的执行过程执行过程。rsrs,rdrd,rsrs1 1为通用寄存器地址;为通用寄存器地址;immimm(或或dispdisp)为立即数为立即数(或或位移量位移量)。加法指令功能:加法指令功能:(rs)+(rs1)+disp-rd(rs)+(rs1)+disp-rd取指令取指令计算地址计算地址取数取数运算送结果运算送结果划分机器周期划分机器周期的原则的原则:总线总线不冲突。不冲突。一、控制信号举例一、控制信号举例指令格式指令格式:(1)(1)取指微指令取指微指令 指令地址送地
39、址总线:指令地址送地址总线:PCAB(1)PCAB(1)发访存控制命令,发访存控制命令,ADS(21)ADS(21),M MIO=1(22)IO=1(22),W WR=0(23)R=0(23)。从存储器取指令送数据总线从存储器取指令送数据总线。指令送指令寄存器:指令送指令寄存器:DBIR(5)DBIR(5)程序计数器程序计数器+1+1:PCPC十十1(3)1(3)取指令取指令计算地址计算地址取数取数运算送结果运算送结果取指令取指令:PCABWR=0,MIO=1;DBIR;PC+1(2)(2)计算地址微指令计算地址微指令 取两个源操作数取两个源操作数(计算地址用计算地址用):rslGR(8)rs
40、lGR(8),(rslrsl)ALU(10)ALU(10),dispALU(4)dispALU(4)。加法运算:加法运算:“+”(13)(13)。有效地址送地址寄存器:有效地址送地址寄存器:ALUAR(19)ALUAR(19)。取指令取指令计算地址计算地址取数取数运算送结果运算送结果计算地址计算地址rslGR,(rsl)ALU,dispALU;“+”;ALUAR (3)(3)取数微指令取数微指令 数据地址送地址总线:数据地址送地址总线:ARAB(20)ARAB(20)。发访存控制命令:发访存控制命令:ADS(21)ADS(21),M MIO(22)IO(22),W WR(23)R(23)。由存
41、储器将数据送数据总线由存储器将数据送数据总线DBDB。数据送数据寄存器:数据送数据寄存器:DBDR(6)DBDR(6)取指令取指令计算地址计算地址取数取数运算送结果运算送结果取数取数:AR ABWR=0MIO=1DB DR(4)(4)加法运算和送结果微指令加法运算和送结果微指令 两源操作数送两源操作数送ALUALU:rsGR(9)rsGR(9),(rsrs)ALU(11)ALU(11);DRALU(12)DRALU(12)。加法运算:加法运算:“+”(13)(13)送结果:送结果:ALUGR(17)取指令取指令计算地址计算地址取数取数运算送结果运算送结果运算送结果运算送结果:rs GR (rs
42、)ALUDR ALU“+”ALU GR 置置N,Z,V,C5.4微程序控制器的基本工作原理微程序控制器的基本工作原理微微程程序序控控制制的的基基本本思思想想就就是是把把操操作作控控制制信信号号编编成成谓谓的的“微微指指令令”,存存放放到到一一个个只只读读存存储储器器里里(控控制制存存储储器器CM)。当当机机器器运运行行时时,一一条条又又一一条条地地读读出出这这些些微微指指令令,从从而而产产生生全全机机所所需需要要的的各各种种操操作作控控制信号,是相应部件执行所规定的操作。制信号,是相应部件执行所规定的操作。二、微程序控制的基本概念二、微程序控制的基本概念处理器内部可以分为:处理器内部可以分为:
43、控制部件控制部件和和执行部件执行部件微命令:微命令:控制部件控制部件向向执行部件执行部件发出的控制命令发出的控制命令微操作微操作:执行部件执行部件接受接受微命令微命令后所进行的操作后所进行的操作(微操作在执行部件中是最基本的操作)(微操作在执行部件中是最基本的操作)微指令微指令:实现一定操作功能的一组微命令:实现一定操作功能的一组微命令微程序微程序:实现一条机器指令功能的微指令序列:实现一条机器指令功能的微指令序列指令系统所有指令,指令微程序指令系统所有指令,指令微程序微程序若干微指令,微指令一组微命令微程序若干微指令,微指令一组微命令微命令微命令微操作微操作二、微程序控制的基本概念二、微程序
44、控制的基本概念微操作微操作相容性相容性相斥性相斥性在同时或同一个在同时或同一个CPU周期内可以并行周期内可以并行执行的微操作执行的微操作不能在同时或不能在同一个不能在同时或不能在同一个CPU周期周期内并行执行的微操作内并行执行的微操作R1R2R3ALU123468975DRXYCy+-M4、6、8相斥性相斥性5、7、9相斥性相斥性1、2、3相容性相容性4、6、8和和5、7、9的任意两个微操作为的任意两个微操作为相容性相容性微指令微指令1234567891011121314151617181920212223操作控制操作控制顺序控制顺序控制LDR1LDR2LDR3R1XR1YR2XR2YDRXR
45、3YMRDLDDRLDIRLDARLDIRLDARPC+1P1P2直接地址直接地址机器指令与微指令机器指令与微指令 程序机器指令机器指令1机器指令机器指令2机器指令机器指令i机器指令机器指令n.微指令微指令2微指令微指令1微指令微指令i微指令微指令n.微程序程序计数器程序计数器PC地址寄存器地址寄存器AR缓冲寄存器缓冲寄存器DR指令寄存器指令寄存器IR微微地址寄存器地址寄存器AR微微指令寄存器指令寄存器IR主存储器主存储器控制存储器控制存储器CM微微命令命令地址译码器地址译码器地址译码地址译码机器指令级机器指令级微指令级微指令级 微地址微地址 形成部件形成部件顺序逻辑顺序逻辑CMAR地址译码地
46、址译码控制存储器控制存储器标志标志CLK下地址下地址CMDR至至 CPU 内部和系统总线的控制信号内部和系统总线的控制信号 OPIR操作控制操作控制顺序控制顺序控制微指令基本格式微指令基本格式三、微程序控制器的基本原理三、微程序控制器的基本原理1 1控制信号控制信号2.2.控制信号的产生控制信号的产生微指令最简单的组成形式:微指令最简单的组成形式:将每个控制信号用一个控制将每个控制信号用一个控制位来表示,当该位为位来表示,当该位为“1 1”时,时,定义为有控制信号,当该位定义为有控制信号,当该位为为“0 0”时,没有控制信号。时,没有控制信号。控制存储器容量为控制存储器容量为4K4K字,字,则
47、每条微指令还需要则每条微指令还需要1212位位来表示下址。来表示下址。控制存储器控制存储器的容量取决于实现指令系的容量取决于实现指令系统所需的微程序长度。统所需的微程序长度。下地址下地址控制信号控制信号操作控制操作控制 下图图为为加加法法指指令令的的四四条条微微指指令令编编码码,每每一一小小格格表表示示一一位位(二二进进制制),空空格格表表示示0 0,第第2424位位到到第第3535位为下址。位为下址。假设四条微指令的地址如下:假设四条微指令的地址如下:取指微指令:取指微指令:1000Q1000Q计算有效地址微指令:计算有效地址微指令:1001Q1001Q取数微指令:取数微指令:1002Q10
48、02Q计算并存数微指令:计算并存数微指令:1003Q1003Q(1)(1)取指微指令取指微指令 指令地址送地址总线:指令地址送地址总线:PCAB(1)PCAB(1)发访存控制命令,发访存控制命令,ADS(21)ADS(21),M MIO=1(22)IO=1(22),W WR=0(23)R=0(23)。从存储器取指令送数据总线从存储器取指令送数据总线。指令送指令寄存器:指令送指令寄存器:DBIR(5)DBIR(5)程序计数器程序计数器+1+1:PCPC十十1(3)1(3)(2)(2)计算地址微指令计算地址微指令 取两个源操作数取两个源操作数(计算地址用计算地址用):rslGR(8)rslGR(8
49、),(rslrsl)ALU(10)ALU(10),dispALU(4)dispALU(4)。加法运算:加法运算:“+”(13)(13)。有效地址送地址寄存器:有效地址送地址寄存器:ALUAR(19)ALUAR(19)。(3)(3)取数微指令取数微指令 数据地址送地址总线:数据地址送地址总线:ARAB(20)ARAB(20)。发访存控制命令:发访存控制命令:ADS(21)ADS(21),M MIO(22)IO(22),W WR(23)R(23)。由存储器将数据送数据总线由存储器将数据送数据总线DBDB。数据送数据寄存器:数据送数据寄存器:DBDR(6)DBDR(6)(4)(4)加法运算和送结果微
50、指令加法运算和送结果微指令 两源操作数送两源操作数送ALUALU:rsGR(9)rsGR(9),(rsrs)ALU(11)ALU(11);DRALU(12)DRALU(12)。加法运算:加法运算:“+”(13)(13)送结果:送结果:ALUGR(17)3.微程序的流程图表示微程序的流程图表示方框:方框:表示微表示微指令指令右下角的右下角的数字:表数字:表示下址示下址上方的数字:微指令上方的数字:微指令的地址的地址 微地址微地址 形成部件形成部件顺序逻辑顺序逻辑CMAR地址译码地址译码控制存储器控制存储器标志标志CLK下地址下地址CMDR至至 CPU 内部和系统总线的控制信号内部和系统总线的控制