À medida que a tecnologia avança, o hardware usado em um sistema de computador também é atualizado para atender às demandas do público. Anteriormente, havia uma CPU ( Unidade Central de Processamento ) nos sistemas de computador. Mais tarde, a introdução da GPU ( Unidade de Processamento Gráfico ) levou a renderização e o processamento de imagens para o próximo nível. Hoje na era da Inteligência Artificial, temos TPU ( Unidade de Processamento Tensor ). Todos esses três são os processadores desenvolvidos para realizar tarefas específicas em um computador. Neste artigo, falaremos sobre a diferença entre CPU, GPU e TPU .
Desempenho e diferenças de TPU vs GPU vs CPU discutidos
A CPU ou Unidade Central de Processamento realiza todas as operações aritméticas e lógicas. Por outro lado, o trabalho de uma GPU é renderizar e processar imagens ou gráficos. TPU é um tipo especial de processador desenvolvido pelo Google. Ele é usado para lidar com o processamento da rede neural usando o TensorFlow. A CPU pode fazer várias tarefas, incluindo renderização de imagem. Mas o nível mais alto de renderização de imagem requer um processador dedicado, GPU. É por isso que os jogos de ponta sempre exigem uma placa gráfica dedicada.
O que é uma CPU?
CPU significa Unidade Central de Processamento. É o cérebro de um computador porque lida com todas as tarefas que um usuário realiza em seu computador. Todos os cálculos aritméticos e lógicos necessários para completar uma tarefa são realizados pela CPU. O objetivo da CPU é receber a entrada dos dispositivos conectados a um computador, como teclado, mouse, etc., ou de um software de programação e exibir a saída necessária.
Componentes de uma CPU
- CU (Unidade de Controle)
- ALU (Unidade Aritmética e Lógica)
- Registros
Unidade de controle na CPU
Uma Unidade de Controle (UC) é um dos componentes de uma CPU que busca as instruções da memória principal e as decodifica em comandos. Esses comandos são então enviados para a ULA, cujo trabalho é executar essas instruções e, por fim, o resultado é armazenado na memória principal.
ALU (Unidade Aritmética e Lógica) na CPU
ALU, como o nome indica, é aquele componente de uma CPU cujo trabalho é realizar cálculos ou operações aritméticas e lógicas. Além disso, uma ALU pode ser dividida em duas partes, a saber, AU (Unidade Aritmética) e LU (Unidade Lógica). O trabalho dessas duas unidades é realizar operações aritméticas e lógicas, respectivamente.
Todos os cálculos requeridos por uma CPU são realizados pela ALU. A ALU recebe comandos da Unidade de Controle. Após receber esses comandos, ele os processa fazendo cálculos e armazena o resultado final na memória principal. As três operações a seguir são realizadas pela ALU:
- Operações lógicas : Essas operações incluem AND, OR, NOT, NAND, NOR, etc.
- Operações de deslocamento de bits: A operação de deslocamento de bits é o deslocamento dos bits para a direita ou para a esquerda por um certo número de casas.
- Operações aritméticas : Adição, subtração, multiplicação e divisão são as operações aritméticas.
Registros na CPU
Uma CPU consiste em vários registradores. Esses registradores incluem registradores de propósito geral e de propósito especial. O registrador de propósito geral é usado para armazenar dados temporariamente. Por outro lado, os registradores de propósito especial são usados para armazenar os resultados das operações aritméticas e lógicas realizadas pela ULA.
O que são núcleos de CPU?
CPU cores are pathways consisting of billions of microscopic transistors. A CPU uses cores to process data. In simple words, a CPU core is a basic computation unit of a CPU. The number of cores is directly proportional to the computational power of a CPU. The CPU cores define whether the CPU can handle multiple tasks or not. You might have heard the following two types of CPUs:
- Single-core CPU
- Multi-core CPU
Uma CPU de núcleo único pode lidar com apenas uma tarefa por vez, enquanto uma CPU com vários núcleos pode lidar com várias tarefas por vez. Se você tiver uma CPU multi-core instalada em seu sistema, poderá realizar mais de uma tarefa por vez, como navegar na internet, criar um documento ou planilha em programas do Microsoft Office, editar imagens, etc. mesmo tempo. Quantos núcleos de CPU você precisa depende do tipo de trabalho que você executa em seu computador.
O que é uma GPU?
GPU significa Unidade de Processamento Gráfico. Uma GPU é usada em uma variedade de aplicativos, incluindo renderização de imagem e vídeo. No campo dos jogos, as placas gráficas têm um papel crucial. Uma GPU é o principal componente de uma placa gráfica. As placas gráficas são de dois tipos, ou seja, placas gráficas integradas e placas gráficas dedicadas. A placa gráfica integrada é aquela que está integrada na placa-mãe do computador. As GPUs integradas não podem lidar com tarefas de alto nível, como jogos de alto nível. É por isso que, se você é um jogador de alto nível, precisa instalar uma placa gráfica dedicada em seu computador. Além disso, as tarefas de edição de imagem e vídeo executadas por softwares pesados também exigem uma placa gráfica dedicada.
Qual é a diferença entre uma GPU e uma placa gráfica?
Embora os termos GPU e placa gráfica sejam usados de forma intercambiável, ambos os termos não são os mesmos. Vamos ver qual é a diferença entre esses dois termos?
Uma GPU é um componente de uma placa gráfica, enquanto uma placa gráfica é uma peça de hardware equipada com diferentes componentes, incluindo GPU, memória, dissipador de calor, ventoinha, etc. A GPU é o coração de uma placa gráfica porque todos os cálculos necessárias para processar e renderizar imagens são tratadas pela GPU. Ao contrário de uma CPU, a GPU tem centenas a milhares de núcleos. Esses pequenos núcleos em uma GPU são responsáveis por realizar cálculos simples a complexos.
O que é um TPU?
TPU significa Unidade de Processamento Tensor. É um processador desenvolvido pelo Google para lidar com o processamento de redes neurais usando o TensorFlow. O TensorFlow é uma biblioteca de software gratuita e de código aberto para inteligência artificial e aprendizado de máquina .
O núcleo de uma TPU desenvolvida pelo Google é composto por duas unidades, a saber, MXU (Matrix Multiply Unit) e VPU (Vector Processing Unit). A Matrix Multiply Unit executa cálculos matriciais e opera em um formato misto de ponto flutuante de 16 a 32 bits, enquanto a Unidade de Processamento Vetorial executa cálculos float32 e int32.
O Google desenvolveu o Cloud TPU para oferecer flexibilidade e desempenho máximos a pesquisadores, desenvolvedores e empresas. O principal objetivo de desenvolver TPUs é minimizar o tempo necessário para treinar modelos de redes neurais grandes e complexos. O Cloud TPU acelera o desempenho da computação de álgebra linear, que é usada em aplicativos de aprendizado de máquina. Devido a isso, as TPUs são capazes de minimizar o tempo de precisão quando se trata de treinar modelos de redes neurais grandes e complexos. Se você treinar modelos de redes neurais em hardware integrado com TPU, levará horas, enquanto que, se a mesma tarefa feita em outro hardware, pode levar semanas.
TPU vs GPU vs CPU: Comparação baseada em diferentes fatores
Vamos comparar esses três processadores em diferentes fatores.
Núcleos
- CPU : O número de núcleos em uma CPU inclui um (processador single-core), 4 (processador quad-core), 8 (processador octa-core), etc. Os núcleos da CPU são diretamente proporcionais ao seu desempenho e também o tornam multitarefa .
- GPU : Ao contrário de uma CPU, uma GPU tem várias centenas a vários milhares de núcleos. Os cálculos em uma GPU são realizados nesses núcleos. Portanto, o desempenho da GPU também depende do número de núcleos que ela possui.
- TPU : De acordo com o Google, um único chip Cloud TPU tem 2 núcleos. Cada um desses núcleos usa MXUs para acelerar os programas por meio de cálculos de matrizes densas.
Arquitetura
- CPU : Uma CPU tem três partes principais, a saber, CU, ALU e Registradores. Falando sobre os registradores, existem 5 tipos diferentes de registradores em uma CPU. Esses registros são:
- Acumulador
- Registro de Instrução
- Registro de Endereço de Memória
- Registro de dados de memória
- Contador de programas
- GPU : Conforme explicado acima, existem várias centenas a vários milhares de núcleos em uma GPU. Todos os cálculos necessários para realizar o processamento e renderização da imagem são feitos nesses núcleos. Arquitetonicamente, a memória interna de uma GPU possui uma interface ampla com conexão ponto a ponto.
- TPU : TPUs são os aceleradores de aprendizado de máquina projetados pelo Google. Os aceleradores de Machine Learning têm o potencial de impulsionar as tarefas de Machine Learning. Os núcleos da TPU são compostos por MXU e VPU que são capazes de realizar cálculos de matriz e ponto flutuante, respectivamente.
Poder
- CPU : A energia consumida por uma CPU depende do número de núcleos que ela possui. Um processador octa-core consome aproximadamente 95 a 140 watts de energia, enquanto um processador de 16 núcleos consome aproximadamente 165 watts de energia.
- GPU : Uma GPU pode consumir até 350 watts de energia.
- TPU : Em uma TPU, o processo de leitura e escrita é realizado no buffer e na memória devido ao qual a otimização de energia pode ser alcançada.
TPU ou GPU é melhor?
Tanto a TPU quanto a GPU são as unidades de processamento. A primeira é a unidade de processamento tensorial e a última é a unidade de processamento gráfico. O trabalho de ambos os processadores é diferente. Sendo parte de um processador gráfico, o trabalho da GPU é fazer os cálculos necessários para renderizar as imagens. A TPU foi projetada para lidar com o processamento de rede neural usando o TensorFlow.
Qual desses dois é melhor depende do tipo de aplicativo para o qual você os está usando. As Cloud TPUs são otimizadas para cargas de trabalho específicas. Em algumas situações, o uso de GPU ou CPU é melhor para executar cargas de trabalho de aprendizado de máquina. Vamos ver quando você pode usar uma TPU e uma GPU.
O uso de GPU é melhor que TPU para modelos médios a grandes com tamanhos de lote efetivos maiores, os modelos com TensorFlow não estão disponíveis no Cloud TPU etc.
O uso de TPU é melhor do que GPU para os modelos que exigem cálculos de matriz, modelos que levam de semanas a meses para serem treinados, modelos com tamanhos de lote efetivos maiores etc.