No coração de cada computador, você encontrará o CPU. o Unidade central de processamento é um hardware crítico. Ele executa o sistema operacional e todos os programas em seu computador. As CPUs são projetadas como processadores de uso geral. Por sua própria natureza, eles deveriam ser capazes de lidar com tudo.
No entanto, as CPUs não são muito boas em alguns tipos de cargas de trabalho porque seu hardware de uso geral não pode ser otimizado para tarefas específicas sem perder sua natureza de uso geral. Ou tornando-se irremediavelmente grande, complexo e caro. Além disso, qualquer CPU só será capaz de lidar com tantos dados e processamento de uma só vez. Um coprocessador é uma segunda unidade de processamento explicitamente projetada para aceitar um ou ambos os cenários.
Um coprocessador é simplesmente uma segunda unidade de processamento dentro de um computador. Em alguns cenários, pode ser uma CPU física dupla na mesma placa-mãe de alguns servidores. Em cenários de computação de alto desempenho e supercomputação, esses coprocessadores de uso geral também podem ser encontrados em placas complementares PCIe. O coprocessador geralmente se concentra em uma tarefa específica, e não em um processador de uso geral. Esses processadores específicos para tarefas podem ser conectados diretamente à placa-mãe ou incluídos em uma placa de expansão separada, como uma placa PCIe adicional.
Os primeiros coprocessadores
Os primeiros coprocessadores eram relativamente simples. Eles foram projetados para lidar com E/S ou Entrada e Saída para computadores mainframe. O problema era que o processamento de E/S era uma tarefa muito demorada para a CPU. A tarefa de processamento real, no entanto, era relativamente simples. Então era barato o suficiente para fazer um processador para lidar com isso. Enquanto o coprocessador recebia a E/S com eficiência, a CPU precisava emitir parâmetros de E/S simples, liberando tempo do processador e aumentando o desempenho do sistema.
O IBM PC original incluía um coprocessador aritmético de ponto flutuante opcional. As CPUs da época executavam esse tipo de matemática em software que era lento, mas funcional o suficiente para os raros casos em que era necessário para a maioria dos usuários. No entanto, o design assistido por computador, ou sistemas CAD, usavam esse tipo de matemática constantemente. Ao separar a aritmética de ponto flutuante em um coprocessador, não apenas as velocidades foram aumentadas quando necessário, graças à aceleração de hardware, mas os usuários que não precisavam podiam economizar comprando um sistema sem o coprocessador.
Em última análise, esses coprocessadores simples tiveram suas funções integradas à arquitetura da CPU. Isso é em parte um resultado natural do desenvolvimento contínuo da CPU, mas também está relacionado às dificuldades em continuar a sincronização simples à medida que a velocidade do clock da CPU aumenta. Embora essas CPUs e coprocessadores funcionassem bem o suficiente em 75MHz, haveria um enorme atraso de tempo, consumo de energia e problemas de interferência de radiofrequência nas frequências de GHz de hoje. Esses problemas exigiram sistemas de sinalização mais complexos entre CPUs e coprocessadores modernos.
GPU
A GPU ou Unidade de Processamento Gráfico é provavelmente a forma mais conhecida do coprocessador. Eles são projetados para serem otimizados para a carga de trabalho altamente paralelizável da renderização gráfica. As CPUs podem realizar essa tarefa em software ou com um chip gráfico integrado. Para oferecer o alto desempenho das GPUs modernas, porém, eles precisariam integrar toda a matriz da GPU na matriz da CPU.
Isso aumentaria enormemente o custo e a complexidade de uma CPU e também aumentaria significativamente a produção de calor. Os chips gráficos integrados já ocupam uma boa quantidade de espaço da CPU. Eles podem reduzir a velocidade geral da CPU por causa de sua saída de calor.
Placa de som
Historicamente, as CPUs podiam processar sinais de áudio, mas não eram fantásticas nisso. Os artefatos de áudio e estática resultantes levaram à criação de placas de som. Estes forneceriam portas de entrada e saída de áudio e realizariam o processamento de áudio real na própria placa de som. Isso aumentou significativamente o isolamento do sinal e a qualidade da saída de som. Enquanto algumas placas de som ainda estão por aí, elas são totalmente desnecessárias em computadores modernos como processamento de som integrado diretamente nas placas-mãe. CPUs são muito melhores do que no auge das placas de som.
NPU
Um tipo relativamente recente de coprocessador é o NPU ou Unidade de Processamento Neural. Eles são projetados para executar ou acelerar cargas de trabalho de IA. As NPUs de alto nível são bastante semelhantes às GPUs, apenas com otimizações específicas para cargas de trabalho de IA. À medida que o desempenho da carga de trabalho de IA se torna mais uma coisa que os usuários normais usam em smartphones e computadores, isso provavelmente se tornará mais comum.
Coprocessadores integrados
As CPUs modernas integram muitas formas de coprocessador diretamente na matriz ou arquitetura geral da CPU. Isso pode ser facilmente visto com chips gráficos integrados gravados no mesmo silício que o resto da CPU. No entanto, o processamento real não é realizado pelos núcleos da CPU. Nas CPUs Ryzen da AMD, há também uma matriz de E/S separada que lida com a comunicação entre os chiplets e o resto do computador. Alguns dispositivos móveis modernos também vêm com NPUs para processamento de IA.
Conclusão
Um coprocessador é um processador secundário, terciário, quaternário, etc., em um dispositivo de computação em que a CPU é o processador primário. Não há limite para o número de coprocessadores em um sistema. No entanto, suporte de software/hardware, dissipação de calor, espaço físico e custo desempenharão um papel.
Um coprocessador lida com tarefas para a CPU que aumentam o desempenho geral em ambas as tarefas específicas, executando-as de forma otimizada. moda, e em outras tarefas, negando a necessidade de a CPU desperdiçar seu poder de processamento executando a tarefa de forma não otimizada. moda. Com o tempo, muitos coprocessadores são integrados às CPUs à medida que a tecnologia avança. No entanto, os limites de energia e térmicos restringem isso em alguns cenários.