微处理器体系结构及关键技术.ppt_第1页
微处理器体系结构及关键技术.ppt_第2页
微处理器体系结构及关键技术.ppt_第3页
微处理器体系结构及关键技术.ppt_第4页
微处理器体系结构及关键技术.ppt_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1微处理器的功能与构成2指令系统(格式、类型、寻址方式)3几种典型微处理器体系结构,第三章微处理器体系结构及关键技术,CPU简化模型,Temp,控制部件,IR,ABbuffer,DBbuffer,PC,ALU,3.1CPU功能和构成,处理器的基本功能取指令根据程序计数器PC中的值,从存储器读出现行指令,送到指令寄存器IR,然后PC自动加1指向下一条指令。分析指令(译码/解码)将IR中的指令操作码译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。执行指令取出操作数,执行指令规定的操作。根据指令不同还可能写入操作结果。,协调和控制计算机各部件,执行指令序列,数据通路,控制器,CPU,主存储器,输入/输出,处理器基本功能结构,数据通路,通用寄存器R累加器ACC程序计数器PC指令寄存器IR状态标志寄存器FR地址寄存器MAR数据缓冲器MBRALUALU总线基本的二进制算术、逻辑及移位运算;根据运算结果设置状态标志(进/借位、溢出等),时序+控制电平,3.2处理器设计,硬件功能,设计步骤,生成中央时钟信号生成执行基本指令周期所需的控制信号响应中断或异常事件请求,控制器设计,时序控制部件:脉冲源+分频逻辑;用以产生各种系统所需的、满足时序要求的时钟信号,现代控制器设计趋势:采用非集中控制模式,I/O和M拥有各自的控制器,从而变为自主的功能部件。I/O和M采用异步控制。按照微控制命令的形成方式,控制器可分为随机逻辑和微程序两种基本类型。,随机逻辑体系,针对CPU中控制器逻辑,由硬件逻辑实现指令集结构优化指令结构,以减小硬件逻辑复杂度,可通过简化指令减少所使用的门电路总数从而减少制造费用。指令集结构与硬件逻辑方程之间存在着密切联系,设计过程复杂。重用性差,设计成果很少能再利用到以后的新CPU设计中。适用于较简单的指令集结构。,程序计数器的值经MUX送到存储器;存储器送回的指令写入指令寄存器;程序计数器加1后回写;,寄存器堆中的某个地址寄存器通过MUX寻址存储器,获得ALU的一个操作数;另一个操作数来自于寄存器堆中的数据寄存器;ALU的结果值被回写入寄存器堆。,指令集结构驱动硬件的逻辑方程定义所需的指令集结构;根据指令集决定硬件逻辑及状态机;硬件逻辑方程反馈到指令集结构对指令集结构做必要的修改和优化;最大限度地减少逻辑复杂度;,随机逻辑CPU的设计步骤,指令集结构,硬件逻辑方程,微码体系,指令由若干微指令组成,每条指令对应一组微指令(微码),对指令的译码从硬件逻辑设计变成设计微指令(软件)。,指令,微码,控制逻辑,由于在指令和控制逻辑中间增加“微码”对指令的解释更灵活修改指令集不需要重新设计硬件芯片的纰漏可能通过微码修复“微码补丁”适用复杂指令,减少指令数,提高读取指令速度,指令集与硬件逻辑设计分离,pc,每个指令周期开始将存储器中的指令写入IR,指令译码,确定执行这条指令的微码程序在微码ROM的起始地址,将这个地址写入pc,pc通过寻址微码ROM,得到微码,写入IR,IR译码后通过控制线向机器提供控制信号,pc地址加1得到下一条微指令地址,重复上述过程,直到该指令的整个微码程序结束,pc,decode,MicrocodeROM,IR,decode,RegisterFile,Temp,ALU,Result,PC,Memory,IR,基本时钟周期存储器读寄存器读存储器写寄存器写,数据通路,微指令涉及的控制信息微操作所需的数/地址微操作执行的算术逻辑功能存储器读写操作控制多路分支的逻辑条件下一个微地址,微码结构与随机逻辑结构比较,一条指令,一个微程序(一组微指令),多个微操作(微控制),IR译码,IR译码,3.3指令系统设计,机器指令要素,操作码(operationcode,opcode):需要完成的操作源操作数(sourceoperandreference):操作所需的输入结果操作数(resultoperandreference):操作产生的结果下一条指令引用(nextinstructionreference):告诉CPU到哪里取下一条指令。,操作数可以位于指令(常量)寄存器(提供寄存器编号)主存或虚存(提供地址)I/O设备(提供接口地址),操作数,指令类型,数据传送数据从源复制到目的,MOVEPUSH/POPLOAD/STORE,算数逻辑运算基本算数运算和比特位操作,ADD/SUB/MUL/DIVAND/OR/NOTSHIFTBIT,控制转移改变指令执行顺序,BRANCEJUMP,指令格式,操作码,操作数1,操作数2,将要执行的操作,源、目的操作数存放的位置(R-M-I/O)数据类型,立即数或位移量其它附加信息,寻址方式,操作数由指令直接给出:立即数寻址,操作数存放在寄存器中:寄存器寻址,操作数存放在存储器中:存储器寻址。指令中给出操作数所在的有效地址。,MOVR1,R0,MOVR0,#100,寻找操作数的来源的方式称为寻址方式。,ADDRd,Rs1,(Rs);Rd(Rs1)+memmem(Rs),3存储器间接寻址存储器内容代表操作数存储地址,(Rs),(m2),m2,n,ADDRdRs1Rsimm,ADDRd,Rs1,Astart(Rs);Rd(Rs1)+mem(Rs)+Astart,4位移量寻址寄存器内容+位移量代表操作数存储地址,Astart,(Rs)+Astart,ADDRdRs1RsRx,ADDRd,Rs1,(Rs)+(Rx);Rd(Rs1)+mem(Rs)+(Rx),5指数寻址基址寄存器+指数寄存器之和代表操作数存储地址,(Rs),(Rs)+(Rx),6自增和自减寻址堆栈指针表示栈顶地址,PUSH:STORE-SP,Rs;SP(SP-d),mem(SP)(Rs),入栈,出栈,POP:LOADRd,SP+;Rdmem(SP),SP(SP)+d,栈顶,SP,新栈顶,ADDRdRs1RsRximm,ADDRd,Rs1,Astart(Rs)(Rx);Rd(Rs1)+memAstart+(Rs)+(Rx)d,7比例尺寻址基址寄存器+指数寄存器+位移量=操作数存储地址,(Rs),Astar+(Rs)+(Rx)xd,dByte,PC相对寻址转移到目标,JUMPimm,JUMPlabel;PClabel=(PC)+imm,label为目标地址(绝对地址),译码时根据PC当前值(该指令的下一条指令地址)和label计算出imm(相对偏移量)。imm可正可负(补码表示)。,3.4指令流水线,使用流水线技术重叠执行指令,提高吞吐量,寄存器,300ps,20ps,100ps,100ps,100ps,20ps,20ps,20ps,非流水线延迟320ps吞吐量3.12GIPS,三段流水线延迟360ps吞吐量8.33GIPS,a,b,c,a,b,c,指令流水线基本要求,流水线各段操作相互独立,各段操作所需部件不产生冲突;流水线各段通过公共时钟实现同步操作,各段操作时长尽量相等。,a,b,a,c,d,e,f,20ps,50ps,时钟,延迟420ps吞吐量1/(50+20)=14.29GIPS,a,b,c,50ps,150ps,100ps,a,b,c,I1I2I3,I3,I2,I1,时钟,I1I2I3I4,依靠时钟同步驱动寄存器控制流水线各个阶段,流水线体系的性能,考察执行N条指令的时间(从第一条开始直到最后一条完成,m级流水深度,每级时长t),T流水=mt+(N-1)t,N,(N-1)t,执行N条指令非流水线结构所用时间,Tu=Nmt,加速比=Tu/T流水=Nm/(m+N-1),吞吐量(throughput),流水线与微码结构比较,比较下列操作在微码CPU和流水线CPU中的执行情况:Mem(Reg1)+Mem(Reg2)Reg3,8

温馨提示

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

评论

0/150

提交评论