《《计原与汇编》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《计原与汇编》PPT课件.ppt(74页珍藏版)》请在三一办公上搜索。
1、第五章 中央处理器(CPU),第一节 中央处理器的总体结构,CPU功能:从主存取指、解释、执行指令。程序控制功能、数据处理功能、操作定序功能CPU基本组成:控制部件(CU)算术逻辑运算部件(ALU)Cache存储器 中断系统 各种寄存器 CPU内部数据通路,模型机CPU的总体结构,CPU的设计步骤大致如下:,1、确定总体结构,设计数据通路及相应控制信号;2、设计指令系统及时序系统,拟定指令流程,确定 微操作控制信号;3、设计产生各种微操作控制信号的控制部件 两种类型组合逻辑控制器、微程序控制器,以8086的结构及指令系统为基础简化设计模型机,1、总体结构,单BUS结构:CPU、存储器及I/O部
2、件挂接在一 组系统总线上,同步方式工作 只保留EU结构,模型机CPU的总体结构,2、CPU内总线(IBUS),模型机CPU的总体结构,双向单总线 IBUS重用单发送多接收三态门隔离,3、CPU中寄存器设置,(1)寄存器组,模型机CPU的总体结构,W-B,地址R,字/字节操作,写某个通用寄存器,读某个通用寄存器,将某通用寄存器内容送内总线,数据R,RE,WE,(1)寄存器组,3、CPU中寄存器设置,R地址(AX),WE,W-B,RE,WE,WE,R地址,W-B,W-B,IBUS,(1)寄存器组,3、CPU中寄存器设置,RE,WE,R地址,RE,R-IBUS,W-B,AL,IBUS,(2)总线暂存
3、器RBL,3、CPU中寄存器设置,RE,WE,R地址,W-B,W-B,RE,R-IBUS,RBL,IBUS-RBL,IBUS-RBL,(3)移位寄存器(SR),例:将RBL中一个字内容算术左移一位,3、CPU中寄存器设置,RBL-IBUS,IBUS-SR,SALC,W-B,SR-IBUS,IBUS-RBL,16位,只存指令的前2个字节(前两个字节为操作码和寻址方式)。IBUS-IR用于控制将IBUS上的指令打入 IR。,(5)PC(程序计数器)16位专用寄存器,具有自增功能。一条指令结束前必须自动改变成下地址。,(4)IR(指令寄存器),3、CPU中寄存器设置,PC,IBUS-PC,IR,IB
4、US-IR,PC+1,0-PC,IR,PC,IBUS-IR,0-PC,IBUS-PC,PC+1,PC-IBUS,PC-IBUS,IBUS,MDR:R MDR DBUS M,(6)MAR和MDR MAR:地址=MAR=ABUS,对主存的控制信号:MRD(读),MWR(写),W-B(字/字节),3、CPU中寄存器设置,(6)MAR和MDR,例:从内存取指到IR中。,3、CPU中寄存器设置,(7)标志寄存器FR,0-PC,PC+1,ABUS,DBUS,CBUS,MAR-ABUS,MAR,R地址,R-IBUS,RE,WE,IBUS-MAR,移位寄存器SR,FR,PC,IBUS-PC,IBUS-IR,C
5、U,TS,控制信号,主存 Memory,MDR,MDR-DBUS,MDR-IBUS,RBL,IBUS-RBL,RBL-IBUS,ADDC,SUBC,IBUS,寄存器组,PC-IBUS,MUX,BUS-MDR,I-DBUS,HALT,偶体,奇体,MRD,MWR,W-B,W-B,RA,RB,ALU-IBUS,ANDC,ORC,IBUS-RA,IBUS-RB,SHLC,SALC,ROLC,IBUS-SR,SR-IBUS,W-B,PC,PC-IBUS,IBUS-MAR,MAR,MAR-ABUS,MRD,W-B,I-DBUS,BUS-MDR,MUX,MDR,MDR-IBUS,IBUS-IR,MAR-IB
6、US,4、ALU部件及控制部件,ALU部件基本运算:ADDC,SUBC,ANDC,ORC,XORC,NOTC,INCAC,DECAC等,R地址(BX),RE,W-B,R-IBUS,IBUS-RA,RBL-IBUS,IBUS-RB,ADDC,ALU-IBUS,R地址(AX),WE,W-B,控制部件CU,时序控制方式:微操作与时序信号之间采取何种关系。一、同步控制方式 各项微操作由统一的时序信号进行同步控制。二、同步控制方式的多级时序系统多级时序概念:(1)指令周期:执行一条指令的时间。(2)机器周期:(CPU工作周期)把指令周期分成若干个子周期,每个子周期称为 机器周期。(3)节拍(时钟周期):
7、完成一步基本操作的时间段。(4)时钟脉冲信号:时序系统的基本定时信号。,第二节 指令周期与指令流程,模型机设置五种工作周期:,(1)取指周期FI:取指译码(2)目的周期DST:形成目的地址,获得目的操作数(3)源周期SRC:形成源地址,获得源操作数(4)执行周期EXC:运算、存结果/形成转移地址(5)中断响应周期INT:进行中断处理 周期状态触发器:5个触发器对应上面5种工作周期,任一时刻只有一个为1。,组合逻辑控制时序系统的组成,三、时序系统,微程序控制时序系统的组成,三、时序系统,四、指令系统(一)指令格式,1、双操作数指令代码格式:长度1-6B,指令目的操作数 源操作数操作特征部分MOV
8、 REGR/M10 00 10 dwMOV MImm11 00 01 1wADD REGR/M00 00 00 dwADD R/MImm10 00 00 0wAND R/MREG00 10 00 dwAND R/MImm10 00 00 0wd=1,目的操作数由REG字段给出w=1,字操作,REGW=0 W=1 000ALAX001CLCX010DLDX011BLBX100AHSP101CHBP110DHSI111BHDI,MODR/M00 01 10 11000(BX)+(SI)(BX)+(SI)+D8(BX)+(SI)+D16 AL/AX 001(BX)+(DI)(BX)+(DI)+D8(
9、BX)+(DI)+D16 CL/CX010(BP)+(SI)(BP)+(SI)+D8(BP)+(SI)+D16 DL/DX011(BP)+(DI)(BP)+(DI)+D8(BP)+(DI)+D16 BL/BX100(SI)(SI)+D8(SI)+D16 AH/SP101(DI)(DI)+D8(DI)+D16 CH/BP110 D16(BP)+D8(BP)+D16 DH/SI111(BX)(BX)+D8(BX)+D16 BH/DI,例1:指令MOV VAR,5678H。该指令的操作码OPCODE为 1100011,REG为辅助操作码,其值为000。设VAR对应地址为2000H。这条指令的代码如何
10、?,解:OPCODE W MOD REG R/M 位移量低 位移量高 立即数低 立即数高,1100011,1,000,C7 06 00 20 78 56H,例2:指令ADD AX,BX。这条指令的代码如何?,解:OPCODE d W MOD REG R/M,000000,1,000,1,11,011,03 C3H,2、单操作数指令代码格式,操作码扩展:OPCODE=1111111OP2为辅助操作码,例3:指令INC AL。这条指令的代码如何?,解:OPCODE W MOD REG R/M,1111111,000,0,11,000,FE C0H,(二)指令分类 1、数据传送类指令,(1)MOV
11、DST,SRC(SRC)DST SRC可采用立即寻址、R寻址、直接寻址、R间址、变址/基址、基址变址寻址等。DST不能采用立即寻址,其他同SRC。采用双操作数指令代码格式,长度为2-6字节。,(2)PUSH SRC(SP)-2 SP,(SRC)(SP)SRC为R,为单字节指令 SRC为M,为2 4字节,(3)POP DST(SP))DST,(SP)+2 SP DST为R,为单字节指令 DST为M,为2 4字节,(1)双操作数:ADD/SUB DST,SRC 寻址方式与指令代码格式、长度同MOV 指令功能:(DST)OP(SRC)DST,2、算术运算类指令,(2)单操作数 INC/DEC DST
12、 指令功能:OP(DST)DST 寻址方式同MOV 采用单操作数指令代码格式,长度2-4字节。,(1)双操作数:AND/OR/XOR DST,SRC 寻址方式与指令代码格式、长度同MOV 指令功能:(DST)OP(SRC)DST,3、逻辑运算类指令,(2)单操作数 NOT DST 指令功能:OP(DST)DST 寻址方式同MOV 采用单操作数指令代码格式,长度2-4字节。,(3)移位指令 SAL/SAR/SHL/SHR/ROL/ROR DST,1 指令功能:OP(DST)DST 寻址方式同MOV 采用单操作数指令代码格式,(2)条件转移指令 JX 目标地址;转移条件:X X成立:则(IP)+d
13、isp IP;否则:顺序执行 包括JO、JS、JZ、JP、JC,4、控制转移类指令,(1)无条件转移指令,JMP 目标地址;功能:(IP)+disp IP,5、处理器控制类指令 HLT停机指令,以工作周期为线索,拟定各类指令在本工作周期操作流程易于优化 按指令类型分别拟定指令流程易于理解,拟定指令流程通常有两种方式,(三)指令流程,1、取指流程,FI0 PCMARFI1 M MDR IR;PC+1 PC,2、MOV指令流程(1)FI同前(2)DST,(3)SRC:同DST类似,W,R,M,Rs,R,D R,DRb Ri,D16,SRC0,SRC1,SRC2,SRC3,SRC4,SRC5,EXC
14、0,EXC1,SRC6,SRC7,Imd,Imd16,D16,D16,例1 拟出MOV AX,2130H 的指令流程解:FI0PC=MAR FI1M=MDR=IR,PC+1=PC DST0PC+1=PC SRC0MAR=SR SRC1PC=MAR SRC2M=MDR=RBL,PC+1=PC SRC3SR=MAR,PC+1=PC EXC0RBL=AX,FI0 PC-MAR PC-IBUS,IBUS-MAR,T+1(CLK)FI1 M-MDR-IR MAR-ABUS,MRD,W-B,I-DBUS,BUS-MDR,MDR-IBUS,IBUS-IRPC+1-PC PC+1,IBUS-PC,1-T0(C
15、LK),1-DST(CLK)DST0 PC+1-PC PC+1,IBUS-PC,T+1(CLK)DST1 PC-MARPC-IBUS,IBUS-MAR,T+1(CLK)DST2 M-MDR-RA MAR-ABUS,MRD,W-B,I-DBUS,BUS-MDR,MDR-IBUS,IBUS-RA PC+1-PC PC+1,IBUS-PC,T+1(CLK)DST3 DI-RBRE,W-B,R-IBUS,IBUS-RB PC+1-PC PC+1,IBUS-PC,T+1(CLK)DST4 RA+RB-MAR ADDC,ALU-IBUS,IBUS-MAR,1-T0(CLK),1-SRC(CLK)SRC0
16、CL-RBL RE,W-B,R-IBUS,IBUS-RBL,1-T0(CLK),1-EXC(CLK)EXC0 RBL-MDR RBL-IBUS,I-DBUS,BUS-MDR,T+1(CLK)EXC1 MDR-M MDR-DBUS,MWR,W-B,1-T0(CLK),1-FI(1-INT)(CLK),例2:拟出MOV 1234HDI,CL的指令流程与微操作时间表,3.双操作数的算逻指令流程(1)FI同MOV(2)DST:,(3)SRC:同DST类似,W,R,M,Rs,R,D R,DRb Ri,D16,SRC0,SRC1,SRC2,SRC3,SRC4,SRC5,EXC0,EXC1,SRC6,SRC
17、7,Imd,Imd16,D16,D16,EXC2,4.单操作数的算逻指令流程(1)FI同双操作数的算逻指令;(2)DST与双操作数的算逻指令流程基本一致,只是 取出的目的操作数直接放在RA中,而不是SR中。(3)EXC流程如下,移位指令流程(1)FI和DST同双操作数的算逻指令(2)EXC如下,6、转移指令流程,取指,转移指令,PC MAR,PC MAR,M w MDR RA PC+1 PC,PC+1 PC,PC RB,PC RB,RA+RB PC,RA+RB PC,PC+1 PC,FI,JMP,JX,JO,JS,JP,JZ,JC,JX,EXC0,EXC1,EXC2,EXC3,EXC4,D8,
18、M B MDR RA PC+1 PC,D16,设计控制部件的两种方式 组合逻辑控制和微程序控制,第三节 微程序控制部件的组成与设计,一、微程序控制概念,1、微程序执行过程的描述 一条指令对应的微程序的执行过程是:,(1)开机加电或复位时,由硬件将 PC设置为公共取指微程序的 第1条微指令所在的微地址值;(2)根据 PC的内容,将相应地址的微指令读入 IR中,译码后 发出微命令,在时序系统配合下,产生相应的微操作控制信 号,然后根据后继微地址的形成方式,修改 PC的内容,取 出后续微指令,直到完成一条机器指令的取指工作;(3)由IR中的操作码及微指令中指定的若干位微地址相拼接,通 过微地址形成电
19、路,生成该条机器指令的微程序入口地址;(4)根据形成的微地址及后续微地址产生方式,将该条机器指令 相对应的微程序全部执行完毕,实现指令功能;(5)返回公共取指微程序,取出下一条机器指令,如此反复。,2、基本概念和术语(1)微命令与微操作,微命令:最小单位的控制信号,如开/关控制门等微操作:由微命令控制实现的基本操作,微命令字段(微操作控制字段):记录各微操作所对应的控制信号顺序控制字段(微地址字段):记录下一条将要执行的微指令地址微周期:从CM中读取一条微指令并执行相应的微操作所需的时间,(2)微指令与微周期 微指令:若干个微命令的组合,实现可并行的操作,(4)工作程序与微程序、主存储器与CM
20、工作程序:以机器指令为单位存放在主存中微程序:以微指令为单位存放在CM中不能互相取代,(3)相容性和相斥性微命令相容性微命令:在一个微周期可同时发出的微命令相斥性微命令:同一个微周期不能同时发出的微命令,(1)直接控制编码(不译码法)不译码:每一位代表一个微命令,1有效优缺点:控制 简单、速度 快、并行性 好 长度 长,二、微指令结构设计,1、微命令字段的设计,把相斥性微命令组合在同一字段中,采用编码方式存取。把相容性微命令组合在不同字段中,各段单独译码。,(2)字段直接编译法,(3)字段间接编译法,2、微程序的顺序控制(一)微程序入口地址的形成 应根据IR中的机器指令操作码来形成。例:由IR
21、中的操作码及微指令中指定的若干位微地址相拼接,(二)后继微地址的形成(1)计数器增量方式:PC,顺序执行转移方式=J0,PC+1=PC,由 PC提供后继微地址 无条件转移:转移方式=J1,由转移微地址字段给出转移的微地址 条件转移:转移方式=J2,条件成立,则由转移微地址字段给出转移的微地址,(2)断定测试转移方式,微程序顺序执行时:由下地址字段直接提供后继微地址 微程序有分支时:由测试字段给出应测试的状态,根据测试的状 态标志位产生相应的后继微地址,三、微指令格式 1、水平型微指令 一条微指令中并行定义多个微命令,并且在数据通路 中能够并行执行多种微操作的微指令格式。一般采用 直接控制编码、
22、字段直接编码及字段间接编码。并行性高,长度长,2、垂直型微指令 类似于机器指令操作码的设计方式,对微操作码 字段进行编码,并行能力低,四、微程序设计,1、模型机微指令结构,微地址,FFDH 101 00 0 00 000 111 00 0 0 000 000 00 00 1 0000,2、微程序编制,FFEH 110 00 1 00 000 110 10 0 1 000 000 01 01 1 0000,FFFH 000 00 0 00 000 000 00 0 0 000 000 00 00 1 0010,第四节 组合逻辑控制部件的组成与设计,PC-IBUS=FIT0+MOVDSTT1(D1
23、6+DR+DRbRi)+PC+1=FIT1+DSTT0+MOVDSTT2(D16+DR+DRbRi)+IBUS-IR=FIT1(CLK)T+1=FIT0+MOVDSTT0(Rd)+MOVDSTT1(R)+,一、微操作控制信号的逻辑综合,二、R地址的产生,第五节 CPU发展简介,多级Cache流水线技术RISC技术多核技术,0-PC,PC+1,ABUS,DBUS,CBUS,MAR-ABUS,MAR,R地址,R-IBUS,RE,WE,IBUS-MAR,移位寄存器SR,FR,PC,IBUS-PC,IR,IBUS-IR,CU,TS,控制信号,主存 Memory,MDR,MDR-DBUS,MDR-IBUS,RBL,IBUS-RBL,RBL-IBUS,ADDC,SUBC,IBUS,寄存器组,PC-IBUS,MUX,BUS-MDR,I-DBUS,HALT,偶体,奇体,MRD,MWR,W-B,W-B,RA,RB,ALU-IBUS,ANDC,ORC,IBUS-RA,IBUS-RB,SHLC,SALC,ROLC,IBUS-SR,SR-IBUS,W-B,MAR-IBUS,