计算机组成原理CPU与控制单元设计(Part5).ppt
《计算机组成原理CPU与控制单元设计(Part5).ppt》由会员分享,可在线阅读,更多相关《计算机组成原理CPU与控制单元设计(Part5).ppt(104页珍藏版)》请在冰豆网上搜索。
![计算机组成原理CPU与控制单元设计(Part5).ppt](https://file1.bdocx.com/fileroot1/2022-10/22/611286d7-fddf-4de5-9ced-5ff50a7509f1/611286d7-fddf-4de5-9ced-5ff50a7509f11.gif)
计算机组成原理与汇编语言计算机组成原理与汇编语言(2006(2006级级)北航计算机学院刘旭东Tel:
82316285Mail:
第五部分第五部分CPUCPU与控制单元设计与控制单元设计一、CPU的功能与组成二、数据通路设计三、指令执行流程分析四、组合逻辑控制器设计五、微程序原理六、微程序控制器设计一、CPU的功能与组成二、数据通路设计三、指令执行流程分析四、组合逻辑控制器设计五、微程序原理六、微程序控制器设计指令的执行过程回顾(第一讲)指令的执行过程回顾(第一讲)InstructionFetchInstructionDecodeOperandFetchExecuteResultStoreNextInstruction根据PC内容从存储器取指令送IR指令译码器译码(解释指令),形成微操作控制信号在控制信号的作用下取操作数送运算器运算器执行指令功能保存指令结果形成下条指令的地址并送PC1.根据根据PC内容从存储器取指令送内容从存储器取指令送IR;2.指令译码器译码(解释指令),形成微操作控制信号;指令译码器译码(解释指令),形成微操作控制信号;3.在控制信号的作用下取操作数送运算器;在控制信号的作用下取操作数送运算器;4.运算器运行;运算器运行;5.保存结果;保存结果;6.形成下一条指令地址送形成下一条指令地址送PC。
1.1CPU1.1CPU的功能与组成的功能与组成vCPU的功能:
控制指令执行的功能:
控制指令执行取指令:
从存储器中读出指令取指令:
从存储器中读出指令指令地址部件:
指明当前要读取的指令在存储器中的地址指令地址部件:
指明当前要读取的指令在存储器中的地址指令寄存部件:
保存从存储器中取来的指令指令寄存部件:
保存从存储器中取来的指令分析指令:
分析指令的操作性质以及操作对象的位置(地址)分析指令:
分析指令的操作性质以及操作对象的位置(地址)译码部件:
对指令进行译码译码部件:
对指令进行译码执行指令:
实现指令应该具有的操作功能执行指令:
实现指令应该具有的操作功能控制信号逻辑部件:
根据指令的操作性质和操作对象的地址控制信号逻辑部件:
根据指令的操作性质和操作对象的地址(译码结果),在时序信号配合下,产生一系列的微操作控制(译码结果),在时序信号配合下,产生一系列的微操作控制信号,从而控制计算机的运算器、存储器或输入输出接口等部信号,从而控制计算机的运算器、存储器或输入输出接口等部件工作,实现指令所表示的功能。
件工作,实现指令所表示的功能。
时序部件:
提供计算机基准时序信号时序部件:
提供计算机基准时序信号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