• No se han encontrado resultados

1232345 13

N/A
N/A
Protected

Academic year: 2022

Share "1232345 13"

Copied!
46
0
0

Texto completo

(1)

ARQUITECTURAS DE COMPUTADORES

2º CURSO INGENIERÍA TÉCNICA

EN INFORMÁTICA DE GESTIÓN

EN INFORMÁTICA DE GESTIÓN

TEMA 2 – UNIDAD DE CONTROL

JOSÉ GARCÍA RODRÍGUEZ

(2)

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



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

(3)

Introducción



Mecanismo de ejecución de las instrucciones



Diseño de la Unidad de Control

EL procesador

Unidad de proceso

Dirección Datos proceso

Unidad de Control

Unidad de Memoria

Datos

Lectura Escritura

(4)

Repertorio de instrucciones elegido

Instrucciones

Formato tipo 1 7 0

COP 8 bits

Operación Sintaxis Descripción Cód. Oper.

Suma ADD r1 A A+ r1 30h, 31h, 32h, 33h, 45h Resta SUB r1 A A r1 18h, 19h, 1Ah, 1Bh, 46h

And ANA r1 A Aand r1 20h, 21h, 22h, 23h, 48h

Or ORA r1 A Aor r1 24h, 25h, 26h, 27h, 49h

(5)

Repertorio de instrucciones elegido

Instrucciones

Formato tipo 2

15 8 7 0

COP dato

8 bits 8 bits

Operación Sintaxis Descripción Cód. Oper.

Suma Inmediata ADI dato A A+dato 35h

Resta Inmediata SUI dato A Adato 36h

And Inmediata ANI dato AAanddato 68h

Or Inmediata ORI dato AAordato 69h

(6)

Repertorio de instrucciones elegido

Instrucciones

Formato tipo 3

23 16 15 8 7 0

COP DesplazamientoL DesplazamientoH

8 bits 8 bits 8 bits

Operación Sintaxis Descripción Cód. Oper.

Cargar LDA dir A ←M(dir) 70h

Almacenar STA dir M(dir) A 71h

Salto incondicional JMP dir PC ←dir 74h

Salto si FZ=1 JZ dir SiFZ =1PCdir 72h

(7)

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

A TEMP

B. R.

Memoria HL

ALU

(8)

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

A

B. R. HL Memoria

Enlace ALU

(9)

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

A

B. R. HL Memoria

ALU

(10)

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

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ón de la I. siguiente

(11)

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

 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.

(12)

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 3

ADD,SUB,ANA,ORA

LDA,STA,JMP JZ

TEMP←M[PC]

PC ←PC+1 ADI,SUI,ANI,ORI

PC Pc+1 PC Pc+1

PC ←PC+1

A←A op TEMP

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

Fase 4

Fase 5

STA 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

(13)

Establecimiento de las fases (1)



Fase 1: Búsqueda de la instrucción

 RI ← M[PC]

 PC ← PC + 1

Fases de Ejecución



Fase 2. Decodificación

 Estas dos fases son comunes a todas las instrucciones

(14)

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

 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?

(15)

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

 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)

(16)

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

 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

(17)

Establecimiento de las fases (5)



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

 PC ← HL +1

Fases de Ejecución

(18)

Diagrama de fases final

Fases de ejecución

RI←M[PC]

PC←PC + 1

Decodificación Evalución de Z

TEMP←r1 L←M[PC]

PC←PC+1

Fase 1

Fase 2

Fase 3

ADD,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

PC←PC+1

A←A op TEMP

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

Fase 4

Fase 5

STA 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

(19)

La ruta de datos

Fases de ejecución

PC SP

RI HL

0MX 1

2 MEMORIA

+1

±1

dirección

dato

A TEMP

R. E.

ALU Banco

de

Registros M

X

Modificación

(20)

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ón

CONTROL DE BANCO DE REGISTROS 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 en el bus se almacene en el registro seleccionado.

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

(21)

Identificación de las señales de control

(2)

Unidad de Control

 Señales de control de salida para la memoria y la ALU

Señal Descripción

CONTROL DE LA MEMORIA

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

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

SDir2 SDir1

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

CONTROL DE LA UNIDAD ARITMÉTICA Y LÓGICA

ALU2 ALU1

Estas tres señales de control determinan la operación a realizar por la ALU:

suma, resta, and, or , or exclusiva, incremento y decremento.

(22)

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ón

CONTROL DEL REGISTRO DE ESTADO

LF Si se encuentra activa, carga los datos de la entrada en el registro de estado. 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 SF Si se encuentra activa, escribe en el bus de datos el contenido del registro

de estado.

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

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

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

(23)

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.

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 la segunda entrada de la ALU.

ENTRADAS DE CONTROL

Z Representa el indicador Z generado por la ALU.

(24)

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 B

0 1 C

1 0 D

1 1 E

SDir2 SDir1 Dirección

0 0 PC

0 1 SP

1 0 HL

1 1 No utilizada

ALU2 ALU1 ALU0 Operación

0 0 0 Suma

0 0 1 Resta

0 1 0 And

0 1 1 Or

1 0 0 Xor

1 0 1 Incremento

1 1 0 Decremento

1 1 1 No utilizado

SelO Acción SelC Acción SelZ Acción

0 O←ALUO 0 C←ALUC 0 Z←ALUZ

1 O←A2 1 C←A1 1 Z←A0

(25)

Ruta de datos y control

Unidad de Control

PC

SP 0MX

1 +1

±1 Isp Lpc

LspLDsp LDirH SDir2,1

LspH LDirL

Lri

Lmem Emem ALU2,1,0 LTemp

Lac Sac

Lreg Sreg SELreg1, 0 LF SF

SelZ Salu

UNIDAD DE CONTROL

dirección

A TEMP

SP RI HL

1MX

2 MEMORIA

ALU Banco

de Registros

M X

dirección

dato

(26)

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 y evaluación de Z FASE3

ADD, SUB, ANA, ORA TEMP ← r1 SELreg1,SELreg0 (=r1), Sreg, Ltemp 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

(27)

Fase 1 en la ejecución de LDA

Unidad de Control

PC

SP 0MX

1 +1

±1

Lpc Dsp Isp

LspL LDirH SDir2,1

LspH LDirL

Lri

Lmem Emem ALU2,1,0 LTemp

Lac Sac

Lreg Sreg SELreg1, 0

LF SF

SelZ Salu

UNIDAD DE CONTROL

dirección

A TEMP

RI HL 2 MEMORIA

ALU Banco

de Registros

M X

dato

(28)

Fase 2 en la ejecución de LDA

Unidad de Control

PC

SP 0MX

1 +1

±1

Lpc Dsp Isp

LspL LDirH SDir2,1

LspH LDirL

Lri

Lmem Emem ALU2,1,0 LTemp

Lac Sac

Lreg Sreg SELreg1, 0

LF SF

SelZ Salu

UNIDAD DE CONTROL

dirección

A TEMP

SP RI HL

R. E.

1

2 MEMORIA

ALU Banco

de Registros

M X

dato

(29)

Fase 3 en la ejecución de LDA

Unidad de Control

PC

0MX +1

±1

Lpc Dsp Isp

LspL LDirH SDir2,1

LspH LDirL

Lri

Lmem Emem ALU2,1,0 LTemp

Lac Sac

Lreg Sreg SELreg1, 0 LF SF

SelZ Salu

UNIDAD DE CONTROL

dirección

A TEMP

SP RI HL

1MX

2 MEMORIA

ALU Banco

de Registros

M X

dirección

dato

(30)

Fase 4 en la ejecución de LDA

Unidad de Control

PC

SP 0MX

1 +1

±1

Lpc Dsp Isp

LspL LDirH SDir2,1

LspH LDirL

Lri

Lmem Emem ALU2,1,0 LTemp

Lac Sac

Lreg Sreg SELreg1, 0

LF SF

SelZ Salu

UNIDAD DE CONTROL

dirección

A TEMP

RI HL

R. E.

2 MEMORIA

ALU Banco

de Registros

M X

dato

(31)

Fase 5 en la ejecución de LDA

Unidad de Control

PC

SP 0MX

1 +1

±1

Lpc Dsp Isp

LspL LDirH SDir2,1

LspH LDirL

Lri

Lmem Emem ALU2,1,0 LTemp

Lac Sac

Lreg Sreg SELreg1, 0

LF SF

SelZ Salu

UNIDAD DE CONTROL

dirección

A TEMP

SP RI HL

1MX

2 MEMORIA

ALU Banco

de Registros

M X

dirección

dato

(32)

LDA dir

Unidad de Control

Sdir2-1 00 L

Lri LPc

00 00 02

ZZ

LPc LDirL LDirH

LAc

Fase B y P I. S.

Deco Fase

Ejecución

(33)

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

 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

(34)

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

 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.

(35)

Grafo de estados

Método de la tabla de estados

0/S0

1/S1 C.Op.=XXXX

Z=X

35h, 36h, 68h, 69h,X

70h, 71h, 74h ,X 72h, 1 30h,18h, 20h, 24, X

C.Op.=72h Z=0

3/S3 8/S8

24h,X

XX,X

9/S9

70h,X

6/S6 7/S7

4/S4 5/S5 30h,X

18h,X 20h,X

69h,X

XX,X XX,X

XX,X XX,X

2/S2

35h,X 36h,X

68h,X

71h,X

72h,74h,X

(36)

Función de salida

Método de la tabla de estados

Funció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

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

Isp 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 0

SELreg1,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 0

Sel0 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

(37)

Función de estado siguiente

Método de la tabla de estados

INSTRUCCIÓN E3 E2 E1 E0 PE3 PE2 PE1 PE0

0 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 1 70h,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

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

36h,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 0

0 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 0

(38)

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 de

Control Salidas

Isp, Dsp LdirH, LdirL SELreg1,SELreg0

Lreg,Sreg Lac, Sac Ltemp

ALU1,Alu1,ALu0 Salu

LspH, LspL Lri

SDir2, SDir1 Lmem Emem Lpc

 El circuito

combinacional podría implementarse

mediante una ROM o una PLA.

Entradas

Registro de estado Código de Operación

y Flag Z

Salu

SelO,SelC,SelZ LF,SF

PE3 PE2 PE1 PE0

E1 E0 E2 E3 Z

C3 C2 C1 C0 C7 C6 C5 C4

(39)

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

Un conjunto de entradas y salidas

Un conjunto de puertas AND que forma un conjunto de términos productos.

Un conjunto de puertas OR cada uno de los cuales forma una 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)

(40)

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 S1 S12

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

...

...

...

...

...

...

Lri, Lmem,Lpc Sdir2,1=00

1 2 32

...

. ...

.

1

Salida ...

Array OR ...

3 4 5 ...

...

...

13 ...

...

...

1 Ef0

1 Ef1

1 Ef2

1 Ef3

2 SELreg1,0=00

Sreg,Ltemp

(41)

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

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

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

(42)

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 Contador Puesta a cero Módulo K

DECODIFICADOR

Φ1 Φ2 Φk

 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

(43)

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

l j

i

S

c I

m

STA JMP JZ ANA ORA ADI SUI ANI

Lógica de control combinacional

Salidas Decodificado

r de instruccione

s

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

(44)

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

( )

Puesta a cero

( )

) Z

· JZ jmp ( 12 sta

11 lda

10

) ani ana

( 6 ) sui sub ( 5 ) adi add

( 4 Z

JZ

14

+

Φ +

Φ +

Φ +

+ +

Φ + +

Φ + +

Φ +

Φ

Lpc Φ0+Φ2(adi+ sui + ani+ori +lda+ sta + jmp+ jzZ)

ALU1

+ + +

Φ3 ana ani ora ori

ALU0 Φ3(sub+ sui +ora +ori)

Emem Φ4sta

(45)

Abstracción de la máquina

CONTROL

BUS de control

MaNoTas

MEMORIA

RUTA DE DATOS

BUS de direcciones

BUS de datos

ROCESADOR

(46)

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

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.

Referencias

Documento similar

Una vez que el módulo está configurado para modo Maestro, habilitado y el dato ha sido transmitido escribiendo en el registro SPIxBUF , el bit SPITBF (SPI Transmit Buffer Full

operación de escritura, de igual forma que se hace con el PIC 16F84, es decir, antes de iniciar la escritura de un dato en la memoria, se debe escribir en el registro EECON2

Ingresa Dato: Si se selecciona este modo, el registro cargará los datos presentes en el puerto paralelo (este se configura como entrada automáticamente) para luego ser extraídos del

La señal SelResult selecciona el resultado de la UPA y la dirección efectiva, y los guarda en el registro de segmentación EX/WB; también son guardadas las señales de control

Que sólo tener en cuenta este dato es suficiente para ver en su tomade la escritura un acto de conquista de su identidad propia, porque sin ella no se puede escribir, de manera

Desplazar 1 bit a la derecha el registro producto Fin repetir ALU Multiplicando Multiplicador Producto Despl.. derecha Escribir Suma Control n bits 2n bits C Versión

Después de escribir el byte de datos en el puerto EPP el PC baja la señal DATA STROBE para indicar que la impresora puede leer el dato desde las líneas de datos

La señal SelResult selecciona el resultado de la UPA y la dirección efectiva, y los guarda en el registro de segmentación EX/WB; también son guardadas las señales de control