您好,欢迎访问三七文档
第六章CPU设计6.1CPU设计基本步骤6.2组合逻辑控制器设计6.3微程序控制器设计6.4流水线技术6.5小结6.1CPU设计基本步骤CPU作为计算机系统的一部分,它的设计过程不应当独立进行,CPU的设计只是整个系统设计的一部分。CPU的功能是为系统的整体目标服务,它的组成与结构受系统的应用目标限制。第一步是确定CPU的应用场合(目标)。此步骤的关键是确定CPU所应具有的处理能力(功能),应保证与应用需求一致。设计举例第二步是拟定它将运行的程序类型,确定为完成所要求功能需要的指令,从而确定CPU指令集结构(ISA结构)。在完成指令集结构设计之后,根据指令集结构所确定的内容来进行设计CPU的各组成部件,以及用于连接各功能部件的数据通路结构。第三步确定CPU指令集中各指令的微操作信号的节拍安排,以明确CPU(主要是控制器)为完成取指令、指令译码和执行指令集中的每个指令所必须发出的微操作信号与指令、时间的关系。第四步形成微操作信号的逻辑表达式,该表达式的条件是指令、时间、状态等,而结果是控制信号。依据各控制信号的逻辑表达式,可采用组合逻辑设计法或微程序设计法获得控制器的逻辑电路图或微程序,并将控制器和其它组合到一起形成CPU。设计举例1996年,美国国家航空航天局(NASA)发射了一艘火星探路者号宇宙飞船,这只宇宙飞船用了7个月的时间航行才着陆到火星。一到达火星,它就放出了一个漫游机器人,叫做Sojouener,它用来探索探路者号飞船附近的表层,并且将读取的数据传回给宇宙飞船。然后探路者号飞船再将这些送回地球。1997年7月4日,探路者号飞船成功地到达了火星的表面。Sojouener只用了一个80C85微处理器控制整个操作。它运行的时钟速度为2MHz,但是该处理器并不是因为它的速度而被选中的。实际上,正是因为它能够执行所需功能,而且因为这一版本的8085微处理器能在远离大气层保护,辐射强烈的环境中正确地工作。6.2组合逻辑控制器设计6.2.1模型机基本设计6.2.2微操作节拍安排6.2.3模型机组合逻辑控制器设计6.2.1模型机基本设计模型机的设计目的:用于教学目的的计算机,其只需完成基本算术逻辑运算即可。ISA结构的设计内容如下:•指令类型,指令的数目、功能。•寻址方式,确定地址结构、各指令的操作数寻址方式。•寄存器,寄存器所占二进制位数、数目、功能、可见性(是否可编程访问)。•指令格式,指令字长、各字段的分配(操作码、寻址方式码、地址码)。指令类型类型硬件描述语言形式汇编形式注释数据传送类AC:=M(X)LDX将存储器内容读如到AC中M(X):=ACSTX将AC内容送入存储器中DR:=ACMOVDR,AC将AC内容送入到DRAC:=DRMOVAC,DR将DR内容送入到AC数据运算类AC:=AC+DRADD将AC+DR结果送入ACAC:=AC-DRSUB将AC-DR结果送入ACAC:=ACandDRAND将AC与DR进行“与”运算,结果送入ACAC:=notACNOT将AC的内容进行“非”运算,结果送入AC程序控制类PC:=M(adr)BRAadr将程序流程转移到adr单元所存内容所指位置IfAC=0thenPC:=M(adr)BZadr若AC=0则将程序流程转移到adr单元所存内容所指位置指令格式指令采用固定字长方式,同时指令中处理的数据长度与指令长度相同,均为32位。指令寻址方式采用直接寻址,数据寻址方式采用直接寻址和隐含寻址。程序控制单元用于生成连接数据处理单元和程序控制单元、以及在CPU与外部存储器之间的连接控制信号。操作码地址码03431模型机部件设置与数据通路结构CPU中寄存器的设置包括:IR(指令寄存器)用于存储当前正在执行指令;AR(存储器地址寄存器)用于存储预访问单元地址;PC(程序计数器)用于存储下条指令地址;DR(存储器数据寄存器)用于存储与存储器进行交互的数据;AC(累加器)根据指令系统结构可知寄存器组中可见寄存器为DR和AC,其余均为用于控制的不可见寄存器,标志寄存器在结构图中未标识。模型机的数据通路结构为单组内总线、分离寄存器结构。系统总线程序控制单元控制信号数据处理单元控制器IRARPCDRAC运算器指向M和I/O设备....模型机结构框图6.2.2微操作节拍安排节拍安排的目的:列出各条指令执行所需的微操作信号以及各操作信号与时序信号之间的关系。为提高指令的执行效率,应进行微操作的节拍顺序调整,微操作的节拍安排因遵循以下原则:微操作之间若次序有先后,安排时应保持其先后次序不变。若微操作使用不同的部件,可使其安排在同一节拍内。若不同微操作所占用的时间均不长,可以将它们安排在同一节拍的进行,且保持其先后顺序不变。模型机操作流程图模型机采用将指令周期划分成:取指工作周期和执行工作周期,在取指工作周期包括3个节拍,而执行周期根据指令复杂程度不同包含1–3个节拍。根据各条指令的功能和节拍安排原则,可形成下面模型机的操作流程图。AR:=PCDR:=M(AR)IR:=DR(OP)PC:=PC+1AR:=DR(X)DR:=M(AR)AC:=DRAR:=DR(X)DR:=ACM(AR):=DRDR:=ACAC:=DRAC:=AC+ARAC:=AC-DRAC:=ACandDRAC:=notACPC:=DR(adr)AC=0?LDXSTXMOVDR,ACMOVAC,DRADDSUBANDNOTBRAadrBZadrYesNo模型机控制点控制点的作用:用于功能的选择或数据流动的控制。数据的正确流动,确保指令功能的实现。系统总线控制信号控制器IRARPCDRAC运算器....存储器外部设备C0C1C2C3C4C5C6C7C8C9C10C11C12C13C14控制点与数据流控制的关系•功能选择用于对运算器(ALU)进行控制,实现控制ALU完成不同的数据处理。模型机功能选择信号:C2,C9,C10,C11,C12。•存储控制用于控制外存储器。模型机存储控制信号:C1,C8,C13C14。•数据通路控制用于控制数据通路中各控制点的开放和关闭状态的切换,实现数据、地址、指令等信息在CPU内部各个数据和控制寄存器之间进行传递。模型机数据通路控制信号:C0,C3,C4,C5,C6,C7。控制信号功能控制信号功能控制信号功能C0AR:=PCC5AR:=DR(adr)C10AC:=AC-DRC1DR:=M(AR)C6DR:=ACC11AC:=ACandDRC2PC:=PC+1C7AC:=DRC12AC:=notACC3PC:=DR(adr)C8M(AR):=DRC13IO/MRC4IR:=DR(OP)C9AC:=AC+DRC14IO/MW6.2.3模型机组合逻辑控制器设计组合逻辑控制器基本结构模型机的操作时间表组合逻辑控制器设计组合逻辑控制器的优缺点组合逻辑控制器基本结构组合逻辑控制器中的关键部分是组合逻辑电路,它将时序信号、指令译码结果、状态/条件等信息(信号)作为输入,通过组合逻辑电路的处理,形成相对应的控制信号,从而完成CPU的指令控制、操作控制和时间控制功能。组合逻辑电路IRLDSTBZ指令译码C0C1C2C14开始状态/条件(AC=0)时序信号……4模型机的操作时间表根据模型机指令操作流程图、指令功能、微操作安排原则和控制信号的设置情况,形成的操作时间表的作用是列出各指令所需的操作信号与节拍信号之间的关系。工作周期标志节拍状态条件控制信号LDXSTXMOVDR,ACMOVAC,DRADDSUBANDNOTBRAadrBZadrFE(取指)T0C01111111111C131111111111T1C11111111111T2C21111111111C411111111111→EX1111111111EX(执行)T0C511C131C141T1C11C61T2C711C81C61C91C101C111C121C31AC=0C31组合逻辑控制器设计产生C6信号的逻辑图根据操作时间表可以生成各控制信号的逻辑表达式如下:C0=FE•T0C1=FE•T1+EX•T1•LDC2=FE•T2C3=EX•T2•(BRA+BZ•(AC=0))C4=FE•T2C5=EX•T0•(LD+ST)C6=EX•T1•ST+EX•T2•MOV1C7=EX•T2•(LD+MOV2)C8=EX•T2•STC9=EX•T2•ADDC10=EX•T2•SUBC11=EX•T2•ANDC12=EX•T2•NOTC13=FE.T0+EX•T0•LDC14=EX•T0•ST在上述的逻辑表达式中,MOV1表示MOVDR,AC指令,MOV2表示MOVAC,DR指令。C6T1T2STMOV1EX组合逻辑控制器的优缺点在组合逻辑控制器的设计过程发现,组合逻辑控制器控制有以下两个缺点:组合逻辑控制器是由许多门电路产生控制信号,而各控制信号所需的门电路逻辑很不规整,因此组合逻辑控制器的核心部分比较繁琐、凌乱,设计效率较低,检查调试比较困难。改进方法是将程序设计技术引入到CPU机器的构成级,使设计规整化。组合逻辑控制因其使用逻辑门电路生成控制信号,设计结果被固定在印刷电路板上,使其不易修改和扩展。而且,在各个控制信号逻辑表达式中往往包含许多条件,其中一些逻辑变量可能在许多表达式公用的,修改一处就会牵动其他,因而很难修改。改进的方向是将程序存储思想引入CPU设计,取代用组合逻辑电路生成控制信号,而是将控制信号以数字代码的形式直接存入一个存储器中,只要修改所存储的代码即控制信号信息,就可以完成修改有关的功能和执行方式。组合逻辑控制器的优点是运行速度较快,因此目前应用于高速计算机和RISC处理器和巨型机中,以及规模较小的计算机中。6.3微程序控制器设计6.3.1微程序基本原理6.3.2微程序控制器基本结构6.3.3微指令格式设计6.3.4模型机微程序设计6.3.5实例:基于微代码的CPU:奔腾微处理器6.3.1微程序基本原理指令的执行是由一系列有序信号控制实现地,借鉴程序存储思想英国剑桥大学教授威尔克斯在1951年提出微程序控制设计思想,作为一种控制单元设计方法,其核心思想可以归纳成一下几点:•每一条机器指令的功能是通过微程序实现的;•微程序是作为一个实时指令解释器,即每一条机器指令对应一个由若干条微指令组成的微程序;•微程序中的每一条微指令与一组微操作对应(控制信号所对应的动作);•微指令的序列反映了为完成一条机器指令所应发出控制信号的先后次序;•微指令也采用二进制码的形式;•微程序的集合对应着一个特定的指令集或机器语言。6.3.1微程序基本原理微程序控制器的设计工作只要集中在以下几个方面:微指令格式设计,因为微指令采用二进制码的形式,所以必须为微指令拟就格式,以表示每一条微指令所对应的微操作。微程序编制,为每一条机器指令编写对应的微程序,根据机器指令所包含的微操作,确定每个微程序中的微指令以及次序,进而形成存入微程序控制器的微程序。作为一种设计活动,微程序的设计可与汇编语言程序设计相似。控制逻辑电路设计,微程序的执行和解释需要相应的控制逻辑电路,以实现微指令的读取,微指令地址的形成,微指令流程控制和由微指令形成控制信号。6.3.2微程序控制器基本结构1.控制存储器用于存储着与全部机器指令对应的微程序。2.微地址控制逻辑依据时间、条件、指令和下地址信息等信息,来形成下条微指令地址。3.微地址寄存器的作用与PC(指令计数器)相同,用于存储下一条微指令地址。4.微指令寄存器用于存储由控制存储器取出的微指令。5.微指令译码电路的作用是根据微指令用于生成控制信号。控制存储器(controlmemory)微指令寄存器(µIR)微地址控制逻辑微指令译码……控制信号指令条件与状态微指令下地址信息微地址寄存器(µPC)6.3.3微指令格式设计由于微指令是二进制码的形式而指令也是二进制码的形式,一个微指令一般也包括两部分:操作控制字段和下地址控制字段。操作控制下地址控制操作控制字段用于指出有那些控制信号被激活。下地址控制字段用于指出下一条待执行微指令在控制存储器中地址的本身或其计算方式。微指令
本文标题:六章CU设计
链接地址:https://www.777doc.com/doc-5964483 .html