《白中英计算机组成原理第5章-中央处理机幻灯片课件.ppt》由会员分享,可在线阅读,更多相关《白中英计算机组成原理第5章-中央处理机幻灯片课件.ppt(106页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、白中英计算机组成原理第5章-中央处理机考研大纲要求考研大纲要求(一)(一)CPU的功能和基本结构的功能和基本结构(二)指令执行过程(二)指令执行过程(三)数据通路的功能和基本结构(三)数据通路的功能和基本结构(四)控制器的功能和工作原理(四)控制器的功能和工作原理1.硬布线控制器硬布线控制器2.微程序控制器微程序控制器微程序、微指令和微命令微程序、微指令和微命令微指令的编码方式;微地址的形成方式微指令的编码方式;微地址的形成方式(五)(五)指令流水线指令流水线1.指令流水线的基本概念指令流水线的基本概念2.超标量和动态流水线的基本概念超标量和动态流水线的基本概念11/16/202225.1CP
2、U的组成和功能的组成和功能l5.1.1CPU的功能的功能l5.1.2CPU的基本组成的基本组成l5.1.3CPU中的主要寄存器中的主要寄存器l5.1.4操作控制器与时序产生器操作控制器与时序产生器11/16/202235.1.1CPU的功能的功能lCPU(中央处理器)(中央处理器)控制程序按设定方式执行;控制程序按设定方式执行;lCPU的主要功能:的主要功能:指令控制指令控制u控制程序的执行顺序;控制程序的执行顺序;操作控制操作控制u产生和发送各操作信号;产生和发送各操作信号;时间控制时间控制u控制指令、或操作的实施时间;控制指令、或操作的实施时间;数据加工数据加工u对数据进行算术逻辑运算;对
3、数据进行算术逻辑运算;顺序寻址、跳跃寻址顺序寻址、跳跃寻址对指令操作码译码后产生控制信号对指令操作码译码后产生控制信号维持各类操作的时序关系维持各类操作的时序关系由由ALU完成具体的运算完成具体的运算11/16/202245.1.2CPU的基本组成的基本组成l现代的现代的CPU的组成的组成运算器、控制器运算器、控制器l控制器的主要功能控制器的主要功能从内存中取出一条指令,并指出下条指令的存放位置;从内存中取出一条指令,并指出下条指令的存放位置;对指令进行译码,产生相应的操作控制信号;对指令进行译码,产生相应的操作控制信号;控制控制CPU、内存和输入、内存和输入/输出设备之间数据流动;输出设备之
4、间数据流动;l运算器的主要功能:运算器的主要功能:执行所有的算术运算;执行所有的算术运算;执行所有的逻辑运算,并进行逻辑测试。执行所有的逻辑运算,并进行逻辑测试。冯冯诺依曼诺依曼机的定义机的定义、片内、片内Cache;PC、IRALU、通用寄存器组、通用寄存器组、标志寄存器标志寄存器CU、时序电路、时序电路、操作控制器操作控制器11/16/20225CPU模型图模型图动画演示:动画演示:5-1.swf5-1.swf运算器运算器Cache控制器控制器11/16/202265.1.3CPU中的主要寄存器(中的主要寄存器(1/3)1.数据缓冲寄存器(数据缓冲寄存器(DR)暂时存放暂时存放CPU与外界
5、传送的数据,可以是指令字或数据字。与外界传送的数据,可以是指令字或数据字。作用作用:作为作为CPU和内存、外部设备之间信息传送的中转站;和内存、外部设备之间信息传送的中转站;补偿补偿CPU和内存、外围设备之间在操作速度上的差别;和内存、外围设备之间在操作速度上的差别;2.通用寄存器通用寄存器功能:暂时存放功能:暂时存放ALU运算的数据或结果。运算的数据或结果。CPU中的通用寄存器可多达中的通用寄存器可多达16个,个,32个,甚至更多。个,甚至更多。11/16/202275.1.3CPU中的主要寄存器(中的主要寄存器(2/3)3.状态条件寄存器(状态条件寄存器(PSW)保存各种状态和条件控制信号
6、;保存各种状态和条件控制信号;u进位标志进位标志(C),溢出标志,溢出标志(V),零标,零标志志(Z),符号标志,符号标志(N)每个信号由一个触发器保存,从而拼成一个寄存器。每个信号由一个触发器保存,从而拼成一个寄存器。4.地址寄存器(地址寄存器(AR)保存当前保存当前CPU所访问数据的内存单元地址;所访问数据的内存单元地址;主要用于解决主存主要用于解决主存/外设和外设和CPU之间的速度差异,使地址信之间的速度差异,使地址信息可以保持到主存息可以保持到主存/外设的读写操作完成为止外设的读写操作完成为止。11/16/202285.1.3CPU中的主要寄存器(中的主要寄存器(3/3)5.程序计数器
7、(程序计数器(PC)始终存放下一条指令的地址,对应于指令始终存放下一条指令的地址,对应于指令Cache的访问;的访问;其内容变化分两种情况其内容变化分两种情况u顺序执行:顺序执行:PC+1PCu转移执行转移执行:(指令指令OPR)PC6.指令寄存器(指令寄存器(IR)保存当前正在执行的一条指令。保存当前正在执行的一条指令。指令寄存器中操作码字段的输出就是指令译码器的输入。指令寄存器中操作码字段的输出就是指令译码器的输入。寄存功能寄存功能计数功能计数功能11/16/202295.1.4操作控制器与时序产生器操作控制器与时序产生器l数据通路数据通路寄存器之间传送信息的通路。寄存器之间传送信息的通路
8、。l操作控制器操作控制器根据指令操作码和时序信号,产生各种操作控制信号;根据指令操作码和时序信号,产生各种操作控制信号;建立正确地数据通路,从而完成指令的执行。建立正确地数据通路,从而完成指令的执行。l根据设计方法不同,操作控制器可分为根据设计方法不同,操作控制器可分为硬布线控制器硬布线控制器:采用时序逻辑技术实现;:采用时序逻辑技术实现;微程序控制器微程序控制器:采用存储逻辑实现;:采用存储逻辑实现;前两种方式的结合前两种方式的结合;l时序产生器时序产生器对各种操作实施时间的控制。对各种操作实施时间的控制。11/16/202210数据通路的建立数据通路的建立增量增量写入写入读出读出写入写入读
9、出读出写入写入读出读出锁存锁存锁存锁存写入写入读出读出写入写入读出读出运算运算类型类型读出读出写入写入11/16/2022115.2指令周期指令周期l5.2.1指令周期的基本概念指令周期的基本概念l5.2.2MOVR0,R1指令的指令周期指令的指令周期l5.2.3LADR1,6指令的指令周期指令的指令周期l5.2.4ADDR1,R2指令的指令周期指令的指令周期l5.2.5STOR2,(R3)指令的指令周期指令的指令周期l5.2.6JMP101指令的指令周期指令的指令周期l5.2.7用方框图语言表示指令周期用方框图语言表示指令周期11/16/2022125.2.1指令周期的基本概念指令周期的基本
10、概念lCPU执行程序是一个执行程序是一个“取指令取指令执行指令执行指令”的循环过程。的循环过程。l指令周期指令周期CPU从内存中从内存中取出取出一条指令,并一条指令,并执行执行的时间总和;的时间总和;lCPU周期周期又称机器周期,一般为从内存读取一条指令字的最短时间;又称机器周期,一般为从内存读取一条指令字的最短时间;一个一个CPU周期可以完成周期可以完成CPU的一个基本操作。的一个基本操作。l时钟周期时钟周期也叫节拍脉冲或也叫节拍脉冲或T周期,是计算机处理操作的基本时间单位。周期,是计算机处理操作的基本时间单位。动画演示:动画演示:5-2.swf5-2.swf11/16/202213关于指令
11、周期关于指令周期l一个完整的指令周期由一个完整的指令周期由若干机若干机器周期器周期:取指周期取指周期间址周期间址周期执行周期执行周期中断周期中断周期l所有指令的所有指令的第一个机器周期必第一个机器周期必为取指周期为取指周期;l一个基本的一个基本的CPU周期包含周期包含4个时个时钟周期钟周期,对于某些,对于某些CPU周期可周期可以包含更多的时钟周期。以包含更多的时钟周期。l不同指令的指令周期所包含的不同指令的指令周期所包含的时钟周期个数时钟周期个数不一定相同不一定相同。求操作数求操作数有效地址有效地址本教材上,间址周本教材上,间址周期和执行周期统称期和执行周期统称为执行周期!为执行周期!11/1
12、6/202214一个简单的程序一个简单的程序地址地址 指令指令说明说明100程序执行前设置程序执行前设置(R0)=00,(R1)=10;(R2)=20,(R3)=30101MOVR0,R1传送指令传送指令MOV执行执行(R1)R0102LADR1,6取数指令取数指令LAD从从6号单元中取数号单元中取数100R1103ADDR1,R2加法指令加法指令ADD执行执行(R1)+(R2)R2,结果为结果为(R2)=120104STOR2,(R3)存数指令存数指令STO用用(R3)间接寻址间接寻址,(R2)=120写入写入30号单号单元元105JMP101转移指令转移指令JMP改变程序执行顺序改变程序执
13、行顺序,转到转到101号单元号单元106ANDR1,R3逻辑与指令逻辑与指令AND执行执行(R1)(R2)R3地址地址数据数据570610076610773040(120)11/16/2022155.2.2MOVR0,R1指令的指令周期指令的指令周期lMOV是一条是一条RR型指令,它需型指令,它需要两个要两个CPU周期:周期:取指周期取指周期从存储器中取出指令;从存储器中取出指令;程序计数器程序计数器PC加加1;译码或测试指令操作码,译码或测试指令操作码,发出控制信号;发出控制信号;执行周期执行周期u在控制信号的作用下,在控制信号的作用下,将将R1中的数据经过中的数据经过ALU送入送入R0;1
14、1/16/202216MOVR0,R1指令的执行过程演示指令的执行过程演示101101MOV R0,R1MOV R0,R1102102MOVMOV1010动画动画演演示示11/16/202217MOVR0,R1指令周期中的控制信号指令周期中的控制信号1.取指周期取指周期PCABUS指令指令Cache,译码并启动;,译码并启动;指令指令CacheIR;PCPC+1,为取下条指令做好准备;,为取下条指令做好准备;IR中的操作码被译码或测试,中的操作码被译码或测试,CPU识别出是指令识别出是指令MOV。2.执行指令阶段执行指令阶段R1ALU,R1中数据通过中数据通过ALU传送;传送;ALUDBUSD
15、RR0;PCPC读读指令指令CacheCache启动启动指令指令CacheCache读读IRIR写写PCPC增量增量R1R1读读ALUALU传送控制传送控制ALUALU输出输出DRDR锁存锁存R0R0写写11/16/2022185.2.3LADR1,6指令的指令周期指令的指令周期lLAD指令是指令是RS型指令,型指令,需要访存获取操作数,共需要访存获取操作数,共包含三个包含三个CPU周期:周期:取值周期取值周期间址周期间址周期u从从IR的地址码字段获取的地址码字段获取操作数地址;(或者通操作数地址;(或者通过计算获得过计算获得EA)执行周期执行周期u访存获取操作数送入通访存获取操作数送入通用寄
16、存器用寄存器R1;11/16/202219LADR1,6指令的执行过程演示指令的执行过程演示102102LAD R1,6LAD R1,6103103LADLAD6 6100100动画动画演演示示11/16/202220LADR1,6指令周期中的控制信号指令周期中的控制信号1.LAD取指周期取指周期CPU动作与取动作与取MOV指令的取值周期中一样。指令的取值周期中一样。2.LAD指令的执行周期指令的执行周期IRDBUSAR;u该过程为寻址周期;该过程为寻址周期;ARABUS数据数据Cache,译码并启动;,译码并启动;数据数据CacheDBUSDRR1;IRIR读读ARAR锁存锁存数据数据Cac
17、heCache启动启动数据数据CacheCache读读DRDR锁存锁存R1R1写写11/16/2022215.2.4ADDR1,R2指令的指令周期指令的指令周期lADD指令的指令周期由两个指令的指令周期由两个CPU周期组成周期组成。取指周期(略)取指周期(略)执行周期执行周期u从寄存器从寄存器R1、R2中取出数据,作为源操作数;中取出数据,作为源操作数;u将两数据送往将两数据送往ALU,并使,并使ALU进行加运算;进行加运算;u结果保存到结果保存到R1中。中。11/16/202222ADDR1,R2指令的执行过程演示指令的执行过程演示103103ADD R1,R2ADD R1,R2104104
18、ADDADD1001002020120120动画动画演演示示11/16/202223ADDR1,R2指令周期中的控制信号指令周期中的控制信号取指周期(略)取指周期(略)CPU动作与取动作与取MOV指令的取值周期中一样。指令的取值周期中一样。执行周期执行周期R1、R2ALU;ALU做加运算,将两数相加;做加运算,将两数相加;ALUDBUSDRR1,保存结果;,保存结果;R1R1读读R2R2读读ALUALU加加ALUALU输出输出DRDR锁存锁存R1R1写写11/16/2022245.2.5STOR2,(R3)指令的指令周期指令的指令周期lSTO指令是指令是RS型指令,需要型指令,需要3个个CPU
19、周期。周期。取指周期(略)取指周期(略)间址周期间址周期u根据根据R3中的地址寻址所要访问的存储单元;中的地址寻址所要访问的存储单元;执行周期执行周期u将寄存器将寄存器R2中的数据送入指定的存储单元;中的数据送入指定的存储单元;11/16/202225STOR2,(R3)指令的执行过程演示指令的执行过程演示104104STO STO R2,(R2,(R3)105105STOSTO动画动画演演示示3012011/16/202226STOR2,(R3)指令周期中的控制信号指令周期中的控制信号1.取指周期(略)取指周期(略)2.执行周期执行周期R3DBUSAR,发出地址启动数据,发出地址启动数据Ca
20、che;u该过程为间址周期;该过程为间址周期;R2DBUS数据数据Cache;R3R3读读ARAR锁存锁存R2R2读读数据数据CacheCache写写11/16/2022275.2.6JMP101指令的指令周期指令的指令周期lJMP指令是一条无条件转移指令,用来改变程序的指令是一条无条件转移指令,用来改变程序的执行顺序;执行顺序;lJMP指令的执行需要两个指令的执行需要两个CPU周期:周期:取指周期(略)取指周期(略)执行周期执行周期u使用使用JMP指令中的直接地址为指令中的直接地址为PC赋值;赋值;11/16/202228JMP101指令的执行过程演示指令的执行过程演示105105JMP 1
21、01JMP 101106106JMPJMP动画动画演演示示10110111/16/202229JMP101指令指令周期中的控制信号周期中的控制信号1.取指周期(略)取指周期(略)2.执行周期执行周期IRDBUSPC;IRIR读读PCPC写写11/16/2022305.2.7用方框图语言表示指令周期用方框图语言表示指令周期l方框方框代表一个代表一个CPU周期;周期;方框中的内容表示数据通路的操作或某种控制操作。方框中的内容表示数据通路的操作或某种控制操作。l菱形菱形通常用来表示某种判别或测试;通常用来表示某种判别或测试;时间上依附于之前一个方框的时间上依附于之前一个方框的CPU周期,而不单独占用
22、一周期,而不单独占用一个个CPU周期;周期;l(公操作符号)(公操作符号)表示一条指令已经执行完毕,转入公操作。表示一条指令已经执行完毕,转入公操作。所谓公操作所谓公操作就是一条指令执行完毕后,就是一条指令执行完毕后,CPU所开始的一些所开始的一些操作,比如对外围设备请求的处理等。操作,比如对外围设备请求的处理等。动画演示动画演示5.14.swf11/16/202231P139图图5.14方框图语言表示的指令周期方框图语言表示的指令周期MOVR0,R1 LADR1,6 ADDR1,R2 STOR2,(R3)JMP10111/16/202232课本课本P139【例【例1】l图图5.15所示为双总
23、线结构机器的数据通路,各构成部件如图,所示为双总线结构机器的数据通路,各构成部件如图,线上标注有小圈表示有控制信号,未标字符的线为直通线。线上标注有小圈表示有控制信号,未标字符的线为直通线。“ADDR2,R0”指令完成指令完成(R0)+(R2)R0的功能操作,画的功能操作,画出其指令周期流程图,并列出相应的微操作控制信号序列。出其指令周期流程图,并列出相应的微操作控制信号序列。“SUBR1,R3”指令完成指令完成(R3)-(R1)R3的操作,画出其的操作,画出其指令期流程图,并列出相应的微操作控制信号序列。指令期流程图,并列出相应的微操作控制信号序列。11/16/202233l指令周期应包括指
24、令周期应包括取指取指周期周期和和执行周期执行周期;l执行周期中应首先将执行周期中应首先将R0、R2两寄存器的两寄存器的内容送入内容送入ALU的操作的操作数缓冲器中,再执行数缓冲器中,再执行加法运算;加法运算;(1)“ADDR2,R0”(R0)+(R2)R0(PC)AR(M)DR(DR)IR译码译码(R2)Y(R0)X(R0)+(R2)R0取指周期取指周期执行周期执行周期PC0GARiR/W=1DR0GIRiR20GYiR00GXi+GR0i11/16/202234指令指令ADDR2,R0的执行过程的执行过程指令指令地址地址指令指令R2R0和和11/16/202235l指令周期应包括指令周期应包
25、括取指周取指周期期和和执行周期执行周期;l取指周期与取指周期与ADD指令指令完全相同;完全相同;l执行周期与执行周期与ADD指令指令不同之处在于不同之处在于ALU的控的控制信号为制信号为“”(2)“SUBR1,R3”(R3)(R1)R3(PC)AR(M)DR(DR)IR译码译码(R3)Y(R1)X(R3)-(R1)R3取指周期取指周期执行周期执行周期PC0GARiR/W=1DR0GIRiR30GYiR10GXiGR3i11/16/202236参考上例试写出下列指令的微操作序列参考上例试写出下列指令的微操作序列l指令指令STOR1,(R2)功能:功能:R1(R2),将,将R1的数据送入的数据送入
26、R2指向的单元中;指向的单元中;l指令指令LAD(R3),R0功能:将功能:将R3指向单元中的数据送入指向单元中的数据送入R0中;中;l指令指令ADDR0,(R1)功能:将功能:将R1指向单元中的数据和指向单元中的数据和R0的内容相加,并将结果存的内容相加,并将结果存入入R0寄存器中。寄存器中。l指令指令ADD(R1),R0功能:功能:(R0)+(R1)(R1),将,将R0中的数据与中的数据与R1指向单元中指向单元中的数据相加,并将结果送入的数据相加,并将结果送入R1指向的单元中;指向的单元中;11/16/202237计算机的性能指标计算机的性能指标l主频主频/时钟周期时钟周期主时钟的频率主时
27、钟的频率(f)叫叫CPU的主频的主频;主频的倒数称为主频的倒数称为CPU时钟周期(时钟周期(T),),T=1/f。lCPI执行一条指令所需的平均时钟周期数。执行一条指令所需的平均时钟周期数。lMIPS每秒百万指令数,即单位时间内执行的指令数。每秒百万指令数,即单位时间内执行的指令数。11/16/202238【例【例1】某】某CPU的主频为的主频为8MHz,设每个,设每个CPU周期平周期平均包括均包括4个时钟周期,且该机平均指令执行速个时钟周期,且该机平均指令执行速度为度为1MIPS。求该机平均指令周期。求该机平均指令周期。平均指令周期平均指令周期求每个指令周期包含的平均求每个指令周期包含的平均
28、CPU周期。周期。时钟周期时钟周期一个一个CPU周期为周期为4个时钟周期,则个时钟周期,则40.125=0.5us;故每个指令周期包含故每个指令周期包含1/0.5=2个平均个平均CPU周期。周期。1 1秒秒1 1百万条指令百万条指令1 110106 61us1 1 8MHz0.125us11/16/202239【例【例2】若某机主频为若某机主频为200MHz,每个指令周期,每个指令周期平均为平均为2.5个个CPU周期,每个周期,每个CPU周期周期平均包括平均包括2个主频周期。个主频周期。该机平均指令执行速度为多少该机平均指令执行速度为多少MIPS?执行一条指令的时间执行一条指令的时间2.52时
29、钟周期时钟周期2.52平均指令执行速度平均指令执行速度1/平均指令周期平均指令周期若主频不变,但每条指令平均包括若主频不变,但每条指令平均包括5个个CPU周期,每个周期,每个CPU周周期又包含期又包含4个主频周期,平均指令执行速度为多少个主频周期,平均指令执行速度为多少MIPS?执行一条指令的时间执行一条指令的时间2.52时钟周期时钟周期54平均指令执行速度平均指令执行速度1/平均指令周期平均指令周期 1 1 200MHz40MIPS 1 1 200MHz10MIPS 1 1 40M 1 1 10M11/16/2022405.3时序产生器和控制方式时序产生器和控制方式l5.3.1时序信号的作用
30、和体制时序信号的作用和体制l5.3.2时序信号产生器时序信号产生器l5.3.3控制方式控制方式11/16/2022415.3.1时序信号的作用和体制时序信号的作用和体制l时序信号的作用时序信号的作用使计算机准确、迅速、有条不紊地工作;使计算机准确、迅速、有条不紊地工作;lCPU通过时序控制来识别指令和数据:通过时序控制来识别指令和数据:指令周期的第一个指令周期的第一个CPU周期周期取指周期取指周期;u从存储单元中取出的一定是指令,需要送往从存储单元中取出的一定是指令,需要送往IR指令寄存器;指令寄存器;指令周期的其他指令周期的其他CPU周期周期执行周期执行周期;u从存储单元中取出的一定是数据,
31、需要送往运算器。从存储单元中取出的一定是数据,需要送往运算器。l时序信号的体制:时序信号的体制:电位电位脉冲制脉冲制脉冲到达之前,电平信号必须要稳定;脉冲到达之前,电平信号必须要稳定;CPUCPU的时间表的时间表11/16/202242控制器的时序信号控制器的时序信号l硬布线控制器的时序信号硬布线控制器的时序信号常采用常采用主状态周期节拍电位节拍脉冲主状态周期节拍电位节拍脉冲三级体制。三级体制。l微程序控制器的时序信号微程序控制器的时序信号一般采用一般采用节拍电位节拍脉冲节拍电位节拍脉冲二级体制。二级体制。节拍节拍脉冲脉冲节拍节拍电位电位1主状态主状态周期周期节拍节拍电位电位2节拍电位节拍电位
32、可表示一可表示一个个CPUCPU周期周期主状态周期可主状态周期可包含若干个节包含若干个节拍电位,是最拍电位,是最大的时间单位大的时间单位时钟周期时钟周期11/16/2022435.3.2时序信号产生器时序信号产生器l时序信号产生器:用逻辑电路实现时序的控制;时序信号产生器:用逻辑电路实现时序的控制;l微程序控制器中时序信号产生器的组成:微程序控制器中时序信号产生器的组成:P142图图5.17时钟源时钟源提供稳定的基本方波时钟信号;提供稳定的基本方波时钟信号;环形脉冲发生器环形脉冲发生器产生一组有序的间隔相等或不等的脉冲序列;产生一组有序的间隔相等或不等的脉冲序列;节拍脉冲和读写时序译码逻辑节拍
33、脉冲和读写时序译码逻辑环形脉冲与节拍脉冲共同作用产生各控制信号的时序;环形脉冲与节拍脉冲共同作用产生各控制信号的时序;启停控制逻辑启停控制逻辑11/16/2022445.3.3控制方式控制方式l控制器的控制方式控制器的控制方式控制不同操作序列的时序信号的方法。控制不同操作序列的时序信号的方法。l同步控制方式同步控制方式在任何情况下,已定的指令在执行时所需的机器周期数和时在任何情况下,已定的指令在执行时所需的机器周期数和时钟周期数都固定不变。钟周期数都固定不变。l异步控制方式异步控制方式每条指令、每个操作控制信号需要多少时间就占用多少时间。每条指令、每个操作控制信号需要多少时间就占用多少时间。l
34、联合控制方式联合控制方式大部分操作序列为固定的机器周期,对某些时间难以确定的大部分操作序列为固定的机器周期,对某些时间难以确定的操作则以执行部件的操作则以执行部件的“回答回答”信号作为本次操作的结束。信号作为本次操作的结束。机器周期的节拍脉冲数固定,但是各条指令周期的机器周期机器周期的节拍脉冲数固定,但是各条指令周期的机器周期数不固定。数不固定。11/16/2022455.4微程序控制器微程序控制器l5.4.1微程序控制原理微程序控制原理l5.4.2微程序设计技术微程序设计技术11/16/2022465.4.1微程序控制原理微程序控制原理l微程序设计技术是微程序设计技术是利用软件方法来设计硬件
35、利用软件方法来设计硬件的一门技术。的一门技术。具有具有规整性、灵活性、可维护性规整性、灵活性、可维护性等一系列优点;等一系列优点;逐渐取代了早期的组合逻辑控制器,已被广泛地应用。逐渐取代了早期的组合逻辑控制器,已被广泛地应用。l基本思想基本思想仿照通常的解题程序的方法,仿照通常的解题程序的方法,把操作控制信号编成所谓的把操作控制信号编成所谓的“微指令微指令”,存放到一个只读存储器里;,存放到一个只读存储器里;当机器运行时,一条一条地读出这些微指令,从而产生全当机器运行时,一条一条地读出这些微指令,从而产生全机所需要的各种操作控制信号,使部件执行规定的操作。机所需要的各种操作控制信号,使部件执行
36、规定的操作。11/16/2022471、微命令和微操作、微命令和微操作l控制部件与执行部件之间的联系控制部件与执行部件之间的联系控制部件向执行部件发出控制信号;控制部件向执行部件发出控制信号;执行部件向控制部件返回状态信息;执行部件向控制部件返回状态信息;l微命令微命令控制部件通过控制线向执行部件发出的各种控制命令;控制部件通过控制线向执行部件发出的各种控制命令;l微操作微操作执行部件接受微命令后所执行的操作;执行部件接受微命令后所执行的操作;l状态测试状态测试执行部件通过反馈线向控制部件反映当前操作状态,以使控执行部件通过反馈线向控制部件反映当前操作状态,以使控制部件决定下一步的微命令;制部
37、件决定下一步的微命令;控制线控制线执行部件的最基本的操作执行部件的最基本的操作11/16/202248微操作的分类微操作的分类l相容性微操作相容性微操作在同时或同一个在同时或同一个CPU周期内可以并行执行的微周期内可以并行执行的微操作;操作;l相斥性微操作相斥性微操作不能在同时或不能在同一个不能在同时或不能在同一个CPU周期内并行执周期内并行执行的微操作。行的微操作。11/16/202249简单运算器数据通路简单运算器数据通路相斥性相斥性微操作微操作相斥性相斥性微操作微操作相斥性相斥性微操作微操作相容性相容性微操作微操作动画演示:动画演示:5-20.swf5-20.swf11/16/20225
38、02、微指令和微程序、微指令和微程序l微指令微指令一个一个CPU周期中,实现一定操作功能的一组微命令的组合。周期中,实现一定操作功能的一组微命令的组合。微指令微指令一般包含一般包含操作控制操作控制和和顺序控制顺序控制两大部分两大部分u操作控制:用于发出管理和指挥全机工作的控制信号;操作控制:用于发出管理和指挥全机工作的控制信号;u顺序控制:用于决定产生下一条微指令的地址;顺序控制:用于决定产生下一条微指令的地址;所有的微指令都存放于控制存储器中,使用所有的微指令都存放于控制存储器中,使用地址地址访问;访问;l微程序微程序能实现一条机器指令功能的多条微指令序列;能实现一条机器指令功能的多条微指令
39、序列;每条机器指令都对应着一段微程序;每条机器指令都对应着一段微程序;微地址微地址11/16/202251l顺序控制部分的顺序控制部分的P1、P2为判别测试标志;为判别测试标志;若为若为00,则顺序寻址微指令;,则顺序寻址微指令;若为若为01、10,则跳跃寻址微指令。,则跳跃寻址微指令。l直接地址直接地址2023位位顺序寻址时,直接地址即为下一条微指令地址;顺序寻址时,直接地址即为下一条微指令地址;跳跃寻址时,则要对直接地址修改,得到下条微指令地址;跳跃寻址时,则要对直接地址修改,得到下条微指令地址;微指令基本格式微指令基本格式节拍脉节拍脉冲信号冲信号节拍电节拍电位信号位信号11/16/202
40、2523、微程序控制器原理框图、微程序控制器原理框图l微程序控制器主要构成部件:微程序控制器主要构成部件:P147图图5.23控制存储器(控制存储器(CM)u存放实现全部指令系统的微指令;存放实现全部指令系统的微指令;u由只读存储器构成,要求速度快,读出周期短。由只读存储器构成,要求速度快,读出周期短。微指令寄存器微指令寄存器存放由控制存储器读出的一条微指令信息;存放由控制存储器读出的一条微指令信息;u微地址寄存器:微地址寄存器:决定将要访问的下一条微指令的地址;决定将要访问的下一条微指令的地址;u微命令寄存器微命令寄存器:保存一条微指令的操作控制字段和判别测试字:保存一条微指令的操作控制字段
41、和判别测试字段的信息。段的信息。地址转移逻辑地址转移逻辑u用于跳跃寻址微指令时,承担自动完成修改微地址的任务。用于跳跃寻址微指令时,承担自动完成修改微地址的任务。11/16/202253P147图图5.23微程序控制器原理框图微程序控制器原理框图动画演示:动画演示:5-23.swf5-23.swf11/16/202254微程序控制器的工作过程微程序控制器的工作过程l“取指微指令取指微指令”为所有指令的公用微指令;为所有指令的公用微指令;通常放在控制存储器中的通常放在控制存储器中的“0”地址单元地址单元;所有机器指令的所有机器指令的最后一条微指令的直接地址最后一条微指令的直接地址都指向都指向0地
42、址单地址单元,用以取下一条微指令。元,用以取下一条微指令。l取得机器指令后,取得机器指令后,经过经过P1测试测试,即操作码测试,产生对应的微,即操作码测试,产生对应的微程序入口地址,并送入微地址寄存器。程序入口地址,并送入微地址寄存器。l指令执行过程中,指令执行过程中,通过通过P2测试测试,修正下一条微指令的地址,逐,修正下一条微指令的地址,逐条读取微指令执行。条读取微指令执行。l执行完对应于一条机器指令的微程序后,返回到取指微指令,执行完对应于一条机器指令的微程序后,返回到取指微指令,不断重复,直至程序执行完毕。不断重复,直至程序执行完毕。11/16/2022554、微程序举例、微程序举例l
43、“十进制加法十进制加法”指令是用指令是用BCD码来完成十进制数的加法运算。码来完成十进制数的加法运算。当两数位相加小于等于当两数位相加小于等于9时,结果正确;时,结果正确;当两数位相加大于当两数位相加大于9时,必须对和数位进行加时,必须对和数位进行加6的修正。的修正。l例如:例如:3+4=0011+0100=0111=78+7=1000+0111=111125+36=00100101+00110110=01011011+0110=0001 0101=15=0110 0001以以“十进制加法十进制加法”指令为指令为例例+011011/16/202256(R2)-(R3)R2十进制加法指令的微指令
44、执行流程十进制加法指令的微指令执行流程l假定假定(R1)=a,(R2)=b,(R3)=6;l第一条微指令第一条微指令取指微指令取指微指令从内存中取出该指令,并修改从内存中取出该指令,并修改PC的值;的值;对操作码进行对操作码进行P1测试,确定下一条微指测试,确定下一条微指令的地址;令的地址;l第二条微指令第二条微指令两数相加微指令两数相加微指令l第三条微指令第三条微指令和数修正微指令和数修正微指令P2测试,根据进位标志决定下一条微指测试,根据进位标志决定下一条微指令的地址令的地址l第四条微指令第四条微指令和数逆修正微指令和数逆修正微指令取指令取指令P1测试测试(R1)+(R2)R2(R2)+(
45、R3)R2P2测试测试Cy=1Cy=011/16/202257十进制加法指令的微指令十进制加法指令的微指令l第一条微指令(取微指令)第一条微指令(取微指令)00000000000011111100000l第二条微指令(两数相加)第二条微指令(两数相加)01010010010000000001001l第三条微指令(和数加第三条微指令(和数加6)01000100110000000010000l第四条微指令(和数减第四条微指令(和数减6)01000100100100000000000取微指令取微指令和数减和数减6和数加和数加6两数相加两数相加0000000110011010控制存储器控制存储器LDA
46、RRDLDDRLDIRPC+1R1XR2Y+LDR2R2XR3Y+LDR2R2XR3YLDR2动画演示:动画演示:十进制加法指十进制加法指令微程序令微程序.swf.swf11/16/2022585、CPU周期与微指令周期的关系周期与微指令周期的关系l微指令周期微指令周期读出微指令的时间加上执行该条微指令的时间;读出微指令的时间加上执行该条微指令的时间;串行方式的微程序控制器中的概念;串行方式的微程序控制器中的概念;l一般来讲,一个微指令周期时间设计得恰好和一般来讲,一个微指令周期时间设计得恰好和CPU周期时间相等。周期时间相等。11/16/202259CPU周期与微指令周期关系的例子周期与微指
47、令周期关系的例子lCPU周期为周期为0.8us,包括,包括4个节拍脉冲个节拍脉冲T1T4,每个脉冲,每个脉冲200ns;T1T3的的600ns为执行微指令的时间;为执行微指令的时间;T4的的200ns为取微指令的时间;为取微指令的时间;lT1的上升沿,将读出的微指令存入微指令寄存器;的上升沿,将读出的微指令存入微指令寄存器;lT4的上升沿保存微指令的执行结果,的上升沿保存微指令的执行结果,T4期间取微指令。期间取微指令。T1 T2 T3 T4 T1 T2 T3 T4T4T4执行微指令执行微指令 微指令周期微指令周期CPU周期周期CPU周期周期 读读微指令微指令 11/16/2022606、机器
48、指令与微指令的关系、机器指令与微指令的关系l一条机器指令对应一个微程序,一个微程序由若干条微指令一条机器指令对应一个微程序,一个微程序由若干条微指令序列组成的;序列组成的;一条机器指令所完成的操作划分成若干条微指令来完成,一条机器指令所完成的操作划分成若干条微指令来完成,由微指令进行解释和执行。由微指令进行解释和执行。l从指令与微指令,程序与微程序,地址与微地址的一一对应从指令与微指令,程序与微程序,地址与微地址的一一对应关系来看,关系来看,前者与内存有关前者与内存有关,后者与控制存储器有关后者与控制存储器有关。l每一个每一个CPU周期对应一条微指令。周期对应一条微指令。动画演示:动画演示:5
49、.27.swf5.27.swf11/16/202261【例】【例】设某设某16位计算机运算器框图如下图位计算机运算器框图如下图(a)所示,其所示,其中中ALU为为16位的加法器位的加法器(高电平工作高电平工作),SA、SB为为16位暂存器。位暂存器。4个通用寄存器,其读、写控制个通用寄存器,其读、写控制功能见下表。功能见下表。读控制读控制R RA0 RA1 选中选中100R0101R1110R2111R30不读不读写控制写控制WWA0 WA1 选中选中100R0101R1110R2111R30不写不写11/16/202262l控制信号说明控制信号说明RA0RA1/WA0WA1:读写通用寄存器时
50、,选择所读写的寄存器;:读写通用寄存器时,选择所读写的寄存器;R/W:寄存器读:寄存器读/写命令;写命令;LDSA/LDSB:将数据打入:将数据打入SA/SB的控制信号;的控制信号;SBALU:将:将SB中数据送入中数据送入ALU的控制信号;的控制信号;ALU:传送:传送SB的控制信号,并使加法器最低位加的控制信号,并使加法器最低位加1;Reset:清暂存器:清暂存器SB为零的信号;为零的信号;:一段微程序结束,转入取机器指令的控制信号;:一段微程序结束,转入取机器指令的控制信号;l要求:用二进制代码写出如下指令的微程序:要求:用二进制代码写出如下指令的微程序:“ADDR0,R1”指令,即指令