您好,欢迎访问三七文档
复习思考题1、对于组相联映射,如何理解“组间直接映射,组内全相联映射”?2、对于Cache的替换策略,哪一种命中率比较高,为什么?3、奔腾PC机,L1Cache和L2Cache分别采用哪种写策略,各有什么特点?第五章中央处理器5.1CPU的组成和功能5.1.1CPU的功能它具有如下四方面的基本功能:★指令控制程序的顺序控制称为指令控制。★操作控制CPU产生操作信号,从而控制各部件按指令的要求进★时间控制对各种操作实施时间上的定时称为时间控制。★数据加工数据加工就是对数据进行算术运算和逻辑运算处理。5.1.2CPU的基本组成•CPU的基本部分由运算器、cache和控制器三大部分组成。•控制器•由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成,•它是发布命令的“决策机构”,•即完成协调和指挥整个计算机系统的操作。•它的主要功能有:•(1)从内存中取出一条指令,并指出下一条指令在•(2)对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作;•(3)指挥并控制CPU、内存和输入/输出设备之间数据流动的方向。•运算器•由算术逻辑单元(ALU)、累加寄存器、数据缓冲寄存器和状态条件寄存器组成,它是数据加工处理部件。•它是执行部件。•运算器有两个主要功能:•(1)•(2)执行所有的逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。•5.1.3CPU中的主要寄存器•在CPU中至少要有六类寄存器。这些寄存器用来暂存一个计算机字。•1.数据缓冲寄存器(DR)•2.指令寄存器(IR)•3.程序计数器(PC)•4.地址寄存器(AR)•5.累加寄存器(AC)•6.状态条件寄存器(PSW)•5.1.4操作控制器与时序产生器•数据通路是许多寄存器之间传送信息的通路。•在各寄存器之间建立数据通路的任务,是由称为操作控制器的部件来完成的。•操作控制器根据指令操作码和时序信号,产生各种操作控制信号.•根据设计方法不同,操作控制器可分为时序逻辑型、存储逻辑型、时序逻辑与存储逻辑结合型三种。•1.硬布线控制器•是采用时序逻辑技术来实现的;•2.微程序控制器•是采用存储逻辑来实现的;•3.前两种方式的组合•操作控制器产生的控制信号必须定时,还必须有时序产生器。•时序产生器的作用:对各种操作实施时间上的控制。5.2指令周期•5.2.1指令周期的基本概念•指令周期CPU从内存取出一条指令并执行这条指令的时间总和。•CPU周期又称机器周期,CPU访问一次内存所花的时间较长,因此用从内存读取一条指令字的最短时间来定义。•时钟周期通常称为节拍脉冲或T周期。一个CPU周期包含若干个时钟周期。下面通过CPU执行这一段程序的过程,具体认识每一条指令的指令周期。•5.2.2CLA指令的指令周期•CLA是一条非访内指令,它需要两个CPU周期•取指令和执行指令各需要一个CPU周期。•1、取指令阶段•(1)程序计数器PC的内容20(八进制)被装入地址寄存器AR;•(2)程序计数器内容加1,变成21,为取下一条指令做好准备;•(3)•(4)所选存储器单元20的内容经过数据总线,传送到数据缓冲寄存器DR;•(5)缓冲寄存器的内容传送到指令寄存器IR•(6)•(7)CPU识别出是指令CLA,至此,取指令阶段即告结束。•2执行指令阶段•(1)操作控制器送一控制信号给算术逻辑运算单元ALU;•(2)ALU响应该控制信号,将累加寄存器AC的内容全部清零,从而执行了CLA指令。•5.2.3ADD指令的指令周期•ADD指令的指令周期由三个CPU周期组成。•1.取指令周期•2.执行指令周期•(1)送操作数地址•(2)两操作数相加5.2.4STA指令的指令周期STA指令的指令周期由三个CPU周期组成。执行指令阶段包括:1.送操作数地址2.存储和数注意在这个操作之后,累加器中仍然保留和数6,而存储器40号单元中原先的内容被冲掉。•5.2.5NOP指令和JMP指令的指令周期•NOP是一条空操作指令。•其中第一个CPU周期中取指令•第二个CPU周期中执行该指令,不发出任何控制信号•NOP指令可用来调机之用。•JMP指令的指令周期由两个CPU周期组成。•1.第一个CPU周期(取指令阶段)•2.第二个CPU周期(执行阶段)•注意执行“JMP21”指令时,我们此处所给的四条指令组成的程序进入了死循环,除非人为停机,否则这个程序将无休止地运行下去复习思考题1、控制器主要由哪些部件组成?各起什么作用?2、运算器主要由哪些部件组成?各起什么作用?3、什么是指令周期、CPU周期(机器周期)、时钟周期?它们的关系如何?4、针对下图,写出ADD30指令从取指到执行结束各CPU周期的动作,用符号表示。•5.2.6用方框图语言表示指令周期•在进行计算机设计时,可以采用方框图语言来表示一条指令的指令周期。•方框代表一个CPU周期,方框中的内容表示数据通路的操作或某种控制操作。•菱形通常用来表示某种判别或测试,不过时间上它依附于紧接它的前面一个方框的CPU周期,而不单独占用一个CPU周期。•符号:公操作符号,对外设请求的处理如中断处理、通道处理•【例1】图5.15所示为双总线结构机器的数据通路,IR为指令寄存器,PC为程序计数器(具有自增功能),M为主存(受R/W信号控制),AR为地址寄存器,DR为数据缓冲寄存器,ALU由加、减控制信号决定完成何种操作,控制信号G控制的是一个门电路。另外,线上标注有小圈表示有控制信号,例中yi表示y寄存器的输入控制信号,R1o为寄存器R1的输出控制信号,未标字符的线为直通线,不受控制。•(1)“ADDR2,R0”指令完成(R0)+(R2)→R0的功能操作,画出其指令周期流程图,假设该指令的地址已放入PC中。并列出相应的微操作控制信号序列。•【解】•(2)“SUBR1,R3”指令完成(R3)-(R1)→R3的操作,画出其指令期流程图,并列出相应的微操作控制信号序列。•【解】作业:•P2091、2、35.7传统CPU思考题:1、在M6800CPU中,主存、外设地址采用何种方式编址?2、在Intel8088CPU中,取指、执行能否并行?为什么?3、在IBM370CPU中,如何进行存储保护的?4、在Intel80486CPU中,为什么能在一个时钟周期内完成一条基本指令?5.7传统CPU•5.7.1M6800CPU•5.7.2Intel8088CPU5.7.3IBM370系列CPU5.7.4Intel80486CPU•1.486CPU的特点•Intel80486是32位的CPU,内部结构见文字教材图5.36•(1)通过采用流水技术,以及微程序控制和硬布线逻辑控制相结合的方式,进一步缩短可变长指令的译码时•(2)486芯片内部包含一个8KB的数据和指令混合性cache,为频繁访问的指令和数据提供快速的内部存•(3)486芯片内部包含了增强性80387协处理器,称为浮点运算部件(FPU)。由于FPU功能扩充,且放在CPU内部,使引线缩短,故速度比80387提高了3—5倍。•(4)486CPU的内部数据总线宽度为64位,这也是它缩短指令周期的一个原因。而外部数据总•(5)地址信号线扩充到32位,可以处理4GB的物理存储空间。如果利用虚拟存储器,其存储空间达64TB•(6)486CPU采用单倍的时钟频率,而在CLK端加入的时钟频率,就是它内部CPU的时钟频率,•2.486CPU的内部结构•486的内部结构包含如下九个功能部件:•总线接口部件、小容量cache、指令预取部件、指令译码器、段管理部件、页管理部件、定点运算部件ALU、浮点运算部件FPU及操作控制部件。•总线接口部件主要用来产生访问外部存储器和I/O口所需•段管理部件用来把指令指定的逻辑地址(程序中指定的虚拟地址)变成线性地址。•页管理部件的功能是把线性地址换算成物理地址。•指令预取部件中包含了32字节的预取队列寄存器,可以存放多条指令,因而是一种流水线结构。•ALU中包含了通用寄存器组以及各种算术逻辑运算操作。•FPU则完成浮点数运算、二进制整数运算、十进制•操作控制部件采用微程序控制和硬布线控制相结合的方式,因而较好地发挥了效率。5.8流水CPU5.8.1并行处理技术并行性的两种含义:同时性指两个以上事件在同一时刻发生;并发性指两个以上事件在同一时间间隔内发生。计算机的并行处理技术概括起来主要有以下三种形式:1.时间并行指时间重叠,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分时间并行性概念的实现方式就是采用流水处理部件。目前的高性能微型机几乎无一例外地使用了流水技术。2.空间并行指资源重复,在并行性概念中引入空间因素。以“数量取胜”为原则来大幅度提高计算机的处理速度。空间并行技术主要体现在多处理器系统和多计算机系统。3.时间并行+空间并行指时间重叠和资源重复的综合应用,既采用时间并行性又采用空间并行性。5.8.2流水CPU的结构1.流水计算机的系统组成现代流水计算机的系统组成原理如下图所示。其中CPU按流水线方式组织,通常由三部分组成:指令部件、指令队列、执行部件。这三个功能部件可以组成一个3级流水线。为了使存储器的存取时间能与流水线的其他各过程段的速度相匹配,一般都采用多体交叉存储器。执行段的速度匹配问题:通常采用并行的运算部件以及部件流水线的工作方式来解决。方法包括:(1)将执行部件分为定点执行部件和浮点执行部件两个可并行执行的部分(2)在浮点执行部件中,又有浮点加法部件和浮点乘/除部件,它们也可以同时执行不同的指令;(3)浮点运算部件都以流水线方式工作。2.流水CPU计算机的流水处理过程非常类似于工厂中的流水装配线。为了实现流水,首先把输入的任务(或过程)分割为一系列子任务,并使各子任务能在流水线的各个阶段并发地执行。当任务连续不断地输入流水线时,在流水线的输出端便连续不断地吐出执行结果,从而实现了子任务级的并行性。图(a)表示流水CPU中一个指令周期的任务分解。•图(b)表示非流水计算机的时空图。图(c)表示流水计算机的时空图图(d)表示超标量流水计算机的时空图。3.流水线分类指令流水线指指令步骤的并行。将指令流的处理过程划分为取指令、译码、执行、写回等几个并行处理的过程段。算术流水线指运算操作步骤的并行。如流水加法器、流水乘法器、流水除法等。处理机流水线又称为宏流水线,是指程序步骤的并行。由一串级联的处理机构成流水线的各个过程段,每台处理机负责某一特定的任务。5.8.3流水线中的主要问题流水过程中通常会出现以下三种相关冲突,使流水线断流。1.资源相关是指多条指令进入流水线后在同一机器时钟周期内争用同一个功能部件所发生的冲突。•假定一条指令流水线由五段组成。•由下表可以看出,在时钟4时,I1与I4两条指令发生争用存储器资源的相关冲突解决资源相关冲突的办法:一是第I4条指令停顿一拍后再启动;二是增设一个存储器,将指令和数据分别放在两个存储器中。2.•在一个程序中,如果必须等前一条指令执行完毕后,才能执行后一条指令,那么这两条指令就是数据相关的。如:ADDR1,R2,R3SUBR4,R1,R5ANDR6,R1,R7解决数据相关冲突的办法:在流水CPU的运算器中设置若干运算结果缓冲寄存器暂时保留运算结果,以便于后继指令直接使用这称为“向前”或“定向”传送技术。3.控制相关•控制相关冲突是由转移指令引起的。•当执行转移指令时,依据转移条件的产生结果,可能为顺序、可能为转移,从而使流水线发生断流。•为了减小转移指令对流水线性能的影响,常用以下•延迟转移法由编译程序重排指令序列来实现。基本思想是“先执行再转移”•如果先执行的指令与转移无关的有用指令,那么延迟损失时间片正好得到了有效的利用。•转移预测法用硬件方法来实现,依据指令过去的行为来预测将来的行为。•通过使用转移取和顺序取两路指令预取队列器以及目标指令cache,可将转移预测提前到取指阶段进行•【例4】流水线中有三类数据相关冲突:写后读相关;读后写相关;写后写相关。判断以下三组指令各存在哪种类型的数据相关。(1)I1:ADDR1,R2,R
本文标题:5中央处理器
链接地址:https://www.777doc.com/doc-3381183 .html