Está en la página 1de 60

Introduccin a Microcontroladores

Un Procesador es
Un sistema electrnico capaz de:
FASE 1 (ciclo de lectura de
instrucciones)
Leer instrucciones desde una memoria
(memoria de programa) y
Fase 2
Decodificar y ejecutar las tareas
relacionadas con esas instrucciones.

Accesos a la memoria
El Procesado hace un acceso a la
memoria para leer instrucciones (fase 1)
y podra hacer otros accesos durante la
fase 2, de ejecucin de instrucciones;
por ejemplo para leer operandos de una
operacin aritmtica y/o para escribir un
resultado.

Arquitectura interna
Todo tecnologa de Procesadores se
caracteriza por una arquitectura interna
propia del chip, de lo que resulta un
conjunto de instrucciones propio del
mismo chip. No existen arquitecturas
internas estandarizadas ni tampoco un
set de instrucciones estandarizados.
Todos los Procesadores son distintos,
pero de una u otra forma, todos se
asemejan en algunos aspectos.

Un computador bsico

Un modelo simple de la memoria

Operacin bsica

Barra de direcciones
Define la cantidad de memoria que el
Procesador puede accesar.
Si un Procesador tiene 20 lneas o bits
de direcciones, su capacidad de
direccionamiento es de 220, igual a
1.048.576 localizaciones de memoria.
(A0, A1, A2, .., A19)
Barra unidireccional.

Barra de Datos
Barra bidireccional por donde fluyen los datos
entre el Procesador, la memoria o I/O.
El Procesador SOLO lee o escribe la memoria (o
I/O).
En la fase 1, slo fluyen los cdigos de
instrucciones desde la memoria al Procesador
(ciclo de lectura de instrucciones).

La Barra de Datos
Su tamao define el tipo de dato que maneja el
Procesador. Un Procesador de 16 bits tiene una
barra de datos de un word. (D0, D1, ., D15)
A mayor ancho de esta barra, el Procesador es
ms rpido, ya que con tan slo una operacin
es capaz de leer datos de una mayor cantidad
de bits.

La Barra de control
No estandarizada, depende de la
tecnologa.
Incorpora seales de control para el
manejo de la memoria e I/O.
Por ejemplo, seales como ~RD, ~WR,
~IO/M, y otras (~ indica negado).

Microprocesador en un chip
(microcontrolador).

Con capacidad de expansin

Terminales de control

Barras de datos y direcciones multiplexadas


en el tiempo.

Barras multiplexadas y la seal


de control ALE.

Barra Datos y Direcciones parcialmente


Multiplexada

Barra Datos y Direcciones totalmente


Multiplexada

Componentes internos

Memoria interna y externa

Memoria de Programa
Dependiendo del Procesador, puede
ser interna y/o externa (no voltil).
Contiene los cdigos de instrucciones
del programa, adems de los datos
propios del programa.
Desde esta memoria el Procesador
realiza la lectura de instrucciones.
(1er ciclo)

Memoria de Datos
Memoria (voltil) para que el programa
escriba los datos que produce.
Esta memoria es interna (RAMi), de
pequeo tamao (mx. algunas centenas de
datos).
Algunos Procesadores permiten conexin de
memoria de datos externa (RAMx), de
tamao significativamente mayor que la
RAMi.
El Procesador escribe y lee datos de la
Memoria de Datos durante el ciclo de
ejecucin de algunas instrucciones (2
ciclo).

La Unidad Aritmtica y Lgica (ALU)

RESET de Procesador
Pone una direccin de inicio en el PC
(Contador de Programa o Puntero de
Instrucciones). Define donde debe
ubicarse la primera instruccin del
programa.
Usualmente es la direccin 0, pero no
necesariamente. Si no es la direccin 0
(p.ej.: FFFF0H) se ubica all una
instruccin de Salto o Bifurcacin
incondicional a la direccin donde
efectivamente se inicia el programa.

Otras tareas del Reset


Adicionalmente, con Reset se inicializa
(se define el valor inicial) para algunos
registros internos del Procesador.

Electrnica para Reset

Mquinas diversas (1)

Mquinas diversas (2)

ALU en algunos Procesadores


(RISC, TI-MSP430)

Interrupciones
Orden de hardware para que el Procesador
suspenda temporalmente la ejecucin de un
programa, para pasar a ejecutar una rutina
determinada relacionada con la interrupcin
(servicio de la misma), retornando al programa
principal.
Los Procesadores tienen direcciones
predeterminadas para ubicar las rutinas de
servicio de la(s) interrupciones.
Uso: Atencin rpida a un evento externo que
se anuncia en un terminal del chip.

Proceso bsico de una interrupcin.

Interrupciones internas.
Los Procesadores pueden producir
interrupciones por eventos internos, los que
operan de manera similar a las interrupciones
externas.
Eventos internos posibles:
Divisin por cero
Rebalse de un contador
Trmino de un ingreso de 8 bits en una
comunicacin serie.
Trmino de conversin de un convertidor A/D
interno, etc..

Arquitecturas posibles de
Procesadores

Tecnologa RISC
Reduced Set Instruction Computer.
Instrucciones simples, de un ciclo (o dos) de
reloj.
Las instrucciones son ejecutadas
directamente por el hardware.
Instrucciones de formato fijo.

Adems, RISC .
Pocas instrucciones y pocos modos de
direccionamiento de la memoria.
En la generacin de aplicaciones, la
complejidad reside en el compilador o
ensamblador de programas. El microcdigo
(equivalente) se consigue en la compilacin
o ensamblado y se pone en memoria, para
ejecutarse por medio del hardware.

Formato fijo de RISC

Tecnologa CISC
Complex Intruction Set Computer
Instrucciones complejas de varios ciclos
de reloj.
Muchas instrucciones pueden
referenciar la memoria; an aquellas de
nivel A/L, en donde uno de los
operandos es un dato en la memoria.

Adems, los CISC


Las instrucciones son interpretadas y su
ejecucin se realiza a travs del
microcdigo relacionado.
Instrucciones de formato variable.
Muchas instrucciones y variados modos
de direccionamiento de la memoria.
La complejidad est en el Procesador,
en su microprograma.

Idea bsica de un CISC

Formato CISC
La instruccin INTEL MCS51, copiar el
contenido de la direccin 21H de la memoria
interna, a la direccin de memoria interna 56H,
mov 56H, 21H
Se codifica:
75H 56H 21H ;(3 bytes)
Incrementar el estado del Acumulador:
inc
A
Se codifica, 04H

;(1 byte)

Procesadores modernos
Combinan las mejores
caractersticas de ambas
tecnologas.
Ejemplo, los Pentium de INTEL,
son desde el punto de vista
externo CISC y trabajan
internamente como RISC.

Procesadores de Tarea dedicada


(Microcontroladores)
Caractersticas generales:

Todos los recursos en un "chip", a saber


ROM, temporizadores, RAM, contadores de
eventos, puertas paralelas y serie,
convertidores A/D, moduladores
especializados, y otros.
SRAM interna de un tamao que va desde
64 bytes a algunos Kilobytes.
Capacidad de direccionamiento limitada.
ROM (EPROM) interna de algunos Kilobytes,
y algunos tienen la capacidad de manejar
adicionalmente ROM (EPROM) externa hasta
unos 64 Kbytes). Son tpicamente de 8 bits y
existen de 16 y 32 bits.

Microcontroladores
Capacidad limitada (o nula) para realizar el
direccionamiento de datos en memoria externa.
Incorporan un procesador booleano o procesador a nivel
de bits.
Dispositivos internos programables: Temporizadores,
Contadores de Eventos, Conversores, Puertas paralelas
y seriales, etc..
Algunos incorporan una unidad matemtica (poco
usual).
En general, velocidades de operacin en el orden de 10
a 80 MHz.
Ejemplos: INTEL MCS-51 (8031), 8096, MICROCHIP
PIC...., etc..
Aplicaciones en artefactos y MONOTAREA.

Procesador con capacidad para


MULTITAREA

Proteccin en multitarea.
La administracin de la memoria debe
incorporar mecanismos de proteccin para el
acceso a la memoria (direccionamiento
protegido).
Es posible hacer acceso a la memoria desde
una tarea y a los espacios propios de memoria
de esa tarea.
No es posible hacer el acceso a la memoria
desde una tarea a otra mediante instrucciones
de la tarea.
(se puede usando mecanismos controlados
desde el Sistema Operativo: Marcar, copiar,
pegar).

Accesos y privilegios.
Desde una tarea es posible llamar o leer
cdigos desde tareas del Sistema
Operativo, pero no es posible escribir en
esas tareas (modificarlas).
Existe un conjunto de reglas rigurosas que
definen los niveles de privilegio entre las
aplicaciones, los programas que manejan
los dispositivos y los programas propios
del Sistema Operativo.

Procesadores monotarea
Realizan direccionamiento REAL (no
protegido), lo que significa acceso libre a
cualquier localizacin de memoria, sin
restriccin, para leer o escribir.
Son los Procesadores monotarea, tarea
dedicada.
Los chips tpicos son los
microcontroladores, para aplicaciones
incrustadas (embedded)..

En resumen, para
multitarea
Todo acceso a una localizacin de memoria
realizado por medio de las instrucciones de
un programa (para leer o escribir en ella)
debe ser validado (autorizado) por medio de
la verificacin de los privilegios definidos
para las tareas involucradas
(DIRECCIONAMIENTO PROTEGIDO)
Si la instruccin intenta hacer un acceso no
permitido segn el nivel de privilegios asignado,
produce un error de proteccin.

Procesadores grandes o para


Multitarea.
Caractersticas generales:
Memoria RAM interna limitada a un conjunto
limitado de registros. Capacidad para el manejo
de grandes cantidades de memoria externa.
Memoria de programa slo externa.
Capacidades de direccionamiento de a lo
menos 1 Megabyte. Manejan datos de 8, 16, 32,
64 ... bits.
Tienen variadas modalidades para direccionar la
memoria de datos o RAM. Pueden trabajar esta
memoria en forma segmentada, paginada, lo
que significa distintas maneras de organizarla.

Procesadores Multitarea.
Poseen capacidad para el manejo de multitarea, lo que
significa facilidad y rapidez para conmutar en la
ejecucin de ms de un programa; capacidad para
manejar el disco fijo del computador como una extensin
de la memoria RAM. Los ms modernos poseen
procesamiento paralelo de instrucciones.
Capacidades booleanas limitadas. Algunos poseen
instrucciones a nivel de cadenas (conjuntos de hasta 64
Kbytes).
Incorporan coprocesamiento matemtico y memoria
cach interna. Velocidades sobre 100MHz (hoy
GigaHertz)
Ejemplos: INTEL 80486, Pentium, Motorola 68040, etc..

Del punto de vista de los datos

Memoria cach
El problema en Procesadores grandes,
multitarea, rpidos (sobre 100 MHz):

Principio de probabilidad
Si algo ocurri, lo ms posible es
que vuelva a ocurrir.
Entonces:
Si el Procesador ley una instruccin o
un datos, lo ms posible es que en un
momento posterior debe volver a leer la
misma instruccin o dato.
Todos los programas estn conformados
por procesos iterativos de conjuntos de
instrucciones de hasta 8 Kbytes.

Incluir memoria cach

La memoria Cach
Memoria SRAM, rpida donde se
almacenan las ltimas instrucciones y
datos accesados.
El Procesador busca en el cach por
instrucciones que debe leer. Si fue leda
recientemente, est en el cach.
Si no, lee la memoria DRAM (lenta) y
escribe (actualiza) la memoria cach.

Cach HIT (aciertos)


Las veces que el Procesador
encuentra un dato en el cach
en relacin con la totalidad de
accesos que hace a la memoria,
es el Cach Hit.
Supera el 90% en sistemas
actuales.

La Unidad Matemtica de Punto


Flotante (FPU).
Incorporada en Procesadores grandes
(Multitarea).
Electrnica de a lo menos 80 bits, para
realizar aritmtica multiprecisin y el
clculo de funciones matemticas:
Trigonometra, logaritmos, potencias,
entre otras.
Esta electrnica tiene un conjunto de
instrucciones propio.

Arquitectura Paralela
El Procesador puede duplicar (y
triplicar) algunas partes internas,
para hacer ms rpidos sus
procesos internos. De esta
manera puede procesar en
paralelo partes de un programa.
Por ejemplo, puede tener dos
ALUs, dos FPU (Unidad de Punto
Flotante) y otros.

Esta introduccin

Termin.

También podría gustarte