计算机组成原理(第三版)第5章-中央处理器课件_第1页
计算机组成原理(第三版)第5章-中央处理器课件_第2页
计算机组成原理(第三版)第5章-中央处理器课件_第3页
计算机组成原理(第三版)第5章-中央处理器课件_第4页
计算机组成原理(第三版)第5章-中央处理器课件_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1第5章中央处理器CPU5.1CPU的组成和功能一、CPU的功能:自动完成取指和执指操作的部件。1.指令控制功能:

由IP或PC完成对程序的顺序控制并取指。该功能由指令部件IU(IP、IR、ID)予以完成。2.操作控制功能:

由操作控制部件(控制信号形成部件)CU对所取指令进行分析后形成指令操作所需的全部控制信号(微命令),送往运算器(内部控制操作)和各系统部件(外部操作控制);各控制信号所起的作用为门控和选通,以控制信息流的走向,来完成指令规定的操作。3.时间控制功能:

由时序部件TU产生空间上独立输出的时间标准信号(指令周期、CPU周期、时钟周期信号),提供给CU作为时间基准,使各微操作控制信号在规定时间定时发出(有效)。5.1CPU的组成和功能4.地址形成功能:

根据取入指令的寻址方式MOD、寄存器编号REG和形式地址信息D,由地址形成部件AU形成操作数的有效地址EA。5.数据处理功能:

在操作控制信号的控制下,由运算器ALU等部件完成对指令规定的操作对象进行加工和处理。二、CPU的基本组成:1.传统CPU:运算器(ALU、ACC、F或PSW、通用寄存器组)+控制器(IU、CU、TU、AU)。2.现代CPU:运算器(GPU+FPU+定点ALU+阵列乘除法器,标量与超标量结构)+控制器(RISC/CISC复合控制,流水与超流水)+哈佛结构的一级Cache和混存结构的二级Cache。1.运算器运算器功能:在控制器的统一指挥下,完成对数据信息的加工和处理运算器基本组成:算术/逻辑运算单元ALU:(补码加/减运算器+函数发生器即逻辑运算电路)。标志寄存器F(PSW):存放运算结果的状态和特征。通用寄存器组:(专用、通用寄存器)存放地址、数据和中间结果。累加器A或AC:用于存放运算时的操作数及操作结果。数据缓冲寄存器DR:存放内存读出或写入的信息,起缓冲作用,是CPU的数据出入口,外接DB。2.控制器控制器的功能:根据指令的规定完成对整个计算机系统操作的协调和控制。控制器的组成:IU、CU、TU、AU。2.控制器IU的基本组成:指令部件IU(IP、IR、ID)完成取指操作。*1.指令指针PC或IP:给出正在执行(当前)指令的地址,并自动+1给出下一条指令的地址;当遇到转移指令、调子指令、返回指令、中断操作时由指令、堆栈或I/O接口芯片提供新地址→PC;*2.指令寄存器IR:用于存放由主存取出的指令→OP码+地址码;*3.指令译码器:用于对IR中的指令OP码进行译码,形成译码信号。2.控制器

CU的基本组成:操作控制信号形成部件CU用于形成控制信号*1.其组成:分别由组合逻辑电路(与门阵列+或门阵列)、控制ROM(微程序只读存储器)构成;*2.其输入为:指令译码信号、TU产生的节拍电位M和节拍脉冲T、F的状态信号、中断与总线的请求信号;*3.其输出为:经CU综合分析与处理后形成的相应指令所需的全部控制信号(微命令)→与CPU的CB相连。2.控制器

TU的基本组成:

时序部件TU由时钟源、节拍发生器、启停控制逻辑组成。*1.时钟源:提供时钟脉冲(晶振+振荡器);*2.节拍发生器:提供节拍电位M与节拍脉冲T(建立微操作序列的时序关系);*3.启停控制逻辑:负责对时钟脉冲的输出与封锁,从而实现计算机的启动与停机。注:节拍电位M:空间上独立输出的机器周期信号M1~M4;

节拍脉冲T:空间上独立输出的时钟周期信号T1~T4。2.控制器:AU的基本组成:地址形成部件AU由地址加法器、专用寄存器(变址、基址、堆栈指针,指令指针)、段寄存器、地址寄存器AR组成,用于形成操作数的有效地址EA。

*1.地址加法器Σ:将地址寄存器的内容与偏移量相加形成变址、基址、相对等寻址方式和段寻址后的实际地址EA;*2.地址寄存器AR:保存当前CPU所访内存单元的地址,需保持到读/写操作完成,是CPU的地址出口,外接AB;*3.地址寄存器组:由专用地址寄存器(变址寄存器、基址寄存器、堆栈指针,指令指针)组成,用于提供形成操作数的有效地址EA时所需的基准地址。

三、指令执行过程和信息通道的建立:1.取指:

2.分析指令:3.执指:例1、

LDAR0,[2050H]

读内存过程:

例2、

STA[2050H],R0

写内存过程:

ABDB(IP)=>AR┇

=>

┇MAR=>MAD=>MM=>MDR┇

=>┇DR=>IRIP+1=>IP┇

CS=1,WE=0

CB

CBIR(OP)=>ID=>CU=>Ck(控制信号)

AU

AB

DBIR(D)=>AR┇=>

┇MAR=>MAD=>MM=>MDR┇

=>┇DR=>R0CS=1,WE=0CB

AU

AB

DBIR(D)=>AR┇

=>┇MAR=>MAD=>MM<=MDR┇

<=

┇DR<=R0CS=1,WE=1CB三、指令执行过程和信息通道的建立:3.执指:例3、

ADDR0,[2050H]

AU

AB

DBIR(D)=>AR┇

=>┇MAR=>MAD=>MM=>MDR┇=>┇DR=>CS=1,WE=0CBDR=>DR2

=>ALU(M=0;CN=1;S3~S0=1001;)=>R0;同时状态=>FR0=>DR1不同的指令的执指过程就是:根据不同的指令要求在运算器中建立特定的数据通路来完成相应的操作和运算的过程。5.2指令周期(CPU时序)

一.指令周期的基本概念1.计算机的工作过程:程序存储过程*1.利用输入设备将程序按序写入内存;*2.给出PC或IP首址(所执行程序的第一条指令的地址)并启动计算机;*3.计算机自动执行程序:1.计算机的工作过程:

程序控制过程*1.根据PC或IP的指向去内存取指→IR,同时PC+1→PC形成下一条指令地址。称为取指过程;*2.根据所取指令的OP码完成指令分析,形成控制信号。称为指令分析过程;*3.形成操作数的地址,访问存储器读取操作数并送运算器加以处理,同时回送结果。称为执指过程;*4.重复上述过程,直到停机为止,完成程序执行;2.CPU的多级时序系统:指令周期:CPU取出并执行一条指令所需的时间。(其间完成一系列规定操作其实质是建立指令规定的数据通路),不同指令的执指过程不尽相同,故指令周期长短不一。指令周期=①取指周期②间址周期(形成地址)③执行周期。其流程为:2.CPU的多级时序系统:机器周期(CPU周期或称总线周期):CPU完成一种基本操作所需的时间;基本操作可分为:取指操作;形成地址操作;存储器读/写操作;I/O接口读/写操作;运算操作等。每个机器周期由若干个时钟周期组成,一般以取指为基准(3~4个时钟周期);CPU内部以节拍电位Mi来区分该周期,每个机器周期M所需的T数相同;时钟周期(T周期):CPU完成一种最小操作(微操作)所需的时间,CPU利用该周期完成如寄存器的传送、数据和地址信息的锁入、门控信号的形成等微操作,用于形成数据通路。二.典型的指令周期及执行过程:1.非访存指令:该类指令在执行过程中不访问内存;指令周期=2个机器周期(取指、执指);其寻址方式均为隐含寻址或寄存器寻址;例如:CLAR0;R0←0。取指周期:从PC送出地址开始→……→CU形成控制信号为止。T1:PC→AR→AB→MAR;PC+1→PC形成下一条指令地址;T2:CPU根据高位地址形成CS,同时WE=0启动存储器的读过程;T3:MM→MDR→DB→DR;从主存读出指令送CPU;T4:DR→IR→ID→CU;分析指令,形成控制信号;二.典型的指令周期及执行过程:1.非访存指令:

指令执行过程:完成IR中指令OP码所规定的微操作序列的过程,对于不同指令的过程不尽相同,且与寻址方式有关。*1.对于CLAR0指令,在一个机器周期(T1~T4)中完成执指:R0→DR1;R0→DR2;ALU做“⊕”

运算,结果→R0;*2.对于转移等程序控制类指令:例JMPD指令,在一个机器周期(T1~T4)中完成执指:

IR(D)→PC或IP;*3.其它类似指令:INC、NOT、NEG……二.典型的指令周期及执行过程:2.直接访存指令:

该类指令在执行过程中需要再次访问内存,故需3个机器周期。取指+形成地址+取数并运算。如:ADDR0,[D]。取指周期:同非访存指令;形成地址过程:在一个机器周期中完成将指令中的D送AR的作用;或者将某些专用地址寄存器的内容与D相加后形成有效地址→AR;前者为直接寻址,后者为变址、基址、相对等寻址方式;二.典型的指令周期及执行过程:取数和运算过程:例ADDR0,[D]T1:AR→AB→MAR→MM;送地址→MAR;T2:CPU根据高位地址形成CS,同时WE=0,启动存储器读操作过程T3:从主存中读出数据→MDR→DB→DR;T4:DR→DR2,R0→DR1;控制ALU‘加’;结果→R0;存数指令的执行指令过程:例STA[D],R0T1:AR→AB→MAR、送地址→MAR;同时R0→DR→DB→MDR、送数据→MDR;T2:CPU根据高位地址形成CS;同时WE=1,启动写过程;T3:MDR→MM;T4:不起作用。三.时序的控制方式与时序发生器:1.关于时序的基本概念:微操作:实现指令功能所必须的最小操作(即寄存器一级的操作,如寄存器的选通、封锁和门控等操作);时序:微操作执行的时间序列称为时序,例如WE=0应在每个指令周期的第一个机器周期的T2有效。2.控制器的时序控制方式:控制器控制与产生微操作时序的方式(微操作控制信号Ck在何时产生或有效的规律)。同步控制方式(以时定序,无应答机制的方式)对于指令系统中的每条指令,其执行所需的CPU周期数和时钟周期数均事先约定,其实现方法为:*1.采用完全统一的机器周期执行不同的指令,如:全部指令的指令周期=取指+分析指令(形成地址)+执指(取数并运算)+存结果,其特点为:以微操作序列最长的指令为标准确定所需的节拍数和T数,对微操作序列短的指令可空着一部分时序不用;T1T2T3T4T1T2T3T4T1T2T3T4T1T2T3T4指令周期机器周期M1(取指)机器周期M2(形成地址)机器周期M3

(取数运算)机器周期M4(送结果)同步控制方式(以时定序,无应答机制的方式)对于指令系统中的每条指令,其执行所需的CPU周期数和时钟周期数均实现约定,其实现方法为:*2.采用不定长机器周期的方式,即采用不同T数的机器周期完成不同的基本操作如取指4T,计算地址2T,取数运算4T,送结果3T等,可提高效率。T1T2T3T4机器周期M1(取指)T1T2机器周期M2(形成地址)T1T2T3T4机器周期M3

(取数运算)T1T2T3机器周期M4(送结果)指令周期同步控制方式(以时定序,无应答机制的方式)对于指令系统中的每条指令,其执行所需的CPU周期数和时钟周期数均实现约定,其实现方法为:*3.采用不定长指令周期,大部分指令给予短指令周期,少数指令信号给予长指令周期,如:非访存指令为两个机器周期,访存指令为3个或更多的机器周期。T1T2T3T4T1T2T1T2T3T4T1T2T3INR0指令周期机器周期M1(取指)机器周期M3(运算)M3(取数运算)机器周期M4(送结果)T1T2T3T4T1T2M1(取指)ADDR0,[D]指令周期T1T2T3T4T1T2机器周期M1(取指)STA[D],R0指令周期机器周期M2(形成地址)M2(形成地址)异步控制方式(以序定时,有应答机制的方式)根据具体指令的具体要求,分配给不尽相同的执行时间。其实现方法为:*1.根据具体指令的需要,要多少节拍就产生多少节拍,如访问慢速存储器的异步机器周期,在T3↓检查READY,若无效,则插入Tw;*2.指令执行完毕,须发应答信号,控制器收到后才能进入下一条指令或操作的执行。T1T2T3TwTwTw……TwTwTwT4READY=0000……001

↓……↓

↓机器周期M1(取指)3.时序的产生与时序发生器:时序由CU根据TU提供的时标信号综合产生;时序发生器的作用是将振荡器提供的串行CLK脉冲转换成空间上独立输出的节拍电位(用于表示不同的机器周期)和节拍脉冲(用于表示不同的时钟周期),为CU提供CPU周期和时钟周期的区分信号(时标);

时序发生器的结构:采用模K计数器、译码器、启停控制逻辑、时钟源构成节拍发生器.TU结构图TU时序图5.3微程序设计技术和微程序控制器

一、微程序控制器的基本概念1.微程序控制器的设计思想:将指令的执行过程分解为若干步基本操作来完成,每一基本操作由一条微指令的执行来实现;每条微指令由若干个微命令组成;每条微命令完成计算机的一个最小操作(微操作);完成一条指令功能所需的微指令序列称为微程序;每条指令均由相应的微程序与其对应;将整个指令系统的微程序全部存放于控制器中专设的控制存储器中,该存储器称为控制ROM或简写为CM;执行指令即相当于执行CM中相应的微程序,完成基本操作即相当于执行微指令。一、微程序控制器的基本概念2.微程序控制的有关基本概念:微操作:指令执行所必须完成的最小操作,如:DB→IR,PC+1→PC,R0→R1;注:微操作均为数据或信息的传送操作,各种运算和处理在传送过程中加以实现;微命令:组成微指令的最小单位,是微操作的驱动信号,如:门控电位、寄存器的打入、置位、复位脉冲等,一个微命令完成一个微操作;微指令:在同一CPU周期中同时执行的所有微命令的集合,由CM提供,控制ROM的每一个存储单元存放一条微指令;微周期(机器周期):执行一条微命令所需的时间,对应于节拍电位周期;微地址:微指令在CM中存放的位置;微程序:在指令周期中顺序执行的微指令序列。二、微指令的格式及编码要求:1.典型的微指令格式(二字段格式):操作控制部分(微命令字段)+顺序控制部分(下址部分)。控制部分:产生和提供微命令的部分,其长度视CPU操作所需的微操作数量决定,一般有几十~几千位之多;顺序控制部分(下址):提供下一条微指令的地址,在下一拍寻址,由CLK驱动,其长度由整个指令系统的全部微程序的微指令数决定。二、微指令的格式及编码要求:2.微指令的编码要求与编码方法:编码要求:以最小的控制ROM容量存放微程序,以最快的速度保证微程序的正确执行;*1.有利于缩短微指令的长度(容量性);*2.有利于减少CM的单元数(容量性);*3.能同时完成的微操作尽量安排在同一微指令中,以利于加快执行速度(速度性);*4.有利于微指令的修改和扩充,增加微程序的灵活性(通用性)。二、微指令的格式及编码要求:2.微指令的编码要求与编码方法:编码方法:*1.直接表示法(非编码方法):指令的编码为水平型微指令格式,采用1位微命令激励一条控制线(1有效,0无效),计算机需要多少种操作,控制部分就设计多少长,直接将微命令集合存放于CM,该方法简单明了,但字太长,特点是速度快,属并行方式;二、微指令的格式及编码要求:2.微指令的编码要求与编码方法:编码方法:*2.字段编码法:将控制部分段,各段内采用直接编码方法,其目的为了缩短微指令的速度,便于存储。编码原则:

将互斥的微命令分在一组,相关的则分在不同组,然后分组编码后存储;

执行时需分组译码,形成真正的控制信号,但需留出一个全零状态表示不发任何操作。二、微指令的格式及编码要求:3.控制存储器容量的计算:例题1:假设某CPU的指令系统有250条指令,每条指令由8个CPU周期组成,其中取指微指令是所有指令共享的。已知每条微指令的微操作的部分为80位,试求控制ROM的容量为多少?(单元数×字长)解:单元数=指令数×(机器周期数-1)+1=250*(8-1)+1=1751

字长=控制部分+下址部分=80+11=91例题2:假设某CPU的指令系统有100条指令,每条指令的微程序由5条微指令组成,其中取指微指令是所有指令共享的。系统共有1000种不同的微操作,并可分成互斥的10组,试求控制ROM的容量为多少?(单元数×字长)解:单元数=指令数×(机器周期数-1)+1=100*(5-1)+1=401

字长=控制部分+下址部分=10*7+9=79三、微程序控制的组成与微程序的执行过程1.微程序控制器的结构和组成:CM(控制ROM)、µIU(微指令部件)、µAU和µAR、µAD(微地址部件)。*

1.操作控制存储器CM(控制ROM):

存储整个指令系统所有指令对应的微程序,共用取指微指令,每个微程序的入口地址由相应指令的译码信号决定;*

2.µIU微指令部件:

微指令寄存器µIR和微指令分段译码器µID;其中µIR的控制部分分成若干段,分别由各段译码器译码后输出微命令,其中一部分用于CPU内部控制,另一部分通过CB总线输出用于系统控制,微地址部分(下址)送微地址形成部件,形成下址;三、微程序控制的组成与微程序的执行过程*3.微地址部件(µAU和µAR、µAD):

提供微地址和微程序入口地址。下址的形成:·RESET后指向取指微指令;·取入指令后由指令译码器提供相应微程序的入口地址;·在微程序中由微指令的下址部分提供微程序内的微指令地址;·在微程序中的最后一条微指令的下址指向取指微指令。三、微程序控制的组成与微程序的执行过程2.微程序的执行过程:从1号微地址开始,取出取指微指令执行,完成取指操作,PC→AR→内存→DR→IR;ID对IR中的OP码译码后形成取入指令对应的微程序入口地址;逐条取出该段微程序执行,最后一条微指令的下址指向控存的1号微地址;重新开始取指过程,取出下一条指令后再执行对应的微程序。共享取指控制IN指令形地控制03HIN指令取数控制04HIN指令执行控制01HADD指令形地控制06HADD指令取数控制07HADD指令执行控制01HSTA指令形地控制09HSTA指令取数控制0AHSTA指令执行控制01HOUT指令形地控制0CHOUT指令取数控制0DHOUT指令执行控制01HJMP指令形地控制0FHJMP指令取数控制10HJMP指令执行控制01H01H指令1→02H03H04H指令2→05H06H07H指令3→08H09H0AH指令4→0BH0CH0DH指令5→0EH0FH10H段1…段n下址译1…译nμADμAUμARIDμIDμIR下址状态标志RESETμIUIUIRCB→(CK1…CKn) DB

微地址部件控存CM5.5流水线技术

一、指令执行方式的种类:顺序执行、重叠执行、流水线执行。1.顺序执行方式:指令内外均采用串行执行的方式,如:

指令1指令2特点为:就整个程序而言是顺序执行,就一条指令而言,其内部各操作也顺序执行;控制简单,但速度慢,CPU资源、总线利用率低。取指1形地1取数1运算1写回1取指2形地2取数2运算2写回2……5.5流水线技术2.重叠执行方式:多条指令不同节拍(基本操作)可同时执行的方式;特点为:就每条指令而言,其内部操作顺序执行,就相邻两条指令而已,其某些操作是同时(并行)执行的;指令周期不变,但从整个程序的执行速度看,得到了提高;若处理器中所有部件均重叠执行,则演变为流水线方式。取指1形地1取数1运算1写回1取指2形地2取数2运算2写回1……5.5流水线技术3.流水线方式:将指令的执行过程分解为若干个子过程,分别由处理器内部不同的处理子部件(硬件)去并行执行的方式,如:取指1形地1取数1运算1存数1取指2形地2取数2运算2存数2取指3形地3取数3运算3存数3取指4形地4取数4运算4存数4取指5形地5取数5运算5存数5WU写回ALU运算BU取数AU形地IU、CU取指5.5流水线技术二、流水线组成与流水线特点:1.流水线的组成:由多个不同的处理器部件组成,每个部件完成一种基本操作。如分成:取指(IU、CU)、形成地址(AU)、取数(BU)、运算(ALU)、回送(WU部件);每条指令的执行时间为T,子过程执行时间为ΔT,则每隔Δt=T/5,从流水线上流出一条指令,5.5流水线技术二、流水线组成与流水线特点:2.流水线的结构:流水线中各分处理部件由处理部分+锁存器构成,以使各功能部件具有缓冲作用,成为完全独立的功能部件;每个子过程还可以分解成更小的子过程,即在功能部件内部再采用流水线结构(称为超流水线),如将浮点运算器内部采用3级超流水线:阶码处理部件(Δt1)尾数处理部件(Δt2)规格化处理部件(Δt3)取指锁存形地锁存取数锁存运算锁存写回锁存5.5流水线技术二、流水线组成与流水线特点:3.流水线的特点(与顺序方式比较):流水线中处理的任务必须是连续的,这样才能使流水线发挥最大效率,而重叠方式则不必连续;各功能段的处理时间Δti尽可能相等,若不等,则可采用短段合并、长段拆分方式尽量使各段的Δti均等;若实在不等,则取maxΔti作为Δt,否则将形成流水线堵塞和断裂现象;流水线启动和结束时需要装入时间和排空时间,只有当流水线满的时候,效率最高。5.5流水线技术三、流水线中的访存冲突和相关处理(阻塞):访存冲突(资源冲突):冲突原因:取指、取数同时使用总线和内存;解决

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论