计算机组成与结构第5章中央处理器分析课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《计算机组成与结构第5章中央处理器分析课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 结构 中央处理器 分析 课件
- 资源描述:
-
1、第5章 中央处理器2022年12月17日星期六2目录目录5.1 CPU的功能和组成的功能和组成掌握掌握5.2 指令周期指令周期掌握掌握5.3 时序产生器和控制方式时序产生器和控制方式了解了解5.4 微程序控制器微程序控制器掌握掌握5.5 硬连线控制器硬连线控制器了解了解5.6 流水流水CPU掌握掌握5.7 RISC CPU了解了解2022年12月17日星期六3考研大纲要求考研大纲要求(一)(一)CPU的功能和基本结构的功能和基本结构(二)指令执行过程(二)指令执行过程(三)数据通路的功能和基本结构(三)数据通路的功能和基本结构(四)控制器的功能和工作原理(四)控制器的功能和工作原理1.硬布线控
2、制器硬布线控制器2.微程序控制器微程序控制器微程序、微指令和微命令微程序、微指令和微命令微指令的编码方式;微地址的形成方式微指令的编码方式;微地址的形成方式(五)(五)指令流水线指令流水线1.指令流水线的基本概念指令流水线的基本概念2.超标量和动态流水线的基本概念超标量和动态流水线的基本概念2022年12月17日星期六45.1 CPU的组成和功能的组成和功能l 5.1.1 CPU的功能的功能l 5.1.2 CPU的基本组成的基本组成l 5.1.3CPU中的主要寄存器中的主要寄存器l 5.1.4 操作控制器与时序产生器操作控制器与时序产生器2022年12月17日星期六55.1.1 CPU的功能的
3、功能lCPU(中央处理器)(中央处理器)控制程序按设定方式执行;控制程序按设定方式执行;lCPU的主要功能:的主要功能:指令控制指令控制u控制程序的执行顺序;控制程序的执行顺序;操作控制操作控制u产生和发送各操作信号;产生和发送各操作信号;时间控制时间控制u控制指令、或操作的实施时间;控制指令、或操作的实施时间;数据加工数据加工u对数据进行算术逻辑运算;对数据进行算术逻辑运算;顺序寻址、跳跃寻址对指令操作码译码后产生控制信号维持各类操作的时序关系由ALU完成具体的运算2022年12月17日星期六65.1.2 CPU的基本组成的基本组成l现代的现代的CPU的组成的组成运算器、控制器运算器、控制器
4、l控制器的主要功能控制器的主要功能从内存中取出一条指令,并指出下条指令的存放位置;从内存中取出一条指令,并指出下条指令的存放位置;对指令进行译码,产生相应的操作控制信号;对指令进行译码,产生相应的操作控制信号;控制控制CPU、内存和输入、内存和输入/输出设备之间数据流动;输出设备之间数据流动;l运算器的主要功能:运算器的主要功能:执行所有的算术运算;执行所有的算术运算;执行所有的逻辑运算,并进行逻辑测试。执行所有的逻辑运算,并进行逻辑测试。冯诺依曼机的定义、片内Cache;PC、IRALU、通用寄存器组、标志寄存器CU、时序电路、操作控制器2022年12月17日星期六7CPU模型图模型图运算器
5、Cache控制器2022年12月17日星期六85.1.3CPU中的主要寄存器(中的主要寄存器(1/3)1.数据缓冲寄存器(数据缓冲寄存器(DR)暂时存放暂时存放CPU与外界传送的数据,可以是指令字或数据字。与外界传送的数据,可以是指令字或数据字。作用作用:作为作为CPU和内存、外部设备之间信息传送的中转站;和内存、外部设备之间信息传送的中转站;补偿补偿CPU和内存、外围设备之间在操作速度上的差别;和内存、外围设备之间在操作速度上的差别;2.通用寄存器通用寄存器 功能:暂时存放功能:暂时存放ALU运算的数据或结果。运算的数据或结果。CPU中的通用寄存器可多达中的通用寄存器可多达16个,个,32个
6、,甚至更多。个,甚至更多。2022年12月17日星期六95.1.3CPU中的主要寄存器(中的主要寄存器(2/3)3.状态条件寄存器(状态条件寄存器(PSW)保存各种状态和条件控制信号;保存各种状态和条件控制信号;u 进位标志进位标志(C),溢出标志,溢出标志(V),零标志,零标志(Z),符号标志,符号标志(N)每个信号由一个触发器保存,从而拼成一个寄存器。每个信号由一个触发器保存,从而拼成一个寄存器。4.地址寄存器(地址寄存器(AR)保存当前保存当前CPU所访问数据的内存单元地址;所访问数据的内存单元地址;主要用于解决主存主要用于解决主存/外设和外设和CPU之间的速度差异,使地址信之间的速度差
7、异,使地址信息可以保持到主存息可以保持到主存/外设的读写操作完成为止外设的读写操作完成为止。2022年12月17日星期六105.1.3CPU中的主要寄存器(中的主要寄存器(3/3)5.程序计数器(程序计数器(PC)始终存放下一条指令的地址,对应于指令始终存放下一条指令的地址,对应于指令Cache的访问;的访问;其内容变化分两种情况其内容变化分两种情况u顺序执行:顺序执行:PC+1PCu转移执行转移执行:(指令指令OPR)PC6.指令寄存器(指令寄存器(IR)保存当前正在执行的一条指令。保存当前正在执行的一条指令。指令寄存器中操作码字段的输出就是指令译码器的输入。指令寄存器中操作码字段的输出就是
8、指令译码器的输入。寄存功能计数功能2022年12月17日星期六115.1.4 操作控制器与时序产生器操作控制器与时序产生器 l数据通路数据通路 寄存器之间传送信息的通路。寄存器之间传送信息的通路。l操作控制器操作控制器 根据指令操作码和时序信号,产生各种操作控制信号;根据指令操作码和时序信号,产生各种操作控制信号;建立正确建立正确的的数据通路,从而完成指令的执行。数据通路,从而完成指令的执行。l根据设计方法不同,操作控制器可分为根据设计方法不同,操作控制器可分为硬布线控制器硬布线控制器:采用时序逻辑技术实现;:采用时序逻辑技术实现;微程序控制器微程序控制器:采用存储逻辑实现;:采用存储逻辑实现
9、;前两种方式的结合前两种方式的结合;l时序产生器时序产生器 对各种操作实施时间的控制。对各种操作实施时间的控制。2022年12月17日星期六12数据通路的建立数据通路的建立增量写入读出写入读出写入读出锁存锁存写入读出写入读出运算类型读出写入2022年12月17日星期六135.2 指令周期指令周期l5.2.1 指令周期的基本概念指令周期的基本概念l5.2.2 MOV R0,R1指令指令的的指令指令周期周期l5.2.3 LAD R1,6指令的指令周期指令的指令周期l5.2.4 ADD R1,R2指令的指令周期指令的指令周期 l5.2.5 STO R2,(R3)指令的指令周期指令的指令周期 l5.2
10、.6 JMP 101指令的指令周期指令的指令周期l5.2.7 用方框图语言表示指令周期用方框图语言表示指令周期2022年12月17日星期六145.2.1 指令周期的基本概念指令周期的基本概念 lCPU执行程序是一个执行程序是一个“取指令取指令执行指令执行指令”的循环过程。的循环过程。l指令周期指令周期 CPU从内存中从内存中取出取出一条指令,并一条指令,并执行执行的时间总和;的时间总和;lCPU周期周期 又称机器周期,一般为从内存读取一条指令字的最短时间;又称机器周期,一般为从内存读取一条指令字的最短时间;一个一个CPU周期可以完成周期可以完成CPU的一个基本操作。的一个基本操作。l时钟周期时
11、钟周期 也叫节拍脉冲或也叫节拍脉冲或T周期,是计算机处理操作的基本时间单位。周期,是计算机处理操作的基本时间单位。2022年12月17日星期六15关于指令周期关于指令周期l一个完整的指令周期由一个完整的指令周期由若干机若干机器周期器周期:取指周期取指周期间址周期间址周期执行周期执行周期中断周期中断周期l所有指令的所有指令的第一个机器周期必第一个机器周期必为取指周期为取指周期;l一个基本的一个基本的CPU周期包含周期包含4个时个时钟周期钟周期,对于某些,对于某些CPU周期可周期可以包含更多的时钟周期。以包含更多的时钟周期。l不同指令的指令周期所包含的不同指令的指令周期所包含的时钟周期个数时钟周期
12、个数不一定相同不一定相同。求操作数有效地址本教材上,间址周期和执行周期统称为执行周期!2022年12月17日星期六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转移指令JMP改变程序执行顺序,转到101
13、号单元106AND R1,R3逻辑与指令AND执行(R1)(R3)R3地址地址数据数据570610076610773040(120)2022年12月17日星期六175.2.2 MOV R0,R1指令的指令周期指令的指令周期lMOV是一条是一条RR型指令,它需型指令,它需要两个要两个CPU 周期:周期:取指周期取指周期从存储器中取出指令;从存储器中取出指令;程序计数器程序计数器PC加加1;译码或测试指令操作码,译码或测试指令操作码,发出控制信号;发出控制信号;执行周期执行周期u在控制信号的作用下,在控制信号的作用下,将将R1中的数据经过中的数据经过ALU送入送入R0;2022年12月17日星期六
14、18MOV R0,R1指令的执行过程演示指令的执行过程演示101MOV R0,R1102MOV10动画演示2022年12月17日星期六19MOV R0,R1指令周期中的控制信号指令周期中的控制信号1.取指周期取指周期 PCABUS指令指令Cache,译码并启动;,译码并启动;指令指令Cache IR;PC PC+1,为取下条指令做好准备;,为取下条指令做好准备;IR中的操作码被译码或测试,中的操作码被译码或测试,CPU识别出是指令识别出是指令MOV。2.执行指令阶段执行指令阶段R1ALU,R1中数据通过中数据通过ALU传送;传送;ALU DBUS DRR0;PC读指令Cache启动指令Cach
15、e读IR写PC增量R1读ALU传送控制ALU输出DR锁存R0写2022年12月17日星期六205.2.3 LAD R1,6指令的指令周期指令的指令周期lLAD指令是指令是RS型指令,型指令,需要访存获取操作数,共需要访存获取操作数,共包含三个包含三个CPU周期:周期:取值周期取值周期间址周期间址周期u从从IR的地址码字段获的地址码字段获取操作数地址;(或取操作数地址;(或者通过计算获得者通过计算获得EA)执行周期执行周期u访存获取操作数送入访存获取操作数送入通用寄存器通用寄存器R1;2022年12月17日星期六21LAD R1,6指令的执行过程演示指令的执行过程演示102LAD R1,6103
16、LAD6100动画演示2022年12月17日星期六22LAD R1,6指令周期中的控制信号指令周期中的控制信号1.LAD取指周期取指周期CPU动作与取动作与取MOV指令的取值周期中一样。指令的取值周期中一样。2.LAD指令的执行周期指令的执行周期IR DBUS AR;u该过程为寻址周期;该过程为寻址周期;ARABUS数据数据Cache,译码并启动;,译码并启动;数据数据Cache DBUS DRR1;IR读AR锁存数据Cache启动数据Cache读DR锁存R1写2022年12月17日星期六235.2.4ADD R1,R2指令的指令周期指令的指令周期 lADD指令的指令周期由两个指令的指令周期由
17、两个CPU周期组成周期组成。取指周期(略)取指周期(略)执行周期执行周期u从寄存器从寄存器R1、R2中取出数据,作为源操作数;中取出数据,作为源操作数;u将两数据送往将两数据送往ALU,并使,并使ALU进行加运算;进行加运算;u结果保存到结果保存到R1中。中。2022年12月17日星期六24ADD R1,R2指令的执行过程演示指令的执行过程演示103ADD R1,R2104ADD10020120动画演示2022年12月17日星期六25ADD R1,R2指令周期中的控制信号指令周期中的控制信号取指周期(略)取指周期(略)CPU动作与取动作与取MOV指令的取值周期中一样。指令的取值周期中一样。执行
18、周期执行周期R1、R2ALU;ALU做加运算,将两数相加;做加运算,将两数相加;ALUDBUSDRR1,保存结果;,保存结果;R1读R2读ALU加ALU输出DR锁存R1写2022年12月17日星期六265.2.5STO R2,(R3)指令的指令周期指令的指令周期 lSTO指令是指令是RS型指令,需要型指令,需要3个个CPU周期。周期。取指周期(略)取指周期(略)间址周期间址周期u根据根据R3中的地址寻址所要访问的存储单元;中的地址寻址所要访问的存储单元;执行周期执行周期u将寄存器将寄存器R2中的数据送入指定的存储单元;中的数据送入指定的存储单元;2022年12月17日星期六27STO R2,(
19、R3)指令的执行过程演示指令的执行过程演示104STO R2,(R3)105STO动画演示 30 120 2022年12月17日星期六28STO R2,(R3)指令周期中的控制信号指令周期中的控制信号1.取指周期(略)取指周期(略)2.执行周期执行周期 R3DBUSAR,发出地址启动数据,发出地址启动数据Cache;u该过程为间址周期;该过程为间址周期;R2DBUS数据数据Cache;R3读AR锁存R2读数据Cache写2022年12月17日星期六295.2.6 JMP 101指令的指令周期指令的指令周期lJMP指令是一条无条件转移指令,用来改变程序的指令是一条无条件转移指令,用来改变程序的执
20、行顺序;执行顺序;lJMP指令的执行需要两个指令的执行需要两个CPU周期:周期:取指周期(略)取指周期(略)执行周期执行周期u使用使用JMP指令中的直接地址为指令中的直接地址为PC赋值;赋值;2022年12月17日星期六30JMP 101指令的执行过程演示指令的执行过程演示105JMP 101106JMP动画演示1012022年12月17日星期六31JMP 101指令指令周期中的控制信号周期中的控制信号1.取指周期(略)取指周期(略)2.执行周期执行周期 IRDBUSPC;IR读PC写2022年12月17日星期六325.2.7用方框图语言表示指令周期用方框图语言表示指令周期l方框方框代表一个代
21、表一个CPU周期;周期;方框中的内容表示数据通路的操作或某种控制操作。方框中的内容表示数据通路的操作或某种控制操作。l菱形菱形通常用来表示某种判别或测试;通常用来表示某种判别或测试;时间上依附于之前一个方框的时间上依附于之前一个方框的CPU周期,而不单独占用一周期,而不单独占用一个个CPU周期;周期;l(公操作符号)(公操作符号)表示一条指令已经执行完毕,转入公操作。表示一条指令已经执行完毕,转入公操作。所谓公操作所谓公操作就是一条指令执行完毕后,就是一条指令执行完毕后,CPU所开始的一些所开始的一些操作,比如对外围设备请求的处理等。操作,比如对外围设备请求的处理等。2022年12月17日星期
22、六33P139 图图5.14方框图语言表示的指令周期方框图语言表示的指令周期 MOV R0,R1 LAD R1,6 ADD R1,R2 STO R2,(R3)JMP 101 2022年12月17日星期六34课本课本P139 【例【例1】l图图5.15所示为双总线结构机器的数据通路,各构成部件如图,所示为双总线结构机器的数据通路,各构成部件如图,线上标注有小圈表示有控制信号,未标字符的线为直通线。线上标注有小圈表示有控制信号,未标字符的线为直通线。“ADD R2,R0”指令完成指令完成(R0)+(R2)R0的功能操作,的功能操作,画出其指令周期流程图,并列出相应的微操作控制信号序画出其指令周期流
23、程图,并列出相应的微操作控制信号序列。列。“SUB R1,R3”指令完成指令完成(R3)-(R1)R3的操作,画出其的操作,画出其指令期流程图,并列出相应的微操作控制信号序列。指令期流程图,并列出相应的微操作控制信号序列。2022年12月17日星期六35l 指令周期应包括指令周期应包括取指取指周期周期和和执行周期执行周期;l 执行周期中应首先将执行周期中应首先将R0、R2两寄存器的两寄存器的内容送入内容送入ALU的操作的操作数缓冲器中,再执行数缓冲器中,再执行加法运算;加法运算;(1)“ADD R2,R0”(R0)+(R2)R0(PC)AR(M)DR(DR)IR译码(R2)Y(R0)X(R0)
24、+(R2)R0取指周期执行周期PC0GARiR/W=1DR0GIRiR20GYiR00GXi+GR0i2022年12月17日星期六36指令指令ADD R2,R0的执行过程的执行过程指令地址指令R2R0和2022年12月17日星期六37l指令周期应包括指令周期应包括取指周取指周期期和和执行周期执行周期;l取指周期与取指周期与ADD指令指令完全相同;完全相同;l执行周期与执行周期与ADD指令指令不同之处在于不同之处在于ALU的的控制信号为控制信号为“”(2)“SUB R1,R3”(R3)(R1)R3(PC)AR(M)DR(DR)IR译码(R3)Y(R1)X(R3)-(R1)R3取指周期执行周期PC
25、0GARiR/W=1DR0GIRiR30GYiR10GXiGR3i2022年12月17日星期六38参考上例试写出下列指令的微操作序列参考上例试写出下列指令的微操作序列l指令指令STO R1,(R2)功能:功能:R1(R2),将,将R1的数据送入的数据送入R2指向的单元中;指向的单元中;l指令指令LAD(R3),R0功能:将功能:将R3指向单元中的数据送入指向单元中的数据送入R0中;中;l指令指令ADD R0,(R1)功能:将功能:将R1指向单元中的数据和指向单元中的数据和R0的内容相加,并将结果存的内容相加,并将结果存入入R0寄存器中。寄存器中。l指令指令ADD(R1),R0功能:功能:(R0
展开阅读全文