计算机组成原理CPU与控制单元设计(Part5)PPT资料.ppt
《计算机组成原理CPU与控制单元设计(Part5)PPT资料.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理CPU与控制单元设计(Part5)PPT资料.ppt(104页珍藏版)》请在冰豆网上搜索。
![计算机组成原理CPU与控制单元设计(Part5)PPT资料.ppt](https://file1.bdocx.com/fileroot1/2022-10/22/611286d7-fddf-4de5-9ced-5ff50a7509f1/611286d7-fddf-4de5-9ced-5ff50a7509f11.gif)
控制指令执行的功能:
控制指令执行取指令:
从存储器中读出指令取指令:
从存储器中读出指令指令地址部件:
指明当前要读取的指令在存储器中的地址指令地址部件:
指明当前要读取的指令在存储器中的地址指令寄存部件:
保存从存储器中取来的指令指令寄存部件:
保存从存储器中取来的指令分析指令:
分析指令的操作性质以及操作对象的位置(地址)分析指令:
分析指令的操作性质以及操作对象的位置(地址)译码部件:
对指令进行译码译码部件:
对指令进行译码执行指令:
实现指令应该具有的操作功能执行指令:
实现指令应该具有的操作功能控制信号逻辑部件:
根据指令的操作性质和操作对象的地址控制信号逻辑部件:
根据指令的操作性质和操作对象的地址(译码结果),在时序信号配合下,产生一系列的微操作控制(译码结果),在时序信号配合下,产生一系列的微操作控制信号,从而控制计算机的运算器、存储器或输入输出接口等部信号,从而控制计算机的运算器、存储器或输入输出接口等部件工作,实现指令所表示的功能。
件工作,实现指令所表示的功能。
时序部件:
提供计算机基准时序信号时序部件:
提供计算机基准时序信号1.1CPU1.1CPU的功能与组成的功能与组成vCPU的组成的组成运算单元:
算术逻辑运算单元(运算单元:
算术逻辑运算单元(ALU)寄存器:
通用寄存器组(寄存器:
通用寄存器组(GPRs),标志寄存器(),标志寄存器(FR,又称程序状态字又称程序状态字PSW),临时寄存器(),临时寄存器(TR)控制单元(控制单元(CU):
):
指令地址部件:
程序计数器(指令地址部件:
程序计数器(PC)指令寄存部件:
指令寄存器(指令寄存部件:
指令寄存器(IR)译码部件:
指令译码器(译码部件:
指令译码器(ID)控制部件:
微操作控制信号产生部件控制部件:
微操作控制信号产生部件时序部件:
产生时序信号时序部件:
产生时序信号内部总线:
内部总线:
CPU内部数据通路(内部数据通路(InternalBus)1.1CPU1.1CPU的功能与组成的功能与组成CPU内部结构内部结构执行单元(执行单元(EU)控制单元(控制单元(CU)寄存器单元寄存器单元中断系统中断系统内部总线内部总线1.1CPU1.1CPU的功能与组成的功能与组成vCPU内部的寄存器内部的寄存器通用寄存器(通用寄存器(GeneralRegister):
用户可见(汇编语言可使用):
用户可见(汇编语言可使用)数据寄存器、基址寄存器、变址寄存器、堆栈指针、标志寄存数据寄存器、基址寄存器、变址寄存器、堆栈指针、标志寄存器等器等控制与状态寄存器:
用户不可见,为系统控制专用。
控制与状态寄存器:
MAR(MemoryAddressRegister):
存储器地址寄存器):
存储器地址寄存器MBR/MDR(MemoryBufferRegister,MemoryDataRegister):
存储器数据缓冲器):
存储器数据缓冲器PC(ProgramCounter):
程序计数器):
程序计数器IR(InstructionRegister):
指令寄存器):
指令寄存器临时寄存器(临时寄存器(TemporaryRegister):
用户不可见):
用户不可见1.1CPU1.1CPU的功能与组成的功能与组成v执行单元(执行单元(EUExecutionUnit)执行单元的核心:
算术逻辑运算单元(执行单元的核心:
算术逻辑运算单元(ALU),完成算术运算、逻),完成算术运算、逻辑运算、移位运算等操作;
辑运算、移位运算等操作;
寄存器:
提供数据缓冲;
v控制单元(控制单元(CUControlUnit)指令寄存器指令寄存器IR指令译码器指令译码器ID(InstructionDecoder)时序部件:
提供各种时序信号时序部件:
提供各种时序信号控制信号生成部件:
产生计算机其他部件所需要的所有微操作控制控制信号生成部件:
产生计算机其他部件所需要的所有微操作控制信号,分组合逻辑和微程序两种实现方式。
信号,分组合逻辑和微程序两种实现方式。
v中断系统中断系统检查中断信号,中断检查中断信号,中断CPU的正常程序执行,处理异常事务的正常程序执行,处理异常事务。
一、CPU的功能与组成二、数据通路设计三、指令执行流程分析四、组合逻辑控制器设计五、微程序原理六、微程序控制器设计2.12.1模型机结构简述模型机结构简述v单总线结构(单总线结构(CPU、存储器)、存储器)v模型机模型机CPU结构描述结构描述简化的简化的80868088结构,结构,16位系统,内部总线连接位系统,内部总线连接通用寄存器部件(通用寄存器部件(AX、BX、CX、DX、SP、BP、SI、DI)主存地址寄存器主存地址寄存器MAR主存数据寄存器主存数据寄存器MDR暂存器暂存器C,D,Z程序计数器程序计数器PC指令寄存器指令寄存器IR运算单元运算单元ALU控制单元控制单元2.22.2模型机的指令系统模型机的指令系统v双操作数指令格式双操作数指令格式RR型或型或RS型,必有一个操作数在寄存器中(寄存器直接寻址)型,必有一个操作数在寄存器中(寄存器直接寻址)长度长度24个字节(前个字节(前2个字节必须)个字节必须)Opcode:
操作码(操作码(6位)位)d:
方向字段(方向字段(1位)。
在第二个字节中,位)。
在第二个字节中,REG确定一个操作数(寄存器直确定一个操作数(寄存器直接寻址),接寻址),MOD和和R/M确定零一个操作数的寻址方式。
方向字段确定零一个操作数的寻址方式。
方向字段d表明表明REG确定的是源操作数还是目的操作数。
确定的是源操作数还是目的操作数。
d=1,REG确定目的操作数,确定目的操作数,MOD+R/M确定源操作数确定源操作数d=0,REG确定源操作数,确定源操作数,MOD+R/M确定目的操作数确定目的操作数W:
字字节字段(字字节字段(1位):
操作数是字节(位):
操作数是字节(8位)还是字(位)还是字(16位)位)W=1,字(字(16位)位)W=0,字节(字节(8位)位)2.22.2模型机的指令系统模型机的指令系统v双操作数指令格式双操作数指令格式REGW=1W=0000AXAL001CXCL010DXDL011BXBL100SPAH101BPCH110SIDH111DIBH寄存器编码表寄存器编码表2.22.2模型机的指令系统模型机的指令系统v双操作数指令格式双操作数指令格式2.22.2模型机的指令系统模型机的指令系统v单操作数指令格式单操作数指令格式v指令分类指令分类传送指令:
传送指令:
MOVDest,Src算术指令:
算术指令:
ADDDest,SrcSUBDest,SrcANDDest,SrcORDest,SrcXORDest,Src单操作数指令:
单操作数指令:
INCDest,DECDest,NEGDest,NOTDest移位指令:
移位指令:
SALDest,1;
SARDest,1程序控制指令:
转移指令,转子指令等程序控制指令:
转移指令,转子指令等存储器存储器PC地址总线(AB)数据总线(DB)控制总线(CB)CPU内部内部v存储器:
存储指令和存储器:
存储指令和数据数据vPC:
当前指令地址:
当前指令地址vIR:
存储当前指令:
存储当前指令IR2.32.3数据通路设计数据通路设计(1.1.指令相关指令相关组成)组成)存储器存储器PC地址总线(AB)数据总线(DB)控制总线(CB)CPU内部内部v送地址:
送地址:
PCABMemv保存指令:
保存指令:
读存储器,读存储器,MemDBIRv修改修改PCIR2.32.3数据通路设计数据通路设计(2.2.指令相关指令相关取指数据通路)取指数据通路)存储器存储器PC地址总线(AB)数据总线(DB)控制总线(CB)CPU内部内部v通用寄存器组:
通用寄存器组:
AX、BX、CX、DX、SP、BP、SI、DIv算术逻辑运算单元算术逻辑运算单元ALUIR2.32.3数据通路设计数据通路设计(3.3.寄存器寄存器/ALU/ALU相关相关组成)组成)ALUAHALBHBLCHCLDHDLSPBPSIDI存储器存储器PC地址总线(AB)数据总线(DB)控制总线(CB)CPU内部内部v存储器到寄存器:
存储器到寄存器:
MemDBGPRsv保存保存ALU结果:
结果:
ALUGPRsv寄存器间传送:
寄存器间传送:
GPRsGPRsIR2.32.3数据通路设计数据通路设计(4.4.寄存器寄存器/ALU/ALU数据通路寄存器输入)数据通路寄存器输入)ALUAHALBHBLCHCLDHDLSPBPSIDI存储器存储器PC地址总线(AB)数据总线(DB)控制总线(CB)CPU内部内部v保存寄存器内容:
保存寄存器内容:
GPRsDBMemv寄存器间接寻址:
寄存器间接寻址:
GPRsABv寄存器运算:
寄存器运算:
GPRsALUIR2.32.3数据通路设计数据通路设计(5.5.寄存器寄存器/ALU/ALU数据通路寄存器输出)数据通路寄存器输出)ALUAHALBHBLCHCLDHDLSPBPSIDI存储器存储器PC地址总线(AB)数据总线(DB)控制总线(CB)CPU内部内部v寄存器运算:
GPRsALUv存储器:
存储器:
运算运算寻址计算寻址计算v转移地址计算:
转移地址计算:
PCALUIR2.32.3数据通路设计数据通路设计(6.6.寄存器寄存器/ALU/ALU数据通路数据通路ALUALU输入)输入)ALUAHALBHBLCHCLDHDLSPBPSIDI存储器存储器PC地址总线(AB)数据总线(DB)控制总线(CB)CPU内部内部v输出到寄存器:
输出到寄存器:
ALUGPRsv结果保存到存储器:
结果保存到存储器:
ALUDBMemv操作数有效地址计算:
操作数有效地址计算:
ALUABv转移地址计算:
ALUPCIR2.32.3数据通路设计数据通路设计(7.7.寄存器寄存器/ALU/ALU数据通路数据通路ALUALU输出)输出)ALUAHALBHBLCHCLDHDLSPBPSIDI存储器存储器PC地址总线(AB)数据总线(DB)控制总线(CB)CPU内部内部v连接关系复杂连接关系复杂v引入内部总线引入内部总线GPRs、ALU、PC之间之间的传送通过内部总线的传送通过内部总线GPRs、ALU、PC、IR与与DB、AB之间的传送之间的传送通过内部总线通过内部总线IR2.32.3数据通路设计数据通路设计(8.8.寄存器寄存器/ALU/ALU数据通路改进)数据通路改进)ALUAHALBHBLCHCLDHDL