tema2.ppt [modo de compatibilidad] · fases de ejec. de las instrucciones introducción diseño...

46
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ÍGUEZ JOSÉ ANTONIO SERRA PÉREZ

Upload: others

Post on 14-May-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: tema2.ppt [Modo de compatibilidad] · 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

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

Page 2: tema2.ppt [Modo de compatibilidad] · 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

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

Page 3: tema2.ppt [Modo de compatibilidad] · 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

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

Page 4: tema2.ppt [Modo de compatibilidad] · 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

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

Page 5: tema2.ppt [Modo de compatibilidad] · 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

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

Page 6: tema2.ppt [Modo de compatibilidad] · 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

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

Page 7: tema2.ppt [Modo de compatibilidad] · 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

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

Page 8: tema2.ppt [Modo de compatibilidad] · 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

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

Page 9: tema2.ppt [Modo de compatibilidad] · 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

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

Page 10: tema2.ppt [Modo de compatibilidad] · 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

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

Page 11: tema2.ppt [Modo de compatibilidad] · 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

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.

Page 12: tema2.ppt [Modo de compatibilidad] · 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

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

Page 13: tema2.ppt [Modo de compatibilidad] · 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

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

Page 14: tema2.ppt [Modo de compatibilidad] · 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

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?

Page 15: tema2.ppt [Modo de compatibilidad] · 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

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

Page 16: tema2.ppt [Modo de compatibilidad] · 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

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

Page 17: tema2.ppt [Modo de compatibilidad] · 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

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

Page 18: tema2.ppt [Modo de compatibilidad] · 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

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

Page 19: tema2.ppt [Modo de compatibilidad] · 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

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

Page 20: tema2.ppt [Modo de compatibilidad] · 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

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

Page 21: tema2.ppt [Modo de compatibilidad] · 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

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.

Page 22: tema2.ppt [Modo de compatibilidad] · 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

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.

Page 23: tema2.ppt [Modo de compatibilidad] · 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

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).

Page 24: tema2.ppt [Modo de compatibilidad] · 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

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

Page 25: tema2.ppt [Modo de compatibilidad] · 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

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

Page 26: tema2.ppt [Modo de compatibilidad] · 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

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

Page 27: tema2.ppt [Modo de compatibilidad] · 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

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

Page 28: tema2.ppt [Modo de compatibilidad] · 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

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

Page 29: tema2.ppt [Modo de compatibilidad] · 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

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

Page 30: tema2.ppt [Modo de compatibilidad] · 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

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

Page 31: tema2.ppt [Modo de compatibilidad] · 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

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

Page 32: tema2.ppt [Modo de compatibilidad] · 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

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

Page 33: tema2.ppt [Modo de compatibilidad] · 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

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

Page 34: tema2.ppt [Modo de compatibilidad] · 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

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.

Page 35: tema2.ppt [Modo de compatibilidad] · 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

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

Page 36: tema2.ppt [Modo de compatibilidad] · 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

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

Page 37: tema2.ppt [Modo de compatibilidad] · 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

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

Page 38: tema2.ppt [Modo de compatibilidad] · 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

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

Page 39: tema2.ppt [Modo de compatibilidad] · 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

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)

Page 40: tema2.ppt [Modo de compatibilidad] · 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

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

Page 41: tema2.ppt [Modo de compatibilidad] · 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

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.

Page 42: tema2.ppt [Modo de compatibilidad] · 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

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

Page 43: tema2.ppt [Modo de compatibilidad] · 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

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

Page 44: tema2.ppt [Modo de compatibilidad] · 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

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 ⋅Φ

Page 45: tema2.ppt [Modo de compatibilidad] · 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

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

Page 46: tema2.ppt [Modo de compatibilidad] · 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

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.