第五章_中央处理机_第1页
第五章_中央处理机_第2页
第五章_中央处理机_第3页
第五章_中央处理机_第4页
第五章_中央处理机_第5页
已阅读5页,还剩101页未读 继续免费阅读

下载本文档

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

文档简介

1、第5章 中央处理机2022年6月22日星期三2目录目录5.1 CPU的功能和组成的功能和组成掌握掌握5.2 指令周期指令周期掌握掌握5.3 时序产生器和控制方式时序产生器和控制方式了解了解5.4 微程序控制器微程序控制器掌握掌握5.5 硬连线控制器硬连线控制器了解了解5.6 传统传统CPU了解了解5.7 流水流水CPU掌握掌握5.8 RISC CPU了解了解5.9 多媒体多媒体CPU了解了解2022年6月22日星期三3考研大纲要求考研大纲要求(一)(一)CPU的功能和基本结构的功能和基本结构(二)指令执行过程(二)指令执行过程(三)数据通路的功能和基本结构(三)数据通路的功能和基本结构(四)控

2、制器的功能和工作原理(四)控制器的功能和工作原理1.硬布线控制器硬布线控制器2.微程序控制器微程序控制器微程序、微指令和微命令微程序、微指令和微命令微指令的编码方式;微地址的形成方式微指令的编码方式;微地址的形成方式(五)(五) 指令流水线指令流水线1.指令流水线的基本概念指令流水线的基本概念2.超标量和动态流水线的基本概念超标量和动态流水线的基本概念2022年6月22日星期三45.1 CPU的组成和功能的组成和功能l 5.1.1 CPU的功能的功能l 5.1.2 CPU的基本组成的基本组成l 5.1.3CPU中的主要寄存器中的主要寄存器l 5.1.4 操作控制器与时序产生器操作控制器与时序产

3、生器2022年6月22日星期三55.1.1 CPU的功能的功能lCPU(中央处理器)(中央处理器) 控制程序按设定方式执行;控制程序按设定方式执行;lCPU的主要功能:的主要功能: 指令控制指令控制u控制程序的执行顺序;控制程序的执行顺序; 操作控制操作控制u产生和发送各操作信号;产生和发送各操作信号; 时间控制时间控制u控制指令、或操作的实施时间;控制指令、或操作的实施时间; 数据加工数据加工u对数据进行算术逻辑运算;对数据进行算术逻辑运算;顺序寻址、跳跃寻址顺序寻址、跳跃寻址对指令操作码译码后产生控制信号对指令操作码译码后产生控制信号维持各类操作的时序关系维持各类操作的时序关系由由ALU完

4、成具体的运算完成具体的运算2022年6月22日星期三65.1.2 CPU的基本组成的基本组成l现代的现代的CPU的组成的组成运算器、控制器运算器、控制器l控制器的主要功能控制器的主要功能从内存中取出一条指令,并指出下条指令的存放位置;从内存中取出一条指令,并指出下条指令的存放位置;对指令进行译码,产生相应的操作控制信号;对指令进行译码,产生相应的操作控制信号;控制控制CPU、内存和输入、内存和输入/输出设备之间数据流动;输出设备之间数据流动;l运算器的主要功能:运算器的主要功能: 执行所有的算术运算;执行所有的算术运算;执行所有的逻辑运算,并进行逻辑测试。执行所有的逻辑运算,并进行逻辑测试。冯

5、冯诺依曼诺依曼机的定义机的定义、片内、片内Cache;PC、IRALU、通用寄存器组、通用寄存器组、标志寄存器标志寄存器CU、时序电路、时序电路、操作控制器操作控制器2022年6月22日星期三7CPU模型图模型图动画演示:动画演示:5-1.swf5-1.swf运算器运算器Cache控制器控制器2022年6月22日星期三85.1.3CPU中的主要寄存器(中的主要寄存器(1/3) 1. 数据缓冲寄存器(数据缓冲寄存器(DR) 暂时存放暂时存放CPU与外界传送的数据,可以是指令字或数据字。与外界传送的数据,可以是指令字或数据字。 作用作用 : 作为作为CPU和内存、外部设备之间信息传送的中转站;和内

6、存、外部设备之间信息传送的中转站;补偿补偿CPU和内存、外围设备之间在操作速度上的差别;和内存、外围设备之间在操作速度上的差别;2. 通用寄存器通用寄存器 功能:暂时存放功能:暂时存放ALU运算的数据或结果。运算的数据或结果。 CPU中的通用寄存器可多达中的通用寄存器可多达16个,个,32个,甚至更多。个,甚至更多。2022年6月22日星期三95.1.3CPU中的主要寄存器(中的主要寄存器(2/3) 3.状态条件寄存器(状态条件寄存器(PSW) 保存各种状态和条件控制信号;保存各种状态和条件控制信号;u 进位标志进位标志(C),溢出标志,溢出标志(V),零标,零标 志志(Z),符号标志,符号标

7、志(N) 每个信号由一个触发器保存,从而拼成一个寄存器。每个信号由一个触发器保存,从而拼成一个寄存器。4.地址寄存器(地址寄存器(AR) 保存当前保存当前CPU所访问数据的内存单元地址;所访问数据的内存单元地址; 主要用于解决主存主要用于解决主存/外设和外设和CPU之间的速度差异,使地址信之间的速度差异,使地址信息可以保持到主存息可以保持到主存/外设的读写操作完成为止外设的读写操作完成为止 。2022年6月22日星期三105.1.3CPU中的主要寄存器(中的主要寄存器(3/3) 5.程序计数器(程序计数器(PC)始终存放下一条指令的地址,对应于指令始终存放下一条指令的地址,对应于指令Cache

8、的访问;的访问;其内容变化分两种情况其内容变化分两种情况u顺序执行:顺序执行: PC+1PCu转移执行转移执行: (指令指令OPR)PC6.指令寄存器(指令寄存器(IR)保存当前正在执行的一条指令。保存当前正在执行的一条指令。指令寄存器中操作码字段的输出就是指令译码器的输入。指令寄存器中操作码字段的输出就是指令译码器的输入。寄存功能寄存功能计数功能计数功能2022年6月22日星期三115.1.4 操作控制器与时序产生器操作控制器与时序产生器 l数据通路数据通路 寄存器之间传送信息的通路。寄存器之间传送信息的通路。l操作控制器操作控制器 根据指令操作码和时序信号,产生各种操作控制信号;根据指令操

9、作码和时序信号,产生各种操作控制信号; 建立正确地数据通路,从而完成指令的执行。建立正确地数据通路,从而完成指令的执行。l根据设计方法不同,操作控制器可分为根据设计方法不同,操作控制器可分为硬布线控制器硬布线控制器:采用时序逻辑技术实现;:采用时序逻辑技术实现;微程序控制器微程序控制器:采用存储逻辑实现;:采用存储逻辑实现;前两种方式的结合前两种方式的结合;l时序产生器时序产生器 对各种操作实施时间的控制。对各种操作实施时间的控制。2022年6月22日星期三12数据通路的建立数据通路的建立增量增量写入写入读出读出写入写入读出读出写入写入读出读出锁存锁存锁存锁存写入写入读出读出写入写入读出读出运

10、算运算类型类型读出读出写入写入2022年6月22日星期三135.2 指令周期指令周期l5.2.1 指令周期的基本概念指令周期的基本概念l5.2.2 MOV R0 , R1指令指令的的指令指令周期周期l5.2.3 LAD R1 , 6指令的指令周期指令的指令周期l5.2.4ADD R1 , R2指令的指令周期指令的指令周期 l5.2.5STO R2 , (R3)指令的指令周期指令的指令周期 l5.2.6 JMP 101指令的指令周期指令的指令周期l5.2.7 用方框图语言表示指令周期用方框图语言表示指令周期2022年6月22日星期三145.2.1 指令周期的基本概念指令周期的基本概念 lCPU执

11、行程序是一个执行程序是一个“取指令取指令执行指令执行指令”的循环过程。的循环过程。l指令周期指令周期 CPU从内存中从内存中取出取出一条指令,并一条指令,并执行执行的时间总和;的时间总和;lCPU周期周期 又称机器周期,一般为从内存读取一条指令字的最短时间;又称机器周期,一般为从内存读取一条指令字的最短时间; 一个一个CPU周期可以完成周期可以完成CPU的一个基本操作。的一个基本操作。 l时钟周期时钟周期 也叫节拍脉冲或也叫节拍脉冲或T周期,是计算机处理操作的基本时间单位。周期,是计算机处理操作的基本时间单位。动画演示:动画演示:5-2.swf5-2.swf2022年6月22日星期三15关于指

12、令周期关于指令周期l一个完整的指令周期由一个完整的指令周期由若干机若干机器周期器周期:取指周期取指周期间址周期间址周期执行周期执行周期中断周期中断周期l所有指令的所有指令的第一个机器周期必第一个机器周期必为取指周期为取指周期;l一个基本的一个基本的CPU周期包含周期包含4个时个时钟周期钟周期,对于某些,对于某些CPU周期可周期可以包含更多的时钟周期。以包含更多的时钟周期。l不同指令的指令周期所包含的不同指令的指令周期所包含的时钟周期个数时钟周期个数不一定相同不一定相同。求操作数求操作数有效地址有效地址本教材上,间址周本教材上,间址周期和执行周期统称期和执行周期统称为执行周期!为执行周期!202

13、2年6月22日星期三16一个简单的程序一个简单的程序地址地址 指令指令说明说明100程序执行前设置程序执行前设置(R0)=00,(R1)=10;(R2)=20,(R3)=30101MOV R0 , R1传送指令传送指令MOV执行执行(R1)R0102LAD R1 , 6取数指令取数指令LAD从从6号单元中取数号单元中取数100R1103ADD R1 , R2加法指令加法指令ADD执行执行(R1)+(R2)R2,结果为结果为(R2)=120104STO R2 , (R3)存数指令存数指令STO用用(R3)间接寻址间接寻址,(R2)=120写入写入30号单元号单元105JMP 101转移指令转移指

14、令JMP改变程序执行顺序改变程序执行顺序,转到转到101号单元号单元106AND R1 , R3逻辑与指令逻辑与指令AND执行执行(R1) (R2) R3地址地址数据数据570610076610773040(120)2022年6月22日星期三175.2.2 MOV R0 , R1指令的指令周期指令的指令周期lMOV是一条是一条RR型指令,它需型指令,它需要两个要两个CPU 周期:周期:取指周期取指周期从存储器中取出指令;从存储器中取出指令;程序计数器程序计数器PC加加1;译码或测试指令操作码,译码或测试指令操作码,发出控制信号;发出控制信号;执行周期执行周期u在控制信号的作用下,在控制信号的作

15、用下,将将R1中的数据经过中的数据经过ALU送入送入R0;2022年6月22日星期三18MOV R0 , R1指令的执行过程演示指令的执行过程演示101101MOV R0 , R1MOV R0 , R1102102MOVMOV1010动画动画演示演示2022年6月22日星期三19MOV R0 , R1指令周期中的控制信号指令周期中的控制信号1.取指周期取指周期 PCABUS指令指令Cache ,译码并启动;,译码并启动;指令指令Cache IR;PC PC+1,为取下条指令做好准备;,为取下条指令做好准备;IR中的操作码被译码或测试,中的操作码被译码或测试,CPU识别出是指令识别出是指令MOV

16、。2.执行指令阶段执行指令阶段R1ALU,R1中数据通过中数据通过ALU传送;传送;ALU DBUS DRR0;PCPC读读指令指令CacheCache启动启动指令指令CacheCache读读IRIR写写PCPC增量增量R1R1读读ALUALU传送控制传送控制ALUALU输出输出DRDR锁存锁存R0R0写写2022年6月22日星期三205.2.3 LAD R1 , 6指令的指令周期指令的指令周期lLAD指令是指令是RS型指令,型指令,需要访存获取操作数,共需要访存获取操作数,共包含三个包含三个CPU周期:周期:取值周期取值周期间址周期间址周期u从从IR的地址码字段获的地址码字段获取操作数地址;

17、(或取操作数地址;(或者通过计算获得者通过计算获得EA)执行周期执行周期u访存获取操作数送入访存获取操作数送入通用寄存器通用寄存器R1;2022年6月22日星期三21LAD R1 , 6指令的执行过程演示指令的执行过程演示102102LAD R1,6LAD R1,6103103LADLAD6 6100100动画动画演示演示2022年6月22日星期三22LAD R1 , 6指令周期中的控制信号指令周期中的控制信号1.LAD取指周期取指周期CPU动作与取动作与取MOV指令的取值周期中一样。指令的取值周期中一样。2.LAD指令的执行周期指令的执行周期IR DBUS AR;u该过程为寻址周期;该过程为

18、寻址周期; ARABUS数据数据Cache ,译码并启动;,译码并启动;数据数据Cache DBUS DRR1;IRIR读读ARAR锁存锁存数据数据CacheCache启动启动数据数据CacheCache读读DRDR锁存锁存R1R1写写2022年6月22日星期三235.2.4ADD R1 , R2指令的指令周期指令的指令周期 lADD指令的指令周期由两个指令的指令周期由两个CPU周期组成周期组成 。取指周期(略)取指周期(略)执行周期执行周期u从寄存器从寄存器R1、R2中取出数据,作为源操作数;中取出数据,作为源操作数;u将两数据送往将两数据送往ALU,并使,并使ALU进行加运算;进行加运算;

19、u结果保存到结果保存到R1中。中。2022年6月22日星期三24ADD R1 , R2指令的执行过程演示指令的执行过程演示103103ADD R1,R2ADD R1,R2104104ADDADD1001002020120120动画动画演示演示2022年6月22日星期三25ADD R1 , R2指令周期中的控制信号指令周期中的控制信号取指周期(略)取指周期(略)CPU动作与取动作与取MOV指令的取值周期中一样。指令的取值周期中一样。执行周期执行周期R1、R2ALU;ALU做加运算,将两数相加;做加运算,将两数相加;ALUDBUSDRR1,保存结果;,保存结果;R1R1读读R2R2读读ALUALU

20、加加ALUALU输出输出DRDR锁存锁存R1R1写写2022年6月22日星期三265.2.5STO R2 , (R3)指令的指令周期指令的指令周期 lSTO指令是指令是RS型指令,需要型指令,需要3个个CPU周期。周期。取指周期(略)取指周期(略)间址周期间址周期u根据根据R3中的地址寻址所要访问的存储单元;中的地址寻址所要访问的存储单元;执行周期执行周期u将寄存器将寄存器R2中的数据送入指定的存储单元;中的数据送入指定的存储单元;2022年6月22日星期三27STO R2 , (R3)指令的执行过程演示指令的执行过程演示104104STO R2,(STO R2,(R3) )105105STO

21、STO动画动画演示演示 30 120 2022年6月22日星期三28STO R2 , (R3)指令周期中的控制信号指令周期中的控制信号1. 取指周期(略)取指周期(略)2. 执行周期执行周期 R3DBUSAR,发出地址启动数据,发出地址启动数据Cache;u该过程为间址周期;该过程为间址周期; R2DBUS数据数据Cache;R3R3读读ARAR锁存锁存R2R2读读数据数据CacheCache写写2022年6月22日星期三295.2.6 JMP 101指令的指令周期指令的指令周期lJMP指令是一条无条件转移指令,用来改变程序的指令是一条无条件转移指令,用来改变程序的执行顺序;执行顺序;lJMP

22、指令的执行需要两个指令的执行需要两个CPU周期:周期:取指周期(略)取指周期(略)执行周期执行周期u使用使用JMP指令中的直接地址为指令中的直接地址为PC赋值;赋值;2022年6月22日星期三30JMP 101指令的执行过程演示指令的执行过程演示105105JMP 101JMP 101106106JMPJMP动画动画演示演示1011012022年6月22日星期三31JMP 101指令指令周期中的控制信号周期中的控制信号1. 取指周期(略)取指周期(略)2. 执行周期执行周期 IRDBUSPC;IRIR读读PCPC写写2022年6月22日星期三325.2.7用方框图语言表示指令周期用方框图语言表

23、示指令周期l方框方框代表一个代表一个CPU周期;周期;方框中的内容表示数据通路的操作或某种控制操作。方框中的内容表示数据通路的操作或某种控制操作。 l菱形菱形通常用来表示某种判别或测试;通常用来表示某种判别或测试;时间上依附于之前一个方框的时间上依附于之前一个方框的CPU周期,而不单独占用一周期,而不单独占用一个个CPU周期;周期;l(公操作符号)(公操作符号)表示一条指令已经执行完毕,转入公操作。表示一条指令已经执行完毕,转入公操作。所谓公操作所谓公操作就是一条指令执行完毕后,就是一条指令执行完毕后,CPU所开始的一些所开始的一些操作,比如对外围设备请求的处理等。操作,比如对外围设备请求的处

24、理等。动画演示动画演示 5.14.swf2022年6月22日星期三33P139 图图5.14方框图语言表示的指令周期方框图语言表示的指令周期 MOV R0 , R1 LAD R1 , 6 ADD R1 , R2 STO R2 , (R3) JMP 101 2022年6月22日星期三34课本课本P139 【例【例1】l图图5.15所示为双总线结构机器的数据通路,各构成部件如图,所示为双总线结构机器的数据通路,各构成部件如图,线上标注有小圈表示有控制信号,未标字符的线为直通线。线上标注有小圈表示有控制信号,未标字符的线为直通线。 “ADD R2,R0”指令完成指令完成(R0)+(R2)R0的功能操

25、作,画的功能操作,画出其指令周期流程图,并列出相应的微操作控制信号序列。出其指令周期流程图,并列出相应的微操作控制信号序列。 “SUB R1,R3”指令完成指令完成(R3)-(R1)R3的操作,画出其的操作,画出其指令期流程图,并列出相应的微操作控制信号序列。指令期流程图,并列出相应的微操作控制信号序列。2022年6月22日星期三35l 指令周期应包括指令周期应包括取指取指周期周期和和执行周期执行周期;l 执行周期中应首先将执行周期中应首先将R0、R2两寄存器的两寄存器的内容送入内容送入ALU的操作的操作数缓冲器中,再执行数缓冲器中,再执行加法运算;加法运算;(1) “ADD R2,R0” (

26、R0)+(R2)R0(PC)AR(M)DR(DR)IR译码译码(R2)Y(R0)X(R0)+(R2)R0取指周期取指周期执行周期执行周期PC0GARiR/W=1DR0GIRiR20GYiR00GXi+GR0i2022年6月22日星期三36指令指令ADD R2,R0的执行过程的执行过程指令指令地址地址指令指令R2R0和和2022年6月22日星期三37l指令周期应包括指令周期应包括取指周取指周期期和和执行周期执行周期;l取指周期与取指周期与ADD指令指令完全相同;完全相同;l执行周期与执行周期与ADD指令指令不同之处在于不同之处在于ALU的的控制信号为控制信号为“”(2) “SUB R1,R3”

27、(R3) (R1)R3(PC)AR(M)DR(DR)IR译码译码(R3)Y(R1)X(R3)-(R1)R3取指周期取指周期执行周期执行周期PC0GARiR/W=1DR0GIRiR30GYiR10GXiGR3i2022年6月22日星期三38参考上例试写出下列指令的微操作序列参考上例试写出下列指令的微操作序列l指令指令STO R1,(R2)功能:功能:R1(R2),将,将R1的数据送入的数据送入R2指向的单元中;指向的单元中;l指令指令LAD (R3),R0功能:将功能:将R3指向单元中的数据送入指向单元中的数据送入R0中;中;l指令指令ADD R0,(R1)功能:将功能:将R1指向单元中的数据和

28、指向单元中的数据和R0的内容相加,并将结果存的内容相加,并将结果存入入R0寄存器中。寄存器中。l指令指令ADD (R1),R0功能:功能:(R0)+(R1)(R1),将,将R0中的数据与中的数据与R1指向单元中指向单元中的数据相加,并将结果送入的数据相加,并将结果送入R1指向的单元中;指向的单元中;2022年6月22日星期三39计算机的性能指标计算机的性能指标l主频主频/时钟周期时钟周期主时钟的频率主时钟的频率(f)叫叫CPU的主频的主频;主频的倒数称为主频的倒数称为CPU时钟周期(时钟周期(T),),T=1/f。lCPI执行一条指令所需的平均时钟周期数。执行一条指令所需的平均时钟周期数。lM

29、IPS每秒百万指令数,即单位时间内执行的指令数。每秒百万指令数,即单位时间内执行的指令数。2022年6月22日星期三40【例【例1】某】某CPU的主频为的主频为8MHz,设每个,设每个CPU周期平周期平均包括均包括4个时钟周期,且该机平均指令执行速个时钟周期,且该机平均指令执行速度为度为1MIPS。 求该机平均指令周期。求该机平均指令周期。 平均指令周期平均指令周期 求每个指令周期包含的平均求每个指令周期包含的平均CPU周期。周期。 时钟周期时钟周期 一个一个CPU周期为周期为4个时钟周期,则个时钟周期,则40.125=0.5us; 故每个指令周期包含故每个指令周期包含1/0.5=2个平均个平

30、均CPU周期。周期。1 1秒秒1 1百万条指令百万条指令1 110106 61us1 1 8MHz0.125us2022年6月22日星期三41【例【例2】 若某机主频为若某机主频为200MHz,每个指令周期,每个指令周期平均为平均为2.5个个CPU周期,每个周期,每个CPU周期周期平均包括平均包括2个主频周期。个主频周期。该机平均指令执行速度为多少该机平均指令执行速度为多少MIPS?执行一条指令的时间执行一条指令的时间 2.5 2时钟周期时钟周期 2.5 2平均指令执行速度平均指令执行速度1/平均指令周期平均指令周期若主频不变,但每条指令平均包括若主频不变,但每条指令平均包括5个个CPU周期,

31、每个周期,每个CPU周周期又包含期又包含4个主频周期,平均指令执行速度为多少个主频周期,平均指令执行速度为多少MIPS?执行一条指令的时间执行一条指令的时间 2.5 2时钟周期时钟周期 5 4平均指令执行速度平均指令执行速度1/平均指令周期平均指令周期 1 1 200MHz40MIPS 1 1 200MHz10MIPS 1 1 40M 1 1 10M2022年6月22日星期三425.3 时序产生器和控制方式时序产生器和控制方式 l5.3.1 时序信号的作用和体制时序信号的作用和体制l5.3.2 时序信号产生器时序信号产生器l5.3.3 控制方式控制方式2022年6月22日星期三435.3.1

32、时序信号的作用和体制时序信号的作用和体制l时序信号的作用时序信号的作用使计算机准确、迅速、有条不紊地工作;使计算机准确、迅速、有条不紊地工作;lCPU通过时序控制来识别指令和数据:通过时序控制来识别指令和数据:指令周期的第一个指令周期的第一个CPU周期周期取指周期取指周期;u从存储单元中取出的一定是指令,需要送往从存储单元中取出的一定是指令,需要送往IR指令寄存器;指令寄存器;指令周期的其他指令周期的其他CPU周期周期执行周期执行周期;u从存储单元中取出的一定是数据,需要送往运算器。从存储单元中取出的一定是数据,需要送往运算器。l时序信号的体制:时序信号的体制:电位电位脉冲制脉冲制脉冲到达之前

33、,电平信号必须要稳定;脉冲到达之前,电平信号必须要稳定;CPUCPU的时间表的时间表2022年6月22日星期三44控制器的时序信号控制器的时序信号l硬布线控制器的时序信号硬布线控制器的时序信号常采用常采用主状态周期节拍电位节拍脉冲主状态周期节拍电位节拍脉冲三级体制。三级体制。l微程序控制器的时序信号微程序控制器的时序信号一般采用一般采用节拍电位节拍脉冲节拍电位节拍脉冲二级体制。二级体制。节拍节拍脉冲脉冲节拍节拍电位电位1主状态主状态周期周期节拍节拍电位电位2节拍电位节拍电位可表示一可表示一个个CPUCPU周期周期主状态周期可主状态周期可包含若干个节包含若干个节拍电位,是最拍电位,是最大的时间单

34、位大的时间单位时钟周期时钟周期2022年6月22日星期三455.3.2 时序信号产生器时序信号产生器l时序信号产生器:用逻辑电路实现时序的控制;时序信号产生器:用逻辑电路实现时序的控制;l微程序控制器中时序信号产生器的组成:微程序控制器中时序信号产生器的组成: P142图图5.17时钟源时钟源提供稳定的基本方波时钟信号;提供稳定的基本方波时钟信号;环形脉冲发生器环形脉冲发生器产生一组有序的间隔相等或不等的脉冲序列;产生一组有序的间隔相等或不等的脉冲序列;节拍脉冲和读写时序译码逻辑节拍脉冲和读写时序译码逻辑 环形脉冲与节拍脉冲共同作用产生各控制信号的时序;环形脉冲与节拍脉冲共同作用产生各控制信号

35、的时序;启停控制逻辑启停控制逻辑 2022年6月22日星期三465.3.3控制方式控制方式 l控制器的控制方式控制器的控制方式控制不同操作序列的时序信号的方法。控制不同操作序列的时序信号的方法。 l同步控制方式同步控制方式在任何情况下,已定的指令在执行时所需的机器周期数和时在任何情况下,已定的指令在执行时所需的机器周期数和时钟周期数都固定不变。钟周期数都固定不变。 l异步控制方式异步控制方式每条指令、每个操作控制信号需要多少时间就占用多少时间。每条指令、每个操作控制信号需要多少时间就占用多少时间。 l联合控制方式联合控制方式大部分操作序列为固定的机器周期,对某些时间难以确定的大部分操作序列为固

36、定的机器周期,对某些时间难以确定的操作则以执行部件的操作则以执行部件的“回答回答”信号作为本次操作的结束。信号作为本次操作的结束。机器周期的节拍脉冲数固定,但是各条指令周期的机器周期机器周期的节拍脉冲数固定,但是各条指令周期的机器周期数不固定。数不固定。2022年6月22日星期三475.4 微程序控制器微程序控制器 l5.4.1 微程序控制原理微程序控制原理l5.4.2 微程序设计技术微程序设计技术2022年6月22日星期三485.4.1 微程序控制原理微程序控制原理l微程序设计技术是微程序设计技术是利用软件方法来设计硬件利用软件方法来设计硬件的一门技术。的一门技术。具有具有规整性、灵活性、可

37、维护性规整性、灵活性、可维护性等一系列优点;等一系列优点;逐渐取代了早期的组合逻辑控制器,已被广泛地应用。逐渐取代了早期的组合逻辑控制器,已被广泛地应用。l基本思想基本思想仿照通常的解题程序的方法,仿照通常的解题程序的方法,把操作控制信号编成所谓的把操作控制信号编成所谓的“微指令微指令”,存放到一个只读存储器里;,存放到一个只读存储器里;当机器运行时,一条一条地读出这些微指令,从而产生全当机器运行时,一条一条地读出这些微指令,从而产生全机所需要的各种操作控制信号,使部件执行规定的操作。机所需要的各种操作控制信号,使部件执行规定的操作。2022年6月22日星期三491、微命令和微操作、微命令和微

38、操作l控制部件与执行部件之间的联系控制部件与执行部件之间的联系控制部件向执行部件发出控制信号;控制部件向执行部件发出控制信号;执行部件向控制部件返回状态信息;执行部件向控制部件返回状态信息; l微命令微命令控制部件通过控制线向执行部件发出的各种控制命令;控制部件通过控制线向执行部件发出的各种控制命令;l微操作微操作执行部件接受微命令后所执行的操作;执行部件接受微命令后所执行的操作;l状态测试状态测试执行部件通过反馈线向控制部件反映当前操作状态,以使执行部件通过反馈线向控制部件反映当前操作状态,以使控制部件决定下一步的微命令;控制部件决定下一步的微命令;控制线控制线执行部件的最基本的操作执行部件

39、的最基本的操作2022年6月22日星期三50微操作的分类微操作的分类l相容性微操作相容性微操作在同时或同一个在同时或同一个CPU周期内可以并行执行的微周期内可以并行执行的微操作;操作;l相斥性微操作相斥性微操作不能在同时或不能在同一个不能在同时或不能在同一个CPU周期内并行执周期内并行执行的微操作。行的微操作。2022年6月22日星期三51简单运算器数据通路简单运算器数据通路相斥性相斥性微操作微操作相斥性相斥性微操作微操作相斥性相斥性微操作微操作相容性相容性微操作微操作动画演示:动画演示:5-20.swf5-20.swf2022年6月22日星期三522、微指令和微程序、微指令和微程序l微指令微

40、指令一个一个CPU周期中,实现一定操作功能的一组微命令的组合。周期中,实现一定操作功能的一组微命令的组合。微指令微指令一般包含一般包含操作控制操作控制和和顺序控制顺序控制两大部分两大部分u操作控制:用于发出管理和指挥全机工作的控制信号;操作控制:用于发出管理和指挥全机工作的控制信号;u顺序控制:用于决定产生下一条微指令的地址;顺序控制:用于决定产生下一条微指令的地址;所有的微指令都存放于控制存储器中,使用所有的微指令都存放于控制存储器中,使用地址地址访问;访问;l微程序微程序能实现一条机器指令功能的多条微指令序列;能实现一条机器指令功能的多条微指令序列;每条机器指令都对应着一段微程序;每条机器

41、指令都对应着一段微程序;微地址微地址2022年6月22日星期三53l顺序控制部分的顺序控制部分的P1、P2为判别测试标志;为判别测试标志;若为若为00,则顺序寻址微指令;,则顺序寻址微指令;若为若为01、10,则跳跃寻址微指令。,则跳跃寻址微指令。l直接地址直接地址2023位位顺序寻址时,直接地址即为下一条微指令地址;顺序寻址时,直接地址即为下一条微指令地址;跳跃寻址时,则要对直接地址修改,得到下条微指令地址;跳跃寻址时,则要对直接地址修改,得到下条微指令地址;微指令基本格式微指令基本格式节拍脉节拍脉冲信号冲信号节拍电节拍电位信号位信号2022年6月22日星期三543、微程序控制器原理框图、微

42、程序控制器原理框图l微程序控制器主要构成部件:微程序控制器主要构成部件: P147图图5.23控制存储器(控制存储器(CM)u存放实现全部指令系统的微指令;存放实现全部指令系统的微指令;u由只读存储器构成,要求速度快,读出周期短。由只读存储器构成,要求速度快,读出周期短。微指令寄存器微指令寄存器 存放由控制存储器读出的一条微指令信息;存放由控制存储器读出的一条微指令信息;u微地址寄存器:微地址寄存器:决定将要访问的下一条微指令的地址;决定将要访问的下一条微指令的地址;u微命令寄存器微命令寄存器:保存一条微指令的操作控制字段和判别测试字:保存一条微指令的操作控制字段和判别测试字段的信息。段的信息

43、。地址转移逻辑地址转移逻辑u用于跳跃寻址微指令时,承担自动完成修改微地址的任务。用于跳跃寻址微指令时,承担自动完成修改微地址的任务。2022年6月22日星期三55P147图图5.23 微程序控制器原理框图微程序控制器原理框图动画演示:动画演示:5-23.swf5-23.swf2022年6月22日星期三56微程序控制器的工作过程微程序控制器的工作过程l“取指微指令取指微指令”为所有指令的公用微指令;为所有指令的公用微指令;通常放在控制存储器中的通常放在控制存储器中的“0”地址单元地址单元;所有机器指令的所有机器指令的最后一条微指令的直接地址最后一条微指令的直接地址都指向都指向0地址单地址单元,用

44、以取下一条微指令。元,用以取下一条微指令。l取得机器指令后,取得机器指令后,经过经过P1测试测试,即操作码测试,产生对应的微,即操作码测试,产生对应的微程序入口地址,并送入微地址寄存器。程序入口地址,并送入微地址寄存器。l指令执行过程中,指令执行过程中,通过通过P2测试测试,修正下一条微指令的地址,逐,修正下一条微指令的地址,逐条读取微指令执行。条读取微指令执行。l执行完对应于一条机器指令的微程序后,返回到取指微指令,执行完对应于一条机器指令的微程序后,返回到取指微指令,不断重复,直至程序执行完毕。不断重复,直至程序执行完毕。2022年6月22日星期三574、微程序举例、微程序举例l “十进制

45、加法十进制加法”指令是用指令是用BCD码来完成十进制数的加法运算。码来完成十进制数的加法运算。当两数位相加小于等于当两数位相加小于等于9时,结果正确;时,结果正确;当两数位相加大于当两数位相加大于9时,必须对和数位进行加时,必须对和数位进行加6的修正。的修正。l例如:例如:3+4 = 0011 + 0100 = 0111= 78+7 = 1000 + 0111 = 111125+36 = 0010 0101 + 0011 0110 =0101 1011+ 0110 = 0001 0101= 15 = 0110 0001以以“十进制加法十进制加法”指令为指令为例例+ 01102022年6月22日

46、星期三58(R2) - (R3) R2十进制加法指令的微指令执行流程十进制加法指令的微指令执行流程l假定假定(R1)=a,(R2)=b,(R3)=6;l第一条微指令第一条微指令取指微指令取指微指令从内存中取出该指令,并修改从内存中取出该指令,并修改PC的值;的值;对操作码进行对操作码进行P1测试,确定下一条微指测试,确定下一条微指令的地址;令的地址;l第二条微指令第二条微指令两数相加微指令两数相加微指令l第三条微指令第三条微指令和数修正微指令和数修正微指令P2测试,根据进位标志决定下一条微指测试,根据进位标志决定下一条微指令的地址令的地址l第四条微指令第四条微指令和数逆修正微指令和数逆修正微指

47、令取指令取指令P1测试测试(R1)+(R2) R2(R2)+(R3) R2P2测试测试Cy=1Cy=02022年6月22日星期三59十进制加法指令的微指令十进制加法指令的微指令l第一条微指令(取微指令)第一条微指令(取微指令)000 00 00 00 000 11111 10 0000l第二条微指令(两数相加)第二条微指令(两数相加)010 10 01 00 100 00000 00 1001l第三条微指令(和数加第三条微指令(和数加6)010 00 10 01 100 00000 01 0000l第四条微指令(和数减第四条微指令(和数减6)010 00 10 01 001 00000 00

48、0000取微指令取微指令和数减和数减6和数加和数加6两数相加两数相加0000000110011010控制存储器控制存储器LDARRDLDDRLDIRPC+1R1XR2Y+LDR2R2XR3Y+LDR2R2XR3YLDR2动画演示:动画演示: 十进制加法指十进制加法指令微程序令微程序.swf.swf2022年6月22日星期三605、CPU周期与微指令周期的关系周期与微指令周期的关系l微指令周期微指令周期读出微指令的时间加上执行该条微指令的时间;读出微指令的时间加上执行该条微指令的时间;串行方式的微程序控制器中的概念;串行方式的微程序控制器中的概念;l一般来讲,一个微指令周期时间设计得恰好和一般来

49、讲,一个微指令周期时间设计得恰好和CPU周期时间相等。周期时间相等。 2022年6月22日星期三61CPU周期与微指令周期关系的例子周期与微指令周期关系的例子lCPU周期为周期为0.8us,包括,包括4个节拍脉冲个节拍脉冲T1T4,每个脉冲,每个脉冲200ns;T1T3的的600ns为执行微指令的时间;为执行微指令的时间;T4的的200ns为取微指令的时间;为取微指令的时间;lT1的上升沿,将读出的微指令存入微指令寄存器;的上升沿,将读出的微指令存入微指令寄存器;lT4的上升沿保存微指令的执行结果,的上升沿保存微指令的执行结果,T4期间取微指令。期间取微指令。T1 T2 T3 T4 T1 T2

50、 T3 T4T4T4执行微指令执行微指令 微指令周期微指令周期CPU周期周期CPU周期周期 读读微指令微指令 2022年6月22日星期三626、机器指令与微指令的关系、机器指令与微指令的关系l一条机器指令对应一个微程序,一个微程序由若干条微指一条机器指令对应一个微程序,一个微程序由若干条微指令序列组成的;令序列组成的;一条机器指令所完成的操作划分成若干条微指令来完成,一条机器指令所完成的操作划分成若干条微指令来完成,由微指令进行解释和执行。由微指令进行解释和执行。l从指令与微指令,程序与微程序,地址与微地址的一一对从指令与微指令,程序与微程序,地址与微地址的一一对应关系来看,应关系来看,前者与

51、内存有关前者与内存有关,后者与控制存储器有关后者与控制存储器有关。l每一个每一个CPU周期对应一条微指令。周期对应一条微指令。动画演示:动画演示: 5.27.swf5.27.swf2022年6月22日星期三63【例】【例】 设某设某16位计算机运算器框图如下图位计算机运算器框图如下图(a)所示,其中所示,其中ALU为为16位的加法器位的加法器(高电平工作高电平工作),SA、SB为为16位暂存器。位暂存器。4个通用寄存器,其读、写控制功个通用寄存器,其读、写控制功能见下表。能见下表。 读控制读控制RRA0 RA1选中选中100R0101R1110R2111R30不读不读写控制写控制WWA0 WA

52、1 选中选中100R0101R1110R2111R30不写不写2022年6月22日星期三64l 控制信号说明控制信号说明 RA0RA1 / WA0WA1 :读写通用寄存器时,选择所读写的寄存器;:读写通用寄存器时,选择所读写的寄存器; R / W:寄存器读:寄存器读 / 写命令;写命令; LDSA / LDSB :将数据打入:将数据打入SA / SB的控制信号;的控制信号; SB ALU:将:将SB中数据送入中数据送入ALU的控制信号;的控制信号; ALU:传送:传送SB的控制信号,并使加法器最低位加的控制信号,并使加法器最低位加1; Reset:清暂存器:清暂存器SB为零的信号;为零的信号;

53、 :一段微程序结束,转入取机器指令的控制信号;:一段微程序结束,转入取机器指令的控制信号;l 要求:用二进制代码写出如下指令的微程序:要求:用二进制代码写出如下指令的微程序: “ADD R0,R1”指令,即指令,即(R0)+(R1)R1 “SUB R2,R3”指令,即指令,即(R3)-(R2)R3 “MOV R2,R3”指令,即指令,即(R2)(R3)【例】微指令【例】微指令字长字长12位,微指令格式如下所示(未位,微指令格式如下所示(未考虑顺序控制字段)。考虑顺序控制字段)。WA1RA1RA0WA0R WLDSALDSBSBALU SBALUReset SB2022年6月22日星期三65【例

54、】解答【例】解答l三条指令的微指令的微程序流程图三条指令的微指令的微程序流程图l三条指令的微程序代码如下表:三条指令的微程序代码如下表:未考虑未考虑“取指周期取指周期”和顺序控制问题,仅考虑和顺序控制问题,仅考虑“执行周执行周期期”;每一个方框表示一条微指令,用数字序号标明微指令序列每一个方框表示一条微指令,用数字序号标明微指令序列的顺序。的顺序。 指令指令微程序代码微程序代码ADD1. 00*101000002. 01*100100003. *0101001001SUB4. 11*101000005. 10*100100006. *1101000101MOV7. 10*101000008.

55、*11010010112022年6月22日星期三665.4.2 微程序设计技术微程序设计技术 1. 微命令编码微命令编码2. 微地址的形成方法微地址的形成方法3. 微指令格式微指令格式4. 动态微程序设计动态微程序设计2022年6月22日星期三671、微命令编码、微命令编码l微指令中微指令中操作控制字段操作控制字段的编码表示方法,以及如何把编码翻译的编码表示方法,以及如何把编码翻译成相应的微指令。成相应的微指令。l微命令编码主要考虑的问题:微命令编码主要考虑的问题:如何有效缩短微指令字长;如何有效缩短微指令字长;如何有利于缩短微程序,减少所需的控存空间;如何有利于缩短微程序,减少所需的控存空间

56、;如何有利于提高微程序执行速度;如何有利于提高微程序执行速度;l微命令编码表示方法微命令编码表示方法直接表示法直接表示法、编码表示法编码表示法、混合表示法、混合表示法2022年6月22日星期三68直接表示法直接表示法l操作控制字段中的每一位代表一个微命令;操作控制字段中的每一位代表一个微命令;l优点优点简单直观,其输出可直接用于控制,执行速度快;简单直观,其输出可直接用于控制,执行速度快;l缺点缺点微指令字较长,因而使控制存储器容量较大。微指令字较长,因而使控制存储器容量较大。 . 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23LDR

57、1LDR2LDR3R1YR2XR2YR1XDRXR3Y + M - RDLDDRLDIRLDARPC+1 P1 P2直接地址直接地址 操作控制操作控制 顺序控制顺序控制2022年6月22日星期三69编码表示法(编码表示法(1/2)l编码方法编码方法将微指令操作控制字段划分为若干个将微指令操作控制字段划分为若干个子字段子字段;每个子字段的所有微命令进行统一编码;每个子字段的所有微命令进行统一编码;每个子字段的不同编码表示不同的微命令;每个子字段的不同编码表示不同的微命令;l例如,某机器指令系统总共需要例如,某机器指令系统总共需要256个微命令个微命令采用直接编码法采用直接编码法u微指令的操作控制

58、字段需微指令的操作控制字段需256位位;采用编码表示法采用编码表示法u若若4个微命令划分一个子字段,则每个子字段可编码个微命令划分一个子字段,则每个子字段可编码16个微命令;个微命令;u256个微命令需个微命令需16个子字段,即微指令的操作控制字段仅个子字段,即微指令的操作控制字段仅64位位。2022年6月22日星期三70编码表示法(编码表示法(2/2)l遵循原则:遵循原则:把把相斥的微命令相斥的微命令划分在同一个字段中,相容的微命令划分划分在同一个字段中,相容的微命令划分在不同字段;在不同字段;字段的划分应与数据通路结构相适应;字段的划分应与数据通路结构相适应;每个子字段应留出一个每个子字段

59、应留出一个空操作状态空操作状态;每个子字段所定义的微命令不宜太多;每个子字段所定义的微命令不宜太多;l优点优点可大大缩短微指令字长;可大大缩短微指令字长;l缺点缺点需要微命令译码需要微命令译码,故微程序的执行速度稍稍减慢。,故微程序的执行速度稍稍减慢。2022年6月22日星期三712、微地址的形成方法、微地址的形成方法l微程序的入口地址微程序的入口地址微程序的第一条微指令所在控存单元的地址;微程序的第一条微指令所在控存单元的地址;l现行微指令现行微指令执行微程序过程中,当前正在执行的微指令;执行微程序过程中,当前正在执行的微指令;现行微指令的地址称为现行微地址。现行微指令的地址称为现行微地址。

60、l后继微指令后继微指令现行微指令执行完毕后,下一条要执行的微指令;现行微指令执行完毕后,下一条要执行的微指令;后继微指令的地址称为后继微地址。后继微指令的地址称为后继微地址。l微指令中确定下一条微指令地址的方法;微指令中确定下一条微指令地址的方法;计数器方式计数器方式、多路转移方式多路转移方式;2022年6月22日星期三72计数器方式计数器方式l同同CPU中程序计数器产生机器指令地址的方法相类似。中程序计数器产生机器指令地址的方法相类似。l优点优点微指令的顺序控制字段较短,微地址产生机构简单。微指令的顺序控制字段较短,微地址产生机构简单。l缺点缺点多路并行转移功能较弱,速度较慢,灵活性较差。多

温馨提示

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

评论

0/150

提交评论