28
PROCESADORES Clase Teórica N°5 Modos de direccionamiento

PROCESADORES Clase Teórica N°5 Modos de direccionamiento

Embed Size (px)

Citation preview

Page 1: PROCESADORES Clase Teórica N°5 Modos de direccionamiento

PROCESADORES

Clase Teórica N°5Modos de direccionamiento

Page 2: PROCESADORES Clase Teórica N°5 Modos de direccionamiento

Arquitectura general de un sistema de cómputo

MEMORIA

Programas – Datos - Pilas

PERIFÉRICOS

Sensores – Actuadores – Comunicaciones

Bus de direccionesBus de datos

Bus de control• R

W• C

S• C

E• O

E

Page 3: PROCESADORES Clase Teórica N°5 Modos de direccionamiento

Banco deRegistros

Clasificación de las arquitecturas de procesadores

• Pila• Acumulador• Banco de registros

Nivel 5Nivel 4Nivel 3Nivel 2Nivel 1Nivel 0

ALU ALU ALU

Page 4: PROCESADORES Clase Teórica N°5 Modos de direccionamiento

Banco deRegistros

Clasificación de las arquitecturas de procesadores

Nivel 5Nivel 4Nivel 3Nivel 2Nivel 1Nivel 0

ALU ALU ALU

Page 5: PROCESADORES Clase Teórica N°5 Modos de direccionamiento

Modos de direccionamiento

Definición:• Formas de hacer referencia a el contenido

de la memoria del procesador.

• ¿Cómo se accede a los datos al ejecutar las siguientes instrucciones?o a=a+5;o a=a+b;o a=a+b[3]; //(vector estático y dinámico)

Page 6: PROCESADORES Clase Teórica N°5 Modos de direccionamiento

Add R4, R3

Memoria principal

Modos de direccionamientoRegistro

Banco de Registros

R0R1R2R3R4R5R6R7

+

R4 • R4 + R3

Page 7: PROCESADORES Clase Teórica N°5 Modos de direccionamiento

Add R4, #5

Memoria principal

Modos de direccionamientoInmediato ó Literal

Banco de Registros

R0R1R2R3R4R5R6R7

+

R4 • R4 + 5

Page 8: PROCESADORES Clase Teórica N°5 Modos de direccionamiento

Modos de direccionamientoDirecto

Add R4, (1021)

Memoria principal

Banco de Registros

R0R1R2R3R4R5R6R7

+

R4 • R4 + M[1021]

Page 9: PROCESADORES Clase Teórica N°5 Modos de direccionamiento

Modos de direccionamientoIndirecto

Add R4, (R7)

Memoria principal

Banco de Registros

R0R1R2R3R4R5R6R7

+

R4 • R4 + M[R7]

Page 10: PROCESADORES Clase Teórica N°5 Modos de direccionamiento

Modos de direccionamientoDesplazamiento

Add R4, 100(R7)

Memoria principal

Banco de Registros

R0R1R2R3R4R5R6R7

+

+

100

R4 • R4 + M[100+R7]

Page 11: PROCESADORES Clase Teórica N°5 Modos de direccionamiento

Modos de direccionamientoIndexado

Add R4, (R0+R1)

Memoria principal

Banco de Registros

R0R1R2R3R4R5R6R7

+

+

R4 • R4 + M[R1+R0]

Page 12: PROCESADORES Clase Teórica N°5 Modos de direccionamiento

Modos de direccionamientoDiferido de memoria

Add R4, @(R7)

Memoria principal

Banco de Registros

R0R1R2R3R4R5R6R7

+

R4 • R4 + M[ M[R7] ]

Page 13: PROCESADORES Clase Teórica N°5 Modos de direccionamiento

Modos de direccionamientoAuto Incremento

Add R4, (R7)+

Memoria principal

Banco de Registros

R0R1R2R3R4R5R6R7

+

+d

R4 • R4 + M[R7]

R7 • R7 + d

Page 14: PROCESADORES Clase Teórica N°5 Modos de direccionamiento

Modos de direccionamientoAuto Decremento

Add R4, -(R7)

Memoria principal

Banco de Registros

R0R1R2R3R4R5R6R7

+

-d

R4 • R4 + M[R7]

R7 • R7 - d

Page 15: PROCESADORES Clase Teórica N°5 Modos de direccionamiento

Modos de direccionamientoEscalado

Add R4,10(R1)[R0]

Memoria principal

Banco de Registros

R0R1R2R3R4R5R6R7

+

xd

+10

R4 • R4 + M[10+R1+R0*d]

Page 16: PROCESADORES Clase Teórica N°5 Modos de direccionamiento

Resumen

EscaladoAuto Decremento

.Auto Incremento

.Diferido de memoria

IndexadoDesplazamiento

IndirectoDirecto

InmediatoRegistro

R4 • R4 + M[10+R1+R0*d]R4 • R4 + M[R7]R7 • R7 – d .R4 • R4 + M[R7]R7 • R7 + d .R4 • R4 + M[ M[R7] ] .R4 • R4 + M[R1+R0] .R4 • R4 + M[100+R7] .R4 • R4 + M[R7] .R4 • R4 + M[1021] .R4 • R4 + 5 .R4 • R4 + R3 .

Page 17: PROCESADORES Clase Teórica N°5 Modos de direccionamiento

Ejecución de una instrucciónjmp 0x02

jz

Inicial

Búsqueda

Ejecución

and a

sub ald a xx

ld xx a add a

jmp

reset

0x20

0x06

0x000x010x020x030x040x050x060x07

0x??

0x000x800x040x810x050x080x060x02

lda 0x80 suba 0x81jz 0x08jmp 0x02

Page 18: PROCESADORES Clase Teórica N°5 Modos de direccionamiento

Ejecución de una instrucciónjmp 0x02

jz

Inicial

Búsqueda

Ejecución

and a

sub ald a xx

ld xx a add a

jmp

reset

0x20

0x07

0x000x010x020x030x040x050x060x07

0x06

0x000x800x040x810x050x080x060x02

lda 0x80 suba 0x81jz 0x08jmp 0x02

Page 19: PROCESADORES Clase Teórica N°5 Modos de direccionamiento

Ejecución de una instrucciónsuba 0x81

jz

Inicial

Búsqueda

Ejecución

and a

sub ald a xx

ld xx a add a

jmp

reset

0x20

0x02

0x000x000x800x010x040x020x810x030x050x040x080x050x060x060x020x07

0x02

lda 0x80 suba 0x81jz 0x08jmp 0x02

Page 20: PROCESADORES Clase Teórica N°5 Modos de direccionamiento

Ejecución de una instrucciónsuba 0x81

jz

Inicial

Búsqueda

Ejecución

and a

sub ald a xx

ld xx a add a

jmp

reset

0x20

0x03

0x000x010x020x030x040x050x060x07

0x04

0x000x800x040x810x050x080x060x02

lda 0x80 suba 0x81jz 0x08jmp 0x02

Page 21: PROCESADORES Clase Teórica N°5 Modos de direccionamiento

jz

Inicial

Búsqueda

Ejecución

and a

sub ald a xx

ld xx a add a

jmp

reset

0x20

0x03

0x000x010x020x030x040x050x060x07

0x81

0x000x800x040x810x050x080x060x02

lda 0x80 suba 0x81jz 0x08jmp 0x02

Ejecución de una instrucciónsuba 0x81

Page 22: PROCESADORES Clase Teórica N°5 Modos de direccionamiento

Ejecución de una instrucciónjz 0x08

jz

Inicial

Búsqueda

Ejecución

and a

sub ald a xx

ld xx a add a

jmp

reset

0x1F

0x04

0x000x000x800x010x040x020x810x030x050x040x080x050x060x060x020x07

0x02

lda 0x80 suba 0x81jz 0x08jmp 0x02

Page 23: PROCESADORES Clase Teórica N°5 Modos de direccionamiento

Estudio delPIC

16F627A

Page 24: PROCESADORES Clase Teórica N°5 Modos de direccionamiento

Estudio delPIC

16F627A

Page 25: PROCESADORES Clase Teórica N°5 Modos de direccionamiento

LaboratorioDiagrama de bloques

MEMORIADatos

+Programa

PERIFERICO

Diseñado porUds

Bus de DatosBus de Direcciones

LEDS

Page 26: PROCESADORES Clase Teórica N°5 Modos de direccionamiento

Laboratorio• Diseñar e implementar un

periférico con las siguientes características:

 •

o Función: Contador de frecuencia variable

– o Configuración: Permitir,

por medio del registro (200) activar y modificar la frecuencia de trabajo del contador según la tabla:

Page 27: PROCESADORES Clase Teórica N°5 Modos de direccionamiento

Bus deDireccione

s

Laboratorio

9 10

11

Decodificador

···

21

22

23

24

1 2 3 4 5 6 7 8 25

26

27

28

Mclk

Contador

LEDs

Bus deDatos

r_w

Page 28: PROCESADORES Clase Teórica N°5 Modos de direccionamiento

Laboratorio

IMPORTANTE!Llevar al laboratorio adelantado:

• Descripción en VHDL del periférico simulado, por lo menos él funcionando independientemente.

• Programa de prueba en lenguaje de máquina para comprobar su funcionamiento.