Los microprocesadores
no son los únicos circuitos integrados que incorporan registros, unidad de
control y aritmético-lógica, buses, etc. Existen otros tipos de diseños, como
las GPU (Graphics Processing Unit), con potencias equiparables e incluso
superiores a las CPU, integrando hasta mil millones de transistores. Otro tipo
interesante de circuito integrado es el conocido como microcontrolador que,
básicamente, no es más que un microprocesador con algunas características
específicas.
La principal diferencia
existente entre un microcontrolador, también conocido como ordenador integrado (Computer-on-a-chip),
y un microprocesador es que el primero incorpora en el mismo IC elementos
fundamentales, como la memoria RAM, memoria ROM (normalmente EPROM) e
interfaces de E / S para comunicarse con el exterior. Esto permite conectar el
microcontrolador directamente al sistema que va a supervisar/controlar, a
través de sus terminales, sin precisar ningún otro circuito de apoyo. Ésta es
la razón de que se le denomine, como se apuntaba antes, ordenador integrado.
Además de los elementos
que integra, el diseño de un microcontrolador también difiere de la de un
microprocesador actual en la arquitectura interna. El primero tiene una arquitectura
Harvard, la misma empleada en el Intel 4004, mientras que el segundo usa
la arquitectura Von Neumann.
La arquitectura Harvard
establece una clara separación entre la memoria dedicada a alojar el código del
programa a ejecutar y la memoria en la que se escribirán y leerán los datos
procesados por dicho programa, hasta tal punto que dichas memorias pueden ser
de tecnologías totalmente distintas.
En la familia de microcontroladores
más popular, conocida como PIC, la memoria dedicada a programa es una EPROM
cuyo tamaño es bastante superior a la memoria
RAM asignada al
almacenamiento de datos.
En la arquitectura Von
Neumann programa y datos se almacenan en la misma unidad de memoria, elemento
independiente y que debe mostrar una interfaz homogénea al microprocesador, con
independencia de que sea ROM, RAM o de cualquier otra clase.
Debe existir, por lo
tanto, un medio de comunicación entre la memoria y el microprocesador, concretamente
un conjunto de buses.
Nota
No todos los
microcontroladores usan la arquitectura Harvard ni todos los microprocesadores la
arquitectura Von Neumann, aunque lo más usual es que sea así.
La memoria interna de
los microcontroladores suele ser de reducido tamaño, por lo que se aplican a
sistemas embebidos relativamente simples, como equipos de control industrial y
dispositivos similares.
Los programas se
codifican por regla general en ensamblador y, a continuación, se graban en una
memoria EPROM, de forma que no es necesario cargarlos cada vez que se inicia el
sistema.
Referencia:
Lenguaje Ensamblador, 2da Edición, Francisco Charte Ojeda