您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 计算机组成与结构第5章_中央处理器.
第5章中央处理器2019年12月17日星期二2目录5.1CPU的功能和组成——掌握5.2指令周期——掌握5.3时序产生器和控制方式——了解5.4微程序控制器——掌握5.5硬连线控制器——了解5.6流水CPU——掌握5.7RISCCPU——了解2019年12月17日星期二3考研大纲要求(一)CPU的功能和基本结构(二)指令执行过程(三)数据通路的功能和基本结构(四)控制器的功能和工作原理1.硬布线控制器2.微程序控制器①微程序、微指令和微命令②微指令的编码方式;微地址的形成方式(五)指令流水线1.指令流水线的基本概念2.超标量和动态流水线的基本概念2019年12月17日星期二45.1CPU的组成和功能5.1.1CPU的功能5.1.2CPU的基本组成5.1.3CPU中的主要寄存器5.1.4操作控制器与时序产生器2019年12月17日星期二55.1.1CPU的功能CPU(中央处理器)控制程序按设定方式执行;CPU的主要功能:指令控制控制程序的执行顺序;操作控制产生和发送各操作信号;时间控制控制指令、或操作的实施时间;数据加工对数据进行算术逻辑运算;顺序寻址、跳跃寻址对指令操作码译码后产生控制信号维持各类操作的时序关系由ALU完成具体的运算2019年12月17日星期二65.1.2CPU的基本组成现代的CPU的组成运算器、控制器控制器的主要功能从内存中取出一条指令,并指出下条指令的存放位置;对指令进行译码,产生相应的操作控制信号;控制CPU、内存和输入/输出设备之间数据流动;运算器的主要功能:执行所有的算术运算;执行所有的逻辑运算,并进行逻辑测试。冯·诺依曼机的定义、片内Cache;PC、IRALU、通用寄存器组、标志寄存器CU、时序电路、操作控制器2019年12月17日星期二7CPU模型图运算器Cache控制器2019年12月17日星期二85.1.3CPU中的主要寄存器(1/3)1.数据缓冲寄存器(DR)暂时存放CPU与外界传送的数据,可以是指令字或数据字。作用①作为CPU和内存、外部设备之间信息传送的中转站;②补偿CPU和内存、外围设备之间在操作速度上的差别;2.通用寄存器功能:暂时存放ALU运算的数据或结果。CPU中的通用寄存器可多达16个,32个,甚至更多。2019年12月17日星期二95.1.3CPU中的主要寄存器(2/3)3.状态条件寄存器(PSW)保存各种状态和条件控制信号;进位标志(C),溢出标志(V),零标志(Z),符号标志(N)每个信号由一个触发器保存,从而拼成一个寄存器。4.地址寄存器(AR)保存当前CPU所访问数据的内存单元地址;主要用于解决主存/外设和CPU之间的速度差异,使地址信息可以保持到主存/外设的读写操作完成为止2019年12月17日星期二105.1.3CPU中的主要寄存器(3/3)5.程序计数器(PC)始终存放下一条指令的地址,对应于指令Cache的访问;其内容变化分两种情况顺序执行:PC+1PC转移执行:(指令OPR)PC6.指令寄存器(IR)保存当前正在执行的一条指令。指令寄存器中操作码字段的输出就是指令译码器的输入。寄存功能计数功能2019年12月17日星期二115.1.4操作控制器与时序产生器数据通路寄存器之间传送信息的通路。操作控制器根据指令操作码和时序信号,产生各种操作控制信号;建立正确的数据通路,从而完成指令的执行。根据设计方法不同,操作控制器可分为①硬布线控制器:采用时序逻辑技术实现;②微程序控制器:采用存储逻辑实现;③前两种方式的结合;时序产生器对各种操作实施时间的控制。2019年12月17日星期二12数据通路的建立增量写入读出写入读出写入读出锁存锁存写入读出写入读出运算类型读出写入2019年12月17日星期二135.2指令周期5.2.1指令周期的基本概念5.2.2MOVR0,R1指令的指令周期5.2.3LADR1,6指令的指令周期5.2.4ADDR1,R2指令的指令周期5.2.5STOR2,(R3)指令的指令周期5.2.6JMP101指令的指令周期5.2.7用方框图语言表示指令周期2019年12月17日星期二145.2.1指令周期的基本概念CPU执行程序是一个“取指令—执行指令”的循环过程。指令周期CPU从内存中取出一条指令,并执行的时间总和;CPU周期又称机器周期,一般为从内存读取一条指令字的最短时间;一个CPU周期可以完成CPU的一个基本操作。时钟周期也叫节拍脉冲或T周期,是计算机处理操作的基本时间单位。2019年12月17日星期二15关于指令周期一个完整的指令周期由若干机器周期:取指周期——间址周期——执行周期——中断周期所有指令的第一个机器周期必为取指周期;一个基本的CPU周期包含4个时钟周期,对于某些CPU周期可以包含更多的时钟周期。不同指令的指令周期所包含的时钟周期个数不一定相同。求操作数有效地址本教材上,间址周期和执行周期统称为执行周期!2019年12月17日星期二16一个简单的程序地址指令说明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改变程序执行顺序,转到101号单元106ANDR1,R3逻辑与指令AND执行(R1)·(R3)R3地址数据57061007661077……3040(120)2019年12月17日星期二175.2.2MOVR0,R1指令的指令周期MOV是一条RR型指令,它需要两个CPU周期:取指周期①从存储器中取出指令;②程序计数器PC加1;③译码或测试指令操作码,发出控制信号;执行周期在控制信号的作用下,将R1中的数据经过ALU送入R0;2019年12月17日星期二18MOVR0,R1指令的执行过程演示101①MOVR0,R1102②MOV③④10动画演示2019年12月17日星期二19MOVR0,R1指令周期中的控制信号1.①PCABUS指令Cache,译码并启动;②指令CacheIR;③PCPC+1,为取下条指令做好准备;④IR中的操作码被译码或测试,CPU识别出是指令MOV。2.①R1ALU,R1中数据通过ALU传送;②ALUDBUSDRR0;PC读指令Cache启动指令Cache读IR写PC增量R1读ALU传送控制ALU输出DR锁存R0写2019年12月17日星期二205.2.3LADR1,6指令的指令周期LAD指令是RS型指令,需要访存获取操作数,共包含三个CPU周期:①取值周期②间址周期从IR的地址码字段获取操作数地址;(或者通过计算获得EA)③执行周期访存获取操作数送入通用寄存器R1;2019年12月17日星期二21LADR1,6指令的执行过程演示102①LADR1,6103②LAD③6100动画演示2019年12月17日星期二22LADR1,6指令周期中的控制信号1.LAD取指周期CPU动作与取MOV指令的取值周期中一样。2.LAD指令的执行周期IRDBUSAR;该过程为寻址周期;ARABUS数据Cache,译码并启动;数据CacheDBUSDRR1;IR读AR锁存数据Cache启动数据Cache读DR锁存R1写2019年12月17日星期二235.2.4ADDR1,R2指令的指令周期ADD指令的指令周期由两个CPU周期组成。①取指周期(略)②执行周期从寄存器R1、R2中取出数据,作为源操作数;将两数据送往ALU,并使ALU进行加运算;结果保存到R1中。2019年12月17日星期二24ADDR1,R2指令的执行过程演示103①ADDR1,R2104②ADD③10020120动画演示2019年12月17日星期二25ADDR1,R2指令周期中的控制信号①取指周期(略)CPU动作与取MOV指令的取值周期中一样。②执行周期R1、R2ALU;ALU做加运算,将两数相加;ALUDBUSDRR1,保存结果;R1读R2读ALU加ALU输出DR锁存R1写2019年12月17日星期二265.2.5STOR2,(R3)指令的指令周期STO指令是RS型指令,需要3个CPU周期。①取指周期(略)②间址周期根据R3中的地址寻址所要访问的存储单元;③执行周期将寄存器R2中的数据送入指定的存储单元;2019年12月17日星期二27STOR2,(R3)指令的执行过程演示104①STOR2,(R3)105②STO③动画演示301202019年12月17日星期二28STOR2,(R3)指令周期中的控制信号1.取指周期(略)2.执行周期R3DBUSAR,发出地址启动数据Cache;该过程为间址周期;R2DBUS数据Cache;R3读AR锁存R2读数据Cache写2019年12月17日星期二295.2.6JMP101指令的指令周期JMP指令是一条无条件转移指令,用来改变程序的执行顺序;JMP指令的执行需要两个CPU周期:①取指周期(略)②执行周期使用JMP指令中的直接地址为PC赋值;2019年12月17日星期二30JMP101指令的执行过程演示105①JMP101106②JMP③动画演示1012019年12月17日星期二31JMP101指令周期中的控制信号1.取指周期(略)2.执行周期IRDBUSPC;IR读PC写2019年12月17日星期二325.2.7用方框图语言表示指令周期方框代表一个CPU周期;方框中的内容表示数据通路的操作或某种控制操作。菱形通常用来表示某种判别或测试;时间上依附于之前一个方框的CPU周期,而不单独占用一个CPU周期;~(公操作符号)表示一条指令已经执行完毕,转入公操作。所谓公操作就是一条指令执行完毕后,CPU所开始的一些操作,比如对外围设备请求的处理等。2019年12月17日星期二33P139图5.14方框图语言表示的指令周期MOVR0,R1LADR1,6ADDR1,R2STOR2,(R3)JMP1012019年12月17日星期二34课本P139【例1】图5.15所示为双总线结构机器的数据通路,各构成部件如图,线上标注有小圈表示有控制信号,未标字符的线为直通线。①“ADDR2,R0”指令完成(R0)+(R2)→R0的功能操作,画出其指令周期流程图,并列出相应的微操作控制信号序列。②“SUBR1,R3”指令完成(R3)-(R1)→R3的操作,画出其指令期流程图,并列出相应的微操作控制信号序列。2019年12月17日星期二35指令周期应包括取指周期和执行周期;执行周期中应首先将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+GR0i2019年12月17日星期二36指令ADDR2,R0的执行过程指令地址指令R2R0和2019年12月17日星期二37指令周期应包括取指周期和执行周期;取指周期与ADD指令完全相同;执行周期与ADD指令不同之处在于ALU的控制信号为“-”(2)“SUBR1,R3”→(R3)-(R1)→R3(PC)AR(M)DR(DR)IR译码(R3)Y(R1)X(R3)-(R1)R3取指周期执行周期PC0GARiR/W=1DR0GIRiR30GYiR10GXi—GR3i2019年12月17日星期二38参考上例试写出下列指令的微操作序列指令ST
本文标题:计算机组成与结构第5章_中央处理器.
链接地址:https://www.777doc.com/doc-2044025 .html