Académique Documents
Professionnel Documents
Culture Documents
Objetivos de la asignatura
Objetivos generales:
Detectar y corregir errores en un sistema que no funciona a nivel de software. Desarrollar la sistematizacin del trabajo para resolver problemas sencillos.
Objetivos especficos:
Entender la arquitectura, a nivel del modelo de programador, de un microcontrolador. Entender su documentacin. Interaccionar con el exterior usando los perifricos del micro. Entender y ser capaz de abordar cualquier problema que requiera el uso de microcontroladores. Disear, a nivel hardware, un sistema digital elemental basado en un microcontrolador. Utilizar las herramientas de desarrollo propias de un microcontrolador: ensamblador y depurador.
Introduccin a los SED - 2
Modelo de programador
2. Memoria
1. CPU 3. Entrada/Salida
La CPU
CPU
SR 1.ALU ALU
Memoria
Rx
Entrada/Salida
PC IR
2. Unidad de Control
3. Registros de la CPU:
Rx: Registros genricos PC: Program counter SR: Status register IR: Instruction register
Introduccin a los SED - 4
La memoria.
Todo en binario
Agrupados de 4 en 4 bits: nmero en hexadecimal !!!
Direcciones de memoria
0x0000: la ms baja 0xFFFF: la ms alta
FFFF A0
Ejemplo
add R1,R0
Significa
Suma los datos almacenados en los registros R0 y R1 Guarda el resultado en el registro R1
Instruccin en binario
0001 0000 0001 0000 0x1010
Donde Cod. Op.: Cdigo de operacin Cuantas operaciones puede soportar la mquina?
Donde Rs1: Registro parmetro 1 Rs1: Registro parmetro 2 Cuntos registros puede tener?
Donde mem: direccin de memoria Hasta donde puede direccionar en memoria esta instruccin?
Y dejar el resultado en
Direccin 0x84 de memoria
Programa
MEM[0x84] <- MEM[0x82] + MEM[0x80]
En ensamblador
move move add move R0, 0x80 R1, 0x82 R1, R0 0x84, R1
0080 0082
0007 0003
Dato Dato
Resultado?
Introduccin a los SED - 11
Ciclo de instruccin
Dos pasos:
Captura de la instruccin (Instruction Fetch) Ejecucin
Fase de Fetch
1. El Contador de Programa (PC) contiene la direccin de la prxima instruccin a ejecutar 2. El procesador captura la instruccin de memoria 3. La instruccin se carga en el Registro de Instrucciones (IR) 4. El PC se incrementa
Salvo en las instrucciones de salto
CPU
Memoria
Dir 0000 0002 Inst 2080 2182
Introduccin a los SED - 13
Fase de ejecucin
CPU
1
Memoria
Dir 0080 0082 Dato 0007 0003
Unidad de 4 Control
PC=0 IR
Entrada/Salida
Introduccin a los SED - 14
Fetch
Execute
0000 0002
0002 2080
PC IR
0080 0082
0007 0000
R0 R1
move
0000 0002 2080 2182 1010
r1, 0x82
0004 2182 PC IR 0080 0082 0007 0003 0000 0007 0003 R0 R1
Fetch
0004 0006
0006 1010
PC IR
R0 R1 R2
move
0004 0006 1010 3841 0000
0x84, r1
0008 3841 PC IR 0080 0082 0084 0007 0003 000A 0007 000A 0000 R0 R1 R2
Arquitectura de microprocesador
Organizacin de computadores
Cmo est organizado por dentro para procesar esos datos segn esas instrucciones
Esta asignatura
Fundamentalmente interesa la Arquitectura
Lo que ve un programador
C167 Memoria VER RESULTADOS
Escribir programa en el editor
Variables Datos
Fuente
Ensamblador/ Compilador
Programa
CPU
Direcciones
Monitor
Stack
Enlazar
Cdigo mquina
INTRODUCIR DATOS
Ejecutar
Sistema electrnico
PROGRAMAS uC
DATOS Cdigos de alto nivel ASCII Interpretacin 0's y 1's Nmeros con y sin signo
PROGRAMAS FPGA
Lenguaje C
Lenguaje VHDL
ABSTRACCIN
Un programador experto
Memoria
Entrada/Salida
Desde la CPU todo se ve como direcciones. El mapa de memoria es un vector donde el ndice es la direccin. Bus de datos Bus de direcciones Bus de control
Interrupciones
Mecanismo por el cual otros mdulos (e.g. I/O) pueden alterar la secuencia normal de programa
Timers : Con el rebose de un temporizador I/O: Del controlador E/S (p.e. Datos disponibles)
Memoria
Entrada/ Salida
LINEA DE INTERRUPCION