版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章中央处理器体系结构设计4.1CPU的基本结构4.2CPU中的主要寄存器4.3控制器的结构4.4组合逻辑控制器设计4.5
微程序控制器设计4.6
流水线工作原理4.7
典型的处理器设计习题4第4章
中央处理器体系结构设计
从20世纪60年代早期,计算机行业开始使用中央处理器(CentralProcessingUnit,CPU)这个术语,做成单片集成电路的CPU通常又称为微处理器(Microprocessor,MPU)。(1)运算器
运算器(ArithmeticUnit,AU)是数据加工处理部件,其核心部件是算术逻辑单元(ArithmeticLogicalUnit,ALU)。(2)控制器
控制器(Controlunit,CU)是控制部件,完成对整个计算机系统操作的协调与指挥。(3)寄存器可用来暂存指令、数据和地址。在中央处理器的控制部件中,包含的寄存器有程序计数器(PC)和指令寄存器(IR);在中央处理器的算术及逻辑部件中,寄存器有累加器(ACC)。4.1CPU的基本结构4.2.1用户可见寄存器(1)通用寄存器(GeneralRegister,GR)
通用寄存器是那些可以根据自己的意愿使用的寄存器,修改他们的值通常不会对计算机的运行造成很大的影响。(2)数据寄存器(DataRegister,DR)
又称数据缓冲寄存器,存放操作数(满足各种数据类型),用以弥补CPU和主存、外设之间操作速度上的差异。4.2CPU中的主要寄存器(3)地址寄存器(AddressRegister,AR)用来保存CPU当前所访问的主存单元的地址。(4)条件码寄存器(ConditionCodeRegister,CCR)条件码寄存器又名状态寄存器,用来存放两类信息:一类是体现当前指令执行结果的各种状态信息(条件码),如有无进位(CF位)、有无溢出(OV位)、结果正负(SF位)、结果是否为零(ZF位)、奇偶标志位(P位)等。4.2.2控制和状态寄存器(1)程序计数器(ProgramCounter,PC)
程序计数器用来指出下一条指令在主存储器中的地址,作为控制寄存器,又称指令计数器、指令地址寄存器。(2)程序状态字寄存器(ProgramStatusWord,PSW)
又称为程序状态寄存器(ProgramStateRegister,PSR),用来存放各类控制信息,如:方向标志(DF)、允许中断(IF)、跟踪标志或陷井标志(TF)等,这些标志位通常用1位触发器来保存。在很多计算机上,PSW还能保存各种条件码CCR,如AF、CF、OF、PF、SF、ZF等。在有些机器中PSW被称为标志寄存器(FlagRegister,FR)。(3)指令寄存器(InstructionRegister,IR)
指令寄存器用来保存当前正在执行的一条指令。4.3.1指令执行的基本步骤(1)取指令(2)分析指令(3)执行指令
4.3控制器的结构取指阶段取指周期执行阶段执行周期(取指、分析)(执行指令)指令周期取指周期指令周期取指周期执行周期指令周期取指周期执行周期指令周期…NOPADDmemMULmem
具有间接寻址的指令周期往往会花费更多的时间。
图4.3具有间接寻址的指令周期
另外,控制器还会检查有无中断请求,若无,则形成下一条指令地址,转入下一条指令的执行过程。图4.4带有中断周期的指令周期取指周期间址周期指令周期执行周期取指周期间址周期指令周期执行周期中断周期
(2)中断周期的信息流在中断周期内需将程序断点(在PC中)保存起来,通常把断点存入堆栈。具体描述为:CU控制,(SP)−1→SP→MAR→地址线;CU发出写存储器命令;PC→MDR→数据线→存储器;CU将向量地址(硬件向量法)或中断识别程序入口地址(软件查询法)→PC。4.3.2控制器的组成图4.6控制器的基本组成框图4.3.3时序产生器和控制方式1时序系统主状态周期(指令周期):由若干个节拍周期组成,常用一个触发器的状态持续时间来表示。节拍:一个机器周期(CPU周期)可以等分成若干个更小的时间区间,即节拍,一个节拍对应一个电位信号。一个节拍电位信号可以控制一个或几个微操作的执行,其宽度取决于CPU完成一个基本操作的时间。脉冲:一个节拍电位内可以设置一个或几个节拍脉冲。节拍脉冲(时钟周期)表示更小的时间单位。节拍是一项基本操作所需的时间区间,而节拍的切换也需要设置一个或几个工作脉冲以完成同步定时。一个节拍电位往往包括几个节拍脉冲,用于寄存器的复位和接收数据等。(1)硬布线控制器中,时序信号往往采用主状态周期-节拍电位-节拍脉冲三级体制。图4.7主状态周期-节拍电位-节拍脉冲(2)微程序控制器中,时序信号则一般采用节拍电位-节拍脉冲二级体制。图4.8节拍电位-节拍脉冲图4.9时序信号产生器2控制方式(1)同步控制方式
任何指令的运行或指令中各个微操作的执行,均由确定的具有统一基准时标的时序信号所控制。即所有的操作均由统一的时钟控制,在标准的时间内完成。图4.10同步控制方式(2)异步控制方式
没有统一的同步信号,采用问答方式进行时序协调,将前一操作的回答信号作为下一操作的启动信号。图4.11异步控制方式(3)联合控制方式
同步控制和异步控制相结合的方式,又称准同步方式。联合控制方式通常的设计思想:在功能部件内部采用同步方式或以同步方式为主的控制方式;在功能部件之间采用异步方式。例如,对可以统一的微操作采用同步控制,对难以统一的微操作采用异步控制。
实际上现代计算机中几乎没有完全采用同步或完全采用异步的控制方式,大多数都采用联合控制方式。4.4.1组合逻辑控制器的设计原理4.4组合逻辑控制器设计(1)硬连线(Hard-wired)控制器图4.12硬连线控制器
早期设计计算机控制器的一种方法。把控制部件看作为产生专门固定时序控制信号的逻辑电路,以使用最少门电路和取得最高操作速度为设计目标。(2)门阵列(GateArray)控制器
门阵列控制器则使用大规模的与门、或门等可编程逻辑器件(ProgrammableLogicDevice,PLD)来实现上述随机逻辑,从而克服了前者的缺点。典型的门阵列器件包括:可编程逻辑阵列(ProgrammableLogicArray,PLA)、可编程阵列逻辑(ProgrammableArrayLogic,PAL)、复杂可编程逻辑器件(ComplexProgrammableLogicDevice,CPLD)和现场可编程逻辑门阵列(Field-ProgrammableGateArray,FPGA)等。4.4.2方框图语言与指令流程分析/数据通路分析
指令流程:指令的操作过程。
数据通路:信息传送的基本路径。矩形方框菱形箭头波浪线图4.13方框图语言基本元素矩形方框代表一个CPU周期,矩形方框中的内容表示数据通路的操作或某种控制操作。菱形通常用来表示某种判别或测试,不过时间上不单独占用一个CPU周期。指向方框图的箭头表示对其输入信号;从方框图出来的箭头表示输出。波浪线(有时候使用直线)表示开始公操作。图4.14某主机框图图4.15某单总线计算机结构IDIRPCR0R1MARMDRTEMPYZIRoutIRinPCoutPCinR0outR0inR1outR1inMARinMARoutMDRinTEMPoutTEMPinYin0→YZoutSUBAND1→CinZin主存ReadWrite…ADD【例4.5】
分析图4.19双总线结构的CPU中,总线连接器G可将总线B的信息直接传到F总线,其控制信号为Gon。设ALU的功能有:F=A+B(ADD),F=A-B(SUB),F=A+1(INC),F=A-1(DEC),F=A求指令SUBX(R0),(R7)+的指令流程和控制信号。IDIRPCR0R1MARMDRTEMPYGIR→BPC→BR0→BR1→BF→MARMAR→BTEMP→BF→YADDSUBA主存ReadWrite…R7R7→BABUSDBUSINCDECBGonF→TEMPF→MDRF→R7F→R1F→R0F→PCF→IRFB表4.2指令流分析图4.20某双总线结构机器4.4.3
MIPS的单周期设计方案(1)基本构件
ALUOp(两位):ALU控制器的输入有两组,一组是ALUOp,另一组是指令中最低6位的funct字段(即IR[5:0])。
ALUSrcB(两位):选择ALU第二个操作数的来源。ALUSrcB=00时,选择寄存器组的读出端RD2;ALUSrcB=01时,选择由指令低16位经符号位扩展的结果;ALUSrcB=10时,选择指令低16位做符号位扩展后再左移两位的结果。表4.3ALU控制器的输入/输出之间的真值表图4.23模型机的单周期数据通路根据真值表,列出各输出信号的表达式。例如:4.4.4
MIPS的多周期设计方案解决上述问题的方法:采用多周期方案对图4.23进行改造增设临时寄存器存放该部件产生且下一个时钟周期要用的结果。IR(指令寄存器)——存放从指令存储器读出的指令;LMD——存放从数据存储器读出的数据;访存读取的数据来不及在同一个时钟周期中写入寄存器组。A和B——分别存放从寄存器组读出的两个数据;ALUo——存放ALU的运算结果;cond(1位)——存放判0部件“=0?”的结果。图4.24模型机多周期实现的数据通路表4.5MIPS指令的多周期操作周期名称R类指令Op=“R类”存储器访问指令Op=“lw”或Op=“sw”分支指令Op=“beqz”取指令(IF)操作:IR
IM[PC]PC+4控制信号:IRWrite=1指令译码/读寄存器(ID)操作:A
Regs[rs]B
Regs[rt]Imm
(IR[15:0]按符号位扩展为32位数)控制信号:不需要执行/有效地址计算(EX)操作:ALUo
AfunctB控制信号:ALUSrcA=1ALUSrcB=00ALUOp=10操作:ALUo
A+Imm控制信号:ALUSrcA=1ALUSrcB=01ALUOp=00操作:ALUo
PC+Imm<<2)cond
(A==0)控制信号:ALUSrcA=0ALUSrcB=10ALUOp=00周期名称R类指令Op=“R类”存储器访问指令Op=“lw”或Op=“sw”分支指令Op=“beqz”存储器访问/R类和分支指令完成(MEM)操作:
Regs[rd]
ALUo控制信号:DMtoReg=0RegDst=1RegWrite=1load指令:操作:LMDDM[ALUo]控制信号:DMRead=1store指令:操作:
DM[ALUo]
B控制信号:DMWrite=1操作:
If(cond&Branch)
PC
ALUoelsePCPC+4控制信号:Branch=1 PCWrite=1写回(WB)操作:load指令:Regs[rt]
LMD控制信号:DMtoReg=1RegDst=0RegWrite=14.4.5
MIPS控制器的设计[例4.7]MIPS处理机指令系统如表4.6所示,试使用方框图语言设计其CPU状态图。图4.29MIPS总状态图
根据上述逻辑表达式和图4.29,可以得到各控制信号的逻辑表达式。使用指令译码器和一个计数器及其译码器来形成各状态的时序。4.5.1微程序控制器的设计原理4.5微程序控制器设计微指令(microinstruction)
在一个CPU周期中,共同实现某一操作功能的微命令的集合构成一条微指令。微命令(microorder)
是微程序控制器通过控制线向执行部件发出的微操作控制信号。例如,模型机中的PC→BUS1、R0→BUS1、CPIR。微操作(microoperation)
由微命令控制实现的最基本操作,其定义可大可小。微地址(microaddress)
是微指令存放于控存中的地址。微周期(microperiod)
指从控制存储器中读取一条微指令,并执行相应的微操作所需的时间,一般为一个时钟周期。图4.324.5.2微程序控制器的组成44增量图4.33某CPU4.5.3微程序控制器设计步骤(1)设计微程序
设计微程序,就是确定微程序流程图,也就是控制算法流程图。微程序流程图中的一条微指令,相当于ASM流程图中的一个状态。(2)确定微指令格式和执行方式
根据机器的微命令、微控制信号等具体情况决定是采用水平微指令格式还是垂直微指令格式,微指令是串行方式执行还是并行方式执行等。(3)编制微程序(4)写入程序将二进制表示的全部微程序写入控制存储器(E2PROM中)。(5)设计硬件电路
包括微地址寄存器、微命令寄存器和地址转移逻辑三部分。4.5.4微指令的编译方法
通用的微指令编译方法有:(1)直接控制法(不译法)
微指令操作控制字段的每一位都直接表示一个微命令,该位为“1”,表示执行这个微命令,为“0”表示不执行该微命令。由于这种方法不需译码,所以也称不译法。(2)最短编码法将所有的微命令进行统一编码,每条微指令只定义一个微命令。(3)字段直接编码法将微指令操作控制字段划分为若干个子字段,每个子字段的所有微命令进行统一编码。因此在这种方法中,不同的子字段的不同编码,表示不同的微命令。(4)字段间接编码法字段间接编码法:指一个字段的某一编码的意义由另一字段的编码来定义。也就是一个字段的编码不能直接独立地定义微命令,它必须与其它字段的编码联合定义。(5)常数源字段的设置在微指令字中,通常还设置一个常数源字段,如同指令字中的立即数一样,用来提供某些常数,如给计数器置初值,为某些数据提供修改量,配合形成微程序转移微地址等。除上述几种编码方法之外,还有其它一些方法。如分类编码法:将机器指令根据操作类型分为几类,如算术逻辑运算指令、访主存指令、I/O指令及其它指令,不同的指令可以采用不同的微指令格式。在实际机器中,微指令往往采用几种编码方法。4.5.5微程序的顺序控制方式微程序的初始微地址(微程序的入口地址):微程序中第一条微指令所对应的控存单元地址。现行微指令:微程序执行过程中,当前正在执行的微指令。现行微地址:现行微指令所在控存单元的微地址。后继微指令:现行微指令执行完毕后,要执行的下一条微指令。后继微地址:后继微指令所在控存单元的微地址。(1)初始微地址的形成机器指令从主存取到IR以后,要由机器指令操作码转换为该指令所对应的微程序入口地址,即形成初始微地址。
初始微地址的几种形成方式:一级功能转移一级功能转移:根据指令操作码,直接转移到相应微程序的入口,即指令操作码直接参与形成微程序的入口地址。
二级功能转移
如果机器指令的操作码的位数和位置不固定,则需采用二级功能转移。用PLA电路实现功能转移
将指令操作码作为可编程逻辑阵列PLA的输入,PLA的输出就是相应微程序入口地址。这种方法对于变长度、变位置的操作码尤为有效,而且转移速度较快。[例4.10]设有I0、I1、…、I7共8条指令,其操作码分别为000、001、…、111,对应的微程序入口地址分别为020H、031H、…、146H。可用PLA实现微程序入口地址的寻址。(2)后继微地址的形成
每条微指令执行完毕,都要根据要求形成后继微地址,以保证微程序的正常执行。主要有两种基本类型:增量方式和断定方式。增量方式
微地址的控制方式与程序地址控制方式相似,也有顺序执行、转移、转子之分。增量方式的特点是:简单,编制微程序容易,但不能实现多路转移。当需多路转移时,通常采用断定方式。断定方式后继微地址可由设计者指定或由设计者指定的测试判定字段控制产生。采用断定方式可以实现快速多路转移,适合于功能转移的需要。缺点是编制微程序时,地址安排比较复杂,微程序执行顺序不直观。在实际机器中,往往增量方式与断定方式混合使用。[例4.11]某机的微指令格式和判定条件如下:
μIR表4.7A、B为两个判定条件OCF微地址高位ABA
断定微地址低位B断定微地址低位000→μMAR1000→μMAR0011→μMAR1011→μMAR010C→μMAR110V→μMAR011Z→μMAR111S→μMAR0图4.39某微程序流程图表4.7微指令的地址分配图4.40微地址形成电路4.5.6微指令的执行方式(1)串行执行方式
在一条微指令取出并执行完毕后,才能取下一条微指令。(2)并行执行方式
将取指令操作和执行微指令操作重叠起来。4.5.7微指令格式的设计方法(1)水平型微指令水平型微指令一般由控制字段、判别测试字段和下地址字段等3部分组成。①微指令字较长,定义的微命令较多。②微指令中微操作并行能力强。③微指令编码简单。④编制的微程序短,效率高,微程序的执行速度快。⑤所需控制存储器的纵向容量小。⑥微指令字比较长,增加了控制存储器的横向容量。⑦微指令长,定义的微命令多,使微程序编制困难、复杂,也不易实现设计自动化。控制字段
判别测试字段
下地址字段
(2)垂直型微指令一次只能控制信息从源部件到目的部件的一、两种信息传送过程。
垂直型微指令的特点:①微指令字短,一般为10~20位左右,使控制存储器的横向容量少。②微指令直观、规整、易于编制微程序,易于实现设计自动化。③微指令字的微操作并行能力弱,一条微指令定义的微操作少,编制的微程序长,要求控存的纵向容量大。④微指令编码复杂,微操作码字段需经过完全译码产生微命令,微指令的各个二进制位与数据通路的各个控制点之间不存在直接对应关系,执行速度较慢、效率较低。图4.43毫微程序控制器(3)毫微程序
毫微程序的设计思想:将水平和垂直两种微程序设计结合起来。
毫微程序控制器中有两个控制存储器:微程序控制存储器(μCM),用于存放垂直微程序;毫微程序控制存储器(nCM),用于存放毫微程序。
4.5.8微程序设计技术的应用固件技术的发展
固件(firmware):是具有软件功能的硬件,即存放于只读存储器中的各类微程序。微程序仿真
微程序仿真:指用一台计算机的微程序解释执行另一台计算机的指令系统,使本来不兼容的计算机之间具有程序兼容的能力。【例4.14】
按照图4.44所示的数据通路,所有26个控制信号均标注在各子系统的侧面,假定测试判别字段有2位,下址字段共4位。请设计微指令格式及微程序控制器的基本方案。图4.44数据通路图4.45微指令格式4.6.1指令的执行方式
根据各条指令之间的衔接关系,指令的执行可分为顺序、重叠、流水三种方式。对于指令的执行,可有几种控制方式:顺序方式、重叠方式、先行控制。(1)顺序方式所谓顺序方式是指各条指令之间是顺序串行执行的。(2)重叠方式指前一条指令的解释执行完成之前,就开始下一条指令的解释执行。图4.48(a)和(b)分别示出了两种不同的重叠情况。4.6流水线工作原理图4.47顺序方式图4.48重叠方式流水方式是重叠方式的进一步发展,采用类似生产流水线方式控制指令的解释执行。t0t0t0t0t0t0t0(a)一次重叠方式(b)二次重叠方式主存存储器控制器先行指令栈先行读数栈指令分析器后行写数栈运算控制器运算器取指读数写数先行操作栈通用寄存器组通道(3)先行控制时间0t1t2t3t4t5t6t7t8t9
t10
t11
t12
空间指令执行
指令分析111222
取指(a)顺序执行 (b)一次重叠时间0t1t2t3t4t5t6t7t8t9
t10t11t12
空间指令执行
指令分析111222
取指时间0t1t2t3t4t5t6t7t8t9t10
t11
t12
空间指令执行
指令分析111222
取指333(c)二次重叠(d)先行控制图4.51四种方式工作时的时空图时间0t1t2t3t4t5t6t7t8t9
t10t11t12
空间指令执行
指令分析111222
取指3334.6.2流水线的分类(1)按处理级别分类
操作部件级流水线是将复杂的运算过程组成流水线工作方式;指令级流水线则将指令的整个执行过程分为若干个子过程;处理机级流水线是一条宏流水线。(2)按功能分类
单功能流水线只完成一种功能,如乘法流水线。多功能流水线可完成两种以上功能,控制也更复杂。(3)按工作方式分类
静态流水线在同一时间内只能以一种方式工作。动态流水线则允许在同一时间内将不同的功能段组合成具有多种功能的流水子集。(4)按流水线结构分类
线性流水线规定流水线的每个功能段在处理流水任务时,最多只经过一次,没有反馈回路。非线性流水线则允许流水线的功能段可以通过反馈回路多次被使用。4.6.3线性流水线的性能(1)流水线时空图图4.54流水线时空图取指译码执行访存写回输入输出s1s2s3s4s5IFIDEXMEMWB(2)流水线主要指标1)吞吐率(TP)吞吐率是指单位时间内流水线能完成的指令数、任务数和输出结果数量。2)加速比(SP)加速比是指采用流水线后的工作速度与等效的顺序串行方式的工作速度之比。3)效率(η)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高考物理总复习专题八恒定电流实验九测定电源的电动势和内阻练习含答案
- 草莓购买合同
- 江苏地区高一年级信息技术一年教案7资源管理器教案
- 江苏地区高一年级信息技术一年教案26 IF语句教案
- 2024年高中政治 第一单元 公民的政治生活 第二课 我国公民的政治参与 3 民主管理:共创幸福生活教案1 新人教版必修2
- 2024-2025学年新教材高中物理 第七章 万有引力与宇宙航行 4 宇宙航行(1)教案 新人教版必修2
- 2024-2025学年新教材高中地理 第3章 天气的成因与气候的形成 第2节 气压带、风带对气候的影响教案 中图版选择性必修第一册
- 高考地理一轮复习第十二章环境与发展第二节中国国家发展战略课件
- 宝宝防疫针委托书
- 人教A版广东省深圳实验学校高中部2023-2024学年高一上学期第三阶段考试数学试题
- 社会网络分析:大数据揭示社交网络结构与趋势
- 抗癌必修课胰腺癌
- 行政诉讼法知识讲座
- 充电桩采购安装投标方案(技术方案)
- 《带状疱疹》课件
- 旅游定制师行业分析
- 法律资料特种设备法律法规与事故案例培训
- 成立分公司计划书
- Unit+8大单元教学整体单元分析 人教版九年级英语全册
- 《宿舍卫生班会》课件
- 浙江省绍兴市诸暨市2023-2024学年七年级数学上学期期末试卷
评论
0/150
提交评论