3.4 模型机CPU-1、2-指令与数据通路_第1页
3.4 模型机CPU-1、2-指令与数据通路_第2页
3.4 模型机CPU-1、2-指令与数据通路_第3页
3.4 模型机CPU-1、2-指令与数据通路_第4页
3.4 模型机CPU-1、2-指令与数据通路_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

3.4模型机CPU设计(简易的16位CPU)1/39CPU设计步骤拟定指令系统确定总体结构安排时序拟定指令流程和微命令序列。形成控制逻辑格式、寻址方式、指令类型设置寄存器、ALU、数据通路设置画流程图(寄存器传送级)列操作时间表组合逻辑:列逻辑式,形成逻辑电路微程序:按微指令格式编写微程序2/393.4.1

指令系统的设计1.模型机的指令格式指令字长16位,采用寄存器型寻址,指令中给出寄存器号。(主存容量为64K×16位)结合高级语言,考虑CPU应该有哪些基本类型的指令??3/39双地址指令格式:4336操作码

目的Rj寻址DA

源Ri寻址SA目的地址源地址单地址指令格式:操作码目的Rj寻址DA未使用15~1211~98~65~32~0目的地址转移指令格式:15~12

11~9

8~6

5

4

3

2

1

0转移地址转移条件操作码目的Rj寻址JA

标志

N′

Z′

V′

C′4/39CPU可编程访问的寄存器:寻址方式编码助记符定义2.寻址方式寄存器寻址R、指令计数器PC、堆栈指针SP、程序状态字PSW000R(R)为操作数寄存器间址001(R)(R)为操作数地址自减型寄存器间址010-(R)-(SP)(R)-1为操作数地址(SP)-1为栈顶地址(表3-4)5/39寻址方式编码助记符定义101(PC)+(R)+d为有效地址(R)为操作数地址,立即/自增型寄存器间址011(R)+访问后(R)+1(SP)+(SP)为栈顶地址,出栈后(SP)+1(PC)为立即数地址,取数后(PC)+1变址/相对寻址X(R)X(PC)(PC)+d为有效地址跳步110SKP跳过下条指令执行6/39操作码助记符含义3.目标指令集用于数传、堆栈、I/O操作0000MOV传送0010ADD加0110EOR异或双操作数指令1100COM求反1011SR右移单操作数指令1110JMP/RST转移/返回1111JSR转子(调用子程序)(表3-5)7/3900000

543210转移地址无条件转JMP寄寻方式

N′Z′V′C′00001

无进位转(C=0)00010

无溢出转(V=0)00100

数非零转(Z=0)0

1000

数为正转(N=0)1000

1

有进位转(C=1)1

001

0

有溢出转(V=1)101

00

数为零转(Z=1)1

1

000

数为负转(N=1)条件满足,转向转移地址;否则顺序执行。8/39隐含约定:转子时返回地址压栈保存程序入口地址RSTSP(SP)+JSR寄寻方式

N′Z′V′C′5432109/393.4.2部件与与数据通路1.部件设置

可编程寄存器(16位)通用寄存器:R0(000)、R1(001)R2(010)、R3(011)PC(111)4

3

2

10允许中断的标志位

(可扩展)INZVC堆栈指针:SP(100)指令计数器:程序状态字:PSW(101)(1)寄存器10/39暂存器C

非编程寄存器(16位):暂存来自主存的源地址或源数据。暂存器D:暂存来自主存的目的地址或目的数。指令寄存器IR地址寄存器MAR数据寄存器MDR:存放现行指令。实现CPU与主存的接口11/39SN741814片SN741821片(2)运算部件设置ALU选择数据来源选择器A选择器B移位器:实现直送、左移、右移、字节交换(16位)12/392.总线与数据通路结构为了使数据传送控制简单、集中,采用以ALU为中心的总线结构。(1)组成包括四个部分:ALU部件;寄存器组;存储器;控制系统;13/39R0~R3R0~R3CDCDSPPCMDR、SP、PCA移位器BALUR2R0R1MI/OCB内总线CR3DMARMDRIRPCSPPSWABDB控制逻辑(2)特点ALU为内部数据传送通路的中心;分立寄存器内总线采用单向数据总线(20位);I/O请求clock图3-43204C014/39与系统总线的连接通过MAR、MDR实现。MDR输入输出至DB输出至ALU的B门输出从内总线输入从DB输入(打入)(置入)R0~R3R0~R3CDCDSPPCMDR/SP/PCA移位器BALUR2R0R1MI/OCB内总线CR3DMARMDRIRPCSPPSWABDB控制逻辑I/O请求clock图3-43C015/393.各类信息传送途径M(1)指令信息置入DBIRR0~R3R0~R3CDCDSPPCMDR/SP/PCA移位器BALUR2R0R1MI/OCB内总线CR3DMARMDRIRPCSPPSWABDB控制逻辑I/O请求clock图3-43C016/391)指令地址2)指令地址加1PC打入AALU移内MARPCAALU移内PCC0打入(2)地址信息R0~R3R0~R3CDCDSPPCMDR

SPPCA移位器BALUR2R0R1MI/OCB内总线CR3DMARMDRIRPCSPPSWABDB控制逻辑I/O请求clock图3-43C017/393)转移地址寄存器寻址:R0打入BALU移内PC寄存器间址:R0打入BALU移内MARABMDB置入MDRB移、内PCALUR0~R3R0~R3CDCDSPPCMDR

SPPCA移位器BALUR2R0R1MI/OCB内总线CR3DMARMDRIRPCSPPSWABDB控制逻辑I/O请求clock图3-43C018/394)操作数地址寄存器间址:R0打入BALU移内MARR0~R3R0~R3CDCDSPPCMDR

SPPCA移位器BALUR2R0R1MI/OCB内总线CR3DMARMDRIRPCSPPSWABDB控制逻辑I/O请求clock图3-43C019/39变址/基址:R0PCAALU移内MARABMDB移内CMMDRBALUALUCAB移内MARR0~R3R0~R3CDCDSPPCMDR

SPPCA移位器BALUR2R0R1MI/OCB内总线CR3DMARMDRIRPCSPPSWABDB控制逻辑I/O请求clock图3-43C020/39(3)数据信息1)RR:R0打入BALU移内R1DBMDBMDRB移、内R2ALU2)RM:R0打入BALU内MDR3)MR:MR0~R3R0~R3CDCDSPPCMDR

SPPCA移位器BALUR2R0R1MI/OCB内总线CR3DMARMDRIRPCSPPSWABDB控制逻辑I/O请求clock图3-43C021/394)MM:M(源)R0MDRDB内I/OALU5)RI/O:打入DBMDR内CALU(计算目的地址)DBMCALU内MDR(目的)R0~R3R0~R3CDCDSPPCMDR

SPPCA移位器BALUR2R0R1MI/OCB内总线CR3DMARMDRIRPCSPPSWABDB控制逻辑I/O请求clock图3-43C022/39DBDBDMA方式:I/O6)I/OR打入I/OMDR内R0ALU7)I/OMMR0~R3R0~R3CDCDSPPCMDR

SPPCA移位器BALUR2R0R1MI/OCB内总线CR3DMARMDRIRPCSPPSWABDB控制逻辑I/O请求clock图3-43C023/39思考题:ADD(R2),X(PC)该指令实现按既定寻址方式分别确定加数和被加数,并将结果保存于目的地址指定的单元,请分析其涉及到的信息传送通路。(1)指令信息的传送路径?(2)地址信息的传送路径?(3)数据信息的传送路径?24/393.4.3指令流程与微命令R0~R3R0~R3CDCDSPPCMDR

SPPCA移位器BALUR2R0R1MI/OCB内总线CR3DMARMDRIRPCSPPSWABDB控制逻辑I/O请求clock1、数据通路中的微命令25/39(1)通路选择ALU功能:A/B选择器:移位选择:结果分配:R0~3/C/D/SP/CP→AR0~3/C/D/SP/PC/MDR→BS3S2S1S0、M、CI直传DM、左移SL、右移SR、节交换EXCPR0~3

/

CPC

/

CPD

/

CPSP

/

CPPC

/

CPMDR

/

CPMAR/CPPSWR0~R3R0~R3CDCDSPPCMDR

SPPCA移位器BALUR2R0R1内总线CR3DMARMDRPCSP图3-43PSW26/39MCBMARMDRABDB控制逻辑I/O请求clockEMARSMDRRWEMDRIRSIR(2)访存操作地址使能EMAR0:MAR与地址线断开1:MAR输出到地址线数据使能EMDR0:MDR与数据线断开1:MDR输出到数据线主存读写模式R/W0/0:主存禁用0/1:写模式1/0:读模式从数据总线置入:SMDR=1,DB→MDR;SIR=1,DB→IR27/39(3)I/O操作与PSW:时钟信号CPPSW01:1→PSW[4]边沿驱动iDB[19:16]→PSW[3:0]MCBABDB控制逻辑I/O请求clockRWPSWST置入信号ST10:0→PSW[4]CPPSWiDB[19:16]自动驱动。28/392、指令流程及微命令根据目标指令集和I/O请求,设计处理流程(1)各指令的公共操作FT:PC+1PCMIR(2)对应微命令电位型微命令脉冲型微命令MIREMAR,R,SIRPC+1PCPCA,A+1,DMCPPC其中“A+1”对应SM=10010,C0=1(暂不考虑时序信号)29/39操作时间表中各微命令的含义:

控制访存操作的微命令EMAR,R/W,SIR,…(2)控制CPU内部数据通路操作微命令PCA,S3S2S1S0MC0,DM,CPPC,…(3)控制时序切换的微命令需要结合控制系统才能表述。30/39(2)传送指令FT0:MIR,1)流程图例1:MOVR0,R1;源数ET0:R1R0PCMARET1:例2:MOV(R0),(R1);FT0:MIR,PC+1PCST0:R1MARST1:MMDRCDT0:R0MAR目的地址ET0:CMDRET1:MDRMET2:PCMARPC+1PC31/39形式地址取源操作数,暂存于C,需5步。PC+1PCST0:PCMARDT1:MMDRCDT0:CMDR源数ET0:C+R1MARET1:MDRMET2:PCMARPC+1PC例3:MOVX(R0),X(R1);FT0:MIRMMDRCST1:ST2:ST3:ST4:PCMARMMDRD形地PC+1PCDT2:DT3:D+R0MAR目的地址取目的地址,暂存于MAR,需4步。源数送存储器,需3步。32/39FT0:MIR2)操作时间表例:MOV(R1),(SP)+;SPMARMMDRCPC+1PCCPPCST0:SP+1SPEMARRSMDRMDRB输出BDMCPCSPAA+1DMCPSPEMARPCAA+1RSIRDMDMCPMAR输出ASPAST1:ST2:33/39ET1:MDRMPCMARET2:EMAR、W(EMDR)DMCPMAR输出APCADT0:R1MARDMCPMAR输出AR1AET0:CMDRCB输出BDMCPMDR34/39(3)双操作数指令取目的数,暂存于D。例:ADDX(R1),(PC)+;FT0:MIR,PC+1PC立即数ST0:PCMARST1:MMDRCST2:PC+1PCDT0:PCMARDT1:MMDRDDT2:PC+1PC形式地址DT3:D+R1MARDT4:MMDRD目的数ET0:C+DMDRET1:MDRMET2:PCMAR35/39(4)单操作数指令FT0:MIR,例

温馨提示

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

评论

0/150

提交评论