Está en la página 1de 4

Diferencia entre microprocesador y microcontrolador

Hay varias diferencias entre un microcontrolador y un microprocesador, la primera y ms importante es la funcionalidad,


me explico.
Para que un microprocesador sea funcional requiere conectarse a una memoria y a dispositivos de entrada y salida (E/S).
Para aclarar esto piensen en la tarjeta principal de su computadora personal, adems de un buen microprocesador, requieren
de memoria RAM y como ustedes saben en la tarjeta principal (motherboard) tenemos un sper circuito integrado
llamado chipset que entre otras cosas se encarga de proporcionar las funciones de entrada y salida, tales como el control
de los puertos serial ,paralelo, USB, IEEE-1394, Ethernet y de las ranuras ISA, PCI, AGP y ms.
En cambio en un microcontrolador tenemos tanto las capacidades de procesamiento, almacenamiento de datos e
instrucciones (memoria) y de comunicacin con el entorno (E/S) dentro de un slo chip No requiere de otros componentes
para funcionar! De hecho puede considerarse como una microcomputadora en un slo chip!
Obviamente tanta belleza tiene algunas desventajas, sobre todo derivadas del hecho de que se trata de un sistema cerrado
con caractersticas que no pueden modificarse, de ah que sea muy importante su seleccin.
Otra diferencia es la arquitectura (los bloques funcionales internos y la forma en que se conectan), normalmente la de los
microprocesadores es la tradicional de Von Neumann, mientras que la de los microcontroladores es la Harvard y aunque ya
no hay arquitecturas puramente CISC o RISC ya que actualmente comparten muchas caractersticas, la de los
microcontroladores es RISC. No debemos de olvidar que la arquitectura Harvard se distingue por tener una memoria para
los datos y otra para las instrucciones, cada una con propio bus y capacidad.
ACI UAN - Cursos complementarios de software 1
Arquitectura bsica de un microcontrolador
Trataremos de una manera muy simple los principales bloques funcionales del microcontrolador.
1. Memoria
Para manejar la memoria requerimos indicar la localidad mediante su direccin (direccionamiento) y recibir o mandar los
datos que deseamos leer o escribir, poniendo un 1 o un 0 en la lnea de lectura/escritura (R/W).
2. CPU
El CPU se encarga de realizar las operaciones aritmticas y lgicas auxilindose de unas pocas localidades de memoria
construidas para tal fin, llamadas registros. En ellos se almacenan los datos que va a procesar la unidad aritmtica-lgica,
ALU, as como los resultados. Es claro que tanto los datos a procesar materia prima, como los resultados producto
terminado requieren ser intercambiados con la memoria, que tiene mayor capacidad de almacenamiento, lo que ocasiona la
necesidad de una va rpida para su comunicacin, llamada bus.
3. Bus
Fsicamente son manojos de 8, 16 o ms alambres o pistas conductoras. El microcontrolador cuenta con dos tipos de
buses: de datos y de direcciones. El nmero de pistas del bus de direcciones depende de la cantidad de memoria del
microcontrolador y el bus de datos depende del ancho de los datos, normalmente 8 bits.
El bus de direcciones nos sirve para transmitir direcciones entre el CPU y memoria, y el bus de datos para conectar el resto
ACI UAN - Cursos complementarios de software 2
de bloques. Finalmente para enviar o recibir datos al microcontrolador necesitamos un bloque cuyas localidades de memoria
estn conectadas al bus de datos por un extremo y por el otro a los pines (patitas) del microcontrolador que ser nuestro
siguiente bloque funcional.
4. Entrada y salida
A las localidades referidas al final del punto anterior las llamamos puertos y pueden ser de diferente tipo: de entrada, de
salida o bidireccionales. Al trabajar con un puerto primero necesitamos seleccionarlo y despus recibir o enviar los datos a
su travs.
El puerto se maneja como si fuese una localidad de memoria, se mandan o reciben datos a travs de los pines del
microcontrolador.
5. Comunicacin serial
El microcontrolador trabaja en modo full-duplex con un protocolo serial NRZ (Non-Return to Zero) que requiere 3 lneas de
transmisin.
ACI UAN - Cursos complementarios de software 3
6. Temporizador
Este bloque funcional lo utilizaremos para manejar el tiempo. La unidad bsica del timer es un contador de carrera libre
que se incrementa a intervalos.
7. Perro guardin (Watch dog)
Nos permite reiniciar el microcontrolador. De hecho es tambin un contador de carrera libre, al cual se escribe un cero cada
que se realiza con xito un programa. Cuando se atascano es posible escribirle el cero y el guardin reiniciar el
microcontrolador.
8. Convertidor analgico digital
Ya que con frecuencia necesitamos conectar nuestro microcontrolador a dispositivos que general una seal analgica,
requerimos de un bloque funcional que la convierta en una seal digital que pueda ser comprendida por el CPU del
microcontrolador.
Finalmente aunque nuestro microcontrolador est completo, requerimos conectarlo a los componentes elctricos que junto
al programa nos permitirn formar un sistema mnimo.
9. Programa
Escribir programas para microcontrolador es la finalidad de nuestro curso. Los programas los escribiremos de acuerdo a los
buenos mtodos de programacin que recomienda la ingeniera de software, tendrn que ser modulares, legibles, bien
documentados, y desarrollados con algoritmos representados en forma de seudocdigo o diagramas de flujo.
El lenguaje de programacin ser en principio ensamblador, y posteriormente podemos probar lenguajes de alto nivel como
Basic o C. Es claro que un buen programador sabr sacar el mximo provecho de estos extraordinarios chips :)
Tepic, Nayarit a 21 de agosto de 2007.
Rafael Silva Garca.
ACI UAN - Cursos complementarios de software 4

También podría gustarte