¿Cómo funciona realmente un procesador?

¿Cómo funciona realmente un procesador?

Rost / Shutterstock

La mayoría de las partes de una computadora son relativamente fáciles de entender: la RAM, el almacenamiento, los periféricos y el software funcionan en conjunto para hacer que una computadora funcione. Pero el corazón de su sistema, el procesador, parece mágico, incluso para muchos técnicos. Aquí haremos nuestro mejor esfuerzo para desglosarlo.

La mayor parte de la investigación para este artículo proviene de «¿Pero cómo sabe eso? « por J. Clark Scott. Es una lectura fantástica, que va mucho más allá de este artículo, y vale unos dólares en Amazon.

Una nota antes de comenzar: los procesadores modernos son órdenes de magnitud más complejos de lo que estamos describiendo aquí. Es casi imposible para una persona comprender todos los matices de un chip con más de mil millones de transistores. Sin embargo, los conceptos básicos de cómo encaja todo sigue siendo el mismo, y comprender los conceptos básicos le dará una mejor comprensión de los sistemas modernos.

Empieza pequeño

Las computadoras operan en binario. Solo incluyen dos estados: encendido y apagado. Para realizar cálculos binarios, utilizan lo que se llama un transistor. El transistor solo permite que la corriente de la fuente fluya a través de él hacia el drenaje si hay corriente a través de la puerta. Esencialmente, esto forma un interruptor binario, que corta el cable basándose en una segunda señal de entrada.

Las computadoras modernas usan miles de millones de transistores para realizar cálculos, pero en los niveles más bajos solo se necesitan unos pocos para formar los componentes más básicos, llamados puertas.

Puertas lógicas

Apile correctamente algunos transistores y tendrá lo que se llama una puerta lógica. Puertas lógicas tomar dos entradas binarias, realizar una operación en ellas y devolver una salida. La puerta OR, por ejemplo, devuelve verdadero si alguna de las entradas es verdadera. La puerta AND verifica si ambas entradas son verdaderas, XOR verifica si solo una de las entradas es verdadera y las variantes N (NOR, NAND y XNOR) son versiones invertidas de sus puertas base.

Haciendo matemáticas con Gates

Con solo dos puertas, puede hacer una suma binaria básica. Este diagrama de arriba muestra un medio sumador, creado usando Lógicamente, un patio de juegos en línea gratuito para puertas lógicas. La puerta XOR aquí se activará si solo una de las entradas está activada, pero no ambas. La puerta AND se encenderá si ambas entradas están habilitadas, pero permanecerá apagada si no hay ninguna entrada. Entonces, si ambos están encendidos, el XOR permanecerá apagado y la puerta AND se iluminará, llegando a la respuesta correcta de dos:

Esto nos da una configuración simple con tres salidas separadas: cero, uno y dos. Pero un bit no puede almacenar nada más que 1, y esta máquina no es muy útil porque solo resuelve uno de los problemas matemáticos más simples posibles. Pero eso es solo un medio sumador, y si conecta dos de ellos con otra entrada, obtiene un sumador completo:

El sumador completo tiene tres entradas: los dos números para sumar y un «acarreo». La transferencia se utiliza cuando el número final excede lo que se puede almacenar en un solo bit. Los sumadores completos se enlazarán en una cadena y el acarreo se pasará de un sumador a otro. El acarreo se agrega al resultado de la puerta XOR en la primera mitad del sumador, y hay una puerta OR adicional para manejar ambos casos cuando esto debería estar habilitado.

Cuando ambas entradas están activadas, el acarreo se activa y lo envía al siguiente sumador completo de la cadena:

Y eso es tan complejo como se vuelve la adición. Ir a más bits significa esencialmente más sumadores completos en una cadena más larga.

La mayoría de las otras operaciones matemáticas se pueden realizar con una suma; la multiplicación es solo una suma repetida, la resta se puede hacer con una sofisticada inversión de bits y la división es solo una resta repetida. Y aunque todas las computadoras modernas tienen soluciones de hardware para acelerar operaciones más complejas, técnicamente puede hacerlo todo con el sumador completo.

El bus y la memoria

Hoy nuestra computadora no es más que una mala calculadora. Esto se debe a que no recuerda nada y no hace nada con sus salidas. Arriba, una celda de memoria, que puede hacer todo esto. Debajo del capó, usa muchas puertas NAND, y en la vida real puede ser bastante diferente dependiendo de la técnica de almacenamiento, pero su función es la misma. Le da algunas entradas, activa el bit «escribir» y almacenará las entradas dentro de la celda. No es solo una celda de memoria, porque también necesitamos una forma de leer información de ella. Esto se hace con un activador, que es una colección de puertas Y para cada bit en la memoria, todos vinculados a otra entrada, el bit de «lectura». Los bits de lectura y escritura también se denominan a menudo «establecer» y «habilitar».

Todo este paquete está envuelto en lo que se llama un libro mayor. Estos registros están conectados al bus, que es un conjunto de cables que fluyen por todo el sistema, conectados a cada componente. Incluso las computadoras modernas tienen un bus, aunque pueden tener más de uno para mejorar el rendimiento de la multitarea.

Cada registro todavía tiene un bit de lectura y escritura, pero en esta configuración la entrada y la salida son las mismas. Es muy bueno. Por ejemplo. Si quisiera copiar el contenido de R1 a R2, activaría el bit de lectura para R1, lo que empujaría el contenido de R1 al bus. Mientras el bit de lectura está establecido, usted establece el bit de escritura para R2, que copia el contenido del bus en R2.

Los registros también se utilizan para crear RAM. La RAM a menudo se distribuye en una cuadrícula, con cables que van en dos direcciones:

Los decodificadores toman una entrada binaria y encienden el cable numerado correspondiente. Por ejemplo, «11» es 3 en binario, el número más alto de 2 bits, por lo que el decodificador encendería el cable más alto. En cada intersección, hay un registro. Todos estos elementos están conectados al bus central y a una entrada central de lectura y escritura. Las entradas de lectura y escritura solo se habilitarán si ambos cables que pasan a través del registro también están habilitados, lo que le permite seleccionar desde qué registro escribir y leer. Nuevamente, la RAM moderna es mucho más complicada, pero esta configuración aún funciona.

El reloj, el paso a paso y el decodificador

Los registros se utilizan en todas partes y son la herramienta básica para mover datos y almacenar información en la CPU. Entonces, ¿qué es lo que les dice que cambien las cosas?

El reloj es el primer componente del núcleo del procesador y se apaga y enciende en un intervalo establecido, medido en hercios o ciclos por segundo. Esta es la velocidad que ve anunciada junto a los procesadores; un chip de 5 GHz puede realizar 5 mil millones de ciclos por segundo. La velocidad del reloj suele ser una muy buena medida de la velocidad de un procesador.

El reloj tiene tres estados diferentes: el reloj base, el reloj de activación y el reloj de ajuste. El reloj base estará encendido durante medio ciclo y apagado durante la otra mitad. El temporizador de despertador se utiliza para activar registros y deberá activarse por más tiempo para garantizar que los datos estén activados. El reloj configurado debe activarse siempre al mismo tiempo que el reloj de habilitación, de lo contrario se podrían escribir datos incorrectos.

El reloj está conectado al motor paso a paso, que contará desde uno hasta el paso máximo, y se reiniciará a uno cuando se complete. El reloj también está conectado a las puertas AND para cada registro en el que la CPU puede escribir:

Estas puertas AND también están conectadas a la salida de otro componente, el decodificador de instrucciones. El decodificador de instrucciones toma una instrucción como «SET R2 TO R1» y la decodifica en algo que la CPU pueda entender. Tiene su propio registro interno, llamado «registro de instrucción», que es donde se almacena la operación actual. Cómo sucede exactamente esto depende del sistema en el que esté ejecutando, pero cuando se decodifica, activará el conjunto correcto y activará los bits para los registros correctos, que se dispararán de acuerdo con el reloj.

Las instrucciones del programa se almacenan en RAM (o caché L1 en sistemas modernos, más cerca de la CPU). Dado que los datos del programa se almacenan en registros, como todas las demás variables, se pueden manipular sobre la marcha para recorrer el programa. Así es como los programas obtienen su estructura, con bucles y sentencias if. Una instrucción de salto define la ubicación actual en la memoria desde la cual el decodificador de instrucciones lee a una ubicación diferente.

Como todo se junta

Ahora nuestra simplificación excesiva de cómo funciona un procesador está completa. El bus principal cubre todo el sistema y se conecta a todos los registros. Los sumadores completos, junto con un montón de otras operaciones, se agrupan en la Unidad Aritmética Lógica o ALU. Esta ALU tendrá conexiones al bus, y también tendrá sus propios registros para almacenar el segundo número en el que opera.

Para realizar un cálculo, los datos del programa se cargan desde la RAM del sistema a la sección de control. La sección de control lee dos números de la RAM, carga el primero en el registro de instrucciones ALU y luego carga el segundo en el bus. Durante este tiempo, envía a la ALU un código de instrucción indicándole qué hacer. La ALU luego realiza todos los cálculos y almacena el resultado en un registro diferente, desde el cual la CPU puede leer y luego continuar el proceso.

Credito de imagen: Rost9/ Shutterstock

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Experto Geek - Tu Guía en Tendencias Tecnológicas