计算机组成原理 中央处理机_第1页
计算机组成原理 中央处理机_第2页
计算机组成原理 中央处理机_第3页
计算机组成原理 中央处理机_第4页
计算机组成原理 中央处理机_第5页
已阅读5页,还剩113页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机组成原理计算机组成原理武汉科技大学武汉科技大学计算机科学与技术学院计算机科学与技术学院第五章中央处理机第五章中央处理机n本章内容本章内容5.1 CPU5.1 CPU的功能和组成的功能和组成5.25.2 指令周期指令周期5.35.3 时序产生器和控制方式时序产生器和控制方式5.4 5.4 微程序控制器微程序控制器5.5 5.5 硬连线控制器硬连线控制器5.6 5.6 流水流水CPUCPU5.7 RISC CPU5.7 RISC CPU中央处理器中央处理器(CPU)(CPU)控制计算机自动取指令并执行控制计算机自动取指令并执行传统传统CPUCPU的构成的构成运算器、控制器运算器、控制器现代现

2、代CPUCPU的构成的构成运算器运算器、控制器控制器和和CacheCache5.1 CPU的功能和组成的功能和组成5.1.1 CPU的功能的功能指令控制、操作控制、时间控制、数据加工指令控制、操作控制、时间控制、数据加工1. 1. 指令控制指令控制控制程序中指令的控制程序中指令的执行顺序执行顺序( (首要任务首要任务) )2. 2. 操作控制操作控制形成执行指令所需的形成执行指令所需的控制信号控制信号并送往相应部件并送往相应部件3. 3. 时间控制时间控制对操作控制信号加以对操作控制信号加以时间上的约束时间上的约束4. 4. 数据加工数据加工对数据进行对数据进行算术、逻辑运算算术、逻辑运算(

3、(根本任务根本任务) )目录目录CPU运运算算器器控控制制器器是是执行部件执行部件接受控制器送来的命令,负责数据的接受控制器送来的命令,负责数据的加工处理:执行所有算术、逻辑运算及比较、测试等加工处理:执行所有算术、逻辑运算及比较、测试等组组成成功功能能算术逻辑单元算术逻辑单元ALUALU、通用寄存器、通用寄存器数据缓冲寄存器数据缓冲寄存器DRDR、状态条件寄存器、状态条件寄存器PSWPSW组组成成功功能能“决策机构决策机构”协调和指挥整个系统的操作:协调和指挥整个系统的操作:(1)(1)取出一条指令,并指出下一条指令的位置取出一条指令,并指出下一条指令的位置(2)(2)对指令进行译码或测试,

4、并产生相应的操作控制对指令进行译码或测试,并产生相应的操作控制信号,以启动规定的动作信号,以启动规定的动作(3)(3)指挥并控制指挥并控制CPUCPU、内存和输入、内存和输入/ /输出设备之间数据输出设备之间数据流动的方向流动的方向程序计数器程序计数器PCPC、指令寄存器、指令寄存器IRIR指令译码器指令译码器IDID、时序产生器、操作控制器、时序产生器、操作控制器5.1.2 CPU的基本组成的基本组成运算器控制器运算器控制器CacheCachecachecacheCPU模型模型返回方框图返回方框图硬布线控制器硬布线控制器CPUCPU中至少有六类寄存器中至少有六类寄存器1. 1. 数据缓冲寄存

5、器数据缓冲寄存器(DR(DR Data buffer Register) )暂存暂存ALUALU的运算结果的运算结果,或,或由数据存储器由数据存储器/ /外部接口外部接口读出的一读出的一个数据字个数据字其作用其作用 : (1)(1) ALUALU运算结果和通用寄存器间传送时,作为时间上的缓冲运算结果和通用寄存器间传送时,作为时间上的缓冲(2)(2)补偿补偿CPUCPU和内存、外设间速度上的差异和内存、外设间速度上的差异2. 2. 指令寄存器指令寄存器(IR(IRInstruction Register) )保存当前正在执行的一条指令保存当前正在执行的一条指令指令由指令由指令指令cachecac

6、he( (简称指存简称指存) )读出后读出后IRIR,其中的,其中的操作码操作码字段送字段送给指令译码器给指令译码器5.1.3CPU中的主要寄存器中的主要寄存器 3. 3. 程序计数器程序计数器(PC(PCProgramming Counter)Programming Counter),也叫指令计,也叫指令计数器数器结构是结构是寄存器寄存器+ +计数计数保存将要执行的下一条指令的地址;自动加保存将要执行的下一条指令的地址;自动加1 1计数计数( (程序首地址;转移目标地址程序首地址;转移目标地址) )4. 4. 数据地址寄存器数据地址寄存器(AR(ARAddress Register)Addr

7、ess Register)保存当前保存当前CPUCPU访问的数据存储器访问的数据存储器( (数存数存) )单元的地址单元的地址5. 5. 通用寄存器通用寄存器( (图图5.15.1的模型中有的模型中有4 4个:个:R R0 0RR3 3) )ALUALU执行算术或逻辑运算时,执行算术或逻辑运算时,为为ALUALU提供一个工作区提供一个工作区指令格式中要对寄存器号加以编址指令格式中要对寄存器号加以编址通用寄存器还可作通用寄存器还可作地址指示器、变址寄存器、堆栈指示器地址指示器、变址寄存器、堆栈指示器等等5.1.3CPU中的主要寄存器中的主要寄存器 6. 6. 状态字寄存器状态字寄存器(PSW)(

8、PSW)保存算术、逻辑运算或测试结果建立的各种条件代码,以及保存算术、逻辑运算或测试结果建立的各种条件代码,以及中断和系统工作状态等中断和系统工作状态等条件码条件码进位标志进位标志(C)(C),溢出标志(,溢出标志(V)V),为零标志,为零标志(Z)(Z),为,为负标志负标志(N)(N)等等( (通常,各标志位分别由通常,各标志位分别由1 1位触发器保存位触发器保存) )5.1.3CPU中的主要寄存器中的主要寄存器 数据通路数据通路 寄存器之间传送信息的通路寄存器之间传送信息的通路操作控制器的功能操作控制器的功能根据指令根据指令操作码操作码和和时序信号时序信号,产生各,产生各种操作控制信号,正

9、确选择数据通路,从而完成对种操作控制信号,正确选择数据通路,从而完成对取指令取指令和和执执行指令行指令的控制的控制按设计方法不同,按设计方法不同,操作控制器的分类:操作控制器的分类:时序逻辑型时序逻辑型、存储逻辑型存储逻辑型1. 1.硬布线控制器硬布线控制器采用时序逻辑技术实现采用时序逻辑技术实现2.2.微程序控制器微程序控制器采用存储逻辑实现采用存储逻辑实现( (本书重点本书重点) )时序产生器时序产生器对各种操作信号实施时间上的控制对各种操作信号实施时间上的控制5.1.4 操作控制器与时序产生器操作控制器与时序产生器5.2 5.2 指令周期指令周期1. 1. 指令周期指令周期CPUCPU取

10、出并执行一条指令所需的时间取出并执行一条指令所需的时间2. 2. 机器周期机器周期(CPU(CPU周期周期) )由内存中读取一个指令字的最短时间由内存中读取一个指令字的最短时间3. T3. T周期周期( (节拍脉冲节拍脉冲) )处理操作的最基本单位处理操作的最基本单位一个指令周期由若干个一个指令周期由若干个CPUCPU周期组成周期组成一个一个CPUCPU周期包含若干个周期包含若干个T T周期周期4. 4. 单周期、多周期单周期、多周期5.2.1 指令周期的基本概念指令周期的基本概念目录目录指令周期指令周期T T周期周期CPUCPU周期周期CPUCPU周期周期T1T2T3T4(取指令取指令)(执

11、行指令执行指令)取一条指令执行该指令指令周期指令周期六条典型指令组成的简单程序六条典型指令组成的简单程序指指令令存存储储器器八进制地址八进制地址指令助记符指令助记符说明说明100100101101102102103103104104105105106106MOV R0,R1MOV R0,R1LAD R1,6LAD R1,6ADD R1,R2ADD R1,R2STO R2,(R3)STO R2,(R3)JMP 101JMP 101AND R1,R3AND R1,R31. 1.程序执行前程序执行前(R0)=00,(R1)(R0)=00,(R1)10 ,(R2)10 ,(R2)20 ,(R3)20

12、,(R3)30302.2.传送指令传送指令MOVMOV执行执行(R1) R0(R1) R03.3.取数指令取数指令LADLAD从数存从数存6 6号单元取数号单元取数100R1100R14.4.加法指令加法指令ADDADD执行,结果存入执行,结果存入R2(R2(120)120)5.5.存数指令存数指令STOSTO用用R3R3间接寻址间接寻址120 (30)120 (30)6.6.转移指令转移指令JMPJMP改变程序执行顺序到改变程序执行顺序到101101单元单元7.7.逻辑乘逻辑乘ANDAND指令执行指令执行(R1)(R1)(R3)R3(R3)R3数数据据存存储储器器八进制地址八进制地址八进制数

13、据八进制数据说明说明5 56 67 71010303070701001006666777740(120)40(120)执行执行LADLAD指令后指令后, ,数存数存6 6号单元的数据号单元的数据100100仍在仍在执行执行STOSTO指令后指令后, ,数存数存3030号单元的数据变为号单元的数据变为1201205.2.2 MOV指令的指令周期指令的指令周期MOVR0,R1一个一个CPU周期周期一个一个CPU周期周期取指周期取指周期执行周期执行周期开始开始取指令取指令PC+1对指令对指令译码译码执行执行指令指令取下条指取下条指令令PC+1RRRR型指令,需两个型指令,需两个CPUCPU周期周期第

14、第1 1个个CPUCPU周期周期( (取指令取指令) ),CPUCPU完成三件事:完成三件事:(1)(1)从内存从内存取出指令取出指令(2)(2) PCPC加加1 1,为取下一条指令,为取下一条指令做准备做准备(3)(3)对指令操作码进行对指令操作码进行译码或译码或测试测试,以确定具体操作,以确定具体操作第第2 2个个CPUCPU周期周期( (执行指令执行指令) ):(R1) R0(R1) R0MOVR0,R1指令的指令周期图示指令的指令周期图示WR/RD1011102101010MOVR0,R1说明说明1 1、取指令阶段、取指令阶段 (1)(1)程序计数器程序计数器PCPC中装入第一条指令地

15、址中装入第一条指令地址101101( (八进制八进制) )(2)PC(2)PC的内容的内容放到地址总线放到地址总线ABUS(I)ABUS(I)上,上,对指存译码并启动读对指存译码并启动读(3)(3)从从101101号地址号地址读出的读出的MOVMOV指令通过指令总线指令通过指令总线IBUSIBUS装入装入IRIR(4)PC(4)PC加加1 1,变成,变成102102,为取下一条指令做准备,为取下一条指令做准备(5)(5)指令寄存器中的操作码指令寄存器中的操作码(OP)(OP)被被译码译码(6)CPU(6)CPU识别出是识别出是MOVMOV指令指令,至此,取指周期结束,至此,取指周期结束 2 2

16、、执行指令阶段、执行指令阶段(1)(1)操作控制器操作控制器(OC)(OC)送出控制信号到通用寄存器,选择送出控制信号到通用寄存器,选择R1(10)R1(10)作为作为源寄存器,源寄存器,R0R0作目标寄存器作目标寄存器(2)OC(2)OC送出控制信号到送出控制信号到ALUALU,指定,指定ALUALU做传送操作做传送操作(3)OC(3)OC送出控制信号,打开送出控制信号,打开ALUALU输出三态门,结果输出三态门,结果DBUSDBUS上上(4)OC(4)OC送出控制信号,将送出控制信号,将DBUSDBUS上的数据打入上的数据打入DR(10)DR(10)(5)OC(5)OC送出控制信号,将送出

17、控制信号,将DRDR中的数据打入中的数据打入R0R0,R0R0的内容变为的内容变为1010图示图示5.2.3 LAD指令的指令周期指令的指令周期LAD R1,6 组成组成LADLAD指令周期的三个指令周期的三个CPUCPU周期:周期:第第1 1个个CPUCPU周期为取指令阶段,和周期为取指令阶段,和MOVMOV指令相同指令相同第第2 2个个CPUCPU周期中将操作数的地址送往地址寄存器并完成地址周期中将操作数的地址送往地址寄存器并完成地址译码译码第第3 3个个CPUCPU周期中从周期中从6 6号内存取出操作数号内存取出操作数100100并送通用寄存器并送通用寄存器R1R1 RSRS型指令,型指

18、令,指令周期指令周期需要需要3 3个个CPUCPU周期周期访问两次存储器访问两次存储器一次访问指存,一次访问数存一次访问指存,一次访问数存一个一个CPUCPU周期周期 一个一个CPUCPU周期周期取指周期取指周期执行周期执行周期开始开始取指令取指令PC+1PC+1对指令对指令译码译码送操作送操作数地址数地址取下条指取下条指令令PC+1PC+1取出操取出操作数作数装入通用装入通用寄存器寄存器一个一个CPUCPU周期周期LAD R1,6指令指令周期周期图示图示LAD R1,6执行过程图示执行过程图示61001005.2.4 ADD指令的指令周期指令的指令周期ADD R1,R2 ADDADD指令是指

19、令是RRRR型型指令,指指令,指令周期只需两令周期只需两个个CPUCPU周期,周期,与与MOVMOV类似类似一个一个CPU周期周期 一个一个CPU周期周期取指周期取指周期执行周期执行周期开始开始取指令取指令PC+1对指令对指令译码译码执行执行加法加法运算运算取下条取下条指令指令PC+1ADDR1,R2执行过程图示执行过程图示12020120201205.2.5 STO指令的指令周期指令的指令周期STO R2,(R3)RSRS型型指令指令指令周期需要指令周期需要3 3个个CPUCPU周期,其中执行周期为周期,其中执行周期为2 2个个CPUCPU周期周期一个一个CPUCPU周期周期 一个一个CPU

20、CPU周期周期取指周期取指周期执行周期执行周期开始开始取指令取指令PC+1PC+1对指令对指令译码译码送操作送操作数地址数地址取下条指取下条指令令PC+1PC+1送操送操作数作数写数存写数存一个一个CPUCPU周期周期STOR2,(R3)执行过程图示执行过程图示301205.2.6 JMP指令的指令周期指令的指令周期JMP 101指令周期为指令周期为两个两个CPUCPU周期周期第第1 1个周期是取指令周期个周期是取指令周期第第2 2个周期为执行阶段:个周期为执行阶段:CPUCPU把把指令寄存器中的地址码部分指令寄存器中的地址码部分101101送到程序计数器送到程序计数器下一条指下一条指令将从令

21、将从101101单元开始读出并执行单元开始读出并执行JMPJMP( (无条件转移无条件转移) )指令指令JMPJMP101101执行过程执行过程图示图示106 1015.2.7 用方框图表示指令周期用方框图表示指令周期方框方框CPUCPU周期,内容表示数据通路的操作或某种控制周期,内容表示数据通路的操作或某种控制菱形菱形符号符号某种判别或测试,时间上不单独占用某种判别或测试,时间上不单独占用CPUCPU周期,周期,而依附于它前面一个方框的而依附于它前面一个方框的CPUCPU周期周期符号符号“”代表一个公操作代表一个公操作CPU模型模型R1 DRDR R0IR ARR1+R2 DRDR R2R3

22、 ARIRPCIRPCAR ABUS(D)DBUS DRDRR1AR ABUS(D)R2 DBUSMOVLADADDSTOJMPRD(D)WE(D)PCABUS(I)IBUS IRPC +1译码译码RD(I)【例例1】如图所示为双总线结构机器的数据通路,如图所示为双总线结构机器的数据通路,IR为指令寄为指令寄存器,存器,PC为程序计数器为程序计数器(具有自增功能具有自增功能),M为主存为主存(受受R/W信号信号控制控制),AR为地址寄存器,为地址寄存器,DR为数据缓冲寄存器,为数据缓冲寄存器, ALU由加、由加、减控制信号决定完成何种操作,控制信号减控制信号决定完成何种操作,控制信号G控制的是

23、一个门电路。控制的是一个门电路。另外,线上标注有小圈表示有控制信号,例中另外,线上标注有小圈表示有控制信号,例中yi表示表示y寄存器的寄存器的输入控制信号,输入控制信号,R1O为寄存器为寄存器R1的输出控制信号,未标字符的线的输出控制信号,未标字符的线为直通线,不受控制。画出下面两条指令的指令周期流程图,为直通线,不受控制。画出下面两条指令的指令周期流程图,并列出相应的微操作控制信号序列并列出相应的微操作控制信号序列1.“ADD R2,R0”指令完成指令完成(R0)+(R2)R0功能操作,假设该指令功能操作,假设该指令的地址已放入的地址已放入PC中。中。2.“SUB R1,R3”指令完成指令完

24、成(R3)-(R1)R3的功能操作。的功能操作。IRPCARDRR0R1R2R3MXYALUIRIRi iIRIRo oPCPCi iPCPCo oARARi iDRDRi iDRDRo oR R0i0iR R0o0oR R3i3iR R3o3oX Xi iY Yi iA A总线总线B B总线总线G+ -R/W题目题目解答解答2解答解答1【解解】根据给定的数据通路图,根据给定的数据通路图, “ADD ADD R2R2,R0R0”的指令周期流程图如图的指令周期流程图如图包括包括取指令阶段取指令阶段和和执行指令阶段执行指令阶段右边标注了每个机器周期中用到右边标注了每个机器周期中用到的的微操作控制信

25、号序列微操作控制信号序列PC ARM DRDR IRR2 YR0 XY+X R0PCO,G,ARiR/W=RDRO,G,IRi+,G,R0iR0O,G,XiR2O,G,Yi执行执行取指取指注:注:图中省去了图中省去了“” 号左边各寄存器代号左边各寄存器代码上应加的括号码上应加的括号PC PC ARARM M DRDRDR DR IRIRR R3 3 Y YR R1 1 X XY Y - X - X R R3 3PCPCOO,G G,ARARi iR/W=RR/W=RDRDROO,G G,IRIRi i- -,G G,R R3i3iR R1O1O,G G,X Xi iR R3O3O,G G,Y

26、Yi i“SUB R1“SUB R1,R3R3”的指令周的指令周期流程图期流程图与与ADDADD指令不同的是:在指令不同的是:在执行指令阶段,微操作控执行指令阶段,微操作控制信号序列有所不同制信号序列有所不同 执行执行取指取指数据通路图数据通路图5.3 时序产生器和控制方式时序产生器和控制方式5.3.15.3.1时序信号的作用和体制时序信号的作用和体制1. 1. 作用作用为计算机各部件的协调动作提供时间标志为计算机各部件的协调动作提供时间标志uCPUCPU中的控制器用时序信号指挥机器的工作中的控制器用时序信号指挥机器的工作u操作控制器发出的各种信号是操作控制器发出的各种信号是时间时间( (时序

27、信号时序信号) )和和空间空间( (部件位部件位置置) )的函数的函数uCPUCPU通过时序信号通过时序信号/ /周期信息辨认从内存中取出的是指令周期信息辨认从内存中取出的是指令( (取指取指阶段阶段) )还是数据还是数据( (执行阶段执行阶段)指令流与数据流的区分指令流与数据流的区分u一个一个CPUCPU周期中时钟脉冲对周期中时钟脉冲对CPUCPU的动作有严格的约束的动作有严格的约束目录目录5.3 时序产生器和控制方式时序产生器和控制方式5.3.15.3.1时序信号的作用和体制时序信号的作用和体制2. 2. 体制体制时序信号的基本体制是时序信号的基本体制是电位电位脉冲制脉冲制( (以寄存器为

28、例以寄存器为例) )D D为电位输入端为电位输入端CP(Clock Pulse)CP(Clock Pulse)为脉冲输入端为脉冲输入端R,SR,S为电位输入端为电位输入端有些部件只用电位信号有些部件只用电位信号目录目录硬布线控制器硬布线控制器中,时序信号一般采用中,时序信号一般采用主状态周期主状态周期- -节拍电位节拍电位- -节节拍脉冲拍脉冲三级体制三级体制节拍电位节拍电位表示一个表示一个CPUCPU周期的时间周期的时间节拍脉冲节拍电位1主状态周期主状态周期节拍电位2硬布线控制器中的时序信号硬布线控制器中的时序信号采用采用节拍电位节拍电位节拍脉冲节拍脉冲二级体制二级体制节拍电位节拍电位表示一

29、个表示一个CPUCPU周期的时间周期的时间节拍电位节拍电位中包含若干个节拍脉冲;各节拍脉冲可以相等或不等中包含若干个节拍脉冲;各节拍脉冲可以相等或不等微程序控制器中的时序信号微程序控制器中的时序信号微程序控制器中使用的微程序控制器中使用的时序信号产生器时序信号产生器的组成的组成5.3.2时序信号产生器时序信号产生器启停控制逻辑启停控制逻辑节拍脉冲和读写时序译码逻辑节拍脉冲和读写时序译码逻辑环形脉冲发生器环形脉冲发生器 IORQ MREQ RD WE T1 T2 T3 T4 IORQMREQRDWE T1 T2 T3 T4MREQIORQRDWE时钟脉冲源时钟脉冲源CLK时钟脉冲源时钟脉冲源环形

30、脉冲发生器环形脉冲发生器 节拍脉冲和读写时序译码逻辑节拍脉冲和读写时序译码逻辑启停控制逻辑启停控制逻辑启动启动停机停机硬连线控制器中:硬连线控制器中:节拍电位信号由时序产生器本身产生节拍电位信号由时序产生器本身产生微程序设计的计算机中:微程序设计的计算机中:节拍电位信号由微程序控制器提供节拍电位信号由微程序控制器提供2. 2. 环形脉冲发生器环形脉冲发生器作用:作用:产生一组有序的间隔相等或不等的脉冲序列,以便通过译产生一组有序的间隔相等或不等的脉冲序列,以便通过译码电路来产生最后所需的节拍脉冲码电路来产生最后所需的节拍脉冲组成:组成:环形计数器环形计数器3. 3. 节拍脉冲和存储器读写时序节

31、拍脉冲和存储器读写时序环形脉冲发生器与译码逻辑电路环形脉冲发生器与译码逻辑电路4. 4. 启停控制逻辑启停控制逻辑1. 1. 时钟源时钟源作用:作用:为环形脉冲发生器提供频率稳定且电平匹配的方波时钟为环形脉冲发生器提供频率稳定且电平匹配的方波时钟脉冲信号脉冲信号组成:组成:石英晶体振荡器和与非门组成的正反馈振荡电路石英晶体振荡器和与非门组成的正反馈振荡电路5.3.2时序信号产生器时序信号产生器返回返回MREQ DQQC4SDQQC1RDQQC2RDQQC3R23脉冲时钟源脉冲时钟源CLKCLR+5VIORQ RD WE IORQ MREQ T4 T1 RD T2 T3 WE DQQCrRIOR

32、QMREQRDWET4 T1T2T3T4启动启动停机停机时序发生器组成时序发生器组成环形脉冲发生器与译码逻辑电路环形脉冲发生器与译码逻辑电路环形脉冲发生器波形图环形脉冲发生器波形图脉冲和读写译码波形图脉冲和读写译码波形图MREQ DQQC4SDQQC1RDQQC2RDQQC3R23脉冲时钟源脉冲时钟源CLKCLR+5VIORQ RD WE IORQ MREQ T4 T1 RD T2 T3 WE 环形脉冲发生器波形环形脉冲发生器波形C4C1C2C3123456789101112逻辑电路逻辑电路010110111000节拍脉冲和存储器读写时序波形节拍脉冲和存储器读写时序波形T1o=C1C2T2o=

33、C2C3T3o=C3T4o=C1一个一个CPUCPU周期周期产生四个等间产生四个等间隔节拍脉冲隔节拍脉冲读写时序的译码读写时序的译码逻辑表达式:逻辑表达式:RDo=C2RD WEo=C3WE 逻辑电路逻辑电路ooooRDWE启停控制逻辑启停控制逻辑作用:作用:控制原始节拍脉冲信号控制原始节拍脉冲信号T T1 1o o T T4 4o o的发送,以保证只有在启动机的发送,以保证只有在启动机器运行的情况下,才产生器运行的情况下,才产生CPUCPU工作所需的节拍脉冲工作所需的节拍脉冲核心是核心是CrCr( (运行标志触发器运行标志触发器) )启停时刻的控制:启停时刻的控制: 在在CrCr输入端引入输

34、入端引入RSRS触发器触发器确保时序从确保时序从T T1 1前沿开始,到前沿开始,到 T T4 4后沿才结束后沿才结束时序发生器组成时序发生器组成IORQ MREQ T4 T1 RD T2 T3 WE DQQCrRIORQMREQRDWET1T2T3T4启动启动停机停机CLRT4 节拍脉冲和存储器读写时序波形节拍脉冲和存储器读写时序波形T1o=C1C2T2o=C2C3T3o=C3T4o=C1一个一个CPUCPU周期周期产生四个等间产生四个等间隔节拍脉冲隔节拍脉冲读写时序的译码读写时序的译码逻辑表达式:逻辑表达式:RDo=C2RD WEo=C3WE 时序发生器组成时序发生器组成控制不同操作序列时

35、序信号的方法控制不同操作序列时序信号的方法常用方法常用方法同步控制、异步控制、联合控制同步控制、异步控制、联合控制1. 1. 同步控制方式同步控制方式任何情况下,指令执行时所需的机器周期数和时钟周期数都任何情况下,指令执行时所需的机器周期数和时钟周期数都固定不变固定不变实现方案:实现方案:采用完全统一的机器周期采用完全统一的机器周期执行各种不同的指令执行各种不同的指令所有指令周所有指令周期具有相同的节拍电位和相同的节拍脉冲数期具有相同的节拍电位和相同的节拍脉冲数采用不定长的机器周期采用不定长的机器周期中央控制和局部控制相结合中央控制和局部控制相结合中央控制中央控制将大部分指令安排在固定的机器周

36、期完成将大部分指令安排在固定的机器周期完成局部控制局部控制少数复杂的指令采用另外的时序进行定时少数复杂的指令采用另外的时序进行定时 5.3.3控制方式控制方式( (反映时序信号的定时方式反映时序信号的定时方式) )每条指令、每个操作控制信号按需占用时间每条指令、每个操作控制信号按需占用时间每条指令的指令周期可由数目不等的机器周期数组成;每条指令的指令周期可由数目不等的机器周期数组成;或者或者,控制器发出某一操作控制信号后,等待执行部件完成操作并发控制器发出某一操作控制信号后,等待执行部件完成操作并发“回答回答”信号,再开始新的操作信号,再开始新的操作形成的操作控制序列形成的操作控制序列没有固定

37、的没有固定的CPUCPU周期数周期数( (节拍电位节拍电位) )或或严格的严格的时钟周期时钟周期( (节拍脉冲节拍脉冲) )与之同步与之同步2. 2. 异步控制方式异步控制方式方案方案1 1:大部分操作序列安排在固定的机器周期中;大部分操作序列安排在固定的机器周期中;时间难以确时间难以确定的操作定的操作以执行部件的以执行部件的“回答回答” 作为本次操作的结束作为本次操作的结束方案方案2 2:机器周期的节拍脉冲数固定,但各条指令周期的机器周机器周期的节拍脉冲数固定,但各条指令周期的机器周期数不固定期数不固定3. 3. 联合控制方式联合控制方式同步和异步控制相结合同步和异步控制相结合5.4 微程序

38、控制器微程序控制器n发展发展n19511951年英国剑桥大学的年英国剑桥大学的MMV VWilkesWilkes教授,在曼彻斯特大学教授,在曼彻斯特大学计算机会议上,计算机会议上,首先提出首先提出微程序的概念和原理,当时还没微程序的概念和原理,当时还没有合适的存放微程序的控制存储器元件有合适的存放微程序的控制存储器元件n19641964年,年,IBMIBM公司在公司在IBM 360IBM 360系列机上系列机上成功地采用成功地采用了微程了微程序设计技术序设计技术n2020世纪世纪7070年代以来,由于年代以来,由于VLSIVLSI技术的发展,技术的发展,推动推动了微程序了微程序设计技术的设计技

39、术的发展和应用发展和应用n目前,从大型机到小型机、微型机都目前,从大型机到小型机、微型机都普遍采用普遍采用了微程序设了微程序设计技术计技术目录目录优点:优点:具有规整性、灵活性、可维护性具有规整性、灵活性、可维护性基本思想:基本思想:把操作控制信号编成把操作控制信号编成“微指令微指令”存放在只读存储器中,机存放在只读存储器中,机器运行时,逐条读出器运行时,逐条读出“微指令微指令”,从而产生全机所需的各种,从而产生全机所需的各种微微操作控制信号操作控制信号,使相应部件执行规定的操作,使相应部件执行规定的操作计算机计算机控制部件控制部件控制器控制器:通过通过控制线控制线发出控制命令发出控制命令执行

40、部件执行部件运算器运算器存储器存储器外设外设执行控制命令并执行控制命令并反馈状态反馈状态信息信息5.4.1微程序控制原理微程序控制原理控制部件控制部件执行部件执行部件控制线控制线反馈线反馈线控制部件与执行部件控制部件与执行部件通过通过控制线控制线和和反馈信息反馈信息进行联系进行联系 微命令和微操作微命令和微操作(1) (1) 微命令:微命令:控制部件通过控制线向执行部件发出的各种控制命控制部件通过控制线向执行部件发出的各种控制命令;它是构成控制序列的令;它是构成控制序列的最小单位最小单位(2) (2) 微操作:微操作:是微命令的操作过程,是执行部件中最基本的操作是微命令的操作过程,是执行部件中

41、最基本的操作 微命令和微操作是一一对应的微命令和微操作是一一对应的(3) (3) 状态测试状态测试反馈信息反馈信息(4) (4) 微操作的种类:微操作的种类:相斥性微操作:相斥性微操作:不能同时或在同一个不能同时或在同一个CPUCPU周期内并行执行周期内并行执行相容性微操作:相容性微操作:能够同时或在同一个能够同时或在同一个CPUCPU周期内并行执行周期内并行执行5.4.1微程序控制原理微程序控制原理一个简单运算器的数据通路图示一个简单运算器的数据通路图示相相斥斥相相斥斥简单运算器的数据通路简单运算器的数据通路1、2、3相容相容4 、 6 、 8与与5、7、9也是相容的也是相容的微命令和微操作

42、微命令和微操作相相斥斥返回微指令格式返回微指令格式(1) (1) 微指令微指令(Microinstruction)(Microinstruction)在一个在一个CPUCPU周期中使计算机实现一定操作功能的一组微命周期中使计算机实现一定操作功能的一组微命令的组合;存储在令的组合;存储在控制存储器控制存储器中中2. 2. 微指令和微程序微指令和微程序实现实现一条机器指令一条机器指令功能的所有功能的所有微指令微指令组成的序列组成的序列一段微程序对应一条机器指令,微程序的总和构成指令系统一段微程序对应一条机器指令,微程序的总和构成指令系统(3)(3)微地址微地址 存放微指令的控制存储器的单元地址存放

43、微指令的控制存储器的单元地址(2) (2) 微程序微程序2322212019181716151413121110987654321 LDR1 LDR2 LDR3 R1XR1YR2XR2YDRX+M RD LDDR LDIR LDAR PC+1R3YP1P2直接地址直接地址操作控制操作控制顺序控制顺序控制微指令的组成:微指令的组成:操作控制字段操作控制字段:产生某一步操作所需的各个微操作控制信号,:产生某一步操作所需的各个微操作控制信号,某位为某位为1 1,表示发微命令,表示发微命令顺序控制字段顺序控制字段:控制产生下一条要执行的微指令地址:控制产生下一条要执行的微指令地址微指令发出的控制信号都

44、是微指令发出的控制信号都是节拍电位信号节拍电位信号,持续时间为,持续时间为一个一个CPUCPU周期周期,微命令信号还要引入,微命令信号还要引入时间控制时间控制节拍电位节拍电位信号信号LDR1 200600nsCPU周期周期节拍脉冲节拍脉冲信号信号LDR1T4LDR1LDR2LDR3LDR1 LDR2 LDR3 T4运算器的数据通路运算器的数据通路组成部分组成部分 控制存储器控制存储器、微指令寄存器微指令寄存器、地址转移逻辑地址转移逻辑3. 3. 微程序控制器原理框图微程序控制器原理框图控制存储器控制存储器地址译码地址译码微地址寄存器微地址寄存器OPOPP P字段字段 控制字段控制字段地址转移地

45、址转移逻辑逻辑状态条件状态条件指令寄存器指令寄存器IRIR微命令微命令信号信号 微命令微命令寄存器寄存器1. 1. 控制存储器控制存储器CSCS作用作用:存放实现全部指令系统的微程序;:存放实现全部指令系统的微程序;只读只读微指令周期;控制存储器的字长及容量微指令周期;控制存储器的字长及容量要求要求:速度快,读出周期短:速度快,读出周期短 2. 2. 微指令寄存器微指令寄存器IRIR作用作用:存放由控制存储器读出的一条微指令信息:存放由控制存储器读出的一条微指令信息组成组成:微命令寄存器:微命令寄存器+ +微地址寄存器微地址寄存器ARAR3. 3. 地址转移逻辑地址转移逻辑作用:作用:需要转移

46、时,根据机器指令的操作码字段需要转移时,根据机器指令的操作码字段OPOP和状态和状态条件及条件及P P字段实现对字段实现对ARAR的修改的修改如果微程序如果微程序不出现分支不出现分支,下一条微指令的地址,下一条微指令的地址( (微地址微地址) )直接直接由微指令给出由微指令给出( (存放在微地址寄存器中存放在微地址寄存器中) ) 微程序控制器的组成微程序控制器的组成4. 4. 微程序举例微程序举例( (以以“十进制加法十进制加法”指令为例指令为例)设设a a、b b在在R1R1、R2R2中中数数6 6在在R3R3中中四条微指令四条微指令( (方框方框) )表示组成表示组成算法:算法:先计算先计

47、算a+b+6a+b+6;然后根据进位标志然后根据进位标志CyCy决定是否减去决定是否减去6 6PCPC ARAR ABUSABUSDBUSDBUS DRDR IRIRPC+1PC+1P1R1+R2R1+R2 R2R2R2+R3R2+R3R2R2P2R2-R3R2-R3 R2R2RD(I)0000000010101001000000010000Cy=1Cy=0微指令流程图微指令流程图ALU寄存器PCARDRIRIDM(指令或数据)OC+1DBUSABUS数据通路数据通路运算器的数据通路运算器的数据通路4. 4. 微程序举例微程序举例( (以以“十进制加法十进制加法”指令为例指令为例)设设a a、

48、b b在在R1R1、R2R2中中数数6 6在在R3R3中中四条微指令四条微指令( (方框方框) )表示组成表示组成PCPC ARAR ABUSABUSDBUSDBUS DRDR IRIRPC+1PC+1P1R1+R2R1+R2 R2R2R2+R3R2+R3R2R2P2R2-R3R2-R3 R2R2RD(I)0000000010101001000000010000Cy=1Cy=0微指令流程图微指令流程图微指令格式:微指令格式:2322212019181716151413121110987654321 LDR1 LDR2 LDR3 R1XR1YR2XR2YDRX+M RD LDDR LDIR LD

49、AR PC+1R3YP1P2直接地址直接地址操作控制操作控制顺序控制顺序控制运算器通路运算器通路数据通路数据通路(1) (1) 第第1 1条条微指令是取指周期微指令是取指周期完成完成3 3个任务:个任务: 从内存取指令到从内存取指令到IRIR; 对程序计数器对程序计数器PCPC加加1 1; 对对OPOP用用P1P1进行判别测试,修改微地址寄存器进行判别测试,修改微地址寄存器该微指令的二进制代码是该微指令的二进制代码是: : 000 000 000 000 11111 10 0000 000 000 000 000 11111 10 0000设十进制加法的设十进制加法的OPOP为为1010101

50、0,P1P1有效时,修改有效时,修改ARAR的内容为的内容为10101010,则第则第2 2条微指令从条微指令从10101010处开始执行处开始执行LDAR RD LDDR LDIR PC+1对应的微命令对应的微命令2322212019181716151413121110987654321 LDR1 LDR2 LDR3 R1XR1YR2XR2YDRX+M RD LDDR LDIR LDAR PC+1R3YP1P2直接地址直接地址操作控制操作控制顺序控制顺序控制微指令流程图微指令流程图(2) (2) 第第2 2条条微指令完成微指令完成a+ba+b,即,即R R1 1+R+R2 2 R R2 2该

51、微指令的二进制编码是该微指令的二进制编码是: : 010 100 100 100 00000 00 1001010 100 100 100 00000 00 1001P P1 1P P2 2均为均为0 0,表示不测试,直接给出下一条微指令地址,表示不测试,直接给出下一条微指令地址(1001)(1001)R1 XR2 YLDR2 对应的微命令对应的微命令运算器通路运算器通路2322212019181716151413121110987654321 LDR1 LDR2 LDR3 R1XR1YR2XR2YDRX+M RD LDDR LDIR LDAR PC+1R3YP1P2直接地址直接地址操作控制操

52、作控制顺序控制顺序控制(3) (3) 第第3 3条条指令完成加指令完成加6 6修正,即修正,即R2+R3 R2R2+R3 R2该微指令的二进制编码是该微指令的二进制编码是: : 010 001 001 100 00000 01 0000010 001 001 100 00000 01 0000P2P2为为1 1,表示进行,表示进行P2P2测试,测试的测试,测试的“状态条件状态条件”为为CyCy若若Cy=1Cy=1,微程序进入取指令周期取下一条指令,微程序进入取指令周期取下一条指令若若Cy=0Cy=0,由,由P2P2将下址字段修改为将下址字段修改为00010001,执行第,执行第4 4条微指令条

53、微指令对应的微命对应的微命令为:令为:R2 XR3 YLDR2 运算器通路运算器通路2322212019181716151413121110987654321 LDR1 LDR2 LDR3 R1XR1YR2XR2YDRX+M RD LDDR LDIR LDAR PC+1R3YP1P2直接地址直接地址操作控制操作控制顺序控制顺序控制(4) (4) 第第4 4条条微指令完成减微指令完成减6 6操作,即操作,即R2-R3 R2R2-R3 R2该微指令的二制编码是该微指令的二制编码是: : 010 001 001 001 00000 00 0000010 001 001 001 00000 00 00

54、00执行完第执行完第4 4条指令后,应转取指操作,所以下址字段为条指令后,应转取指操作,所以下址字段为00000000R2 XR3 YLDR2 对应的微命对应的微命令为:令为:运算器通路运算器通路2322212019181716151413121110987654321 LDR1 LDR2 LDR3 R1XR1YR2XR2YDRX+M RD LDDR LDIR LDAR PC+1R3YP1P2直接地址直接地址操作控制操作控制顺序控制顺序控制PC PC AR AR ABUSABUSDBUS DBUS DR DR IRIRPC+1PC+1P1R1+R2 R1+R2 R2R2R2+R3 R2+R3

55、R2R2P2R2-R3 R2-R3 R2R2RD(I)0000000010101001000000010000Cy=1Cy=0实现十进制加法的实现十进制加法的4 4条微指令的编码条微指令的编码第第1条条000 000 000 000 11111100000第第2条条010 100 100 100 00000001001第第3条条010 001 001 100 00000010000第第4条条010 001 001 001 000000000004 4条微指令对应的微命令条微指令对应的微命令第第1条条 LDARLDAR,RDRD,LDDRLDDR,LDIRLDIR,PC+1PC+1,p1p1第第

56、2条条 R1XR1X,R2YR2Y,LDR2LDR2第第3条条 R2XR2X,R3YR3Y,LDR2LDR2,p2p2第第4条条 R2XR2X,R3YR3Y,LDR2LDR2串行方式的微程序控制器中串行方式的微程序控制器中微指令周期微指令周期=读出微指令的时间读出微指令的时间 + + 执行该条微指令的时间执行该条微指令的时间某计算机中某计算机中CPUCPU周期与微指令周期周期与微指令周期的时间关系:的时间关系: 设一个设一个CPUCPU周期为周期为0.8s0.8s,包含,包含4 4个等间隔的节拍脉冲个等间隔的节拍脉冲T T1 1 T T4 4,每个脉冲宽度为每个脉冲宽度为200ns200ns

57、用用T T4 4时间读取微指令,用时间读取微指令,用T T1 1+T+T2 2+T+T3 3时间执行微指令时间执行微指令可用可用T T4 4上升沿将运算结果打入某个寄存器,并用上升沿将运算结果打入某个寄存器,并用T4T4间隔读间隔读取下条微指令;用取下条微指令;用T T1 1上升沿将取出的下条微指令打入上升沿将取出的下条微指令打入IRIR5. CPU5. CPU周期与微指令周期的关系周期与微指令周期的关系如忽略触发器的翻转延迟,则每条微指令的微命令信号从如忽略触发器的翻转延迟,则每条微指令的微命令信号从T T1 1上上升沿开始有效,直到下一条微指令读出并打入微指令寄存器为升沿开始有效,直到下一

58、条微指令读出并打入微指令寄存器为止止一条微指令的时间恰好是一条微指令的时间恰好是0.8s0.8s,等于一个等于一个CPUCPU周期周期6. 6. 机器指令与微指令的关系机器指令与微指令的关系1. 1.一条机器指令对应一个微程序一条机器指令对应一个微程序一条机器指令所完成的操作划分成一条机器指令所完成的操作划分成若干条微指令来完成,由微指令进行解若干条微指令来完成,由微指令进行解释和执行释和执行2.2.从指令与微指令、程序与微程序、地从指令与微指令、程序与微程序、地址与微地址的一一对应关系看,址与微地址的一一对应关系看,前者与前者与内存储器有关内存储器有关,后者与控制存储器有关后者与控制存储器有

59、关3.3.每一个每一个CPUCPU周期对应一条微指令周期对应一条微指令 微命令寄存器微命令寄存器控制存储器控制存储器地址译码地址译码指令寄存器指令寄存器IR缓冲寄存器缓冲寄存器DR内存储器内存储器地址译码地址译码地址寄存器地址寄存器AR程序计数器程序计数器PCOP微地址寄存器微地址寄存器+1微命令微命令有利于有利于缩短微指令字长度缩短微指令字长度有利于有利于减小控制存储器的容量减小控制存储器的容量有利于有利于提高微程序的执行速度提高微程序的执行速度有利于对有利于对微指令的修改微指令的修改有利于有利于提高微程序设计的灵活性提高微程序设计的灵活性微程序设计首先要设计微程序设计首先要设计微指令结构微

60、指令结构,追求的目标:,追求的目标:5.4.2 微程序设计技术微程序设计技术微指令操作控制字段的表示方法,通常有微指令操作控制字段的表示方法,通常有3 3种:种:直接表示法直接表示法操作控制字段的每一位代表一个微命令操作控制字段的每一位代表一个微命令优点优点: : 简单直观,输出直接用于控制简单直观,输出直接用于控制缺点缺点: : 微指令字较长,使控制存储器容量较大微指令字较长,使控制存储器容量较大编码表示法编码表示法把一组把一组相斥性相斥性的微命令信号组成一个小组的微命令信号组成一个小组( (即即一个字段一个字段) ) ,然后通过小组,然后通过小组( (字段字段) )译码器对每一个微命令信号

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论