PROCESADORES Clase Teórica N°3 Procesador de Pardo y Boluda.

16
PROCESADORES Clase Teórica N°3 Procesador de Pardo y Boluda

Transcript of PROCESADORES Clase Teórica N°3 Procesador de Pardo y Boluda.

Page 1: PROCESADORES Clase Teórica N°3 Procesador de Pardo y Boluda.

PROCESADORES

Clase Teórica N°3

Procesador de Pardo y Boluda

Page 2: PROCESADORES Clase Teórica N°3 Procesador de Pardo y Boluda.

Agenda• Introducción y Conceptos previos

– Arquitectura Harvard y Von Newmann– Diagrama de tiempos del bus de un procesador

• Estudio del DataPath del procesador de Boluda– Vista sin señales de control.

• Contador de programa• Registro de Instrucción• Acumulador

– Vista con señales de control.• Estructura de la memoria• Set de instrucciones (ISA)

– Códigos de operación.– Actividad para estudiar como es el flujo de datos en algunas instrucciones.

• Estudio del Código en VHDL del procesador– Registros– Triestado– Máquina de estados– Sección Combinacional

• Sobre el laboratorio– Descripción VHDL de una memoria RAM

Page 3: PROCESADORES Clase Teórica N°3 Procesador de Pardo y Boluda.

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•RW•CS•CE•OE

Page 4: PROCESADORES Clase Teórica N°3 Procesador de Pardo y Boluda.

Arquitectura Von Newmann y Harvard

Von Newmann

Harvard

MEMORIADatos

MEMORIADatos

MEMORIADatos

+Programa

Page 5: PROCESADORES Clase Teórica N°3 Procesador de Pardo y Boluda.

Datapath del procesador de Boluda

Page 6: PROCESADORES Clase Teórica N°3 Procesador de Pardo y Boluda.

Datapath del procesador de Boluda

Page 7: PROCESADORES Clase Teórica N°3 Procesador de Pardo y Boluda.

Estructura de la memoria

Código de Instrucción 0

Dato 0

Código de Instrucción 1

Dato 1

Código de Instrucción 2

Dato 2

Código de Instrucción 3

Dato 3

Programa

Datos

00

FF

00

01

02

03

04

05

06

07

Page 8: PROCESADORES Clase Teórica N°3 Procesador de Pardo y Boluda.

Estructura de la memoria

Memoria

Procesador

Dat

os

Dire

ccio

nes

r_w

Page 9: PROCESADORES Clase Teórica N°3 Procesador de Pardo y Boluda.

Set de instrucciones

Mnemónico • ld a,(xx)• ld (xx),a

• and a,(xx)• add a,(xx)• sub a(xx)

• jz xx• jmp xx

• nop

Código de operación• 000• 001• 010• 011• 100• 101• 110• 111

Page 10: PROCESADORES Clase Teórica N°3 Procesador de Pardo y Boluda.

Máquina de estados

jz

Inicial

Búsqueda

Ejecución

and a

sub ald a xx

ld xx a add a

jmp

reset

Page 11: PROCESADORES Clase Teórica N°3 Procesador de Pardo y Boluda.

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

jz 0x08

jmp 0x02

Page 12: PROCESADORES Clase Teórica N°3 Procesador de Pardo y Boluda.

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

jz 0x08

jmp 0x02

Page 13: PROCESADORES Clase Teórica N°3 Procesador de Pardo y Boluda.

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

0x02

0x000x000x800x010x040x020x810x030x050x040x080x050x060x060x020x07

0x10

lda 0x80

suba 0x81

jz 0x08

jmp 0x02

Page 14: PROCESADORES Clase Teórica N°3 Procesador de Pardo y Boluda.

Código VHDL del procesador

Componentes

• Registros• Triestado• Combinacional• Máquina de

estados

Page 15: PROCESADORES Clase Teórica N°3 Procesador de Pardo y Boluda.

LaboratorioDiagrama de bloques

MEMORIADatos

+Programa

PERIFERICO

Puerto deSalida

Bus

de

Dat

osB

us d

e D

irecc

ione

sLEDS

Page 16: PROCESADORES Clase Teórica N°3 Procesador de Pardo y Boluda.

LaboratorioCódigo en assembler

1. lda posición 128 2. suba posición 129 3. jz posición 84. jmp posición 25. lda posición 131 6. suba posición 129 7. ldxxa posición 1318. jz posición 189. jmp posición 010. lda posición 132 11. suba posición 129 12. ldxxa posición 132 13. jz posición 2814. jmp posición 015. lda posición 133 16. ldxxa posición 132 17. lda posición 130 18. adda posición 129 19. ldxxa posición 130 20. nop,nop21. jmp posición 0

MEMORIADatos

+Programa

PERIFERICO

Puerto deSalida

Bus

de

Dat

osB

us d

e D

irecc

ione

s

LEDS

??0??1??2??3??4??5??6??7

lda 0x80

suba 0x81

jz 0x08

jmp 0x02

25512811290130

255131255132

0255

Constantes

VariablesGPO

6133