PROCESADORES Clase Teórica N°5 Modos de direccionamiento

Preview:

Citation preview

PROCESADORES

Clase Teórica N°5Modos 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

Banco deRegistros

Clasificación de las arquitecturas de procesadores

• Pila• Acumulador• Banco de registros

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

ALU ALU ALU

Banco deRegistros

Clasificación de las arquitecturas de procesadores

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

ALU ALU ALU

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)

Add R4, R3

Memoria principal

Modos de direccionamientoRegistro

Banco de Registros

R0R1R2R3R4R5R6R7

+

R4 • R4 + R3

Add R4, #5

Memoria principal

Modos de direccionamientoInmediato ó Literal

Banco de Registros

R0R1R2R3R4R5R6R7

+

R4 • R4 + 5

Modos de direccionamientoDirecto

Add R4, (1021)

Memoria principal

Banco de Registros

R0R1R2R3R4R5R6R7

+

R4 • R4 + M[1021]

Modos de direccionamientoIndirecto

Add R4, (R7)

Memoria principal

Banco de Registros

R0R1R2R3R4R5R6R7

+

R4 • R4 + M[R7]

Modos de direccionamientoDesplazamiento

Add R4, 100(R7)

Memoria principal

Banco de Registros

R0R1R2R3R4R5R6R7

+

+

100

R4 • R4 + M[100+R7]

Modos de direccionamientoIndexado

Add R4, (R0+R1)

Memoria principal

Banco de Registros

R0R1R2R3R4R5R6R7

+

+

R4 • R4 + M[R1+R0]

Modos de direccionamientoDiferido de memoria

Add R4, @(R7)

Memoria principal

Banco de Registros

R0R1R2R3R4R5R6R7

+

R4 • R4 + M[ M[R7] ]

Modos de direccionamientoAuto Incremento

Add R4, (R7)+

Memoria principal

Banco de Registros

R0R1R2R3R4R5R6R7

+

+d

R4 • R4 + M[R7]

R7 • R7 + d

Modos de direccionamientoAuto Decremento

Add R4, -(R7)

Memoria principal

Banco de Registros

R0R1R2R3R4R5R6R7

+

-d

R4 • R4 + M[R7]

R7 • R7 - d

Modos de direccionamientoEscalado

Add R4,10(R1)[R0]

Memoria principal

Banco de Registros

R0R1R2R3R4R5R6R7

+

xd

+10

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

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 .

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

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

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

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

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

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

Estudio delPIC

16F627A

Estudio delPIC

16F627A

LaboratorioDiagrama de bloques

MEMORIADatos

+Programa

PERIFERICO

Diseñado porUds

Bus de DatosBus de Direcciones

LEDS

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:

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

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.