Upload
emygdio-guarin
View
32
Download
4
Embed Size (px)
Citation preview
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
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
Arquitectura Von Newmann y Harvard
Von Newmann
Harvard
MEMORIADatos
MEMORIADatos
MEMORIADatos
+Programa
Datapath del procesador de Boluda
Datapath del procesador de 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
Estructura de la memoria
Memoria
Procesador
Dat
os
Dire
ccio
nes
r_w
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
Máquina de estados
jz
Inicial
Búsqueda
Ejecución
and a
sub ald a xx
ld xx a add a
jmp
reset
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
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
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
Código VHDL del procesador
Componentes
• Registros• Triestado• Combinacional• Máquina de
estados
LaboratorioDiagrama de bloques
MEMORIADatos
+Programa
PERIFERICO
Puerto deSalida
Bus
de
Dat
osB
us d
e D
irecc
ione
sLEDS
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