El microprocesador (o simplemente procesador) es el circuito integrado central y más complejo de un sistema microelectrónico digital.
Es el encargado de ejecutar las instrucciones programadas en lenguaje de bajo nivel, realizando operaciones aritméticas y lógicas simples, tales como sumar, restar, multiplicar, dividir, las lógicas binarias y accesos a memoria.
También conocido como CPU o Unidad Central de Procesamiento, el microprocesador es un motor de cálculo completo que se fabrica en un solo chip de silicio. También se conoce como el corazón de cualquier sistema microelectrónico u ordenador normal, ya sea una máquina de escritorio, un servidor o un ordenador portátil.
Esta unidad central de procesamiento está constituida, esencialmente, por registros, una unidad de control, una Unidad Aritmética Lógica (ALU) y una unidad de cálculo en coma flotante (conocida antiguamente como «coprocesador matemático»).
El microprocesador es un componente que por si solo no puede funcionar, necesita de una programación con instrucciones en lenguaje máquina que pueda establecer unas determinadas operaciones de control para su correcto funcionamiento. Este programa va grabado permanentemente en una memoria ROM de sólo lectura. También le acompaña de una memoria RAM para guardar los datos que se generan en las operaciones, estos datos se quedan guardados temporalmente, es decir, hasta que se desconecta la alimentación.
Según se muestra en la figura anterior, la Unidad Central de Proceso (CPU) es la que controla y gobierna el conjunto de elementos electrónicos, generalmente de carácter digital, que interpreta y ejecuta el juego de operaciones de programación (instrucciones), controlando el resto de los componentes del sistema y requiere de un reloj para la sincronización de todo el conjunto. El soporte que contiene las instrucciones ordenadamente (programa), son las memorias ROM y RAM, la cual también almacena los datos, que procesa y obtiene la máquina. Los circuitos de adaptación que comunican la máquina programada con los periféricos exteriores, son los módulos de entrada y salida E/S. Estos están encargados de adaptar su funcionamiento a los diversos dispositivos que controla en el mundo real.
Recuerda que un µP Microprocesador se diseña con una arquitectura que le permita efectuar las funciones de búsqueda y ejecución de instrucciones. Es importante familiarizarse con los distintos bloques que posee y que se muestran en la siguiente imagen:
- Contador del programa (PC): Es el encargado de direccionar la instrucción a ejecutar. Normalmente se va incrementando en una unidad a la frecuencia del reloj del sistema, aunque puede cargarse con cualquier valor, lo que permite romper la secuencia ordenada de la ejecución de instrucciones del programa.
- Decodificador de instrucciones: Elemento que recibe la instrucción en código binario e interpreta su significado. Consta de un decodificador y de una ROM de microinstrucciones en la que residen los códigos de operaciones que se deben realizar para ejecutar cada una de las instrucciones.
- Secuenciador: Bloque encargado de generar y transmitir las señales de gobierno y sincronismo a todo el sistema, para ejecutar la instrucción previamente decodificada. Una vez que recibe las microinstrucciones de la ROM interna, genera las señales necesarias para poner al resto de los bloques en el modo que corresponda a la instrucción a ejecutar.
- Unidad aritmético-lógica (ALU): Es la encargada de realizar las operaciones de carácter lógico y aritmético de los datos que poseen el acumulador y el registro temporal.
- Acumulador (A): Registro que contiene uno de los operandos que intervienen en la operación que realiza la ALU, así como el resultado una vez realizada dicha operación. También suele nombrarse como registro de trabajo (W).
- Registros de propósito general: Se emplean como registros temporales y pueden operar de modo independiente o unidos por parejas para aumentar así la longitud de palabra. Suelen denominarse con las letras B, C, D, etc.
- Registro puntero de pila (SP, stack pointer): Está constituido por un contador y su misión es la de controlar una zona de la RAM, con estructura LIFO, en la que se salvan temporalmente el contenido de algunos registros del µP ante un salto a subrutina.
- Registros índice: Empleados para direccionar determinadas posiciones de memoria.
- Registro de estado: Conjunto de biestables en los que se depositan las condiciones de una determinada operación realizada. Las informaciones de este registro son de un solo bit a los que se denominan banderas (flags). Los más importantes son los siguientes.
- Buffer de instrucciones/datos: Registro (latch) bidireccional y triestado conectado al bus de datos para retención temporal.
- Buffer de direcciones: Registro (latch) triestado que mantiene la dirección de memoria a la que se ha accedido hasta la ejecución de la instrucción, momento en el que recibe una nueva dirección contenida en el contador de programa.
El microcontrolador es otro procesador diseñado de tal manera que tiene todos los componentes integrados en el mismo chip. No necesita de otros componentes especializados para su aplicación, porque todos los circuitos necesarios, que de otra manera correspondan a los periféricos, ya se encuentran incorporados.
En realidad un microprocesador y un microcontrolador no son la misma cosa. Los microcontroladores, como se ha comentado anteriormente, es una unidad que posee en su interior todos los elementos indispensables para que pueda funcionar como una minicomputadora en un solo chip y un microprocesador µP es solamente la unidad central de procesos o CPU, que necesita y va en conjunto con las memorias, los puertos y todos los demás periféricos conectados exteriormente. La programación de un microprocesador es, por lo tanto, una tarea más compleja porque deben controlarse todos estos dispositivos externos. Por lo tanto, un microcontrolador integra la CPU y todos los periféricos en un mismo chip. El programador se desentiende de una gran cantidad de dispositivos y se concentra en el programa de trabajo. Esta circunstancia da lugar a una gran pérdida de tiempo porque los datos tienen que ser retirados de la memoria y llevados a la CPU (Central Processor Unit) y viceversa. Esto significa que el ordenador dedica la mayor parte del tiempo al transporte de datos de ida o de vuelta, en lugar de usar este tiempo para trabajar sobre los datos.
Microprocesadores
El Microprocesador
Introducción a los sistemas microprogramables
El Microprocesador
Microprocesadores
Analisis de sistemas Microprogramables
Manual de Metodología de la Programación
El Microprocesdor y tipos
Programación y sistema de control
Sistemas de Microordenadores
Electrónica General. Sistemas digitales y Microprocesador
Introducción a la Programación
Tipos de Datos
Programación Estructurada
Pseudocódigo
Programación Modular
Tablas: Estructuras Estáticas de Datos
Estructuras Dinámicas de Datos
Estructuras de Datos
Estructuras Externas de Datos: Tratamiento de Ficheros
Programación Orientada a Objetos (POO)
UML. El Lenguaje de Modelado Unificado