《六章CPU设计讲解材料》由会员分享,可在线阅读,更多相关《六章CPU设计讲解材料(66页珍藏版)》请在金锄头文库上搜索。
1、第六章CPU设计,6.1 CPU设计基本步骤 6.2 组合逻辑控制器设计 6.3 微程序控制器设计 6.4 流水线技术 6.5 小结,6.1 CPU设计基本步骤,CPU作为计算机系统的一部分,它的设计过程不应当独立进行,CPU的设计只是整个系统设计的一部分。CPU的功能是为系统的整体目标服务,它的组成与结构受系统的应用目标限制。 第一步是确定CPU的应用场合(目标)。此步骤的关键是确定CPU所应具有的处理能力(功能),应保证与应用需求一致。设计举例 第二步是拟定它将运行的程序类型,确定为完成所要求功能需要的指令,从而确定CPU指令集结构(ISA结构)。在完成指令集结构设计之后,根据指令集结构所
2、确定的内容来进行设计CPU的各组成部件,以及用于连接各功能部件的数据通路结构。 第三步确定CPU指令集中各指令的微操作信号的节拍安排,以明确CPU(主要是控制器)为完成取指令、指令译码和执行指令集中的每个指令所必须发出的微操作信号与指令、时间的关系。 第四步形成微操作信号的逻辑表达式,该表达式的条件是指令、时间、状态等,而结果是控制信号。依据各控制信号的逻辑表达式,可采用组合逻辑设计法或微程序设计法获得控制器的逻辑电路图或微程序,并将控制器和其它组合到一起形成CPU。,设计举例,1996年,美国国家航空航天局(NASA)发射了一艘火星探路者号宇宙飞船,这只宇宙飞船用了7个月的时间航行才着陆到火
3、星。一到达火星,它就放出了一个漫游机器人,叫做Sojouener,它用来探索探路者号飞船附近的表层,并且将读取的数据传回给宇宙飞船。然后探路者号飞船再将这些送回地球。1997年7月4日,探路者号飞船成功地到达了火星的表面。Sojouener只用了一个80C85微处理器控制整个操作。它运行的时钟速度为2MHz,但是该处理器并不是因为它的速度而被选中的。实际上,正是因为它能够执行所需功能,而且因为这一版本的8085微处理器能在远离大气层保护,辐射强烈的环境中正确地工作。,6.2 组合逻辑控制器设计,6.2.1 模型机基本设计 6.2.2 微操作节拍安排 6.2.3 模型机组合逻辑控制器设计,指令类
4、型,指令格式,指令采用固定字长方式,同时指令中处理的数据长度与指令长度相同,均为32位。 指令寻址方式采用直接寻址,数据寻址方式采用直接寻址和隐含寻址。 程序控制单元用于生成连接数据处理单元和程序控制单元、以及在CPU与外部存储器之间的连接控制信号。,模型机部件设置与数据通路结构,CPU中寄存器的设置包括:IR(指令寄存器)用于存储当前正在执行指令;AR(存储器地址寄存器)用于存储预访问单元地址;PC(程序计数器)用于存储下条指令地址;DR(存储器数据寄存器)用于存储与存储器进行交互的数据;AC(累加器)根据指令系统结构可知寄存器组中可见寄存器为DR和AC,其余均为用于控制的不可见寄存器,标志
5、寄存器在结构图中未标识。模型机的数据通路结构为单组内总线、分离寄存器结构。,模型机结构框图,6.2.2 微操作节拍安排,节拍安排的目的:列出各条指令执行所需的微操作信号以及各操作信号与时序信号之间的关系。 为提高指令的执行效率,应进行微操作的节拍顺序调整,微操作的节拍安排因遵循以下原则: 微操作之间若次序有先后,安排时应保持其先后次序不变。 若微操作使用不同的部件,可使其安排在同一节拍内。 若不同微操作所占用的时间均不长,可以将它们安排在同一节拍的进行,且保持其先后顺序不变。,模型机操作流程图,模型机采用将指令周期划分成:取指工作周期和执行工作周期,在取指工作周期包括3个节拍,而执行周期根据指
6、令复杂程度不同包含13个节拍。根据各条指令的功能和节拍安排原则,可形成下面模型机的操作流程图。,模型机控制点,控制点的作用: 用于功能的选择或数据流动的控制。数据的正确流动,确保指令功能的实现。,控制点与数据流控制的关系,功能选择用于对运算器(ALU)进行控制,实现控制ALU完成不同的数据处理。模型机功能选择信号:C2 ,C9 ,C10 ,C11 ,C12。 存储控制用于控制外存储器。模型机存储控制信号:C1 ,C8 ,C13 C14。 数据通路控制用于控制数据通路中各控制点的开放和关闭状态的切换,实现数据、地址、指令等信息在CPU内部各个数据和控制寄存器之间进行传递。模型机数据通路控制信号:
7、C0 ,C3 ,C4 ,C5 ,C6 ,C7。,6.2.3 模型机组合逻辑控制器设计,组合逻辑控制器基本结构 模型机的操作时间表 组合逻辑控制器设计 组合逻辑控制器的优缺点,组合逻辑控制器基本结构,组合逻辑控制器中的关键部分是组合逻辑电路,它将时序信号、指令译码结果、状态/条件等信息(信号)作为输入,通过组合逻辑电路的处理,形成相对应的控制信号,从而完成CPU的指令控制、操作控制和时间控制功能。,模型机的操作时间表,根据模型机指令操作流程图、指令功能、微操作安排原则和控制信号的设置情况,形成的操作时间表的作用是列出各指令所需的操作信号与节拍信号之间的关系。,组合逻辑控制器设计,产生C6信号的逻
8、辑图,根据操作时间表可以生成各控制信号的逻辑表达式如下:,C0FET0 C1FET1+EXT1LD C2FET2 C3EXT2(BRA+BZ(AC=0) C4FET2 C5EXT0(LD+ST) C6EXT1ST+EXT2MOV1 C7EXT2(LD+MOV2) C8EXT2ST C9EXT2ADD C10EXT2SUB C11EXT2AND C12EXT2NOT C13FE.T0+ EXT0LD C14EXT0ST 在上述的逻辑表达式中,MOV1表示MOV DR,AC指令,MOV2表示MOV AC,DR指令。,组合逻辑控制器的优缺点,在组合逻辑控制器的设计过程发现,组合逻辑控制器控制有以下两
9、个缺点: 组合逻辑控制器是由许多门电路产生控制信号,而各控制信号所需的门电路逻辑很不规整,因此组合逻辑控制器的核心部分比较繁琐、凌乱,设计效率较低,检查调试比较困难。改进方法是将程序设计技术引入到CPU机器的构成级,使设计规整化。 组合逻辑控制因其使用逻辑门电路生成控制信号,设计结果被固定在印刷电路板上,使其不易修改和扩展。而且,在各个控制信号逻辑表达式中往往包含许多条件,其中一些逻辑变量可能在许多表达式公用的,修改一处就会牵动其他,因而很难修改。改进的方向是将程序存储思想引入CPU设计,取代用组合逻辑电路生成控制信号,而是将控制信号以数字代码的形式直接存入一个存储器中,只要修改所存储的代码即
10、控制信号信息,就可以完成修改有关的功能和执行方式。 组合逻辑控制器的优点是运行速度较快,因此目前应用于高速计算机和RISC处理器和巨型机中,以及规模较小的计算机中。,6.3 微程序控制器设计,6.3.1 微程序基本原理 6.3.2 微程序控制器基本结构 6.3.3 微指令格式设计 6.3.4 模型机微程序设计 6.3.5 实例:基于微代码的CPU:奔腾微处理器,6.3.1 微程序基本原理,指令的执行是由一系列有序信号控制实现地,借鉴程序存储思想英国剑桥大学教授威尔克斯在1951年提出微程序控制设计思想,作为一种控制单元设计方法,其核心思想可以归纳成一下几点:,每一条机器指令的功能是通过微程序实
11、现的; 微程序是作为一个实时指令解释器,即每一条机器指令对应一个由若干条微指令组成的微程序; 微程序中的每一条微指令与一组微操作对应(控制信号所对应的动作); 微指令的序列反映了为完成一条机器指令所应发出控制信号的先后次序; 微指令也采用二进制码的形式; 微程序的集合对应着一个特定的指令集或机器语言。,6.3.1 微程序基本原理,微程序控制器的设计工作只要集中在以下几个方面: 微指令格式设计,因为微指令采用二进制码的形式,所以必须为微指令拟就格式,以表示每一条微指令所对应的微操作。 微程序编制,为每一条机器指令编写对应的微程序,根据机器指令所包含的微操作,确定每个微程序中的微指令以及次序,进而
12、形成存入微程序控制器的微程序。作为一种设计活动,微程序的设计可与汇编语言程序设计相似。 控制逻辑电路设计,微程序的执行和解释需要相应的控制逻辑电路,以实现微指令的读取,微指令地址的形成,微指令流程控制和由微指令形成控制信号。,6.3.2 微程序控制器基本结构,1控制存储器用于存储着与全部机器指令对应的微程序。 2微地址控制逻辑依据时间、条件、指令和下地址信息等信息,来形成下条微指令地址。 3微地址寄存器的作用与PC(指令计数器)相同,用于存储下一条微指令地址。 4微指令寄存器用于存储由控制存储器取出的微指令。 5微指令译码电路的作用是根据微指令用于生成控制信号。,6.3.3 微指令格式设计,由
13、于微指令是二进制码的形式而指令也是二进制码的形式,一个微指令一般也包括两部分:操作控制字段和下地址控制字段。,操作控制字段用于指出有那些控制信号被激活。下地址控制字段用于指出下一条待执行微指令在控制存储器中地址的本身或其计算方式。,微指令格式设计主要解决以下几个问题: 操作控制编码方式 微指令类型 下地址控制编码方式 动态微程序设计 微操作同步定时,操作控制编码方式,在操作控制字段一般包括一个或多个操作控制域,每个控制域可控制一个或一组控制信号的生成,根据控制信号是直接生成于控制域还是译码生成控制信号的不同可分为以下几种形式。 直接控制法:操作控制字段的每一位都与一个独立控制信号相对应。若当前
14、微指令的某一位ki=1,则与之对应ci控制信号有效,否则ci控制信号无效。 分段编码控制法:在微程序级别,许多微操作是可以并行执行。一般采用将微指令的操作控制字段分成k个相互独立的控制域,每一个控制域存储一组微操作,每一种编码对应一个微操作,每一个微操作都可以与其它控制域所存储的任意一个微操作并行执行,但在组内的微操作之间是互斥的,不允许在同一时间段内发生或有效。 分段间接编码控制法:在微指令格式里,如果一个字段的含义不只决定本字段编码,还兼由其他字段决定,则可采用分段间接编码控制法。此时一个字段兼有两层或两层以上的含义。分段间接编码控制法的示意图。 其它方式:在实际微指令中操作控制编码并不是
15、只单独采用上述三种编码方式中的一种,而是将上述三种混合使用,以保证能综合考虑指令的字长、灵活性和执行微程序的速度等方面的要求。,分段间接编码控制法的示意图,微指令类型,微指令格式一般分为两种类型:水平型和垂直型。 水平型微指令有如下特点:指令字比较长;能表达较高程度的微操作并行性;微操作控制信号编码的量比较小。 垂直型微指令有如下特点:指令字长比较短;表达微操作并行程度的能力较低;要进行比较多的操作控制信号的编码。 垂直型微指令在很大程度上与RISC指令相类似,都尽量减少并行性,而保证单周期执行的形式。但是计算机也经常被设计成与水平型微指令相似的形式,具有较长指令字和更高并行性的形式。,下地址
16、控制编码方式,一般情况下后继微指令的地址有以下几种给出方式: 顺序递增法:将PC设置成可实现自动加1的功能,每当完成当前指令的执行,就以PC +1后的值为地址在控制存储器中取下一条微指令。 直接给出法:下一条微指令的地址直接取自微指令中的下地址字段。 分支转移法:在包含分支转移的微指令中常设置一个条件选择子区域,用于指出哪些判定条件被测试,与此同时转移地址被存储在下地址字段。当转移条件满足时,将下地址字段的内容读入到PC中,取下一条微指令,实现微程序转移。若转移条件不满足,微程序则顺序执行。 微程序入口地址的形成:每条机器指令所对应的微程序的入口地址(首地址),一般由指令的操作码所决定。在机器加电后,第一条微指令的地址一般是由专门的逻辑电路生成,也可以采用由外部直接输入的形式获得。,动态微程序设计,通常计算机的指令系统中指令的类型和数量是固定,而与其对应的微程序也应当是保持不变的。但是如果采用EPROM作为控制存储器,设计者可以通过更改控制存储器所存储