Diferencia entre Microprocesador y Microcontrolador
Ciertamente la gran mayoría de nosotros hemos escuchado hablar acerca
de microprocesadores y microcontroladores y tal vez no sepamos cual es
la diferencia entre uno y otro, o peor aún, nos podemos confundir al
emplear cualquiera de las dos palabras.
Existe mucha información en internet acerca de microprocesadores y
microcontroladores. Pero a veces la información es muy extensa y no muy
fácil de comprender.
El Procesador
n microprocesador o procesador como un
elemento de hardware que se encarga como su nombre mismo lo dice
procesar datos a partir de ciertas instrucciones de entrada arrojando
cierto resultado, todo esto en base a su set de instrucciones que
incorpora.

Un microprocesador por si solo seria prácticamente inservible, para
que funcione necesita estar conectado mediante diferentes buses a otros
elementos como la memoria RAM, y dispositivos de entrada y salida (E/S) y
otro tipo de memoria especial llamada EEPROM que almacena los datos de
forma permanente aun sin energía eléctrica.
La mayora de los procesadores de las PCs personales suelen utilizar
la arquitectura Von Neuman. En esta arquitectura el procesador comparte
la memoria RAM para almacenar las instrucciones del programa y los
datos.
Debemos comprender que en una PC, cuando se carga un programa en
memoria, a éste se le asigna un espacio de direcciones de la memoria que
se divide en segmentos, de los cuales típicamente tenderemos los
siguientes: código (programa), datos y pila. Es por ello que podemos
hablar de la memoria como un todo, aunque existan distintos dispositivos
físicos en el sistema (HDD, RAM, CD, FLASH).
Utilizar la arquitectura tiene ventajas y desventajas, una de ellas
es que al utilizar la misma memoria para almacenar los datos de programa
y las instrucciones, solo se utilizan tres buses (de control, de datos y
de direcciones) de estar separadas utilizaríamos otros tres buses mas,
que con respecto al diseño seria más costosa.
Como desventaja principal de esta arquitectura encontramos que el
procesador no puede acceder a los datos de programa y a las
instrucciones al mismo tiempo, sino que debe almacenar una de ellos en
los registros del procesador y volver a consultar las instrucciones para
ejecutar, esto se traduce en pérdida de tiempo ya que el procesador
tendrá que acceder dos veces a la memoria para poder ejecutar una sola
instrucción.
También existe otro tipo de arquitectura llamada Harvard que es
utilizada comúnmente por supercomputadoras o Mainframes. Esta define que
la memoria de datos de programa y las instrucciones deben estar
separadas. Con esto se tienen que crear otros tres buses a la otra
memoria que incorporamos. Pero vale la pena ya que podemos procesar la
información mas rápido, pues se puede acceder a la memoria de datos y a
las instrucciones al mismo tiempo.
Set de instrucciones del procesador
Define las operaciones básicas que puede realizar el procesador, que
conjugadas y organizadas forman lo que conocemos como software. El
conjunto de instrucciones vienen siendo como las letras del alfabeto, el
elemento básico del lenguaje, que organizadas adecuadamente permiten
escribir palabras, oraciones y cuanto programa se le ocurra.
Existen dos tipos de set de instrucciones: CISC y RISC
Las instrucciones CISC (Complex Instruction Set Computer, Computadora
de Conjunto de Instrucciones Complejo) se caracterizan por tener un
repertorio amplio de instrucciones, que pueden hacer cálculos muy
complejos. Pero también se complica su uso.
El tipo RISC (Reduced Instruction Set Computer, Computadora con
Conjunto de Instrucciones Reducido) se distingue por sus pocas
instrucciones, y tamaño un tamaño fijo por instrucción además permite el
paralelismo en la ejecución.
El Microcontrolador
Fue necesario definir algunas de las características principales de
un procesador porque conociendo lo anterior definiremos al
Microcontrolador.
Un Microcontrolador en realidad no es otra cosa más que una mini
computadora embebida dentro de un solo encapsulado del tamaño de un
chip. Este cuenta con procesador, memoria RAM, Memoria ROM y periféricos
de entrada y salida.


Técnicamente un Microcontrolador lleva dentro un Microprocesador.
Este a su vez cuenta con buses de datos, control y dirección hacia la
memoria y hacia los periféricos o puertos.
La arquitectura de estos dispositivos es la Harvard quiere decir que
poseen 2 memorias una memoria RAM que almacena los datos y otra de tipo
EPROM o EEPROM que almacena el programa. Al usar esta arquitectura tiene
la ventaja de poder usar simultáneamente los dos tipos de memoria y en
lugar de ser una desventaja como lo era con una PC normal puesto que
todo se encuentra en un solo encapsulado puede implementarse fácilmente.
El set de instrucciones es del tipo RISC las cuales ya vimos
anteriormente. El lenguaje nativo de estos dispositivos es el lenguaje
ensamblador. Aunque en la actualidad hay muchas empresas que se dedican a
desarrollar compiladores que funcionan con la sintaxis de C o Basic que
después traducirán a lenguaje máquina para programar el
Microcontrolador.
Existen muchos fabricantes como Intel, Motorola, Texas Instruments,
etc. Pero los más conocidos son los PICs de Microchip y los AVR de
Atmel.
Actualmente a los microcontroladores se les puede hallar en
muchísimos electrodomésticos como lavadoras, hornos de micro ondas, DVDs
etc. Por su bajo precio, fácil programación y la extensa información
que circula en internet estos se han vuelto muy utilizados en la
electrónica y ramas afines.