Funcionamiento de la CPU: Arquitectura, Memoria y Ciclos de Instrucción
Clasificado en Informática
Escrito el en
español con un tamaño de 3,48 KB
Arquitectura y Memoria de la CPU
Las áreas de memoria que utiliza la CPU son fundamentales para realizar sus tareas. Los registros se emplean en la ejecución de instrucciones y en la carga de datos e instrucciones desde la memoria.
Conjunto de instrucciones
Cada procesador dispone de una lista específica de instrucciones que puede ejecutar. Estas deben realizar, como mínimo, los siguientes tipos de tareas:
- Movimiento de datos: Sirven para mover datos e instrucciones desde la memoria o entre registros.
- Control: Para gestionar las operaciones y el estado de la CPU.
- Aritmética y lógica: Sumas, comparaciones, operaciones con bits, etc.
- Entrada/salida: Comunicación desde y hacia los periféricos.
- Instrucciones numéricas de “coma flotante”: Cálculos con decimales, gráficos, etc.
Memoria Caché
Son pequeñas áreas de memoria dentro de la CPU, de acceso muy rápido, para leer y escribir datos e instrucciones de uso frecuente.
1. Lectura
- Primero se busca en la caché, por orden de nivel: de 1 a 3.
- Si no está (fallo de caché), se busca el dato en la memoria principal.
- El dato leído se almacena en la caché.
2. Escritura
Cuando se escribe un dato en la memoria, se escribe también en la caché mediante dos modos:
- Writeback: Más rápido, se escribe en la memoria y más tarde en la caché.
- Writethrough: Se escribe simultáneamente en la memoria y en la caché.
Métricas de Rendimiento
- Ciclos de reloj por instrucción: Número de ciclos de reloj necesarios para realizar una operación.
- Latencia: Tiempo (en nanosegundos) que tarda un sistema en responder hasta que se inicia una operación.
- Respuesta en el peor caso (Sistemas en tiempo real): Garantía del máximo tiempo de espera para sistemas críticos.
- Ancho de banda: Medida de la transferencia de datos, expresada en bits por segundo (bit/s, kbit/s, Mbit/s, Gbit/s, etc.).
- Rendimiento por vatio: Capacidad de proceso por vatio consumido.
Operación y Ejecución
Un programa es una serie de instrucciones ejecutables por la CPU.
Resumen del ciclo de instrucción
- Fetch instrucción: Se lee la instrucción de la memoria.
- Decode: Se decodifica la instrucción y se guarda en los registros.
- Fetch datos: Se cargan los datos necesarios para procesar la instrucción desde la memoria.
- Execute: Se procesa la instrucción y se guarda el resultado en los registros.
- Writeback: Se escriben los resultados en la memoria.
El proceso se repite con el siguiente ciclo, normalmente leyendo la siguiente instrucción indicada por el contador de programa.
Conceptos avanzados
- Pipelines (tuberías): Técnica donde múltiples instrucciones pueden ser leídas, decodificadas y ejecutadas simultáneamente.
- Hilo: Ejecución secuencial de instrucciones.
- Proceso: Es un programa en ejecución. Un programa puede tener varios hilos dependientes (subprocesos).