A medida que avanza la tecnología, el hardware utilizado en un sistema informático también se actualiza para satisfacer las demandas del público. Anteriormente, había una CPU (Unidad Central de procesamiento) en los sistemas informáticos. Más tarde, la introducción de GPU (Unidad de procesamiento gráfico) ha llevado la representación y el procesamiento de imágenes al siguiente nivel. Hoy en la era de la Inteligencia Artificial, tenemos TPU (Unidad de procesamiento de tensores). Estos tres son los procesadores que se desarrollan para realizar tareas específicas en una computadora. En este artículo hablaremos de la diferencia entre CPU, GPU y TPU.

TPU vs GPU vs CPU

Rendimiento de TPU vs GPU vs CPU y diferencias discutidas

La CPU o Unidad Central de Procesamiento realiza todas las operaciones aritméticas y lógicas. Por otro lado, el trabajo de una GPU es renderizar y procesar imágenes o gráficos. TPU es un tipo especial de procesador desarrollado por Google. Se usa para manejar el procesamiento de redes neuronales usando TensorFlow. La CPU puede realizar múltiples tareas, incluida la representación de imágenes. Pero el nivel más alto de representación de imágenes requiere un procesador dedicado, GPU. Es por eso que los juegos de gama alta siempre requieren una tarjeta gráfica dedicada.

¿Qué es una CPU?

CPU significa Unidad Central de Procesamiento. Es el cerebro de una computadora porque maneja todas las tareas que un usuario realiza en su computadora. La CPU realiza todos los cálculos aritméticos y lógicos necesarios para completar una tarea. El objetivo de la CPU es recibir información de los dispositivos conectados a una computadora como un teclado, mouse, etc., o de un software de programación y mostrar la salida requerida.

Componentes de una CPU

Una CPU consta de los siguientes tres componentes:

  1. CU (Unidad de control)
  2. ALU (Unidad Aritmética y Lógica)
  3. Registros

Componentes de una CPU

Unidad de control en CPU

Una unidad de control (CU) es uno de los componentes de una CPU que obtiene las instrucciones de la memoria principal y las decodifica en comandos. Estos comandos luego se envían a la ALU, cuyo trabajo es ejecutar estas instrucciones y, finalmente, el resultado se almacena en la memoria principal.

ALU (Unidad Aritmética y Lógica) en CPU

ALU, como su nombre lo indica, es ese componente de una CPU cuyo trabajo es realizar cálculos u operaciones aritméticas y lógicas. Además, una ALU se puede dividir en dos partes, a saber, AU (Unidad aritmética) y LU (Unidad lógica). El trabajo de estas dos unidades es realizar operaciones aritméticas y lógicas respectivamente.

Todos los cálculos requeridos por una CPU son realizados por la ALU. ALU recibe comandos de la Unidad de Control. Después de recibir estos comandos, los procesa haciendo cálculos y luego almacena el resultado final en la memoria principal. ALU lleva a cabo las siguientes tres operaciones:

  1. Operaciones lógicas: Estas operaciones incluyen AND, OR, NOT, NAND, NOR, etc.
  2. Operaciones de cambio de bits: La operación de cambio de bits es el desplazamiento de los bits hacia la derecha o hacia la izquierda en un cierto número de lugares.
  3. Operaciones aritmeticas: La suma, la resta, la multiplicación y la división son operaciones aritméticas.

Registros en la CPU

Una CPU consta de varios registros. Estos registros incluyen tanto registros de propósito general como de propósito especial. El registro de propósito general se utiliza para almacenar datos temporalmente. Por otro lado, los registros de propósito especial se utilizan para almacenar los resultados de las operaciones aritméticas y lógicas realizadas por la ALU.

¿Qué son los núcleos de CPU?

Los núcleos de CPU son vías que consisten en miles de millones de transistores microscópicos. Una CPU utiliza núcleos para procesar datos. En palabras simples, un núcleo de CPU es una unidad de cálculo básica de una CPU. El número de núcleos es directamente proporcional a la potencia computacional de una CPU. Los núcleos de la CPU definen si la CPU puede manejar múltiples tareas o no. Es posible que haya escuchado los siguientes dos tipos de CPU:

  • CPU de un solo núcleo
  • CPU multinúcleo

Una CPU de un solo núcleo puede manejar solo una tarea a la vez, mientras que una CPU de varios núcleos puede manejar varias tareas a la vez. Si tiene una CPU multinúcleo instalada en su sistema, puede realizar más de una tarea a la vez, como navegar por Internet, crear un documento o una hoja de cálculo en los programas de Microsoft Office, editar imágenes, etc., al mismo tiempo. Mismo tiempo. La cantidad de núcleos de CPU que necesita depende del tipo de trabajo que realice en su computadora.

¿Qué es una GPU?

GPU significa Unidad de procesamiento de gráficos. Una GPU se utiliza en una variedad de aplicaciones, incluida la representación de imágenes y videos. En el campo de los juegos, las tarjetas gráficas tienen un papel crucial. Una GPU es el componente principal de una tarjeta gráfica. Las tarjetas gráficas son de dos tipos, a saber, tarjetas gráficas integradas y tarjetas gráficas dedicadas. La tarjeta gráfica integrada es la que está integrada en la placa base del ordenador. Las GPU integradas no pueden manejar tareas de alto nivel, como juegos de alto nivel. Es por eso que si eres un jugador de alto nivel, necesitas instalar una tarjeta gráfica dedicada en tu computadora. Aparte de eso, las tareas de edición de imágenes y videos realizadas por software pesado también requieren una tarjeta gráfica dedicada.

Leer: ¿Para qué se utiliza la computación GPU?

¿Cuál es la diferencia entre una GPU y una tarjeta gráfica?

Aunque los términos GPU y tarjeta gráfica se usan indistintamente, ambos términos no son lo mismo. Veamos cuál es la diferencia entre estos dos términos.

Una GPU es un componente de una tarjeta gráfica, mientras que una tarjeta gráfica es una pieza de hardware equipada con diferentes componentes, que incluyen GPU, memoria, disipador de calor, ventilador, etc. La GPU es el corazón de una tarjeta gráfica porque todos los cálculos requeridos para procesar y renderizar imágenes son manejados por GPU. A diferencia de una CPU, la GPU tiene cientos o miles de núcleos. Estos pequeños núcleos en una GPU son responsables de realizar cálculos simples a complejos.

Leer: Diferencia entre tarjetas gráficas DDR3 vs DDR4 vs DDR5.

¿Qué es un TPU?

TPU significa Unidad de procesamiento de tensores. Es un procesador desarrollado por Google para manejar el procesamiento de redes neuronales utilizando TensorFlow. TensorFlow es una biblioteca de software gratuita y de código abierto para inteligencia artificial y aprendizaje automático.

El núcleo de una TPU desarrollada por Google está compuesto por dos unidades, a saber, MXU (Unidad de multiplicación de matriz) y VPU (Unidad de procesamiento de vectores). La Unidad de multiplicación de matriz realiza cálculos de matriz y opera en un formato mixto de punto flotante de 16 a 32 bits, mientras que la Unidad de procesamiento de vectores realiza cálculos de float32 e int32.

Google ha desarrollado Cloud TPU para ofrecer la máxima flexibilidad y rendimiento a investigadores, desarrolladores y empresas. El principal objetivo de desarrollar TPU es minimizar el tiempo necesario para entrenar modelos de redes neuronales grandes y complejos. Cloud TPU acelera el rendimiento del cálculo de álgebra lineal, que se utiliza en aplicaciones de aprendizaje automático. Debido a esto, las TPU pueden minimizar el tiempo de precisión cuando se trata de entrenar modelos de redes neuronales grandes y complejos. Si entrena modelos de redes neuronales en hardware integrado con TPU, tardará horas, mientras que si realiza la misma tarea en el otro hardware, puede tardar semanas.

Leer: ¿Más núcleos de CPU significan un mejor rendimiento?

TPU vs GPU vs CPU: Comparación basada en diferentes factores

Comparemos estos tres procesadores en diferentes factores.

Núcleos

  • UPC: La cantidad de núcleos en una CPU incluye uno (procesador de un solo núcleo), 4 (procesador de cuatro núcleos), 8 (procesador de ocho núcleos), etc. Los núcleos de la CPU son directamente proporcionales a su rendimiento y también lo hacen multitarea.
  • GPU: A diferencia de una CPU, una GPU tiene de varios cientos a varios miles de núcleos. Los cálculos en una GPU se realizan en estos núcleos. Por lo tanto, el rendimiento de la GPU también depende de la cantidad de núcleos que tenga.
  • TPU: Según Google, un solo chip Cloud TPU tiene 2 núcleos. Cada uno de estos núcleos utiliza MXU para acelerar los programas mediante cálculos de matriz densa.

Arquitectura

  • UPC: Una CPU tiene tres partes principales, a saber, CU, ALU y Registros. Hablando de los registros, hay 5 tipos diferentes de registros en una CPU. Estos registros son:
    • Acumulador
    • Registro de instrucciones
    • Registro de direcciones de memoria
    • Registro de datos de memoria
    • Contador de programa
  • GPU: Como se explicó anteriormente, hay varios cientos a varios miles de núcleos en una GPU. Todos los cálculos necesarios para realizar el procesamiento de imágenes y la representación de imágenes se realizan en estos núcleos. Arquitectónicamente, la memoria interna de una GPU tiene una interfaz amplia con una conexión punto a punto.
  • TPU: Las TPU son los aceleradores de Machine Learning diseñados por Google. Los aceleradores de Machine Learning tienen el potencial de impulsar las tareas de Machine Learning. los núcleos de TPU se compone de MXU y VPU que son capaces de realizar los cálculos de matriz y punto flotante respectivamente.

Energía

  • UPC: La energía consumida por una CPU depende de la cantidad de núcleos que tenga. Un procesador de ocho núcleos consume energía aproximadamente de 95 a 140 vatios, mientras que un procesador de 16 núcleos consume aproximadamente 165 vatios de energía.
  • GPU: Una GPU puede consumir hasta 350 vatios de potencia.
  • TPU: En una TPU, el proceso de lectura y escritura se realiza en el búfer y la memoria, por lo que se puede lograr la optimización de energía.

Leer: ¿Qué es el sistema en un chip (SoC)?

¿Es mejor TPU o GPU?

Tanto TPU como GPU son las unidades de procesamiento. La primera es la unidad de procesamiento de tensores y la segunda es la unidad de procesamiento de gráficos. El trabajo de ambos procesadores es diferente. Al ser parte de un procesador de gráficos, el trabajo de la GPU es realizar los cálculos necesarios para generar imágenes. TPU está diseñado para manejar el procesamiento de redes neuronales mediante TensorFlow.

Cuál de estos dos es mejor depende del tipo de aplicaciones para las que los esté utilizando. Las Cloud TPU están optimizadas para cargas de trabajo específicas. En algunas situaciones, el uso de GPU o CPU es mejor para ejecutar cargas de trabajo de aprendizaje automático. Veamos cuándo puedes usar una TPU y una GPU.

El uso de GPU es mejor que el de TPU para modelos medianos a grandes con tamaños de lote efectivos más grandes, los modelos con TensorFlow no están disponibles en Cloud TPU, etc.

El uso de TPU es mejor que GPU para los modelos que requieren cálculos matriciales, modelos que tardan de semanas a meses en capacitarse, los modelos con tamaños de lote efectivos más grandes, etc.

¿El TPU es más rápido que la CPU?

TPU es la Unidad de procesamiento de tensores. Google lo desarrolló para manejar el procesamiento de redes neuronales usando TensorFlow. El objetivo de diseñar TPU es minimizar el tiempo requerido para entrenar modelos de redes neuronales. Según Google, el entrenamiento de modelos de redes neuronales en un hardware integrado de TPU lleva horas, mientras que lo mismo puede llevar de semanas a meses cuando se realiza en otro hardware. Por lo tanto, TPU es más rápido que CPU.

TPU vs GPU vs CPU

Por Jason