cpu子系统模型机设计_第1页
cpu子系统模型机设计_第2页
cpu子系统模型机设计_第3页
cpu子系统模型机设计_第4页
cpu子系统模型机设计_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

3.4CPU模型3.4.1设计步骤:拟定指令系统确定总体结构安排时序拟定指令流程和微命令序列。形成控制逻辑3.4.2指令系统1.指令格式格式、寻址方式、指令类型设置寄存器、ALU、数据通路设置画流程图(寄存器传送级)列操作时间表组:列逻辑式,形成逻辑电路微:按微指令格式编写微程序指令字长16位,采用寄存器型寻址,指令中给出寄存器号。(主存容量为64K×16位)双操作数指令格式:4633操作码寄存器号寻址方式寄存器号寻址方式目的地址源地址单操作数指令格式:操作码(可扩展)寄存器号寻址方式43333目的地址转移指令格式:151211986543210转移地址转移条件操作码寄存器号寻址方式方式N′Z′V′C′CPU可编程访问的寄存器:寻址方式编码助记符定义2.寻址方式寄存器寻址通用寄存器R0-R3、指令计数器PC、堆栈指针SP、程序状态字PSW000R(R)为操作数寄存器间址001(R)(R)为操作数地址自减型寄存器间址010-(R)-(SP)(R)-1为操作数地址(SP)-1为栈顶地址立即/自增型寄存器间址011(R)+(R)为操作数地址,访问后(R)+1(SP)+(SP)为栈顶地址,出栈后(SP)+1寻址方式编码助记符定义100(R)为间接地址,直接/自增型双间址101@(R)+(PC)+PC指向有效地址,(R)+d为有效地址(R)为操作数地址,立即/自增型寄存器间址011(R)+访问后(R)+1(SP)+(SP)为栈顶地址,出栈后(SP)+1(PC)为立即数地址,取数后(PC)+1访问后(R)+1@(PC)+访问后(PC)+1变址/相对X(R)X(PC)(PC)+d为有效地址跳步110SKP跳过下条指令执行操作码助记符含义3.指令类型用于数传、堆栈、I/O操作0000MOV传送0001ADD加0101EOR异或双操作数指令0110COM求反1011SR右移单操作数指令1100JMP转移1100RST返回1101JSR转子程序控制类指令00000

543210转移地址无条件转JMP寄寻方式N′Z′V′C′00001

无进位转(C=0)00010

无溢出转(V=0)00100

数非零转(Z=0)0

1000

数为正转(N=0)1000

1

有进位转(C=1)1001

0

有溢出转(V=1)101

00

数为零转(Z=1)1

1

000

数为负转(N=1)条件满足,转转移地址;条件不满足,顺序执行。隐含约定:转子时返回地址压栈保存程序入口RSTSP

(SP)+

JSR寄寻方式N′Z′V′C′5432103.4.3CPU总体结构1.寄存器设置(1)可编程寄存器(16位)通用寄存器:R0(000)、R1(001)R2(010)、R3(011)允许中断(开中断)(可扩展)INZVC43210暂存器C(2)非编程寄存器(16位)堆栈指针:SP(100)指令计数器:PC(111)程序状态字:PSW(101):暂存来自主存的源地址或源数据。暂存器D:暂存来自主存的目的地址或目的数。指令寄存器IR地址寄存器MAR数据寄存器MBR:存放现行指令。实现CPU与主存的接口SN741814片SN741821片2.算逻部件设置ALU选择数据来源选择器A选择器B移位器:实现直送、左移、右移、字节交换3.数据通路结构为了使数据传送控制简单、集中,采用以ALU为中心的总线结构。(1)组成包括四个部分:ALU部件、寄存器组、内总线、CPU与系统总线的连接(16位)R0~R3R0~R3CDCDSPPCPSWMBRA移位器BALUR2R0R1MI/OCB内总线CR3DMARMBRIRPCSPPSWABDB控制逻辑(2)特点ALU为内部数据传送通路的中心;寄存器采用内总线采用单向数据总线(16位);分立结构;R0~R3R0~R3CDCDSPPCPSWMBRA移位器BALUR2R0R1MI/OCB内总线CR3DMARMBRIRPCSPPSWABDB控制逻辑与系统总线的连接通过MAR、MBR实现。MBR输出输出至DB输出至ALU的B门输入从内总线输入从DB输入(打入)(置入)R0~R3R0~R3CDCDSPPCPSWMBRA移位器BALUR2R0R1MI/OCB内总线CR3DMARMBRIRPCSPPSWABDB控制逻辑M置入DBIRMDBIR4.各类信息传送途径(1)指令信息(2)地址信息R0~R3R0~R3CDCDSPPCPSWMBRA移位器BALUR2R0R1MI/OCB内总线CR3DMARMBRIRPCSPPSWABDB控制逻辑1)指令地址2)指令地址加1PCPCAALU移位器内总线MARPC打入AALU移内MARPCAALU移内PCC0C0打入R0~R3R0~R3CDCDSPPCPSWMBRA移位器BALUR2R0R1MI/OCB内总线CR3DMARMBRIRPCSPPSWABDB控制逻辑MIRR0R0BALU移位器内总线PCR0打入BALU移内PC3)转移地址寄存器寻址:寄存器间址:R0打入BALU移内MARABMDB置入MBRBMARMBRMBR移、内PCALUR0~R3R0~R3CDCDSPPCPSWMBRA移位器BALUR2R0R1MI/OCB内总线CR3DMARMBRIRPCSPPSWABDB控制逻辑IRR0R0BALU移位器内总线R0R14)操作数地址寄存器寻址:寄存器间址:R0打入BALU移内MARMARR1R0~R3R0~R3CDCDSPPCPSWMBRA移位器BALUR2R0R1MI/OCB内总线CR3DMARMBRIRPCSPPSWABDB控制逻辑变址:PCAALU移位器内总线MARR0PCAALU移内MARABMDB移内CPCMMMBRMBRBCMBRBALUR0R0CALUCAB移内MARR0~R3R0~R3CDCDSPPCPSWMBRA移位器BALUR2R0R1MI/OCB内总线CR3DMARMBRIRPCSPPSWABDB控制逻辑MIRR0R0BALU移位器内总线R0打入BALU移内R1DBMDBMBRBMBRMBR移、内R2ALUR1R0打入BALU内MBR(3)数据信息1)RR:2)RM:3)MR:R2MR0~R3R0~R3CDCDSPPCPSWMBRA移位器BALUR2R0R1MI/OCB内总线CR3DMARMBRIRPCSPPSWABDB控制逻辑MIRR0R0BALU移位器内总线M(源)R0MBRMBRMBRDB内I/OALU4)MM:5)RI/O:C打入DBMBR内CALU(计算目旳地址)DBMCALU内MBR(目旳)CAI/OR0~R3R0~R3CDCDSPPCPSWMBRA移位器BALUR2R0R1MI/OCB内总线CR3DMARMBRIRPCSPPSWABDB控制逻辑MIRR0BALU移位器内总线DBMBRMBRDBDMA方式:I/O打入I/OMBR内R0ALUI/O6)I/OR7)I/OMM5.微命令设置(1)数据通路操作:ALU功能选择:ALU输入选择:输出移位选择:结果分配:R0A、R0B、S3S2S1S0、M、C0不移、左移、CPR0、CPC、CPMAR、(2)访M、I/O操作:读R地址使能EMAR写W置入MBRSMBR,1MAR向AB送地址000MBR与DB断开,MAR与AB断开R=1读W=1写置入IRSIRM3.5组合逻辑控制器设计1.时序系统(1)工作周期取指周期FT用于指令正常执行设置6个触发器分别作为各周期状态标志源周期ST目的周期DT执行周期ET中断周期ITDMA周期DMAT用于I/O传送控制1工作周期开始0工作周期结束在整个指令周期中,任何时候必须、且只能有一个工作周期状态标志为“1”。1)取指周期FT从M取出指令并译码;公操作修改PC。3)目的周期DT4)执行周期ET取指结束时,按操作码和寻址方式(R/非R寻址)转相应工作周期。按寻址方式(非R寻址)形成源地址,从M取出源操作数,暂存于C。2)源周期ST按寻址方式(非R寻址)形成目的地址,或从M取出目的操作数,暂存于D。按操作码完成相应操作(传送、运算、取转移地址送入PC、返回地址压栈保存);后续指令地址送入MAR。5)中断周期IT关中断、保存断点和PSW、转服务程序入口。由硬件完成1)时钟周期时间:IT指CPU响应中断请求后,到执行中断服务程序前。6)DMA周期DMAT一次从M读出,并经数据通路传送的操作;或一次数据通路传送操作;或一次向M写入的操作DMAT指CPU响应DMA请求后,到传送完一次数据。DMA控制器接管总线权,控制直传。(2)时钟周期(节拍)T1微秒完成一步操作:模型机以访存时间作为一步操作时间。一个总线周期等于一个时钟周期,可根据需要扩展。由硬件完成2)时钟周期数:每个工作周期第一拍T=0,每开始一个新节拍T计数,工作周期结束时T清0。一个工作周期中的时钟数可变。用计数器T控制节拍数每个时钟结束时设置一个脉冲。(3)工作脉冲P1µSTP打入寄存器进行时序转换(周期状态设置/清除时钟T计数/清除)将计数值译码,可产生节拍电位。2.控制流程(工作周期转换)FT双单转SRSTDRDTETDMATDMA请求?中断请求?ITSRDRYNYN3.指令流程图与操作时间表(1)取指周期FT拟定指令流程:初始化时置入FT,确定各工作周期中每拍完成的具体操作(寄存器传送级)。列操作时间表:列出每一步操作所需的微命令及产生条件。1)进入FT的方式和条件FTSRDCQQ总清1程序正常运行时同步打入FT。1FTCPFT1FT=ET(1DMAT1IT)DMAT(1DMAT1IT)+IT+2)流程图1STFT0:PC+1PCMIR3)操作时间表FT0:电位型微命令脉冲型微命令MIREMAR,R,SIRPC+1PCPCA,A+1,DMCPPC1DT1ET或或CPFT(P)CPST(P)CPDT(P)CPET(P)CPT(P)工作周期中,每拍结束时发CPT;工作周期结束时,5个时序打入命令都发。转换FT0:MIR,源数ET0:R0R1PCMARET1:FT0:MIR,PC+1PCST0:R0MARST1:MMBRCDT0:R1MAR目旳地址ET0:CMBRET1:MBRMET2:PCMAR(2)传送指令1)流程图例1:MOVR1,R0;例2:MOV(R1),(R0);PC+1PC形地取源操作数,暂存于C,需5步。PC+1PCST0:PCMARDT1:MMBRCDT0:CMBR源数ET0:C+R0MARET1:MBRMET2:PCMARPC+1PC例3:MOVX(R1),X(R0);FT0:MIRMMBRCST1:ST2:ST3:ST4:PCMARMMBRD形地PC+1PCDT2:DT3:D+R1MAR目旳地址取目旳地址,暂存于MAR,需4步。源数送存储器,需3步。FT0:MIR2)操作时间表例:MOV(R1),(SP)+;SPMARMMBRCPC+1PCCPPCST0:SP+1SPEMARRSMBRMBRB输出BDMCPCSPAA+1DMCPSPEMARPCAA+1RSIRDM1STCPFT(P)CPET(P)CPT(P)DMCPMAR输出ASPAT+1CPT(P)T+1CPT(P)ST1:ST2:1DTCPFT(P)CPET(P)CPT(P)DT0:R1MARDMCPMAR输出AR1AT+1CPT(P)1ETCPFT(P)CPET(P)ET0:CMBRCB输出BDMCPMBRCPT(P)ET1:MBRMPCMARET2:EMARWT+1CPT(P)DMCPMAR输出APCA1FTCPFT(P)CPET(P)CPT(P)DT0:R1MARDMCPMAR输出AR1AT+1CPT(P)1ETCPFT(P)CPET(P)ET0:CMBRCB输出BDMCPMBRCPT(P)(3)双操作数指令取目的数,暂存于D。例:ADDX(R1),(PC)+;FT0:MIR,PC+1PC源数ST0:PCMARST1:MMBRCST2:PC+1PCDT0:PCMARDT1:MMBRDDT2:PC+1PC形式地址DT3:D+R1MARDT4:MMBRD目旳数ET0:C+DMBRET1:MBRMET2:PCMARFT0:MIR,DT0:R0-1R0、MARDT1:MMBRDET0:ET1:MBRMET2:PCMARPC+1PCDMBR(4)单操作数指令例:COM-(R0);(5)转移-返回指令无条件转移SKPR(R)(R)+按R指示从M取转移地址,修改R。(SP)+X(PC)执行再下条指令。从R取转移地址。按R指示从M取转移地址。从堆栈取返回地址,修改SP。以PC內容为基准转移。(RST)FT0:MIR,SP+1SP、MARMMBRPCET0:ET1:SPMARET2:R0PCPC+1PCFT0:MIR,PC+1PCET0:、MARFT0:MIR,PC+1PCET0:PCMARET1:MMBRC位移量ET2:PC+CPC、MARR例1:JMPR0;无条件转子:(R)(R)+(SP)+(PC)+入口在R中例2:RST(SP)+;例3:JMPX(PC);(5)转子指令入口在M中入口在堆栈中SP-1SPMBRMST1:PCMBRST0:、MARFT0:MIR,PC+1PCET0:R2MARET1:MMBRC子程序入口CPC、MAR返回地址压栈ET2:ET3:归纳微命令,综合化简条件,用组合逻辑电路实现。读令R=在ST形成子程序入口;在ET保存返回地址,并转子程序入口。例:JSR(R2);4.控制逻辑例:FT0+MOV.ST1+……CPPC=FT0P+MOV(ST2+DT1)XP+……●

产生微命令的速度较快。5.优缺点●

设计不规整,设计效率较低;

控制器核心结构零乱,不便于检查和调试。●

不易修改与扩展指令系统功能。6.应用场合用于高速计算机,或小规模计算机。3.6微程序控制器设计3.6.1微程序控制的基本原理一、基本思想1.若干微命令编制成一条微指令,控制实现一步操作;2.若干微指令组成一段微程序,解释执行一条机器指令;3.微程序事先存放在控制存储器中,执行机器指令时再取出。CPU的构成引入了程序技术,使设计规整;引入了存储逻辑,使功能易于扩展。二、组成原理1.主要部件(1)控制存储器CM功能:微地址形成电路IRPSWPC微地址寄存器

µAR控制存储器CM译码器微命令序列微命令字段微地址字段µIR存放微程序。CM属于CPU,不属于主存储器。(2)微指令寄存器µIR功能:微地址形成电路IRPSWPC微地址寄存器

µAR控制存储器CM译码器微命令序列微命令字段微地址字段µIR存放现行微指令。微命令字段:提供一步操作所需的微命令。微地址字段:指明后续微地址的形成方式。提供微地址的给定部分。(微操作控制字段)(顺序控制字段)(3)微地址形成电路功能:微地址形成电路IRPSWPC微地址寄存器

µAR控制存储器CM译码器微命令序列微命令字段微地址字段µIR提供两类微地址。微程序入口地址:由机器指令操作码形成。后续微地址:由微地址字段、现行微地址、运行状态等形成。微地址形成电路IRPSWPC微地址寄存器

µAR控制存储器CM译码器微命令序列微命令字段微地址字段µIR取指微指令三、工作过程(1)取机器指令CM取指微指令µIR控制存储器取指微指令微命令字段微地址字段译码器微命令序列

IR微命令字段译码器控制存储器微命令主存机器指令微命令字段微地址字段IR译码器微命令序列IR操作码微地址形成电路入口µAR微命令字段CM首条微指令微地址形成电路IRPSWPC微地址寄存器

µAR控制存储器CM译码器微命令序列微命令字段微地址字段µIR取指微指令控制存储器取指微指令微命令字段微地址字段译码器微命令序列IR控制存储器微命令字段微地址字段译码器微命令序列微地址形成电路IR微地址寄存器微地址形成电路控制存储器微地址寄存器微命令字段微地址字段(2)转微程序入口(3)执行首条微指令控制存储器

译码器µIRµIR译码器微命令字段微地址字段微命令序列微命令操作部件微地址形成电路IRPSWPC微地址寄存器

µAR控制存储器CM译码器微命令序列微命令字段微地址字段µIR(4)取后续微指令微地址字段现行微地址运行状态微地址形成电路微命令字段微地址字段PSW微地址寄存器微地址形成电路微命令字段微地址字段PSW微地址寄存器微地址寄存器后续微地址µAR微地址形成电路控制存储器CM后续微指令µIR微地址寄存器微命令字段

微地址字段微地址形成电路IRPSWPC微地址寄存器

µAR控制存储器CM译码器微命令序列微命令字段微地址字段µIR微命令字段微地址字段PSW微地址寄存器微地址形成电路微命令字段微地址字段PSW微地址寄存器微地址寄存器微地址形成电路微地址寄存器微命令字段微地址字段(5)执行后续微指令同(3)(6)返回微程序执行完,返回CM存放取指微指令的固定单元。3.6.2微指令的编码方式与微地址的形成方式一、.格式分类(1)垂直型微指令优点:一条微指令定义并执行几种并行的基本操作。微指令短、简单、规整,便于编写微程序。缺点:微程序长,执行速度慢;工作效率低。(2)水平型微指令一条微指令定义并执行一种基本操作。优点:缺点:微指令长,编写微程序较麻烦。微程序短,执行速度快。(3)混合型微指令微指令不长,便于编写;微程序不长,执行速度加快。在垂直型的基础上增加一些不太复杂的并行操作。二.编码方法(1)直接控制法例.某微指令微指令控制字段的每一位就是一个微命令,直接对应一种微操作。不需译码,产生微命令的速度快;信息的表示效率低。C0RW111C0=0进位初值为01进位初值为1R=0不读1读0不写1写W=微指令中通常只有个别位采用直接控制法。(2)分段直接编译法例.对加法器输入端进行控制。将微指令分为若干段,各段独立地通过译码电路定义其编码含义,一种字段编码对应表示一种微命令。000不发命令微指令中设置AI字段,控制加法器的输入选择。加法器ABR、CD、ER、CD、FAI3010CA100FB…001RA010CA011DB011DB?微命令分组原则:同类操作中互斥的微命令放同一字段。不能同时出现CD操作唯一;加法器A输入端的控制命令放AI字段,B输入端的控制命令放BI字段。加法器ABR、CD、ER、CD、F000不发命令010CA100EA001RA011DACDAIBI33010CA000不发命令010CB100FB001RB011DB011DBAI:BI:一条微指令能同时提供若干微命令,便于组织各种操作。编码较简单;(3)分段间接编译法例.微命令由本字段编码和其他字段解释共同给出。C=CA1)设置解释位或解释字段解释位1A为某类命令0A为常数2)分类编译按功能类型将微指令分类,分别安排各类微指令格式和字段编码,并设置区分标志。例.DJS-220微指令分两类。微指令CPU方式(触发器C=0)I/O方式(触发器C=1)全加器运算方式控制C=0QC151617C=1QC’

JCC’151617通道专用指令操作码1.微程序入口地址的形成三、微地址形成方式微程序入口功能转移(1)一级功能转移各操作码的位置、位数固定,一次转换成功。入口地址=页号,操作码作为入口地址的低位部分例.机器指令10F(8位)入口地址=000FHCM机器指令210(8位)入口地址=0010H000F0010无条件转微地址1微地址1微程序1无条件转微地址2微地址2微程序2功能转移功能转移0页(2)二级功能转移各类指令操作码的位置、位数不固定,分类转:需两次转换。指令类型标志区分指令类型功能转:指令操作码区分操作类型例.某指令系统:双操作数指令的操作码占4位,其中高两位为00,即双操作数指令类型标志;单操作数指令的操作码占6位,其中高两位为01,即单操作数指令类型标志。加法指令0001(4位)CM减法指令0010(4位)无条件转1000001000000001无条件转1000功能转移功能转移求补指令011100(6位)(1K)分类转移给定入口高6位1000000010无条件转加法地址无条件转减法地址分类转移给定入口高4位1000011100无条件转求补地址加法地址加法微程序(3)用可编程逻辑阵列PLA实现功能转移入口地址1PLAIR入口地址22.后续微地址的形成(1)增量方式以顺序执行为主,辅以各种常规转移方式。次序:现行微地址+1。跳步:现行微地址+2。无条件转移:现行微指令给出转移微地址。CMAA+1A+2BB条件转移:现行微指令给出转移微地址和转移条件。B转移条件CC(条件满足)(条件不满足)转微子程序:现行微指令给出微子程序入口。转移条件CDD微子程序返回微主程序:现行微指令给出寄存器号。A+1RR微指令给定后续微地址高位部分(2)断定方式由直接给定和测试断定相结合形成微地址。给定部分断定条件指明后续微地址低位部分的形成方式例1.微指令D(给定)A(条件)2位位数可变微地址10位,约定:A=0110微地址低4位为操作码,D给定高位;微地址低3位为机器指令目的寻址方式微地址低3位为机器指令源寻址方式6711编码,D给定高位;编码,D给定高位。716路分支8路分支8路分支例2.微指令设微地址10位,4个状态触发器T1~T4,微程序可按它们的状态转移。给定DAB后续微地址00001010D(8位)A(2位)B(2位)条件A低位地址00001110T111T2B最低位地址00001110T311T4000100001010010110T301000010101000001010111011T1T4000110110000101000000010100100001010100000101011四、微程序控制方式优缺点及应用1.优点(1)设计规整,设计效率高;(2)易于修改、扩展指令系统功能;(3)结构规整、简洁,可靠性高;(4)性价比高。2.缺点(1)速度慢访存频繁转移较多(2)执行效率不高3.应用范围用于速度要求不高、功能较复杂的机器中。特别适用于系列机未充分发挥数据通路本身具有的并行能力3.6.4模型机微程序设计1.时序系统P微指令周期微指令打入µIR二级时序:控制数据通路操作结果打入目的地,读取后续微指令后续微地址打入µAR2.微指令格式按数据通路各段操作划分字段,同类操作中互斥的微命令放同一字段。(1)格式数据通路操作辅助操作AIBISMC0SZOEMARRWSTSC3352231112

温馨提示

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

评论

0/150

提交评论