版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第9章CPU的结构与功能本章主要介绍计算机中CPU的相关知识,要求学生掌握CPU的功能、组成以及CPU中的时序系统,了解指令流水和RISC的基本原理。重点提示:CPU组成CPU中寄存器的组织•控制器的组织•时序产生器的组织•指令流水9-1重点难点指导9-1-1CPU组织CPU的基本功能包括:指令控制操作控制时间控制数据加工CPU的组成:传统的CPU由运算器、控制单元和寄存器三大部分组成。随着高密度集成电路技术的发展,早期放在CPU芯片外部的一些逻辑功能部件,如浮点运算器、Cache9-1-2寄存器组织CPU中的寄存器按功能可分为如下两类:用户可见寄存器:允许机器语言或汇编语言的编程人员使用。•控制和状态寄存器:用来控制CPU的操作并被特权的操作系统程序用于控制程序的执行。用户可见寄存器可分类如下:通用寄存器:可被程序员使用。数据寄存器:用于保持数据。地址寄存器:用于寻址方式中,如SI、DI等。条件代码寄存器:部分可供用户使用,如溢出标志、中断屏蔽等。对于指令执行,有4种寄存器是至关重要的:程序计数器(PC):其内容为主存地址,指向下一条要执行的指令。指令寄存器(IR):存放当前正在执行的指令。存储地址寄存器(MAR):存放待访问的存储器地址。存储缓冲寄存器(MBR):存放写入存储器的数据字或最近读出的字。程序状态字(PSW)一般含有条件代码加上其他状态信息。普遍包括如下字段或标志:符号:容纳最后算术运算结果的符号位。零:当结果是零时被置位。进位:若操作导致最高位有向上的进位(加法)或借位(减法)时被置位。等于:若逻辑比较的结果是相等,则置位。溢出:用于指示算术溢出。中断允许/禁止:用于允许或禁止中断。监督:指出CPU是执行监督模式还是在用户模式。一个简单CPU的具体组成部分:ALU、操作控制器、时序产生器、指令译码器、控制和状态寄存器以及通用寄存器。9-1-3控制器组织数据通路:CPU中各个部件之间传送信息的通路称为数据通路。控制器的功能是对数据通路实施控制,以便信息能够正确传输,从而完成指令的执行。根据设计方法不同,操作控制器可分为:时序逻辑型:硬布线控制器,它是采用时序逻辑技术实现;存储逻辑型:微程序控制器,它是采用存储逻辑实现;时序逻辑与存储逻辑结合型:前两种方式的组合。指令周期:CPU每次取出并执行一条指令,都要完成系列的操作,这一系列操作所需的时间通常叫做一个指令周期。更简单地说,指令周期就是是取出并执行一条指令的时间。一般来讲,指令周期是随指令不同而变化的,不是一个固定值。CPU周期:也称为机器周期,根据指令执行的基本过程划分。指令周期通常包含用若干个CPU周期。CPU周期的长度在有些计算机中是固定的(如等于主存的存取周期),而在有些计算机中是可变的。节拍周期:节拍周期是完成CPU内部一些最基本操作所需要的时间,如数据从一个寄存器可靠传送到另外一个寄存器的时间或ALU完成一次算逻运算的时间。节拍周期的长度在任何机器中都是固定的。微周期:执行一条微指令所需要的时间叫做一个微周期。节拍脉冲:节拍脉冲常作为触发器的打入脉冲与节拍周期相配合完成一次数据传送。在有些计算机中,节拍脉冲与节拍周期一一对应,节拍脉冲的频率就是脉冲源的频率,即机器主频;但有些计算机的节拍周期包含若干个节拍脉冲,这样一个节拍周期中实现的操作也就多一些。硬布线控制器与微程序控制器的时序系统不同,具体表现为:硬布线控制器指令周期的组成:指令周期、CPU周期、节拍周期、节拍脉冲;微程序控制器指令周期的组成:指令周期、微周期、节拍脉冲;9-1-4时序产生器组织计算机的协调动作需要时间标志,而时间标志则是用时序信号来体现的。控制器发出的各种控制信号都是时间因素(时序信号)和空间因素(部件位置)的函数。组成计算机硬件的器件特性决定了时序信号最基本的体制是电位一脉冲制。硬布线控制器中,时序信号往往采用主状态周期一节拍电位一节拍脉冲三级体制。在微程序控制器中,时序信号比较简单,一般采用节拍电位一节拍脉冲二级体制。微程序控制器中使用的时序信号产生器由时钟源、环形脉冲发生器、节拍脉冲和读写时序译码逻辑、启停控制逻辑等部分组成。9-1-5指令流水传统冯•诺依曼计算机的特点是:指令的串行执行。为了提高计算机的速度,现代计算机往往采用并行处理技术,使得多种操作能够同时进行。并行性的含义:同时性:两个以上事件在同一时刻发生;并发性:两个以上事件在同一时间间隔内发生。并行处理技术的三种形式:时间并行:时间重叠。多个处理过程在时间上相互错开,轮流重叠的使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。空间并行:资源重复。时间并行+空间并行。指令流水类似于工厂中装配线的使用。流水线中常用术语:加速比:使用流水线后指令执行的速度比串行执行快多少。效率:流水线各功能部件的利用率。实现流水线的关键:若想使流水线正常工作,必须保证各功能段的执行时间要几乎相等;若想使整个处理速度加快,应设置更多的处理阶段。“断流”会导致流水线处理速度下降。流水过程中会出现以下三种相关冲突,导致流水线断流:资源相关冲突、数据相关冲突和控制相关冲突。9-1-6RISC的硬件结构虽然,已有不同的组织以各种方式定义和设计了RISC系统,然而有些关键点是大多数(不是所有)设计都采用的。它们是:一个有限的和简单的指令集;大量的通用寄存器或使用编译器技术来优化寄存器的使用;强调指令流水的优化。9-2典型例题解析1、下面有关程序计数器pc的叙述中,错误的是()。PC是用户不可见的寄存器PC的值由CPU在执行指令过程中进行修改转移指令时,PC的值总是修改为转移目标指令的地址PC的位数一般和存储器地址寄存器MAR的位数一样参考答案:C解析:计算机的工作过程就是周而复始执行指令的过程,指令在主存中连续存放。一般情况下,指令被顺序执行,只有遇到转移指令(如,无条件转移、条件分支、调用和返回等指令)才可能改变指令执行的顺序。选项A和选项B::指令执行的顺序由程序计数器PC的值来控制。PC中存放了下一步将要执行的指令在内存的地址。CPU在执行指令时,根据指令规定的目标地址计算方式和指令执行的结果标志(如,进位标志CF、符号标志SF等),对PC进行修改,用户无法直接修改PC的值,因而是用户不可见的寄存器。选项C:当执行到转移指令时,有两种情况:(1)如果是无条件转移或调用、返回等指令,则PC的值直接修改为目标指令地址;(2)如果是条件转移(分支)指令,则必须根据前面指令或当前指令执行的结果标志,确定是把转移目标地址还是把下条指令地址送到PC。所以转移指令时,PC的值并不总是直接修改为转移目标指令的地址;当顺序执行(非转移指令)时,通过对PC加“1”来使PC指向下一条顺序执行的指令,这里的“1”是指一条指令的长度。即当前指令占用的内存单元个数,不是加1。现代计算机一般都采用字节编址方式,所以,实际上PC应该加上当前指令的字节个数。选项D:PC和MAR都是用来存放内存单元地址的。每次取指令时,PC的值先要被送到MAR,然后访问存储器,所以,它们的位数应该相同。综上所述,错误的应该是C。2、下面有关指令周期的叙述中,错误的是()。指令周期的第一个子周期一定是取指子周期所有指令的执行子周期一样长在有间接寻址方式的指令周期中,至少访问两次内存在一条指令执行结束、取下条指令之前查询是否有中断发生参考答案:B解析:选项A:一条指令从读取到执行完成所花的全部时间被称为指令周期。一个指令周期中要完成多个步骤的操作,包括取指令、指令译码、(计算操作数地址)、取操作数、运算、送结果等。因此,第一个子周期一定是取指令机器周期,指令只有先取到CPU,才能进一步得到执行。选项B:每条指令完成的操作不同,有的指令只要把一个寄存器的内容送到另一个寄存器,有的要进行简单的加/减法运算,还有的是复杂的乘/除法运算,这些操作所花的时间相差很大,所以,不是所有指令的执行子周期都一样长。选项C:间接寻址方式的指令地址码给出的是操作数地址的地址,因而,要取得操作数,需要访问两次内存,第一次根据地址码到内存取操作数地址,第二次根据操作数地址到内存取操作数。选项D:现代计算机系统都具有中断功能,在具有中断功能的系统中,除了指令本身要求的操作以外,每条指令执行结束、取下条指令之前,还要检测有没有中断请求。综上所述,错误的应该是B。3、下面有关指令流水线的叙述中,错误的是()。流水段个数按同一个流水线中最复杂指令的功能来确定每个流水段的时间相同,等于一个CPU时钟的宽度每个流水阶段都会有一条指令执行完流水线方式不能使一条指令的执行时间缩短,但能使整个程序的执行时间缩短参考答案:C解析:选项A:流水线方式下,一条指令的执行过程被分成了若干个操作子过程。由于每条指令所完成的功能不同,所包含的操作过程就不同。有的指令完成寄存器的内容的传送;有的是简单的加/减运算;还有的是复杂的乘/除运算。这些操作所花的时间相差很大,所以,这些指令如果都在同一个流水线中执行的话,就必须按最复杂的指令来设计流水线的流水段个数。选项B:流水线中指令执行的每个子过程由独立的功能部件来完成,以最复杂的子过程所花时间为准设计时钟周期。这样,使得每个流水段的时间都等于CPU时钟的宽度。选项C:理想情况下,经过若干时钟周期后,流水线能在每个周期内执行完一条指令。但是,当程序中出现以下情况时,流水线被破坏:(1)当有多条指令的不同阶段都要用到同一个功能部件时(资源冲突),后面指令要延时执行;(2)当程序的执行流程发生改变时(控制相关),原来按顺序取出的指令无效;(3)当后面指令的操作数是前面指令的运行结果时(数据相关),后面指令要延时执行。所以,并不是任何时候每个流水阶段都会有一条指令执行完。选项D:对于每条指令来说,它在流水线中还是要经过若干子过程才能完成,所以一条指令的执行时间并没有变短。但整个程序的执行时间大大缩短了。综上所述,错误的应该是C。9-3练习题一、选择题1、中央处理器是指。运算器B.控制器C,运算器和控制器D.运算器,控制器和主存储器2、在CPU中跟踪指令后继地址的寄存器是。主存地址寄存器B.程序计数器C,指令寄存器D.状态条件寄存器3、操作控制器的功能。产生时序信号B.从主存取出一条指令C.完成指令操作码译码D.从主存取出指令,完成指令操作码译码,产生有关的操作控制信号4、指令周期是指。CPU从主存取出一条指令的时间
CPU执行一条指令的时间CPU从主存取出一条指令加上执行这条指令的时间时钟周期时间5、下列部件中不属于控制器的部件是。指令寄存器操作控制器程序计数器状态条件寄存器6、下列部件不属于执行部件的是。A.控制器B.存储器C,运算器D.外围设备7、下列说法正确的。A.指令周期等于机器周期B.指令周期大于机器周期C.指令周期是机器周期的两倍D.机器周期是指令周期的两倍8、取指令操作。B.受当前指令的操作码控制D.B.受当前指令的操作码控制D.以上说法都不对C.是控制器固有的功能,无需操作码控制即可完成TOC\o"1-5"\h\z9、程序计数器的位数取决于。D.指令字长A,存储器的容量B,机器字长C.CPU管脚数10、指令寄存器的位数取决于。D.指令字长D.指令字长A,存储器的容量B,机器字长C.CPU管脚数11、CPU中通用寄存器的位数取决于。D.指令字长D.指令字长A,存储器的容量B,机器字长C.CPU管脚数12、CPU不包括。D.指令字长D.指令译码器A.地址寄存器B.指令寄存器C,地址译码器13、CPU中的译码器主要用于。D.指令译码器A.地址译码B.指令译码C,数据译码D.选择多路数据到ALU14、CPU中的通用寄存器。A.只能存放数据,不能存放地址B.只能存放地址,不能存放数据C.既能存放数据,又能存放地址D.能存放数据和地址,还能代替指令寄存器15、在CPU的寄存器中,对用户是完全透明的。C,状态寄存器D.通用寄存器A.程序计数器B.指令寄存器16、同步控制是C,状态寄存器D.通用寄存器B.由统一时序信号控制的方式D.适用于I/OB.由统一时序信号控制的方式D.适用于I/O设备控制的方式C.所有指令执行时间都相同的方式17、异步控制常用于。A.CPU访问外设B.微程序控制器中C,微型机的CPU控制D,组合逻辑控制器中18、直接寻址的无条件转移指令将把指令中的地址码送。A.地址寄存器B,指令寄存器C,PCD,累加器19、在控制器的控制方式中,机器周期内的时钟周期个数可以不相同,这属于A.同步控制B.异步控制C.联合控制D.中央控制20、计算机执行乘法指令时,由于其操作复杂,需要较多时间,通常采用—A.同步控制B.延长机器周期内节拍数C.异步控制D.中央与局部控制相结合
21、单总线结构的CPU中,ALU的两个输入端都可与总线相连ALU的一个输入端与总线相连,其输出端同时与总线相连ALU只能有一个输入端与总线相连,其输出端需通过暂存器与总线相连ALU的两个输入端和一个输出端都可直接与总线相连22、流水CPU是由一系列叫做“段”的处理线路所组成。和具备m个并行部件的CPU相比,一个m段流水CPUA.具备同等水平的吞吐能力C.吞吐能力小于前者的吞吐能力23A.具备同等水平的吞吐能力C.吞吐能力小于前者的吞吐能力23、超标量流水技术。A.缩短原来流水线的处理器周期不具备同等水平的吞吐能力D.吞吐能力大于前者的吞吐能力在每个时钟周期内同时并发多条指令将基本流水线中各段分成更细的段把多条能够并行操作的指令组合成一条具有多个操作码字段的指令24、超流水线技术。A.缩短原来流水线的处理器周期B.在每个时钟周期内同时并发多条指令把多条能够并行操作的指令组合成一条具有多个操作码字段的指令将基本流水线中各段合并为更大的段25、超长指令字技术是。A.缩短原来流水线的处理器周期B.在每个时钟周期内同时并发多条指令由编译程序把多条能够并行操作的指令组合成一条具有多个操作码字段的指令将基本流水线中各段分成更细的段26、下面有关指令流水线的叙述中,错误的。采用指令流水线,使得一条指令的执行过程变短指令流水线可以大大加快程序的执行速度二阶段流水线并不能使指令执行效率成倍增长指令流水线在许多情况下会遭到破坏27、下面有关超标量技术的叙述中,错误的。超标量技术是一种有关指令执行方式的控制技术超标量方式执行指令时,CPU中有两条或两条以上指令流水线实行超标量技术的CPU中必须配置多个功能部件和指令译码器超标量技术的引入主要是为了解决指令数据相关引起的流水线破坏问题28、RISC机器。A.不一定采用流水线技术B.一定采用流水技术C.CPU配备很少的通用寄存器D.一定采用微程序控制器二、填空题1、CPU中至少要有如下六类寄存器:寄存器,计数器,寄存器,寄存器,寄存器,寄存器。2、时序信号产生器提供机器所需的信号,在硬联线控制器中,时序信号采用三级体制;在微程序控制器中,一般采用二级体制。3、在CPU中,指令寄存器的作用,程序计数器的作用,程序状态字寄存器PSW的作用是,地址寄存器的作用是。4、CPU中,保存当前正在执行的指令的寄存器为,保存下条指令地址的寄存器为,保存CPU访存地址的寄存器为。5、某32位CPU的主存物理存储空间为236字节,虚拟存储空间为246字节,存储器按字节编址,有半字长和单字长两种指令格式。则指令寄存器的宽度为比特;内存数据寄存器的宽度为比特;内存地址寄存器的宽度为比特;程序计数器的宽度为比特,该寄存器能够实现自动加操作。6、控制器主要包括、、、和。7、运算器主要包括、和。8、当今的CPU芯片除了包括定点运算器、操作控制器外,还包、运算器和管理部件。9、根据CPU访存的性质不同,可将CPU的工作周期分为、、和。三、综合应用题1、CPU结构如图9-3-1所示,其中有一个累加寄存器AC,一个状态条件寄存器,各部分之间的连线表示数据通路,箭头表示信息传送方向。图9-3-1示例CPU结构图(1)标明图中四个寄存器的名称。(2)简述指令从主存取到控制器的数据通路。(3)简述数据在运算器和主存之间进行存/取访问的数据通路。2、什么是指令周期、机器周期和时钟周期?三者有何关系?3、某CPU的主频为8MHz,若已知每个机器周期平均包含4个时钟周期,该机的平均指令执行速度为0.8MIPS,试求该机的平均指令周期及每个指令周期含几个机器周期?若改用时钟周期为0.4〃s的CPU芯片,则计算机的平均指令执行速度为多少MIPS?若要得到平均每秒40万次的指令执行速度,则应采用主频为多少的CPU芯片?4、假设指令流水线分取指(IF)、译码(ID)、执行(EX)、回写(WR)四个过程段,共有10条指令连续输入此流水线。(1)画出流水线时空图。(2)假设时钟周期为100ns,求流水线的实际吞吐率。(3)求该流水处理器的加速比。
5、流水线中有三类数据相关冲突:写后读相关(ReadAfterWrite,RAW),读后写相关(WriteAfterRead,WAR),写后写相关(WriteAfterWrite,WAW。判断下面三组指令各存在哪种类型的数据相关。(1)I1SUBR1,R2,R3;(R2)-(R3—R1I2ADDR4,R5,R1;(R5)+(R1—R4(2)I3STAM,R2;(R2)-M,M为存储单元I4ADDR2,R4,R5;(R4)+(R5—R2(3)I5MULR3,R2,R1;(R2)X(R1—R3I6SUBR3,R4,R5;(R4)-(R5—R36、假设指令流水线分取指令(IF),指令译码/读寄存器(ID),执行/有效地址计算(EX),存储器访问(MEM),结果寄存器写回(WB)五个过程段。现有下列指令序列进入该流水线。ADDR1,R2,R3SUBR4,R1线。ADDR1,R2,R3SUBR4,R1,R5ANDR6,R1,R7ORR8,R1,R9XORR10,R1,R11试问:;(R2)+(R3—R1;(R1)-(R5—R4;(R1)AND(R7—R6;(R1)OR(R9—R8;(R1)XOR(R11—R10(2)假如采用将相关指令延迟到所需操作数被写回到寄存器后再执行的方式,以解决数据相关的问题,那么处理器执行该指令序列需占多少个时钟周期?9-4参考答案一、选择题1、C2、B3、D4、C5、D6、A7、B8、C9、A10、D11、B12、C13、B14、C15、B16、B17、A18、C19、C20、D21、C22、A23、B24、A25、C26、A27、D28、B二、填空题1、指令程序地址通用状态条件缓冲2、定时主状态一节拍电位一节拍脉冲节拍电位一节拍脉冲3、保存当前正在执行的一条指令跟踪后继指令的地址保存处理器的状态信息和中断优先级保存CPU当前所访问的主存单元的地址4、指令寄存器程序计数器内存地址寄存器5、3232363646、指令寄存器指令译码器程序计数器时序发生器操作控制器7、ALU累加器或通用寄存器PSW8、Cache浮点存储三、综合应用题1、解:a为数据缓冲寄存器DR,b为指令寄存器IR,c为主存地址寄存器,d为程序计数器PC。主存M-缓冲寄存器DR-指令寄存器IR-操作控制器。存储器读:M-DR-ALU-AC存储器写:AC-DR-M2、解:指令周期是CPU取出并执行一条指令所需的全部时间,即完成一条指令的时间。机器周期是所有指令执行过程中的一个基准时间,通常以存取周期作为机器周期。时钟周期是机器主频的倒数,也可称为节拍,它是控制计算机操作的最小单位时间。一个指令周期包含若干个机器周期,一个机器周期又包含若干个时钟周期,每个指令周期内的机器周期数可以不等,每个机器周期内的时钟周期数也可以不等。3、解:由主频为8MHz,得时钟周期为1/8=0.125|Js,机器周期为0.125X4=0.5ps。根据平均指令执行速度为0.8MIPS,得平均指令周期为1/0.8=1.25|Js。每个指令周期含1.25/0.5=2.5个机器周期。若改用时钟周期为0.4ps的CPU芯片,即主频为1/0.4=2.5MHz,则根据平均指令速度与机器主频有关,得平均指令执行速度为(0.8MIPSX2.5MHz)/8MHz=0.25MIPS。若要得到平均每秒40万次的指令执行速度,即0.4MIPS,则CPU芯片的主频应为(8MHzX0.4MIPS)/0.8MIPS=4MHz。4、解:(1)流水线时空图如图9-4-1所示。图9-4-1流水线时空图由上图所示的10条指令进入流水线的时空图可见,在13个时钟周期结束时,CPU执行完1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《激光的基本技术》课件
- 养老机构入住长者心理咨询、精神支持服务流程1-1-1
- 水痘脑炎病因介绍
- (高考英语作文炼句)第18篇译文老师笔记
- 开题报告:智能现场工程师培养路径实证研究
- 开题报告:支持个性化学习的高校混合教学学生画像构建研究
- 开题报告:义务教育阶段学生作业质量监测与优化研究
- 某电厂扩建工程施工组织设计
- 开题报告:新质生产力背景下应用型高校数字化转型策略研究-以湖北省民办高校为实证对象
- 《货币资金严静》课件
- 产品质量整改措施
- 施工现场安全管理措施
- 2024.8.1十七个岗位安全操作规程手册(值得借鉴)
- 2024年武汉大学下半年非事业编制人员招聘(59人)笔试核心备考题库及答案解析
- Basic Chemistry 基础化学知到智慧树期末考试答案题库2024年秋天津大学
- 盐城工学院《C语言及数据分析》2023-2024学年期末试卷
- 《变电站用交流系统》课件
- 竞聘医疗组长
- 河南省南阳市2024-2025学年高一上学期11月期中考试英语试题 含答案
- 水电站水轮发电机组安装合同
- 2024年土地变更调查培训
评论
0/150
提交评论