版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第5章 中央处理机目录5.1 CPU的功能和组成掌握5.2 指令周期掌握5.3 时序产生器和控制方式了解5.4 微程序控制器掌握5.5 硬连线控制器了解5.6 传统CPU了解5.7 流水CPU掌握5.8 RISC CPU了解5.9 多媒体CPU了解10/10/20222考研大纲要求(一)CPU的功能和基本结构(二)指令执行过程(三)数据通路的功能和基本结构(四)控制器的功能和工作原理硬布线控制器微程序控制器微程序、微指令和微命令微指令的编码方式;微地址的形成方式(五) 指令流水线指令流水线的基本概念超标量和动态流水线的基本概念10/10/202235.1 CPU的组成和功能5.1.1 CPU的
2、功能5.1.2 CPU的基本组成5.1.3CPU中的主要寄存器5.1.4 操作控制器与时序产生器10/10/202245.1.1 CPU的功能CPU(中央处理器)控制程序按设定方式执行;CPU的主要功能:指令控制控制程序的执行顺序;操作控制产生和发送各操作信号;时间控制控制指令、或操作的实施时间;数据加工对数据进行算术逻辑运算;顺序寻址、跳跃寻址对指令操作码译码后产生控制信号维持各类操作的时序关系由ALU完成具体的运算10/10/202255.1.2 CPU的基本组成现代的CPU的组成运算器、控制器控制器的主要功能从内存中取出一条指令,并指出下条指令的存放位置;对指令进行译码,产生相应的操作控
3、制信号;控制CPU、内存和输入/输出设备之间数据流动;运算器的主要功能: 执行所有的算术运算;执行所有的逻辑运算,并进行逻辑测试。冯诺依曼机的定义、片内Cache;PC、IRALU、通用寄存器组、标志寄存器CU、时序电路、操作控制器10/10/20226CPU模型图动画演示:5-1.swf运算器Cache控制器10/10/202275.1.3CPU中的主要寄存器(1/3) 数据缓冲寄存器(DR)暂时存放CPU与外界传送的数据,可以是指令字或数据字。作用 : 作为CPU和内存、外部设备之间信息传送的中转站;补偿CPU和内存、外围设备之间在操作速度上的差别;通用寄存器功能:暂时存放ALU运算的数据
4、或结果。CPU中的通用寄存器可多达16个,32个,甚至更多。10/10/202285.1.3CPU中的主要寄存器(2/3) 状态条件寄存器(PSW)保存各种状态和条件控制信号;进位标志(C),溢出标志(V),零标 志(Z),符号标志(N)每个信号由一个触发器保存,从而拼成一个寄存器。地址寄存器(AR) 保存当前CPU所访问数据的内存单元地址;主要用于解决主存/外设和CPU之间的速度差异,使地址信息可以保持到主存/外设的读写操作完成为止 。10/10/202295.1.3CPU中的主要寄存器(3/3) 程序计数器(PC)始终存放下一条指令的地址,对应于指令Cache的访问;其内容变化分两种情况顺
5、序执行: PC+1PC转移执行: (指令OPR)PC指令寄存器(IR)保存当前正在执行的一条指令。指令寄存器中操作码字段的输出就是指令译码器的输入。寄存功能计数功能10/10/2022105.1.4 操作控制器与时序产生器 数据通路寄存器之间传送信息的通路。操作控制器根据指令操作码和时序信号,产生各种操作控制信号;建立正确地数据通路,从而完成指令的执行。根据设计方法不同,操作控制器可分为硬布线控制器:采用时序逻辑技术实现;微程序控制器:采用存储逻辑实现;前两种方式的结合;时序产生器对各种操作实施时间的控制。10/10/202211数据通路的建立增量写入读出写入读出写入读出锁存锁存写入读出写入读
6、出运算类型读出写入10/10/2022125.2 指令周期5.2.1 指令周期的基本概念5.2.2 MOV R0 , R1指令的指令周期5.2.3 LAD R1 , 6指令的指令周期5.2.4ADD R1 , R2指令的指令周期 5.2.5STO R2 , (R3)指令的指令周期 5.2.6 JMP 101指令的指令周期5.2.7 用方框图语言表示指令周期10/10/2022135.2.1 指令周期的基本概念 CPU执行程序是一个“取指令执行指令”的循环过程。指令周期CPU从内存中取出一条指令,并执行的时间总和;CPU周期又称机器周期,一般为从内存读取一条指令字的最短时间;一个CPU周期可以完
7、成CPU的一个基本操作。 时钟周期也叫节拍脉冲或T周期,是计算机处理操作的基本时间单位。动画演示:5-2.swf10/10/202214关于指令周期一个完整的指令周期由若干机器周期:取指周期间址周期执行周期中断周期所有指令的第一个机器周期必为取指周期;一个基本的CPU周期包含4个时钟周期,对于某些CPU周期可以包含更多的时钟周期。不同指令的指令周期所包含的时钟周期个数不一定相同。求操作数有效地址本教材上,间址周期和执行周期统称为执行周期!10/10/202215一个简单的程序地址指令说明100程序执行前设置(R0)=00,(R1)=10;(R2)=20,(R3)=30101MOV R0 , R
8、1传送指令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号单元106AND R1 , R3逻辑与指令AND执行(R1) (R3) R3地址数据570610076610773040(120)10/10/2022165.2.2 MOV R0 , R1指令的指令周期MOV是一条RR型指令,它需要两个CPU 周期:
9、取指周期从存储器中取出指令;程序计数器PC加1;译码或测试指令操作码,发出控制信号;执行周期在控制信号的作用下,将R1中的数据经过ALU送入R0;10/10/202217MOV R0 , R1指令的执行过程演示101MOV R0 , R1102MOV1010/10/202218MOV R0 , R1指令周期中的控制信号取指周期 PCABUS指令Cache ,译码并启动;指令Cache IR;PC PC+1,为取下条指令做好准备;IR中的操作码被译码或测试,CPU识别出是指令MOV。执行指令阶段R1ALU,R1中数据通过ALU传送;ALU DBUS DRR0;PC读指令Cache启动指令Cach
10、e读IR写PC增量R1读ALU传送控制ALU输出DR锁存R0写10/10/2022195.2.3 LAD R1 , 6指令的指令周期LAD指令是RS型指令,需要访存获取操作数,共包含三个CPU周期:取指周期间址周期从IR的地址码字段获取操作数地址;(或者通过计算获得EA)执行周期访存获取操作数送入通用寄存器R1;10/10/202220LAD R1 , 6指令的执行过程演示102LAD R1,6103LAD610010/10/202221LAD R1 , 6指令周期中的控制信号LAD取指周期CPU动作与取MOV指令的取值周期中一样。LAD指令的执行周期IR DBUS AR;该过程为寻址周期;
11、ARABUS数据Cache ,译码并启动;数据Cache DBUS DRR1;IR读AR锁存数据Cache启动数据Cache读DR锁存R1写10/10/2022225.2.4ADD R1 , R2指令的指令周期 ADD指令的指令周期由两个CPU周期组成 。取指周期(略)执行周期从寄存器R1、R2中取出数据,作为源操作数;将两数据送往ALU,并使ALU进行加运算;结果保存到R1中。10/10/202223ADD R1 , R2指令的执行过程演示103ADD R1,R2104ADD1002012010/10/202224ADD R1 , R2指令周期中的控制信号取指周期(略)CPU动作与取MOV指
12、令的取值周期中一样。执行周期R1、R2ALU;ALU做加运算,将两数相加;ALUDBUSDRR1,保存结果;R1读R2读ALU加ALU输出DR锁存R1写10/10/2022255.2.5STO R2 , (R3)指令的指令周期 STO指令是RS型指令,需要3个CPU周期。取指周期(略)间址周期根据R3中的地址寻址所要访问的存储单元;执行周期将寄存器R2中的数据送入指定的存储单元;10/10/202226STO R2 , (R3)指令的执行过程演示104STO R2,(R3)105STO 30 120 10/10/202227STO R2 , (R3)指令周期中的控制信号取指周期(略)执行周期R
13、3DBUSAR,发出地址启动数据Cache;该过程为间址周期;R2DBUS数据Cache;R3读AR锁存R2读数据Cache写10/10/2022285.2.6 JMP 101指令的指令周期JMP指令是一条无条件转移指令,用来改变程序的执行顺序;JMP指令的执行需要两个CPU周期:取指周期(略)执行周期使用JMP指令中的直接地址为PC赋值;10/10/202229JMP 101指令的执行过程演示105JMP 101106JMP10110/10/202230JMP 101指令周期中的控制信号取指周期(略)执行周期IRDBUSPC;IR读PC写动画演示10/10/2022315.2.7用方框图语言
14、表示指令周期方框代表一个CPU周期;方框中的内容表示数据通路的操作或某种控制操作。 菱形通常用来表示某种判别或测试;时间上依附于之前一个方框的CPU周期,而不单独占用一个CPU周期;(公操作符号)表示一条指令已经执行完毕,转入公操作。所谓公操作就是一条指令执行完毕后,CPU所开始的一些操作,比如对外围设备请求的处理等。动画演示 5.14.swf10/10/202232P139 图5.14方框图语言表示的指令周期 MOV R0 , R1 LAD R1 , 6 ADD R1 , R2 STO R2 , (R3) JMP 101 10/10/202233课本P139 【例1】图5.15所示为双总线结
15、构机器的数据通路,各构成部件如图,线上标注有小圈表示有控制信号,未标字符的线为直通线。 “ADD R2,R0”指令完成(R0)+(R2)R0的功能操作,画出其指令周期流程图,并列出相应的微操作控制信号序列。 “SUB R1,R3”指令完成(R3)-(R1)R3的操作,画出其指令期流程图,并列出相应的微操作控制信号序列。10/10/202234指令周期应包括取指周期和执行周期;执行周期中应首先将R0、R2两寄存器的内容送入ALU的操作数缓冲器中,再执行加法运算;(1) “ADD R2,R0” (R0)+(R2)R0(PC)AR(M)DR(DR)IR译码(R2)Y(R0)X(R0)+(R2)R0取
16、指周期执行周期PC0GARiR/W=1DR0GIRiR20GYiR00GXi+GR0iALU010/10/202235指令ADD R2,R0的执行过程指令地址指令R2R0和10/10/202236指令周期应包括取指周期和执行周期;取指周期与ADD指令完全相同;执行周期与ADD指令不同之处在于ALU的控制信号为“”(2) “SUB R1,R3” (R3) (R1)R3(PC)AR(M)DR(DR)IR译码(R3)Y(R1)X(R3)-(R1)R3取指周期执行周期PC0GARiR/W=1DR0GIRiR30GYiR10GXiGR3i10/10/202237参考上例试写出下列指令的微操作序列指令ST
17、O R1,(R2)功能:R1(R2),将R1的数据送入R2指向的单元中;指令LAD (R3),R0功能:将R3指向单元中的数据送入R0中;指令ADD R0,(R1)功能:将R1指向单元中的数据和R0的内容相加,并将结果存入R0寄存器中。指令ADD (R1),R0功能:(R0)+(R1)(R1),将R0中的数据与R1指向单元中的数据相加,并将结果送入R1指向的单元中;10/10/202238计算机的性能指标主频/时钟周期主时钟的频率(f)叫CPU的主频;主频的倒数称为CPU时钟周期(T),T=1/f。CPI执行一条指令所需的平均时钟周期数。MIPS每秒百万指令数,即单位时间内执行的指令数。10/
18、10/2022395.3 时序产生器和控制方式 5.3.1 时序信号的作用和体制5.3.2 时序信号产生器5.3.3 控制方式10/10/2022405.3.1 时序信号的作用和体制时序信号的作用使计算机准确、迅速、有条不紊地工作;CPU通过时序控制来识别指令和数据:指令周期的第一个CPU周期取指周期;从存储单元中取出的一定是指令,需要送往IR指令寄存器;指令周期的其他CPU周期执行周期;从存储单元中取出的一定是数据,需要送往运算器。时序信号的体制:电位脉冲制脉冲到达之前,电平信号必须要稳定;CPU的时间表10/10/202241控制器的时序信号硬布线控制器的时序信号常采用主状态周期节拍电位节
19、拍脉冲三级体制。微程序控制器的时序信号一般采用节拍电位节拍脉冲二级体制。节拍脉冲节拍电位1主状态周期节拍电位2节拍电位可表示一个CPU周期主状态周期可包含若干个节拍电位,是最大的时间单位时钟周期10/10/2022425.3.2 时序信号产生器时序信号产生器:用逻辑电路实现时序的控制;微程序控制器中时序信号产生器的组成: P142图5.17时钟源提供稳定的基本方波时钟信号;环形脉冲发生器产生一组有序的间隔相等或不等的脉冲序列;节拍脉冲和读写时序译码逻辑 环形脉冲与节拍脉冲共同作用产生各控制信号的时序;启停控制逻辑 10/10/2022435.3.3控制方式 控制器的控制方式控制不同操作序列的时
20、序信号的方法。 同步控制方式在任何情况下,已定的指令在执行时所需的机器周期数和时钟周期数都固定不变。 异步控制方式每条指令、每个操作控制信号需要多少时间就占用多少时间。 联合控制方式大部分操作序列为固定的机器周期,对某些时间难以确定的操作则以执行部件的“回答”信号作为本次操作的结束。机器周期的节拍脉冲数固定,但是各条指令周期的机器周期数不固定。10/10/2022445.4 微程序控制器 5.4.1 微程序控制原理5.4.2 微程序设计技术10/10/2022455.4.1 微程序控制原理微程序设计技术是利用软件方法来设计硬件的一门技术。具有规整性、灵活性、可维护性等一系列优点;逐渐取代了早期
21、的组合逻辑控制器,已被广泛地应用。基本思想仿照通常的解题程序的方法,把操作控制信号编成所谓的“微指令”,存放到一个只读存储器里;当机器运行时,一条一条地读出这些微指令,从而产生全机所需要的各种操作控制信号,使部件执行规定的操作。10/10/2022461、微命令和微操作控制部件与执行部件之间的联系控制部件向执行部件发出控制信号;执行部件向控制部件返回状态信息; 微命令控制部件通过控制线向执行部件发出的各种控制命令;微操作执行部件接受微命令后所执行的操作;状态测试执行部件通过反馈线向控制部件反映当前操作状态,以使控制部件决定下一步的微命令;控制线执行部件的最基本的操作10/10/202247微操
22、作的分类相容性微操作在同时或同一个CPU周期内可以并行执行的微操作;相斥性微操作不能在同时或不能在同一个CPU周期内并行执行的微操作。10/10/202248简单运算器数据通路相斥性微操作相斥性微操作相斥性微操作相容性微操作10/10/2022492、微指令和微程序微指令一个CPU周期中,实现一定操作功能的一组微命令的组合。微指令一般包含操作控制和顺序控制两大部分操作控制:用于发出管理和指挥全机工作的控制信号;顺序控制:用于决定产生下一条微指令的地址;所有的微指令都存放于控制存储器中,使用地址访问;微程序能实现一条机器指令功能的多条微指令序列;每条机器指令都对应着一段微程序;微地址10/10/
23、2022503、微程序控制器原理框图微程序控制器主要构成部件: P147图5.23控制存储器(CM)存放实现全部指令系统的微指令;由只读存储器构成,要求速度快,读出周期短。微指令寄存器 存放由控制存储器读出的一条微指令信息;微地址寄存器:决定将要访问的下一条微指令的地址;微命令寄存器:保存一条微指令的操作控制字段和判别测试字段的信息。地址转移逻辑用于跳跃寻址微指令时,承担自动完成修改微地址的任务。10/10/202251P147图5.23 微程序控制器原理框图10/10/2022525、CPU周期与微指令周期的关系微指令周期读出微指令的时间加上执行该条微指令的时间;串行方式的微程序控制器中的概
24、念;一般来讲,一个微指令周期时间设计得恰好和CPU周期时间相等。 10/10/2022535.4.2 微程序设计技术 -了解微命令编码微地址的形成方法微指令格式动态微程序设计10/10/2022545.5硬连线控制器 硬布线控制器是一种由门电路和触发器构成的复杂树形网络。硬布线控制器是早期设计计算机的一种方法;随着新一代机器及VLSI技术的发展,硬布线逻辑设计思想又得到了重视。与微程序控制相比,硬布线控制的速度较快;微程序控制中每条微指令都要从控制存储器中读取一次,影响了速度,而硬布线控制主要取决于电路延迟;近年来在某些超高速新型计算机结构中,又选用了硬布线控制,或与微程序控制器混合使用。 1
25、0/10/2022555.7 流水CPU 5.7.1 并行处理技术 5.7.2 流水CPU的结构 5.7.3 流水线中的主要问题 10/10/2022565.7.1 并行处理技术标准的冯诺依曼体系结构,采用的是串行处理,即一个时刻只能进行一个操作。并行性的两种含义: 同时性:两个以上事件在同一时刻发生;如多机系统中,同一时刻多个进程在运行。 并发行:两个以上事件在同一间隔内发生。如并发程序,某一时刻CPU中只有一个进程在运行,而在一个时间段内,多个进程同时运行。 并行性的三种形式: 时间并行:即使用流水处理部件,时间重叠。 空间并行:设置重复资源,同时工作。 时间并行空间并行:时间重叠和资源重
26、复的综合应用。10/10/202257微指令的执行方式串行执行方式并行执行方式取第i条微指令 执行第i条微指令 取第i+1条微指令 执行第i+1条微指令微周期微周期取第i条微指令 执行第i条微指令取第i+1条微指令 执行第i+1条微指令 取第i+2条微指令 执行第i+2条微指令10/10/2022585.7.2 流水CPU的结构1、流水计算机的系统组成流水CPU的组成指令部件指令部件本身构成一个流水线,由取指令、指令译码、计算操作数地址、取操作数等过程段组成。指令队列指令队列是一个先进先出的寄存器栈,用于存放经过译码的指令和取来的操作数。执行部件执行部件可以具有多个算术逻辑运算部件,这些部件本
27、身又用流水线方式构成。主存采用多体交叉存储器,以提高访问速度。P162页 图5.32流水线技术是Intel在486芯片中首次使用的10/10/202259流水计算机系统组成原理示意图10/10/202260执行段的速度匹配问题的解决将执行部件分为定点执行部件和浮点执行部件两个可并行执行的部分,分别处理定点运算指令和浮点运算指令; 在浮点执行部件中,又有浮点加法部件和浮点乘除部件,它们也可以同时执行不同的指令; 浮点运算部件都以流水线方式工作。10/10/2022612、流水CPU的时空图流水线基本原理顺序方式的串行指令执行过程:将一条指令的执行过程分成4段,并行执行过程:取指1译码1取操作数1
28、运算并保存结果1取指2译码2取操作数2取指译码取操作数运算并保存结果取指译码取操作数运算并保存结果取指译码取操作数运算并保存结果取指译码取操作数运算并保存结果一般流水线时钟周期应选取4段中最长的时间10/10/202262流水线性能 1. 吞吐率 单位时间内 流水线所完成指令 或 输出结果 的 数量 最大吞吐率 实际吞吐率 连续处理 n 条指令的吞吐率为设 m 段的流水线各段时间为tTpmax =1tTp =m + (n-1) ntt10/10/2022632. 加速比 Sp m 段的 流水线的速度 与等功能的 非流水线的速度 之比 设流水线各段时间为 t 完成 n 条指令在 m 段流水线上共
29、需 T = m + (n-1) t t 完成 n 条指令在等效的非流水线上共需 T = nmt Sp = m +(n-1) nm =nmm + n -1 t t t 则10/10/202264动画演示:5.33.swf一般流水线(pipeline)只有一条指令流水线超流水线(superpipeline)多级流水线每个阶段内部再划分步骤奔腾Pro的流水线长达14步超标量(superscale)流水线具有两条以上的指令流水线奔腾以上CPU才具有这种结构流水计算机的时空图10/10/2022653、流水线分类指令流水线指令执行的并行处理;指令流划分为取指、译码、取操作数、执行、写回等过程;算术流水线
30、运算操作步骤的并行处理;现代微机中大多采用流水的算术运算器;处理机流水线程序步骤的并行处理将每一阶段的处理分散在不同的机器上,应用于多级系统中;10/10/2022665.7.3 流水线中的主要问题 资源相关多条指令进入流水线后在同一机器时钟周期内争用同一个功能部件所发生的冲突;解决方法:指令推迟执行,或是设置重复资源; 数据相关在一个程序中,如果必须等前一条指令执行完毕后,才能执行后一条指令,这两条指令就是数据相关;解决方法:指令推迟执行,或是定向传送技术。 控制相关当执行转移指令时,根据转移条件是否发生来控制指令的执行顺序;解决方法:延迟转移法、转移预测法。10/10/202267资源相关
31、第1、2条指令的MEM与第4、5条指令的IF,都需要访存;若数据与指令在同一存储器中,且单端口访问,则争用资源;解决方法第4条指令推迟一个时钟周期;将数据与指令存储器分离;或采用双端口存储器;IFIDEXMEMWB第1条IFIDEXMEMWB第2条IFIDEXMEMWB第3条IFIDEXMEMWB第4条IFIDEXMEMWB第5条10/10/202268数据相关设某程序段如右以上3条指令的流水执行如下在第5个时钟周期ADD指令才会更新R1内容;但第4、5个时钟周期SUB、AND指令就需要读取R1的内容;解决方法数据相关指令推迟若干时钟周期执行;数据定向(旁路)技术,直接采用运算器的结果;改变程
32、序的执行顺序,将无关指令提前执行;ADD R1,R2,R3 ;(R2)(R3)R1SUB R4,R1,R5 ;(R1)(R5) R4AND R6,R1,R7 ; (R1)(R7) R6IFIDEXMEMWBADDIFIDEXMEMWBSUBIFIDEXMEMWBAND不一定总有效10/10/202269旁路技术:不必等待某条指令的执行结果送回到寄存器后,再从寄存器中取出结果,作为下一条指令的源操作数,而是直接将执行结果送到其他指令所需要的地方。10/10/20227009年考研题18.某计算机的指令流水线由四个功能段组成,指令流经各功能段的时间(忽略各功能段之间的缓存时间)分别为90ns、80ns、70ns和60ns,则计算机的CPU时钟周期至少是(A)A、90ns B、 80ns C 、70
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 木工分包合同范本
- 原木销售购入合同
- 电子设备保修服务合同
- 标准技术服务合同简化版
- 招标文件合同的许可问题
- 教育装备产品购买合同
- 购买牛只合同范本
- 医疗器材订购合同样式
- 油漆工分包合同范本示例
- 艺术生学业保证书
- 严重精神障碍患者随访服务记录表
- JTJ-T-259-2004水下深层水泥搅拌法加固软土地基技术规范-PDF解密
- 20S121生活热水加热机组(热水机组选用与安装)
- 跨学科学习:一种基于学科的设计、实施与评价
- 医院典型案件评析制度
- MOOC 管理学原理-大连理工大学 中国大学慕课答案
- JJG 527-2015固定式机动车雷达测速仪
- 建设工程检测委托合同
- 完整解读2024年关于加强社区工作者队伍建设的意见内容课件
- 中班科学教案:好吃的栗子
- 检验后质量控制讲解
评论
0/150
提交评论