第10章控制单元设计_第1页
第10章控制单元设计_第2页
第10章控制单元设计_第3页
第10章控制单元设计_第4页
第10章控制单元设计_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

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

文档简介

第十章控制单元设计计算机组成原理2006年8月28日10.1组合逻辑设计以这种设计方式,CU本质上是一个组合逻辑电路,它将输入逻辑信号转换为一组输出控制信号,又称为硬连线方式。10.1.1设计方法1.列出微操作序列的操作时间表每一条指令都可分解为一个微操作序列。由前已写出的几条指令的微操作序列可看出,每个微操作控制信号的产生由指令的操作码,寻址方式、时序信号、状态条件等决定。根据这些条件即可构成产生每一个控制信号的逻辑电路。图10.1所示为产生ALU→LT的电路示意。将这些电路集中起来,就构成了控制单元CU。但是,因为不同指令的微操作序列中有相同的控制信号,因此,需将相同的控制信号综合在一起。&FTP0图10-1产生ALULT电路例如:BUS→MAR控制信号,参照上章的几条微操作序列,找出出现BUS→MAR的地方和条件有:公操作:FTP0ADDDTP0(MD=1)

SUBSTP0(MS=2)

DTP0(MD=4)

DTP1(MD=4)

INCDTP0(MD=3)

DTP0(MD=3)2.综合合并产生单一控制信号的逻辑表达式BUS→MAR=FTP0+DTP0ADD(MD=1)+STP0SUB(MS=2)+DTP0SUB(MD=4)+DT’P1SUB(MD=4)+P0INC(MD=3)+DT’P0INC(MD=3)+……类似有1C0=FTP0+STP0SUB(MS=2)+DTP0SUB(MD=4)+DTP0INC(MD=3)+ETP0INC+ETP0JMP(MS=2)+……从上面的例子可以看出,微操作控制信号是周期、节拍、指令码及其他条件的函数。上面写出的微操作控制信号的逻辑表达式是根据仅有的几条指令写出的,如果指令条数增多,其逻辑表达式可能还要长。实际机器指令往往有几十条到几百条,所在整个机器的微操作控制信号很多,而且每个微操作信号的逻辑表达式中包含的项数也很多。所以,还须进行逻辑化简、整理、以得到最简的合理表达式。3.化简问题,可采用“数字逻辑”课程中介绍的各种方法。化简的目的,一是减少引线,减少元器件数,使成本最低;二是使逻辑级数最少,以减少延迟时间,提高速度。4.逻辑实现经过化简以后的逻辑表达式即可用逻辑电路实现。图10.2是产生BUS→MAR的逻辑电路示意图。

图5.31硬布线控制器结构方框图来自指令操作码(OP)译码器的输出Im;

来自执行部件的反馈信息Bj来自时序产生器的时序信号,包括节拍电位信号M和节拍脉冲信号T

逻辑网络N的输出信号就是微操作控制信号,它用来对执行部件进行控制。

硬布线控制器的基本原理:C=f(Im,Mi,Tk,Bj)1、组合逻辑控制单元框图(1).CU外特性CU由组合逻辑网络组成,可以是组合逻辑电路或PLA等。它的输入信号主要有:(1)指令译码器输出。包括指令OP和寻址方式译码器输出。因为不同指令需要不同的微操作控制信号,必须由当前执行的指令的OP决定。同时,在执行不同寻址方式取不同操作数时,应有寻址方式决定执行相应的微操作。(2)时序信号,当指令处于不同的时间段时,执行不同的操作,则CU也必须受周期、节拍信号的控制。(3)标志,由PSW给出,CU需要一些标志来决定CPU应该发出哪些控制信号。组合逻辑网络的输出即为微操作控制信号(微命令)。指令执行过程:机器加电后产生的Reset信号将要执行的第一条指令的地址装入PC,并且将FT周期触发器置1。当复位信号结束后,开放时钟,节拍发生器产生节拍信号,CU则根据周期触发器状态,节拍信号产生取指令所需的各个微命令,完成将第一条指令取出送到IR。同时PC+1→PC,准备好下一条指令的地址。然后根据取出的指令进行相应的操作,具体完成本条指令的功能。

·逻辑网络的输入信号来源:

①来自指令操作码的译码输出信号Im;

②来自执行部件的操作反馈信息Bj;

③来自时序产生器的时序信号:·节拍电位(CPU周期)信号Mi

·节拍脉冲(时钟脉冲)信号Tk

·逻辑网络的输出信号:

①微操作控制信号Cn---对执行部件进行操作控制;

②其他控制信号---根据条件变量改变时序发生器的计数顺序,以缩短指令周期。∴微操作控制信号Cn是Im、Mi、Tk和Bj的函数,即:

Cn=f(Im,Mi,Tk,Bj)

(2)节拍信号CLKT0T1T2T3时钟周期机器周期机器周期T0T1T2T3T0T1T2T3

2.微操作的节拍安排采用

同步控制方式CPU内部结构采用非总线方式一个

机器周期

内有

3

个节拍(时钟周期)

MDRPC

MARIRACCU时钟ALU………C1C2C5C9C0C10C3C7C4C6C12C11C8控制信号标志控制信号

(1).安排微操作时序的原则原则一微操作的先后顺序不得随意更改原则二被控对象不同的微操作尽量安排在一个节拍内完成原则三占用时间较短的微操作尽量安排在一个节拍内完成并允许有先后顺序(2).取指周期微操作的节拍安排PCMARM(MAR)MDRMDRIR(PC)+1PC原则二原则二原则三(3).间址周期微操作的节拍安排M(MAR)MDRMDRAd(IR)T0T1T2T0T1T21ROP(IR)IDAd(IR)MAR1R(4).执行周期微操作的节拍安排①CLA②COM

③SHRT0T1T2T0T1T2T0T1T2AC0AC0L(AC)R(AC)0ACACAC④CSL⑤STP⑥ADDX⑦STAXR(AC)L(AC)AC0ACnT0T1T20GT0T1T2T0T1T2T0T1T2Ad(IR)MARM(MAR)MDR

(AC)+(MDR)ACAd(IR)MARACMDRMDRM(MAR)1R1W⑧LDAX⑨JMPX⑩BANXT0T1T2Ad(IR)MARM(MAR)MDRMDRACT0T1T2T0T1T2Ad(IR)PC1RA0•Ad(IR)+A0•

PCPC(5).中断周期微操作的节拍安排T0T1T20MARPCMDRMDRM(MAR)硬件关中断向量地址PC中断隐指令完成1W3、组合逻辑设计步骤(1).列出操作时间表T2T1T0

FE取指JMPLDASATADDCOMCLA微操作命令信号状态条件节拍工作周期标记PCMAR1RM(MAR)MDR(PC)+1PCMDRIROP(IR)ID1IND1EXII间址特征

组合逻辑设计步骤列出操作时间表T2T1T0

IND

间址JMPLDASATADDCOMCLA微操作命令信号状态条件节拍工作周期标记Ad(IR)MAR1RM(MAR)MDRMDRAd(IR)1EXIND间址周期标志T2T1T0

EX执行JMPLDASATADDCOMCLA微操作命令信号状态条件节拍工作周期标记Ad(IR)MAR1RM(MAR)MDRACMDR(AC)+(MDR)ACMDRM(MAR)MDRAC0AC组合逻辑设计步骤列出操作时间表1W组合逻辑设计步骤列出操作时间表T2T1T0

FE取指JMPLDASATADDCOMCLA微操作命令信号状态条件节拍工作周期标记PCMAR1RM(MAR)MDR(PC)+1PCMDRIROP(IR)ID1IND1EXII1111111111111111111111111111111111111111111111组合逻辑设计步骤列出操作时间表T2T1T0

IND

间址JMPLDASATADDCOMCLA微操作命令信号状态条件节拍工作周期标记Ad(IR)MAR1RM(MAR)MDRMDRAd(IR)1EXIND11111111111111111111组合逻辑设计步骤列出操作时间表T2T1T0

EX执行JMPLDASATADDCOMCLA微操作命令信号状态条件节拍工作周期标记Ad(IR)MAR1RM(MAR)MDRACMDR(AC)+(MDR)ACMDRM(MAR)MDRAC0AC1W1111111111111(2).写出微操作命令的最简表达式=FE

·T1+IND·T1(ADD+STA+LDA+JMP+BAN)+EX·T1(ADD+LDA)M(MAR)MDR=T1{FE+IND(ADD+STA+LDA+JMP+BAN)+EX(ADD+LDA)}(3).画出逻辑图特点

思路清晰简单明了

庞杂调试困难修改困难

速度快&&&11&&&&&≥FEINDEXLDAADDJMPBANSTAT1M(MAR)MDR(RISC)&&10.2微程序设计CU采用组合逻辑设计,因微操作控制信号全部由硬件产生,所以速度快,可用于构成高速的RISC机和巨型机。它的缺点:(1)逻辑实现复杂(2)不易扩展和修改。采用微程序设计方法可克服上述缺点。它是利用程序设计及存储逻辑的概念,称为微程序设计技术。它解决了设计的规整性问题,它将不规则的微操作命令变成了有规律的微程序,使控制单元的设计更科学合理。存储逻辑又解决了可修改问题,简化了控制器的设计任务,即不易出错成本又较低;缺点是操作速度比较低。10.2.1微程序设计思想的产生1951英国剑桥大学教授Wilkes完成一条机器指令微操作命令1微操作命令2微操作命令n……微指令110100000微指令n微程序00010010存储逻辑一条机器指令对应一个微程序……存入ROM10.2.1微程序控制的基本原理1.基本概念1)微命令和微操作计算机基本可划分为二大部分——控制部件和执行部件。控制器是控制部件,而运算器、存储器、外部设备是执行部件。微命令——构成控制信号序列的最小单位,即微操作控制信号。微操作——执行部件接受微命令后所进行的最基本的操作。2)微指令和微周期微指令——若干个微命令的组合。以编码字的形式放在控存的一个单元中。用来产生一组控制信号。一条微指令有:微操作码字段,又称操作控制字段。微地址码字段,又称顺序控制字段。其它相关信息,如常数字段、标志字段等。

微指令周期:从控制存储器中读取一条微指令并执行这条微指令所需的时间,通常一个微指令周期与一个CPU周期的时间相等.微指令中的微命令可以用节拍脉冲来同步定时.微周期子周期T1T2T3T4多周期节拍脉冲T1T2T3T4T1T2T3T4读微指令执行微指令微指令周期CPU周期

CPU周期与微指令周期的关系3)微程序和微程序微设计微程序——由微指令组成的程序。微程序设计是将传统的程序设计方法运用到控制逻辑的设计中。控制逻辑的本质是控制计算机内部的信息传送以及它们之间的相互关系。因此,微程序设计就是用类似程序设计的方法,组织和控制计算机内部信息的传送和相互的联系。4)控制存储器存放微程序的存储器,又称为微程序存储器。由于该存储器主要存放控制命令与下一条要执行的微指令地址,所以称控制存储器。它们每个单元存放一条微指令代码。计算机的指令系统是固定的,所以实现指令系统的微程序也是固定的,于是控存可用只读存储器实现。10.2.2微程序控制单元及工作原理1.机器指令对应的微程序M+1MM+2P+1KK+2PP+2K+1…取指周期微程序对应LDA操作的微程序对应STA操作的微程序间址周期微程序中断周期微程序2.微程序控制单元的基本框图

微地址

形成部件顺序逻辑CMAR地址译码控制存储器标志CLK下地址CMDR至CPU内部和系统总线的控制信号OPIR操作控制顺序控制微指令基本格式微程序控制单元框图及工作原理M+1MM+2P+1KK+2PP+2K+1…取指周期微程序对应

LDA操作的微程序对应STA

操作的微程序间址周期微程序中断周期微程序M+1M+2P+1P+2K+1K+2MM转执行周期微程序…转取指周期微程序…3.工作原理控存M+1MM+2P+1QQ+2PP+2Q+1…取指周期

微程序对应

LDA操作的微程序对应ADD

操作的微程序Q+1Q+2MM+1M+2P+1P+2M………对应STA

操作的微程序K+1K+2MKK+2K+1LDAXADDYSTAZ主存STP用户程序工作原理(1)取指阶段MCMARCM(CMAR)CMDR由CMDR发命令形成下条微指令地址Ad(CMDR)CMARCM(CMAR)CMDR由CMDR发命令Ad(CMDR)CMARCM(CMAR)CMDR由CMDR发命令M+1M+2PCMAR1RM(MAR)MDR(PC)+1PCMDRIR0010000M+2…100001M+1M…010010M+2M+1…形成下条微指令地址执行取指微程序(取指令微程序的第一条微指令的微地址M)(2)执行阶段CM(CMAR)CMDR由CMDR发命令Ad(CMDR)CMARCM(CMAR)CMDR由CMDR发命令Ad(CMDR)CMARCM(CMAR)CMDR由CMDR发命令OP(IR)微地址形成部件

CMAR(PCMAR)Ad(CMDR)CMARAd(IR)MAR1RM(MAR)MDRMDRAC00000010P+2

…M执行LDA微程序

形成下条微指令地址P+1形成下条微指令地址P+2形成下条微指令地址

M(MCMAR)01000P+2P+1…0001001P+1P…(3)取指阶段CM(CMAR)CMDR由CMDR发命令MCMARPCMAR1R100001M+1M全部微指令存在CM中,程序执行过程中只需读出关键

微指令的操作控制字段如何形成微操作命令

微指令的后继地址如何形成执行取指微程序……10.2.2微程序设计技术微程序设计的关键是如何确定微指令的结构(包括微指令编码和微地址形成方法)。1.微指令编码(1)直接表示法---微指令操作控制宇段中的每一位代表一个微命令。

·优点:简单直观,其输出可直接用于控制;

·缺点:微指令字较长,因而使控制存储器容量较大。(2)编码表示法---把一组相斥性的微命令信号组成一个小组(即一个字段),然后通过小组(字段)译码器产生操作控制信号。

·优点:可以用较少的二进制信息位表示较多的微命令信号,使微指令字长大大缩短;

·缺点:由于增加了译码延时,微程序的执行速度略有减慢。(3)混合表示法---把直接表示法与编码表示法混合使用,以便综合考虑微指令字长、灵活性和执行微程序速度等方面的要求。(例)某机有8条微指令I1-I8,每条微指令所包含的微命令控制信号如下表所示。

a-j分别对应10种不同性质的微命令信号。假设一条微指令的控制字段为8位,请安排微指令的控制字段格式。

解:分析表格,(e,f,h)和(b,i,j)对于任何一条微指令,都是相斥性微操作,即不可能在同一个CPU周期中同时发生这些操作,因此可分别组成两个小组或两个字段,然后进行译码产生这六个微命令信号。剩下的a,c,d,g四个微命令信号可进行直接控制,其整个微指令控制字段组成如下:

(2)微地址的确定方法在计算机中,微程序以编码形式按给定的微指令地址存放在控存中相应单元,执行时,只依次给出各条微指令的地址,就能使微程序连续执行,直至完成为止。要解决微程序的执行顺序控制,关键在于当前微指令执行完毕后,如何确定,后续微指令的地址。后续微地址的确定,取决于微程序的基本流程。在微程序设计中充分运用了软件的程序设计技术,因而,微程序流程中也有微程序、微程序循环、微子程序等。■初始微地址的形成--微指令地址的形成此节讨论微指令中地址字段和后继微地址的形成方法,然后讨论如何找到每条机器指令的微程序入口,又如何使微程序连续执行下去。

1)初始微地址的形成每一条机器指令对应着一段微程序,这段微程序的入口地址就是初始微地址。由于每条机器指令都先要执行取指令操作,所以要有“取机器指令”微程序来取出一条机器指令,这段微程序是公用的,一般安排在0号单元或1号单元开始。取出机器指令后,就要执行对应这条机器指令的一段微程序,因此要由机器指令操作码转换成微程序入口地址,这叫做“功能转移”。功能转移有以下几种方式。①一级功能转移当操作码的位数与位置是固定时,可直接使操作码与微地址的部分位相对应。例如入口地址=00Q,Q为操作码。这样,把控制存储器零页的一些单元安排为各段微程序入口地址,再通过无条件转移使这些单元和自己的后续微程序相连接,这就一次转移成功。②二级功能转移各类指令的操作码位数与位置不固定时,可能要分级转移。例如第一次先按指令类型的标志位转移到某条微指令,这次转移先区分出是哪一大类,如单操作数指令,或双操作数指令。在每一类中操作码的位数与位置是固定的,第二次就进一步按机器指令操作码转移,区分出是该类机器指令中的哪一条机器指令。

2)后继微地址的形成找到微程序入口地址后,就可以开始执行微程序,每条微指令执行完毕都要根据要求形成后继微指令的地址。后继微地址的形成方法对微程序编制的灵活性影响很大。值得指出的是:在微程序中分支流程是很多的,不仅对无条件转移和条件转移要有分支,还有很多指令的微程序中也要有分支。由于每条指令都对应一个独立的微子程序,而且大多数机器指令都有几种寻址方式,如果为每条机器指令,每种寻址方式单独设置一段微子程序,则微程序太长,需要的控存的存储容量太大。因此应把重复的部分作为共享的微子程序,由各微程序调用,这就导致了大量的寻址分支流程。对于寻址分支流程,测试源是机器指令中的寻址方式字段的编码,按照测试的结果转到相应的寻址操作流程,这是多路分支流程。当一条指令执行完毕时,就需要对中断请求等进行测试,若有中断请求,则程序应转向相应的处理程序,否则就顺序取下一条机器指令。这也是多路分支。

总之,在微程序中分支流程是很多的,因而产生大量的转移,从而使机器指令的执行时间增加。为了实现这些转移,微程序控制常用的方法是在微程序中引入条件转移的概念,对微指令系统进行扩充,把一些条件转移的微指令包括进去。转移微指令中除了给出转移地址以外,还要指出需要检查哪个状态标志,条件代码,或者指令寄存器的哪些位作为产生转移的条件。按这种方法形成微地址,叫做顺序转移微地址,或叫增量型微地址。1)增量方式(计数方式)增量型微地址与一般程序地址相类似,微程序按地址递增顺序一条一条地执行微指令,遇到转移时,由微指令指出转移微地址,使微程序按新的顺序执行。这种微地址的指令格式如下:

微操作控制字段转移方式转移地址顺序控制字段

转移方式指明判别条件,转移地址指明转移成功后微程序的去向,不成功则顺序执行。转移地址的字段位数较短,一般只有4~8位,这是因为转移地址通常在现行微地址的附近。全机可作为转移判别的条件有多个,但每次只能选择一个测试判别源,所以一次只允许两路分支。实现增量方式的微程序控制器如下图10-6所示。在该控制器中,使用μ

PC其位数与控存的容量相适应,由μ

PC给出控存的地址,就可实现从微程序存储器中顺序读出微指令。“起始和转移地址发生器”的任务有两个,其一是当一条新的机器指令装入IR时,它就把对应的该机器指令的微程序的起始地址装入μ

PC,μ

PC自动地随时钟增加,这就连续地从控存中读出微指令,控制信号也就以正确的顺序传送到CPU的各部分。第二个任务是当微指令指示它测试状态标志条件代码或机器指令的某些位时,它就对指定的条件进行测试,满足转移条件,就把新的地址装入μ

PC,实现转移;如不满足转移条件,则不装入新地址,微程序顺序执行。所以,每次从微程序存储器中取出一条新的微指令时,μ

PC都增加,只有下述情况例外。①遇到END微指令时,就把微程序的第1条控制字的地址装入UPC,开始取指令周期。②当一条新的指令装入IR时,就把该指令的微程序的起始地址装入μ

PC。③遇到转移微指令,并满足转移条件时,就把转移地址装入μPC。在增量方式中,顺序控制与一般程序控制很相似,其优点是微指令中顺序控制字段较短,微程序便于顺序执行,也便于无条件转移和条件转移。其缺点是增量方式尽管可以对多个测试源进行测试,但是对一条微指令来说只能实现两路分支,或者是顺序执行,或者是按转移地址来执行,从而不利于提高微程序的执行速度。如果要求一次能进行四路转移,则应有三个转移地址字段,它又大大增加了微指令的字长。为解决这个问题,须采用其他技术。这种方式比较适用于速度要求不高的小型、微型机。2)断定方式——具有下地址域的微指令形成后继微地址的断定方式是指后继微地址可由微程序设计者指定,或者根据微指令所测试的结果直接决定后继地址全部或部分地址值。这种微地址结构打破了顺序地址物理分配方式,也打破了顺序执行微指令的控制方式。因为每条微指令的地址必须由上一条微指令给出,所以每条机器指令的微程序序列也不一定要求安排在控存的连续单元之中,从而使得微程序中各微指令的安排十分灵活,给微程序在ROM中的物理分配提供了方便,并可使ROM中的各单元得以充分利用。采用断定方式的微指令都有一个地址区,这种微指令又叫具有下地址域的微指令。该地址域区一般分为两部分,一部分为非测试地址,由程序设计者直接指定,占高位部分;另一部分为测试地址,由测试结果确定其地址值,占低位部分。测试地址相当于在指定的区域内断定具体的分支。所依据的测试状态可能是指定的开关状态,按键状态,指令的某些位,状态字,运算结果等。

2.微指令格式1)水平型微指令---一次能定义并执行多个并行操作微命令的微指令,叫做水平型微指令。

2)垂直型微指令---类似与机器指令的结构,由微操作码决定该条微指令的功能,通常一条微指令中只有1-2个微操作命令,功能简单。

垂直型微指令字短,但解释执行一条机器指令所需的微指令条数多。

两种微指令方式的比较:

·水平型微指令并行操作能力强,效率高,灵活性强。垂直型微指令则较差;

·水平型微指令执行一条指令的时间短,垂直型微指令执行时间长;

·由水平型微指令解释指令的微程序,具有微指令字比较长,但微程序短的特点。垂直型微指令则相反,微指令字比较短而微程序长;

·水平型微指令用户难以掌握,而垂直型微指令与指令比较相似,相对来说,比较容易掌握。

μ

OP测试判别下地址图10-7断定方式的微指令格式例题:已知MOV,ADD,COM,ADT四条指令微程序流图如下:(1)P(1)的条件是指令寄存器OP字段,即IR7,IR6,P(2)的条件码是进位寄存器CJ,请设计画出微程序控制器地址转移逻辑图。(2)现设定控制存储器EPROM容量最大为16字节,其字长符合微指令格式要求。请给微程序流程图中每条微指令分配当前微地址与下一微地址(用二进制编码给出)。

解:(1)从流程图看出,P(1)处微程序出现四个分支,对应四个微地址。为此用OP码修改微地址寄存器的最后两个触发器即可。在P(2)处微程序出现2路分支,对应两个微地址,此时的测试条件是进位触发器Cj的状态。为此用j修改μA2即可。转移逻辑表达式如下:

μ

A0=P1·T4·IR6,μ

A1=P1·T4·IR7,μ

A2=P2·T4·j。由此可画出微地址转移逻辑。如下图所示。

解:(2)因EPROM容量为16单元,微地址寄存器4位即可,设为μA3~μA0,七条微指令地址分配如下表所示,一条微指令只占一个微地址(可直接填写在流程图右上角和右下角)。(3)两种微指令格式的比较①水平型微指令比垂直型微指令并行操作能力强

灵活性强②水平型微指令执行一条机器指令所要的微指令数目少,速度快③水平型微指令用较短的微程序结构换取较长的微指令结构④水平型微指令与机器指令差别大3.微指令的执行方式及时序控制微程序计算机的控制是通过一条一条地址执行微指令来实现的。执行一条微指令的过程分二步。第一步,将微指令从控存中取出,称取微指令;第二步执行微指令所规定的各个操作。根据这二步可有二种执行方式。(1)串行执行方式在这种方式中,取微指令和执行微指令按顺序进行,在一条微指令取出并执行后,才能取下一条微指令。微周期的安排如下:

即从控存读取微指令的操作与执行微指令的数据通路操作是顺序进行的。假定控制存储器的读出时间为TCM,微指令的执行时间为TCPU,则微周期TU=TCM+TCPU。该方式中在读微指令时,数据通路是空闲的;在数据通路操作时,控存是空闲的如果TCM=1/3~1/2TU,则在执行微指令时,就有1/3~1/2左右的额外消耗时间在从控存读取微指令的时间上,因此,TCM越小越好。(2)并行执行方式为了提高微程序的执行速度,将从控存读微指令时与执行微指令的操作在时间上重叠起来,在一条微指令执行结束前下一条微指令提前从控存中取出,这就是并行执行方式。如下图。在这种方式下,由于预取微指令的时间重叠到现行微指令的执行时间上,使CPU数据通路操作连续不断地进行,缩短了微指令周期,提高了执行速度。并行执行方式提高了微程序的执行速度,但是,有一个根本问题要解决,就是如何解决微程序的转移问题。

10.3微程序控制器单元设计举例设计一个微程序控制器,主要用微程序设计的方法来设计其微操作序列形成部件。一般可归纳为下列四个步骤:①拟定各条机器指令的操作流程图,写出其微操作序列;②根据全机的微操作序列选用微指令的编码设计方案;③根据各条机器指令的功能编制出相应的微程序;④把已编好调试好的微程序写入一个可高速读出的只读存储器中。我们还是以前模型机的千条指令为例,来说明微程序控制器的设计过程。1.列出各条机器指令的微操作序列根据图10-2所示的指令流程,列出各条机器指令的微操作序列如下:(1)清除累加器指令CLA的微操作序列(PC)→AR:指令地址送地址寄存器。(PC)→BUS,BUS→MAR(AR)→ABUS,RD:指令地址送地址总线,并发读命令。

MAR→ABUS,RDDBUS→MDR,(PC)+1→PC:读出指令以数据总线送数据寄存器,程序计数器加1送PC。

(MDR)→IR→ID:读出指令送指令寄存器并译码

OP→uAR:操作码经微指令地址形成部件送微地址寄存器。

O→AC:“0”送累加器,即清除累加器。(2)加法指令ADD的微操作序列(PC)→MAR:同前(MAR)→ABUS,RD:同前

DBUS→MDR,(PC)+1→PC:同前(DR)→IR→ID:同前

OP→uAR:同前

IR(ADDR)→MAR:指令中操作数地址送地址寄存器。这里采用直接地址。(MAR)→ABUS,RD:操作数地址送地址总线,并发读命令。

DBUS→MDR:读出的操作数送数据寄存器。(MDR)→ALU:读出的操作数送算/逻部件。(AC)→ALU:累加器中的数送算/逻部件。

ADD:加法命令。HALT(V=1):回溢出位V=1时,停机。ALU→AC(V=0):当溢出位V=0时,运算结果送累加器。(3)送存累加器指令STA(即将AC中的内容按指令中给出的操作数地址存入存储器)的微操作序列。(PC)→MAR:同前

PC→BUS,BUS→MAR(MAR)→ABUS,RD:

DBUS→MDR,(PC)+1→PC(MDR)→IR→IDOP→UARIR(ADDR)→MAR:同前,采用直接地址(MAR)→ABUS:存放操作数的地址送地址总线。(AC)→MDR:累加器中的结果送数据寄存器。(MDR)→DBUS,WE:结果送数据总线,发写命令。(4)无条件转移指令JMP的微操作序列。(PC)→AR:同前

PC→BUS,BUS→MAR

(MAR)→ABUS,RD:同前

DBUS→MDR,(PC)+1→PC:同前(MDR)→IR→ID:同前

OP→μAR:同前

IR(ADDR)→PC,IR(ADDR)→MAR:指令中操作数地址(此处是直接转移地址)同时送PC和AR。2.进行微指令的编码设计(1)直接编码法上面四条指令共有19个微操作信号,因此,可以采用直接编码的方法来安排微指令,如下图10-10所示。直接编码法微指令的每位代表一个微命令,不要译码,故称为译法。其优点是简单、直观、输出可直接用于控制,又叫直接控制方式。这种方式在任何一个微周期内,一条微指令可以定义并执行多个并行的微命令,故又称为水平型微指令。但当微命令增多时,会导致微指令字加长,使控制存储器的容量加大。故只适用于微命令数量不多的机器。由于本设计例子微命令较少,选用直接控制法。(2)微地址的设计①直接下地址这是顺序执行微指令的最有效的办法之一,即在微指令中用若干位来作为下址字段,当本条微指令被取出执行时,它的下址字段将指出下一条要执行的微指令的地址。②微指令计数器增量简称增量方式。由于微地址的增量为1,故用一个微程序计数器μPC来作增量器。这种方式可节省控制存储器空间,但其执行速度慢,灵活性差,只能实现单分支转移,其多路并行转移的功能差。由于本例微指令占用的控制存储器的空间不大所以采用直接下地址域的方法。

3.微程序的编制在解决了后续微指令地址形成之后,便可进行微程序设计。由于模型机仅用了4条机器指令,采用直接寻址时只要19个微命令,共有15条微指令。因此,采用25位字长的直接编码微指令,其中第0-18位为微操作命令字段,第19-23位为直接下址字段;第24位为测试位,该位为0,表示后继微地址由下址字段产生。该位为1时,表示程序转移,后继微地址经“状态条件”测试后,由微地址形成部件产生,当操作码出现时,机器指令执行段微程序入口地址由操作码产生。模型机几条指令的微程序如下表所示。

4.微程序装入控制存储器当上表所示的微程序编好之后,经检测、调试无误后,即可写入高速读出的只读存储器ROM中,得到所需的微程序控制器。为了使读者对微程序控制器有较深刻的理解,下图10-11画出了模型机微程序控制器简框图。图中打圆点的地方,表示有微操作命令输出。即表示该微地址被选中后与信号输出线上跨接上一个导通的二极管。其工作过程与表所示微程序一一对应。10.4典型CPU--奔腾CPU结构框图

1.奔腾CPU的结构框图(1)超标量流水线

超标量流水线是pentium系统结构的核心。它由U和V两条指令流水线构成,每条流水线都有自已的ALU、地址生成电路、与数据cache的接口。两个指令预取缓冲器,每个都是32字节,负责由指令cache或主存取指令并放入其中。(2)指令cache和数据cache奔腾CPU则分设指令cache和数据cache,各8KB。指令cache是只读的,以单端口256位(32B)向指令预取缓冲器提供超长指令字代码。数据cache是可读可写的,双端口,(3)浮点运算部件奔腾CPU内部包含了一个8段的流水浮点运算器。(4)动态转移预测技术执行转移指令时为了不使流水线断流,

2.P

温馨提示

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

评论

0/150

提交评论