tema2.ppt [Modo de compatibilidad] · Fases de ejec. de las instrucciones Introducción Diseño...

Post on 14-May-2020

12 views 0 download

Transcript of tema2.ppt [Modo de compatibilidad] · Fases de ejec. de las instrucciones Introducción Diseño...

ARQUITECTURAS DE COMPUTADORES

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN

Tema 2. La Unidad Central de Proceso 1

EN INFORMÁTICA DE GESTIÓN

TEMA 2 – UNIDAD DE CONTROL

JOSÉ GARCÍA RODRÍGUEZJOSÉ ANTONIO SERRA PÉREZ

La Unidad Central de Proceso

� Introducción� Empleo de buses � Fases de Ejecución de las Instrucciones

� Introducción

� Establecimiento de las fases

� La ruta de datos

Unidad de Control

El procesador

Tema 2. La Unidad Central de Proceso 2

� Unidad de Control� identificación de las señales de control

� Activación de las señales de control

� Diseño de la Unidad de control� Método de la tabla de estados

� Método del Contador de secuencia

� Abstracción de la máquina

� Conclusiones

Introducción

� Mecanismo de ejecución de las instrucciones

� Diseño de la Unidad de ControlEL procesador

Unidad deproceso

Dirección

Datos

Tema 2. La Unidad Central de Proceso 3

proceso

Unidad deControl

Unidad deMemoria

Datos

Lectura

Escritura

Repertorio de instrucciones elegido

Instrucciones

Formato tipo 1

7 0

COP

8 bits

Tema 2. La Unidad Central de Proceso 4

Operación Sintaxis Descripción Cód. Oper.Suma ADD r1 1rAA +← 30h, 31h, 32h, 33h, 45h

Resta SUB r1 1rAA −← 18h, 19h, 1Ah, 1Bh, 46h

And ANA r1 1randAA ← 20h, 21h, 22h, 23h, 48h

Or ORA r1 1rorAA ← 24h, 25h, 26h, 27h, 49h

Repertorio de instrucciones elegido

Instrucciones

Formato tipo 2

15 8 7 0

COP dato

8 bits 8 bits

Tema 2. La Unidad Central de Proceso 5

Operación Sintaxis Descripción Cód. Oper.Suma Inmediata ADI dato datoAA +← 35h

Resta Inmediata SUI dato datoAA −← 36h

And Inmediata ANI dato datoandAA ← 68h

Or Inmediata ORI dato datoorAA ← 69h

Repertorio de instrucciones elegido

Instrucciones

Formato tipo 3

23 16 15 8 7 0

COP DesplazamientoL DesplazamientoH

8 bits 8 bits 8 bits

Tema 2. La Unidad Central de Proceso 6

Operación Sintaxis Descripción Cód. Oper.Cargar LDA dir )(dirMA ← 70h

Almacenar STA dir AdirM ←)( 71h

Salto incondicional JMP dir dirPC ← 74h

Salto si FZ=1 JZ dir dirPC1FZSi ←⇒= 72h

Ruta de datos con bus único

Empleo de

de buses

� Bus único de datos de 8 bits

� Bus único de direcciones de 16 bits

� Necesidad de registros temporales para liberar al bus

Tema 2. La Unidad Central de Proceso 7

A TEMP

B. R.Memoria

HL

ALU

Ruta de datos con dos buses

Empleo de

de buses

� 2 buses de 8 bits

� Comunicación con la memoria a través de HL

� Enlace de bus

Tema 2. La Unidad Central de Proceso 8

A

B. R. MemoriaHL

EnlaceALU

Ruta de datos con tres buses

Empleo de

de buses

� 3 buses de 8 bits

� Comunicación con la memoria a través de HL

� Enlace de bus

Enlace

Tema 2. La Unidad Central de Proceso 9

A

B. R. MemoriaHL

ALU

Fases de ejec. de las instrucciones

Introducción � Diseño disparado por

flanco.

� Cada fase de ejecución

durará un ciclo de reloj.

� La duración del ciclo de

reloj dependerá de la

Búsqueda de la instrucción

Decodificación

Búsqueda del

Ejecución

Tema 2. La Unidad Central de Proceso 10

reloj dependerá de la

duración de la acción más

lenta.

� No se puede realizar una

lectura y una escritura en

el banco de registros en el

mismo ciclo de reloj.

Búsqueda del operando

Ejecución

Almacenamiento del resultado

Preparaciónde la I. siguiente

Consideraciones

� Funciones básicas de la MaNoTas:� Acceso al Banco de Registros

� Acceso a la Memoria

� Operaciones en la ALU

� Suposiciones:El tiempo de estas funciones es igual a un ciclo de reloj.

Fases de

ejecución

Tema 2. La Unidad Central de Proceso 11

� El tiempo de estas funciones es igual a un ciclo de reloj.

� El coste del resto de los elementos es cero.

� Las acciones asociadas a una fase ocurren en paralelo.

� Las acciones asociadas a fases sucesivas ocurren en serie.

Establecimiento de las fases

Fases de

ejecución

RI←M[PC]

PC←PC + 1

Decodificación

TEMP←r1 L←M[PC]

PC ←PC+1(Z)=1

Fase 1

Fase 2

Fase 3ADD,SUB,ANA,ORA

LDA,STA,JMP JZ

TEMP←M[PC]

PC ←PC+1

ADI,SUI,ANI,ORI

PC Pc+1←

PC Pc+1←

Tema 2. La Unidad Central de Proceso 12

PC ←PC+1

A←A op TEMP

A←M(HL) M(HL)←A

Fase 4

Fase 5STA

LDA

H←M[PC]

PC ←PC+1

PC ←PC+1

A←A op TEMP

PC←HL+1

Fase 6

JMP

L←M[PC]

PC ←PC+1

H←M[PC]

PC ←PC+1

PC←HL+1

si

Establecimiento de las fases (1)

� Fase 1: Búsqueda de la instrucción

� RI ← M[PC]

� PC ← PC + 1

Fases de

Ejecución

Tema 2. La Unidad Central de Proceso 13

� Fase 2. Decodificación

� Estas dos fases son comunes a todas las instrucciones

Establecimiento de las fases (2)

� Fase 3: Obtención de operandos y evaluación del código de condición Z.

� Caso I. Instrucciones Aritmético-Lógicas� Modo de direccionamiento directo a registro

� TEMP ← r1

� Modo de direccionamiento inmediato

Fases de

Ejecución

Tema 2. La Unidad Central de Proceso 14

� Modo de direccionamiento inmediato

� TEMP ← M[PC] (TEMP ← dato)

� PC ← PC +1

� Caso II. Instrucciones de referencia a memoria y salto

incondicional

� L ← M[PC] (L ← DirL)

� PC ← PC +1

� Caso III. Instrucción de salto condicional

� Z?

Establecimiento de las fases (3)

� Fase 4: Obtención de operandos, ejecución y conclusión de las instrucciones Aritmético-Lógicas.

� Caso II. Instrucciones Aritmético-Lógicas

� A ← A op TEMP

Fases de

Ejecución

Tema 2. La Unidad Central de Proceso 15

� Caso II. Instrucciones de referencia a memoria y salto

incondicional

� H ← M[PC] (H ← DirH)

� PC ← PC +1

� Caso III. Instrucción de salto condicional

� L ← M[PC] (L ← DirL)

� PC ← PC +1

Establecimiento de las fases (4)

� Fase 5: Conclusión de las instrucciones de acceso a memoria y salto incondicional y obtención de operandos.

� Caso II. Instrucciones de referencia a memoria� Instrucción de carga

� A ← M[HL]

Fases de

Ejecución

Tema 2. La Unidad Central de Proceso 16

� A ← M[HL]

� Instrucción de almacenamiento

� M[HL] ← A

� Caso II. Instrucción salto incondicional

� PC ← HL +1

� Caso III. Instrucción de salto condicional

� H ← M[PC] (H ← DirH)

� PC ← PC +1

Establecimiento de las fases (5)

� Fase 6: Conclusión de la instrucción de salto condicional.

� PC ← HL +1

Fases de

Ejecución

Tema 2. La Unidad Central de Proceso 17

Diagrama de fases final

Fases de

ejecución

RI←M[PC]

PC←PC + 1

DecodificaciónEvalución de Z

TEMP←r1 L←M[PC]

PC←PC+1

Fase 1

Fase 2

Fase 3ADD,SUB,ANA,ORA

LDA,STA,JMP JZ si Z=1

TEMP←M[PC]

PC←PC+1

ADI,SUI,ANI,ORI

L←M[PC]

PC←PC+1

PC Pc+1←

PC Pc+1←

JZ si Z=0

Tema 2. La Unidad Central de Proceso 18

PC←PC+1

A←A op TEMP

A←M(HL) M(HL)←A

Fase 4

Fase 5STA

LDA

H←M[PC]

PC←PC+1

PC←PC+1

A←A op TEMP

PC←HL+1

JMP

H←M[PC]

PC←PC+1

PC←HL+1

La ruta de datos

Fases de

ejecución

PC

SP

HLRI

MX0

1

2MEMORIA

+1

±1

dirección

dato

Tema 2. La Unidad Central de Proceso 19

A TEMP

R. E.

ALU

Banco

de

RegistrosM

X

Modificación

Identificación de las señales de control(1)

Unidad

de Control � Señales de control de salida para el banco de registros

Señal DescripciónCONTROL DE BANCO DE REGISTROS

Tema 2. La Unidad Central de Proceso 20

CONTROL DE BANCO DE REGISTROS

SELreg1

SELreg0

Seleccionan el registro al que se desea acceder del banco de registros: B,C, D o E.

Lreg Si se encuentra activada (valor 1), permite que el dato que se encuentra enel bus se almacene en el registro seleccionado.

Sreg Si se encuentra activada (valor 1) permite que el dato que se encuentra enel registro seleccionado aparezca en el bus. En caso contrario

Identificación de las señales de control(2)

Unidad

de Control

� Señales de control de salida para la memoria y la ALUSeñal Descripción

CONTROL DE LA MEMORIA

Lmem Señal de lectura de la memoria. Si su valor es 1, el dato almacenado en laposición de memoria que hay en el bus de direciones se coloca en el bus dedatos.

Emem Señal de escritura de la memoria. Si su valor es 1, el dato que se encentraen el bus de datos se almacena en la posición de memoria que hay en el

Tema 2. La Unidad Central de Proceso 21

en el bus de datos se almacena en la posición de memoria que hay en elbus de direcciones.

SDir2

SDir1

Señales de control al multiplexor que selecciona el dato a escribir en el busde direcciones para acceder a una posición de memoria. Dependiendo desu valor se accederá a la posición de memoria especificada por el registroPC, SP o HL..

CONTROL DE LA UNIDAD ARITMÉTICA Y LÓGICA

ALU2

ALU1

ALU0

Estas tres señales de control determinan la operación a realizar por la ALU:suma, resta, and, or , or exclusiva, incremento y decremento.

Salu Si se encuentra activada permite que el resultado de la ALU aparezca en elbus de datos.

Identificación de las señales de control(3)

Unidad

de Control

� Señales de control de salida para el registro de estado

Señal DescripciónCONTROL DEL REGISTRO DE ESTADO

LF Si se encuentra activa, carga los datos de la entrada en el registro deestado. El dato puede provenir de la ALU o del registro acumulador.

SF Si se encuentra activa, escribe en el bus de datos el contenido del registro

Tema 2. La Unidad Central de Proceso 22

SF Si se encuentra activa, escribe en el bus de datos el contenido del registrode estado.

SelO Señal de control a un multiplexor que selecciona como dato a escribir en elregistro de estado como flag de Overflow, el bit 2 del registro acumulador oel indicador de overflow procedente de la ALU.

SelC Señal de control a un multiplexor que selecciona como dato a escribir en elregistro de estado como flag de Carry, el bit 1 del registro acumulador o elindicador de Carry procedente de la ALU.

SelZ Señal de control a un multiplexor que selecciona como dato a escribir en elregistro de estado como flag de Cero, el bit 0 del registro acumulador o elindicador de Cero procedente de la ALU.

Identificación de las señales de control(4)

Unidad

de Control

� Señales de control de salida para los registros y señales de control de entrada.Señal Descripción

CONTROL DE REGISTROS

Lri Si está activa, el dato que se encuentra en el bus de datos se guardará en el registro de instrucción.

Lpc Si esta activa, ordena la carga del registro Contador de Porgrama con el dato que se encuentra a su entrada.

LspL Si está activa, ordena la carga de la parte baja del registro SP con el dato que se encuentra en el bus de datos.

LspH Si está activa, ordena la carga de la parte alta del registro SP con el dato que se encuentra en el bus de datos.

Tema 2. La Unidad Central de Proceso 23

Isp Si está activa, incrementa el contenido del registro SP en una unidad.

Dsp Si está activa, decrementa el contenido del registro SP en una unidad.

LdirL Si está activa, ordena la carga de la parte baja del registro HL con el dato que se encuentra en el bus de datos.

LdirH Si está activa, ordena la carga de la parte alta del registro HL con el dato que se encuentra en el bus de datos.

Lac Si esta activa, el dato que se encuentra en el bus de datos se guardará en el registro acumulador.

Sac Si está activa, el contenido del registro acumulador aparecerá en el bus de datos.

Ltemp Si está activa, el dato que se encuentra en el bus de datos, se guardará en el registro temporal que se encuentra en lasegunda entrada de la ALU.

ENTRADAS DE CONTROL

Z Representa el indicador Z generado por la ALU.

COP Código de operación, es el contenido del registro de Intrucción (RI).

Identificación de las señales de control(5)

Unidad

de Control

� Señales de control a los multiplexores, Banco de registros y la ALU.

SELreg1 SELreg0 Registro

0 0 B0 1 C1 0 D1 1 E

SDir2 SDir1 Dirección

0 0 PC0 1 SP1 0 HL1 1 No utilizada

Tema 2. La Unidad Central de Proceso 24

ALU2 ALU1 ALU0 Operación0 0 0 Suma0 0 1 Resta0 1 0 And0 1 1 Or1 0 0 Xor1 0 1 Incremento1 1 0 Decremento1 1 1 No utilizado

SelO Acción SelC Acción SelZ Acción0 O←ALUO 0 C←ALUC 0 Z←ALUZ1 O←A2 1 C←A1 1 Z←A0

Ruta de datos y control

Unidad

de Control

PC

SPMX

0

1

+1

±1

LpcIspDspLspL LDirH SDir2,1LspH LDirLLri

Lmem

Emem

ALU2,1,0

LTempLac

Sac

Lreg

SregSELreg1, 0

LFSF

SelZ SaluUNIDAD

DECONTROL

dirección

Tema 2. La Unidad Central de Proceso 25

A TEMP

SP

HLRI

R. E.

MX12 MEMORIA

ALU

Bancode

RegistrosMX

dirección

dato

Activación de las señales de control

Unidad

de Control

No se considerarán las instrucciones: ADD A, SUB A, ANA A y ORA A

Fases Operación Activación de señales

FASE1

RI ← M[PC]

PC ← PC + 1

SDir2, SDir1(=00), Lmem, Lri,

Lpc

FASE 2

Decodificación yevaluación de Z

FASE3

ADD, SUB, ANA, ORA TEMP ← r1 SELreg1,SELreg0 (=r1), Sreg, Ltemp

Tema 2. La Unidad Central de Proceso 26

ADD, SUB, ANA, ORA TEMP ← r1 SELreg1,SELreg0 (=r1), Sreg, Ltemp

ADI, SUI, ANI, ORI TEMP ← M[PC]

PC ← PC + 1

Ltemp, Lmem, SDir2, Sdir1(=00)

Lpc

LDA, STA, JMP, JZ L ← M[PC]

PC ← PC + 1

LdirL, Lmem, SDir2, Sdir1(=00)

Lpc

FASE 4

Aritmético-Lógicas A ← A op TEMP ALU2, ALU1, ALU0 (=operación), Salu, Lac

Transferencia y salto H ← M[PC]

PC ← PC + 1

LdirH, Lmem, SDir2, Sdir1(=00)

Lpc

FASE 5

LDA A ← M(HL) SDir2,SDir1 (=10), Lmem,Lac

STA M(HL) ← A SDir2,Sdir1 (=10), Emem, Sac

JMP, JZ PC ← HL + 1 Sdir2,Sdir1 (=10), Lpc

Fase 1 en la ejecución de LDA

Unidad

de Control

PC

SPMX

01

+1

±1

LpcIspDspLspL LDirH SDir2,1LspH LDirLLri

LmemEmem

ALU2,1,0

LTempLac

Sac

Lreg

SregSELreg1, 0

LFSF

SelZ SaluUNIDAD

DECONTROL

dirección

Tema 2. La Unidad Central de Proceso 27

A TEMP

HLRI

R. E.

2 MEMORIA

ALU

Banco

deRegistros

M

X

dato

Fase 2 en la ejecución de LDA

Unidad

de Control

PC

SPMX

0

1

+1

±1

LpcIspDspLspL LDirH SDir2,1LspH LDirLLri

Lmem

Emem

ALU2,1,0

LTempLac

Sac

Lreg

SregSELreg1, 0

LFSF

SelZ SaluUNIDAD

DECONTROL

dirección

Tema 2. La Unidad Central de Proceso 28

A TEMP

SP

HLRI

R. E.

1

2 MEMORIA

ALU

Banco

de

RegistrosM

X

dato

Fase 3 en la ejecución de LDA

Unidad

de Control

PC

MX0

+1

±1

LpcIspDspLspL LDirH SDir2,1LspH LDirLLri

LmemEmem

ALU2,1,0

LTempLac

Sac

Lreg

SregSELreg1, 0

LFSF

SelZ SaluUNIDAD

DECONTROL

dirección

Tema 2. La Unidad Central de Proceso 29

A TEMP

SP

HLRI

R. E.

MX1

2 MEMORIA

ALU

Banco

de

RegistrosM

X

dirección

dato

Fase 4 en la ejecución de LDA

Unidad

de Control

PC

SPMX

01

+1

±1

LpcIspDspLspL LDirH SDir2,1LspH LDirLLri

LmemEmem

ALU2,1,0

LTempLac

Sac

Lreg

SregSELreg1, 0

LFSF

SelZ SaluUNIDAD

DECONTROL

dirección

Tema 2. La Unidad Central de Proceso 30

A TEMP

HLRI

R. E.

2 MEMORIA

ALU

Banco

deRegistros

M

X

dato

Fase 5 en la ejecución de LDA

Unidad

de Control

PC

SPMX

01

+1

±1

LpcIspDspLspL LDirH SDir2,1LspH LDirLLri

LmemEmem

ALU2,1,0

LTempLac

Sac

Lreg

SregSELreg1, 0

LFSF

SelZ SaluUNIDAD

DECONTROL

dirección

Tema 2. La Unidad Central de Proceso 31

A TEMP

SP

HLRI

R. E.

MX1

2 MEMORIA

ALU

Banco

deRegistros

M

X

dirección

dato

LDA dir

Unidad

de Control

00Sdir2-1

L

Lri

LPc

00 00 02ZZ

Tema 2. La Unidad Central de Proceso 32

LPc

LDirL

LDirH

LAc

Fase

B y P I. S.

Deco Fase

Ejecución

Diseño de la Unidad de Control

� Control Cableado.� Implementación en Hardware, por lo tanto muy rápido.

� No es flexible: una modificación posterior implica cambiar el

circuito entero.

� Control Microprogramado.� Representación programada para el control.

Diseño de

la Unidad

de Control

Tema 2. La Unidad Central de Proceso 33

� Representación programada para el control.

� Más lento, al tener que acceder a la memoria de control.

� Flexible, permite cambios posterior sin tener que modificar el

circuito entero.

� Dos métodos para el diseño de la Unidad de Control Cableada

� Método de la tabla de estados

� Método del contador de secuencia

Método de la tabla de estados

� Basada en una máquina de estados finitos.

� Una máquina de estados finitos consta:� Memoria Interna que contiene el estado y

� Dos funciones combinacionales:

� La función de estado siguiente

� La función de salida

Unidad

de Control

Cableada

Tema 2. La Unidad Central de Proceso 34

� La función de salida

� Cada estado corresponde a un ciclo de reloj y contiene las

operaciones a realizar en ese ciclo.

� La función de estado siguiente es una función combinacional que

a partir de las entradas y el estado actual determina el estado

siguiente.

� La función de salida produce el conjunto de señales de control a

partir de sus entradas y el estado actual.

Grafo de estados

Método

de la tabla

de estados

0/S0

1/S1

C.Op.=XXXXZ=X

35h, 36h, 68h, 69h,X70h, 71h, 74h ,X

72h, 1

30h,18h, 20h, 24, X

C.Op.=72hZ=0

Tema 2. La Unidad Central de Proceso 35

8/S83/S3

24h,X

XX,X

9/S9

XX,X

10/S10 12/S1211/S11

XX,X XX,X

70h,X

6/S6 7/S75/S54/S4

30h,X

18h,X 20h,X

69h,X

XX,XXX,X

XX,X

XX,X

2/S2

35h,X 36h,X68h,X

71h,X

72h,74h,X

Función de salida

Método

de la tabla

de estadosFunción salida Estados

Señales control 0 1 2 3 4 5 6 7 8 9 10 11 12

Lri 1 0 0 0 0 0 0 0 0 0 0 0 0

SDir2,1 00 XX XX 00 XX XX XX XX 00 00 10 10 10

Lmem 1 0 0 1 0 0 0 0 1 1 1 0 0

Emem 0 0 0 0 0 0 0 0 0 0 0 1 0

Lpc 1 0 0 1 0 0 0 0 1 1 0 0 1

LspL 0 0 0 0 0 0 0 0 0 0 0 0 0

LspH 0 0 0 0 0 0 0 0 0 0 0 0 0

Como instrucciones Aritmético-Lógicas se consideran únicamente: Add B, SUB B, ANA B y ORA B

Tema 2. La Unidad Central de Proceso 36

LspH 0 0 0 0 0 0 0 0 0 0 0 0 0Isp 0 0 0 0 0 0 0 0 0 0 0 0 0

Dsp 0 0 0 0 0 0 0 0 0 0 0 0 0

LdiirL 0 0 0 0 0 0 0 0 1 0 0 0 0

LdirH 0 0 0 0 0 0 0 0 0 1 0 0 0SELreg1,0 XX XX 00 XX XX XX XX XX XX XX XX XX XX

Lreg 0 0 0 0 0 0 0 0 0 0 0 0 0

Sreg 0 0 1 0 0 0 0 0 0 0 0 0 0

Lac 0 0 0 0 1 1 1 1 0 0 1 0 0

Sac 0 0 0 0 0 0 0 0 0 0 0 1 0

Ltemp 0 0 1 1 0 0 0 0 0 0 0 0 0

ALU2,1,0 XXX XXX XXX XXX 000 001 010 011 XXX XXX XXX XXX XXX

Salu 0 0 0 0 1 1 1 1 0 0 0 0 0Sel0 X X X X 0 0 0 0 X X X X X

SelC X X X X 0 0 0 0 X X X X X

SelZ X X X X 0 0 0 0 X X X X X

LF 0 0 0 0 1 1 1 1 0 0 0 0 0

SF 0 0 0 0 0 0 0 0 0 0 0 0 0

Función de estado siguiente

Método

de la tabla

de estados

INSTRUCCIÓN E3 E2 E1 E0 PE3 PE2 PE1 PE00 0 0 0 0 0 0 1

72h,0 (JZ) 0 0 0 1 0 0 0 0

30h,18h,20h,24h,X (ADD,SUB,ANA,ORA) 0 0 0 1 0 0 1 0

35h,36h,68h,69h,X (ADI,SUI,ANI,ORI) 0 0 0 1 0 0 1 170h,71h,74h,X (LDA,STA,JMP);72h,1 (JZ) 0 0 0 1 1 0 0 0

30h,X ( ADD) 0 0 1 0 0 1 0 0

18h,X (SUB) 0 0 1 0 0 1 0 1

20h,X (ANA) 0 0 1 0 0 1 1 0

24h,X (ORA) 0 0 1 0 0 1 1 1

35h,X (ADI) 0 0 1 1 0 1 0 0

Tema 2. La Unidad Central de Proceso 37

35h,X (ADI) 0 0 1 1 0 1 0 036h,X (SUI) 0 0 1 1 0 1 0 1

68h,X (ANI) 0 0 1 1 0 1 1 0

69h,X (ORI) 0 0 1 1 0 1 1 1

0 1 0 0 0 0 0 0

0 1 0 1 0 0 0 0

0 1 1 0 0 0 0 00 1 1 1 0 0 0 0

1 0 0 0 1 0 0 1

70h,X (LDA) 1 0 0 1 1 0 1 0

71h,X (STA) 1 0 0 1 1 0 1 1

72h,74h , X (JMP, JZ) 1 0 0 1 1 1 0 0

1 0 1 0 0 0 0 01 0 1 1 0 0 0 0

1 1 0 0 0 0 0 0

Implementación de la Unidad de Control

� Unida de control construida como una máquina de estados finitos.

Método

de la tabla

de estados

Lógica deControl Salidas

Isp, Dsp

LdirH, LdirL

SELreg1,SELreg0

Lreg,Sreg

Lac, Sac

Ltemp

ALU1,Alu1,ALu0

Salu

LspH, LspL

Lri

SDir2, SDir1

Lmem

Emem

Lpc

Tema 2. La Unidad Central de Proceso 38

� El circuito combinacional podría implementarse mediante una ROM o una PLA.

Entradas

Registrode estado

Código de Operacióny Flag Z

Salu

SelO,SelC,SelZ

LF,SF

PE3

PE2

PE1

PE0

E0E1E2E3ZC3 C2 C1 C0C7 C6 C5C4

Implementación de la Unidad de Control

� Un PLA (array lógico programable) es un elemento lógico programable de propósito general para implementar cualquier función combinacional.

� Un PLA está formado por:• Un conjunto de entradas y salidas

Método

de la tabla

de estados

Tema 2. La Unidad Central de Proceso 39

Un conjunto de entradas y salidas• Un conjunto de puertas AND que forma un conjunto detérminos productos.

• Un conjunto de puertas OR cada uno de los cuales formauna suma lógica de cualquiera de los términos producto.

• Un conjunto de inversores para las entradas• Dos matrices de conexión modificables (AND y OR)

Implementación de la Unidad de Control

Método

de la tabla

de estados

En0

Ea0

En8

...

Ea3

Ea1

Ea2

S0 S1 S1 S1 S1 S12S1

30h 18h 20h 24h 72h,1

......

......

......

......

......

......

Tema 2. La Unidad Central de Proceso 40

Lri, Lmem,Lpc Sdir2,1=00

1 2 32

.......

.

.......

.

1

Salida

...

...Array OR

3 4 5 ..................

13 ......

......

......

1 Ef0

1 Ef11 Ef2

1 Ef3

2SELreg1,0=00Sreg,Ltemp

Implementación de la Unidad de Control

� El tamaño de un PLA es igual a la suma del tamaño del array de puertas AND y el tamaño del array de puertas OR.

� Para MaNoTaS = (13xnúmero diferentes términos producto) + (32xnúmero términos suma).

� Un PLA es más eficiente que una ROM ya que en lugar de

Método

de la tabla

de estados

Tema 2. La Unidad Central de Proceso 41

Un PLA es más eficiente que una ROM ya que en lugar dealmacenar la tabla de verdad completa, realiza una sumade productos mínima.

� La programación de un PLA es más difícil que una ROM.

Método del contador de secuencia

� Basado en un contador módulo K cuyas salidas se conectan a un decodificador generándose una señal individual por cada fase.� El contador atraviesa

Unidad

de Control

Cableada

reloj Puesta a ceroContadorMódulo K

DECODIFICADOR

Φ1 Φ2 Φk

Tema 2. La Unidad Central de Proceso 42

� El contador atraviesa

cíclicamente sus K estados.

� El decodificador genera K

señales pulsadas {Φj} que

son las señales de fase.

� Todas las fases tienen la

misma duración igual a un

ciclo de reloj.

Φ1

Φ2

ΦK

Φ3

fases

Implementación de la Unidad de Control

� Cada señal de control se obtiene de:Método del

Contador

de Fases

ADD

SUB

Contador de fases

Puesta a cero

Φ0 Φ1 Φ2 Φ3

Lri

Φ4

∑ ∑Φ=j m

lji Sc mI

Tema 2. La Unidad Central de Proceso 43

Z

STA

JMP

JZ

ANA

ORA

ADI

SUI

ANI

Lógica de controlcombinacional

Salidas

Decodificador de

instrucciones

IR[8-0]

Isp, Dsp

LdirH, LdirL

SELreg1,SELreg0

Lreg,Sreg

Lac, Sac

Ltemp

ALU1,Alu1,ALu0

Salu

SelO,SelC,SelZ

LF,SF

LspH, LspL

Lri

SDir2, SDir1

Lmem

Emem

Lpc

ORI

LDA

Ejemplos de funciones lógicas

� Funciones lógicas de salida para algunas señales de control.

Método

del Contador

de Fases

Señal Función lógica de salida

( )

Tema 2. La Unidad Central de Proceso 44

Puesta a cero ( ))Z·JZjmp(12sta11lda10

)aniana(6)suisub(5)adiadd(4ZJZ14

+⋅Φ+⋅Φ+⋅Φ+

++⋅Φ++⋅Φ++⋅Φ+⋅⋅Φ

Lpc ( )Zjzjmpstaldaorianisuiadi20 ⋅+++++++⋅Φ+Φ

ALU1

+++⋅Φ orioraaniana3

ALU0 ( )oriorasuisub3 +++⋅Φ

Emem sta4 ⋅Φ

Abstracción de la máquina

CONTROL

BUS de control

MaNoTas

Tema 2. La Unidad Central de Proceso 45

MEMORIA

RUTA DEDATOS

BUS dedirecciones

BUS de datos

ROCESADOR

Conclusiones

� La estructura de la ruta de datos influye sobre el

establecimiento de las fases.

� La estructura del repertorio de instrucciones influye sobre la

ruta de datos.

� La Unidad de Control cableada es muy eficiente puesto que las

Conclusiones

Tema 2. La Unidad Central de Proceso 46

señales de control se activan directamente por Hardware.

� Es adecuada cuando el conjunto de instrucciones no es demasiado

complejo.

� Tiene la desventaja de ser poco flexible ante modificaciones

posteriores.

� Los métodos de diseño de la UC estudiados son equivalentes,

diferenciándose en la mayor o menor facilidad de obtener las

funciones lógicas de las señales de control.