Вы находитесь на странице: 1из 39

TEMA 1: UNIDAD DE CONTROL

1.1.- Introduccin:
Introduccin: Mquinas
Mquinasde
deestado
estadoalgortmico.
algortmico.
1.2.- Unidad de procesamiento de datos (Ruta de datos).
1.3.- Controladores. Implementacin de un controlador.
1.4.- Control cableado.
1.5.- Control microprogramado palabra de control.
1.6.- Respuesta condicional de controladores.

TEMA 1: UNIDAD DE CONTROL


1.1.- Introduccin: Mquinas de estado algortmico
datos

datos
Registros,
reg. operativos

CLK

op.code
CLK

UNIDADES DE
PROCESO Y
CONTROL

Memorias

circuitos
aritmeticos

buses / mux.

entradas de
control

salidas de
estado

salidas de
control

entradas de
condicion

codigo de
operacion
SECUENCIADOR

UNIDAD
DE
PROCESO

UNIDAD
DE
CONTROL

TEMA 1: UNIDAD DE CONTROL


1.1.- Introduccin: Mquinas de estado algortmico

DIAGRAMAS ASM
Normalmente los circuitos digitales complejos se definen mediante algoritmos, en los que se
especifican una serie de procedimientos y caminos de decisin que, a partir de
micooperaciones elementales, permiten realizar una tarea compleja.
Los algoritmos se representan grficamente mediante diagramas ASM (Algorithmic State
Machines), tambin llamados organigramas:
Caja de estado:
Entrada
Nombre

Caja de decisin escalar:


Cdigo
binario

Entrada
IDLE

000

Operacin sobre registro


Valor de salida

R0
RUN

Salida

Salida

Caja de salida condicional:

Entrada

Salida 0

Salida

Salida 1

Caja de decisin vectorial:

Entrada

Operacin sobre registro


Valor de salida

Condicin
de 1 bit

Entrada

Salida 0
Salida 1

Condicin
de n bits

Salida 2n-1

TEMA 1: UNIDAD DE CONTROL


1.1.- Introduccin: Mquinas de estado algortmico

DIAGRAMAS ASM
Un bloque ASM consiste en una caja de estado y todas las cajas de decisin y de salida condicional
conectadas entre su salida y los caminos de entrada a la misma caja de estado o a otras.
Ejemplo:

Diagrama de flujo equivalente:


Entrada

Entradas: START y Q0.


Bloque ASM

Salidas: AVAIL y CLRA (Reset sncrono de A).

Estado START,Q0/CLRA
AVAIL

0/0

Salida

IDLE
10/1
Salida

Salida

11/1

MUL0

MUL1

TEMA 1: UNIDAD DE CONTROL


1.1.- Introduccin: Mquinas de estado algortmico

DIAGRAMAS ASM
TEMPORIZACIN DE SEALES
Siguiendo con nuestro ejemplo:

Ciclo:

Entrada

Bloque ASM

CLK

Salida

START
Q0
Estado

Salida

IDLE

IDLE

MUL1

0034

0034

0000

AVAIL
CLRA
Reg A

Salida

TEMA 1: UNIDAD DE CONTROL


1.1.- Introduccin: Mquinas de estado algortmico.
1.2.- Unidad de procesamiento de datos (Ruta de datos).
1.3.- Controladores. Implementacin de un controlador.
1.4.- Control cableado.
1.5.- Control microprogramado palabra de control.
1.6.- Respuesta condicional de controladores.

TEMA 1: UNIDAD DE CONTROL


1.2.- Unidad de procesamiento de datos (Ruta de datos)

ALGORITMO PARA LA MULTIPLICACIN


Como ejemplo, desarrollaremos un circuito para la multiplicacin de nmeros en binario
natural sin signo.
Multiplicando

Algoritmo:

Producto parcial inicial

Multiplicando

Multiplicador

Multiplicador

Suma el multiplicando pues el bit del multiplicador es 1


Producto parcial despus de sumar y antes de desplazar
Producto parcial despus de desplazar
Suma el multiplicando pues el bit del multiplicador es 1
Producto parcial despus de sumar y antes de desplazar
Producto parcial despus de desplazar
Producto parcial despus de desplazar
Producto parcial despus de desplazar

Producto

Suma el multiplicando pues el bit del multiplicador es 1


Producto parcial despus de sumar y antes de desplazar
Producto total despus del desplazamiento final

TEMA 1: UNIDAD DE CONTROL


1.2.- Unidad de procesamiento de datos (Ruta de datos)

ARQUITECTURA DE LA UNIDAD DE PROCESO


Se eligen los componentes que se van a emplear, a qu
rdenes van a ser capaces de responder y cmo van a
estar interconectados entre s.
n-1

2k-1 n-1 < 2k

Multiplicando

Contador P

Registro B

k bits

n bits

P=0?

Sumador
n bits

INICIO

COUT
n

Unidad de
control

FF C

Multiplicador
n

Registro A

Registro M

n bits

n bits

Pn-1
PP-1
Registro B: BMtndo (asn)
Registro M: MMtdor (asn)
Contador P

Flip-flop C

M0
n

Controles

Operaciones:

Resultado de la operacin

C0
CCOUT

A0
AA+B
Desplazamiento a la dcha de
C, A y M: CAMsr CAM
Registro A

TEMA 1: UNIDAD DE CONTROL


1.2.- Unidad de procesamiento de datos (Ruta de datos)

ARQUITECTURA DE LA UNIDAD DE PROCESO


CONTADOR P

Est. Q3 Q2 Q1 Q0
0
1
2
3

0
0
0
0

0
0
0
0

0
0
1
1

0
1
0
1

4
5
6
7

0
0
0
0

1
1
1
1

0
0
1
1

0
1
0
1

8
9
10
11

1
1
1
1

0
0
0
0

0
0
1
1

0
1
0
1

12
13
14
15

1
1
1
1

1
1
1
1

0
0
1
1

0
1
0
1

P0

PP-1
Q
J
K FF0
Q

P1
Q
J
K FF1
Q

P2
Q
J
K FF2
Q

P3
Q
J
K FF3

CLK
Aadimos una operacin de carga en paralelo sncrona para el nmero n-1:

(n-1)0

(n-1)1

(n-1)2

(n-1)3

Pn-1
PP-1

FF0

CLK
Q

P0

FF1
Q

P1

FF2
Q

P2

FF3
Q

P3

TEMA 1: UNIDAD DE CONTROL


1.2.- Unidad de procesamiento de datos (Ruta de datos)

ARQUITECTURA DE LA UNIDAD DE PROCESO


REGISTRO B
El registro B slo se utiliza para almacenar el multiplicando de forma asncrona, por lo que
basta con implementarlo a partir de biestables RS:

Mtndo3

Mtndo2

Mtndo1

Mtndo0

BMtndo

B3

B2

B1

B0

B3

B2

B1

B0

TEMA 1: UNIDAD DE CONTROL


1.2.- Unidad de procesamiento de datos (Ruta de datos)

ARQUITECTURA DE LA UNIDAD DE PROCESO


REGISTRO M
El registro M, adems de permitir la carga asncrona del multiplicador, debe implementar
una operacin de desplazamiento a la derecha:
Mtdor3

Mtdor2

Mtdor1

Mtdor0

CAMsr CAM
A0
(bit menos
significativo del
registro A)

MMtdor

Sd D
Rd

FF3
Q

Sd D
Rd

FF2
Q

Sd D
Rd

FF1
Q

Sd D
Rd

FF0
Q

CLK
M3

M2

M1

M0

TEMA 1: UNIDAD DE CONTROL


1.2.- Unidad de procesamiento de datos (Ruta de datos)

ARQUITECTURA DE LA UNIDAD DE PROCESO


FLIP-FLOP C Y REGISTRO A
El flip-flop C y el registro A deben ser capaces de hacer una carga en paralelo sncrona de las
salidas del sumador. Adems, implementan una operacin de desplazamiento a la derecha y otra
de puesta a cero sncrona:
COUT
C0
CCOUT

S3

S2

S1

S0

A0
AA+B
CAMsr CAM

FF

FF3

FF2

FF1

FF0

A3

A2

A1

A0

CLK

TEMA 1: UNIDAD DE CONTROL


1.1.- Introduccin: Mquinas de estado algortmico.
1.2.- Unidad de procesamiento de datos (Ruta de datos).
1.3.- Controladores. Implementacin de un controlador.
1.4.- Control cableado.
1.5.- Control microprogramado palabra de control.
1.6.- Respuesta condicional de controladores.

TEMA 1: UNIDAD DE CONTROL


1.3.- Controladores. Implementacin de un controlador

DISEO DEL CONTROLADOR


Una vez decidida la arquitectura de la unidad de proceso,
se plantea el diagrama ASM del controlador:

INICIO

n-1

Multiplicando

Contador P
k bits

M0

P=0?
INICIO

COUT

Unidad de
control

Sumador
n bits
n

Z
M

Registro B
n bits

FF C

Registro A
n bits

Registro M
n bits

M0
n

Controles

Multiplicador

Resultado de la operacin

TEMA 1: UNIDAD DE CONTROL


1.1.- Introduccin: Mquinas de estado algortmico.
1.2.- Unidad de procesamiento de datos (Ruta de datos).
1.3.- Controladores. Implementacin de un controlador.
1.4.- Control cableado.
1.5.- Control microprogramado palabra de control.
1.6.- Respuesta condicional de controladores.

TEMA 1: UNIDAD DE CONTROL


1.4.- Control cableado

SEALES DE CONTROL

Teniendo en cuenta el diagrama ASM, definiremos las


seales de control para nuestra unidad de proceso:

n-1

Multiplicando

Contador P
k bits

Registro B
n bits

P=0?
INICIO

INICIO

COUT

Sumador
n bits
Multiplicador

Unidad de
control

FF C

Registro A
n bits

M0
n

Controles

M0

Registro M
n bits
n

Resultado de la operacin

Mdulo

Microperaciones

Controles

Expresiones

Registro A

A
AA+B
CAMsr CAM

Initialize
Load
Shitf_dec

IDLEINICIO
MUL0M0
MUL1

Flip-flop C

C0
CCOUT

Clear_C
Load

IDLEINICIO+MUL1
MUL0M0

Registro M

CAMsr CAM

Shift_dec

MUL1

Initialize
Shift_dec

IDLEINICIO
MUL1

Contador P Pn-1
PP-1

TEMA 1: UNIDAD DE CONTROL


1.4.- Control cableado

SECUENCIACIN DE LA UNIDAD DE CONTROL

Eliminando la informacin relativa a las microoperaciones en el diagrama ASM, nos quedaremos


con la correspondiente a la secuenciacin de estados:

INICIO

INICIO

M0

TEMA 1: UNIDAD DE CONTROL


1.4.- Control cableado

REGISTRO DE SECUENCIA Y DECODIFICADOR


Al tener tres estados, necesitamos 2 flip-flops y un decodificador de dos bits de direccin:
Entradas

Est. Sig.

Nombre

Q1Q0

INICIO Z

Q1Q0

IDLE

MUL0

MUL1

IDLE

0 0
0 0

0
1

0 0
0 1

1
1

0
0

0
0

MUL0

0 1

1 0

MUL1

1 0
1 0

0
1

0 1
0 0

0
0

0
0

1
1

1 1

INICIO

Estado actual

Salidas decodificador

INICIO
D

FF0

Z
Los flip-flops se inicializan a
0 a travs de las entradas de
reset directas para que el
sistema empiece a funcionar
en el estado IDLE.

Q
A0

CLK

FF1

A1

O0
DEC O1
O2
O3

IDLE
MUL0
MUL1

TEMA 1: UNIDAD DE CONTROL


1.4.- Control cableado

REGISTRO DE SECUENCIA Y DECODIFICADOR


Teniendo en cuenta la tabla que
defina los controles para la
unidad de proceso, aadimos la
circuitera para generar las
seales de control:

Mdulo

Microperaciones

Controles

Expresiones

Registro A

A
AA+B
CAMsr CAM

Initialize
Load
Shitf_dec

IDLEINICIO
MUL0M0
MUL1

Flip-flop C

C0
CCOUT

Clear_C
Load

IDLEINICIO+MUL1
MUL0M0

Registro M

CAMsr CAM

Shift_dec

MUL1

Initialize
Shift_dec

IDLEINICIO
MUL1

Contador P Pn-1
PP-1

Initialize
Clear_C

INICIO
D

FF0

A0
D

CLK
M0

FF1

A1

O0
DEC O1
O2
O3

IDLE
MUL0
MUL1

Shift_dec

Load

TEMA 1: UNIDAD DE CONTROL


1.4.- Control cableado

DISEO CON UN REGISTRO DE DESPLAZAMIENTO


En vez de codificar, se utiliza un flip-flop por cada estado. El sistema se encontrar en un estado
determinado cuando el flip-flop correspondiente est en 1 (los dems debern estar en 0). El registro
describir el comportamiento del controlador si el 1 se desplaza por los flip-flops del mismo modo que
tiene lugar la evolucin temporal indicada en el diagrama ASM.
Aunque se necesitan muchos ms flip-flops, el diseo se simplifica debido a la equivalencia directa entre
los elementos del diagrama ASM y el circuito del registro de desplazamiento:

Estado

Estado

FF
Salida

Salida

Entrada
1

Salida 0

Salida 1

Salida 0 Salida 1

I
X0,X1,,Xn-1

Entrada

Entrada

X0
X1

Salida 2 -1
n

Xn-1

S0
S1

Sn-1

DEMUX

Entrada

Salida

Caja de salida condicional:

Caja de decisin vectorial:

Salida 0
Salida 1

Salida

Entrada 2

Entrada

Entrada 1

Entrada

Entrada 2

Entrada

Unin:
Entrada 1

Caja de decisin escalar:

Caja de estado:

O0
O1

O2n-1

Salida 0
Salida 1

Salida 2n-1

Entrada
1

Control
Salida 1

Salida 1 Control

TEMA 1: UNIDAD DE CONTROL


1.4.- Control cableado

DISEO CON UN REGISTRO DE DESPLAZAMIENTO


Consideramos primeramente la parte secuencial del controlador:

IDLE

INICIO

FF
INICIO

MUL0

FF

MUL1

FF

Para que el circuito funcione correctamente, el flip-flop IDLE hay que inicializarlo en 1, y el resto en 0.

TEMA 1: UNIDAD DE CONTROL


1.4.- Control cableado

DISEO CON UN REGISTRO DE DESPLAZAMIENTO


Para implementar las salidas de control, tendremos en cuenta el diagrama ASM completo:

INICIO

Microperaciones

Controles

Expresiones

A, Pn-1
AA+B, CCOUT
CAMsr CAM, PP-1
C0

Initialize
Load
Shitf_dec
Clear_C

IDLEINICIO
MUL0M0
MUL1
IDLEINICIO+MUL1

IDLE

FF

INICIO

M0

Initialize

MUL0

D
M

FF

M0

Clear_C

MUL1

FF

Load

Shift_dec

TEMA 1: UNIDAD DE CONTROL


1.4.- Respuesta condicional de controladores

BIFURCACIONES
En ocasiones es necesario ejecutar una serie distinta de microoperaciones en funcin de
uno o varios bits, y despus seguir con una secuencia comn de estados. Para ello se
implementa una bifurcacin en el controlador:
DEMUX
0

FF
D

FF

FF

FF

FF

FF

MUX
D

F1F0

FF

FF

FF

FF

TEMA 1: UNIDAD DE CONTROL


1.4.- Respuesta condicional de controladores

SALTOS CONDICIONALES
A veces es conveniente poder eliminar la ejecucin de una o varias microoperaciones en
funcin de uno o varios bits. Para ello se implementa un salto condicional en el controlador:
CB

Solucin tipo Moore:


D

FFA

FFB

CC
D

FFC

FFD
D

F
CB

Solucin tipo Mealy:

CC

F
D

FFA

FFB

FFC

FFD

La segunda solucin necesita menos puertas pero se tarda ms tiempo en la ejecucin, ya


que no se eliminan los estados, slo se anulan los controles que generan.

TEMA 1: UNIDAD DE CONTROL


1.4.- Respuesta condicional de controladores

BUCLES
Con gran frecuencia se necesita ejecutar varias veces la misma secuencia de
microoperaciones. En vez de repetir los flip-flops que generan dichas secuencias, se puede
implementar un bucle en el controlador:
Contador mdulo N
INIC
TC
I

INICIO
D

FFIDLE
D
Q

FFA

D
Q

FFB

FFC

FFD

Si queremos que la secuencia dada por los flip-flops B y C se repita N veces, ser necesario
utilizar un contador de mdulo N. Habr que inicializarlo cuando el controlador empiece a
funcionar (al activarse la seal INICIO). Se incrementar cada vez que se pase por los
estados del bucle. Al pasar N veces, el contador habr llegado a su ltimo estado y el final
de cuenta TC se hace igual a 1. Por tanto, el controlador abandonar el bucle despus de
haberlo ejecutado N veces.

TEMA 1: UNIDAD DE CONTROL


1.1.- Introduccin: Mquinas de estado algortmico.
1.2.- Unidad de procesamiento de datos (Ruta de datos).
1.3.- Controladores. Implementacin de un controlador.
1.4.- Control cableado.
1.5.- Control microprogramado palabra de control.
1.6.- Respuesta condicional de controladores.

TEMA 1: UNIDAD DE CONTROL


1.5.- Control microprogramado ROM de microprograma
- Idea: Implementar toda la parte combinacional de un autmata de Meally con una Memoria ROM

clk

estado
actual

ROM 32 x 6

A4

D5

A3

D4

clr
Entradas
de
condicion

M0

A2

A1

INICIO

A0

estado
siguiente

D3

Load

D2

Shift_Dec

D1

Clear_C

D0

Initialize

Salidas
de
control

TEMA 1: UNIDAD DE CONTROL


1.5.- Control microprogramado ROM de microprograma
- Contenido de la Memoria ROM. (Obsrvese que en realidad hay 32 combinaciones)
S1
(A4)

S0
(A3)

M0
(A2)

Z
(A1)

Inicio
(A0)

S1
(D5)

S0
(D4)

Load
(D3)

Shift_
Dec
(D2)

Clear
_C
(D1)

Initial
ize
(D0)

TEMA 1: UNIDAD DE CONTROL


1.5.- Control microprogramado ROM de microprograma
-

Problema: La ROM de microprograma es demasiado grande en cuanto el nmero de entradas crece


(Todos los posibles trminos producto (minterms) estn disponibles: 2^n minterms)

Solucin: Usar una PLA en lugar de la ROM


-Minimizar el nmero de trminos producto mediante programas de simplificacin lgica (como
espresso)

Fichero de entrada a espresso:


-----------------------------.i 5
.o 6
.ilb s1 s0 m0 z inicio
.ob s1p s0p load shift clearc initial
00
00
01
01
10
10
11
.e

0
1
-

0
1
-

0
1
-

0
0
1
1
0
0
-

0
1
0
0
1
0
-

0
0
0
1
0
0
-

0
0
0
0
1
1
-

0
1
0
0
1
1
-

0
1
0
0
0
0
-

Fichero de salida de espresso:


-----------------------------.i 5
.o 6
.ilb s1 s0 m0 z inicio
.ob s1p s0p load shift clearc initial
.p 5
00--1 010011
-11-- 001000
1--0- 010000
-1--- 100000
1---- 000110
.e

TEMA 1: UNIDAD DE CONTROL


1.5.- Control microprogramado PLA de microprograma
-

PLA de microprograma: Slo 5 trminos producto


S1

S0

M0

INICIO

Matriz OR

Matriz AND

S1

S0

Load

Shift
_Dec

Clr_C Initialize

TEMA 1: UNIDAD DE CONTROL


1.5.- Control microprogramado PLA de microprograma
-

Implementacin fsica de los contactos lgicos programables.


S1

S0

M0

INICIO

Vcc

S1

S0

Load

Shift
_Dec

Clr_C Initialize

TEMA 1: UNIDAD DE CONTROL


1.5.- Control microprogramado palabra de control
Un controlador microprogramado es aqul que tiene sus valores de control almacenados como palabras
en una memoria (normalmente una ROM). Cada palabra de control almacenada en la memoria contiene
una mircroinstruccin que especifica una o varias microoperaciones. Una secuencia de
microinstrucciones constituye un microprograma.
Estado de la
Entradas unidad de proceso

Informacin de la direccin siguiente

Generador de la
direccin siguiente
Secuenciador

Registro CAR
Direccin de
control
Entradas de
direccin

ROM
Salidas de datos

Registro CDR
Microinstruccin
Salidas Controles para la
unidad de proceso

El registro de control de direcciones (CAR) almacena la


direccin de la ROM en que se encuentra la microinstruccin
a ejecutar.
El registro de control de datos (CDR), opcional, almacena la
microinstruccin en curso.
La microinstruccin contiene los valores de salida del
controlador, as como la informacin necesaria para
determinar la microinstruccin siguiente.
Esta informacin, junto con las entradas al controlador,
llegan a un combinacional que genera la direccin de la
siguiente microinstruccin a ejecutar, la cual pasa al CAR
con el flanco activo de la seal de reloj. Dicho
combinacional, junto con el CAR, constituyen el
secuenciador.
Debido a que el estado de la unidad de proceso no acta
directamente sobre la microinstruccin a ejecutar, este
esquema slo permite circuitos de Moore En el diagrama
ASM no puede haber cajas de salida condicional.

TEMA 1: UNIDAD DE CONTROL


1.5.- Control microprogramado
Ejemplo de controlador microprogramado. Slo son posibles las bifurcaciones al estado 0.

Contador
de uInstr.
Y
X
Vcc

3
2
1
0

mux

ROM
16x8

Q3
Q2
Res.
sincr. Q1
Q0

A3
A2
A1
A0

D7
D6
D5
D4
D3
D2
D1
D0

clk

D1

D0

Direccion siguiente

Dir+1

Dir+1 si X=0, 0 si X=1

0 si Y=0, Dir+1 si Y=1

Comentarios
Incondicional
Condicional

salidas
de
control

TEMA 1: UNIDAD DE CONTROL


1.5.- Control microprogramado
Ejemplo de controlador microprogramado. Bifurcaciones a 4 posibles direcciones
Tabla de
saltos
ROM
4x4
Y
X
Vcc

3
2
1
0

A1 A0

Contador
de uInstr.

D3
D2
D1
D0

mux

P3
P2
P1
P0

Q3
Q2
Q1
Q0

ROM
16x8
A3
A2
A1
A0

Load

D7
D6
D5
D4
D3
D2
D1
D0

salidas
de
control

clk

D3

D2

Direccion siguiente

Dir+1

Tabla[D1:D0]

Dir+1 si X=0, Tabla[D1:D0] si X=1

Tabla[D1:D0] si Y=0, Dir+1 si Y=1

Comentarios
Incondicional
Condicional

D1,D0: indice de la
tabla de saltos

TEMA 1: UNIDAD DE CONTROL


1.5.- Control microprogramado palabra de control

CIRCUITO MULTIPLICADOR MICROPROGRAMADO


Primero transformamos el diagrama ASM original a uno tipo Moore:

INICIO

INICIO

M0

M0

TEMA 1: UNIDAD DE CONTROL


1.5.- Control microprogramado palabra de control

CIRCUITO MULTIPLICADOR MICROPROGRAMADO


PALABRA DE CONTROL

La palabra de control (microinstruccin, I) constar de los


siguientes campos:
3 bits
11

INICIO

10

NXTADD1

3 bits
9 8

NXTADD0

2 bits
6 5

4 3

SEL

4 bits
2

CONTUP

CONTUP: Las salidas de control para la unidad de proceso. Son


4 bits, ya que tenemos 4 seales de control para la unidad
de proceso: Initialize, Load, Shift_dec y Clear_C.
SEL: Cdigo para la seleccin de las variables de control de la
secuenciacin. Son dos bits, puesto que tenemos 3
variables respecto a las que se hacen bifurcaciones en la
unidad de control: INICIO, M0 y Z.

M0

NXTADD0 y NXTADD1: Direcciones de las siguientes


microinstrucciones a ejecutar, la primera si la variable de
control de la secuenciacin es 0 y la segunda si es 1. Hay
tantas microinstrucciones como estados distintos tiene la
unidad de control. Por tanto se necesitan 3 bits para
direccionar los cinco estados: IDLE, INIT, MUL0, ADD y
MUL1.

Por tanto, el CAR ser un registro de 3 bits, y la ROM tendr una capacidad mnima de 2 3x12 bits.

TEMA 1: UNIDAD DE CONTROL


1.5.- Control microprogramado palabra de control

CIRCUITO MULTIPLICADOR MICROPROGRAMADO


PALABRA DE CONTROL

11

10

NXTADD1

NXTADD0

SEL

CONTUP

Seales de control para la unidad de proceso:


Controles

Microperaciones

Estado UC

Initialize
Load
Shift_dec
Clear_C

A, Pn-1
AA+B, CCOUT
CAMsr CAM, PP-1
C0

INIT
ADD
MUL1
INIT, MUL1

Cdigos del campo SEL:


Smbolo

Cdigo

Microoperaciones

Bit I
0
1
2
3

Smbolo
IT
LD
SD
CC

Cdigos de direccin de los estados


del controlador:

NXT

00

CARNXTADD0

Estado

DIN

01

INICIO: CAR NXTADD0


INICIO: CAR NXTADD1

DM

10

M0: CAR NXTADD0


M0: CAR NXTADD1

DZ

11

Z: CAR NXTADD0
Z: CAR NXTADD1

IDLE
INIT
MUL0
ADD
MUL1

Direccin
000
001
010
011
100

TEMA 1: UNIDAD DE CONTROL


1.5.- Control microprogramado palabra de control

CIRCUITO MULTIPLICADOR MICROPROGRAMADO


ARQUITECTURA DE LA UNIDAD DE CONTROL
Multiplicando

Multiplicador

UNIDAD DE
PROCESO
SECUENCIADOR
Producto
CONTUP

ROM
812 bits

INICIO
M0

TEMA 1: UNIDAD DE CONTROL


1.5.- Control microprogramado palabra de control

CIRCUITO MULTIPLICADOR MICROPROGRAMADO


MICROPROGRAMA

Microprograma descrito mediante microoperaciones


de transferencia entre registros:
INICIO

Direccin

Microoperaciones

IDLE

INICIO: CARINIT
INICIO: CARIDLE

INIT

A0, C0, Pn-1, CARMUL0

MUL0

M0: CARADD
M0: CARMUL1

ADD

AA+B, CCOUT, CARMUL1

MUL1

C0, CAMsr CAM, PP-1


Z: CARIDLE
Z: CARMUL0

M0

Microprograma simblico:

Microprograma en binario:

Direccin

NXADD1

NXADD0

SEL

CONTUP

Direccin

IDLE
INIT
MUL0
ADD
MUL1

INIT

IDLE
MUL0
MUL1
MUL1
MUL0

DIN
NXT
DM
NXT
DZ

000
001
010
011
100

ADD

IDLE

IT, CC

LD
CC, SD

NXADD1

NXADD0

SEL

CONTUP

001

011

000

000
010
100
100
010

01
00
10
00
11

0000
1001
0000
0010
1100

Вам также может понравиться