资源描述
,微处理器体系结构及关键技术,1 微处理器的功能与构成,2 指令系统(格式、类型、寻址方式),3 几种典型微处理器体系结构,第三章 微处理器体系结构及关键技术,1 微处理器的功能与构成第三章 微处理器体系结构及关键技术,CPU简化模型,Temp,寄存器组,控制部件,IR,AB buffer,DB buffer,PC,ALU,3.1 CPU功能和构成,CPU简化模型Temp寄存器组控制部件IRAB buffer,处理器的基本功能,取指令,根据程序计数器PC中的值,从存储器读出现行指令,送到指令寄存器IR,然后PC自动加1指向下一条指令。,分析指令,(译码/解码)将IR中的指令操作码译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。,执行指令,取出操作数,执行指令规定的操作。根据指令不同还可能写入操作结果。,协调和控制计算机各部件,执行指令序列,指令译码、执行,算数和逻辑运算,与存储器和外设交换数据,提供系统所需控制,CPU功能,处理器的基本功能协调和控制计算机各部件,执行指令序列 指令译,数据通路,控制器,CPU,主存储器,输入/输出,处理器基本功能结构,数据通路,通用寄存器R 累加器ACC 程序计数器PC 指令寄存器IR 状态标志寄存器FR 地址寄存器MAR 数据缓冲器MBR ALU ALU总线,基本的二进制算术、逻辑及移位运算;根据运算结果设置状态标志(进/借位、溢出等),控制器,指令,译码,微命令序列,控制逻辑,时序+控制电平,指令地址计算,取指令,指令译码,计算操作数地址,取操作数,运算,计算操作数地址,存操作数,数据通路控制器CPU主存储器输入/输出 处理器基本功能结构数,3.2 处理器设计,指令系统,硬件,软件,硬件功能,设置相应指令(格式、类型、寻址方式),配置译码逻辑(安排时序、微命令序列),配置数据通路(ALU、寄存器),确定总体结构(总线设计),指令系统,控制器设计,设计步骤,3.2 处理器设计指令系统硬件软件硬件功能设置相应指令(格,生成中央时钟信号,生成执行基本指令周期所需的控制信号,响应中断或异常事件请求,控制器设计,时序控制部件:脉冲源+分频逻辑;用以产生各种系统所需的、满足时序要求的时钟信号,现代控制器设计趋势:,采用非集中控制模式,I/O和M拥有各自的控制器,从而变为自主的功能部件。,I/O,和M,采用异步控制。,按照微控制命令的形成方式,控制器可分为随机逻辑和微程序两种基本类型。,生成中央时钟信号 控制器设计时序控制部件:脉冲源+分频逻辑;,随机逻辑体系,针对CPU中控制器逻辑,由硬件逻辑实现指令集结构,优化指令结构,以减小硬件逻辑复杂度,可通过简化指令减少所使用的门电路总数从而减少制造费用。,指令集结构与硬件逻辑方程之间存在着密切联系,设计过程复杂。,重用性差,设计成果很少能再利用到以后的新CPU设计中。,适用于较简单的指令集结构。,随机逻辑体系针对CPU中控制器逻辑由硬件逻辑实现指令,程序计数器的值经MUX送到存储器;,存储器送回的指令写入指令寄存器;,程序计数器加1后回写;,程序计数器的值经MUX送到存储器;,寄存器堆中的某个地址寄存器通过MUX寻址存储器,获得ALU的一个操作数;,另一个操作数来自于寄存器堆中的数据寄存器;,ALU的结果值被回写入寄存器堆。,寄存器堆中的某个地址寄存器通过MUX寻址存储器,获得AL,指令集结构驱动硬件的逻辑方程,定义所需的指令集结构;,根据指令集决定硬件逻辑及状态机;,硬件逻辑方程反馈到指令集结构,对指令集结构做必要的修改和优化;,最大限度地减少逻辑复杂度;,随机逻辑CPU的设计步骤,指令集结构,硬件逻辑方程,指令集结构驱动硬件的逻辑方程随机逻辑CPU的设计步骤指令集结,微码体系,指令由若干微指令组成,每条指令对应一组微指令(微码),对指令的译码从硬件逻辑设计变成设计微指令(软件)。,指令,微码,控制逻辑,由于在指令和控制逻辑中间增加“微码”,对指令的解释更灵活修改指令集不需要重新设计硬件,芯片的纰漏可能通过微码修复“微码补丁”,适用复杂指令,减少指令数,提高读取指令速度,指令集与硬件逻辑设计分离,微码体系指令由若干微指令组成,每条指令对应一组微指令(微码),pc,decode,微码ROM,IR,每个指令周期开始将存储器中的指令写入IR,指令译码,确定执行这条指令的微码程序在微码ROM的起始地址,将这个地址写入pc,pc通过寻址微码ROM,得到微码,写入IR,IR译码后通过控制线向机器提供控制信号,pc地址加1得到下一条微指令地址,重复上述过程,直到该指令的整个微码程序结束,IR,指令,微控制,译码,+1,pcdecode微码ROMIR每个指令周期开始将存储器中,pc,decode,MicrocodeROM,IR,decode,Register File,Temp,ALU,Result,PC,Memory,IR,基本时钟周期,存储器读,寄存器读,存储器写,寄存器写,数据通路,微指令涉及的控制信息,微操作所需的数/地址,微操作执行的算术逻辑功能,存储器读写操作,控制多路分支的逻辑条件,下一个微地址,pcdecodeMicrocodeROMIRdecod,微码结构与随机逻辑结构比较,随机逻辑结构,微码结构,硬件设计与指令集,同步设计、优化,指令集设计不影响硬件,性能比较,逻辑硬布线,速度快,缺乏灵活性;适用于简单指令集,需微码控制逻辑,开销大;灵活好,适应复杂类型指令,减少指令数量,一条指令,一个,微程序,(,一组微指令),多个,微操作,(微控制),IR译码,IR译码,微码结构与随机逻辑结构比较随机逻辑结构微码结构硬件设计与指令,3.3 指令系统设计,机器指令要素,操作码(operation code,opcode):需要完成的操作,源操作数,(source operand reference):操作所需的输入,结果操作数,(result operand reference):操作产生的结果,下一条指令引用,(next instruction reference):告诉CPU到哪里取下一条指令。,操作数可以位于,指令(常量)寄存器(提供寄存器编号),主存或虚存(提供地址)I/O设备(提供接口地址),操作数,3.3 指令系统设计 机器指令要素操作码(operation,指令类型,数据传送,数据从源复制到目的,MOVE,PUSH/POP,LOAD/STORE,算数逻辑运算,基本算数运算和比特位操作,ADD/SUB/MUL/DIV,AND/OR/NOT,SHIFT BIT,控制转移,改变指令执行顺序,BRANCE,JUMP,指令类型 数据传送 数据从源复制到目的MOVE 算数,指令格式,操作码,操作数1,操作数2,将要执行的操作,源、目的操作数存放的位置(R-M-I/O),数据类型,立即数或位移量,其它附加信息,指令格式操作码操作数1操作数2将要执行的操作源、目的操,寻址方式,操作数由指令直接给出:,立即数寻址,操作数存放在寄存器中:,寄存器寻址,操作数存放在存储器中:,存储器寻址。指令中给出操作数所在的,有效地址,。,MOV R1,R0,MOV R0,#100,寻找操作数的来源的方式称为寻址方式。,1,存储器直接寻址,直接给出操作数存储地址,ADD Rd Rs1 addr,ADD Rd,Rs1,(addr);Rd(Rs1)+memaddr,寻址方式操作数由指令直接给出:立即数寻址 操作数存放在寄存器,2,寄存器间接寻址,寄存器内容代表操作数存储地址,ADD Rd Rs1 Rs2,ADD Rd,Rs1,(Rs2);Rd(Rs1)+mem(Rs2),ADD Rd,Rs1,(Rs);Rd(Rs1)+memmem(Rs),3,存储器间接寻址,存储器内容代表操作数存储地址,ADD Rd Rs1 Rs,(Rs),(m2),ADD Rd,Rs1,(Rs),m2,n,2 寄存器间接寻址寄存器内容代表操作数存储地址 AD,ADD Rd Rs1 Rs imm,ADD Rd,Rs1,Astart(Rs);Rd(Rs1)+mem(Rs)+Astart,4,位移量寻址,寄存器内容+位移量代表操作数存储地址,ADD Rd,Rs1,Astart(Rs,),A0,A1,A2,A3,Astart,(Rs)+Astart,ADD Rd Rs1,ADD Rd Rs1 Rs Rx,ADD Rd,Rs1,(Rs)+(Rx);Rd(Rs1)+mem(Rs)+(Rx),5 指数寻址,基址寄存器+指数寄存器之和代表操作数存储地址,ADD Rd,Rs1,(Rs)+(Rx),A0,A1,A2,A3,(Rs),(Rs)+(Rx),ADD Rd Rs1,6 自增和自减寻址,堆栈指针表示栈顶地址,PUSH:STORE -SP,Rs ;SP(SP-d),mem(SP)(Rs),入栈,出栈,Dn,Dn-1,POP:LOAD Rd,SP+;Rdmem(SP),SP(SP)+d,栈顶,SP,新栈顶,6 自增和自减寻址堆栈指针表示栈顶地址PUSH:STOR,ADD Rd Rs1 Rs Rx imm,ADD Rd,Rs1,Astart(Rs)(Rx),;Rd(Rs1)+memAstart+(Rs)+(Rx)d,7 比例尺寻址,基址寄存器+指数寄存器+位移量=操作数存储地址,ADD Rd,Rs1,(Rs)+(Rx),A0,A1,A2,A3,(Rs),Astar+(Rs)+(Rx)xd,d,Byte,ADD Rd Rs1,PC相对寻址,转移到目标,JUMP imm,JUMP label ;PClabel=(PC)+imm,label为目标地址(绝对地址),译码时根据PC当前值(该指令的下一条指令地址)和label 计算出imm(相对偏移量)。imm可正可负(补码表示)。,PC相对寻址转移到目标 JUMP,3.4 指令流水线,使用流水线技术重叠执行指令,提高吞吐量,寄存器,300ps,20ps,100ps,100ps,100ps,20ps,20ps,20ps,非流水线 延迟320ps,吞吐量3.12GIPS,三段流水线 延迟360ps,吞吐量8.33GIPS,a,b,c,a,b,c,3.4 指令流水线使用流水线技术重叠执行指令,提高吞吐量寄存,指令流水线基本要求,流水线各段操作相互独立,各段操作所需部件不产生冲突;,流水线各段通过公共时钟实现同步操作,各段操作时长尽量相等。,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,时钟,a,b,c,I4,I3,I2,时钟,I1输出,I1I2I3I4,依靠时钟同步驱动寄存器控制流水线各个阶段,abcI1I2I3I3I2I1时钟abcI4I3I2时钟I1,流水线体系的性能,考察执行N条指令的时间(从第一条开始直到最后一条完成,m级流水深度,每级时长,t,),T,流水,=mt+(N-1)t,N,(N-1),t,执行N条指令非流水线结构所用时间,T,u,=Nmt,加速比=,T,u,/,T,流水,=Nm/(m+N-1),吞吐量(throughput),流水线体系的性能考察执行N条指令的时间(从第一条开始直到最,流水线与微码结构比较,微码结构,流水线结构,指令集要求,可以任意复杂,简单,归1,指令执行,各微指令串行执行,并行执行,提高性能手段,减少存储器读(软件方式),增加硬件特性(超流水线、超标量),比较下列操作在微码,CPU,和流水线,CPU,中的执行情况:,Mem(Reg 1)+Mem(Reg 2)Reg 3,流水线与微码结构比较微码结构流水线结构指令集要求可以任意复,8086内部结构框图,暂存器,ALU,状态标志寄存器,EU,控制器,1 2 3 4 5 6,CS,DS,SS,ES,IP,内部通讯寄存器,指令队列缓冲器,地址总线20位,数据总线,16位,ALU,
展开阅读全文