12 noviembre, 2026
Microprocesador: estructura interna y funcionamiento.

El microprocesador ejecuta instrucciones, realiza operaciones sobre los datos y se comunica con otras unidades de la computadora mediante buses.

Se define como microprocesador a la unidad central de proceso de datos, constituida por un solo circuito integrado (CI) de alta escala en la integración de sus componentes. Se construye tanto con tecnología bipolar como con tecnología MOS. El microprocesador opera bajo control de un programa y efectúa operaciones sobre los datos:

  • Operaciones de tipo lógico.
  • Operaciones de tipo aritmético.
  • Control de entrada/salida de datos.
  • Control de funciones y de unidades externas al mismo, pero internas a la computadora.

Al microprocesador se le conoce en el ámbito de la computación como la CPU (unidad central de proceso).

El desarrollo de los microprocesadores se ha debido, en primer lugar, al avance tecnológico en el desarrollo de CI, cada vez con mayor grado de integración y con menores costos; y, en segundo lugar, al diseño de circuitos cuya función puede ser cambiada por programación. Con ello, se prestan a numerosos usos, desplazando así a la lógica cableada de los primeros ordenadores, en los que un cambio de programa obligaba a un nuevo cableado de sus conexiones. Así pues, en el desarrollo de los microprocesadores ha influido tanto el avance tecnológico (hardware) como el avance metodológico (software).

Podemos agrupar a los microprocesadores en función del tamaño de palabra o, más esquemáticamente, en función del número de bits del bus de datos, que puede ser de 4, 8, 16 y 32 bits.

Estructura interna de un microprocesador

El microprocesador se estructura en las siguientes partes:

  • unidad aritmético-lógica;
  • unidad de control;
  • acumulador;
  • registro de instrucción;
  • decodificador de instrucción;
  • contador de programa;
  • registros de dirección;
  • registros indicadores;
  • registro de stack o pila.

La interconexión de todos estos bloques se realiza internamente mediante un bus interno del microprocesador. Para su comunicación con las unidades exteriores al mismo, utiliza tres buses externos:

  • bus de control;
  • bus de direcciones;
  • bus de datos.

Pero no todos los microprocesadores tienen dos buses diferenciados de direcciones y datos, sino que algunos de ellos utilizan el mismo bus convenientemente direccionado para datos o direcciones.

Unidad aritmético-lógica

Esta unidad es el elemento calculador del sistema, capaz de realizar operaciones lógicas (AND, OR, XOR) y operaciones aritméticas (suma, resta, etcétera). Esta unidad dispone de dos entradas (un dato de entrada es dado por el acumulador, mientras el segundo proviene de la memoria central) y una salida, que puede estar conectada al acumulador.

Unidad de control

Es el elemento que regula el flujo de la información (instrucciones y datos) en el sistema. Las funciones de una unidad de control son:

  • Búsqueda de instrucciones en la memoria.
  • Decodificación, interpretación y ejecución de las instrucciones.
  • Control de la secuencia de ejecución (determinación de la próxima instrucción a ejecutar).
  • Reconocimiento de interrupciones, petición de acceso directo a memoria, órdenes de paro, espera, etcétera.

Acumulador

Es un registro donde se guardan temporalmente los datos sobre los cuales se va a operar. Por consiguiente, a través de este registro se realizan normalmente las operaciones aritméticas y lógicas, así como rotaciones y desplazamientos de los bits.

Registro de instrucción (Instruction Register)

En él se memoriza temporalmente una parte de la instrucción. Una instrucción consta de dos operandos o partes:

  • Código de operación donde se define la naturaleza de la operación a ejecutar (suma, desplazamiento, etc.).
  • Operandos relativos al código de operación, sean datos a utilizar o direcciones.

La instrucción leída en memoria se carga en el registro de instrucciones y permanece en este durante toda la ejecución.

Decodificador de instrucción (Instruction Decoder)

Es la parte encargada de tomar el contenido del registro de instrucción, decodificarlo y asegurar que la instrucción sea correctamente ejecutada.

Contador de programa (Program Counter)

Es un indicador o puntero (pointer) que señala siempre la próxima instrucción que se debe efectuar. A cada instrucción ejecutada, este contador es incrementado, dando la dirección de la próxima instrucción. Dentro de las instrucciones de software, hay algunas que permiten modificar el contenido del contador de programa. De esta forma, se puede alterar el orden de ejecución.

Registros de dirección (Address Register)

Son registros internos del mismo microprocesador que se utilizan para memorizar datos o resultados intermedios de operaciones. Su principal ventaja es la velocidad con que permiten operar. De no existir estos registros, la CPU tendría que memorizar los datos intermedios en la memoria externa; con ello, se retrasaría la ejecución de cada función, ya que las operaciones de lectura y escritura son más rápidas en un registro interno de la CPU que en la memoria externa.

El número de estos registros y su capacidad varían según el microprocesador.

Registros indicadores

Cada uno de estos registros está formado por un conjunto de bits que varían en cada operación del microprocesador, según el resultado de la misma. También se memoriza en este registro el modo de trabajo del microprocesador o el estado del mismo.

El número de indicadores de que dispone cada microprocesador varía según el modelo. No obstante, hay unos indicadores fijos para cada modelo de microprocesador:

  • Cuando en una operación aritmética se produce la superación de capacidad del registro acumulador, hay un indicador de acarreo (carry) que toma el valor 1.
  • Si el resultado de una operación es positivo o negativo, este queda reflejado en el indicador de signo. Si el signo es negativo, se registra un 1 y un 0 si el signo es positivo.
  • Hay un indicador que controla la paridad de los datos presentes en el registro acumulador. Si este indicador es 1, resulta que el número de unos del registro es par.
  • Si el resultado de una operación aritmética o lógica es igual a cero, se refleja en un indicador de cero, por medio del valor 1. El valor 0 indica que el resultado no ha sido cero.