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

LA UNIDAD DE CONTROL

LECCIN 1.
DISEO DE SISTEMAS DIGITALES DE
CONTROL

Departamento de Informtica. Curso 2006-2007

FUNCIONES DE LA UNIDAD DE CONTROL

Interpretacin de las instrucciones:

Lectura y decodificacin de la instruccin.

Secuenciamiento de las instrucciones:

Temporizacin y secuenciamiento de todas


las operaciones necesarias para la correcta
ejecucin de la instruccin.

Departamento de Informtica. Curso 2006-2007

SEALES DE CONTROL

Llamamos seales de control a un conjunto


de variables binarias que gobiernan las
entradas y salidas de informacin de los
registros y el funcionamiento de las dems
unidades funcionales.

Departamento de Informtica. Curso 2006-2007

TIPOS DE CONTROL

Control cableado: En este caso la unidad de

control es un circuito secuencial que est diseado


para llevar a cabo estas funciones. Sus caractersticas
fundamentales son: alta velocidad y dificultad de
adaptacin a cambios.
Control microprogramado: El secuenciamiento de
las seales de control se consigue con la ejecucin de
un programa especfico para cada instruccin que se
llama microprograma. Sus caractersticas son : una
cierta lentitud y una gran adaptabilidad a
modificaciones.
Departamento de Informtica. Curso 2006-2007

NIVELES DE ESTUDIO DE UN SISTEMA DIGITAL

Nivel de puertas lgicas, la unidad de trabajo es

el bit y suele corresponder a sistemas digitales


sencillos.

Nivel de registros, la unidad de transferencia es la

palabra y considera para su estudio los registros de


la mquina y sus interconexiones.

Nivel de procesador, la unidad de trabajo es el

bloque de palabras y considera las distintas unidades


funcionales como elemento de partida.
Departamento de Informtica. Curso 2006-2007

COMPONENTES BSICOS DE UN SISTEMA DIGITAL

Un conjunto de registros o posiciones de memoria

R[i] donde estn almacenados los datos


Un conjunto de dispositivos lgicos que realizan las
operaciones de transformacin de datos (p. ej. ALU
entre otros)
Una interfaz con el exterior que asegura el acceso a
datos externos
Un conjunto de buses que interconectan los distintos
elementos
Una unidad de control que permite ejecutar las
operaciones en el orden establecido por el programa
Departamento de Informtica. Curso 2006-2007

DIAGRAMA DE GLUSHKOV

Unidad de procesamiento que comprende

los registros, los recursos de clculo y los


caminos de datos (ruta de datos)

Unidad de control que recibe de la unidad

de procesamiento seales sobre el estado de


las operaciones y genera la secuencia de
seales de control que gobiernan a la unidad
de procesamiento.
Departamento de Informtica. Curso 2006-2007

DIAGRAMA DE GLUSHKOV

Departamento de Informtica. Curso 2006-2007

NIVEL DE TRANSFERENCIA DE REGISTROS

El comportamiento de un sistema digital a nivel de


transferencia de registros se puede definir mediante
un conjunto de operaciones O1 ,O2 , O3 , On
realizadas sobre diferentes datos externos o internos.
Cada una de estas operaciones elementales se lleva a
cabo mediante transferencias entre registros cuya
forma mas general puede ser:
R[m] f ( R[i], R[j], R[k], )
Departamento de Informtica. Curso 2006-2007

LENGUAJE DE TRANSFERENCIA DE REGISTROS

Sean A y B dos registros, la operacin mas habitual es transferir

el contenido de un registro a otro, se expresa as:

BA

En caso de necesitar saber el nmero o posicin de los bits

transferidos se indica de la siguiente manera: B[7-0] A[158]

Normalmente la transferencia est controlada mediante una

seal de habilitacin E (enable), se suele expresar de la


siguiente forma: E : B A

La seal de habilitacin puede ser mas compleja, por ejemplo:

Si x = 0 y t = 1 B A
En otro caso
BC
Departamento de Informtica. Curso 2006-2007

10

LENGUAJE DE TRANSFERENCIA DE REGISTROS

Los registros pueden ser objeto de las operaciones


aritmticas y lgicas habituales, as tendremos:
D A B
LSR (A)
ASR (A)
AA+1
Otro operador disponible es & (concatenacin) p.ej
LSR (A&B)

Departamento de Informtica. Curso 2006-2007

11

LENGUAJE DE TRANSFERENCIA DE REGISTROS

Las transferencias de datos entre registros y


memoria se pueden tratar como casos
particulares del caso anterior donde
tendremos dos operaciones gobernadas por
las seales de control R (lectura) y W
(escritura) y usando los registros MAR y MBR
con la notacin habitual tendremos:
R:
W:

MBR M((MAR))
M((MAR)) MBR
Departamento de Informtica. Curso 2006-2007

12

LENGUAJE DE TRANSFERENCIA DE REGISTROS

Por ltimo las transferencias entre buses y


registros se escriben de forma similar:
A Inbus [8]
Outbus [8] A

Departamento de Informtica. Curso 2006-2007

13

DIAGRAMAS ASM

Para describir el comportamiento de la unidad


de control de forma grfica se utilizan
diagramas ASM (Algorithmic State Machines)
que describe la secuencia de sucesos, as
como la relacin temporal entre los estados
de la unidad de control y las acciones que
ocurren en los estados como respuesta a los
pulsos de reloj.

Departamento de Informtica. Curso 2006-2007

14

COMPONENTES BASICOS DE UN DIAGRAMA ASM

Bloque de estado : rectngulo que contiene las operaciones de

transferencia de registros y seales de salida que se activan


mientras la unidad de control est en ese estado.

Bloque de decisin: Describe la condicin bajo la que se

llevarn a cabo distintas transformaciones en la ruta de datos y


se seleccionar el prximo estado

Bloque de condicin: Describe las asignaciones de variables y

salidas que se llevarn a cabo

Bloque ASM : Es una estructura compuesta de un bloque de

estado y un conjunto de bloques de decisin y de condicin


interconectados en serie o en paralelo, tiene una sola entrada y
puede tener varias salidas.
Departamento de Informtica. Curso 2006-2007

15

DIAGRAMAS ASM

Departamento de Informtica. Curso 2006-2007

16

DIAGRAMAS ASM

Podemos definir un diagrama ASM como un

conjunto de bloques ASM interconectados de


forma que:
Todo camino definido por el conjunto de
bloques de condicin debe llevar
necesariamente a otro estado
Cada diagrama de estado y su conjunto de
condiciones debe llevar a un nico estado
siguiente.
Departamento de Informtica. Curso 2006-2007

17

IMPLEMENTACIN DE UN MULTIPLICADOR HARDWARE

La metodologa que se utiliza tiene una serie

de pasos comunes y un abanico de soluciones


posibles para la implementacin de la unidad
de control.
Definir la tarea a realizar mediante un
algoritmo en lenguaje de transferencia
de registros
En nuestro caso vamos a implementar un
multiplicador con el algoritmo de
multiplicacin por suma y desplazamiento
Departamento de Informtica. Curso 2006-2007

18

ALGORITMO DE MULTIPLICACION

1:
2:
3:
4:
5:

6:
7:
8:

B Entrada (multiplicando) ;
MQ Entrada (multiplicador) ;
A0;
C0;
P n-1 ;
for P:= n-1 downto 0 do
if MQ[0] = 1 then A A + B , C CF ;
LSR (C&A&MQ);
PP1;
end for
Departamento de Informtica. Curso 2006-2007

19

UNIDAD DE PROCESAMIENTO

Un registro B de n bits para almacenar el multiplicando, con

capacidad de carga en paralelo.


Un registro MQ de n bits para almacenar el multiplicador y
despus almacenar los n bits mas bajos del resultado. Necesita
capacidad de carga y desplazamiento a la derecha
Un registro A de n bits, inicialmente a cero que despus
almacenar los n bits de mayor peso del resultado, precisa
capacidad de carga (resultado de la suma) y desplazamiento en
paralelo
Un sumador paralelo de n bits
Un contador P con capacidad de carga en paralelo y de
decrementarse. El tamao debe ser log2 n bits. Y debe tener un
circuito de deteccin de cero.
Un elemento de memoria C que pueda ponerse a cero y
cargarse con el arrastre CF del sumador.
Departamento de Informtica. Curso 2006-2007

20

DIAGRAMA DE BLOQUES DE LA UNIDAD DE PROCESAMIENTO

Departamento de Informtica. Curso 2006-2007

21

DIAGRAMA ASM DEL MULTIPLICADOR

Departamento de Informtica. Curso 2006-2007

22

DIAGRAMA ASM

IDLE: Es un estado inicial de espera, del que sale cuando la

seal G vale 1 y se inicia la operacin de multiplicacin. Se


supone que los operandos ya estn cargados en los registros. Al
pasar al siguiente estado se asignan los valores que se indican
en el bloque de condicin.

MUL0: En este estado tenemos un bloque de decisin en el que

se consulta el bit de menor peso del registro MQ ( Q0 ) y segn


el valor que toma se realizan ciertas operaciones y se pasa al
siguiente estado

MUL1: En este estado se realizan las operaciones de

desplazamiento de los registros C-A-MQ y se decrementa el


contador P. Tiene un bloque de decisin en el que se
comprueba el valor de Z, si es cero pasa al estado MUL0 y si es
1 pasa al estado IDLE.
Departamento de Informtica. Curso 2006-2007

23

DISEO DE LA UNIDAD DE CONTROL

Generar las seales de control necesarias

Establecer el mecanismo de secuenciamiento

de estas seales

Departamento de Informtica. Curso 2006-2007

24

SEALES DE CONTROL NECESARIAS

Departamento de Informtica. Curso 2006-2007

25

SECUENCIAMIENTO DE LOS ESTADOS

Departamento de Informtica. Curso 2006-2007

26

DISEO DE LA UNIDAD DE CONTROL USANDO UN


DECODIFICADOR Y UN REGISTRO DE SECUENCIA

Un registro de secuencia est formado por n

biestables de tipo D y puede tener hasta 2**n


estados, as mismo un decodificador de n entradas
tiene 2**n salidas, una para cada estado.

Como tenemos tres estados necesitamos dos

elementos de memoria (llamados M1 M0 ) y


codificamos cada estado con un nmero ( IDLE = 00
; MUL0 = 01 ; MUL1 = 10 )

Por otra parte tenemos dos entradas de estado

provenientes de la unidad de procesamiento, G y Z .


Departamento de Informtica. Curso 2006-2007

27

TABLA DE ESTADOS

Departamento de Informtica. Curso 2006-2007

28

ECUACIONES DE LAS ENTRADAS A LOS ELEMENTOS DE


MEMORIA

D0

= IDLE. G + MUL1. Z

D1 = MUL0

Departamento de Informtica. Curso 2006-2007

29

ESQUEMA DE LA UNIDAD DE CONTROL

Departamento de Informtica. Curso 2006-2007

30

DISEO DE LA UNIDAD DE CONTROL USANDO UN


CONTADOR Y UN DECODIFICADOR

El contador : Es un dispositivo sncrono que

proporciona una salida Q(t+1) en funcin de los


valores de las lneas de seleccin CL, H, L y de la
entrada E(t)

Si CL = 1
Si L = 1
Si H = 1 y L = 0
En cualquier otro

Q(t + 1) = 0
Q(t + 1) = E (t)
Q(t + 1) = (Q(t) + 1) mod 2**n
caso Q(t + 1) = Q (t)

La seal H es de habilitacin, la seal L es de carga y

CL es de puesta a cero.

Departamento de Informtica. Curso 2006-2007

31

ESQUEMA DEL CONTADOR

Departamento de Informtica. Curso 2006-2007

32

DIAGRAMA DE ESTADOS DE MOORE

Departamento de Informtica. Curso 2006-2007

33

TABLA DE ESTADOS

Departamento de Informtica. Curso 2006-2007

34

ECUACIONES DE LAS ENTRADAS AL CONTADOR

Departamento de Informtica. Curso 2006-2007

35

ESQUEMA DE LA UNIDAD DE CONTROL

Departamento de Informtica. Curso 2006-2007

36

DISEO DE LA UNIDAD DE CONTROL USANDO UN REGISTRO


DE ESTADO Y UNA MEMORIA ROM

Usando una memoria ROM podemos

almacenar una tabla en la que tengamos,


para todas las combinaciones de los estados
y las seales de condicin, los valores del
siguiente estado y las seales de control.
En nuestro caso como tenemos tres estados y
tres seales de condicin, la ROM tendr 32
filas. Como generamos 4 seales de control,
cada fila tendr 6 bits.
Departamento de Informtica. Curso 2006-2007

37

CONTENIDO DE LA ROM

Departamento de Informtica. Curso 2006-2007

38

ESQUEMA DE LA UNIDAD DE CONTROL

Departamento de Informtica. Curso 2006-2007

39

LA UNIDAD DE CONTROL

LECCIN 2.
DISEO DE PROCESADORES USANDO
CONTROL CABLEADO

Departamento de Informtica. Curso 2006-2007

40

RUTAS DE DATOS BSICAS: BUS UNICO

Departamento de Informtica. Curso 2006-2007

41

ORGANIZACIN EN DOBLE BUS

Departamento de Informtica. Curso 2006-2007

42

ORGANIZACIN EN TRIPLE BUS

Departamento de Informtica. Curso 2006-2007

43

INFLUENCIA DE LA ARQUITECTURA EN LA EJECUCIN DE


LAS INSTRUCCIN

Sea la operacin R0 R1 + R2
En bus comn:

X R1
Y X + R2
R0 Y

Doble bus

Y R1 + R2
R0 Y

Triple bus

R0 R1 + R2
Departamento de Informtica. Curso 2006-2007

44

FASES EN EL DISEO DE UN PROCESADOR

Podemos distinguir las siguientes fases:


Diseo del repertorio de instrucciones
Descripcin de la ruta de datos
Diagrama de flujo del repertorio de
instrucciones
Obtencin del diagrama ASM
Diseo de la unidad de control
Diseo de la ruta de datos
Verificacin del prototipo
Departamento de Informtica. Curso 2006-2007

45

DISEO DEL CONJUNTO DE INSTRUCCIONES

Departamento de Informtica. Curso 2006-2007

46

DISEO DEL FORMATO DE LAS INSTRUCCIONES

Departamento de Informtica. Curso 2006-2007

47

DESCRIPCIN DE LA RUTA DE DATOS

Los registros de direccin tendrn 9 bits y los de datos


12 bits, el bus interno es de 12 bits y tendr los
siguientes elementos:
Registro IR de 12 bits que comunica con la unidad de
control para decodificar las instrucciones
Registro PC de 9 bits
Registro MAR de 9 bits
Registro MBR de 12 bits
ALU que pueda hacer sumar y restas en
complemento a dos
Registros A y B de 12 bits que son las entradas a la
ALU
Departamento de Informtica. Curso 2006-2007

48

ESQUEMA DE LA RUTA DE DATOS

Departamento de Informtica. Curso 2006-2007

49

DIAGRAMA ASM

Departamento de Informtica. Curso 2006-2007

50

DISEO DE LA UNIDAD DE CONTROL

La unidad de control tiene 3 grupos de


entradas:
IR que contiene el cdigo de operacin y que
necesita de un decodificador para hacer llegar
las seales correspondientes a cada
instruccin
Reloj que precisa de un generador de
subciclos
Seales de condicin provenientes de la ruta
de datos
Departamento de Informtica. Curso 2006-2007

51

ESQUEMA DE LA UNIDAD DE CONTROL

Departamento de Informtica. Curso 2006-2007

52

SEALES DE CONTROL

Departamento de Informtica. Curso 2006-2007

53

GENERACION DE LAS SEALES DE CONTROL

Departamento de Informtica. Curso 2006-2007

54

DISEO DE LA MATRIZ DE CONTROL

Departamento de Informtica. Curso 2006-2007

55

ECUACIONES LGICAS DE LAS SEALES DE CONTROL

IPC = 3
HPC = 1
CPC = 4 BR + 4 BR.IN
HIR = 4 LDA + 4 STA +4 BR + 4 BR.IN
CIR = 3
R = 2 + 5 LDA
W = 6 STA
CMAR = 1 + 4 LDA + 4 STA
HMBR = 3 + 6 LDA
CMBR = 5 STA
HA = 4 MAB + 5 STA
CA = 6 LDA + 4 ADD + 4 SUB
CB = 4 MAB
SUMA = 4 ADD
RESTA = 4 SUB
HALU = 4 ADD + 4 SUB
Departamento de Informtica. Curso 2006-2007

56

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