Registros
Los registros son componentes esenciales de la unidad de control y la unidad lógica aritmética (ALU) del CPU. Almacenan información temporalmente para facilitar las operaciones del CPU. Se dividen en:
- Registros de propósito general: Almacenan los datos con los que se trabaja.
- Registros de Segmento de Memoria: Almacenan direcciones de memoria donde residen los datos.
- Registros de instrucciones: Controlan el estado del CPU (Flags, overflow, +, -, etc.).
Registros específicos
- PC (Contador de Programa): Almacena la dirección de memoria de la siguiente instrucción a leer.
- MAR (Registro de Direcciones de Memoria): Actúa como buffer del contador de programa, ya que la memoria RAM necesita tiempo para localizar una dirección. Mantiene la dirección estable en las entradas de la memoria.
- MBR (Buffer de Datos de la Memoria): Funciona como buffer para la lectura y escritura de datos en la memoria. Almacena temporalmente los datos que se leen o escriben en la memoria.
- Acc (Registro Acumulador): Guarda la información de los operandos de la ALU para realizar operaciones con dos operandos. Recibe datos directamente de la ALU o del MBR.
- ROP: Contiene el código de operación de la ALU. Este código binario selecciona el tipo de operación a realizar.
- R: Muestra el resultado de las operaciones realizadas por la ALU.
- IR (Registro de Instrucciones): Almacena la instrucción leída de la memoria (+, -, salto, etc.) para su decodificación y ejecución.
Otros Componentes
- Generador de Tiempo: Genera las señales de tiempo de acuerdo con la frecuencia del reloj.
Espacios de Direcciones y Memoria
- Espacio de direcciones: Conjunto de identificadores que un programa puede direccionar (variables, archivos, etiquetas, etc.).
- Espacio de memoria: Conjunto de posiciones físicas de memoria donde se almacenan los elementos.
Segmento de Instrucciones
El segmento de instrucciones es el conjunto de instrucciones que un microprocesador puede entender y ejecutar.
Tipos de Instrucciones
- Aritméticas: Realizan operaciones aritméticas como suma y resta.
- Lógicas: Ejecutan operaciones lógicas como AND, OR, NOT.
- Transferencia: Mueven datos entre registros del CPU, la memoria principal y los módulos de entrada/salida.
- Salto: Alteran el flujo de ejecución del programa, saltando a una dirección específica. Pueden ser incondicionales o condicionales.
- Llamada a subrutina: Ejecutan una parte específica del programa (subrutina) y regresan al punto de llamada.
- Entrada/Salida: Transfieren datos entre el CPU y los periféricos.
- Especiales: Instrucciones como NOP, CLC, RRC.
Estructura de las Instrucciones
- Código de operación: Indica el tipo de operación.
- Operadores: Datos o nombres sobre los que se opera.
Ejecución de Instrucciones (Ciclo de Instrucción)
El ciclo de instrucción es el conjunto de acciones para ejecutar una instrucción. Incluye la fase de ejecución, donde se realizan las acciones específicas de la instrucción.
Buses
Un bus es un conjunto de cables que permite la comunicación entre dispositivos hardware.
- Bus de datos: Transporta los datos entre los componentes del sistema.
- Bus de control: Gobierna el acceso a los buses de datos y direcciones, evitando colisiones.
- Bus de direcciones: Indica la dirección de memoria del dato en tránsito.