lunes, 14 de enero de 2019

Microprocesadores versus microcontroladores

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