欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    计算机组成原理与汇编语言.ppt

    • 资源ID:6342702       资源大小:1.25MB        全文页数:92页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机组成原理与汇编语言.ppt

    计算机组成原理与汇编语言(2008级),北航计算机学院 刘旭东、熊桂喜Tel:82316285Mail:,1.1 CPU的功能与组成,CPU的功能:控制指令执行取指令:从存储器中读出指令指令地址部件:指明当前要读取的指令在存储器中的地址指令寄存部件:保存从存储器中取来的指令分析指令:分析指令的操作性质以及操作对象的位置(地址)译码部件:对指令进行译码执行指令:实现指令应该具有的操作功能控制信号逻辑部件:根据指令的操作性质和操作对象的地址(译码结果),在时序信号配合下,产生一系列的微操作控制信号,从而控制计算机的运算器、存储器或输入输出接口等部件工作,实现指令所表示的功能。时序部件:提供计算机基准时序信号,1.1 CPU的功能与组成,CPU的组成运算单元:算术逻辑运算单元(ALU)寄存器:通用寄存器组(GPRs),标志寄存器(FR,又称程序状态字PSW),临时寄存器(TR)控制单元(CU):指令地址部件:程序计数器(PC)指令寄存部件:指令寄存器(IR)译码部件:指令译码器(ID)控制部件:微操作控制信号产生部件时序部件:产生时序信号内部总线:CPU内部数据通路(Internal Bus),1.1 CPU的功能与组成,CPU内部结构(内部单总线结构)执行单元(EU)控制单元(CU)寄存器单元中断系统内部总线,1.1 CPU的功能与组成,CPU内部的寄存器通用寄存器(General Register):用户可见(汇编语言可使用)数据寄存器、基址寄存器、变址寄存器、堆栈指针、标志寄存器等控制与状态寄存器:用户不可见,为系统控制专用。MAR(Memory Address Register):存储器地址寄存器MBR/MDR(Memory Buffer Register,Memory Data Register):存储器数据缓冲器PC(Program Counter):程序计数器IR(Instruction Register):指令寄存器临时寄存器(Temporary Register):用户不可见,1.1 CPU的功能与组成,执行单元(EUExecution Unit)执行单元的核心:算术逻辑运算单元(ALU),完成算术运算、逻辑运算、移位运算等操作;寄存器:提供数据缓冲;控制单元(CUControl Unit)指令寄存器IR指令译码器ID(Instruction Decoder)时序部件:提供各种时序信号控制信号生成部件:产生计算机其他部件所需要的所有微操作控制信号,分组合逻辑和微程序两种实现方式。中断系统检查中断信号,中断CPU的正常程序执行,处理异常事务。,第五部分 CPU与控制单元设计,2.1 模型机结构简述(单总线结构),单总线结构(CPU、存储器)模型机CPU结构描述16位系统,内部总线连接4个通用寄存器部件(R0、R1、R2、R3)程序计数器 PC指令寄存器 IR运算单元 ALU、状态寄存器 FR主存地址缓存 MAR主存数据写入缓存 MDR、主存数据读出缓存 MER其他暂存器 A、C、D 微操作信号控制单元,2.2 模型机的指令系统,指令格式操作码位数:固定8位指令长度:16位或32位寻址方式:5种寻址方式,立即数、寄存器直接、寄存器间接、基址寻址、相对寻址(只用于转移类指令),Opcode:操作码(8位)Ms:源操作数寻址方式(2位)Rs:源寄存器(2位)Mt:目的操作数寻址方式(2位)Rt:目的寄存器(2位)Data:立即数(16位)Offset:基址寻址或相对寻址的位移量(16位),2.2 模型机的指令系统,指令类型传送类指令:MOV指令,16位或32位指令4种传送类型:立即数寄存器,寄存器寄存器,寄存器存储器,存储器寄存器运算类指令:算术和逻辑运算,16位或32位指令,RR型指令或RS型指令,4种类型(以加法运算为例)立即数+寄存器 寄存器寄存器+寄存器 寄存器寄存器+存储器 寄存器寄存器+寄存器 存储器转移类指令条件/非条件转移、转子程序:32位指令,采用相对寻址子程序返回:16位指令其它指令:16位指令,存储器,PC,地址总线(AB),数据总线(DB),控制总线(CB),CPU内部,存储器:存储指令和数据PC:当前指令地址IR:存储当前指令,IR,2.3 数据通路设计(1.指令相关组成部件),存储器,PC,地址总线(AB),数据总线(DB),控制总线(CB),CPU内部,送地址:PCABMem读指令,MemDBIR修改PC,IR,2.3 数据通路设计(2.指令相关取指数据通路),存储器,PC,地址总线(AB),数据总线(DB),控制总线(CB),CPU内部,通用寄存器:R0、R1、R2、R3算术逻辑运算单元ALU,IR,2.3 数据通路设计(3.寄存器/ALU相关组成部件),存储器,PC,地址总线(AB),数据总线(DB),控制总线(CB),CPU内部,存储器到寄存器:MemDBGPRs保存ALU结果:ALUGPRs寄存器间传送:GPRsGPRs,IR,2.3 数据通路设计(4.寄存器/ALU数据通路寄存器输入),存储器,PC,地址总线(AB),数据总线(DB),控制总线(CB),CPU内部,IR,2.3 数据通路设计(5.寄存器/ALU数据通路寄存器输出),保存寄存器内容:GPRsDBMem寄存器间接寻址:GPRsAB寄存器运算:GPRsALU,存储器,PC,地址总线(AB),数据总线(DB),控制总线(CB),CPU内部,IR,2.3 数据通路设计(6.寄存器/ALU数据通路ALU输入),寄存器运算:GPRsALU存储器:运算寻址计算转移地址计算:PCALU,存储器,PC,地址总线(AB),数据总线(DB),控制总线(CB),CPU内部,IR,2.3 数据通路设计(7.寄存器/ALU数据通路ALU输出),输出到寄存器:ALUGPRs结果保存到存储器:ALUDBMem操作数地址计算:ALUAB转移地址计算:ALUPC,存储器,地址总线(AB),数据总线(DB),控制总线(CB),CPU内部,2.3 数据通路设计(8.寄存器/ALU数据通路改进),PC,IR,存储器,地址总线(AB),数据总线(DB),控制总线(CB),CPU内部,2.3 数据通路设计(9.CPU内部总线),PC,IR,IB与GPRs之间:GPRsIB、IBGPRsIB与ALU之间:ALUIB、IBALUIB与PC之间:IBPC、PCIBIB与IR之间:IBIR,内部总线(IB),存储器,地址总线(AB),数据总线(DB),控制总线(CB),CPU内部,2.3 数据通路设计(9.CPU内部总线),PC,IR,内部总线(IB),IB与DB之间:数据总线通过IB将数据送CPU内部 IBDB、DBIBIB与AB之间:AB通过IB接收CPU内部计算出来的地址 IBAB,存储器,地址总线(AB),数据总线(DB),控制总线(CB),CPU内部,2.3 数据通路设计(10.系统总线接口),PC,IR,内部总线(IB),IB与AB之间:地址缓存MAR IBMAR、MARABIB与DB之间:数据缓存MDR、MER IBMDR、MDRDB DBMER、MERIB,MAR,MDR,MER,存储器,地址总线(AB),数据总线(DB),控制总线(CB),CPU内部,2.3 数据通路设计(11.内部数据缓存),PC,IR,内部总线(IB),ALU结果保存:增加寄存器AALU数据输入缓存:增加寄存器DCPU内部数据暂存:增加寄存器C,MAR,MDR,MER,D,A,C,存储器,地址总线(AB),数据总线(DB),控制总线(CB),CPU内部,2.3 数据通路设计(12.状态寄存器FR通路),PC,IR,内部总线(IB),标志寄存器FR:反映当前CPU状态状态产生:ALU状态FR、其他状态FR状态保存:FRIB(如入栈),MAR,MDR,MER,D,A,C,FR,存储器,地址总线(AB),数据总线(DB),控制总线(CB),CPU内部,2.3 数据通路设计(小结),PC,IR,内部总线(IB),所有可能路径寄存器寄存器寄存器存储器ALU 寄存器ALU 存储器内部总线规范内部互连简化通路设计,MAR,MDR,MER,D,A,C,FR,控制信号的作用功能部件控制信号选择具体的操作功能,如ALU操作控制信号数据通路控制信号允许/禁止相应部件输出数据寄存器部件写入控制寄存器输入数据锁存,2.4 控制信号设计,2.4 控制信号设计,控制信号设计示例AC:A输出到总线(Aout),同时C写入控制(Cin)BC:B输出到总线(Bout),同时C写入控制(Cin),存储器,地址总线(AB),数据总线(DB),控制总线(CB),CPU内部,2.4 控制信号设计(1.PC相关),PC,IR,内部总线(IB),MAR,MDR,MER,D,A,C,FR,PC调整 PC2PC输出控制PCoutPC写入控制PCin,存储器,地址总线(AB),数据总线(DB),控制总线(CB),CPU内部,2.4 控制信号设计(2.IR相关),PC,IR,内部总线(IB),MAR,MDR,MER,D,A,C,FR,IR写入控制IRin,存储器,地址总线(AB),数据总线(DB),控制总线(CB),CPU内部,2.4 控制信号设计(3.通用寄存器相关),PC,IR,内部总线(IB),MAR,MDR,MER,D,A,C,FR,细化通用寄存器部分数据通路,存储器,地址总线(AB),数据总线(DB),控制总线(CB),CPU内部,2.4 控制信号设计(3.通用寄存器相关),PC,IR,R0,R1,R2,R3,内部总线(IB),MAR,MDR,MER,D,A,C,FR,寄存器输出控制 R0out,R1out R2out,R3out寄存器输入控制R0in,R1in R2in,R3in,存储器,地址总线(AB),数据总线(DB),控制总线(CB),CPU内部,2.4 控制信号设计(4.ALU相关),PC,IR,R0,R1,R2,R3,内部总线(IB),MAR,MDR,MER,D,A,C,FR,ALU操作选择:S0,S1,S2寄存器D输入控制Din结果输入控制:Ain结果输出控制:Aout标志输出控制:FRout,存储器,地址总线(AB),数据总线(DB),控制总线(CB),CPU内部,2.4 控制信号设计(5.暂存器C相关),PC,IR,R0,R1,R2,R3,内部总线(IB),MAR,MDR,MER,D,A,C,FR,C输出控制:CoutC输入控制:Cin,存储器,地址总线(AB),数据总线(DB),控制总线(CB),CPU内部,2.4 控制信号设计(6.地址缓存MAR相关),PC,IR,R0,R1,R2,R3,内部总线(IB),MAR,MDR,MER,D,A,C,FR,MAR输出控制:MARoutMAR输入控制:MARin,存储器,地址总线(AB),数据总线(DB),控制总线(CB),CPU内部,2.4 控制信号设计(7.数据缓存MDR、MER相关),PC,IR,R0,R1,R2,R3,内部总线(IB),MAR,MDR,MER,D,A,C,FR,MDR输入输出:MDRout,MDRinMER输入输出:MERout,MERin,存储器,地址总线(AB),数据总线(DB),控制总线(CB),CPU内部,2.4 控制信号设计(8.存储器相关),PC,IR,R0,R1,R2,R3,内部总线(IB),MAR,MDR,MER,D,A,C,FR,存储器读出:MemR存储器写入:MemW,功能部件的控制信号用于功能部件的操作选择ALU:算术逻辑运算的功能选择存储器:读、写控制寄存器部件的控制输出控制(输出使能):传送至总线(IB、DB、AB)输入控制(数据锁存),2.4 控制信号设计(小结),2.4 模型机完整结构,返回,第五部分 CPU与控制单元设计,3.1 控制方式与时序系统,指令周期取指周期:从存储器取出指令送指令寄存器全过程,由一系列的微操作按顺序执行构成。取数周期(间址周期):计算操作数有效地址,取出操作数;执行周期:执行指令的功能每个周期都由一系列的微操作构成指令地址送到 MAR:记为 MARPC存储器读指令或数据送到 MER:记为 MERM(MAR)调整 PC 以指向下一条指令地址:记为 PCPC2指令从 MER 送到 IR:记为 IRMERMDR 数据写入存储器:记为 M(MAR)MDR,3.1 控制方式与时序系统,控制方式同步控制方式:以主时钟为基础统一机器周期:所有机器周期包含相同节拍不同节拍机器周期:机器周期的节拍数不一致中央控制与局部控制相结合异步控制方式同步控制方式下的时序系统脉冲时序信号:主时钟脉冲节拍信号:T1,T2,T3,T4,每个节拍信号有效时间为一个时钟周期机器周期信号:M1,M2,M3,M4,每个机器周期信号有效时间为一个机器周期,3.1 控制方式与时序系统,时序系统示例,3.1 控制方式与时序系统,时序部件,3.2 典型指令执行流程分析,指令的执行过程取指:从存取器读取当前指令送到指令寄存器(IR),要根据指令编码的长度才能确定读取指令的详细流程。取数:计算操作数地址,读取操作数,要根据操作数的来源和寻址方式才能确定具体的操作过程。执行:执行并送结果。,3.2 典型指令执行流程分析,模型机取指周期分析机器字长16bits,每一次从存储器能读取16bits指令的核心部分占16bits指令编码长度有:2个字节(16位),4个字节(32位。取指部件在读取第一个16bits后,才能分析出指令的基本特征,才能获知后续字节是当前指令的另一部分,还是下一条指令。如果把读取第一个16bits称之为取指周期,那么在这种前题下,所有指令的取指周期是完全一样的。,3.2 典型指令执行流程分析,取指周期的微操作流程取指流程指令地址送MAR存储器读出指令,送MER调整PC,指令送IR,取指周期,结构图,3.2 典型指令执行流程分析,RR型传送指令执行流程如:MOV R1,R2;R1(R2)指令长度:16位,结构图,3.2 典型指令执行流程分析,R-立即数型传送指令执行流程如:MOV R1,2000H;R1 2000H指令长度:32位,结构图,3.2 典型指令执行流程分析,RR型运算指令执行流程如:ADD R1,R0;R1(R0)+(R1)指令长度:16位设ALU控制信号 S2S1S0=001 表示“加”,结构图,3.2 典型指令执行流程分析,RS型传送指令执行流程如:MOV R0,1000H(R1);R0(1000+(R1)指令长度:32位,结构图,3.2 典型指令执行流程分析,RS型传送指令执行流程如:MOV 1000(R1),R0;(1000+(R1)(R0)指令长度:32位,结构图,3.2 典型指令执行流程分析,RS型运算指令执行流程如:ADD R0,1000(R1);R0(R0)+(1000+(R1)指令长度:32位,结构图,3.2 典型指令执行流程分析,转移类指令执行流程如:JMP 200;PC(PC)+200指令长度:32位,结构图,3.2 典型指令执行流程分析,转移类指令执行流程如:JE 200;如果“零”标志位Z=1,则 PC(PC)+200指令长度:32位,结构图,第五部分 CPU与控制单元设计,4.1 硬布线控制器设计方法,设计步骤指令系统设计:包括指令格式、指令类型、每种指令的功能、寻址方式等等;数据通路设计:数据通路与控制信号;时序系统设计:时序信号与控制方式;指令执行流程规划:每条指令的执行流程及对应微操作控制信号;微操作控制信号综合:对每一个微操作控制信号进行综合和化简,写出逻辑表达式;微操作控制信号的逻辑实现:逻辑电路,4.1 微操作信号的综合,微操作控制信号 MEROut 的综合,4.1 微操作信号的综合,微操作控制信号C的布尔函数,3.3 微操作信号部件的实现,控制部件的实现硬连线实现方式组合逻辑电路可编程逻辑阵列 PLA可编程阵列逻辑 PAL通用阵列逻辑 GAL微程序控制器,第五部分 CPU与控制单元设计,5.1 微程序原理,基本思路指令执行:按顺序执行一系列微操作,每一个时钟周期完成一个或多个微操作。将指令执行微操作序列中一个时钟周期内同时完成的微操作用一个二进制代码串来表示,这就是微指令。微指令的执行:通过某种逻辑产生该微指令所表示的微操作控制信号,并维持一个时钟周期。指令的执行 微指令序列微指令序列 微程序一条机器指令对应一段微程序将所有指令的微程序保存在存储器中(控制存储器)基于这种思想构造的控制器:微程序控制器,5.1 微程序原理,微指令1,微指令2,微指令4,取指部分微程序(公共微程序),模型机取指部分微操作流程,微指令,5.1 微程序原理,1,2,3,R-立即数型传送指令微程序如:MOV R1,2000H;R1 2000H指令长度:32位,4,5,6,5.1 微程序原理,RS型运算指令执行流程如:ADD R0,1000(R1);R0(R0)+(1000+(R1),微指令,1,2,3,4,5,6,7,8,9,10,ROM,控制存储器,取指公共微程序,ADD微程序(不含取指),SUB微程序(不含取指),AND微程序(不含取指),控制存储器结构,5.1 微程序原理,5.1 微程序原理,微指令的构成要素操作控制字段:描述微操作控制信息,以便产生对应的控制信号;顺序控制字段:通过顺序控制字段决定下一条微指令的地址(在控制存储器中的地址)。,操作控制字段,顺序字段,5.1 微程序原理,微程序控制器的原理(微指令执行过程)根据指令译码得到该指令执行部分的第一条微指令的地址。读取微指令送微指令寄存器IR生成微操作信号送控制总线(执行该微指令)顺序逻辑根据顺序控制字段和标志形成下一条微指令的地址并送CMAR,以便读取下一条微指令。,5.2 微指令格式,操作控制字段编码方式直接控制编码:每个二进制位代表1个控制信号,不需要译码。分段直接编译:将微操作分组,同一组微操作互斥,不会同时执行;组间微操作可能同时执行,组内微操作采用编码方式。从编码到控制信号需要译码。,5.2 微指令格式,顺序控制字段测试(条件)字段:该微指令执行完后,是否要根据ALU的标志以及根据什么标志来确定下一条微指令在控制存储器中的地址。次地址字段:顺序执行时,指出下一条微指令的地址,有条件转移时,需要与条件测试字段配合才能确定真正要执行的下一条微指令。,微操作控制信息字段,顺序字段,5.3 微指令的顺序控制,顺序控制技术决定下一条微指令的因素:当前微指令,条件标志,指令操作码;顺序执行时:次地址字段直接给定;微指令中需要测试条件时的次地址技术双次地址字段地址逻辑生成次地址问题公共取指微程序的最后一条微指令的次地址?每条机器指令的微程序的最后一条微指令的次地址?,5.3 微指令顺序控制,顺序执行的情况,5.3 微指令的顺序控制,译码确定各机器指令执行部分微程序首地址,5.3 微指令的顺序控制,方法一:双地址字段法,5.3 微指令的顺序控制,方法二:测试生成次地址法,5.4 微指令执行的时序控制,问题:同等技术条件下,采用微程序控制器与硬接线控制器的机器,哪一种指令执行时间短?,5.4 微指令执行的时序控制,5.4 微指令执行的时序控制,并行微程序控制时当遇到需要本条微指令的执行结果决定下一条微指令的地址时,可采取如下办法:方法一:插入空微指令周期方法二:采用双体控制存储器,插入空微指令方法,5.4 微指令执行时序控制,双体控制存储器方法,第五部分 CPU与控制单元设计,6.1 微程序设计,微程序设计的基本步骤根据机器结构图写出每一条机器指令的微操作流程,划分微指令;根据机器结构图确定微指令控制字段的编码格式根据条件标志确定微指令条件字段的编码格式根据所有指令的微指令数确定控制存储器的容量和微指令次地址字段的位数。划分公共微指令确定每一条微指令在控制存储器中的地址根据微指令格式编写每一条微指令的编码设计地址转移逻辑,6.2 微程序设计举例,6.2 微程序设计举例,微指令格式(48位字长)控制字段(32位):29个控制信号+3个NOP,从高到低依次是:R0out,R1out,R2out,R3out,R0in,R1in,R2in,R3in,S2,S1,S0,Din,Ain,Aout,FRout,PCout,PCin,PC+2,IRin,MARin,MARout,MERin,MERout,MDRin,MDRout,Cin,Cout,MemR,MemW,NOP,NOP,NOP 测试字段:4位,表示16种状态,可以表示15个不同的ALU标志,还有一无标志状态(顺序执行时)。次地址字段:假定12位,控制存储器容量为4KW,结构图,6.2 微程序设计举例,ROM,取指公共微程序,RS加法指令执行部分微程序,JE指令微程序,控制存储器结构,假定控制存储器空间分配,000003,01001F,020028,6.2 微程序设计举例,结构图,公共取指部分微程序,6.2 微程序设计举例,结构图,RS型运算ADD指令微程序如:ADD R0,1000(R1);R0(R0)+(1000+(R1),6.2 微程序设计举例,结构图,转移类JNE指令微程序如:JE 200;如果“零”标志位Z=1,则 PC(PC)+200指令长度:32位,第五部分 CPU与控制单元设计,7.1 流水线原理,洗衣店流程4个流程:洗衣、烘干、熨烫、折叠非流水线模式:第一批4个流程全部完成后,才开始洗第二批;流水线模式:第一批进入烘干阶段,就开始洗第二批;第一批进入熨烫阶段,第二批就进入烘干阶段,开始洗第三批;以此类推。,7.1 流水线原理,指令执行流程(不失一般性,指令执行的六个步骤)取指令(FI):从存储器取出一条指令存入指令缓冲区;指令译码(DI):确定操作性质和操作数地址计算方式;计算操作数地址(CO):计算操作数有效地址;取操作数(FO):从存储器中取操作数(若操作数在寄存器,则无需该步骤)执行指令(EI):执行指令所需操作;写操作数(WO):将结果存入存储器。流水线模型每个步骤分配相等的时间;6级流水模型;处理器包含6个操作部件;,7.1 流水线原理,访存冲突问题,设置两个独立的存储器分布存放指令和数据,避免冲突,7.1 流水线原理,流水线冒险(Hazard,也称流水线相关问题):流水线相近指令出现某些关联,下一个时钟周期不能执行下一条指令,指令流水线必须出现停顿。结构冒险(structural hazard):硬件不支持多条指令在同一个时钟周期执行。若系统只有一个存期器部件,就会带来结构冒险问题。数据冒险(data hazard):指令执行所需的数据暂时不可用而造成的指令执行的停顿。数据冒险一般发生在相近指令间共用一个存储单元或寄存器时。,7.1 流水线原理,流水线冒险(续)控制冒险(control hazard):也称为分支冒险(branch hazard),必须根据前一条指令的执行结果才能确定下一条真正要执行的指令,此时流水线中取得的可能不是真正要执行的指令。阻塞:阻塞流水线(停顿),直到结果出来,才开始取真正执行的指令。分支预测:存在预测失败的情况。,

    注意事项

    本文(计算机组成原理与汇编语言.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开