¿Cómo funciona una CPU?
Una CPU funciona ejecutando instrucciones que han sido leídas de la memoria. Estas instrucciones indican a la CPU qué operaciones deben realizarse con determinados datos almacenados en la memoria o en los registros. Cuando una instrucción se obtiene de la memoria, se envía a través de la unidad de control, donde se descodifica y se determinan las direcciones/elementos de datos necesarios. A continuación, esta información se transmite a la ALU, donde se llevan a cabo las operaciones especificadas en la instrucción. Una vez completadas las operaciones, los valores resultantes se almacenan de nuevo en la memoria si es necesario antes de obtener otra instrucción y repetir este proceso hasta que se hayan ejecutado todas las instrucciones del programa.
¿Qué es una CPU?
La Unidad Central de Procesamiento (CPU) es el cerebro de un sistema informático, es decir, lo que le dice al ordenador qué hacer y cómo hacerlo. Una CPU se compone de tres elementos principales: una unidad de control, una unidad aritmética/lógica (ALU) y un conjunto de registros. La unidad de control obtiene las instrucciones de la memoria, las descodifica, determina la dirección de los datos almacenados en la memoria (si es necesario) y, a continuación, pasa los datos y la información de las instrucciones a la ALU para su procesamiento. La ALU realiza el cálculo o la lógica requerida por cada instrucción, almacena los resultados intermedios en registros si es necesario y, a continuación, envía el resultado de nuevo a la memoria, donde otros programas pueden acceder a él o escribirlo en el disco. Los registros se utilizan para almacenar datos a corto plazo mientras son procesados por la CPU.
¿Qué son los núcleos?
Un núcleo es una instancia de una unidad de ejecución dentro de un procesador multinúcleo. Cada núcleo tiene su propia caché privada, lo que le permite realizar tareas de forma independiente sin tener que acceder tan a menudo a la memoria principal; sin embargo, varios núcleos pueden compartir recursos como una caché L2. Los múltiples núcleos permiten un mayor paralelismo a la hora de ejecutar instrucciones, lo que significa que se pueden ejecutar más instrucciones simultáneamente y, por tanto, se puede hacer más trabajo en menos tiempo que con un procesador de un solo núcleo. Esto hace que los procesadores multinúcleo sean ideales para tareas informáticas intensivas como la edición de vídeo o el renderizado 3D.
¿Qué son las roscas?
Los hilos son secuencias de ejecución que pueden ejecutarse simultáneamente dentro de un único proceso o aplicación en un único núcleo del procesador. Los subprocesos permiten que las aplicaciones o programas parezcan ejecutarse más rápido de lo que realmente lo hacen, ya que son capaces de utilizar varios núcleos a la vez: con varios subprocesos ejecutándose a la vez en diferentes núcleos, se puede realizar más trabajo sin tener que esperar a que un subproceso termine de ejecutarse antes de que otro subproceso pueda empezar a ejecutarse de nuevo en otro núcleo. Esto hace que las aplicaciones multihilo sean mucho más eficientes que sus homólogas de un solo hilo, ya que no hay necesidad de cambiar de contexto entre los hilos cuando se ejecutan varios procesos a la vez en núcleos separados, a diferencia de un solo núcleo con muchos hilos en cola para ser procesados uno tras otro de forma secuencial, como ocurriría con una aplicación de un solo hilo.
¿Qué es el hyper-threading?
Hyper-Threading (HT) es la tecnología propiedad de Intel que permite múltiples procesadores lógicos dentro de cada núcleo de procesador físico, lo que básicamente permite dos flujos simultáneos de instrucciones por núcleo físico (esto aparece como cuatro procesadores "virtuales" en lugar de dos). La introducción de HT en las CPU ha permitido a las CPU de Intel mejorar el rendimiento multitarea gracias a su mayor capacidad de procesamiento por ciclo de reloj, lo que les permite gestionar grandes cargas de trabajo con mayor rapidez que las generaciones anteriores, limitadas únicamente por la velocidad de reloj (que sólo tenía un alcance limitado). Además, HT también ayuda a aumentar el rendimiento en algunos casos, así como las ganancias de IPC gracias a una mejor eficiencia de programación cuando se trata de un mayor número de hilos en comparación sin HT desactivado en esos mismos escenarios.
¿Qué es la arquitectura RISC frente a la CISC?
RISC son las siglas de Reduced Instruction Set Computer (ordenador de conjunto de instrucciones reducido), que suele referirse a arquitecturas que utilizan muchos menos tipos de instrucciones complejas que las arquitecturas CISC (Complex Instruction Set Computers). Las arquitecturas CISC suelen constar de conjuntos de instrucciones muy variados que van desde operaciones aritméticas sencillas a otras complejas que implican varios pasos, como la manipulación de cadenas, etc., mientras que las RISC tienden a utilizar instrucciones más sencillas pero más rápidas (que ocupan menos superficie por chip debido a su menor complejidad), por lo que tienden a ofrecer unas características de rendimiento más elevadas dadas las velocidades de reloj similares en ambas arquitecturas.
¿Qué son los gasoductos?
Los pipelines en las CPU se refieren específicamente a arquitecturas que dividen varias etapas implicadas en la ejecución de una instrucción en partes discretas, de modo que los resultados de etapas anteriores estén disponibles más rápidamente en etapas posteriores, permitiendo así otras optimizaciones como el envío y la ejecución fuera de orden. Esto permite que algunas partes funcionen más rápido o más despacio dependiendo de sus requisitos individuales, en lugar de tener que esperar unas etapas a otras, lo que supone un aumento significativo del rendimiento con respecto a los diseños sin pipelines, haciendo posibles los procesadores modernos de alta velocidad y multihilo.
¿Qué son las cachés?
Las memorias caché son pequeños bloques de memoria RAM relativamente rápida situados directamente dentro de la unidad central de procesamiento o cerca de ella. Cumplen dos funciones: en primer lugar, alivian la presión de las lecturas y escrituras en la memoria principal, ya que las memorias caché funcionan con una latencia más baja; en segundo lugar, aceleran el proceso.
¿Qué es una línea de caché?
Una línea de caché es el bloque de datos más pequeño que puede transferirse de la memoria principal a la caché de la CPU. Una línea de caché suele constar de 64 bytes en un procesador con instrucciones de 4 bytes, y de 128 bytes para instrucciones de 8 bytes. Cada vez que la CPU solicita datos de la memoria, recupera la línea completa en lugar de una sola pieza de datos o instrucción; esto ayuda a reducir la latencia asegurando que cualquier pieza de datos relacionada también estará en la caché de la CPU si se necesita en operaciones futuras.
¿Qué es el multiprocesamiento?
Multiprocesamiento es un término genérico utilizado para describir varias CPU que trabajan juntas, ya sea como parte de un único sistema informático o distribuidas en varios sistemas/dispositivos. En la mayoría de los ordenadores/servidores/redes modernos, el multiprocesamiento puede adoptar varias formas: multiprocesamiento simétrico (SMP), en el que dos o más CPU comparten el acceso a la memoria RAM y otros recursos; multiprocesamiento asimétrico (AMP), en el que uno o más procesadores actúan como maestros y delegan tareas en procesadores subordinados; y procesamiento paralelo masivo (MPP), en el que varios procesadores cooperan para realizar rápidamente tareas de cálculo complejas sobre grandes cantidades de datos.
¿Qué es la arquitectura superescalar?
La arquitectura superescalar se refiere a las CPU de alto rendimiento que son capaces de ejecutar más de una instrucción al mismo tiempo, lo que les permite aumentar el rendimiento al permitir que varias instrucciones se ejecuten simultáneamente en lugar de secuencialmente como en generaciones anteriores, reduciendo así la latencia y aumentando el rendimiento al utilizar unidades de ejecución ociosas cuando es necesario. De este modo, las arquitecturas superescalares hacen un uso más eficiente de los recursos disponibles en el procesador, lo que se traduce en velocidades de procesamiento más rápidas incluso que las de sus predecesoras, con frecuencias de reloj más altas.
¿Qué son los microprocesadores?
Un microprocesador es esencialmente una versión reducida de un procesador de tamaño completo diseñado para dispositivos más pequeños, como sistemas integrados, PDA, teléfonos móviles, etc., en los que el consumo de energía y el tamaño físico son dos factores importantes. Los microprocesadores suelen utilizar arquitecturas más sencillas que sus homólogos de mayor tamaño para reducir el coste y la complejidad, al tiempo que ofrecen un rendimiento comparable para el fin al que están destinados.
¿Cómo funciona la virtualización?
La tecnología de virtualización permite dividir los recursos de hardware de un sistema informático (como núcleos de CPU, memoria, etc.) en diferentes máquinas "virtuales", cada una de las cuales ejecuta su propio sistema operativo independientemente de las demás máquinas virtuales. Esto hace posible que varios usuarios/aplicaciones de una organización o un hogar utilicen los recursos de una máquina física sin afectarse entre sí, ya que cada máquina virtual funciona de forma completamente independiente de las demás máquinas virtuales que se ejecutan en la misma máquina, con su propio subconjunto dedicado de recursos de hardware disponibles. Esto hace que la virtualización sea muy útil para ahorrar espacio y energía, al tiempo que permite una utilización más eficiente del hardware existente debido a la reducción de la duplicación entre máquinas/dispositivos.