Cómo funciona un microprocesador | Todo lo que necesitas saber

La computadora que estás utilizando para leer esta página utiliza un microprocesador para realizar su trabajo. El microprocesador es el corazón de cualquier ordenador normal, ya sea una máquina de sobremesa, un servidor o un portátil. Hay muchos tipos de microprocesadores, pero todos hacen aproximadamente lo mismo y de la misma manera.

Un microprocesador, también conocido como CPU o unidad central de procesamiento, es un motor de cálculo completo fabricado en un solo chip. El primer microprocesador fue el Intel 4004, presentado en 1971. El 4004 no era muy potente: todo lo que podía hacer era sumar y restar, y solo podía hacerlo 4 bits a la vez. Pero fue sorprendente que todo estuviera en un solo chip. Antes del 4004, los ingenieros construían computadoras a partir de conjuntos de chips o de componentes discretos (transistores conectados uno a uno). El 4004 impulsó una de las primeras calculadoras electrónicas portátiles.

Si alguna vez te has preguntado qué hace el microprocesador de tu computadora, o si alguna vez te has preguntado acerca de las diferencias entre los tipos de microprocesadores, sigue leyendo. En este artículo, aprenderás cómo técnicas de lógica digital bastante simples permiten que una computadora haga su trabajo, ya sea jugando o revisando la ortografía de un documento.

Contenido similar: Cómo funciona la electricidad | Todo lo que necesitas saber

Progresión del microprocesador: Intel

El primer microprocesador que se utilizó en un ordenador doméstico fue el Intel 8080, un ordenador completo de 8 bits en un solo chip, presentado en 1974. El primer microprocesador que causó sensación en el mercado fue el Intel 8088, presentado en 1979 e incorporado en la IBM PC (que apareció por primera vez alrededor de 1982). Si estás familiarizado con el mercado de PC y su historia, sabrás que el mercado de PC pasó del 8088 al 80286, al 80386, al 80486, a la serie Pentium, a la serie Core y a la serie Xeon. Todos estos microprocesadores están fabricados por Intel y todos ellos son mejoras del diseño básico del 8088.

Desde 2004, Intel ha introducido microprocesadores con múltiples núcleos y millones de transistores más. Pero incluso estos microprocesadores siguen las mismas reglas generales que los chips anteriores.

Un procesador Intel Core i9 puede tener hasta ocho núcleos, cada uno de los cuales puede ejecutar cualquier fragmento de código que se ejecutó en el 8088 original, ¡solo unas 6700 veces más rápido! Cada núcleo puede manejar múltiples subprocesos de instrucciones, lo que permite que la computadora administre las tareas de manera más eficiente.

La gama de productos de Intel se ha ampliado sustancialmente desde los años 1970. Al momento de escribir este artículo, la compañía todavía fabrica CPU Pentium y Core para computadoras, pero las PC y servidores de mayor rendimiento pueden usar el chip Xeon. Además, Intel ofrece las líneas de procesadores Celeron y Atom. Celeron está dirigido a usuarios de computadoras de nivel básico y los procesadores Atom son mejores para dispositivos móviles y dispositivos que forman parte del Internet de las cosas.

Si bien Intel todavía tiene una gran porción del mercado, tiene más competidores de los que le corresponde. AMD compite con Intel en el mercado de procesadores para PC, pero también hace grandes negocios con chips de procesadores gráficos que son populares entre los jugadores de PC. Nvidia, famosa por sus chips gráficos, también fabrica CPU.

En 2020, Apple presentó sus chips de la serie M, que reemplazan a los chips Intel que Apple usaba para sus computadoras Macintosh. Es posible que Samsung también esté trabajando en sus propios diseños de procesadores. Muchas más empresas construyen procesadores para otros usos electrónicos, como automóviles y productos para el hogar inteligente. El mercado es cada vez más competitivo.

¿Qué es un chip?

Un chip también recibe el nombre de circuito integrado. Generalmente se trata de una pequeña y delgada pieza de silicio sobre la que se han grabado los transistores que componen el microprocesador. Un chip puede tener un tamaño de hasta una pulgada de lado y contener decenas de millones de transistores.

Los modelos más simples podrían consistir en unos cuantos miles de transistores grabados en un chip de solo unos pocos milímetros cuadrados. Se ha vuelto común ver chips en todo tipo de dispositivos con múltiples núcleos, cada uno de los cuales es un procesador.

Lógica del microprocesador

comprender cómo funciona un microprocesador
comprender cómo funciona un microprocesador

Para comprender cómo funciona un microprocesador, es útil mirar dentro y conocer la lógica utilizada para crearlo. En el proceso, también puedes aprender sobre el lenguaje ensamblador (el lenguaje nativo de un microprocesador) y muchas de las cosas que los ingenieros pueden hacer para aumentar la velocidad de un procesador.

Un microprocesador ejecuta una colección de instrucciones de máquina que le indican al procesador qué hacer. Según las instrucciones, un microprocesador hace tres cosas básicas:

  • Usando su ALU (Unidad Aritmética/Lógica), un microprocesador puede realizar operaciones matemáticas como suma, resta, multiplicación y división. Los microprocesadores modernos contienen procesadores completos de punto flotante que pueden realizar operaciones extremadamente sofisticadas con grandes números de punto flotante.
  • Un microprocesador puede mover datos de una ubicación de memoria a otra.
  • Un microprocesador puede tomar decisiones y saltar a un nuevo conjunto de instrucciones basadas en esas decisiones.

Puede que haya cosas muy sofisticadas que haga un microprocesador, pero esas son sus tres actividades básicas. El siguiente diagrama muestra un microprocesador extremadamente simple capaz de hacer esas tres cosas:

Esto es tan simple como lo es un microprocesador. Este microprocesador tiene:

  • Un bus de direcciones (que puede tener 8, 16, 32 o 64 bits de ancho) que envía una dirección a la memoria.
  • Un bus de datos (que puede tener 8, 16, 32 o 64 bits de ancho) que puede enviar datos a la memoria o recibir datos de la memoria.
  • Una línea RD (lectura) y WR (escritura) para indicarle a la memoria si debe configurar u obtener la ubicación direccionada.
  • Una línea de reloj que permite secuenciar un pulso de reloj al procesador.
  • Una línea de reinicio que restablece el contador del programa a cero (o lo que sea) y reinicia la ejecución.

Supongamos que tanto el bus de direcciones como el de datos tienen 8 bits de ancho en este ejemplo.

Estos son los componentes de este sencillo microprocesador:

  • Los registros A, B y C son simplemente pestillos hechos con flip-flops.
  • El pestillo de dirección es como los registros A, B y C.
  • El contador de programa es un pestillo con la capacidad adicional de incrementarse en 1 cuando se le indique que lo haga y de restablecerse a cero cuando se le indique.
  • La ALU podría ser tan simple como un sumador de 8 bits, o podría sumar, restar, multiplicar y dividir valores de 8 bits. Supongamos esto último aquí.
  • El registro de prueba es un pestillo especial que puede contener valores de comparaciones realizadas en la ALU. Una ALU normalmente puede comparar dos números para determinar si son iguales, si uno es mayor que el otro, etc. El registro de prueba normalmente también puede contener un bit de acarreo de la última etapa del sumador. Almacena estos valores en flip-flops y luego el decodificador de instrucciones puede usar los valores para tomar decisiones.

Hay seis casillas marcadas «3-State» en el diagrama. Estos son amortiguadores de los tres estados. Un buffer de tres estados puede pasar un 1, un 0 o esencialmente puede desconectar su salida (imagina un interruptor que desconecta totalmente la línea de salida del cable hacia el que se dirige la salida). Un búfer de tres estados permite conectar múltiples salidas a un cable, pero solo una de ellas genera un 1 o un 0 en la línea.

Te puede interesar: Cómo funcionan los imanes

El registro de instrucciones y el decodificador de instrucciones son responsables de controlar todos los demás componentes.

Aunque no se muestran en este diagrama, habría líneas de control desde el decodificador de instrucciones que:

  • Digan al registro A que retenga el valor actualmente en el bus de datos.
  • Digan al registro B que retenga el valor actualmente en el bus de datos.
  • Digan al registro C que retenga el valor actualmente emitido por la ALU.
  • Digan al registro del contador del programa que retenga el valor actualmente en el bus de datos.
  • Digan al registro de direcciones que retenga el valor actualmente en el bus de datos.
  • Digan al registro de instrucciones que retenga el valor actualmente en el bus de datos.
  • Digan al contador del programa que incremente.
  • Digan al contador del programa que se ponga a cero.
  • Activen cualquiera de los seis buffers de tres estados (seis líneas separadas).
  • Digan a la ALU qué operación realizar.
  • Digan al registro de prueba que bloquee los bits de prueba de la ALU.
  • Activen la línea RD.
  • Activen la línea WR.

Al decodificador de instrucciones entran los bits del registro de prueba y la línea de reloj, así como los bits del registro de instrucciones.

Memoria del microprocesador

Memoria del microprocesador
Memoria del microprocesador

La sección anterior habló de los buses de direcciones y datos, así como de las líneas RD y WR. Estos buses y líneas se conectan a la RAM o a la ROM (generalmente a ambas). En nuestro microprocesador de muestra, tenemos un bus de direcciones de 8 bits de ancho y un bus de datos de 8 bits de ancho. Eso significa que el microprocesador puede direccionar 256 bytes de memoria y puedes leer o escribir 8 bits de memoria a la vez. Supongamos que este microprocesador simple tiene 128 bytes de ROM comenzando en la dirección 0 y 128 bytes de RAM comenzando en la dirección 128.

ROM significa memoria de sólo lectura. Un chip ROM está programado con una colección permanente de bytes preestablecidos. El bus de direcciones le dice al chip ROM qué byte debe obtener y colocar en el bus de datos. Cuando la línea RD cambia de estado, el chip ROM presenta el byte seleccionado en el bus de datos.

RAM significa memoria de acceso aleatorio. La RAM contiene bytes de información y el microprocesador puede leer o escribir en esos bytes dependiendo de si está señalizada la línea RD o WR. Un problema con los chips de RAM actuales es que olvidan todo una vez que se corta la energía. Por eso, la computadora necesita ROM.

Por cierto, casi todas las computadoras contienen cierta cantidad de ROM (es posible crear una computadora simple que no contenga RAM; muchos microcontroladores lo hacen colocando un puñado de bytes de RAM en el propio chip del procesador), pero generalmente es imposible crear una que no contiene ROM). En una PC, la ROM se llama BIOS (Sistema básico de entrada/salida). Cuando se inicia el microprocesador, comienza a ejecutar instrucciones que encuentra en el BIOS.

Las instrucciones del BIOS hacen cosas como probar el hardware en la máquina y luego va al disco duro para buscar el sector de arranque. Este sector de arranque es otro programa pequeño y el BIOS lo almacena en la RAM después de leerlo del disco. Luego, el microprocesador comienza a ejecutar las instrucciones del sector de arranque desde la RAM.

El programa del sector de arranque le indicará al microprocesador que traiga algo más del disco duro a la RAM, que luego el microprocesador ejecuta, y así sucesivamente. Así es como el microprocesador carga y ejecuta todo el sistema operativo.

Instrucciones del microprocesador

Incluso el microprocesador increíblemente simple que se muestra en el ejemplo anterior tiene un conjunto bastante grande de instrucciones que puede ejecutar. La colección de instrucciones se implementa como patrones de bits, cada uno de los cuales tiene un significado diferente cuando se carga en el registro de instrucciones.

Los humanos no son particularmente buenos para recordar patrones de bits, por lo que se define un conjunto de palabras cortas para representar los diferentes patrones de bits. Esta colección de palabras se llama lenguaje ensamblador del procesador. Un ensamblador puede traducir las palabras a sus patrones de bits muy fácilmente y luego la salida del ensamblador se coloca en la memoria para que la ejecute el microprocesador.

Este es el conjunto de instrucciones en lenguaje ensamblador que el diseñador podría crear para el microprocesador simple de nuestro ejemplo:

  • LOADA mem – Carga el registro A desde la dirección de memoria.
  • LOADB mem – Carga el registro B desde la dirección de memoria.
  • CONB con – Carga un valor constante en el registro B.
  • SAVEB mem – Guarda el registro B en la dirección de memoria.
  • SAVEC mem – Guarda el registro C en la dirección de memoria.
  • AGREGAR – Agrega A y B y almacena el resultado en C.
  • SUB – Resta A y B y almacena el resultado en C.
  • MUL – Multiplica A y B y almacena el resultado en C.
  • DIV – Divide A y B y almacena el resultado en C.
  • COM – Compara A y B y almacena el resultado en la prueba.
  • Dirección JUMP – Salta a una dirección.
  • JEQ addr – Salta, si es igual, a la dirección.
  • Dirección JNEQ – Salta, si no es igual, a la dirección.
  • JG addr – Salta, si es mayor que, a la dirección.
  • DJGE addr – Salta, si es mayor o igual, a la dirección.
  • JL addr – Salta, si es menor, a la dirección.
  • JLE addr – Salta, si es menor o igual, a la dirección.

Descodificación

El decodificador de instrucciones necesita convertir cada uno de los códigos de operación en un conjunto de señales que impulsan los diferentes componentes dentro del microprocesador. Tomemos la instrucción ADD como ejemplo y veamos lo que debes hacer:

  1. Durante el primer ciclo de reloj, necesitamos cargar la instrucción. Por lo tanto, el decodificador de instrucciones necesita:
    • Activar el buffer de tres estados para el contador de programa.
    • Activar la línea RD.
    • Activar el búfer de tres estados de entrada de datos.
    • Bloquear la instrucción en el registro de instrucciones.
  2. Durante el segundo ciclo de reloj, se decodifica la instrucción ADD. Necesitas hacer muy poco:
    • Establecer el funcionamiento de la ALU en suma.
    • Bloquear la salida de la ALU en el registro C.
  3. Durante el tercer ciclo de reloj, el contador del programa se incrementa (en teoría, esto podría superponerse al segundo ciclo de reloj).

Cada instrucción se puede dividir en un conjunto de operaciones secuenciadas como éstas que manipulan los componentes del microprocesador en el orden adecuado. Algunas instrucciones, como esta instrucción ADD, pueden tardar dos o tres ciclos de reloj. Otros pueden necesitar cinco o seis ciclos de reloj.

Rendimiento y tendencias del microprocesador

Rendimiento y tendencias del microprocesador
Rendimiento y tendencias del microprocesador

La cantidad de transistores disponibles tiene un efecto enorme en el rendimiento de un procesador. Como se vio anteriormente, una instrucción típica en un procesador como el 8088 necesitaba 15 ciclos de reloj para ejecutarse. Debido al diseño del multiplicador, se necesitaron aproximadamente 80 ciclos para realizar una multiplicación de 16 bits en el 8088. Con más transistores, se hacen posibles multiplicadores mucho más potentes capaces de alcanzar velocidades de un solo ciclo.

Más transistores también permiten una tecnología llamada canalización. En una arquitectura canalizada, la ejecución de instrucciones se superpone. Entonces, aunque se pueden necesitar cinco ciclos de reloj para ejecutar cada instrucción, puede haber cinco instrucciones en varias etapas de ejecución simultáneamente. De esa manera, parece que una instrucción completa cada ciclo de reloj.

Muchos procesadores modernos tienen múltiples decodificadores de instrucciones, cada uno con su propia canalización. Esto permite múltiples flujos de instrucciones, lo que significa que se puede completar más de una instrucción durante cada ciclo de reloj. Esta técnica puede ser bastante compleja de implementar, por lo que se necesitan muchos transistores.

Tendencias

Hoy en día parece que los procesadores están en todas partes y esa tendencia no parece estar desacelerando. Los investigadores han encontrado formas de hacer que los microprocesadores sean flexibles, permitiendo así artículos como ropa inteligente. Los investigadores han estado trabajando en formas de utilizar la luz, en lugar de la electricidad, para operar los procesadores.

Probablemente el mayor cambio en el horizonte sea el desarrollo de computadoras cuánticas, que no se limitan a usar unos y ceros para resolver problemas. Si bien estas computadoras pueden procesar problemas más difíciles de manera más eficiente, es poco probable que veas una computadora cuántica en tu escritorio en el corto plazo.

Microprocesadores de 64 bits

Los procesadores de sesenta y cuatro bits han estado con nosotros desde 1992, y en el siglo XXI se han convertido en algo común. Estos procesadores tienen ALU de 64 bits, registros de 64 bits, buses de 64 bits, etc.

Una de las razones por las que el mundo necesita procesadores de 64 bits es por sus espacios de direcciones ampliados. Los chips de treinta y dos bits suelen estar limitados a un máximo de 2 GB o 4 GB de acceso a la RAM. Eso parecía mucho cuando la mayoría de las computadoras domésticas usaban solo entre 256 MB y 512 MB de RAM.

Pero las computadoras domésticas del siglo XXI pueden procesar datos (los datos muy complejos incluyen muchos números reales) más rápido. Las personas que editan vídeos y las que editan fotografías en imágenes muy grandes se benefician de este tipo de potencia informática. Los jugadores de alto nivel también se benefician de juegos de alta resolución más detallados.

Un chip de 64 bits abre más opciones porque un espacio de direcciones de RAM de 64 bits es esencialmente infinito en el futuro previsible: 2^64 bytes de RAM es algo del orden de mil millones de gigabytes de RAM. Con un bus de direcciones de 64 bits y buses de datos amplios y de alta velocidad en la placa base, las máquinas de 64 bits también ofrecen velocidades de E/S (entrada/salida) más rápidas para elementos como unidades de disco duro y tarjetas de video. Estas características pueden aumentar considerablemente el rendimiento del sistema.

También te puede interesar:

Deja un comentario